(57)【特許請求の範囲】
【請求項１】
情報記憶媒体に対して、情報の読み書きを行うための制御部とデータバッファメモリとを具備し、上位処理装置から指示される情報転送量に応じて、前記データバッファメモリを制御して情報の転送を行う機能を有する情報記憶装置であり、かつ、上位処理装置への情報転送完了後、該情報の最終ブロックに引き続くブロックのデータを読み出し、読み出されたデータを前記データバッファメモリに格納する先読み機能を有する情報記憶装置において、
先読み機能によって先読み動作の実行中に、前記上位処理装置から他の動作を指示する命令を受けたとき、該命令の種類に応じて、現在実行中の先読み動作における以降の処理を決定し、先読み動作の実行中に前記上位処理装置から受けた命令が、リード命令のときは、すでに先読み動作が完了して前記データバッファメモリに取り込んだ先読みデータ以外のデータを、新たに前記情報記憶媒体から読み出す必要があるかどうか判定し、前記データバッファメモリに取り込んだ前記先読みデータ以外のデータを、新たに前記情報記憶媒体から読み出す必要があると判定した時には、すでに前記データバッファメモリに取り込んだ前記先読みデータの中に、読み出し対象のデータがあるかどうかを判定し、読み出し対象のデータがあると判定した時には、現在実行中の前記先読み動作を中断し、
前記情報記憶媒体から新たなデータの読み出しと、前記先読みデータの内の対象データの前記上位処理装置への転送と、を同時に行い、その後の前記情報記憶媒体からのデータの読み出しを前記先読み動作によって行うことを特徴とする情報記憶装置。
【請求項２】
請求項１の情報記憶装置において、前記先読み動作の実行中に、前記上位処理装置から他の動作を指示する命令を受けたとき、該命令が前記情報記憶媒体をアクセスしない内容のときは、前記先読み動作を実行していない状態のときと同様の応答を行って、当該命令を実行し、現在実行中の前記先読み動作を続行することを特徴とする情報記憶装置。
【請求項３】
請求項１の情報記憶装置において、前記先読み動作の実行中に前記上位処理装置から受けた命令が、リード命令以外の命令であり、かつ、前記情報記憶媒体をアクセスする内容のときは、現在実行中の先読み動作を中断して、当該命令を実行することを特徴とする情報記憶装置。
【請求項４】
請求項１の情報記憶装置において、前記先読み動作の実行中に前記上位処理装置から受けた命令が、リード命令のときは、すでに前記先読み動作が完了して前記データバッファメモリに取り込んだ先読みデータ以外のデータを、新たに前記情報記憶媒体から読み出す必要があるかどうか判定することを特徴とする情報記憶装置。
【請求項５】
請求項１の情報記憶装置において、前記先読みデータの中に前記対象データがないときは、現在実行中の先読み動作を中断して前記上位処理装置からの命令を実行し、前記情報記憶媒体から新たなデータの読み出しを行って前記上位処理装置へ転送すると共に、その後の前記情報記憶媒体からのデータの読み出しを先読み動作によって行うことを特徴とする情報記憶装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、光磁気ディスク等の情報記憶媒体を有する情報記憶装置と上位処理装置との情報の転送時に、効率の高い情報転送を可能にした情報記憶装置に係り、特に、先に提案した先願発明の先読み機能を改良し、その機能を十分に発揮できるようにして、パフォーマンスを向上させた情報記憶装置に関する。
【０００２】
【従来の技術】
情報記憶媒体に対して情報の読み書きを行うための制御部と、データバッファメモリとを具備し、上位処理装置から指示される情報転送量に応じてデータバッファメモリを制御して情報の転送を行う機能を有する情報記憶装置は、従来から知られている。
このような情報記憶装置、例えば、光磁気ディスクドライブ装置等のディスク装置は、上位処理装置（ＳＣＳＩ・Ｉ／Ｆ回路を有するホストアダプタ等）と接続されて、ファイリングシステムを構成している。
【０００３】
ところが、従来のシステムでは、情報記憶装置、すなわち、上位処理装置から指示される情報転送量に応じてデータバッファメモリを制御して情報の転送を行う機能を有する情報記憶装置は、上位処理装置から指示された情報の転送完了後には、動作をやめて次の指示を待っていた。
すなわち、上位処理装置から次の指示があるまで、情報記憶装置は何らの処理を行わず、待機状態になっているので、システム全体の処理の効率が悪い、という不都合があった。
【０００４】
このような不都合を解決する一つの方法として、この発明の発明者は、この待ち時間を積極的に利用して、上位処理装置への転送が完了した最終ブロックに引き続くブロックの読み出しデータを予め読み出し、予備データ格納用メモリに記憶させておき、次に、上位処理装置からデータの読み出し要求があったとき、予備データ格納用メモリ内のデータの読み出しであれば、予備データ格納用メモリから直ちにデータを転送するようにして、処理効率を向上させた情報記憶装置、すなわち、先読み機能を有する情報記憶装置を提案した（特願平４−２８０６７１号の「情報記憶装置コントローラ」）。
しかし、この先願発明では、先読み動作の実行中に、上位処理装置から他の動作を指示する命令を受けたときは、直ちに現在実行中の先読み動作を中断して、命令を実行するので、せっかくの先読み機能が、必ずしも十分に発揮されないという問題があった。
【０００５】
【発明が解決しようとする課題】
この発明では、先願発明にあっては、先読み機能が必ずしも十分に発揮されない、という不都合を解決し、先読み動作の実行中に、上位処理装置から他の動作を指示する命令を受けたときは、その内容を判断し、現在実行中の先読み動作を中断する必要なしに応答可能な命令のときは、先読み動作を中断しないようにして、パフォーマンスを向上させた情報記憶装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１に係る発明は、情報記憶媒体に対して、情報の読み書きを行うための制御部とデータバッファメモリとを具備し、上位処理装置から指示される情報転送量に応じて、前記データバッファメモリを制御して情報の転送を行う機能を有する情報記憶装置であり、かつ、上位処理装置への情報転送完了後、該情報の最終ブロックに引き続くブロックのデータを読み出し、読み出されたデータを前記データバッファメモリに格納する先読み機能を有する情報記憶装置において、先読み機能によって先読み動作の実行中に、前記上位処理装置から他の動作を指示する命令を受けたとき、該命令の種類に応じて、現在実行中の先読み動作における以降の処理を決定し、先読み動作の実行中に前記上位処理装置から受けた命令が、リード命令のときは、すでに先読み動作が完了して前記データバッファメモリに取り込んだ先読みデータ以外のデータを、新たに前記情報記憶媒体から読み出す必要があるかどうか判定し、前記データバッファメモリに取り込んだ前記先読みデータ以外のデータを、新たに前記情報記憶媒体から読み出す必要があると判定した時には、すでに前記データバッファメモリに取り込んだ前記先読みデータの中に、読み出し対象のデータがあるかどうかを判定し、読み出し対象のデータがあると判定した時には、現在実行中の前記先読み動作を中断し、前記情報記憶媒体から新たなデータの読み出しと、前記先読みデータの内の対象データの前記上位処理装置への転送と、を同時に行い、その後の前記情報記憶媒体からのデータの読み出しを前記先読み動作によって行うものである。
【０００７】
請求項２に係る発明は、請求項１の情報記憶装置において、前記先読み動作の実行中に、前記上位処理装置から他の動作を指示する命令を受けたとき、該命令が前記情報記憶媒体をアクセスしない内容のときは、前記先読み動作を実行していない状態のときと同様の応答を行って、当該命令を実行し、現在実行中の前記先読み動作を続行するものである。
【０００８】
請求項３に係る発明は、請求項１の情報記憶装置において、前記先読み動作の実行中に前記上位処理装置から受けた命令が、リード命令以外の命令であり、かつ、前記情報記憶媒体をアクセスする内容のときは、現在実行中の先読み動作を中断して、当該命令を実行するものである。
【０００９】
請求項４に係る発明は、請求項１の情報記憶装置において、前記先読み動作の実行中に前記上位処理装置から受けた命令が、リード命令のときは、すでに前記先読み動作が完了して前記データバッファメモリに取り込んだ先読みデータ以外のデータを、新たに前記情報記憶媒体から読み出す必要があるかどうか判定するものである。
【００１０】
請求項５に係る発明は、請求項１の情報記憶装置において、前記先読みデータの中に前記対象データがないときは、現在実行中の先読み動作を中断して前記上位処理装置からの命令を実行し、前記情報記憶媒体から新たなデータの読み出しを行って前記上位処理装置へ転送すると共に、その後の前記情報記憶媒体からのデータの読み出しを先読み動作によって行うものである。
【００１３】
【作用】
この発明では、先願発明の情報記憶装置による先読み動作をさらに改良し、先読み動作の実行中に、上位処理装置から別の命令があったときは、現在実行中の先読み動作を直ちに中止することなく、新たに与えられた命令の内容をチェックし、その内容に応じて、すでにリード済みのデータ（セクタ単位のデータ）が、上位処理装置から要求されているときは、そのデータを転送したり、データの読み出しを必要としない命令で、先読み動作を中止する必要のない命令であれば、そのまま先読み動作を続行することにより、現在実行中の先読み動作が、可能な限り有効となるようにして、システムのパフォーマンスを向上させるようにしている（請求項１から請求項５の発明）。ここで、情報記憶媒体上のデータフォーマットについて、説明する。
【００１４】
図２は、情報記憶装置で使用される情報記憶媒体について、その情報記憶媒体上のデータフォーマットの一例を示す図である。
【００１５】
この図２に示すように、情報記憶媒体上には、ブロックアドレス（ＩＤ）とデータエリアとからなるブロックが、ｉ，ｉ＋１，ｉ＋２，……のように配列されている。
そして、多くの場合に、これらのブロックの順番に従って、データが格納されるが、一度に転送可能なブロックの数は限られている。
【００１６】
そのため、転送中には、要求されたデータが途中で分割され、所定の数のブロック単位で、順次転送されることになる。
したがって、次に転送すべきブロックを、予め推測することができる。
【００１７】
そこで、先願発明では、上位処理装置から読み出し命令があったときは、従来と同様に、命令されたブロック数のデータを情報記憶媒体から読み出して、上位処理装置へデータを転送し、転送が完了した後、上位処理装置からの読み出し命令とは別に、先に情報記憶媒体から読み出した最後のブロックの次のブロックから、データの読み出し動作を行い、読み出したデータをメモリにストックしておく。
この発明では、このような先読み動作の実行中に、上位処理装置から新たな命令を受けたとき、その命令の内容に応じて、迅速な応答を可能にしている。
【００１８】
【実施例】
次に、この発明の情報記憶装置について、図面を参照しながら、その実施例を詳細に説明する。
【００１９】
図１は、この発明の情報記憶装置について、その要部構成の一実施例を示す機能ブロック図である。図において、１は上位処理装置、２は情報記憶装置コントローラ、３は情報記憶装置コントローラの制御部、４は同じく情報記憶装置コントローラのデータバッファメモリ、５は情報記憶媒体を示す。
【００２０】
この図１に示した情報記憶装置も、その構成と動作は、従来の装置や先願発明と基本的に同様である。
まず、先願発明と共通する動作から説明する。
【００２１】
情報記憶装置２は、上位処理装置１との間での情報の授受に際して、書き込み時には、上位処理装置１→情報記憶装置コントローラの制御部３→データバッファメモリ４→情報記憶装置コントローラの制御部３→情報記憶媒体５のようにデータが送られる。
読み出し時には、逆に、情報記憶媒体５→情報記憶装置コントローラの制御部３→データバッファメモリ４→情報記憶装置コントローラの制御部３→上位処理装置１のようにデータが送られる。
【００２２】
ところで、すでに述べたように、この発明の情報記憶装置では、転送時の読み出し動作において、上位処理装置１から命令された分のデータを読み出し、上位処理装置１へのデータの転送が終った後、次の読み出し命令が上位処理装置１から与えられるまでの間の待ち時間に、先読み機能によって、先に情報記憶媒体５から読み出した最後のブロックの次のブロックから、データの読み出しを行い、データバッファメモリ４等にストックしておく（先願の発明）。
【００２３】
このような一連の先読み動作の実行中に、上位処理装置１から他の動作を指示する命令を受けたとき、その命令の種類（内容）をチェックして、以降の処理を決定する（請求項１の発明）。
第２に、命令が情報記憶媒体５をアクセスしない内容のときは、先読み動作を実行していない状態のときと同様の応答を行って、当該命令を実行し、現在実行中の先読み動作を続行する（請求項２の発明）。
【００２４】
第３に、命令がリード命令以外の命令で、情報記憶媒体５をアクセスする内容のときは、現在実行中の先読み動作を中断して、当該命令を実行する（請求項３の発明）。第４に、命令が、リード命令のときは、すでに先読み動作が完了してデータバッファメモリ４に取り込んだ先読みデータ以外のデータを、新たに情報記憶媒体５から読み出す必要があるかどうか判定する（請求項１、４の発明）。
【００２５】
第５に、判定の結果、新たに情報記憶媒体５から読み出す必要がないときは、現在実行中の先読み動作を続行し、すでにデータバッファメモリ４に取り込んだ先読みデータの内、該当するデータを上位処理装置１へ転送する。第６に、判定の結果、新たに情報記憶媒体から読み出す必要があり、かつ、すでにデータバッファメモリ４に取り込んだ先読みデータの中に、読み出し対象のデータがあるときは、現在実行中の先読み動作を中断し、情報記憶媒体５から新たなデータの読み出しを行うと同時に、先読みデータの内、対象データを上位処理装置１へ転送し、その後の情報記憶媒体５からのデータの読み出しを先読み動作によって行う（請求項１の発明）。
【００２６】
第７に、先読みデータの中に対象データがないときは、現在実行中の先読み動作を中断して上位処理装置１からの命令を実行し、情報記憶媒体５から新たなデータの読み出しを行って上位処理装置１へ転送すると共に、その後の情報記憶媒体５からのデータの読み出しを先読み動作によって行う（請求項５の発明）。ここで、この発明の情報記憶装置で使用するメモリの構成を説明する。
【００２７】
図３は、この発明の情報記憶装置で使用されるメモリ構成の一実施例を示す図である。図において、４ａはデータバッファメモリ部、４ｂは予備データ格納用メモリ部を示す。
【００２８】
この図３に示すように、この発明の情報記憶装置では、メモリとして、従来と同様に、上位処理装置１からの命令によって、上位処理装置１と情報記憶媒体５の間で転送するデータを一時的に格納するデータバッファメモリ部４ａと、その他に、別に行う読み出し時のデータを格納するメモリとして、予備データ格納用メモリ部４ｂとを使用する。
すなわち、予備データ格納用メモリ部を使用するときは、各メモリ部４ａ，４ｂを、予め分割して設けておく。
【００２９】
データバッファメモリ部４ａは、従来と同様に使用するが、別に行う読み出し時には、データ転送の中間バッファとして使用する。
別に行う読み出し時には、上位処理装置１→データバッファメモリ部４ａ→予備データ格納用メモリ部４ｂ、あるいは、予備データ格納用メモリ部４ｂ→データバッファメモリ部４ａ→上位処理装置１のように、データ転送の中間バッファとする。
【００３０】
そして、上位処理装置１から読み出し命令があったときは、その命令に従った読み出し動作を行い、上位処理装置１に対して、動作が完了したと報告する。
一方、情報記憶装置２の内部では、命令された読み出し動作における最終ブロックの次のブロックから、データの読み出しを行い、読み出したデータを、予備データ格納用メモリ部４ｂへ格納する。
【００３１】
その後に、上位処理装置１から読み出し命令があったとき、その命令により要求されたデータが、予備データ格納用メモリ部４ｂに、すでに存在するかどうかチェックする。
もし、存在していれば、その分のデータを上位処理装置１へ転送し、要求されたデータの内、予備データ格納用メモリ部４ｂに存在しないデータがあれば、その分のデータは、新たに情報記憶媒体５から読み出して、データバッファメモリ部４ａ→上位処理装置１、という経路でデータの転送を行う。
【００３２】
以上のように、データの転送時には、制御部３が、上位処理装置１からリード命令されたブロック数のデータを、情報記憶媒体５から読み出すが、命令されたブロック数のデータを読み出して上位処理装置１へデータ転送し終った後、上位処理装置１の命令とは別に、先に情報記憶媒体５から読み出した最後のブロックの次のブロックからデータを読み出して、予備データ格納用メモリ４ｂへ格納する。
【００３３】
そして、新たに上位処理装置１からリード命令がきたとき、予備データ格納用メモリ４ｂに格納されているデータに対応するブロックが含まれていたら、そのブロックについては、予備データ格納用メモリ４ｂから上位処理装置１へデータを転送する。
この発明の情報記憶装置も、データ転送時の動作は、先願発明の情報記憶装置と同様に、先読み機能によって行うので、先願発明の情報記憶装置による先読み動作をフローで説明する。なお、この発明は、ステップ＃１〜＃７の処理が共通しており、その後の処理は、後出の図６のフローで詳しく述べる。
【００３４】
図４と図５は、先願発明の情報記憶装置において、データ転送時の主要な処理の流れを示すフローチャートである。図において、＃１〜＃１４はステップを示し、また、▲１▼と▲２▼はそれぞれ接続点を示す。
【００３５】
ステップ＃１で、上位処理装置１から命令があるまで待機する。
上位処理装置１から命令を受けたときは、次のステップ＃２へ進み、上位処理装置１から待ち時間に読み出すデータ量が指定される。
ステップ＃３で、上位処理装置１から、次の命令があるまで待機する。
【００３６】
上位処理装置１から命令を受けたときは、ステップ＃４へ進み、上位処理装置１から読み出し命令を受信する。
ステップ＃５で、情報記憶媒体５からデータを読み出し、読み出したデータを上位処理装置１へ転送する。
【００３７】
ステップ＃６で、指定されたデータ量の読み出し動作を行い、予備データ格納用メモリ部４ｂへ格納する。
ステップ＃７で、上位処理装置１から、次の命令があるまで待機する。
【００３８】
次の命令を受けたときは、ステップ＃８へ進み、その命令が読み出し命令かどうか判断する（図４の接続点▲２▼から図５の接続点▲２▼へ進む）。
もし、その命令が読み出し命令でなければ、ステップ＃１０へ進み、命令に対する従来の処理を実行し、再び、先のステップ＃３に戻る。
【００３９】
また、先のステップ＃８で判断した結果、命令が読み出し命令であれば、次のステップ＃９へ進み、要求されたデータが、予備データ格納用メモリ部４ｂに格納されたデータであるかどうか判断する。
【００４０】
もし、要求されたデータが、予備データ格納用メモリ部４ｂに格納されたデータでなければ、ステップ＃１０へ進み、命令に対する従来の処理を実行した後、再び、先のステップ＃３に戻る。
また、先のステップ＃９で判断した結果、要求されたデータが、予備データ格納用メモリ部４ｂに格納されたデータであれば、次のステップ＃１１へ進む。
【００４１】
ステップ＃１１で、予備データ格納用メモリ部４ｂに格納されているデータから、該当するデータを上位処理装置１へ転送する。
次のステップ＃１２で、ステップ＃８で判断した読み出し命令によって要求されたデータが、予備データ格納用メモリ部４ｂに格納されたデータ以外のデータであるかどうか判断する。
【００４２】
もし、メモリ部４ｂに格納されたデータ以外のデータを要求していれば、ステップ＃１４へ進み、要求されたデータの残りのデータを情報記憶媒体５から読み出して、データバッファメモリ部４ａに格納し、上位処理装置１へ転送する（図５の接続点▲１▼から図４の接続点▲１▼へ進む）。
そして、再び、先のステップ＃３へ戻り、以下同様に、上位処理装置１からの命令があるまで待機する。
【００４３】
また、先のステップ＃１２で判断した結果、予備データ格納用メモリ部４ｂ内のデータの要求であれば（メモリ部４ｂに格納されたデータ以外のデータを要求していない）、ステップ＃１３へ進み、予備データ格納用メモリ部４ｂに格納されている要求データを、データバッファメモリ部４ａを介して、上位処理装置１へ転送し、再び、先のステップ＃３へ戻って、以下同様に、上位処理装置１からの命令を待つ。
【００４４】
以上のステップ＃１〜＃１４の処理によって、この発明の情報記憶装置コントローラによる読み出し命令に対するデータの読み出し動作と転送動作とが実行された後、別に行う次のブロックからのデータの読み出し動作と予備データ格納用メモリ部４ｂへのデータの格納が行われる。
そして、その後の読み出し命令が、予備データ格納用メモリ部４ｂに格納されたデータであれば、予備データ格納用メモリ部４ｂから、直ちに、上位処理装置へ転送される。
【００４５】
この発明の情報記憶装置では、このような先読み動作の実行中に、上位処理装置１から命令があったとき、次の図６のフローに従った制御を行う。
なお、すでに述べたように、図４に示したフローは、この発明の情報記憶装置の処理と同様であり、ステップ＃７で、上位処理装置１から次の命令の待機中に命令があったとき、図６のフローに移る。
【００４６】
図６は、この発明の情報記憶装置において、先読み動作実行中の主要な処理の流れを示すフローチャートである。図において、＃２１〜＃３５はステップを示し、また、▲１▼と▲２▼はそれぞれ接続点を示す。
【００４７】
図４のステップ＃７で、上位処理装置１から命令があったとき、この図６のステップ＃２１へ進み、その命令の種類（内容）をチェックして、情報記憶媒体５をアクセスしない内容であるかどうか判断する。
もし、情報記憶媒体５をアクセスしない内容のときは、ステップ＃２２へ進んで、先読み動作を実行していない状態のときと同様の応答を行い、当該命令を実行し、現在実行中の先読み動作を続行する（図６の接続点▲１▼から図４の接続点▲１▼へ戻る）。
【００４８】
また、ステップ＃２１で判断した結果、情報記憶媒体５をアクセスする内容のときは、ステップ＃２３へ進み、リード命令であるかどうか判断する。
もし、リード命令でなければ、ステップ＃２４で、現在実行中の先読み動作を中断し、ステップ＃２５へ進み、当該命令を実行する（図６の接続点▲１▼から図４の接続点▲１▼へ戻る）。
【００４９】
また、ステップ＃２３で判断した結果、リード命令のときは、ステップ＃２６で、新たに情報記憶媒体５から読み出す必要があるかどうか判断する。
もし、新たに情報記憶媒体５から読み出す必要がないときは、ステップ＃２７へ進み、現在実行中の先読み動作を続行し、次のステップ＃２８で、すでにデータバッファメモリ４に取り込んだ先読みデータの内、該当するデータを上位処理装置１へ転送する。
【００５０】
また、ステップ＃２６で判断した結果、新たに情報記憶媒体から読み出す必要があるときは、ステップ＃２９へ進み、すでにデータバッファメモリ４に取り込んだ先読みデータの中に、読み出し対象のデータ（セクタ単位のデータ）があるかどうか判断する。
もし、読み出し対象のデータがあれば、ステップ＃３０で、現在実行中の先読み動作を中断し、次のステップ＃３１で、情報記憶媒体５から新たなデータの読み出しを行うと同時に、先読みデータの内、対象データを上位処理装置１へ転送する。
【００５１】
ステップ＃３２で、引き続き、情報記憶媒体５からのデータの読み出しを先読み動作によって行うと同時に、上位処理装置１へのデータ転送を行う。
また、ステップ＃２９で判断した結果、読み出し対象のデータがないときは、ステップ＃３３へ進み、現在実行中の先読み動作を中断し、次のステップ＃３４で、情報記憶媒体５から新たなデータを読み出す。
【００５２】
ステップ＃３５で、引き続き、情報記憶媒体５からのデータの読み出しを先読み動作によって行うと同時に、上位処理装置１へのデータ転送を行う（図６の接続点▲１▼から図４の接続点▲１▼へ戻る）。
以上のステップ＃２１〜＃３５の処理と、図４のステップ＃１〜＃７の処理によって、先読み動作の実行中に、上位処理装置１から命令を受けたとき、従来のように、現在実行中の先読み動作を直ちに中止することなく、命令の内容に応じて、適切な処理を行うことができる。
【００５３】
【発明の効果】
請求項１の情報記憶装置では、先読み動作の実行中に、上位処理装置から他の動作を指示する命令を受けたとき、その命令の種類をチェックしているので、状況に応じた対応が可能となる。したがって、システムの処理能率が向上される。また、上位処理装置からの命令が、リード命令のときは、新たに情報記憶媒体から読み出す必要があるかどうか判定するので、状況に応じた対応が可能となる。さらに、新たに情報記憶媒体からデータを読み出す必要があると判定した時には、すでにデータバッファメモリに取り込んだ先読みデータの中に、読み出し対象のデータがあるかどうかを判定し、読み出し対象のデータがあると判定した時には、現在実行中の先読み動作を中断し、情報記憶媒体から新たなデータの読み出しと、先読みデータの内の対象データの上位処理装置への転送と、を同時に行い、その後の情報記憶媒体からのデータの読み出しを先読み動作によって行うので、同様に、先読み動作の効果が一層発揮される。
【００５４】
請求項２の情報記憶装置では、上位処理装置からの命令が、情報記憶媒体をアクセスしない内容のときは、現在実行中の先読み動作を続行するので、その後の命令がリード命令のときは、先読み動作の効果がより発揮される。
請求項３の情報記憶装置では、上位処理装置からの命令が、リード命令以外の命令であり、かつ、情報記憶媒体をアクセスする内容のときは、現在実行中の先読み動作を直ちに中断するので、先読み動作の実行中でないケースと同様のパフォーマンスで、命令を実行することができる。
【００５５】
請求項４の情報記憶装置では、上位処理装置からの命令が、リード命令のときは、新たに情報記憶媒体から読み出す必要があるかどうか判定するので、状況に応じた対応が可能となる。
【００５６】
請求項５の情報記憶装置では、請求項１の情報記憶装置において、先読みデータの中に対象のデータがないときは、現在実行中の先読み動作を中断して上位処理装置からの命令を実行し、情報記憶媒体から新たなデータの読み出しを行って上位処理装置へ転送すると共に、その後の情報記憶媒体からのデータの読み出しも先読み動作で続行するので、次のリード命令に対して、同様に、先読み動作の効果が一層発揮される。
【図面の簡単な説明】
【図１】この発明の情報記憶装置について、その要部構成の一実施例を示す機能ブロック図である。
【図２】情報記憶装置で使用される情報記憶媒体について、その情報記憶媒体上のデータフォーマットの一例を示す図である。
【図３】この発明の情報記憶装置で使用されるメモリ構成の一実施例を示す図である。
【図４】先願発明の情報記憶装置において、データ転送時の主要な処理の流れを示すフローチャートである。
【図５】先願発明の情報記憶装置において、データ転送時の主要な処理の流れを示すフローチャートである。
【図６】この発明の情報記憶装置において、先読み動作実行中の主要な処理の流れを示すフローチャートである。
【符号の説明】
１  上位処理装置
２  情報記憶装置
３  情報記憶装置コントローラの制御部
４  情報記憶装置コントローラのデータバッファメモリ
４ａ  データバッファメモリ部
４ｂ  予備データ格納用メモリ部
５  情報記憶媒体
【図１】
0003566319.tif 000002
【図２】
0003566319.tif 000003
【図３】
0003566319.tif 000004
【図４】
0003566319.tif 000005
【図５】
0003566319.tif 000006
【図６】
0003566319.tif 000007