(57)【特許請求の範囲】
【請求項１】
外部装置との間でやりとりする記録再生データを一時格納するためのキャッシュバッファを備えた情報記憶装置において、
前記外部装置から複数の記録命令を受け取るとともに、その受け取った一記録命令毎に、記録命令で指定された記憶媒体の記録領域が前記キャッシュバッファに格納されているデータに指定されている記録領域と連続するかどうか調べ、
連続する場合には、その受け取った記録命令の記録データをキャッシュバッファに保存し、
連続しない場合には、前記キャッシュバッファに格納されているデータをそのデータに指定されている記録領域に記録した後、前記外部装置から受け取った記録命令の記録データを前記キャッシュバッファに保存し、
前記キャッシュバッファに保存した記録データを、前記外部装置から記録再生命令を入力していない空き時間に、指定された前記記憶媒体の記録領域に記録する制御手段を備えたことを特徴とする情報記憶装置。
【請求項２】
前記制御手段は、受け取った一記録命令毎に前記キャッシュバッファにデータが格納されているかどうか調べ、格納されていない場合には、その記録命令の記録データを前記キャッシュバッファに保存することを特徴とする請求項１記載の情報記憶装置。
【請求項３】
前記制御手段は、前記記録命令の記録データを前記キャッシュバッファに格納するたびに、その記録データについて指定されている記録アドレスを保存し、その保存した記録アドレスと前記外部装置から受け取った記録命令で指定された記録アドレスが連続しているかどうかを調べることにより、前記外部装置から受け取った記録命令に指定された記憶媒体の記録領域が前記キャッシュバッファに格納されているデータに指定されている記録領域と連続するかどうかを調べることを特徴とする請求項１または請求項２記載の情報記憶装置。
【請求項４】
前記制御手段は、前記外部装置から所定時間以上記録再生命令を受信しない場合に、前記キャッシュバッファに保存した記録データを、指定された記憶媒体の記録領域に記録することを特徴とする請求項１または請求項２または請求項３記載の情報記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部装置との間でやりとりする記録再生データを一時格納するためのキャッシュバッファを備えた情報記憶装置に関する。
【０００２】
【従来の技術】
一般に、磁気ディスク装置や光ディスク装置などの外部記憶装置では、記録媒体にデータを記録または再生するドライブ本体のアクセス速度が比較的低速であり、このアクセス速度を補うために、ドライブ本体とホスト装置との間でデータをやりとりするためのコントローラでは、いわゆるデータキャッシュ手段を備えている。
【０００３】
このようなデータキャッシュ手段を備えた装置としては、例えば、特開平６−２０８５０９号公報（「ディスクキャッシュ制御装置」）に開示されているもののように、不連続なデータブロックのみをキャッシュバッファ内に保持することで、データ記録速度が低速になる不連続データブロックについてのデータアクセス速度を向上できるようにしたものがある。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来装置には、外部記憶装置の記憶容量が大きい場合には、それに伴ってキャッシュバッファのデータ容量を大きくしないと、キャッシュヒット率が低下し、そのために装置コストが大きくなるという不都合を生じる。
【０００５】
また、ホスト装置に搭載されているオペレーティングシステムによっては、不連続データを再配置する機能を備えているため、かかる従来装置のようなキャッシュ効果が発揮されないという不都合も生じる。
【０００６】
本発明は、かかる実情に鑑みてなされたものであり、データ記録時の処理時間を短縮することができる情報記憶装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】
本発明は、外部装置との間でやりとりする記録再生データを一時格納するためのキャッシュバッファを備えた情報記憶装置において、前記外部装置から複数の記録命令を受け取るとともに、その受け取った一記録命令毎に、記録命令で指定された記憶媒体の記録領域が前記キャッシュバッファに格納されているデータに指定されている記録領域と連続するかどうか調べ、連続する場合には、その受け取った記録命令の記録データをキャッシュバッファに保存し、連続しない場合には、前記キャッシュバッファに格納されているデータをそのデータに指定されている記録領域に記録した後、前記外部装置から受け取った記録命令の記録データを前記キャッシュバッファに保存し、前記キャッシュバッファに保存した記録データを、前記外部装置から記録再生命令を入力していない空き時間に、指定された前記記憶媒体の記録領域に記録する制御手段を備えたものである。
【０００８】
また、前記制御手段は、受け取った一記録命令毎に前記キャッシュバッファにデータが格納されているかどうか調べ、格納されていない場合には、その記録命令の記録データを前記キャッシュバッファに保存するものである。
【０００９】
また、前記制御手段は、前記記録命令の記録データを前記キャッシュバッファに格納するたびに、その記録データについて指定されている記録アドレスを保存し、その保存した記録アドレスと前記外部装置から受け取った記録命令で指定された記録アドレスが連続しているかどうかを調べることにより、前記外部装置から受け取った記録命令に指定された記憶媒体の記録領域が前記キャッシュバッファに格納されているデータに指定されている記録領域と連続するかどうかを調べるようにしたものである。
【００１０】
また、前記制御手段は、前記外部装置から所定時間以上記録再生命令を受信しない場合に、前記キャッシュバッファに保存した記録データを、指定された記憶媒体の記録領域に記録するようにしたものである。
【００１１】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施例を詳細に説明する。
【００１２】
図１は、本発明の一実施例にかかる光磁気ディスク装置を示している。
【００１３】
同図において、ＣＰＵ（中央処理装置）１は、この光磁気ディスク装置の各部の動作を制御するとともに、この光磁気ディスク装置を外部記憶装置として用いるホスト装置（例えば、パーソナルコンピュータ装置等（図示略））との間で種々のデータをやりとりするためのものであり、ＲＯＭ（リード・オンリ・メモリ）２は、ＣＰＵ１が実行する制御処理プログラムデータやその制御処理プログラムデータを実行するために必要な各種パラメータ等が記憶されたものであり、ＲＡＭ（ランダム・アクセス・メモリ）３は、ＣＰＵ１のワークエリア等を構成するものである。
【００１４】
キャッシュバッファ４は、記録データを一時的に保持して、所定のデータキャッシュ動作を行うためのものであり、記録再生制御部５は、光磁気ディスクドライブユニット６に対して、データの記録動作および再生動作を制御するものであり、光磁気ディスクドライブユニット６は、光磁気ディスク（記録媒体）にデータを記録再生するものである。
【００１５】
ホストインタフェース回路７は、ホスト装置に接続して、ホスト装置との間でデータのやりとりを行うためのものであり、例えば、ＳＣＳＩ等の一般的なインタフェース規格のものを用いることができる。
【００１６】
これらのＣＰＵ１、ＲＯＭ２、ＲＡＭ３、キャッシュバッファ４、記録再生制御部５、および、ホストインタフェース回路７は、内部バス８に接続されており、これらの各要素間のデータのやりとりは、主としてこの内部バス８を介して行われている。
【００１７】
また、図２に示すように、キャッシュバッファ４は、その内部が複数のキャッシュブロックに分割されており、おのおののキャッシュブロック単位にデータが記憶されるとともに、データが更新される。なお、おのおののキャッシュブロックは、所定のデータサイズ（例えば、６４ＫＢ（キロバイト；１ＫＢ＝１０２４（バイト）））に規定されている。
【００１８】
以上の構成で、ＣＰＵ１は、ホスト装置から１つのデータ記録命令を受け取ると、図３に示したようなデータ記録動作を行う。
【００１９】
まず、キャッシュバッファ４にデータが格納されているかどうかを調べ（判断１０１）、判断１０１の結果がＹＥＳになるときには、新たに受け取ったデータ記録命令で指定された記録アドレスが、キャッシュバッファ４に格納しているデータに指定されている記録アドレスと連続しているかどうかを調べ（判断１０２）、判断１０２の結果がＮＯになるときには、そのときにキャッシュバッファ４に格納されているデータを、そのデータに指定されている記録アドレスに記録するように、記録再生制御部５に指令する（処理１０３）。それにより、キャッシュバッファ４に格納されているデータが、指定された記録アドレスの光磁気ディスクの記憶領域に書き込まれる。
【００２０】
次いで、受け取ったデータ記録命令の記録データをキャッシュバッファ４の空き領域に格納し（処理１０４）、そのときに格納したデータについて指定されている記録アドレスを保存して（処理１０５）、１つのデータ記録命令に対する処理を終了する。これにより、ホスト装置から指令されたデータ記録命令が終了し、この光磁気ディスク装置のデータ記録動作が終了したことになる。
【００２１】
また、判断１０２の結果がＹＥＳになるときには、処理１０４に移行し、そのときに受け取ったデータ記録命令の記録データをキャッシュバッファ４の空き領域に格納する。これにより、連続する記録アドレスに記録する記録データは、キャッシュバッファ４に格納される。
【００２２】
また、判断１０１の結果がＮＯになるときには、処理１０４に移行し、そのときに受け取ったデータ記録命令の記録データをキャッシュバッファ４の空き領域に格納する。これにより、例えば、連続する記録アドレスに記録する記録データがホスト装置から転送されてくるとき、先頭の記録アドレスに記録する記録データがキャッシュバッファ４に格納される。
【００２３】
また、この場合、キャッシュバッファ４に格納された記録データは、図４の処理により光磁気ディスクに記録される。
【００２４】
すなわち、ホスト装置から所定時間Ｔ１以上、データ記録再生命令を受信しない状態であることを確認して（判断２０１のＮＯループ）、判断２０１の結果がＹＥＳになるときには、キャッシュバッファ４に記録データが格納されているかどうかを調べ（判断２０２）、判断２０２の結果がＹＥＳになるときには、キャッシュバッファ４に格納されている記録データを、その記録データに指定されている記録アドレスに記録するように、記録再生制御部５に指令する。それにより、キャッシュバッファ４に格納されている記録データが、指定された記録アドレスの光磁気ディスクの記憶領域に書き込まれる。
【００２５】
このようにして、本実施例では、ホスト装置から受信した記録データのうち、連続する記録アドレスに書き込むものについては、キャッシュバッファ４に格納して、装置が待機状態になっている期間に、キャッシュバッファ４に格納している記録データを一括して記録媒体に書き込むようにしているので、データ記録時のシーク動作が少なくなり、その結果、データ記録時の処理時間を大幅に短縮することができる。
【００２６】
また、データ記録命令を連続して受け取った場合で、それらの複数のデータ記録命令で連続する記録アドレスが指定されているときには、受け取った記録データをキャッシュバッファ４に格納した時点でデータ記録動作終了がホスト装置に通知されるので、連続する記録アドレスにデータ記録するときのデータ処理時間を大幅に短縮することができる。
【００２７】
図５は、ホスト装置から１つのデータ記録命令を受け取ったときにＣＰＵ１が実行するデータ記録動作の他の例を示している。
【００２８】
まず、新たに受け取ったデータ記録命令で指定された記録アドレスが、キャッシュバッファ４に格納しているデータに指定されている記録アドレスと連続しているかどうかを調べ（判断３０１）、判断３０１の結果がＹＥＳになるときには、受け取ったデータ記録命令の記録データをキャッシュバッファ４の空き領域に格納し（処理３０２）、そのときに格納したデータについて指定されている記録アドレスを保存して（処理３０３）、１つのデータ記録命令に対する処理を終了する。これにより、連続する記録アドレスに記録する記録データは、キャッシュバッファ４に順次格納される。
【００２９】
また、判断３０１の結果がＮＯになるときには、そのときにキャッシュバッファ４に記録データが格納されているかどうかを調べ（判断３０４）、判断３０４の結果がＹＥＳになるときには、キャッシュバッファ４に格納されているデータを、そのデータに指定されている記録アドレスに記録するように、記録再生制御部５に指令した（処理３０５）後、そのときに受け取った記録データを、指定された記録アドレスに記録するように、記録再生制御部５に指令する（処理３０６）。また、判断３０４の結果がＮＯになるときには、処理３０６に移行し、そのときに受け取った記録データを、指定された記録アドレスに記録する。
【００３０】
それにより、ホスト装置が小さなデータサイズの記録データを記録するような動作を実行しているとき、ホスト装置からデータ記録命令を受け取るたびに、指定された記録アドレスの光磁気ディスクの記憶領域に書き込まれるので、このような記録動作時のデータ記録時間が長くかかるような事態を防止することができる。
【００３１】
特に、光磁気ディスクユニット６として、データを受信しながら記録動作を行えるものを用いている場合、記録データを連続して光磁気ディスクユニット６に供給することができるので、記録時間を大幅に短縮することができる。
【００３２】
また、この場合にも、キャッシュバッファ４に格納された記録データは、図４の処理により光磁気ディスクに記録される。
【００３３】
図６は、ホスト装置から１つのデータ記録命令を受け取ったときにＣＰＵ１が実行するデータ記録動作のさらに他の例を示している。
【００３４】
まず、新たに受け取ったデータ記録命令で指定された記録アドレスが、キャッシュバッファ４に格納しているデータに指定されている記録アドレスと連続しているかどうかを調べ（判断４０１）、判断４０１の結果がＹＥＳになるときには、そのときに受け取ったデータ記録命令で指定された記録データのデータ長ＬＲが、それまでにキャッシュバッファ４に格納した最大データ長ＬＭよりも大きいがどうかを調べ（判断４０２）、判断４０２の結果がＹＥＳになるときには、そのときの記録データのデータ長ＬＲの値を、最大データ長ＬＭとして記憶する（処理４０３）。
【００３５】
次いで、そのときに受け取ったデータ記録命令の記録データをキャッシュバッファ４に格納したときに、キャッシュバッファ４の残り容量が、最大データ長ＬＭよりも小さくなるかどうかを調べる（判断４０４）。
【００３６】
判断４０４の結果がＹＥＳになるときには、記録データが連続すると、キャッシュバッファ４があふれる可能性があるので、キャッシュバッファ４に格納されているデータを、そのデータに指定されている記録アドレスに記録するように、記録再生制御部５に指令した後、そのときに受け取った記録データを、指定された記録アドレスに記録するように、記録再生制御部５に指令する（処理４０５）。これにより、キャッシュバッファ４に格納されている記録データと、受け取ったデータ記録命令の記録データが、光磁気ディスクユニット６の記録媒体に順次書き込まれる。
【００３７】
また、判断４０４の結果がＮＯになるときには、キャッシュバッファ４に余裕がある状態なので、受け取ったデータ記録命令の記録データをキャッシュバッファ４の空き領域に格納し（処理４０６）、そのときに格納したデータについて指定されている記録アドレスを保存して（処理４０７）、１つのデータ記録命令に対する処理を終了する。これにより、連続する記録アドレスに記録する記録データは、キャッシュバッファ４に順次格納される。
【００３８】
また、判断４０１の結果がＮＯになるときには、そのときにキャッシュバッファ４に記録データが格納されているかどうかを調べ（判断４１０）、判断４１０の結果がＹＥＳになるときには、キャッシュバッファ４に格納されているデータを、そのデータに指定されている記録アドレスに記録するように、記録再生制御部５に指令した（処理４１１）後、そのときに受け取った記録データを、指定された記録アドレスに記録するように、記録再生制御部５に指令する（処理４１２）。
【００３９】
また、判断４１０の結果がＮＯになるときには、処理４１２に移行し、そのときに受け取った記録データを、指定された記録アドレスに記録する。
【００４０】
それにより、ホスト装置が小さなデータサイズの記録データを記録するような動作を実行しているとき、ホスト装置からデータ記録命令を受け取るたびに、指定された記録アドレスの光磁気ディスクの記憶領域に書き込まれるので、このような記録動作時のデータ記録時間が長くかかるような事態を防止することができる。
【００４１】
また、この場合にも、キャッシュバッファ４に格納された記録データは、図４の処理により光磁気ディスクに記録される。
【００４２】
このようにして、本実施例では、キャッシュバッファ４があふれそうな大きな記録データが連続するときには、キャッシュバッファ４に格納した記録データと、受け取った記録データを順次記録媒体に書き込むようにしているので、適切なデータ記録動作を行うことができる。
【００４３】
なお、上述した実施例では、本発明に直接関係しない動作については、説明を省略している。また、上述した実施例では、光磁気ディスク装置に本発明を適用した場合について説明しているが、本発明は、それ以外の情報記憶装置、例えば、磁気ディスク装置、ＣＤ−Ｒ装置、および、追記型光ディスク装置などについても同様にして適用することができる。
【００４４】
【発明の効果】
以上説明したように、本発明によれば、外部装置との間でやりとりする記録再生データを一時格納するためのキャッシュバッファを備えた情報記憶装置において、前記外部装置から複数の記録命令を受け取るとともに、その受け取った一記録命令毎に、記録命令で指定された記憶媒体の記録領域が前記キャッシュバッファに格納されているデータに指定されている記録領域と連続するかどうか調べ、連続する場合には、その受け取った記録命令の記録データをキャッシュバッファに保存し、連続しない場合には、前記キャッシュバッファに格納されているデータをそのデータに指定されている記録領域に記録した後、前記外部装置から受け取った記録命令の記録データを前記キャッシュバッファに保存し、前記キャッシュバッファに保存した記録データを、前記外部装置から記録再生命令を入力していない空き時間に、指定された前記記憶媒体の記録領域に記録する制御手段を備えたので、一連の記録命令において、データの指定する記録領域が連続しない場合があっても、可能な限りに早いタイミングで外部装置に対して記憶終了を通知することができるという効果を得る。
【図面の簡単な説明】
【図１】本発明の一実施例にかかる光磁気ディスク装置を示したブロック図。
【図２】キャッシュバッファの記憶領域の構成の一例を示した概略図。
【図３】ＣＰＵの記録処理の一例を示したフローチャート。
【図４】キャッシュバッファに格納した記録データの記録処理の一例を示したフローチャート。
【図５】ＣＰＵの記録処理の他の例を示したフローチャート。
【図６】ＣＰＵの記録処理のさらに他の例を示したフローチャート。
【符号の説明】
１  ＣＰＵ（中央処理装置）
２  ＲＯＭ（リード・オンリ・メモリ）
３  ＲＡＭ（ランダム・アクセス・メモリ）
４  キャッシュバッファ
【図１】
0003539802.tif 000002
【図２】
0003539802.tif 000003
【図３】
0003539802.tif 000004
【図４】
0003539802.tif 000005
【図５】
0003539802.tif 000006
【図６】
0003539802.tif 000007