(57)【特許請求の範囲】
【請求項１】
各トラックが一定の長さのブロックに分割された固定長フォーマットのディスクにＣＫＤフォーマットのレコードを記憶する磁気ディスク装置であって、
ディスクからカウント部を読み出すためのカウント部読み出し制御手段と、読み出したカウント部を格納するバッファ手段と、このバッファ手段からカウント部を読み出し次レコードの格納位置を計算する演算手段と、その計算された次レコードの格納位置を記憶するメモリ手段と、そのメモリ手段に記憶された次レコードの格納位置からデータ部を読み出すデータ部読み出し制御手段とを具備したことを特徴とする磁気ディスク装置。
【請求項２】
請求項１に記載の磁気ディスク装置において、ＣＫＤフォーマットの第一のレコードと第二のレコードを連続して読み出す際に、前記データ読み出し制御手段で第一のレコードを読み出すのと並行して前記カウント部読み出し制御手段で第二のレコードのカウント部を先読みすることにより、第一のレコードと第二のレコードの読み出しを高速化することを特徴とする磁気ディスク装置。
【請求項３】
請求項１または請求項２に記載の磁気ディスク装置において、第一のチャネルからのレコード入出力要求によりＣＫＤフォーマットの第一のレコードを読み出すと共に第二のチャネルからのレコード入出力要求によりＣＫＤフォーマットの第二のレコードを読み出す際に、前記データ読み出し制御手段で第一のレコードを読み出すのと並行して前記カウント部読み出し制御手段で第二のレコードのカウント部を先読みすることにより、第一のレコードと第二のレコードの読み出しを高速化することを特徴とする磁気ディスク装置。
【請求項４】
各トラックが一定の長さのブロックに分割された固定長フォーマットのディスクにＣＫＤフォーマットのレコードを記憶した磁気ディスク装置から第一のレコードおよび第二のレコードを読み出すレコード読み出し方法であって、
第一のレコードのデータ部を読み出し中に、それと並行して、第二のレコードのカウント部を読み出しておき、第一のレコードのデータ部の読み出し完了後、直ちに第二のレコードのデータ部を読み出し可能とすることを特徴とするレコード読み出し方法。
【請求項５】
記憶装置から第一のレコードおよび第二のレコードを読み出すレコード読み出し方法であって、
第一のレコードを読み出し中に、それと並行して、第二のレコードの読み出しに必要な情報を読み出しておき、第一のレコードの読み出し完了後、直ちに第二のレコードを読み出し可能とすることを特徴とするレコード読み出し方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、磁気ディスク装置およびレコード読み出し方法に関し、さらに詳しくは、各トラックが一定の長さのブロックに分割された固定長フォーマットのディスクにＣＫＤ（Ｃｏｕｎｔ  Ｋｅｙ  Ｄａｔａ）フォーマットのレコードを記憶する磁気ディスク装置であって、複数のレコードの読み出し効率を向上することができる磁気ディスク装置および該磁気ディスク装置からのレコード読み出し方法に関する。
【０００２】
【従来の技術】
図５に、ＣＫＤフォーマットを示す。
ＣＫＤフォーマットにおける１レコードは、カウント部（Ｃ部），キー部（Ｋ部），データ部（Ｄ部）より構成される。
カウント部１は、各レコードの最初の位置に記憶されるフィールドであり、そのレコードの制御情報１０１，シリンダ番号１０２，ヘッド番号１０３，レコード番号１０４，キー長１０５，データ長１０６および制御情報１０７からなる。
キー部２は、後続のデータ部３の探索等に必要な情報を記録するフィールドであり、カウント部１においてキー長１０５が“１〜２５５”の範囲で指定されたときに存在する。カウント部１においてキー長が“０”であったときは存在しない。
データ部３は、純粋なデータを記録するフィールドであり、カウント部１のデータ長１０６が示す値がデータ部３の長さである。
各フィールド間には、それぞれのフィールドを分けるギャップ４，５，６が存在する。
【０００３】
ＦＢＡ（Ｆｉｘｅ  Ｂｌｏｃｋ  Ａｒｃｈｉｔｅｃｔｕｒｅ）フォーマットのディスクにＣＫＤフォーマットのレコードを記憶する磁気ディスク装置に書き込む従来技術が、特開平６−１２７８６号公報に開示されている。
この従来技術では、ＦＢＡフォーマットのディスクにＣＫＤフォーマットのデータを書き込むとき、各ブロックの先頭に、当該ブロック以降にＣＫＤフォーマットのレコードが存在するか否かを示す検索情報を書き込んでおく。そして、ＣＫＤフォーマットのレコードの読み出すときは、前記検索情報からカウント部の位置を得て該カウント部を読み出し、該カウント部からキー部およびデータ部の位置を得て該キー部およびデータ部を読み出し、所望の処理を行う。
【０００４】
図６は、上記従来技術によるレコードの読み出し手順を示すフロー図である。
ステップ１１では、ブロックの先頭の検索情報を読み出し、その検索情報からカウント部の位置を得る。
ステップ１２では、カウント部を読み出す。
ステップ１３では、カウント部からレコードが目的のレコードであるか確認する。目的のレコードであった場合は、ステップ１４へ進む。目的のレコードでなかった場合は、前記ステップ１１に戻り、再検索を行う。
ステップ１４では、カウント部に記録されたキー長およびデータ長から転送するキー部およびデータ部の位置を知り、キー部およびデータ部を読み出して処理コマンドに応じてレコードを処理する。
【０００５】
【発明が解決しようとする課題】
ＦＢＡフォーマットのディスクにＣＫＤフォーマットのレコードを記憶する前記従来の磁気ディスク装置では、データ転送の単位が常に１レコードであり、図６に示した手順をレコード単位に行う必要がある。このため、ＣＫＤフォーマットの複数のレコードを連続して読み出す場合に、第一のレコードの読み出しが完全に終わってから第二のレコードの読み出しを開始することになり、複数のレコードの読み出し効率が低い問題点がある。
そこで、本発明の目的は、各トラックが一定の長さのブロックに分割された固定長フォーマットのディスクにＣＫＤフォーマットのレコードを記憶する磁気ディスク装置において、複数のレコードの読み出し効率を向上することができる磁気ディスク装置およびレコード読み出し方法を提供することにある。
【０００６】
【課題を解決するための手段】
第１の観点では、本発明は、各トラックが一定の長さのブロックに分割された固定長フォーマットのディスクにＣＫＤフォーマットのレコードを記憶する磁気ディスク装置であって、ディスクからカウント部を読み出すためのカウント部読み出し制御手段と、読み出したカウント部を格納するバッファ手段と、このバッファ手段からカウント部を読み出し次レコードの格納位置を計算する演算手段と、その計算された次レコードの格納位置を記憶するメモリ手段と、そのメモリ手段に記憶された次レコードの格納位置からデータ部を読み出すデータ部読み出し制御手段とを具備したことを特徴とする磁気ディスク装置を提供する。
上記第１の観点の磁気ディスク装置では、独立して動作するカウント部読み出し制御手段とデータ部読み出し制御手段とを持つことにより、第一のレコードの読み出しの完了を待つことなく、第一のレコードのデータ部を読み出し中に、それと並行して、第二のレコードのカウント部を読み出しできるので、複数のレコードの読み出し効率を向上することが出来る。
【０００７】
第２の観点では、本発明は、上記第１の観点の磁気ディスク装置において、ＣＫＤフォーマットの第一のレコードと第二のレコードを連続して読み出す際に、前記データ読み出し制御手段で第一のレコードを読み出すのと並行して前記カウント部読み出し制御手段で第二のレコードのカウント部を先読みすることにより、第一のレコードと第二のレコードの読み出しを高速化することを特徴とする磁気ディスク装置を提供する。
上記第２の観点の磁気ディスク装置では、ＣＫＤフォーマットの第一のレコードと第二のレコードを連続して読み出す際に、第一のレコードの読み出しの完了を待つことなく、第一のレコードのデータ部を読み出し中に、それと並行して、第二のレコードのカウント部を読み出しできるので、これらレコードの読み出し効率を向上することが出来る。
【０００８】
第３の観点では、本発明は、上記第１または第２の観点の磁気ディスク装置において、第一のチャネルからのレコード入出力要求によりＣＫＤフォーマットの第一のレコードを読み出すと共に第二のチャネルからのレコード入出力要求によりＣＫＤフォーマットの第二のレコードを読み出す際に、前記データ読み出し制御手段で第一のレコードを読み出すのと並行して前記カウント部読み出し制御手段で第二のレコードのカウント部を先読みすることにより、第一のレコードと第二のレコードの読み出しを高速化することを特徴とする磁気ディスク装置を提供する。
上記第３の観点の磁気ディスク装置では、第一のチャネルからの要求による第一のレコードと第二のチャネルからの要求による第二のレコードとを読み出す際に、第一のレコードの読み出しの完了を待つことなく、第一のレコードのデータ部を読み出し中に、それと並行して、第二のレコードのカウント部を読み出しできるので、これらレコードの読み出し効率を向上することが出来る。
【０００９】
第４の観点では、本発明は、各トラックが一定の長さのブロックに分割された固定長フォーマットのディスクにＣＫＤフォーマットのレコードを記憶した磁気ディスク装置から第一のレコードおよび第二のレコードを読み出すレコード読み出し方法であって、第一のレコードのデータ部を読み出し中に、それと並行して、第二のレコードのカウント部を読み出しておき、第一のレコードのデータ部の読み出し完了後、直ちに第二のレコードのデータ部を読み出し可能とすることを特徴とするレコード読み出し方法を提供する。
上記第４の観点のレコード読み出し方法では、第一のレコードの読み出しの完了を待つことなく、第一のレコードのデータ部を読み出し中に、それと並行して、第二のレコードのカウント部を読み出ししておくので、第一のレコードのデータ部の読み出し完了後、直ちに第二のレコードのデータ部を読み出しでき、複数のレコードの読み出し効率を向上することが出来る。
【００１０】
第５の観点では、本発明は、記憶装置から第一のレコードおよび第二のレコードを読み出すレコード読み出し方法であって、第一のレコードを読み出し中に、それと並行して、第二のレコードの読み出しに必要な情報を読み出しておき、第一のレコードの読み出し完了後、直ちに第二のレコードを読み出し可能とすることを特徴とするレコード読み出し方法を提供する。
上記第５の観点のレコード読み出し方法では、第一のレコードの読み出しの完了を待つことなく、第一のレコードを読み出し中に、それと並行して、第二のレコードの読み出しに必要な情報を読み出ししておくので、第一のレコードの読み出し完了後、直ちに第二のレコードを読み出しでき、複数のレコードの読み出し効率を向上することが出来る。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。なお、これにより本発明が限定されるものではない。
図１に、本発明の一実施形態に係る磁気ディスク装置を示す。
この磁気ディスク装置２３は、転送制御回路２４と、第一の上位転送制御回路Ａ２５および第二の上位転送制御回路Ｂ２６と、下位デバイス２７，２８，…から構成され、上位装置であるＣＰＵ２１および第一，第二のチャネル装置２２，２２に接続されている。
【００１２】
前記転送制御回路２４は、レコードの読み出し／書き込みを行う第一の転送制御部Ａ２９と、レコードのカウンタ部を一時的に保持するバッファ３０と、レコードの読み出し制御を行う演算回路３１と、その演算回路３１による制御下で前記転送制御部Ａ２９が実行する読み出し制御の情報を保持するメモリ３２と、前記転送制御部Ａ２９が動作中に独立してカウント部を読み出すことが出来る第二の転送制御部Ｂ３３とから構成される。
【００１３】
前記上位転送制御回路２５，２６は、ＣＰＵ２１からのディスク入出力要求を解釈し、その結果を前記転送制御回路２４に送る。
前記転送制御回路２４の演算回路３１は、前記上位転送制御回路２５，２６からのディスク入出力要求に対し、目的のレコードの検索を第二の転送制御部Ｂ３３を用いて実行する。目的のレコードの位置が決定されると、残りのキー部とデータ部の転送のための情報を前記メモリ３２に書き込み、前記第一の転送制御部Ａ２９にレコードの転送要求を送る。
前記第一の転送制御部Ａ２９は、前記メモリ３２の内容を読み込み、目的のレコードの転送を実行する。
なお、前記メモリ３２に書き込む内容には、目的のフィールド（キー部又はデータ部、又はその両方）の格納位置情報と、レコードを転送する要求のあった上位転送制御回路２５又は２６とが含まれる。
【００１４】
複数のレコードの転送要求があった場合、前記第二の転送制御部Ｂ３３は、前記第一の転送制御部Ａ２９とは独立して、ディスクからデータを読み出すことが出来る。このため、第一の転送制御部Ａ２９による第一のレコードの終了を待たずに、第二のレコードの検索及び読み出し制御を前記演算回路３１が行うことができる。また、その位置情報等を前記メモリ３２に保持することで、前記第一の転送制御部Ａ２９は、第一のレコードの転送を終了直後に第二のレコードの転送を実行することが可能になる。
【００１５】
図２に、単一のレコードの読み出し要求があった時の各部位の動作の時間関係を示す。
ステップ４１は、ＣＰＵ２１からの読み出し要求に対し、上位転送制御回路２５または２６が演算回路３１に対して下位デバイスからのデータ読み出し要求を行うことを示す。
ステップ４２は、読み出し要求があったレコードを検索するために演算回路３１が第二の転送制御部Ｂ３３を用いてカウント部の読み出しを行うことを示す。第二の転送制御部Ｂ３３は、下位デバイスからカウント部を読み出し、バッファ３０に格納する。
ステップ４３は、目的のレコードが検索されるまで演算回路３１が検索を繰り返すことを示す。演算回路３１は、バッファ３０に格納されたカウント部を読み出し、目的のレコードであるか否かを判定する。
ステップ４４は、目的のレコードの位置決めが完了したため、第一の転送制御部Ａ２９を用いてレコードの読み出しを行うことを示す。このとき、演算回路３１は、メモリ３２にレコードの転送制御情報を書き込む。
ステップ４５は、第一の転送制御部Ａ２９が、メモリ３２に書き込まれた転送制御情報を基にレコードの読み出しを行い、要求があった上位転送制御回路２５または２６に対してレコードを転送することを示す。
【００１６】
図３に、連続したレコードの読み出し要求（例えば、ＲＤ  ＴＲＫコマンド）があった時の各部位の動作の時間関係を示す。
ステップ５１からステップ５４までは、前記ステップ４１からステップ４４までと同じであり、第一のレコードの転送を実行することを示す。
ステップ５５，５６は、連続したレコードの読み出しであるため、演算回路３１が第一の転送制御部Ａ２９による第一のレコードの転送終了を待たずに、第二の転送制御部Ｂ３３を用いて第二のレコードの検索を実行することを示す。
ステップ５７は、演算回路３１が、検索終了後に第二のレコードの転送制御情報をメモリ３２に書き込むことを示す。第一の転送制御部Ａ２９は、第一のレコードの転送が終了すると、メモリ３２上の第二のレコードの転送制御情報を読み込み、第二のレコードの転送を開始する。
以上のように、第一の転送制御部Ａ２９により第一のレコードが転送されている時間と第二の転送制御部Ｂ３３により第二のレコードが検索されている時間とをオーバラップさせることで、連続するレコードの読み出しを高速化することが出来る。
【００１７】
図４に、複数のチャネル装置２２，２２から読み出し要求が行われた時の各部位の動作の時間関係を示す。
ステップ６１からステップ６４までは、前記ステップ４１からステップ４４までと同じであり、第一の上位転送制御部Ａ２５からの第一のレコード読み出し要求に対して該第一のレコードの転送を実行することを示す。
ステップ６５，６６は、第二の上位転送制御部Ｂ２６からの第二のレコード読み出し要求を示す。
ステップ６７は、演算回路３１が、第一の転送制御部Ａ２９による第一のレコードの転送と並行して、第二のレコードの検索を実行することを示す。
ステップ６８は、演算回路３１が、検索終了後、第二のレコードの転送制御情報をメモリ３２に書き込むことを示す。第一の転送制御部Ａ２９は、第一のレコードの転送が終了すると、メモリ３２上の第二のレコードの転送制御情報を読み込み、第二のレコードの転送を開始する。
【００１８】
以上のように、複数の上位転送制御回路２５，２６を持つことで、レコード多重転送を実現し、複数のチャネル装置２２，２２からの複数のコマンド制御を並行して処理でき、複数レコードの読み出しを高速化することが出来る。
【００１９】
【発明の効果】
本発明の磁気ディスク装置およびレコード読み出し方法によれば、第一のレコードの読み出し後、直ちに第二のレコードを読み出しできるので、複数のレコードの読み出し効率を向上することが出来る。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成図である。
【図２】単一のレコードの読み出しに係る各部位の動作の時間関係の説明図である。
【図３】連続する複数のレコードの読み出しに係る各部位の動作の時間関係の説明図である。
【図４】複数のチャネルからの要求に対する各部位の動作の時間関係の説明図である。
【図５】ＣＫＤフォーマットの説明図である。
【図６】従来の単一のレコードの読み出しに係る手順のフロー図である。
【符号の説明】
２１        ＣＰＵ
２２        チャネル装置
２３        磁気ディスク装置
２４        転送制御回路
２５        上位転送制御回路Ａ
２６        上位転送制御回路Ｂ
２９        転送制御部Ａ
３０        バッファ
３１        演算回路
３２        メモリ
３３        転送制御部Ｂ
【図１】
0003593608.tif 000002
【図２】
0003593608.tif 000003
【図３】
0003593608.tif 000004
【図４】
0003593608.tif 000005
【図５】
0003593608.tif 000006
【図６】
0003593608.tif 000007