(57)【特許請求の範囲】
【請求項１】
データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介して特定のブロック単位でデータが記録されるディスク装置を接続してなるディスク制御装置であって、前記ディスク制御部は、ホスト装置からの連続した読込み要求に応じて、前記ディスク装置に対して前記各ブロックのデータの読込み指令を発するとともに、前記ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも１つのブロックを飛越した次のブロックのデータの先読み指令を発するように制御することを特徴とするディスク制御装置。
【請求項２】
データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介して特定のブロック単位でデータが記録されるディスク装置を接続してなるディスク制御装置であって、前記ディスク制御部は、複数のブロックからなるグループを設定し、前記ホスト装置からの連続した読込み要求に応じて、前記ディスク装置に対して前記各ブロックのデータの読込み指令を発するとともに、前記ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも１つのグループを飛越した次のグループのブロックのデータの先読み指令を発するように制御することを特徴とするディスク制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスク制御装置に係り、特に、ホスト装置からの読込み要求に応じてデータの先読み処理を行なうようにしたディスク制御装置に関する。
【０００２】
【従来の技術】
従来から、データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介してハードディスクドライブ等のディスク装置を接続してなるディスク装置が一般的に用いられている。このディスク装置には、特定のブロック単位でデータが記録されるようになっている。
【０００３】
このようなディスク装置においては、前記ホスト装置からディスク制御部に対して連続した読込み要求が発せられたら、ディスク制御部からディスク装置に対して、所望のデータが記録されたブロックのデータの読込み指令を発する。この読込み指令を受けて、ディスク装置により該当するブロックのデータを読込む。
【０００４】
そして、このブロックのデータの読込みが完了して、データがディスク制御部に送られたら、ディスク制御部は、そのデータをホスト装置に送るようになっている。
【０００５】
この場合に、従来から、ホスト装置から連続した読込み要求が発せられた場合に、前記ディスク制御部により、ディスク装置の所定のブロックのデータを読込んだ際に、次のブロックのデータをあらかじめ読込んでおく先読み指令を発することが行なわれている。このようにデータの先読みを行なうことにより、ホスト装置からの読込み要求の前に、先読みしたデータをキャッシュメモリに保存しておき、ホスト装置からの読込み要求が発せられたデータを、ディスク装置ではなく、キャッシュメモリから読込むことにより、読込み速度の高速化を図ることができるようにしている。
【０００６】
【発明が解決しようとする課題】
しかし、従来のディスク装置においては、ホスト装置から連続した読込み要求が発せられた場合に、ディスク制御部により、次のブロックのデータをあらかじめ先読みするようにしているが、この先読みするブロックが読込み要求に応じたブロックの次のブロックであることから、ホスト装置から、読込み要求に応じたブロックの次のブロックのデータの読込み要求が発せられたときに、まだ先読みデータがディスク装置からディスク制御部に送られていない場合があるという問題がある。そのため、ブロックのデータを先読みしたとしても、その効果がなく、データの読込み速度の高速化の実効を図ることができないという問題を有している。
【０００７】
本発明は前記した点に鑑みてなされたもので、ホスト装置から読込み要求に応じてディスク装置から先読みデータを確実に読込むことができ、データの先読み効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることのできるディスク制御装置を提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
前記目的を達成するため請求項１に記載の発明に係るディスク制御装置は、データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介して特定のブロック単位でデータが記録されるディスク装置を接続してなるディスク制御装置であって、前記ディスク制御部は、ホスト装置からの連続した読込み要求に応じて、前記ディスク装置に対して前記各ブロックのデータの読込み指令を発するとともに、前記ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも１つのブロックを飛越した次のブロックのデータの先読み指令を発するように制御することを特徴とするものである。
【０００９】
この請求項１に記載の発明によれば、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも１つのブロックを飛越した次のブロックのデータの先読み指令を発するようにしているので、ホスト装置から、読込み要求に応じたブロックの次のブロックのデータの読込み要求が発せられたときに、まだ先読みデータがディスク装置からディスク制御部に送られていないという事態を確実に防止することができ、ブロックのデータの先読み効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることができる。
【００１０】
また、請求項２に記載のディスク制御装置は、データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介して特定のブロック単位でデータが記録されるディスク装置を接続してなるディスク制御装置であって、前記ディスク制御部は、複数のブロックからなるグループを設定し、前記ホスト装置からの連続した読込み要求に応じて、前記ディスク装置に対して前記各ブロックのデータの読込み指令を発するとともに、前記ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも１つのグループを飛越した次のグループのブロックのデータの先読み指令を発するように制御することを特徴とするものである。
【００１１】
この請求項２に記載の発明によれば、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも１つのグループを飛越した次のグループのブロックのデータの先読み指令を発するようにしているので、より効率よく、ブロックのデータの先読み効果を得ることができ、データの読込み速度の高速化の実効を図ることができる。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を図１から図３を参照して説明する。
【００１３】
図１は本発明に係るディスク制御装置の実施の一形態を示したもので、本実施形態のディスク制御装置１は、データの読込みあるいは書込み等のコマンドを出力してＩ／Ｏリクエストを行なうホスト装置２を有しており、このホスト装置２には、ホストバス３を介してディスク制御部４が接続されている。このディスク制御部４には、キャッシュメモリ５が接続されている。
【００１４】
また、ディスク制御部４には、例えば、ＳＣＳＩインタフェース型の、例えば、ハードディスクドライブ等のディスク装置６がドライブバス７を介して接続されており、このディスク装置６には、図２に示すように、特定のブロック８を単位としてデータが記録されるようになっている。
【００１５】
本実施形態においては、前記ディスク制御部４は、ホスト装置２からの読込み要求に応じて、ディスク装置６に対して各ブロック８のデータの読込み指令を発するものであり、さらに、前記ディスク制御部４は、ホスト装置２からの読込み要求により読込まれたデータを受けた場合に、その読込んだデータが書込まれているブロック８の次のブロック８ではなく、さらに、その次のブロック８の先読み指令を発し、この先読みされたデータを前記キャッシュメモリ５に記録するように制御するようになっている。
【００１６】
次に、本実施形態の作用について説明する。
【００１７】
本実施形態においては、まず、ホスト装置２から連続した読込み要求が発せられたら、ディスク制御部４からディスク装置６に対して、所望のデータが記録されたブロック（１番ブロック８ａ）のデータの読込み指令を発する。この読込み指令を受けて、ディスク装置６により１番ブロック８ａのデータを読込む。
【００１８】
そして、第１ブロック８ａのデータの読込みが完了して、データがディスク制御部４に送られたら、ディスク制御部４は、そのデータをホスト装置２に送るとともに、ディスク装置６に対して、読込んだ第１ブロック８ａの次の第２ブロック８ｂを飛ばした第３ブロック８ｃのデータの先読み指令を発する。
【００１９】
続いて、ホスト装置２に第１ブロック８ａのデータが送られたら、ホスト装置２は、次の第２ブロック８ｂのデータの読込み指令をディスク制御部４に発し、ディスク制御部４により、ディスク装置６に第２ブロック８ｂのデータの読込み指令を発する。
【００２０】
一方、先読み指令により第３ブロック８ｃのデータの読込みが完了してそのデータがディスク制御部４に送られたら、ディスク制御部４により、このデータをキャッシュメモリ５に保存しておく。
【００２１】
また、第２ブロック８ｂのデータの読込みが完了して、データがディスク制御部４に送られたら、ディスク制御部４は、そのデータをホスト装置２に送るとともに、ディスク装置６に対して、読込んだ第２ブロック８ｂの次の第３ブロック８ｃを飛ばした第４ブロック８ｄのデータの先読み指令を発する。
【００２２】
続いて、ホスト装置２に第２ブロック８ｂのデータが送られたら、ホスト装置２は、次の第３ブロック８ｃのデータの読込み指令をディスク制御部４に発し、ディスク制御部４がこの第３ブロック８ｃのデータの読込み指令を受けたら、ディスク制御部４により、先読みしてキャッシュメモリ５に記録されている第３ブロック８ｃのデータを読込んで、ホスト装置２に送る。さらに、ディスク制御部４は、ディスク装置６に対して、第３ブロック８ｃの次の第４ブロック８ｄを飛ばした第５ブロック８ｅのデータの先読み指令を発する。
【００２３】
そして、先読み指令により第４ブロック８ｄのデータの読込みが完了してそのデータがディスク制御部４に送られたら、ディスク制御部４により、このデータをキャッシュメモリ５に保存しておく。
【００２４】
このような処理を連続して行なうことにより、キャッシュメモリ５にデータが蓄積された後は、ディスク装置６に対してデータの読込み作業を行なう必要がなく、キャッシュメモリ５に書込まれた先読みデータを読込むことで、迅速にデータの読込みを行なうことが可能となる。
【００２５】
したがって、本実施形態においては、ディスク制御部４により、ホスト装置２からの読込み要求により読込まれたデータが書込まれているブロック８の次のブロック８を飛ばしてその次のブロック８の先読み指令を発するようにしているので、ホスト装置２から、読込み要求に応じたブロック８の次のブロック８のデータの読込み要求が発せられたときに、まだ先読みデータがディスク装置６からディスク制御部４に送られていないという事態を確実に防止することができ、ブロック８のデータの先読み効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることができる。
【００２６】
なお、前記実施形態においては、ディスク制御部４により、ホスト装置２からの読込み要求により読込まれたデータが書込まれているブロック８の次のブロック８を飛ばしてその次のブロック８の先読み指令を発するようにしたが、データを読込んだブロック８から複数のブロック８を飛ばしてその次のブロック８のデータの先読み指令を発するようにしてもよい。
【００２７】
また、図３は本発明の他の実施形態を示したもので、本実施形態においては、データが記録された複数のブロック８を１つのグループ９として、このグループ９を単位として先読み処理を行なうようにしたものである。
【００２８】
すなわち、本実施形態においては、最初は、前記実施形態と同様に、前記ディスク制御部４により、ホスト装置２からの連続した読込み要求に応じて、所望のブロック８のデータの読込み指令を発し、このブロック８のデータの読込みが完了して、データがディスク制御部４に送られたら、ディスク制御部４は、そのデータをホスト装置２に送るとともに、ディスク装置６に対して、読込んだブロック８の次のブロック８を飛ばしたブロック８のデータの先読み指令を発する。そして、本実施形態においては、１つのグループ９の最終ブロック８までの先読みが完了したら、ディスク制御部４により、ホスト装置２からの次の読込み要求に応じて、読込みが行なわれたブロック８が含まれるグループ９の次のグループ９を１つ飛ばしてさらにその次のグループ９の各ブロック８の先読み指令を発するように制御するようになっている。
【００２９】
したがって、本実施形態においても前記実施形態と同様に、ディスク制御部４により、ホスト装置２からの読込み要求に応じて、複数のブロック８からなるグループ９を１つの単位として、読込まれたブロック８のグループ９の次のグループ９を飛ばしてその次のグループ９の先読み指令を発するようにしているので、より効率よく、ブロック８のデータの先読み効果を得ることができ、データの読込み速度の高速化の実効を図ることができる。
【００３０】
なお、本実施形態においても、ディスク制御部４により、データを読込んだブロック８が含まれるグループ９から複数のグループ９を飛ばしてその次のグループ９のブロック８のデータの先読み指令を発するようにしてもよいことはもちろんである。
【００３１】
また、前記各実施形態においては、ディスク装置６が１つの場合について説明したが、例えば、複数のディスク装置６を並列のインタフェースを介して接続してなるＲＡＩＤレベルのディスクアレイ装置に適用することも可能である。
【００３２】
さらに、本発明は前記実施形態のものに限定されるものではなく、必要に応じて種々変更することが可能である。
【００３３】
【発明の効果】
以上述べたように請求項１に記載の発明に係るディスク制御装置は、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも１つのブロックを飛越した次のブロックのデータの先読み指令を発するようにしたので、ブロックのデータを先読みの効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることができる。
【００３４】
また、請求項２に記載のディスク制御装置は、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも１つのグループを飛越した次のグループのブロックのデータの先読み指令を発するようにしたので、より効率よく、ブロックのデータの先読みの効果を得ることができ、データの読込み速度の高速化の実効を図ることができる等の効果を奏する。
【図面の簡単な説明】
【図１】  本発明に係るディスク制御装置の実施形態を示すブロック図
【図２】  本発明のディスク制御装置によるデータの先読み処理動作の実施形態を示す説明図
【図３】  本発明のディスク制御装置によるデータの先読み処理動作の他の実施形態を示す説明図
【符号の説明】
１  ディスク制御装置
２  ホスト装置
３  ホストバス
４  ディスク制御部
５  キャッシュメモリ
６  ディスク装置
８  ブロック
９  グループ
【図１】
0003735495.tif 000002
【図２】
0003735495.tif 000003
【図３】
0003735495.tif 000004