JPH0934791A - 情報記憶装置 - Google Patents

情報記憶装置

Info

Publication number
JPH0934791A
JPH0934791A JP7206719A JP20671995A JPH0934791A JP H0934791 A JPH0934791 A JP H0934791A JP 7206719 A JP7206719 A JP 7206719A JP 20671995 A JP20671995 A JP 20671995A JP H0934791 A JPH0934791 A JP H0934791A
Authority
JP
Japan
Prior art keywords
address
data
recording
block
cache
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
JP7206719A
Other languages
English (en)
Inventor
Atsushi Motohashi
敦 本橋
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP7206719A priority Critical patent/JPH0934791A/ja
Publication of JPH0934791A publication Critical patent/JPH0934791A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 目的のデータがキャッシュバッファに格納さ
れているか否かを検査するヒットチェックを高速に行え
るようにした情報記憶装置を提供することを目的として
いる。 【解決手段】 ブロックアドレスにハッシュ関数を適用
して得たハッシュ値を用いてデータを格納するキャッシ
ュバッファのアドレスを算出し、算出したキャッシュバ
ッファのアドレスとデータのブロックアドレスとの関係
をあらわすブロック管理パラメータを記憶し、キャッシ
ュバッファのアドレスにデータを格納するようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部装置との間で
やりとりする記録再生データを一時格納するためのキャ
ッシュバッファを備えた情報記憶装置に関する。
【0002】
【従来の技術】一般に、磁気ディスク装置や光ディスク
装置などの外部記憶装置では、記録媒体にデータを記録
または再生するドライブ本体のアクセス速度が比較的低
速であり、このアクセス速度を補うために、ドライブ本
体とホスト装置との間でデータをやりとりするためのコ
ントローラでは、いわゆるデータキャッシュ手段を備え
ている。
【0003】このようなデータキャッシュ手段を備えた
装置としては、例えば、特開平6−52060号公報
(「LRUリスト制御方式」)に開示されているものの
ように、優先順位の低いデータをリストの途中に挿入
し、優先順位の高いデータをなるべくキャッシュバッフ
ァ中に長く保持することで、ヒット率を向上しようとし
たものなどがある。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来装置では、次のような不都合を生じていた。
【0005】すなわち、データをアクセスするとき、目
的のデータがどこに格納されているかを検索するために
は、LRUリストに登録されている全てのデータをチェ
ックする必要があり、そのための処理に長い時間を要す
るという不都合を生じる。
【0006】本発明は、かかる実情に鑑みてなされたも
のであり、目的のデータがキャッシュバッファに格納さ
れているか否かを検査するヒットチェックを高速に行え
るようにした情報記憶装置を提供することを目的として
いる。
【0007】
【課題を解決するための手段】本発明は、外部装置との
間でやりとりする記録再生データを一時格納するための
キャッシュバッファを備えた情報記憶装置において、記
録再生データのブロックアドレスに基づいて所定のハッ
シュ関数を適用し、その結果得たハッシュ値を用いて上
記記録再生データを格納するキャッシュバッファのアド
レスを算出するキャッシュアドレス演算手段と、上記キ
ャッシュアドレス演算手段が算出したキャッシュバッフ
ァのアドレスと上記記録再生データのブロックアドレス
との関係をあらわすブロック管理パラメータを記憶した
記憶手段と、上記キャッシュアドレス演算手段が算出し
たキャッシュバッファのアドレスに上記記録再生データ
を格納するデータ格納手段を備えたものである。
【0008】また、外部装置との間でやりとりする記録
再生データを一時格納するためのキャッシュバッファを
備えた情報記憶装置において、記録再生データのブロッ
クアドレスに基づいて所定のハッシュ関数を適用し、そ
の結果得たハッシュ値を用いて上記記録再生データを格
納するキャッシュバッファのアドレスを算出するキャッ
シュアドレス演算手段と、上記キャッシュアドレス演算
手段が算出したキャッシュバッファのアドレスと上記記
録再生データのブロックアドレスとの関係をあらわすブ
ロック管理パラメータを記憶した記憶手段と、上記キャ
ッシュアドレス演算手段が算出したキャッシュバッファ
のアドレスに上記記録再生データを格納するデータ格納
手段と、上記キャッシュバッファに格納された記録再生
データのアクセス順にそのアドレスを記憶するLRUテ
ーブルを備え、上記キャッシュバッファから記録再生デ
ータを削除するときには、上記LRUテーブルの記憶内
容に基づき最も古くアクセスされたアドレスの記録再生
データを選択して削除するようにしたものである。
【0009】また、外部装置との間でやりとりする記録
再生データを一時格納するためのキャッシュバッファを
備えた情報記憶装置において、記録再生データのブロッ
クアドレスに基づいて所定のハッシュ関数を適用し、そ
れによって得たハッシュ値が同一の記録再生データにつ
いてはキャッシュバッファの空き領域に格納するように
上記記録再生データを格納するキャッシュバッファのア
ドレスアドレスを算出するとともに、同一ハッシュ値の
記録再生データのアドレスのチェインを形成するキャッ
シュアドレス演算手段と、上記キャッシュアドレス演算
手段が算出したキャッシュバッファのアドレスと上記記
録再生データのブロックアドレスとの関係および上記記
録再生データのアドレスのチェイン態様をあらわすブロ
ック管理パラメータを記憶した記憶手段と、上記キャッ
シュアドレス演算手段が算出したキャッシュバッファの
アドレスに上記記録再生データを格納するデータ格納手
段と、上記キャッシュバッファに格納された記録再生デ
ータのアクセス順にそのアドレスを記憶するLRUテー
ブルを備え、上記キャッシュバッファからデータを削除
するときには、上記LRUテーブルの記憶内容に基づき
最も古くアクセスされたアドレスの記録再生データを選
択して削除するとともに、その削除した記録再生データ
のアドレスが上記アドレスのチェインに含まれていると
きには、そのアドレスのチェインを再構成し、その再構
成に対応して上記ブロック管理パラメータの内容を更新
するようにしたものである。
【0010】また、外部装置との間でやりとりする記録
再生データを一時格納するためのキャッシュバッファを
備えた情報記憶装置において、記録再生データのブロッ
クアドレスに基づいて所定のハッシュ関数を適用し、そ
れによって得たハッシュ値が同一の記録再生データにつ
いてはキャッシュバッファの空き領域に格納するように
上記記録再生データを格納するキャッシュバッファのア
ドレスアドレスを算出するとともに、同一ハッシュ値の
記録再生データのアドレスのチェインを形成するキャッ
シュアドレス演算手段と、上記キャッシュアドレス演算
手段が算出したキャッシュバッファのアドレスと上記記
録再生データのブロックアドレスとの関係および上記記
録再生データのアドレスのチェイン態様をあらわすブロ
ック管理パラメータ、および、上記キャッシュバッファ
のアドレスと上記ブロック管理パラメータとの対応関係
をあらわすバッファ管理パラメータを記憶した記憶手段
と、上記キャッシュアドレス演算手段が算出したキャッ
シュバッファのアドレスに上記記録再生データを格納す
るデータ格納手段と、上記キャッシュバッファに格納さ
れた記録再生データのアクセス順にそのアドレスを記憶
するLRUテーブルとを備え、上記キャッシュバッファ
からデータを削除するときには、上記LRUテーブルの
記憶内容に基づき最も古くアクセスされたアドレスの記
録再生データを選択して削除するとともに、その削除し
た記録再生データのアドレスが上記アドレスのチェイン
に含まれているときには、そのアドレスのチェインを再
構成し、その再構成に対応して上記ブロック管理パラメ
ータおよびバッファ管理パラメータの内容を更新するよ
うにしたものである。
【0011】また、外部装置との間で、所定数のブロッ
クデータからなる集約ブロック単位に記録再生データを
やりとりするとともに、その記録再生データを上記集約
ブロック単位に一時格納するためのキャッシュバッファ
を備えた情報記憶装置において、記録再生データのブロ
ックアドレスに基づいて所定のハッシュ関数を適用し、
その結果得たハッシュ値を用いて上記記録再生データを
格納するキャッシュバッファのアドレスを算出するキャ
ッシュアドレス演算手段と、上記キャッシュアドレス演
算手段が算出したキャッシュバッファのアドレスと上記
記録再生データのブロックアドレスとの関係をあらわす
ブロック管理パラメータを記憶した記憶手段と、上記キ
ャッシュアドレス演算手段が算出したキャッシュバッフ
ァのアドレスに上記記録再生データを格納するデータ格
納手段を備えたものである。
【0012】また、複数の外部装置に接続されるととも
に、それらの外部装置との間でやりとりする記録再生デ
ータを一時格納するためのキャッシュバッファを備えた
情報記憶装置において、記録再生データのブロックアド
レスに基づいて所定のハッシュ関数を適用し、その結果
得たハッシュ値を用いて上記記録再生データを格納する
キャッシュバッファのアドレスを算出するキャッシュア
ドレス演算手段と、上記キャッシュアドレス演算手段が
算出したキャッシュバッファのアドレスと上記記録再生
データのブロックアドレスとの関係および上記記録再生
データを処理する上記外部装置の識別情報をあらわすブ
ロック管理パラメータを記憶した記憶手段と、上記キャ
ッシュアドレス演算手段が算出したキャッシュバッファ
のアドレスに上記記録再生データを格納するデータ格納
手段を備え、上記記録再生データを記憶媒体に記録する
ときにエラーが発生すると、その記録再生データに対応
した上記ブロック管理パラメータの識別情報に対応した
外部装置にその旨を通知するようにしたものである。
【0013】また、外部装置との間で、所定数のブロッ
クデータからなる集約ブロック単位に記録再生データを
やりとりするとともに、その記録再生データを上記集約
ブロック単位に一時格納するためのキャッシュバッファ
を備えた情報記憶装置において、記録再生データのブロ
ックアドレスに基づいて所定のハッシュ関数を適用し、
その結果得たハッシュ値を用いて上記記録再生データを
格納するキャッシュバッファのアドレスを算出するキャ
ッシュアドレス演算手段と、上記キャッシュアドレス演
算手段が算出したキャッシュバッファのアドレスと上記
記録再生データのブロックアドレスとの関係をあらわす
ブロック管理パラメータを記憶した記憶手段と、上記キ
ャッシュアドレス演算手段が算出したキャッシュバッフ
ァのアドレスに上記記録再生データを格納するデータ格
納手段と、上記キャッシュバッファに格納された記録再
生データのアクセス順にそのアドレスを記憶するLRU
テーブルを備え、上記キャッシュバッファから記録再生
データを削除するときには、上記LRUテーブルの記憶
内容に基づき最も古くアクセスされたアドレスの記録再
生データを選択して削除するようにしたものである。
【0014】また、外部装置との間で、所定数のブロッ
クデータからなる集約ブロック単位に記録再生データを
やりとりするとともに、その記録再生データを上記集約
ブロック単位に一時格納するためのキャッシュバッファ
を備えた情報記憶装置において、記録再生データのブロ
ックアドレスに基づいて所定のハッシュ関数を適用し、
それによって得たハッシュ値が同一の記録再生データに
ついてはキャッシュバッファの空き領域に格納するよう
に上記記録再生データを格納するキャッシュバッファの
アドレスアドレスを算出するとともに、同一ハッシュ値
の記録再生データのアドレスのチェインを形成するキャ
ッシュアドレス演算手段と、上記キャッシュアドレス演
算手段が算出したキャッシュバッファのアドレスと上記
記録再生データのブロックアドレスとの関係および上記
記録再生データのアドレスのチェイン態様をあらわすブ
ロック管理パラメータを記憶した記憶手段と、上記キャ
ッシュアドレス演算手段が算出したキャッシュバッファ
のアドレスに上記記録再生データを格納するデータ格納
手段と、上記キャッシュバッファに格納された記録再生
データのアクセス順にそのアドレスを記憶するLRUテ
ーブルとを備え、上記キャッシュバッファからデータを
削除するときには、上記LRUテーブルの記憶内容に基
づき最も古くアクセスされたアドレスの記録再生データ
を選択して削除するとともに、その削除した記録再生デ
ータのアドレスが上記アドレスのチェインに含まれてい
るときには、そのアドレスのチェインを再構成し、その
再構成に対応して上記ブロック管理パラメータの内容を
更新するようにしたものである。
【0015】また、外部装置との間で、所定数のブロッ
クデータからなる集約ブロック単位に記録再生データを
やりとりするとともに、その記録再生データを上記集約
ブロック単位に一時格納するためのキャッシュバッファ
を備えた情報記憶装置において、記録再生データのブロ
ックアドレスに基づいて所定のハッシュ関数を適用し、
それによって得たハッシュ値が同一の記録再生データに
ついてはキャッシュバッファの空き領域に格納するよう
に上記記録再生データを格納するキャッシュバッファの
アドレスアドレスを算出するとともに、同一ハッシュ値
の記録再生データのアドレスのチェインを形成するキャ
ッシュアドレス演算手段と、上記キャッシュアドレス演
算手段が算出したキャッシュバッファのアドレスと上記
記録再生データのブロックアドレスとの関係および上記
記録再生データのアドレスのチェイン態様をあらわすブ
ロック管理パラメータ、および、上記キャッシュバッフ
ァのアドレスと上記ブロック管理パラメータとの対応関
係をあらわすバッファ管理パラメータを記憶した記憶手
段と、上記キャッシュアドレス演算手段が算出したキャ
ッシュバッファのアドレスに上記記録再生データを格納
するデータ格納手段と、上記キャッシュバッファに格納
された記録再生データのアクセス順にそのアドレスを記
憶するLRUテーブルを備え、上記キャッシュバッファ
からデータを削除するときには、上記LRUテーブルの
記憶内容に基づき最も古くアクセスされたアドレスの記
録再生データを選択して削除するとともに、その削除し
た記録再生データのアドレスが上記アドレスのチェイン
に含まれているときには、そのアドレスのチェインを再
構成し、その再構成に対応して上記ブロック管理パラメ
ータおよびバッファ管理パラメータの内容を更新するよ
うにしたものである。
【0016】また、複数の外部装置に接続されるととも
に、それらの外部装置との間でやりとりする記録再生デ
ータを一時格納するためのキャッシュバッファを備えた
情報記憶装置において、記録再生データのブロックアド
レスに基づいて所定のハッシュ関数を適用し、その結果
得たハッシュ値を用いて上記記録再生データを格納する
キャッシュバッファのアドレスを算出するキャッシュア
ドレス演算手段と、上記キャッシュアドレス演算手段が
算出したキャッシュバッファのアドレスと上記記録再生
データのブロックアドレスとの関係および上記記録再生
データを処理する上記外部装置の識別情報をあらわすブ
ロック管理パラメータを記憶した記憶手段と、上記キャ
ッシュアドレス演算手段が算出したキャッシュバッファ
のアドレスに上記記録再生データを格納するデータ格納
手段と、上記キャッシュバッファに格納された記録再生
データのアクセス順にそのアドレスを記憶するLRUテ
ーブルを備え、上記キャッシュバッファから記録再生デ
ータを削除するときには、上記LRUテーブルの記憶内
容に基づき最も古くアクセスされたアドレスの記録再生
データを選択して削除し、上記記録再生データを記憶媒
体に記録するときにエラーが発生すると、その記録再生
データに対応した上記ブロック管理パラメータの識別情
報に対応した外部装置にその旨を通知するようにしたも
のである。
【0017】また、複数の外部装置に接続されるととも
に、それらの外部装置との間でやりとりする記録再生デ
ータを外部装置との間でやりとりする記録再生データを
一時格納するためのキャッシュバッファを備えた情報記
憶装置において、記録再生データのブロックアドレスに
基づいて所定のハッシュ関数を適用し、それによって得
たハッシュ値が同一の記録再生データについてはキャッ
シュバッファの空き領域に格納するように上記記録再生
データを格納するキャッシュバッファのアドレスアドレ
スを算出するとともに、同一ハッシュ値の記録再生デー
タのアドレスのチェインを形成するキャッシュアドレス
演算手段と、上記キャッシュアドレス演算手段が算出し
たキャッシュバッファのアドレスと上記記録再生データ
のブロックアドレスとの関係および上記記録再生データ
のアドレスのチェイン態様および上記記録再生データを
処理する上記外部装置の識別情報をあらわすブロック管
理パラメータを記憶した記憶手段と、上記キャッシュア
ドレス演算手段が算出したキャッシュバッファのアドレ
スに上記記録再生データを格納するデータ格納手段と、
上記キャッシュバッファに格納された記録再生データの
アクセス順にそのアドレスを記憶するLRUテーブルを
備え、上記キャッシュバッファからデータを削除すると
きには、上記LRUテーブルの記憶内容に基づき最も古
くアクセスされたアドレスの記録再生データを選択して
削除するとともに、その削除した記録再生データのアド
レスが上記アドレスのチェインに含まれているときに
は、そのアドレスのチェインを再構成し、その再構成に
対応して上記ブロック管理パラメータの内容を更新し、
上記記録再生データを記憶媒体に記録するときにエラー
が発生すると、その記録再生データに対応した上記ブロ
ック管理パラメータの識別情報に対応した外部装置にそ
の旨を通知するようにしたものである。
【0018】また、複数の外部装置に接続されるととも
に、それらの外部装置との間でやりとりする記録再生デ
ータを外部装置との間でやりとりする記録再生データを
一時格納するためのキャッシュバッファを備えた情報記
憶装置において、記録再生データのブロックアドレスに
基づいて所定のハッシュ関数を適用し、それによって得
たハッシュ値が同一の記録再生データについてはキャッ
シュバッファの空き領域に格納するように上記記録再生
データを格納するキャッシュバッファのアドレスアドレ
スを算出するとともに、同一ハッシュ値の記録再生デー
タのアドレスのチェインを形成するキャッシュアドレス
演算手段と、上記キャッシュアドレス演算手段が算出し
たキャッシュバッファのアドレスと上記記録再生データ
のブロックアドレスとの関係および上記記録再生データ
のアドレスのチェイン態様をあらわすブロック管理パラ
メータ、および、上記キャッシュバッファのアドレスと
上記ブロック管理パラメータとの対応関係、および、上
記記録再生データを処理する上記外部装置の識別情報を
あらわすバッファ管理パラメータを記憶した記憶手段
と、上記キャッシュアドレス演算手段が算出したキャッ
シュバッファのアドレスに上記記録再生データを格納す
るデータ格納手段と、上記キャッシュバッファに格納さ
れた記録再生データのアクセス順にそのアドレスを記憶
するLRUテーブルとを備え、上記キャッシュバッファ
からデータを削除するときには、上記LRUテーブルの
記憶内容に基づき最も古くアクセスされたアドレスの記
録再生データを選択して削除するとともに、その削除し
た記録再生データのアドレスが上記アドレスのチェイン
に含まれているときには、そのアドレスのチェインを再
構成し、その再構成に対応して上記ブロック管理パラメ
ータおよびバッファ管理パラメータの内容を更新し、上
記記録再生データを記憶媒体に記録するときにエラーが
発生すると、その記録再生データに対応した上記ブロッ
ク管理パラメータの識別情報に対応した外部装置にその
旨を通知するようにしたものである。
【0019】
【発明の実施の形態】以下、添付図面を参照しながら、
本発明の実施例を詳細に説明する。
【0020】図1は、本発明の一実施例にかかる光磁気
ディスク装置を示している。
【0021】同図において、CPU(中央処理装置)1
は、この光磁気ディスク装置の各部の動作を制御すると
ともに、この光磁気ディスク装置を外部記憶装置として
用いるホスト装置(例えば、パーソナルコンピュータ装
置等(図示略))との間で種々のデータをやりとりする
ためのものであり、ROM(リード・オンリ・メモリ)
2は、CPU1が実行する制御処理プログラムデータや
その制御処理プログラムデータを実行するために必要な
各種パラメータ等が記憶されたものであり、RAM(ラ
ンダム・アクセス・メモリ)3は、CPU1のワークエ
リア等を構成するものである。
【0022】キャッシュバッファ4は、記録データを一
時的に保持して、所定のデータキャッシュ動作を行うた
めのものであり、記録再生制御部5は、光磁気ディスク
ドライブユニット6に対して、データの記録動作および
再生動作を制御するものであり、光磁気ディスクドライ
ブユニット6は、光磁気ディスク(記録媒体)にデータ
を記録再生するものである。
【0023】ホストインタフェース回路7は、ホスト装
置に接続して、ホスト装置との間でデータのやりとりを
行うためのものであり、例えば、SCSI等の一般的な
インタフェース規格のものを用いることができる。
【0024】これらのCPU1、ROM2、RAM3、
キャッシュバッファ4、記録再生制御部5、および、ホ
ストインタフェース回路7は、内部バス8に接続されて
おり、これらの各要素間のデータのやりとりは、主とし
てこの内部バス8を介して行われている。
【0025】また、図2に示すように、キャッシュバッ
ファ4は、その内部が複数のキャッシュブロックに分割
されており、おのおののキャッシュブロック単位にデー
タが記憶され、更新され、削除される。なお、おのおの
のキャッシュブロックのデータサイズは、光磁気ディス
クドライブユニット6のデータ記録単位であるデータブ
ロックのデータサイズに等しい値に設定されている。
【0026】また、キャッシュバッファ4へのデータの
格納を管理するために、図3(a)に示すようなブロッ
ク管理テーブルが形成される。このブロック管理テーブ
ルは、おのおののキャッシュブロックについてのデータ
の格納を管理するための複数のブロック管理パラメータ
からなる。
【0027】ブロック管理パラメータBMPは、同図
(b)に示すように、おのおののブロック管理パラメー
タを識別するためのパラメータ識別情報(ID)PI、
このブロック管理パラメータが対応しているデータブロ
ックのブロックアドレス(光磁気ディスクに記録される
論理アドレス)をあらわすデータブロックアドレスDB
A、同一のハッシュ値(後述)をもつデータブロックア
ドレスDBAを管理しているブロック管理パラメータB
MPのチェイン(連なり)を形成するための次パラメー
タ識別情報NPI、このブロック管理パラメータが対応
しているキャッシュブロックの状態(光磁気ディスクに
書込済、未書込、データなし等)をあらわすステータス
情報、および、このブロック管理パラメータが対応して
いるデータブロックを生成したホスト装置をあらわすホ
スト装置IDからなる。
【0028】なお、上述したように、ホストインタフェ
ース回路7としてSCSIを適用した場合、このSCS
Iでは、インタフェースケーブルにより複数のインタフ
ェース回路をディジーチェイン接続することで複数の装
置(ホスト装置または外部記憶装置等)を接続すること
ができ、おのおののインタフェース回路には固有のID
が割り当てられて、それぞれを区別できるようになって
いる。コマンドのやりとりの際も、このIDを用いら
れ、それにより、コマンドを発行したインタフェース回
路(すなわち、装置)およびコマンドの受け取り側のイ
ンタフェース回路を識別できるようにしている。
【0029】また、後述するように、ブロック管理パラ
メータBMPのチェインを変更する場合などのために、
ブロック管理パラメータBMPとキャッシュブロックと
の対応関係は固定されておらず、そのために、図3
(c)に示すようなバッファ管理テーブルFMTが形成
されている。このバッファ管理テーブルFMTは、おの
おののブロック管理パラメータBMPに対応するバッフ
ァ管理パラメータFMPからなる。
【0030】バッファ管理パラメータFMPは、同図
(d)に示すように、ブロック管理パラメータBMPを
あらわすパラメータ識別情報PIと、そのブロック管理
パラメータBMPが管理しているキャッシュブロックを
あらわすキャッシュブロックアドレスCBAからなる。
【0031】また、キャッシュバッファ4があふれると
きに、データを削除するキャッシュブロックを選択する
アルゴリズムとしては、LRU(Least Rece
ntly Used:最も新しくアクセスされたデータ
ブロックをキャッシュバッファに保持する)方式を用い
ており、同図(e)に示すように、そのためのLRUテ
ーブルLRUTが形成される。このLRUテーブルLR
UTの要素のうち、最も新しくアクセスされたキャッシ
ュブロックのキャッシュブロックアドレスは、最も大き
な番号の格納位置に格納される。
【0032】図4は、アイドル状態(待機状態)でのC
PU1の処理例を示している。
【0033】このアイドル状態では、CPU1は、ホス
ト装置からデータ記録命令、データ読出命令、イジェク
ト命令、または、その他の命令が発行されることを監視
している(判断101,102,103,104のNO
ループ)。
【0034】そして、ホスト装置からデータ記録命令を
受け取り、判断101の結果がYESになると、所定の
データ記録処理(処理105)を実行する。また、ホス
ト装置からデータ読出命令を受け取り、判断102の結
果がYESになると、所定のデータ読出処理(処理10
6)を実行する。また、ホスト装置からイジェクト命令
を受け取り、判断103の結果がYESになると、所定
のイジェクト処理(処理107)を実行する。また、そ
の他の命令を受け取り、判断104の結果がYESにな
ると、そのときに受け取った命令の処理(処理108)
を実行する。また、このアイドル状態が所定時間以上続
いた場合は、後述するように、キャッシュバッファ4に
格納されている全てのデータを光磁気ディスクに保存す
る処理を行う。
【0035】図5および図6は、データ記録処理の一例
を示している。
【0036】まず、データ記録命令で通知されたデータ
ブロックアドレスに基づいて、所定のハッシュ関数を演
算し、ハッシュ値を得る(処理201)。この場合、ハ
ッシュ関数は、データブロックアドレスをキャッシュブ
ロックの数mで割ったときの剰余を求める関数である。
【0037】そして、ブロック管理テーブルBMTのブ
ロック管理パラメータBMPを参照して、そのハッシュ
値と同じ値のキャッシュブロックアドレスCBAのキャ
ッシュブロックが空いているかどうかを調べる(判断2
02)。例えば、そのハッシュ値と同じ値のパラメータ
識別情報PIがセットされているブロック管理パラメー
タBMPを見つけ、そのブロック管理パラメータBMP
のステータス情報が「データなし」になっていれば、そ
のキャッシュブロックは空いていることになる。
【0038】判断202の結果がYESになるときに
は、ハッシュ値のパラメータ識別情報PIがセットされ
ているバッファ管理パラメータFMPを見つけ、そのバ
ッファ管理パラメータFMPにセットされているキャッ
シュブロックアドレスCBAのキャッシュブロックに、
そのときに受け取ったデータブロックのデータを格納す
る(処理203)。
【0039】そして、ハッシュ値のパラメータ識別情報
PIがセットされているブロック管理パラメータBMP
に、そのときに格納したデータブロックのブロックアド
レスをセットし、次パラメータ識別情報NPIにチェイ
ンの最後をあらわすデータをセットし、ステータス情報
として「未書込」をセットするとともに(処理20
4)、そのときのデータ記録命令に付加されていたコマ
ンド発行元をあらわすIDを、ホスト装置IDにセット
する(処理205)。
【0040】次いで、LRUテーブルLRUTにデータ
ブロックアドレスを追加するために、LRUテーブル更
新処理(処理206)を実行して、データ記録動作を終
了する。
【0041】判断202の結果がNOになるときには、
キャッシュバッファ4に空き領域があるかどうかを調べ
る(判断207)。判断207の結果がYESになると
きには、キャッシュバッファ4の空き領域に、そのとき
に受け取ったデータブロックのデータを格納する(処理
208)。
【0042】次に、ステータス情報に「データなし」が
セットされているブロック管理パラメータBMPを見つ
け、そのブロック管理パラメータBMPのデータブロッ
クアドレスDBAにそのときに格納したデータブロック
のブロックアドレスをセットし、次パラメータ識別情報
NPIにチェインの最後をあらわすデータをセットし、
ステータス情報として「未書込」をセットするととも
に、そのブロック管理パラメータBMPを、この場合の
ブロック管理パラメータBMPのチェインの最後に追加
する(処理210)。それとともに、そのときにデータ
ブロックのデータを格納したキャッシュバッファ4の空
き領域のキャッシュバッファアドレスCBAを、新たに
見つけたブロック管理パラメータBMPのパラメータ識
別情報PIがセットされているバッファ管理パラメータ
FMPのキャッシュバッファアドレスにセットする。
【0043】このブロック管理パラメータBMPのチェ
インへの追加は、次のようにして行う。まず、ハッシュ
値と同じ値のパラメータ識別情報PIがセットされてい
るブロック管理パラメータBMPの次パラメータ識別情
報NPIを得て、その次パラメータ識別情報NPIと同
じ値のパラメータ識別情報PIがセットされているブロ
ック管理パラメータBMPを見つけ、これを順次繰り返
しながら、ブロック管理パラメータBMPのチェインを
たどり、次パラメータ識別情報NPIにチェインの最後
をあらわすデータがセットされているブロック管理パラ
メータBMPを探す。このときに探し出したチェインの
最後のブロック管理パラメータBMPの次パラメータ識
別情報NPIに、新たに見つけたブロック管理パラメー
タBMPのパラメータ識別情報PIの値をセットする
と、ブロック管理パラメータBMPのチェインに追加す
ることができる。
【0044】そして、そのときのデータ記録命令に付加
されていたコマンド発行元をあらわすIDを、新たに見
つけたブロック管理パラメータBMPのホスト装置ID
にセットし(処理211)、LRUテーブルLRUTに
データブロックアドレスを追加するために、LRUテー
ブル更新処理(処理212)を実行して、データ記録動
作を終了する。
【0045】また、判断207の結果がNOになるとき
には、LRUテーブルLRUTを参照して、最も古い時
期にアクセスされたキャッシュブロックを判定し(処理
213)、そのキャッシュブロックに格納されているデ
ータブロックが光磁気ディスクに書き込み済であるかど
うかを調べる(判断214)。ここで、判定したキャッ
シュブロックのキャッシュブロックアドレスと同じ値の
キャッシュブロックアドレスCBAがセットされている
バッファ管理パラメータFMPを見つけ、そのバッファ
管理パラメータFMPにセットされているパラメータ識
別情報PIを得る。そして、そのパラメータ識別情報P
Iと同じ値のパラメータ識別情報PIがセットされてい
るブロック管理パラメータBMPを見つけ、そのブロッ
ク管理パラメータBMPのステータス情報に「書込済」
がセットされていれば、キャッシュブロックに格納され
ているデータブロックが光磁気ディスクに書き込み済で
ある。
【0046】判断214の結果がNOになるときには、
そのときに見つけたブロック管理パラメータBMPのデ
ータブロックアドレスDBAを書込アドレスに指定し
て、そのときに判定したキャッシュブロックのデータを
記録再生制御部5に転送し、そのブロックデータを、光
磁気ディスクの指定されたデータブロックアドレスDB
Aに書き込む(処理215)。
【0047】ここで、データ記録時にエラーが発生した
ことが記録再生制御部5から通知された場合には(判断
216の結果がYES)、そのときに見つけたブロック
管理パラメータBMPのホスト装置IDのホスト装置に
対して、データ記録エラーが発生したことを通知する
(処理217,218)。
【0048】そして、LRUテーブルLRUTからデー
タブロックアドレスを削除するために、LRUテーブル
更新処理(処理219)を実行し、そのときに見つけた
ブロック管理パラメータBMPのチェインを更新するた
めにブロック管理パラメータ更新処理(処理220)を
実行して、データ記録動作を終了する。
【0049】また、判断214の結果がYESになる場
合と、判断216の結果がNOになる場合には、即処理
219に移行し、LRUテーブルLRUTからデータブ
ロックアドレスを削除するとともに、ブロック管理パラ
メータBMPのチェインを更新して、データ記録動作を
終了する。
【0050】LRUテーブル更新処理の一例を図7に示
す。
【0051】まず、起動時に項目削除が通知されている
かどうかを調べ(判断301)、判断301の結果がY
ESになるときには、LRUテーブルLRUTの1番目
のデータブロックアドレスを取り出して(処理30
2)、2番目以降のデータブロックアドレスを、順次1
つずつ若番号方向に移動して(処理303)、この処理
を終了する。
【0052】また、判断301の結果がNOになるとき
には、追加することが指定されたデータブロックアドレ
スが、LRUテーブルLRUTに既に登録されているか
どうかを調べる(判断304)。判断304の結果がY
ESになるときには、指定されたデータブロックアドレ
スよりも順番が大きいデータブロックアドレスを、順次
1つずつ若番号方向に移動した(処理304)後に、指
定されたデータブロックアドレスをLRUテーブルLR
UTの最後にセットして(処理305)、この処理を終
了する。
【0053】また、判断304の結果がNOになるとき
には、指定されたデータブロックアドレスをLRUテー
ブルLRUTの最後にセットして(処理307)、この
処理を終了する。
【0054】ブロック管理パラメータ更新処理の一例を
図8に示す。
【0055】まず、削除対象のデータブロックのデータ
ブロックアドレスに基づいて、上述したハッシュ関数演
算を実行してハッシュ値を算出し(処理401)、その
ハッシュ値に対応したブロック管理パラメータBMPの
チェインを、上述したようにしてたどりながら、削除対
象のデータブロックに対応したブロック管理パラメータ
BMPを探し出し、そのブロック管理パラメータBMP
のステータス情報を「データなし」に書き換えて、その
データブロックをブロック管理テーブルBMTより削除
する(処理402)。
【0056】そして、その処理対象のブロック管理パラ
メータBMPの次パラメータ識別情報NPIに、いずれ
かのパラメータ識別情報PIがセットされていて、その
処理対象のブロック管理パラメータBMPにチェインし
ている次のブロック管理パラメータBMPがあるかどう
かを調べる(判断403)。判断403の結果がNOに
なるときには、その処理対象のブロック管理パラメータ
BMPの1つ前のブロック管理パラメータBMPがある
場合には、そのブロック管理パラメータBMPの次パラ
メータ識別情報NPIにチェインの最後である旨をあら
わすデータをセットして、この処理を終了する。
【0057】判断403の結果がYESになるときに
は、このブロック管理パラメータ更新処理中で、ブロッ
ク管理パラメータBMPのチェインが新たに形成されて
いるかどうかを調べる(判断404)。
【0058】判断404の結果がNOになるときには、
その処理対象の次のブロック管理パラメータBMPに対
応したデータブロックアドレスを、その処理対象のブロ
ック管理パラメータBMPに対応したデータブロックア
ドレスに移して、ブロック管理パラメータBMPのチェ
インを更新する(処理405)。このチェインの更新
は、次のようにして行える。まず、チェイン上で処理対
象の前のブロック管理パラメータBMPの次パラメータ
識別情報NPIに、チェイン上で処理対象の次のブロッ
ク管理パラメータBMPのパラメータ識別情報PIの値
をセットする。次に、処理対象のブロック管理パラメー
タBMPのパラメータ識別情報PIがセットされていた
バッファ管理パラメータFMPと、処理対象の次のパラ
メータ識別情報PIがセットされていたバッファ管理パ
ラメータFMP同士で、相互にキャッシュブロックアド
レスCBAの値を入れ替える。
【0059】次に、チェイン更新後のデータブロックア
ドレスのハッシュ値を算出し、そのハッシュ値がブロッ
ク管理パラメータBMPのパラメータ識別情報PIに一
致するかどうかを調べる(判断406)。判断406の
結果がYESになるときには、そのブロック管理パラメ
ータBMPをチェインから外して新しいチェインとして
登録し(処理407)、次の処理対象のブロック管理パ
ラメータBMPを設定して、判断403に戻る。このブ
ロック管理パラメータBMPをチェインから外して新し
いチェインとして登録するには、例えば、そのブロック
管理パラメータBMPのチェイン上で1つ前のブロック
管理パラメータBMPの次パラメータ識別情報NPI
に、チェインの最後である旨をあらわすデータをセット
すればよい。
【0060】また、判断406の結果がNOになるとき
には、次の処理対象のブロック管理パラメータBMPを
設定して、判断403に戻る。
【0061】また、判断404の結果がYESになると
きには、処理対象のブロック管理パラメータBMPのデ
ータブロックアドレスのハッシュ値が、その新しく形成
されたブロック管理パラメータBMPのチェインと同一
ハッシュ値であるかどうかを調べる(判断408)。判
断408の結果がNOになるときには、処理405に移
行し、それ以降の処理を実行する。
【0062】また、判断408の結果がYESになると
きには、処理対象のブロック管理パラメータBMPを、
新しく形成されたチェインに接続して(処理409)、
判断403に戻る。この新しいチェインへの接続は、新
しく形成されたチェインをたどって最後のブロック管理
パラメータBMPを見つけ、そのチェインの最後のブロ
ック管理パラメータBMPのの次パラメータ識別情報N
PIに、処理対象のブロック管理パラメータのパラメー
タ識別情報PIの値をセットして行う。
【0063】図9、図10、および、図11は、データ
読出処理の一例を示している。
【0064】まず、指定されたデータブロックアドレス
を、所定のハッシュ関数に適用して、ハッシュ値を得る
(処理501)。次いで、そのハッシュ値と同じ値のパ
ラメータ識別情報PIをもつブロック管理パラメータB
MPから始まるチェインより、指定されたデータブロッ
クアドレスがセットされているブロック管理パラメータ
BMPを探す(処理502)。
【0065】指定されたデータブロックアドレスがセッ
トされているブロック管理パラメータBMPが見つかっ
た場合(キャッシュヒット;判断503の結果がYE
S)、そのブロック管理パラメータBMPのパラメータ
識別情報PIがセットされているバッファ管理パラメー
タFMPのキャッシュブロックアドレスに対応したキャ
ッシュブロックから、データブロックを読み出してホス
ト装置に出力し(処理504)、LRUテーブル更新処
理(処理505)を実行して、この処理を終了する。
【0066】また、キャッシュヒットしなかった場合
で、判断503の結果がNOになるときには、指定され
たデータブロックアドレスを指定した状態で、記録再生
制御部5にデータ読出を指定して、指定されたデータブ
ロックアドレスのデータを読出(処理506)、その読
み出したデータをホスト装置に出力する(処理50
7)。
【0067】次いで、算出したハッシュ値と同じ値のキ
ャッシュブロックアドレスCBAのキャッシュブロック
が空いているかどうかを調べる(判断508)。例え
ば、そのハッシュ値と同じ値のパラメータ識別情報PI
がセットされているブロック管理パラメータBMPを見
つけ、そのブロック管理パラメータBMPのステータス
情報が「データなし」になっていれば、そのキャッシュ
ブロックは空いていることになる。
【0068】判断508の結果がYESになるときに
は、ハッシュ値のパラメータ識別情報PIがセットされ
ているバッファ管理パラメータFMPを見つけ、そのバ
ッファ管理パラメータFMPにセットされているキャッ
シュブロックアドレスCBAのキャッシュブロックに、
そのときに受け取ったデータブロックのデータを格納す
る(処理509)。
【0069】そして、ハッシュ値のパラメータ識別情報
PIがセットされているブロック管理パラメータBMP
に、そのときに格納したデータブロックのブロックアド
レスをセットし、次パラメータ識別情報NPIにチェイ
ンの最後をあらわすデータをセットし、ステータス情報
として「未書込」をセットし(処理510)、次いで、
LRUテーブルLRUTにデータブロックアドレスを追
加するために、LRUテーブル更新処理(処理511)
を実行して、データ記録動作を終了する。
【0070】判断508の結果がNOになるときには、
キャッシュバッファ4に空き領域があるかどうかを調べ
る(判断512)。判断512の結果がYESになると
きには、キャッシュバッファ4の空き領域に、そのとき
に受け取ったデータブロックのデータを格納する(処理
513)。
【0071】次に、ステータス情報に「データなし」が
セットされているブロック管理パラメータBMPを見つ
け、そのブロック管理パラメータBMPのデータブロッ
クアドレスDBAにそのときに格納したデータブロック
のブロックアドレスをセットし、次パラメータ識別情報
NPIにチェインの最後をあらわすデータをセットし、
ステータス情報として「未書込」をセットするととも
に、そのブロック管理パラメータBMPを、この場合の
ブロック管理パラメータBMPのチェインの最後に追加
する(処理514)。それとともに、そのときにデータ
ブロックのデータを格納したキャッシュバッファ4の空
き領域のキャッシュバッファアドレスCBAを、新たに
見つけたブロック管理パラメータBMPのパラメータ識
別情報PIがセットされているバッファ管理パラメータ
FMPのキャッシュバッファアドレスにセットする。
【0072】このブロック管理パラメータBMPのチェ
インへの追加は、次のようにして行う。まず、ハッシュ
値と同じ値のパラメータ識別情報PIがセットされてい
るブロック管理パラメータBMPの次パラメータ識別情
報NPIを得て、その次パラメータ識別情報NPIと同
じ値のパラメータ識別情報PIがセットされているブロ
ック管理パラメータBMPを見つけ、これを順次繰り返
しながら、ブロック管理パラメータBMPのチェインを
たどり、次パラメータ識別情報NPIにチェインの最後
をあらわすデータがセットされているブロック管理パラ
メータBMPを探す。このときに探し出したチェインの
最後のブロック管理パラメータBMPの次パラメータ識
別情報NPIに、新たに見つけたブロック管理パラメー
タBMPのパラメータ識別情報PIの値をセットする
と、ブロック管理パラメータBMPのチェインに追加す
ることができる。
【0073】そして、LRUテーブルLRUTにデータ
ブロックアドレスを追加するために、LRUテーブル更
新処理(処理515)を実行して、データ記録動作を終
了する。
【0074】また、判断512の結果がNOになるとき
には、LRUテーブルLRUTを参照して、最も古い時
期にアクセスされたキャッシュブロックを判定し(処理
516)、そのキャッシュブロックに格納されているデ
ータブロックが光磁気ディスクに書き込み済であるかど
うかを調べる(判断517)。ここで、判定したキャッ
シュブロックのキャッシュブロックアドレスと同じ値の
キャッシュブロックアドレスCBAがセットされている
バッファ管理パラメータFMPを見つけ、そのバッファ
管理パラメータFMPにセットされているパラメータ識
別情報PIを得る。そして、そのパラメータ識別情報P
Iと同じ値のパラメータ識別情報PIがセットされてい
るブロック管理パラメータBMPを見つけ、そのブロッ
ク管理パラメータBMPのステータス情報に「書込済」
がセットされていれば、キャッシュブロックに格納され
ているデータブロックが光磁気ディスクに書き込み済で
ある。
【0075】判断517の結果がNOになるときには、
そのときに見つけたブロック管理パラメータBMPのデ
ータブロックアドレスDBAを書込アドレスに指定し
て、そのときに判定したキャッシュブロックのデータを
記録再生制御部5に転送し、そのブロックデータを、光
磁気ディスクの指定されたデータブロックアドレスDB
Aに書き込む(処理518)。
【0076】ここで、データ記録時にエラーが発生した
ことが記録再生制御部5から通知された場合には(判断
519の結果がYES)、そのときに見つけたブロック
管理パラメータBMPのホスト装置IDのホスト装置に
対して、データ記録エラーが発生したことを通知する
(処理520,521)。
【0077】そして、LRUテーブルLRUTからデー
タブロックアドレスを削除するために、LRUテーブル
更新処理(処理522)を実行し、そのときに見つけた
ブロック管理パラメータBMPのチェインを更新するた
めにブロック管理パラメータ更新処理(処理523)を
実行して、データ記録動作を終了する。
【0078】また、判断517の結果がYESになる場
合と、判断519の結果がNOになる場合には、即処理
522に移行し、LRUテーブルLRUTからデータブ
ロックアドレスを削除するとともに、ブロック管理パラ
メータBMPのチェインを更新して、データ記録動作を
終了する。
【0079】イジェクト処理の一例を図12に示す。
【0080】メディアイジェクトが指令されると、ブロ
ック管理パラメータBMPのうち、ステータス情報に
「未書き込み」がセットされているものを探し、かかる
ブロック管理パラメータBMPが見つかると、そのブロ
ック管理パラメータBMPのパラメータ識別情報PIと
同じ値がパラメータ識別情報にセットされているバッフ
ァ管理パラメータFMPのキャッシュブロックアドレス
CBAに対応してキャッシュバッファ4に格納されてい
るデータブロックを、そのブロック管理パラメータBM
PのデータブロックアドレスDBAに対応した光磁気デ
ィスクに書き込み、それにより、キャッシュバッファ4
に格納されている全ての未書き込みデータを光磁気ディ
スクに書き込む(しょり601)。
【0081】次いで、メディアをイジェクトし(処理6
02)、ブロック管理テーブルBMTおよびバッファ管
理テーブルBMTの内容を全て消去して(処理60
3)、この処理を終了する。
【0082】このようにして、メディアイジェクトが指
令されたときには、そのときにキャッシュバッファ4に
格納されている未書き込みデータをメディアに書き込む
ので、ホスト装置が記録終了したと認識している全ての
データは、メディアに適切に記録されることになる。な
お、メディアイジェクトの指令は、ホスト装置からの指
令によるものに限らず、ユーザが光磁気ディスクユニッ
ト6のイジェクトスイッチ等を直接操作したときにも発
生する。
【0083】図13は、アイドル時の記録処理の一例を
示している。
【0084】まず、所定の時間T1以上アイドル状態が
継続するまで待ち(判断701のNOループ)、アイド
ル状態が時間T1以上継続して判断701の結果がYE
Sになるときには、ブロック管理テーブルBMTを調べ
て、1つ以上のキャッシュブロックにデータが格納され
ているかどうかを調べる(判断702)。判断702の
結果がNOになるときには、判断701に戻る。
【0085】判断702の結果がYESになるときに
は、ブロック管理パラメータBMPのうち、ステータス
情報に「未書き込み」がセットされているものを探し
(処理703)、かかるブロック管理パラメータBMP
が見つかると、そのブロック管理パラメータBMPのパ
ラメータ識別情報PIと同じ値がパラメータ識別情報に
セットされているバッファ管理パラメータFMPのキャ
ッシュブロックアドレスCBAに対応してキャッシュバ
ッファ4に格納されているデータブロックを、そのブロ
ック管理パラメータBMPのデータブロックアドレスD
BAに対応した光磁気ディスクに書き込む(処理70
4)。
【0086】そして、そのデータ書き込み時に、記録再
生制御部5から書き込みエラーが通知されたかどうかを
調べ(判断705)、判断705の結果がYESになる
ときには、そのときのブロック管理パラメータBMPの
ホスト装置IDに対応したホスト装置に対して、データ
記録エラーを通知し(処理706)、また、判断705
の結果がNOになるときには、そのときのブロック管理
パラメータBMPのステータス情報を「書き込み済」に
書き換える(処理707)。
【0087】そして、全ての未書き込みのキャッシュブ
ロックについて、処理703〜707の処理を繰り返し
行い(判断708のNOループ)、全ての未書き込みの
キャッシュブロックについての処理を終了して判断70
8の結果がYESになると、判断701に戻り、それ以
降の処理を繰り返し行う。
【0088】以上の構成で、例えば、キャッシュバッフ
ァ4に5つのキャッシュブロックが設けられ、データブ
ロックアドレス「0」、「5」、「1」、「6」、「1
0」のデータが、順次データ記録要求される場合を考え
ると、まず、データブロックアドレス「0」、「5」、
「1」、「6」、「10」のハッシュ値は、上述したハ
ッシュ関数を用いると、それぞれ「0」、「0」、
「1」、「1」、「0」になる。
【0089】したがって、データブロックアドレス
「0」がデータ記録要求されると、そのハッシュ値が
「0」なので、最初にパラメータ識別情報PIの値が
「0」のブロック管理パラメータBMP0が選択され
る。この場合、このブロック管理パラメータBMP0の
ステータス情報には、「データなし」がセットされてい
るので、このブロック管理パラメータBMP0が選択さ
れ、そのデータブロックアドレスDBAに「0」がセッ
トされるとともに、ステータス情報には「未書き込み」
がセットされ、次パラメータ管理情報NPIには「チェ
イン終端」がセットされ、ホスト装置IDにはそのとき
のホスト装置のIDがセットされるとともに、パラメー
タ識別情報PIの値に「0」がセットされているバッフ
ァ管理パラメータFMP0からキャッシュブロックアド
レスCBA(この場合は「0」)を取り出し、そのキャ
ッシュブロックアドレスCBAのキャッシュブロック
に、そのときに受け取ったデータブロックのデータを格
納する。
【0090】次いで、データブロックアドレス「5」が
データ記録要求されると、そのハッシュ値が「0」なの
で、初めはブロック管理パラメータBMP0が選択され
るが、このときには、ブロック管理パラメータBMP0
のステータス情報に「未書き込み」がセットされている
ので、使用済みであることがわかり、また、ブロック管
理パラメータBMP0の次パラメータ識別情報NPIに
は「チェイン終端」データがセットされているので、こ
のブロック管理パラメータBMP0がチェインの最後で
あることがわかる。
【0091】そこで、この場合は、ステータス情報が
「データなし」になっている適宜なブロック管理パラメ
ータBMPを探す。このとき、パラメータ識別情報PI
が「1」のブロック管理パラメータBMP1が選択され
たとすると、そのデータブロックアドレスDBAに
「5」がセットされるとともに、ステータス情報には
「未書き込み」がセットされ、次パラメータ管理情報N
PIには「チェイン終端」がセットされ、ホスト装置I
Dにはそのときのホスト装置のIDがセットされるとと
もに、パラメータ識別情報PIの値に「1」がセットさ
れているバッファ管理パラメータFMP1からキャッシ
ュブロックアドレスCBA(この場合は「1」)を取り
出し、そのキャッシュブロックアドレスCBAのキャッ
シュブロックに、そのときに受け取ったデータブロック
のデータを格納する。また、そのときのチェインの1つ
前のブロック管理パラメータBMP、すなわち、この場
合にはブロック管理パラメータBMP0の次パラメータ
識別情報NPIに、このときに新たに見つけたブロック
管理パラメータBMP1のパラメータ識別情報PIの値
「1」をセットする。
【0092】そして、データブロックアドレス「1」が
データ記録要求されると、そのハッシュ値が「1」なの
で、最初にはブロック管理パラメータBMP1が選択さ
れるが、このときには、ブロック管理パラメータBMP
1のステータス情報に「未書き込み」がセットされてい
るので、使用済みであることがわかり、次に、次パラメ
ータ識別情報NPIの内容を調べる。このときには、次
パラメータ識別情報NPIには、「1」がセットされて
いるので、この次パラメータ識別情報NPIのブロック
管理パラメータBMP1に移る。
【0093】このとき、ブロック管理パラメータBMP
1の次パラメータ識別情報NPIには「チェイン終端」
データがセットされているので、このブロック管理パラ
メータBMP1がチェイン終端であることがわかる。
【0094】そこで、この場合は、ステータス情報が
「データなし」になっている適宜なブロック管理パラメ
ータBMPを探す。このとき、パラメータ識別情報PI
が「2」のブロック管理パラメータBMP2が選択され
たとすると、そのデータブロックアドレスDBAに
「1」がセットされるとともに、ステータス情報には
「未書き込み」がセットされ、次パラメータ管理情報N
PIには「チェイン終端」がセットされ、ホスト装置I
Dにはそのときのホスト装置のIDがセットされるとと
もに、パラメータ識別情報PIの値に「2」がセットさ
れているバッファ管理パラメータFMP2からキャッシ
ュブロックアドレスCBA(この場合は「2」)を取り
出し、そのキャッシュブロックアドレスCBAのキャッ
シュブロックに、そのときに受け取ったデータブロック
のデータを格納する。また、そのときのチェインの1つ
前のブロック管理パラメータBMP、すなわち、この場
合にはブロック管理パラメータBMP1の次パラメータ
識別情報NPIに、このときに新たに見つけたブロック
管理パラメータBMP2のパラメータ識別情報PIの値
「2」をセットする。
【0095】次いで、データブロックアドレス「6」が
データ記録要求されると、そのハッシュ値が「1」なの
で、最初にはブロック管理パラメータBMP1が選択さ
れるが、このときには、ブロック管理パラメータBMP
1のステータス情報に「未書き込み」がセットされてい
るので、使用済みであることがわかり、次に、次パラメ
ータ識別情報NPIの内容を調べる。このときには、次
パラメータ識別情報NPIには、「2」がセットされて
いるので、この次パラメータ識別情報NPIのブロック
管理パラメータBMP2に移る。
【0096】このとき、ブロック管理パラメータBMP
2の次パラメータ識別情報NPIには「チェイン終端」
データがセットされているので、このブロック管理パラ
メータBMP2がチェイン終端であることがわかる。
【0097】そこで、この場合は、ステータス情報が
「データなし」になっている適宜なブロック管理パラメ
ータBMPを探す。このとき、パラメータ識別情報PI
が「3」のブロック管理パラメータBMP3が選択され
たとすると、そのデータブロックアドレスDBAに
「6」がセットされるとともに、ステータス情報には
「未書き込み」がセットされ、次パラメータ管理情報N
PIには「チェイン終端」がセットされ、ホスト装置I
Dにはそのときのホスト装置のIDがセットされるとと
もに、パラメータ識別情報PIの値に「3」がセットさ
れているバッファ管理パラメータFMP3からキャッシ
ュブロックアドレスCBA(この場合は「3」)を取り
出し、そのキャッシュブロックアドレスCBAのキャッ
シュブロックに、そのときに受け取ったデータブロック
のデータを格納する。また、そのときのチェインの1つ
前のブロック管理パラメータBMP、すなわち、この場
合にはブロック管理パラメータBMP2の次パラメータ
識別情報NPIに、このときに新たに見つけたブロック
管理パラメータBMP2のパラメータ識別情報PIの値
「3」をセットする。
【0098】次いで、データブロックアドレス「10」
がデータ記録要求されると、そのハッシュ値が「0」な
ので、最初にはブロック管理パラメータBMP0が選択
されるが、このときには、ブロック管理パラメータBM
P0のステータス情報に「未書き込み」がセットされて
いるので、使用済みであることがわかり、次に、次パラ
メータ識別情報NPIの内容を調べる。このときには、
次パラメータ識別情報NPIには、「1」がセットされ
ているので、この次パラメータ識別情報NPIのブロッ
ク管理パラメータBMP1に移る。
【0099】このとき、ブロック管理パラメータBMP
1の次パラメータ識別情報NPIには、「2」がセット
されているので、この次パラメータ識別情報NPIのブ
ロック管理パラメータBMP2に移る。また、ブロック
管理パラメータBMP2の次パラメータ識別情報NPI
には、「3」がセットされているので、この次パラメー
タ識別情報NPIのブロック管理パラメータBMP3に
移る。
【0100】このブロック管理パラメータBMP3の次
パラメータ識別情報NPIには「チェイン終端」データ
がセットされているので、このブロック管理パラメータ
BMP3がチェイン終端であることがわかる。
【0101】そこで、この場合は、ステータス情報が
「データなし」になっている適宜なブロック管理パラメ
ータBMPを探す。このときには、残りのパラメータ識
別情報PIが「4」のブロック管理パラメータBMP4
が選択される。
【0102】そして、このブロック管理パラメータBM
P4のデータブロックアドレスDBAに「10」がセッ
トされるとともに、ステータス情報には「未書き込み」
がセットされ、次パラメータ管理情報NPIには「チェ
イン終端」がセットされ、ホスト装置IDにはそのとき
のホスト装置のIDがセットされるとともに、パラメー
タ識別情報PIの値に「4」がセットされているバッフ
ァ管理パラメータFMP4からキャッシュブロックアド
レスCBA(この場合は「4」)を取り出し、そのキャ
ッシュブロックアドレスCBAのキャッシュブロック
に、そのときに受け取ったデータブロックのデータを格
納する。また、そのときのチェインの1つ前のブロック
管理パラメータBMP、すなわち、この場合にはブロッ
ク管理パラメータBMP3の次パラメータ識別情報NP
Iに、このときに新たに見つけたブロック管理パラメー
タBMP4のパラメータ識別情報PIの値「4」をセッ
トする。
【0103】このようにして、データブロックアドレス
「0」、「5」、「1」、「6」、「10」のデータが
順次キャッシュバッファ4に格納終了されると、その時
点でのブロック管理テーブルBMT、ファイル管理テー
ブルFMTおよびLRUテーブルLRUTの内容は、そ
れぞれ図14(a)に示すような状態になる。
【0104】この状態から、例えば、新しいデータ記録
命令などを受け取った場合で、最も古いブロックデータ
であるデータブロックアドレス「0」を削除する場合
は、次のような動作となる。
【0105】まず、LRUテーブルLRUTの最も若い
番号のデータブロックアドレス(この場合は「0」)を
取り出すと、その取り出した内容を消去して、2番目以
降のデータブロックアドレスを順次1つ若い番号方向に
移動する。
【0106】次いで、そのデータブロックアドレス
「0」に対応したハッシュ値を求める。この場合、ハッ
シュ値が「0」になるので、パラメータ識別情報PIが
「0」のブロック管理パラメータBMP0から始まるチ
ェインを調べて、ブロックデータドレス「0」がセット
されているブロック管理パラメータBMPを見つける。
この場合には、ブロック管理パラメータBMP0が探し
出される。
【0107】そして、ブロック管理パラメータBMP0
のステータス情報を調べ、その内容が「未書込」になっ
ているときには、そのブロック管理パラメータBMP0
のパラメータ識別番号PIがセットされているバッファ
管理パラメータFMPを探す。この場合は、バッファ管
理パラメータFMP0が探し出される。
【0108】次に、そのバッファ管理パラメータFMP
0のキャッシュブロックアドレスCBA(この場合は
「0」)を取り出し、そのキャッシュブロックアドレス
CBAからデータを取り出し、そのブロックデータをデ
ータブロックアドレス「0」の光磁気ディスクに書き込
む。
【0109】次に、ブロック管理パラメータBMP0の
ステータス情報に「データなし」をセットし、それによ
り、データブロックアドレス「0」のデータブロックが
キャッシュバッファ4より削除される。
【0110】この時点でのブロック管理テーブルBM
T、ファイル管理テーブルFMTおよびLRUテーブル
LRUTの内容は、それぞれ図14(b)に示すような
状態になる。ただし、LRUテーブルLRUTの内容
は、既に同図(c)の状態に変化している。
【0111】次に、ブロック管理パラメータBMPのチ
ェインを更新する。
【0112】まず、ブロック管理パラメータBMP0の
次パラメータ識別情報NPIの内容を調べて、チェイン
されているブロック管理パラメータBMPがあるかどう
かを調べる。この場合、次パラメータ識別情報NPIに
は「1」がセットされているので、ブロック管理パラメ
ータBMP1のデータブロックアドレスDBAの内容、
ステータス情報の内容、および、ホスト装置IDの内容
を、それぞれブロック管理パラメータBMP0のデータ
ブロックアドレスDBA、ステータス情報、および、ホ
スト装置IDにセットした後に、ブロック管理パラメー
タBMP1のステータス情報に「データなし」をセット
する。また、ブロック管理パラメータBMP0に対応し
ていたファイル管理パラメータFMP0と、ブロック管
理パラメータBMP1に対応していたファイル管理パラ
メータFMP1で、相互にキャッシュブロックアドレス
CBAの値を交換する。
【0113】そして、新しくセットしたデータブロック
アドレスDBAのハッシュ値を算出し、その値が、ブロ
ック管理パラメータBMP0のパラメータ識別情報PI
に一致するかどうかを調べる。この場合は一致するの
で、ブロック管理パラメータBMP0は、ハッシュ値
「0」から始まるブロック管理パラメータBMP0のチ
ェインの先頭になり、この場合には、次パラメータ識別
情報NPIにチェイン終端をあらわすデータをセットす
る。
【0114】この時点でのブロック管理テーブルBM
T、ファイル管理テーブルFMTおよびLRUテーブル
LRUTの内容は、それぞれ図14(c)に示すような
状態になる。
【0115】次いで、ブロック管理パラメータBMP1
の次パラメータ番号NPIに有効なパラメータ識別情報
がセットされているかどうかを調べる。この場合には、
値「2」がセットされているので、次に、ブロック管理
パラメータBMP2についてチェインの更新処理を適用
する。
【0116】すなわち、ブロック管理パラメータBMP
2のデータブロックアドレスDBA(この場合は
「1」)を取り出してそのハッシュ値を算出する。その
ハッシュ値(この場合は「1」)のパラメータ識別情報
PIがセットされているブロック管理パラメータBMP
1のステータス情報に「データなし」がセットされてい
るかどうかを調べる。
【0117】この場合には、ブロック管理パラメータB
MP1のステータス情報に「データなし」がセットされ
ているので、ブロック管理パラメータBMP2のデータ
ブロックアドレスDBAの内容、ステータス情報の内
容、および、ホスト装置IDの内容を、それぞれブロッ
ク管理パラメータBMP2のデータブロックアドレスD
BA、ステータス情報、および、ホスト装置IDにセッ
トした後に、ブロック管理パラメータBMP2のステー
タス情報に「データなし」をセットし、さらに、ブロッ
ク管理パラメータBMP1の次パラメータ識別情報NP
Iにチェイン終端をあらわすデータをセットする。
【0118】また、ブロック管理パラメータBMP2に
対応していたファイル管理パラメータFMP2と、ブロ
ック管理パラメータBMP1に対応していたファイル管
理パラメータFMP1で、相互にキャッシュブロックア
ドレスCBAの値を交換する。
【0119】この時点でのブロック管理テーブルBM
T、ファイル管理テーブルFMTおよびLRUテーブル
LRUTの内容は、それぞれ図15(a)に示すような
状態になる。
【0120】それ以降、残りのブロック管理パラメータ
BMPについて同様の処理が繰り返し行われ、ブロック
管理テーブルBMT、ファイル管理テーブルFMTおよ
びLRUテーブルLRUTの内容が、順次図15
(b),(c)に示すように変化して、1つのデータブ
ロックをキャッシュバッファ4から消去したときの一連
の処理が終了する。
【0121】なお、この場合、データブロックアドレス
「6」は、ハッシュ値が「1」なのでブロック管理パラ
メータBMPを移動せず、ブロック管理パラメータBM
P1から始まるチェインに接続される。また、データブ
ロックアドレス「10」は、ハッシュ値が「0」なの
で、ブロック管理パラメータBMP2に移動する。
【0122】以上説明したように、本実施例によれば、
ハッシュ関数を利用してキャッシュバッファのアドレス
の割り当てを管理するので、高速なキャッシュアクセス
が可能となる。また、LRUを用いてキャッシュブロッ
クの管理を行っているので、効率のよいキャッシュ制御
が可能となり、データアクセス速度を向上することがで
きる。
【0123】ところで、上述した実施例では、データブ
ロック単位にデータアクセスされる場合について説明し
たが、ホスト装置が適用するオペレーティングシステム
等によっては、図16(a)に示すように、複数のデー
タブロックをまとめてなる集約データブロック単位に、
外部記憶装置にデータを記憶する場合がある。かかる場
合に適用できる本発明にかかる他の実施例について次に
説明する。なお、この実施例では、図1および図2と同
様な構成を適用する。
【0124】この場合には、キャッシュバッファ4のお
のおののキャッシュブロックを、図16(b)に示した
ように、1つの集約データブロックを格納できるように
構成する。すなわち、あるデータブロックは、そのデー
タブロックが含まれる集約データブロックのキャッシュ
ブロックに格納されるとともに、その格納位置は、集約
データブロックにおけるデータブロックのアドレスに対
応した位置となる。
【0125】また、この場合のブロック管理パラメータ
は、同図(c)に示すように、おのおののブロック管理
パラメータを識別するためのパラメータ識別情報(I
D)PI、このブロック管理パラメータが対応している
集約データブロックのアドレスをあらわす集約データブ
ロックアドレスCDBA、同一のハッシュ値をもつ集約
データブロックアドレスCDBAを管理しているブロッ
ク管理パラメータBMPのチェインを形成するための次
パラメータ識別情報NPI、このブロック管理パラメー
タが対応しているキャッシュブロックの状態(光磁気デ
ィスクに書込済、未書込、データなし等)をあらわす集
約データブロックステータス情報、および、このブロッ
ク管理パラメータが対応しているデータブロックを生成
したホスト装置をあらわすホスト装置IDからなる。
【0126】また、集約データブロックステータス情報
は、同図(d)に示すように、おのおのの部分キャッシ
ュブロックに格納したデータブロック毎のブロックステ
ータス情報からなう。
【0127】この場合のデータ記録処理の一例を図17
および図18に示す。なお、この場合のそのほかの処理
は、既に述べた実施例と同様の処理を適用することがで
きる。
【0128】まず、データ記録命令で通知された1つの
集約データブロックから1つのデータブロックを選択し
(処理801)、通知された集約データブロックのアド
レスに基づいて、所定のハッシュ関数を演算し、ハッシ
ュ値を得る(処理802)。この場合、ハッシュ関数
は、集約データブロックアドレスをキャッシュブロック
の数mで割ったときの商を求める関数である。
【0129】そして、ブロック管理テーブルBMTのブ
ロック管理パラメータBMPを参照して、そのハッシュ
値と同じ値のキャッシュブロックアドレスCBAの部分
キャッシュブロックが空いているかどうかを調べる(判
断803)。
【0130】判断803の結果がYESになるときに
は、ハッシュ値のパラメータ識別情報PIがセットされ
ているバッファ管理パラメータFMPを見つけ、そのバ
ッファ管理パラメータFMPにセットされているキャッ
シュブロックアドレスCBAの、対応する部分キャッシ
ュブロックに、そのときに受け取ったデータブロックの
データを格納する(処理804)。
【0131】そして、ハッシュ値のパラメータ識別情報
PIがセットされているブロック管理パラメータBMP
に、そのときに格納したデータブロックの集約ブロック
アドレスをセットし、次パラメータ識別情報NPIにチ
ェインの最後をあらわすデータをセットし、ステータス
情報として「未書込」をセットするとともに(処理80
5)、そのときのデータ記録命令に付加されていたコマ
ンド発行元をあらわすIDを、ホスト装置IDにセット
する(処理806)。
【0132】次いで、LRUテーブルLRUTにデータ
ブロックアドレスを追加するために、LRUテーブル更
新処理(処理807)を実行して、データ記録動作を終
了する。
【0133】判断803の結果がNOになるときには、
キャッシュバッファ4に空き領域があるかどうかを調べ
る(判断809)。判断809の結果がYESになると
きには、キャッシュバッファ4の空き領域の対応する部
分キャッシュブロックに、そのときに受け取ったデータ
ブロックのデータを格納する(処理811)。
【0134】次に、ステータス情報に「データなし」が
セットされているブロック管理パラメータBMPを見つ
け、そのブロック管理パラメータBMPの集約データブ
ロックアドレスCDBAにそのときに格納したデータブ
ロックの集約ブロックアドレスをセットし、次パラメー
タ識別情報NPIにチェインの最後をあらわすデータを
セットし、ステータス情報として「未書込」をセットす
るとともに、そのブロック管理パラメータBMPを、こ
の場合のブロック管理パラメータBMPのチェインの最
後に追加する(処理812)。それとともに、そのとき
にデータブロックのデータを格納したキャッシュバッフ
ァ4の空き領域のキャッシュバッファアドレスCBA
を、新たに見つけたブロック管理パラメータBMPのパ
ラメータ識別情報PIがセットされているバッファ管理
パラメータFMPのキャッシュバッファアドレスにセッ
トする。
【0135】そして、そのときのデータ記録命令に付加
されていたコマンド発行元をあらわすIDを、新たに見
つけたブロック管理パラメータBMPのホスト装置ID
にセットし(処理803)、LRUテーブルLRUTに
データブロックアドレスを追加するために、LRUテー
ブル更新処理(処理814)を実行して、データ記録動
作を終了する。
【0136】また、判断809の結果がNOになるとき
には、LRUテーブルLRUTを参照して、最も古い時
期にアクセスされたキャッシュブロックを判定し(処理
815)、そのキャッシュブロックに格納されているデ
ータブロックが光磁気ディスクに書き込み済であるかど
うかを調べる(判断816)。
【0137】判断816の結果がNOになるときには、
そのときに見つけたブロック管理パラメータBMPの集
約データブロックアドレスCDBAを書込アドレスに指
定して、そのときに判定したキャッシュブロックのデー
タを記録再生制御部5に転送し、その集約データブロッ
クを、光磁気ディスクの指定された集約データブロック
アドレスCDBAに書き込む(処理817)。
【0138】ここで、データ記録時にエラーが発生した
ことが記録再生制御部5から通知された場合には(判断
818の結果がYES)、そのときに見つけたブロック
管理パラメータBMPのホスト装置IDのホスト装置に
対して、データ記録エラーが発生したことを通知する
(処理819,820)。
【0139】そして、LRUテーブルLRUTからデー
タブロックアドレスを削除するために、LRUテーブル
更新処理(処理821)を実行し、そのときに見つけた
ブロック管理パラメータBMPのチェインを更新するた
めにブロック管理パラメータ更新処理(処理822)を
実行して、データ記録動作を終了する。
【0140】また、判断816の結果がYESになる場
合と、判断818の結果がNOになる場合には、即処理
821に移行し、LRUテーブルLRUTからデータブ
ロックアドレスを削除するとともに、ブロック管理パラ
メータBMPのチェインを更新して、データ記録動作を
終了する。
【0141】なお、上述した実施例では、光磁気ディス
ク装置について本発明を適用したが、それ以外の情報記
憶装置についても、本発明を同様にして適用することが
できる。
【0142】また、ハッシュ関数は、上述したもの以外
のものも適用することができる。
【0143】
【発明の効果】以上説明したように、本発明によれば、
データブロックアドレスにハッシュ関数を適用してハッ
シュ値を算出し、そのハッシュ値を用いてキャッシュブ
ロックを指定するので、キャッシュ制御を高速に行うこ
とができ、データアクセス時間を短縮することができる
という効果を得る。
【0144】また、データブロック毎にブロック管理パ
ラメータを設けてキャッシュ制御を管理するので、デー
タの検索が容易であり、高速なデータアクセスが可能と
なるという効果を得る。
【0145】また、LRU方式によるキャッシュ管理を
行うので、効率のよいデータアクセスが可能となり、高
速なデータアクセスを実現することができるという効果
も得る。
【0146】また、ブロック管理パラメータのチェイン
を、キャッシュからデータを削除する度に更新している
ので、チェインが長くなるような事態を防止でき、その
結果、データアクセスを高速に行えるという効果を得
る。
【0147】また、バッファ管理パラメータを設けて、
このバッファ管理パラメータを参照してデータアクセス
するので、ブロック管理パラメータのチェインを更新し
たときには、バッファ管理パラメータの内容を書き換え
るだけで、実際にキャッシュバッファの内容を書き換え
る必要がないので、効率のよいデータアクセスが可能と
なり、データアクセス時間を大幅に短縮できるという効
果も得る。
【0148】また、記憶媒体にデータを書き込むときに
エラーを生じたときには、その旨を、そのデータを記録
するように指令した外部装置に通知するので、外部装置
のユーザは、その旨を知ることができ、その後のデータ
処理を迅速に行うことができるという効果も得る。
【図面の簡単な説明】
【図1】本発明の一実施例にかかる光磁気ディスク装置
を示したブロック図。
【図2】キャッシュバッファの一例を示した概略図。
【図3】ブロック管理パラメータの一例を示した概略
図。
【図4】アイドル状態(待機状態)での処理例を示した
フローチャート。
【図5】データ記録処理の一例の一部を示したフローチ
ャート。
【図6】データ記録処理の一例の他の部分を示したフロ
ーチャート。
【図7】LRUテーブル更新処理の一例を示したフロー
チャート。
【図8】ブロック管理パラメータ更新処理の一例を示し
たフローチャート。
【図9】データ読出処理の一例の一部を示したフローチ
ャート。
【図10】データ読出処理の一例の別の部分を示したフ
ローチャート。
【図11】データ読出処理の一例の残りの部分を示した
フローチャート。
【図12】イジェクト処理の一例を示したフローチャー
ト。
【図13】アイドル時の記録処理の一例を示したフロー
チャート。
【図14】ブロック管理テーブルBMT、ファイル管理
テーブルFMTおよびLRUテーブルLRUTの内容の
変化の一例の一部を示した概略図。
【図15】ブロック管理テーブルBMT、ファイル管理
テーブルFMTおよびLRUテーブルLRUTの内容の
変化の一例の他の部分を示した概略図。
【図16】集約データブロックにかかる種々の情報の一
例を示した概略図。
【図17】データ記録処理の他の例の一部を示したフロ
ーチャート。
【図18】データ記録処理の他の例の他の部分を示した
フローチャート。
【符号の説明】
1 CPU(中央処理装置) 2 ROM(リード・オンリ・メモリ) 3 RAM(ランダム・オンリ・メモリ) 4 キャッシュバッファ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 外部装置との間でやりとりする記録再生
    データを一時格納するためのキャッシュバッファを備え
    た情報記憶装置において、 記録再生データのブロックアドレスに基づいて所定のハ
    ッシュ関数を適用し、その結果得たハッシュ値を用いて
    上記記録再生データを格納するキャッシュバッファのア
    ドレスを算出するキャッシュアドレス演算手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスと上記記録再生データのブロックア
    ドレスとの関係をあらわすブロック管理パラメータを記
    憶した記憶手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスに上記記録再生データを格納するデ
    ータ格納手段を備えたことを特徴とする情報記憶装置。
  2. 【請求項2】 外部装置との間でやりとりする記録再生
    データを一時格納するためのキャッシュバッファを備え
    た情報記憶装置において、 記録再生データのブロックアドレスに基づいて所定のハ
    ッシュ関数を適用し、その結果得たハッシュ値を用いて
    上記記録再生データを格納するキャッシュバッファのア
    ドレスを算出するキャッシュアドレス演算手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスと上記記録再生データのブロックア
    ドレスとの関係をあらわすブロック管理パラメータを記
    憶した記憶手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスに上記記録再生データを格納するデ
    ータ格納手段と、 上記キャッシュバッファに格納された記録再生データの
    アクセス順にそのアドレスを記憶するLRUテーブルを
    備え、 上記キャッシュバッファから記録再生データを削除する
    ときには、上記LRUテーブルの記憶内容に基づき最も
    古くアクセスされたアドレスの記録再生データを選択し
    て削除することを特徴とする情報記憶装置。
  3. 【請求項3】 外部装置との間でやりとりする記録再生
    データを一時格納するためのキャッシュバッファを備え
    た情報記憶装置において、 記録再生データのブロックアドレスに基づいて所定のハ
    ッシュ関数を適用し、それによって得たハッシュ値が同
    一の記録再生データについてはキャッシュバッファの空
    き領域に格納するように上記記録再生データを格納する
    キャッシュバッファのアドレスアドレスを算出するとと
    もに、同一ハッシュ値の記録再生データのアドレスのチ
    ェインを形成するキャッシュアドレス演算手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスと上記記録再生データのブロックア
    ドレスとの関係および上記記録再生データのアドレスの
    チェイン態様をあらわすブロック管理パラメータを記憶
    した記憶手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスに上記記録再生データを格納するデ
    ータ格納手段と、 上記キャッシュバッファに格納された記録再生データの
    アクセス順にそのアドレスを記憶するLRUテーブルを
    備え、 上記キャッシュバッファからデータを削除するときに
    は、上記LRUテーブルの記憶内容に基づき最も古くア
    クセスされたアドレスの記録再生データを選択して削除
    するとともに、その削除した記録再生データのアドレス
    が上記アドレスのチェインに含まれているときには、そ
    のアドレスのチェインを再構成し、その再構成に対応し
    て上記ブロック管理パラメータの内容を更新することを
    特徴とする情報記憶装置。
  4. 【請求項4】 外部装置との間でやりとりする記録再生
    データを一時格納するためのキャッシュバッファを備え
    た情報記憶装置において、 記録再生データのブロックアドレスに基づいて所定のハ
    ッシュ関数を適用し、それによって得たハッシュ値が同
    一の記録再生データについてはキャッシュバッファの空
    き領域に格納するように上記記録再生データを格納する
    キャッシュバッファのアドレスアドレスを算出するとと
    もに、同一ハッシュ値の記録再生データのアドレスのチ
    ェインを形成するキャッシュアドレス演算手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスと上記記録再生データのブロックア
    ドレスとの関係および上記記録再生データのアドレスの
    チェイン態様をあらわすブロック管理パラメータ、およ
    び、上記キャッシュバッファのアドレスと上記ブロック
    管理パラメータとの対応関係をあらわすバッファ管理パ
    ラメータを記憶した記憶手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスに上記記録再生データを格納するデ
    ータ格納手段と、 上記キャッシュバッファに格納された記録再生データの
    アクセス順にそのアドレスを記憶するLRUテーブルと
    を備え、 上記キャッシュバッファからデータを削除するときに
    は、上記LRUテーブルの記憶内容に基づき最も古くア
    クセスされたアドレスの記録再生データを選択して削除
    するとともに、その削除した記録再生データのアドレス
    が上記アドレスのチェインに含まれているときには、そ
    のアドレスのチェインを再構成し、その再構成に対応し
    て上記ブロック管理パラメータおよびバッファ管理パラ
    メータの内容を更新することを特徴とする情報記憶装
    置。
  5. 【請求項5】 外部装置との間で、所定数のブロックデ
    ータからなる集約ブロック単位に記録再生データをやり
    とりするとともに、その記録再生データを上記集約ブロ
    ック単位に一時格納するためのキャッシュバッファを備
    えた情報記憶装置において、 記録再生データのブロックアドレスに基づいて所定のハ
    ッシュ関数を適用し、その結果得たハッシュ値を用いて
    上記記録再生データを格納するキャッシュバッファのア
    ドレスを算出するキャッシュアドレス演算手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスと上記記録再生データのブロックア
    ドレスとの関係をあらわすブロック管理パラメータを記
    憶した記憶手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスに上記記録再生データを格納するデ
    ータ格納手段を備えたことを特徴とする情報記憶装置。
  6. 【請求項6】 複数の外部装置に接続されるとともに、
    それらの外部装置との間でやりとりする記録再生データ
    を一時格納するためのキャッシュバッファを備えた情報
    記憶装置において、 記録再生データのブロックアドレスに基づいて所定のハ
    ッシュ関数を適用し、その結果得たハッシュ値を用いて
    上記記録再生データを格納するキャッシュバッファのア
    ドレスを算出するキャッシュアドレス演算手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスと上記記録再生データのブロックア
    ドレスとの関係および上記記録再生データを処理する上
    記外部装置の識別情報をあらわすブロック管理パラメー
    タを記憶した記憶手段と、 上記キャッシュアドレス演算手段が算出したキャッシュ
    バッファのアドレスに上記記録再生データを格納するデ
    ータ格納手段を備え、 上記記録再生データを記憶媒体に記録するときにエラー
    が発生すると、その記録再生データに対応した上記ブロ
    ック管理パラメータの識別情報に対応した外部装置にそ
    の旨を通知することを特徴とする情報記憶装置。
JP7206719A 1995-07-21 1995-07-21 情報記憶装置 Pending JPH0934791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7206719A JPH0934791A (ja) 1995-07-21 1995-07-21 情報記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7206719A JPH0934791A (ja) 1995-07-21 1995-07-21 情報記憶装置

Publications (1)

Publication Number Publication Date
JPH0934791A true JPH0934791A (ja) 1997-02-07

Family

ID=16527980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7206719A Pending JPH0934791A (ja) 1995-07-21 1995-07-21 情報記憶装置

Country Status (1)

Country Link
JP (1) JPH0934791A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269420B1 (en) * 1997-12-12 2001-07-31 Olympus Optical Co., Ltd. Information recording/reproducing apparatus reducing disk access frequency to file management area and sharply accelerating record processing and reproduction processing
US7900020B2 (en) * 2005-04-14 2011-03-01 Arm Limited Correction of incorrect cache accesses
CN103294610A (zh) * 2012-01-26 2013-09-11 阿普赛尔有限公司 可重复使用的内容可寻址存储
US8830247B2 (en) 2006-05-24 2014-09-09 Nec Display Solutions, Ltd. Image displaying device having image cache memory
US9009403B2 (en) 2012-07-27 2015-04-14 International Business Machines Corporation Multi-updatable least recently used mechanism
US9176871B1 (en) 2012-01-26 2015-11-03 Upthere, Inc. Garbage collection of chunks

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269420B1 (en) * 1997-12-12 2001-07-31 Olympus Optical Co., Ltd. Information recording/reproducing apparatus reducing disk access frequency to file management area and sharply accelerating record processing and reproduction processing
US7900020B2 (en) * 2005-04-14 2011-03-01 Arm Limited Correction of incorrect cache accesses
US8830247B2 (en) 2006-05-24 2014-09-09 Nec Display Solutions, Ltd. Image displaying device having image cache memory
CN103294610A (zh) * 2012-01-26 2013-09-11 阿普赛尔有限公司 可重复使用的内容可寻址存储
US9176871B1 (en) 2012-01-26 2015-11-03 Upthere, Inc. Garbage collection of chunks
US9207866B2 (en) 2012-01-26 2015-12-08 Upthere, Inc. Chunk-level client side encryption in hierarchical content addressable storage systems
US9411749B2 (en) 2012-01-26 2016-08-09 Upthere, Inc. Chunk-level client side encryption in hierarchical content addressable storage systems
US9009403B2 (en) 2012-07-27 2015-04-14 International Business Machines Corporation Multi-updatable least recently used mechanism
US9009401B2 (en) 2012-07-27 2015-04-14 International Business Machines Corporation Multi-updatable least recently used mechanism

Similar Documents

Publication Publication Date Title
US5218685A (en) System for write once read many optical storage devices to appear rewritable
CA1303747C (en) Method of rapidly opening disk files identified by path names
US5418929A (en) Controller for storage unit and method of controlling storage unit
JP4257834B2 (ja) 磁気ディスク装置、ファイル管理システム及びその方法
JP4163461B2 (ja) キャッシュ・バッファ制御方法及び制御装置
EP0077453A2 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
US20070174550A1 (en) Data area managing method in information recording medium and information processor employing data area managing method
JP2001147855A (ja) 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
JPH11175381A (ja) 情報記録再生装置
JPH0934791A (ja) 情報記憶装置
JP2003296152A (ja) Hsmシステムおよび同システムのマイグレーション制御方法
US6532513B1 (en) Information recording and reproduction apparatus
JPH08137754A (ja) ディスクキャッシュ装置
TWI755168B (zh) 用來產生基於主機的快取資訊或基於快閃記憶體的快取資訊以建立及最佳化二元樹的快閃記憶體控制器、方法及記憶裝置
JP3969809B2 (ja) 記憶装置におけるデータバッファの管理方法
JP4506292B2 (ja) キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
JP3111912B2 (ja) ディスクキャッシュ制御方式
JP2000285022A (ja) ディスク制御装置
JP3435176B2 (ja) 磁気ディスク装置
JP3539802B2 (ja) 情報記憶装置
JP2681986B2 (ja) 計算機システム
JPH05258585A (ja) ファイル装置
JP3083530B2 (ja) キャッシュメモリのデータ管理方法およびキャッシュ制御装置
JP3468762B2 (ja) データローディング方法および装置
JPH06131260A (ja) 記憶装置の制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040615