JP3008817B2 - バッファ制御方法とバッファ制御装置 - Google Patents
バッファ制御方法とバッファ制御装置Info
- Publication number
- JP3008817B2 JP3008817B2 JP7154119A JP15411995A JP3008817B2 JP 3008817 B2 JP3008817 B2 JP 3008817B2 JP 7154119 A JP7154119 A JP 7154119A JP 15411995 A JP15411995 A JP 15411995A JP 3008817 B2 JP3008817 B2 JP 3008817B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- storage device
- write
- access request
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
の一部に形成したキャッシュを介して、データの入出力
を効率良く行うバッファ制御方法とその装置に関する。
えば、UNIXのバッファキャッシュ制御等を挙げるこ
とができる(参考文献「UNIXカーネルの設計」共立
出版、特開平1-292467号公報)。
等の二次記憶装置上のデータへのアクセスを行う際に
は、まずキャッシュ上にデータがあるかどうかを検索す
る。この検索は、二次記憶装置上のデータ位置や二次記
憶装置ID等をキーにしてキューを走査することによっ
て行われる。
るバッファがそのキューにない場合には、未使用のバッ
ファを新たに確保し、これを介して二次記憶装置との入
出力を行う。なお、未使用のバッファは、LRUキュー
によって管理されている。
は、そのアクセスの排他処理が問題となる。このアクセ
スの排他処理方法について、図8を参照して説明する。
装置1内のバッファ2に対して複数のアクセス要求が集
中したときには、1つのアクセス要求3のみが許され
る。この場合、先行のアクセス要求3の内容に拘らず、
その要求を実行する際に、上記データが記憶されている
バッファ2にロックをかけることで、後続のアクセス要
求4を排他している。
ス要求2等は上記のロックが解除されるまで待たされる
こととなり、このために処理全体のスループットが低下
する。
は、バッファ2にかけるロックの態様を、リードライト
可能、リード可能ライト禁止、リードライト禁止等のよ
うに複数の段階に区分することで、アクセス許可の条件
を緩める工夫がなされている(参考文献「データベース
入門技術解説」ソフト・リサーチ・センター)。
図9に示すように、後続のアクセス要求5がリード要求
であって、アクセスするバッファ6のロックの態様がリ
ード可能ライト禁止である場合には、先行のアクセス要
求7によって当該バッファ6がアクセス中であっても同
一データのリードが可能となるため、リード要求のスル
ープットを向上させることができる。
アクセス要求5がライト要求の場合には、バッファ6の
データを破壊することになるため、当該バッファ6が他
のアクセス要求によってアクセス中の場合は、そのバッ
ファ6を必ずライト禁止としなければならない。
求を全て処理した後でないと、その処理を始めることが
できず、そのスループットを向上させることができな
い。
ら個々のアクセス要求を独立して処理しているため、ア
クセス要求の順序や形態によっては、結果的に同じデー
タの書き出しI/Oを重複して発行することがあった。
セス要求のスループットを向上させるとともに、同一デ
ータに対するアクセス要求が複数発生した際にも、その
要求の順序に従ったデータの一貫性を保証できるバッフ
ァ制御方法とその装置の提供を目的とする。
Cに記憶されているデータを、該二次記憶装置Cよりも
高速な一次記憶装置Bに確保したキャッシュにバッファ
リングするもので、第1のバッファ制御方法は、次の通
りである。先行するアクセス要求の対象となっている現
行バッファB1に対して、後続するライトアクセス要求
が発生した際、現行バッファB1がライト禁止であるか
否かを判断し、その判断結果がライト禁止であるときに
は、現行バッファB1とは別に未使用の代替バッファB
2を確保し、後続するライトアクセス要求に対しては該
代替バッファB2をアクセス対象としてこれにデータを
取り込み、上記先行するアクセス要求に対しては現行バ
ッファB1をアクセス対象として保持するようにしてい
る。
は、次の通りである。先行するアクセス要求の対象とな
っている現行バッファB1に対して、後続するライトア
クセス要求が発生した際、現行バッファB1がライト禁
止であるか否かを判断し、その判断結果がライト禁止で
あるときには、現行バッファB1とは別に未使用の代替
バッファB2を確保し、後続するライトアクセス要求に
対しては該代替バッファB2をアクセス対象としてこれ
にデータを取り込み、上記先行するアクセス要求に対し
ては現行バッファB1をアクセス対象として保持し、現
行バッファB1に対するアクセス要求を全て処理した
後、該現行バッファB1を最優先のフリーバッファとし
て解放するようにしている。
による二次記憶装置との入出力の発行を、現行バッファ
と二次記憶装置との入出力の発行が終了するまで、代替
バッファをライト可能状態にしたまま保留しておくこと
が好適である。
(1) 〜(3) に示す各手段を有している。
ている現行バッファB1に対して、後続するライトアク
セス要求が発生した際、現行バッファB1がライト禁止
であるか否かを判断する判断手段A1。
きには、現行バッファB1とは別に未使用の代替バッフ
ァB2を確保する代替バッファ確保手段A2。
ては該代替バッファをライトアクセス対象とし、上記先
行するアクセス要求に対しては現行バッファをアクセス
対象として保持するアクセス手段A3。
は、上記(1) 〜(3) に示す手段に加えて、先行するアク
セス要求に対しては現行バッファB1をアクセス対象と
して保持し、現行バッファB1に対するアクセス要求を
全て処理した後、該現行バッファB1を最優先のフリー
バッファとして解放するバッファ解放手段A4を設けた
構成としている。
B2による二次記憶装置Cとの入出力の発行を、現行バ
ッファB1と二次記憶装置Cとの入出力の発行が終了す
るまで、代替バッファB2をライト可能状態にしたまま
保留するバッファ保留手段A5を設けてもよい。
通りである。先行するアクセス要求の対象となっている
現行バッファに対して、該アクセス要求に後続するライ
トアクセス要求が発生すると、その現行バッファがライ
ト禁止であるか否かが判断される。
は、該現行バッファとは別に未使用の代替バッファが確
保される。そして、後続するライトアクセス要求に対し
ては該代替バッファをライトアクセス対象としてこれに
データを取り込み、上記先行するアクセス要求に対して
は現行バッファをアクセス対象として保持する。
次の通りである。先行するアクセス要求の対象となって
いる現行バッファに対して、該アクセス要求に後続する
ライトアクセス要求が発生すると、その現行バッファが
ライト禁止であるか否かが判断される。
は、該現行バッファとは別に未使用の代替バッファが確
保される。また、後続するライトアクセス要求に対して
は該代替バッファをライトアクセス対象としてこれにデ
ータを取り込み、上記先行するアクセス要求に対しては
現行バッファをアクセス対象として保持する。
現行バッファがアクセス対象として保持され、現行バッ
ファに対するアクセス要求が全て処理された後、該現行
バッファが最優先のフリーバッファとして解放される。
代替バッファによる二次記憶装置との入出力の発行を、
現行バッファと二次記憶装置との入出力の発行が終了す
るまで、代替バッファをライト可能状態にしたまま保留
する。
する。図1(A)は本発明装置の第1の実施例の構成を
示すブロック図、(B)は中央制御装置の機能を示すブ
ロック図、図2はメインメモリに形成されるバッファと
データの流れを示す概念図である。
記憶装置Cに記憶されているデータを、中央制御装置A
との間でデータの入出力を行う、二次記憶装置Cよりも
高速な一般にメインメモリと呼称される一次記憶装置B
に確保したキャッシュにバッファリングする構成のもの
である。
に、次の機能を有している。(1) 先行するアクセス要
求の対象となっている現行バッファB1に対して、後続
するライトアクセス要求が発生した際、現行バッファB
1がライト禁止であるか否かを判断する判断手段A1。
キュー(図示しない)が形成されている。このハッシュ
キューは、アクセス対象となるバッファを登録したもの
であり、これに登録されているバッファを確認すること
でライト禁止かどうかを判断できる。また、後述する代
替バッファが確保されたときには、該代替バッファがハ
ッシュキューに登録される。
きには、現行バッファB1とは別に未使用の代替バッフ
ァB2を確保する代替バッファ確保手段A2。
ては該代替バッファをライトアクセス対象とし、上記先
行するアクセス要求に対しては現行バッファをアクセス
対象として保持するアクセス手段A3。
行バッファB1をアクセス対象として保持し、現行バッ
ファB1に対するアクセス要求を全て処理した後、該現
行バッファB1を最優先のフリーバッファとして解放す
るバッファ解放手段A4。
ファキューB3が形成される。このフリーバッファキュ
ーB3は、上記代替バッファB1とは別に、代替バッフ
ァの候補となる複数のバッファを、優先順位を付して登
録したものである。そして、代替バッファが必要になっ
たときに、フリーバッファキューB3の最優先順位のバ
ッファから割り当てられる。
して説明する。 <ライト要求の処理> ステップ1(図中、S1と略記する。以下同様):ハッ
シュキューを検索する。
現行バッファB1があるかどうかを判断し、該当するバ
ッファがある場合には、これを現行バッファとしてステ
ップ3に進む。また、該当するバッファがなければステ
ップ8に進んで、他の未使用の代替バッファB2を確保
した後、ステップ7に進む。
止であるか否かを判断し、ライト禁止であるときにはス
テップ4に進む。また、ライト禁止でないときには、ス
テップ7に進む。
ァB1をアクセス対象から外すため、ハッシュキューか
らその登録を除外する。
先頭のバッファB3a(図2)を代替バッファB2とし
て確保する。
B2をハッシュキューに登録する。 ステップ7:データを代替バッファB2に取り込む。こ
のデータの取り込みのタイミングは、図4に(イ)で示
すように、現行バッファB1がライト禁止の状態のとき
に開始できる。
タのリクエスト処理が完了したとき(ロ)に、代替バッ
ファB2を介しての二次記憶装置Cへの書き出しI/O
(ハ)が行われる。 ステップ9:従来の処理が実行される。
ァB1をハッシュキューから除外する際、ライト要求9
より以前に、複数の先行するアクセス要求8が待ちの状
態になっている場合がある。
バッファB1を介した入出力の完了待ちとなっている場
合が考えられるが、この入出力が完了した後、その現行
バッファB1に対して処理を行うようにするため、該現
行バッファB1を各先行アクセス要求8に、アクセス対
象として登録しておく。
うになる。待ちを解除された先行するアクセス要求8
は、発生順に並べられ、現行バッファB1に対する処理
を順番に行う。
理し終わると、現行バッファB1がハッシュキューから
除外されているかどうかをチェックし、除外されていれ
ば該バッファ8をフリーバッファキューB3の先頭に登
録する。
ッファキューB3の先頭に登録することで、比較的有効
でないデータが記憶されているバッファが優先的に使用
され、有効なデータができるだけ保存されるので、全体
のヒット率を向上させられる。
から除外されていなければ、フリーバッファキューB3
の末尾に登録する。
〜7を参照して説明する。本実施例は、上述した第1の
実施例に示す装置と同様の構成であるが、中央制御装置
Aに、次の機能が追加されている。
の入出力の発行を、現行バッファB1と二次記憶装置C
との入出力の発行が終了するまで、代替バッファB2を
ライト可能状態にしたまま保留するバッファ保留手段A
5。
て説明する。 <ライトスルー処理>(図6参照) ステップ10:ハッシュキューを検索する。
るかどうか判断し、該当する現行バッファB1がある場
合にはこれを現行バッファとしてステップ12に進む。
また、該当する現行バッファB1がなければステップ1
9に進む。
がライト禁止であるかどうかを判断し、ライト禁止であ
ればステップ13に進み、ライト禁止でなければステッ
プ20に進む。
ハッシュキューから除外する。 ステップ14:フリーバッファのうちの1つを新たに代
替バッファB2として確保する。
ュキューに登録する。 ステップ16:代替バッファB2にデータを取り込む。
可能とするとともに、ライトスルー処理が保留されてい
ることを示す書き出し保留マークB2aを、代替バッフ
ァB2のバッファ管理テーブル(図示しない)にセット
する。
記憶装置Cへのバッファデータの書き出しが可能である
が、現行バッファB1と二次記憶装置Cとの間での入出
力の完了を待つ。
る。 ステップ20:フリーバッファにデータを取り込む。
がセットされているかどうか判断し、該マークB2aが
セットされていればステップ22に進み、セットされて
いなければステップ23に進む。
の解除を待つ。 ステップ23:従来処理を実行する。
判断し、ライト可能であればステップ25に進む。
2に取り込む。これにより、代替バッファB2には、常
に最新データが書き込まれた状態となる。
トされているか判断し、セットされていなければステッ
プ27に進む。
禁止にする。 ステップ28:二次記憶装置Cへの書き出しのI/Oを
発行する。
かどうかを判断し、完了していればステップ31に進
む。この書き出しI/Oが完了したときに、代替バッフ
ァB2に書き込まれていた最新のデータが二次記憶装置
Cに書き込まれる。
後処理を開始する。この処理は、後続ライトスルー要求
において書き出しI/Oを発行せず、既にI/Oが完了
したものとして後処理を行う。これによって、複数のラ
イト要求による書き出しI/Oの発行数を削減させられ
る。
ではなく、その要旨の範囲内で様々に変形実施が可能で
あることを付記する。
データに対するライトアクセス処理の効率を改善するこ
とができるとともに、処理のスループットを向上させる
ことができる。
り、ダーティバッファの効果的な書き出し制御を行うこ
とによって、処理のスループットが改善される。なお、
リクエストの順序に従ったデータの一貫性を保証するこ
とができる。
有効でないデータを持つバッファを代替バッファとして
割り当てることができ、これによりキャッシュヒット率
が向上する。
ッファに書き込まれた最新のデータの二次記憶装置への
冗長な入出力の発行を減少させることができ、これによ
り処理のスループットを改善することができる。
すブロック図、(B)は中央制御装置の機能を示すブロ
ック図である。
流れを示す概念図である。
して示すタイムチャートである。
流れを示す概念図である。
ートである。
流れを示す概念図である。
ータの流れを示す概念図である。
Claims (6)
- 【請求項1】 二次記憶装置に記憶されているデータ
を、該二次記憶装置よりも高速な一次記憶装置に確保し
たキャッシュにバッファリングするバッファ制御装置に
おいて、先行するアクセス要求の対象となっている現行
バッファに対して、後続するライトアクセス要求が発生
した際、現行バッファがライト禁止であるか否かを判断
し、その判断結果がライト禁止であるときには、現行バ
ッファとは別に未使用の代替バッファを確保し、後続す
るライトアクセス要求に対しては該代替バッファをライ
トアクセス対象としてこれにデータを取り込み、上記先
行するアクセス要求に対しては現行バッファをアクセス
対象として保持することを特徴とするバッファ制御方
法。 - 【請求項2】 二次記憶装置に記憶されているデータ
を、該二次記憶装置よりも高速な一次記憶装置に確保し
たキャッシュにバッファリングするバッファ制御装置に
おいて、先行するアクセス要求の対象となっている現行
バッファに対して、後続するライトアクセス要求が発生
した際、現行バッファがライト禁止であるか否かを判断
し、その判断結果がライト禁止であるときには、現行バ
ッファとは別に未使用の代替バッファを確保し、後続す
るライトアクセス要求に対しては該代替バッファをライ
トアクセス対象としてこれにデータを取り込み、上記先
行するアクセス要求に対しては現行バッファをアクセス
対象として保持し、現行バッファに対するアクセス要求
を全て処理した後、該現行バッファを最優先のフリーバ
ッファとして解放することを特徴とするバッファ制御方
法。 - 【請求項3】 代替バッファによる二次記憶装置との入
出力の発行を、現行バッファと二次記憶装置との入出力
の発行が終了するまで、代替バッファをライト可能状態
にしたまま保留することを特徴とする請求項1又は2に
記載のバッファ制御方法。 - 【請求項4】 二次記憶装置に記憶されているデータ
を、該二次記憶装置よりも高速な一次記憶装置に確保し
たキャッシュにバッファリングするバッファ制御装置に
おいて、先行するアクセス要求の対象となっている現行
バッファに対して、後続するライトアクセス要求が発生
した際、現行バッファがライト禁止であるか否かを判断
する判断手段と、その判断結果がライト禁止であるとき
には、現行バッファとは別に未使用の代替バッファを確
保する代替バッファ確保手段と、後続するライトアクセ
ス要求に対しては該代替バッファをライトアクセス対象
とし、上記先行するアクセス要求に対しては現行バッフ
ァをアクセス対象として保持するアクセス手段とを有す
ることを特徴とするバッファ制御装置。 - 【請求項5】 二次記憶装置に記憶されているデータ
を、該二次記憶装置よりも高速な一次記憶装置に確保し
たキャッシュにバッファリングするバッファ制御装置に
おいて、先行するアクセス要求の対象となっている現行
バッファに対して、後続するライトアクセス要求が発生
した際、現行バッファがライト禁止であるか否かを判断
する判断手段と、その判断結果がライト禁止であるとき
には、現行バッファとは別に未使用の代替バッファを確
保する代替バッファ確保手段と、後続するライトアクセ
ス要求に対しては該代替バッファをライトアクセス対象
とし、上記先行するアクセス要求に対しては現行バッフ
ァをアクセス対象として保持するアクセス手段と、現行
バッファに対するアクセス要求を全て処理した後、該現
行バッファを最優先のフリーバッファとして解放するバ
ッファ解放手段とを有することを特徴とするバッファ制
御装置。 - 【請求項6】 代替バッファによる二次記憶装置との入
出力の発行を、現行バッファと二次記憶装置との入出力
の発行が終了するまで、代替バッファをライト可能状態
にしたまま保留するバッファ保留手段を設けたことを特
徴とする請求項4又は5に記載のバッファ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7154119A JP3008817B2 (ja) | 1995-05-30 | 1995-05-30 | バッファ制御方法とバッファ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7154119A JP3008817B2 (ja) | 1995-05-30 | 1995-05-30 | バッファ制御方法とバッファ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08328955A JPH08328955A (ja) | 1996-12-13 |
JP3008817B2 true JP3008817B2 (ja) | 2000-02-14 |
Family
ID=15577346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7154119A Expired - Fee Related JP3008817B2 (ja) | 1995-05-30 | 1995-05-30 | バッファ制御方法とバッファ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3008817B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101696915B1 (ko) * | 2015-09-25 | 2017-02-01 | 정송태 | 골프 퍼터 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3162459B2 (ja) * | 1992-02-18 | 2001-04-25 | 富士通株式会社 | データ処理装置 |
-
1995
- 1995-05-30 JP JP7154119A patent/JP3008817B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101696915B1 (ko) * | 2015-09-25 | 2017-02-01 | 정송태 | 골프 퍼터 |
Also Published As
Publication number | Publication date |
---|---|
JPH08328955A (ja) | 1996-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7917698B2 (en) | Method and apparatus for tracking load-marks and store-marks on cache lines | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US20090019231A1 (en) | Method and Apparatus for Implementing Virtual Transactional Memory Using Cache Line Marking | |
US7757044B2 (en) | Facilitating store reordering through cacheline marking | |
US5018063A (en) | Method for reducing cross-interrogate delays in a multiprocessor system | |
EP2641171B1 (en) | Preventing unintended loss of transactional data in hardware transactional memory systems | |
JPH0799509B2 (ja) | メモリへのデータブロックのエントリを制御する方法 | |
US7533223B1 (en) | System and method for handling memory requests in a multiprocessor shared memory system | |
US8458411B2 (en) | Distributed shared memory multiprocessor and data processing method | |
JPH0532775B2 (ja) | ||
JPH06309230A (ja) | バススヌ−プ方法 | |
US7451274B2 (en) | Memory control device, move-in buffer control method | |
JPH07325760A (ja) | 情報処理システムにおける記憶制御方法および記憶制御装置 | |
JP3008817B2 (ja) | バッファ制御方法とバッファ制御装置 | |
JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
JP2010061220A (ja) | データ転送装置、データ転送方法およびプロセッサ | |
JPH09269935A (ja) | メモリ制御装置、及びメモリ制御方法 | |
WO1993003436A1 (en) | Method and apparatus for reducing lock period of shared buffer | |
JPH02254553A (ja) | 情報処理装置 | |
US10282319B1 (en) | Methods and systems for arbitration of parallel multi-event processing | |
JP2848437B2 (ja) | マルチクラスタ排他制御装置 | |
JP3221409B2 (ja) | キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体 | |
JP2003030051A (ja) | データ処理装置及びデータアクセス方法 | |
KR20240089035A (ko) | 캐시 라인 일관성 상태 업그레이드 | |
JPH02259945A (ja) | ストア処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |