JPH0566891A - バツフア管理方法 - Google Patents

バツフア管理方法

Info

Publication number
JPH0566891A
JPH0566891A JP22665591A JP22665591A JPH0566891A JP H0566891 A JPH0566891 A JP H0566891A JP 22665591 A JP22665591 A JP 22665591A JP 22665591 A JP22665591 A JP 22665591A JP H0566891 A JPH0566891 A JP H0566891A
Authority
JP
Japan
Prior art keywords
block
frame
identifier
frames
disk device
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.)
Pending
Application number
JP22665591A
Other languages
English (en)
Inventor
Tetsuji Sato
哲司 佐藤
Yasuhiro Hirano
泰宏 平野
Ushio Inoue
潮 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP22665591A priority Critical patent/JPH0566891A/ja
Publication of JPH0566891A publication Critical patent/JPH0566891A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 大量のフレームを管理する場合に探索時間を
短縮し、バッファ管理の性能を向上させる。また、ディ
スク装置の連続した格納位置のブロックを書き戻すこと
により、ディスク入出力のための時間を短縮させる。 【構成】 データを固定サイズのブロック単位で格納す
る複数のディスク装置21,22からなるデータ格納手
段と、そのブロックと同一サイズのフレームを用いて半
導体記憶装置上にバッファリングする手段とを備え、そ
のフレームを識別するためのフレーム識別子、そのフレ
ームにバッファリングされているブロックを識別するた
めのブロック識別子、および、バッファリングされたブ
ロックが更新されているかを表示するための更新状態識
別子を有するフレーム管理セル1と、そのブロックをバ
ッファリングしている複数のフレームをエントリ4でグ
ループに分割するグループ決定手段3とを設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のディスク装置に
格納されたデータを半導体記憶装置上にバッファリング
するバッファ管理方法に関し、特にバッファ上のフレー
ムを再利用する際、更新されたフレームのデータをディ
スク装置に書き戻すバッファ管理方法に関する。
【0002】
【従来の技術】従来、ディス装置は、安定なデータ格納
手段として多用されているが、回転する磁気媒体と可動
するヘッドを使用して記録と再生を行っていることか
ら、ディスクのアクセス時間には、実際にデータを転送
している時間以外に、記録・再生を行うヘッドを移動す
るためのシーク時間、および回転している磁気媒体上の
目的とする位置が現われるまでの回転待ち(サーチ)時
間が必要である。このため、少容量の高速に読み書きで
きる半導体記録装置と大容量のディスク装置とを組み合
わせて、ディスク装置に格納されたデータのうちで頻繁
に使用されるデータを半導体記憶装置にバッファリング
する使用形態が一般的に採られている。一般に、バッフ
ァリングを行う場合には、高速な半導体記憶装置の容量
がディスク装置の容量より小さいために、頻繁に使用さ
れるデータを効率良くバッファリングする必要がある。
このため、半導体記憶装置に確保したバッファが一杯に
なった時に、最も最近使用されたなかったフレームを追
い出すLRUアルゴリズムが使用されている。このアル
ゴリズムは、フレーム単位でバッファリングしているデ
ータがアクセスされるごとに、バッファ管理情報を更新
することで容易に実現できる。また、ディスク装置の台
数や格納状態と分離してバッファを管理できることか
ら、極めて汎用的に使用できる特徴を有している。デー
タベース処理では、扱うデータが大量であること、およ
び大量のデータを高速にアクセスすることが要求される
ため、データベースを複数のディスク装置に分割して格
納し、同時に複数のディスク装置からデータを読み出し
たり、書き込みを行ったりする場合がある。この場合で
も、バッファリングする半導体記憶装置は論理的に一つ
として共用し、複数のディスク装置を一括して管理でき
る。このように、バッファを共有してLRUアルゴリズ
ムによる管理を行った場合には、バッファリングしてい
るブロック数が多くなるに伴って管理するリストが長く
なるため、リストを探索する処理量が大きくなり、バッ
ファの性能が低下するという問題があった。一方、ディ
スク装置のアクセス機能を向上させる方法としては、例
えば「ジェイ.パターソン アンド エイ.シルバース
キャット,オペレーティングシステム コンセプト,ア
ドソン−ウェスリー出版(1989)(J.Peterson and
A.Silberschatz,Operating Systems Consepts,Addison
−Wesley(1986))」において論じられているエレベータ
アルゴリズムが知られている。このアルゴリズムの概念
は、単一のディスク装置に対するアクセス頻度が高い場
合、アクセス要求をディスク媒体上の格納位置に基づい
て並べ替え、少いヘッドの移動距離で多くのブロックを
アクセスする方法である。この方法は、ディスク装置の
データの格納が同心円状に行われていることに着目し
て、外周から中心、あるいは中心から外周への一連のヘ
ッドの移動で複数のアクセス要求を処理することを基本
としている。このため、一度に並べ替えを行うアクセス
要求数が多いほど、すなわち、アクセス頻度が高いほ
ど、1回のアクセスに要する平均的なヘッドの移動距離
が短くなり、ディスクのアクセス性能を向上できる。こ
の方法を用いることにより、ディスク装置のアクセス時
間の大半を占めるヘッドの移動時間、すなわち、シーク
時間を削減できる。
【0003】
【発明が解決しようとする課題】上記LRUアルゴリズ
ムを用いたバッファ管理方法では、単一ディスク装置を
前提とした単一リスト構造でブロックとフレームの対応
関係を管理していたので、大量のデータ操作を必要とす
るデータベース処理等では、管理するフレーム数の増大
に伴って性能が低下するという問題があった。また、単
一のディスク装置のアクセス性能を向上させる方法とし
て、エレベータアルゴリズムが提案されているが、デー
タベース処理等におけるバッファ管理では、複数のディ
スク装置にデータベースを分割して格納する場合があ
り、複数のディスク装置を用いた場合には別の方法が必
要である。本発明の目的は、このような問題点を改善
し、複数のディスク装置のデータを半導体記憶装置上に
バッファリングする際の探索時間、およびディスク入出
力のための時間を短縮するのに好適なバッファ管理方法
を提供することにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明のバッファ管理方法は、データを固定サイズ
のブロック単位で格納するk(k≧2)個のディスク装
置からなるデータ格納手段と、該ブロックと同一サイズ
のフレームを用いて半導体記憶装置上にバッファリング
する手段とを備え、そのフレームを識別するためのフレ
ーム識別子、そのフレームにバッファリングされている
ブロックを識別するためのブロック識別子、および、バ
ッファリングされたブロックが更新されているかを表示
するための更新状態識別子を有するフレーム管理セル
と、そのブロックをバッファリングしている複数のフレ
ームをm(m≧k)個のグループに分割するグループ決
定手段とを設け、そのフレーム管理セルを複数のグルー
プに分割してバッファ状態を管理し、リード/ライトを
行うブロックを入力として、少なくとも一つのグループ
は、同一ディスク装置に格納されたブロックを管理する
フレーム管理セルだけで構成されるようにグループを決
定することに特徴がある。また、上記リード/ライト要
求のあったブロックが半導体記憶装置上にバッファリン
グされてなく、かつ、使用されていないフレームが存在
しない場合、複数のグループの何れか一つ、あるいは、
同一のディスク装置に格納されているブロックを管理し
ている複数のグループを選択し、そのグループに属する
フレーム管理セルで管理されているフレームの一部ある
いは全部に対して、更新状態識別子を参照し、更新状態
にあるフレームはブロック識別子を用いて当該ディスク
装置の所望の位置に書き戻してから未使用状態に変更
し、更新状態にないフレームはそのまま未使用状態に変
更し、未使用状態に変更したフレームの一つを用いて、
要求されたブロックのバッファリングを行うことに特徴
がある。また、上記更新状態にある複数のフレームをデ
ィスク装置に書き戻す際、 (1)書き戻すと決定されたグループに属し、かつ、更
新状態にあるブロックの集合をブロック識別子を用いて
並び替える。 (2)予めグループ内でブロック管理セルをブロック識
別子を用いて格納位置の順序を保って管理する。 の何れかを採用することにより、ディスク装置のヘッド
は、ディスクの中心から外周方向へ、あるいは、外周か
ら中心方向への一連の移動で書き戻しを行うことに特徴
がある。
【0005】
【作用】本発明においては、フレーム識別子、ブロック
識別子、更新状態識別子等から構成されたフレーム管理
セルを複数のグループに分割することにより、フレーム
を管理しているリストを分割してバッファ状態を管理し
ている。これにより、大量のフレームを管理する場合で
も、リスト中から目的とするブロックを見つける探索時
間を短縮し、バッファ管理を効率的に行うことができ
る。さらに、ディスク装置ごとに形成したグループを単
位としてフレームを回収するので、ディスク装置の連続
した格納位置のブロックを書き戻すことが容易となり、
ディスク入出力のための時間を短縮できる。
【0006】
【実施例】以下、本発明の一実施例を図面により説明す
る。図1は、本発明の一実施例におけるバッファ管理部
の構成図、図2は本発明の一実施例におけるフレーム管
理セルの構成図である。図1において、1は、各フレー
ムにバッファリングしているブロックを管理するための
フレーム管理セル、21はディスク装置A、22はディ
スク装置B、3は、グループに分割して管理されている
フレーム管理セルのグループを要求されたブロックのブ
ロック識別子から決定するためのグループ決定手段、4
は、各グループへの分岐を行うためのエントリ、5は、
使用されていないフレーム管理セルを保持するための未
使用エントリである。また、フレーム管理セルは、図2
に示すように、複数のフレーム管理セルをリスト構造で
管理するための次フレーム管理セルへのポインタと、ブ
ロック識別子と、そのブロックが既に更新されているか
否かを示す更新状態識別子と、ブロック内のデータをバ
ッファリングしているフレームを指示するためのポイン
タとで構成される。図1では、使用中のフレーム管理セ
ルは、グループ決定手段3により4グループに分割され
てそれぞれリストを構成し、未使用状態にあるフムーム
管理セルは、一括して未使用エントリに繋がれたリスト
を構成している。また、バッファリングの対象となって
いるデータベースは、ブロック単位で2個のディスク装
置21,22に分割して格納してある。なお、フレーム
管理セルのブロック識別子を、ディスク装置を識別する
ための記号AとB、および、ディスク装置内でブロック
の格納位置に対応して与えられた2桁の番号によって表
記している。また、バッファリングされたブロックが更
新されていることを示す更新状態識別子は、ブロック番
号の肩に付与した「*」印で表記してある。例えば、A
−00、A−02*は、ディスク装置Aのブロック00
と02がバッファリングされ、ブロック02が更新され
た状態にあることを示す。次に、グループ決定手段3の
動作について述べる。本実施例では、読み出し/書き込
みを行うブロックは、目的とするブロックを唯一特定で
きるブロック識別子を用いて指定する。このブロック識
別子は、一般に、ディスク装置の台数やバッファ管理部
の構成には依存しないように、例えば、0以上の整数を
用いる。このため、ディスク装置への格納規則、すなわ
ち、ブロック識別子の割り当て規則を、格納するディス
ク装置ごとに、ディスク装置内の格納位置が連続するよ
うにブロック識別子を割り当てることができる。図1で
は、ディスク装置を識別するA、Bの記号と、各ディス
ク装置内の格納位置を示す連続番号によってブロック識
別子を構成し、この二つの値(ディスク装置を識別する
記号と格納位置を示す番号)によってグループを決定し
ている。すなわち、フレーム管理セルを2台のディスク
装置ごとに、かつ、ブロック番号の十位の値によって4
グループに分割して管理している。
【0007】次に、ブロックのデータを読み出す場合の
動作について述べる。図3は、本発明の一実施例におけ
るバッファ管理方法を示すフローチャートである。本実
施例では、ブロックに対する読み出しは、目的とするブ
ロックを唯一特定できるブロック識別子を用いて、バッ
ファ上に確保されている複数のフレームの何れかに目的
とするブロックを割り当て、そのフレームのアドレスを
知ることで、実際の読み出し動作を行う。そして、目的
とするブロックが既にバッファリングされていれば(3
01)、そのフレーム位置を示すアドレスを返却して処
理を終了する。また、バッファリングされていない場合
で(301)、未使用フレームがバッファ内に存在すれ
ば(302)、その未使用フレームにディスク装置に格
納された対応するブロックを読み込んで(303)、そ
のフレーム位置を示すアドレスを返却する(304)。
もし、未使用状態のフレームが存在しない場合には(3
02)、ステップ305〜309に示す方法によって、
使用中のフレームを回収し、回収したフレームの一つを
用いてバッファリングを行い、そのフレーム位置を示す
アドレスを返却して終了する。ここで、ステップ305
のグループ決定操作について述べる。一般に、ディスク
装置に確保されたブロック数より、バッファ上のフレー
ム数は少ないことから、目的とするブロックがバッファ
上になく、しかも、未使用状態のフレームが存在しない
場合がある。この場合には、使用中のフレームを強制的
に開放して再利用できるように回収する。このとき、バ
ッファリングされているブロックがフレーム内で更新さ
れていれば、ディス装置に書き戻してからフレームを開
放しなければならない。本実施例では、グループ単位で
フレームを回収し、再利用する。なお、回収対象とする
グループの選択方法としては、グループ決定手段3に現
在回収の対象となっているエントリを保持しておいて、
一定時間間隔で順次、次のエントリを回収の対象とする
ラウンドロビン法を用いることができる。図1で、A−
00から始まる第1行のグループを回収の対象とする
と、ディスク装置Aに関わる三つのフレームを一度に回
収する。その際、A−02とA−03のブロックは更新
状態にあることから、ディスク装置にそれぞれの内容を
書き戻してから回収することになる。次に、ステップ3
06〜308のブロックの順序管理および書き戻し操作
について述べる。本実施例では、そのグループに属する
複数フレームから、更新状態にあるフレームだけを選択
して、その選択されたフレームをブロック識別子を用い
て格納位置順に整列させる。すなわち、本実施例に示す
グループの構成法は、一つのグループで管理されている
ブロックは、同一ディスク装置に格納されているブロッ
クであるから、予めグループ内をブロック識別子順で構
成しておくか、更新状態にあるフレームを選択した後、
ブロック識別子を用いてソートすることによって、格納
位置順に整列させることができる。図1では、グループ
内のフレーム管理セルをブロック識別子順に配置してあ
ることから、エントリ側からリストを順番に辿っていく
ことで、書き戻しの対象とするブロックを格納位置順に
整列させて取り出すことができる。なお、格納位置順に
整列した複数のブロックをディスク装置に書き戻す処理
は、公知のエレベータアルゴリズムを適用することによ
って高速に行うことができる。次に、ステップ309の
未使用フレームの回収操作について述べる。本実施例で
は、上記の操作により、更新状態になかったA−00と
書き戻しを行ったA−02、A−03をバッファリング
していた3個のフレームを回収する。回収操作は、当該
フレーム管理セルを、現在繋がっているリストから外し
て未使用エントリ5に繋ぐことで行える。こうして回収
した3個のフレームの内、1個は読み出し要求のあった
ブロックのバッファリングに使用され、他の2個のフレ
ームは、未使用状態のフレームとして未使用エントリ5
に繋がれ、以後のバッファリング要求で使用される。
【0008】本実施例では、ブロックを読み出す場合に
ついて述べたが、データを書き込む場合についても同様
の管理方法による。ブロック単位のバッファ管理を行っ
ている場合は、たとえブロック内の極く一部のデータを
更新する場合でも、当該ブロックを一旦フレーム上に読
み出してバッファリングしてから、データの更新を行
う。このため、データを書き込む場合も、ブロックを読
み出す過程で上述のフレーム回収処理が必要になる場合
がある。また、本実施例では、一度に1グループを回収
の対象としているが、同一ディスク装置に関する複数グ
ループを一度に回収の対象とすることもできる。また、
グループ内の全フレームを一度に回収の対象としている
が、これを一部のフレームのみに限定して回収すること
もできる。例えば、一度に回収する最大フレーム数に制
限を設け、その範囲内でフレームを回収することができ
る。さらに、複数のグループ内の一部のフレームのみを
回収するという組み合わせも可能である。これによっ
て、一度に回収するブロック数を増やして、より有効に
エレベータアルゴリズムを適用したり、逆に、回収する
ブロック数を制限して不用意に多くのフレームを回収し
ないように制御することができる。この他にも、例えば
現在のヘッド位置に近い順にデータを書き戻すショーテ
スト・シーク・ファーストアルゴリズム等を適用するこ
とができる。
【0009】
【発明の効果】本発明によれば、複数のディスク装置の
データを半導体記憶装置上にバッファリングするシステ
ムにおいて、大量のフレームを管理している場合でも、
分割されたリスト中から目的とするブロックを見つける
ことによって探索時間を短縮し、バッファ管理の性能を
向上できる。さらに、ディスク装置ごとに形成したグル
ープを単位としてフレームを回収することから、ディス
ク装置の連続した格納位置のブロックを書き戻すことが
容易となり、ディスク入出力のための時間を短縮でき
る。
【0010】
【図面の簡単な説明】
【図1】本発明の一実施例におけるバッファ管理部の構
成図である。
【図2】本発明の一実施例におけるフレーム管理セルの
構成図である。
【図3】本発明の一実施例におけるバッファ管理方法を
示すフローチャートである。
【符号の説明】
1 フレーム管理セル 3 グループ決定手段 4 エントリ 5 未使用エントリ 21 ディスク装置A 22 ディスク装置B

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データを固定サイズのブロック単位で格
    納するk(k≧2)個のディスク装置からなるデータ格
    納手段と、該ブロックと同一サイズのフレームを用いて
    半導体記憶装置上にバッファリングする手段とを備え、
    複数のディスク装置上に格納されたデータを半導体記憶
    装置上にバッファリングする際のバッファ管理方法にお
    いて、上記フレームを識別するためのフレーム識別子、
    該フレームにバッファリングされている上記ブロックを
    識別するためのブロック識別子、および、該ブロックが
    バッファリングされた後にデータ内容が更新されている
    かを表示する更新状態識別子からなるフレーム管理セル
    と、該ブロックをバッファリングしている複数のフレー
    ムをm(m≧k)個のグループに分割するグループ決定
    手段とを備え、リード/ライト要求のあったブロックの
    ブロック識別子を入力とし、少なくとも一つのグループ
    には、同一ディスク装置に格納されたブロックを管理す
    るフレーム管理セルだけが属するように、フレームをグ
    ループ別に分割して管理することを特徴とするバッファ
    管理方法。
  2. 【請求項2】 上記リード/ライト要求のあったブロッ
    クが上記バッファリング手段にバッファリングされてお
    らず、未使用のフレームが存在しない場合、上記クルー
    プの何れか一つを選択するか、あるいは同一ディスク装
    置に格納されたブロックを管理する複数のグループを選
    択し、該グループに属するフレーム管理セルで管理され
    たフレームに対し、上記更新状態識別子を参照して、更
    新状態にある場合は、上記ブロック識別子を用いてディ
    スク装置に書き戻した後、未使用状態に変更し、更新状
    態にない場合には、そのまま未使用状態に変更し、未使
    用状態に変更したフレームを用いて、該リード/ライト
    要求のあったブロックをバッファリングすることを特徴
    とする請求項1記載のバッファ管理方法。
  3. 【請求項3】 上記更新状態にある複数のフレームをデ
    ィスク装置に書き戻す場合、書き戻すと決定されたグル
    ープに属し、更新状態にあるブロックの集合を上記ブロ
    ック識別子を用いて並び替えるか、あるいは予めブロッ
    ク識別子によりグループ内でフレーム管理セルの格納位
    置の順序を管理することにより、ディスク装置のヘッド
    がディスクの中心から外周方向へ、あるいは外周から中
    心方向へ一連の移動を行い、書き戻しを完了することを
    特徴とする請求項1、2記載のバッファ管理方法。
JP22665591A 1991-09-06 1991-09-06 バツフア管理方法 Pending JPH0566891A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22665591A JPH0566891A (ja) 1991-09-06 1991-09-06 バツフア管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22665591A JPH0566891A (ja) 1991-09-06 1991-09-06 バツフア管理方法

Publications (1)

Publication Number Publication Date
JPH0566891A true JPH0566891A (ja) 1993-03-19

Family

ID=16848586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22665591A Pending JPH0566891A (ja) 1991-09-06 1991-09-06 バツフア管理方法

Country Status (1)

Country Link
JP (1) JPH0566891A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6206709B1 (en) 1998-11-16 2001-03-27 Sumitomo Wiring Systems, Ltd. High voltage terminal for an ignition cable

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6206709B1 (en) 1998-11-16 2001-03-27 Sumitomo Wiring Systems, Ltd. High voltage terminal for an ignition cable

Similar Documents

Publication Publication Date Title
US5586292A (en) Data processing method using record division storing scheme and apparatus therefor
US5991775A (en) Method and system for dynamic cache allocation between record and track entries
JP2804115B2 (ja) ディスクファイルシステム
JPH0877073A (ja) 集合光ディスク装置
US6473842B1 (en) Virtual memory managing system for managing swap-outs by page units and a batch swap-out by task units
US20120117297A1 (en) Storage tiering with minimal use of dram memory for header overhead
CN103942161B (zh) 只读缓存的去冗余系统及方法以及缓存的去冗余方法
US20050050294A1 (en) Segmented storage system mapping
JPH08137754A (ja) ディスクキャッシュ装置
CN111338569A (zh) 一种基于直接映射的对象存储后端优化方法
JPH0566891A (ja) バツフア管理方法
JPH08314639A (ja) 情報記録再生装置
JPH05100927A (ja) バツフア管理方法
JP3020512B2 (ja) フアイルデータ管理方法
JPH06103128A (ja) 記憶装置
US8200920B2 (en) Systems and methods for storing and accessing data stored in a data array
KR100489412B1 (ko) 외부기억장치의데이타출력방법
JP3585264B2 (ja) データベースシステム及びデータ検索方法
JP2745882B2 (ja) ブロック管理方法
JPH0477938A (ja) データ記憶方法
JP3157673B2 (ja) 仮想記憶システム
JPH02197941A (ja) ディスクキャッシュの制御方式
CN118567577A (zh) 基于分布式块存储的数据访问方法、装置、电子设备
JPH0588975A (ja) 階層記憶システムの記憶制御方式
JPH0264832A (ja) ディスク・キャッシュ・メモリ管理装置