(57)【要約】【課題】ディスク装置において交替領域を使用する際のアクセス時間を短縮する。【解決手段】ディスク記録媒体へデータを書き込むとき、書き込み領域に欠陥セクタが含まれていても書き込みを行い、欠陥セクタ対応データを交替トラックの複数のセクタへそれぞれ記録する。欠陥セクタを含む一連のセクタに記録されたデータをリードする場合、欠陥セクタのデータをもバッファメモリに読み出し、続けて交替トラックに記録された複数の欠陥セクタ対応データの中から適切なデータを読み出すことによりシーク時間＋回転待ち時間を短縮する。【選択図】  図１
2004171603.tif 000002
【特許請求の範囲】
【請求項１】
ホストからのライトコマンドに対しディスク記録媒体の書き込み領域へデータを書き込みかつ前記書き込み領域に存在する欠陥セクタに割り当てられた交替トラックへ前記欠陥セクタに対する欠陥セクタ対応データを複数書き込む手段と、
ホストからのリード命令に対し前記ディスク記録媒体の書き込み領域に書き込まれたデータと前記交替トラックへ書き込まれた前記複数の欠陥セクタ対応データの中の適切な欠陥セクタ対応データとを読み出してメモリへ格納する手段と、
メモリに格納された前記各データから所定のデータを生成してホストへ転送する手段とを有するディスク装置。
【請求項２】
前記ディスク記録媒体の書き込み領域へデータを書き込むとき、前記領域における欠陥セクタの有無にかかわらず書き込むことを特徴とする請求項１記載のディスク装置。
【請求項３】
前記ディスク記録媒体の書き込み領域に書き込まれたデータを読み出すとき、前記領域における欠陥セクタの有無にかかわらず読み出すことを特徴とする請求項１又は請求項２記載のディスク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク装置の交替領域にある交替トラックを使用する技術に関する。
【０００２】
【従来の技術】
ディスク装置において、工場出荷後に何らかの要因によりディスク記録媒体上の一部が書き込み又は読み出し不能になった場合には、その装置全体を不良とするのではなく、欠陥セクタ（書き込み又は読み出し不能なセクタ）のデータのみを交替領域に割付け、欠陥セクタ対応データ（本来、欠陥セクタに記録すべきデータ）を記録することによって、書き込み又は読み出し不能にならないよう対処している。交替領域は大抵、各ゾーンの最後に数トラックの交替トラックを割り当てている。あるいは、各トラックの最後尾に数セクタの交替用セクタを用意している。
【０００３】
従来のディスク装置において、欠陥セクタ対応データを交替トラックに記録する方法、および交替トラックに記録されたデータを読み出す方法を図４に示す。
交替トラックの使用については、デイフェクトテーブル（図示省略）を用意して、欠陥セクタの位置およびそれに対応する欠陥セクタ対応データをどこ（交替トラックＮｏ、交替セクタＮｏ）に書き込んだかをテーブル内に記憶する。
【０００４】
ライトコマンドがホストから発行され、データを書き込む領域に欠陥セクタが存在する場合、以下の手順によりデイフェクトテーブルを参照して、ディスク記録媒体にデータを書き込む。ここでは、説明のため欠陥セクタ４４が１つ存在するとして説明する。まず、書き込み要求データを書き込むための割り当てトラック４１において欠陥セクタ４４の手前までのセクタへ書き込み要求データの前半を、書き込み要求データ前半の格納セクタ４３（通常複数）に書き込む。次に、ヘッドを交替トラック４２に移動させる（シーク１）。ディスク回転待ちの後、欠陥セクタ４４に対する欠陥セクタ対応データを交替トラック４２の交替セクタ４６に書き込む。この時、交替セクタ４６は交替トラックの先頭から順に使用される。最後に、ヘッドを再び、元の割り当てトラック４１に移動させる（シーク２）。ディスク回転待ち後、書き込み要求データの後半を欠陥セクタ４４の後の書き込み要求データ後半の格納セクタ４７（通常複数）に記録する。
【０００５】
リードコマンドがホストから発行され、上記の欠陥セクタを含む一連のセクタに記録されたデータをリードする場合、ディスク装置はデイフェクトテーブルを参照して、以下の手順によりディスク記録媒体からデータを読み出す。まず、要求データが記録されている割り当てトラック４１の読み出し要求データが記録されている先頭のセクタから欠陥セクタ４４の手前までのデータを読み出しディスク装置内のキャッシュバッファ（図示せず）に転送する。次に、ヘッドを交替トラック４２に移動させる。回転待ちした後、交替セクタ４６に記録されたデータをキャッシュバッファに転送する。その後、ヘッドを再度元の割り当てトラック４１に移動させて、ディスク回転待ちした後、欠陥セクタ４４の後のセクタに記録されているデータをキャッシュバッファに転送する。ホストへの転送は、キャッシュバッファの連続領域に格納された上記各データを連続してホストに転送する。
【０００６】
また他にも、欠陥セクタを含み、読み出し要求データが記録されている先頭のセクタから最終のセクタのデータまでを先ず読み込んで、その後、交替トラックにヘッドを移動させて、欠陥セクタに対するデータをリードするという方法があった（例えば、特許文献１およひ特許文献２参照）。
【０００７】
【特許文献１】
特開平４−１７８９７６
【０００８】
【特許文献２】
特開昭６３−３１６３６８
【０００９】
【発明が解決しようとする課題】
従来のディスク装置では、ディスク記録媒体における欠陥セクタが存在する領域のデータを読む場合、上記のように、一般的には読み取り要求データが記録されている先頭のセクタから欠陥セクタの手前までのデータを読み込み、次に、欠陥セクタ対応データが交替トラックに記録されているときは、該当する交替トラックにヘッドを移動させ、欠陥セクタに対応するデータを読み出す。この場合には、交替トラックまでのシークが必要になる。
【００１０】
また、通常、交替トラックにある交替セクタは先頭から順に使用するため、場合によっては、シ−クにより該当する交替セクタの直後にへッドが位置した場合には、ほぼ１周のディスク回転待ちが必要であった。
その後、再び欠陥セクタより後のデータが記億されている通常トラックにヘッドを移動させて、読み取り要求データが記録されている最終のセクタまでのデータの読み取りを行うためのシークが必要であった。
【００１１】
このように、交替トラックに記録された欠陥セクタ対応データの読み出しには時間がかかっていた。データの書き込み時においても同様に、交替トラックへの欠陥セクタ対応データの書き込みには時間がかかっていた。
特開平４−１７８９７６においては、欠陥セクタを含んで要求データの最後までデータを読み出し、その後、交替トラックにヘッドを移動して欠陥セクタ対応データを読むことによりアクセス時間を短縮する方法を開示している。また、特開昭６３−３１６３６８においては、交替トラックに欠陥セクタ対応データを書き込む場合、欠陥セクタを含む一連のセクタのデータの書き込み又は読み出しのときに、欠陥セクタのデータを含めて先ず書き込み又は読み出しを行い、その後、欠陥セクタのデータの処理を一括して行うことにより、ヘッドの移動回数を減らしアクセス時間を短縮する方法を開示している。
【００１２】
本発明では、交替トラックを利用する場合において、ディスク回転待ち時間を短縮すると共にヘッドの移動回数を減らすことより、アクセス時間を短縮したディスク装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本願の請求項１に記載の発明は、ホストからのライトコマンドに対しディスク記録媒体の書き込み領域へデータを書き込みかつ前記書き込み領域に存在する欠陥セクタに割り当てられた交替トラックへ前記欠陥セクタに対する欠陥セクタ対応データを複数書き込む手段と、ホストからのリード命令に対し前記ディスク記録媒体の書き込み領域に書き込まれたデータと前記交替トラックへ書き込まれた前記複数の欠陥セクタ対応データの中の適切な欠陥セクタ対応データとを読み出してメモリへ格納する手段と、メモリに格納された前記各データから所定のデータを生成してホストへ転送する手段とを有するディスク装置である。
【００１４】
本願の請求項２に記載の発明は、前記ディスク記録媒体の書き込み領域へデータを書き込むとき、前記領域における欠陥セクタの有無にかかわらず書き込むことを特徴とする請求項１記載のディスク装置である。
本願の請求項３に記載の発明は、前記ディスク記録媒体の書き込み領域に書き込まれたデータを読み出すとき、前記領域における欠陥セクタの有無にかかわらず読み出すことを特徴とする請求項１又は請求項２記載のディスク装置である。
【００１５】
本願の請求項１に記載の発明によれば、ディスク記録媒体の記録領域に既に欠陥セクタとしてディフェクトテーブルに記載されている欠陥セクタ、あるいは、通常セクタが書き込み又は読み出し不能となったことにより新たに欠陥セクタとしてディフェクトテーブルに記載されたセクタを含め、これら欠陥セクタ対応データを、交替トラックにて、好ましくは均等に分散された複数箇所の交替セクタに記録する。
【００１６】
すなわち、１つの欠陥セクタ対応データ（本来、１つの欠陥セクタに記録すべきデータ）を、交替トラック上の１つの交替セクタに１対１で記録するとして、例えば、交替トラック上の１８０°に向かいあった位置の２つの交替セクタに、それぞれ欠陥セクタ対応データを１つづつを記録する。また、６箇所に記録する場合は、交替トラック上の３０°毎の位置にある６つの交替セクタに、欠陥セクタ対応データをそれぞれ１つづつ、計６つを記録する。
【００１７】
欠陥セクタと通常セクタ（正常なセクタ）を含む一連のセクタへのリードコマンドがホストから発行された時、欠陥セクタを含めてその一連のセクタに記録されたデータをすべて一旦、バッファメモリに読み出し、続けてディスク記録媒体に用意されている交替トラックから欠陥セクタ対応データを、例えば、６つの交替セクタに各々記録しておいた場合、６つの交替データの中の適切な交替セクタから欠陥セクタ対応データを読み出してメモリへ格納する手段により、通常トラックから交替トラックへのヘッド移動時間を予測し、かつ、ヘッドが移動した後、６つの交替セクタのうち最も早く読み取れる位置の交替セクタから欠陥セクタ対応データをバッファメモリに読み出して、ディスク回転待ち時間を減少させる。
【００１８】
また、本願の請求項２の発明によれば、交替トラックを使用する場合のディスク回転待ち時間を減少させると共に、データをディスク記録媒体に書き込むときのシーク回数が減少する。
また、本願の請求項３の発明によれば、交替トラックを使用する場合のディスク回転待ち時間を減少させると共に、データをディスク記録媒体に書き込み、読み出し時のシーク回数が減少する。
【００１９】
【発明の実施の形態】
図１に、本発明の説明図を示す。
ホスト（上位）に接続されたディスク装置１は、制御部２、ディスク記録媒体３、キャッシュバッファ４、ディフェクトテーブル１０、図示されていないヘッド・ポジショナ、ヘッド、電源、各種回路等から構成されている。
【００２０】
制御部２は、ディスク内の各部の制御をするためのものであり、ディスク記録媒体３の回転停止動作、ヘッド（図示省略）のシークやトラッキングといったポジショニング、ヘッドによるディスク記録媒体３へのデータ書き込み、ディスク記録媒体３からのデータ読み出し動作をはじめ、シーク命令の発行、ホストやディスク記録媒体３からのデータをキャッシュバッファ４のどこに格納するかの先頭・最終アドレス等による指定、コマンドの要求データに対応するディスク記録媒体３上に欠陥セクタを含むかどうかの判断、交替領域へのシーク命令発行、ホスト転送ポインタＡ８とホスト転送ポインタＢ９との切り替えなどを行う。ここで、ホスト転送ポインタは２つを例示してあるが、欠陥セクタの数に応じて多数あってもかまわない。
【００２１】
本発明では、交替用に割り当てられた交替トラックを先頭から順に使用するのではなく、同―交替トラック上にほぼ均等に分散されて位置する複数セクタに、欠陥セクタ対応データをそれぞれ記録する。そのため、欠陥セクタの位置と、交替セクタが交替領城のどの位置（トラック、セクタ）に記憶されているかの対応を示すディフェクトテーブル１０には、１つの欠陥セクタに対して、交替トラック上の複数セクタに同じデータが記憶されていることをセットしておく。例えば、ディフェクトテーブル１０においては、欠陥セクタＤ１に対し、交替トラックＡｔ１上のセクタＡｓ１、Ａｓ２、Ａｓ３の３箇所が同じ欠陥セクタ対応データを記憶する領域であることが示されている。
【００２２】
これらの欠陥セクタ対応データは、どの交替トラック上の何箇所に均等に分散するかが制御部２によって制御される。
欠陥セクタを含むデータをディスク記録媒体３からキャッシュバッファ４へ格納する際には、まず、欠陥セクタデータを挟んだ要求データに対応する先頭セクタから最終セクタまでのデータ読み出してキャッシュバッファ４の要求データ領域５に格納する。次に、ヘッドが交替トラックにシークした後、交替セクタの中から適切な交替セクタにある欠陥セクタ対応データを読み出し、欠陥セクタ対応データ領域７に格納する。
【００２３】
要求データの長さは、ホストがコマンドを発行する際実行しているアプリケーションによって異なる。よって、欠陥セクタを挟んだリードコマンドに対応する最終セクタは、欠陥セクタのすぐ直後であることも、離れた位置にあることもある。しかしどのようなコマンドであろうと、交替トラック上の欠陥セクタ対応データを記録したセクタは交替トラック上で均等に分散されているので、ヘッドが交替トラック上にオントラックした後、最初にヘッドを通過する該当セクタのデータを読み取ることにより回転待ち時間を最短にすることができる。
【００２４】
また、ホストヘデータを転送する際には、ホスト転送用ポインタＡ８、ホスト転送用ポインタＢ９を切り換え、ＦＩＦＯ１１（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔメモリ）を経由してホストへ転送する。上記の要求データ領域５と欠陥セクタ対応データ領域７は、キャッシュバッファ４上で別々の位置に格納されるため、ホスト転送ポインタＡ８を使用して要求先頭から欠陥セクタデータ領域６の直前までのデータをＦＩＦＯ１１へ転送した後、ホスト転送ポインタＢ９に切り替えて、欠陥セクタ対応データ領域７のデータをＦＩＦＯ１１へ転送する。その後、再びホスト転送ポインタＡ８に切り替えて、欠陥セクタ以降のデータをＦＩＦＯ１１へ転送する。ホストへは、連続してデータ転送を行うことができる。
（実施例）
図５によって、交替トラックへ書き込まれた複数の欠陥セクタ対応データの中から適切なデータを読み出す手段を説明する。ディスク装置の制御部（図示省略）からのリード命令に従い、対応する通常トラック５０上の要求データを含む一連のセクタ５１（先頭セクタ５２、中間に含まれる欠陥セクタ５３、最終セクタ５４とする）からデータを連続して読み出しキャッシュバッファ（図示省略）に読み出す。欠陥セクタ５３から読み出したデータは正常なデータではないが、とにかく連続して読み出す。
【００２５】
欠陥セクタ５３に書くべき正常データは、交替トラック５５上に１２０°づつ均等に分散された３箇所の位置にあるＡセクタ５６、Ｂセクタ５７、Ｃセクタ５８にそれぞれ書き込まれている。欠陥セクタ５３が存在する通常トラック５０から交替トラック５５までの予想シーク時間をディスク装置の制御部が計算し、要求最終セクタ５４からデータを読み出し終わる位置からヘッドが交替トラック５５にシークしてディスク記録媒体の回転速度から最も早くリードできるデータとして、例えば、Ａセクタ５６をこの場合における適切なセクタであることを算出すると、Ａセクタ５６にあるデータを読むためのシーク命令を発行する。
【００２６】
ここで、通常トラック５０にある欠陥セクタを含む一連のセクタにデータ書き込み又は読み出しをする場合、共に、欠陥セクタにもデータを書き込み又は読み出し、その後、ヘッドを交替トラック５５にシークさせ、欠陥セクタに対応した正常なデータを書き込み又は読み出す。
要求データに欠陥セクタが含まれる場合のデータ書き込みとデータ読み出しをフロー図を使って説明する。
【００２７】
第２図は、本発明のライトフローを示す。
ディスク装置の制御部がディスク記録媒体へライトコマンドを決定すると、制御部は，ライトする先頭セクタへのシーク命令を発行し、ヘッドは要求データを書き込むセクタが存在するシリンダへシークし（Ｓ２０１）、回転待ちの後に要求データを該当する先頭セクタから最終セクタへ書き込む（Ｓ２０２）。この際，欠陥セクタには正しい値は格納できない。つぎに、制御部は，交替シリンダへのシーク命令を発行する（Ｓ２０３）。制御部は、フォーマット情報（ディスクメモリ内に記憶）から交替トラックのセクタ数を抽出する。更に制御部は、欠陥セクタ対応データを所定の数、書き込みできるようにライトセクタ間隔を算出し、ディフェクトテーブルを作成しながら交替トラック上に均等に分散された複数セクタに書き込む（Ｓ２０４）。
【００２８】
第３図は、本発明のリードフローを示す。
ディスク装置がリードコマンドをホスト（上位）から受け取ると、制御部がコマンドの内容から，リードであること，要求サイズ，要求アドレスがどのシリンダのどのセクタから開始されるデータ（ディスク内に変換テーブルがある）か、ディフェクトの有無などを抽出する。つぎに、制御部は，前記の結果により、キャッシュバッファ内に要求サイズのデータを格納する領域（図１の要求データ領域５）を確保し、ホスト転送ポインタＡ８を記憶する。
【００２９】
つぎに、要求データが存在するシリンダへのシーク命令を発行する。ヘッドが要求データの存在するシリンダへ移動し（Ｓ３０１）、回転待ちの後に要求データの先頭セクタから最終セクタまでのデータを読み（Ｓ３０２）、キャッシュバッファ内領域（図１の要求データ領域５）に格納する。途中、欠陥のために正しくないデータが存在するが欠陥セクタを含めてリードを行う。
つぎに、制御部は，交替トラックから読み出すデータ（正常データ）を格納する領域（図１における欠陥セクタ対応データ領域７）をキャッシュバッファ内に確保して、ホスト転送ポインタＢ９を記憶する。また、制御部は、要求データが存在するシリンダから交替シリンダへの予想シーク時間を算出する。さらに制御部は，ディスク記録媒体の回転速度からそのシーク時間でディスク記録媒体が回転する角度を算出し、図１におけるディフェクトテーブル上の「交替領域での記憶領域」にセットした複数の交替セクタの中から、要求最終セクタの位置（角度）から最短時間で読み出すことのできるセクタの交替トラック上の位置（角度）を算出する。こうすることで、同一トラック上に複数格納した欠陥セクタ対応データの中から、読み出すべきデータ位置を設定する。
【００３０】
そしてヘッドが交替シリンダへ移動し（Ｓ３０３）、回転待ちの後、上記の欠陥セクタ対応データを読み出し（Ｓ３０４）、図１の欠陥セクタ対応データ領域７に格納する。制御部は、ホスト転送ポインタＡ８を用い，要求先頭セクタから欠陥セクタ直前までのデータを要求データ領域５からＦＩＦＯ１１を経由してホストへ転送する（Ｓ３０５）。
【００３１】
つぎに制御部は、ホスト転送ポインタＢ９を用い、欠陥セクタ対応データ領域７のデータをＦＩＦＯ１１を経由してホストへ転送する（Ｓ３０６）。
つぎに制御部は、ホスト転送ポインタＡ８を用い欠陥セクタの後のセクタから要求最終セクタまでのデータを，要求データ領域５からＦＩＦＯ１１を経由してホストへ転送する（Ｓ３０７）。
【００３２】
ここで、上記における説明では、ライトまたはリード要求に対し、該当する一連のセクタの中に、欠陥セクタが１つ存在する場合の説明をしたが、該当する一連のセクタの中に、欠陥セクタが複数存在する場合であっても構わない。
また、上記の説明においては、同心円状のトラックを有するディスク記録媒体について説明したが、スパイラル状のトラックを有するディスク記録媒体を使用する場合には、例えば、１本の半径線上に記録されるインデックス符号間のトラックを同心円状トラックにおける１つのトラックとみて、これらトラックを等しいセクタに分割することにより、同心円状トラックを有するディスク記録媒体と同様に本発明を適用できる。
【００３３】
また、ホスト転送ポインタＢ９を用いず、交替トラックからの読み出しデータを要求データ領域５の欠陥セクタデータ領域６に上書きしてもよい。この場合には、ホストへのデータ転送には、ＦＩＦＯ１１を経由しないで行う。
【００３４】
【発明の効果】
本発明では、交替トラック上の均等に離れた複数箇所に同じデータを記憶しているため、回転待ち時間を少なくすることができる。また、キャッシュバッファ内では、要求データのうち欠陥セクタへ記憶されたデータは別の領域に格納されるため、ホストへの転送は、読み出し用のポインタを複数用意し、キャッシュバッファからホストへのデータ転送を、例えば、ＦＩＦＯメモリを経由することによって、正しい順序で連続してホストへデータ転送できる。
【００３５】
さらに、一連の要求データに対し、欠陥セクタが存在する領域においてデータ書き込みおよびデータ読み出しする場合でも、データを一度に書き込み又は読み出した後、交替トラックへシークするため、シーク回数を減らすことができ、アクセス時間を大幅に減少させることができる。
【図面の簡単な説明】
【図１】本発明の説明図。
【図２】本発明のライトフロー。
【図３】本発明のリードフロー。
【図４】従来の交替トラック使用の説明図。
【図５】適切な交替セクタを選び出す手段の説明図。
【符号の説明】
１・・・・・ディスク装置
２・・・・・制御部
３・・・・・ディスク記録媒体
４・・・・・キャッシュバッファ
５・・・・・要求データ領域
６・・・・・欠陥セクタデータ領域
７・・・・・欠陥セクタ対応データ領域
８・・・・・ホスト転送ポインタＡ
９・・・・・ホスト転送ポインタＢ
１０・・・・・ディフェクトテーブル
１１・・・・・ＦＩＦＯ
【図１】
2004171603.tif 000003
【図２】
2004171603.tif 000004
【図３】
2004171603.tif 000005
【図４】
2004171603.tif 000006
【図５】
2004171603.tif 000007