(57)【特許請求の範囲】
【請求項１】
上位装置から発せられた、磁気ディスク媒体から所望のデータを読み出す旨のリード命令を入力するステップと、
リード処理でエラーが発生し、リトライ処理を行うステップと、
リトライ処理でリードが救済されるステップと、
救済されたデータを、前記リトライ処理の回数に応じて、バックアップ領域及び交替領域のうち、いずれか一方に格納するステップ
を有するリードの自動交替方法。
【請求項２】
上位装置から発せられた、磁気ディスク媒体へデータを書き込む旨のライト命令を入力するステップと、
磁気ディスク媒体へデータを書き込むステップと、
前記書き込んだデータを読み出す旨のリード命令が発せられるステップと、
リード処理でエラーが発生し、リトライ処理を行うステップと、
リトライ処理でリードが救済されるステップと、
救済されたデータを、前記リトライ処理の回数に応じて、バックアップ領域及び交替領域のうち、いずれか一方に格納するステップ
を有するリードの自動交替方法。
【請求項３】
請求項１又は請求項２記載のリードの自動交替方法において、各ステップが記載の順番に生ずるリードの自動交替方法。
【請求項４】
上位装置から発せられた、磁気ディスク媒体から所望のデータを読み出す旨のリード命令を入力するステップと、
リード処理でエラーが発生し、リトライ処理を行うステップと、
自然数Ｎ１、Ｎ２、Ｎ３の間に、Ｎ１＞Ｎ２＞Ｎ３＞０の関係が有るとき、前記リトライ処理の回数に応じて、次の３つのうちの１つを行うステップ
１）前記リトライ処理の回数が、第１のしきい値Ｎ１に等しいとき、リード処理不能を上位装置へ報告するステップ、
２）前記リトライ処理の回数が、第２のしきい値Ｎ２より大きく、第１のしきい値Ｎ１に満たないとき、リトライ処理で読み出したデータを、交替領域に書き込むステップ、
３）前記リトライ処理の回数が、第３のしきい値Ｎ３より大きく、第２のしきい値Ｎ２以下のとき、リトライ処理で読み出したデータを、バックアップ領域に書き込むステップ
を有するリードの自動交替方法。
【請求項５】
請求項４記載のリードの自動交替方法において、更に、
バックアップされたセクタがリード不能と判断されるステップと、
バックアップされたデータを上位装置へ発するステップ
を有するリードの自動交替方法。
【請求項６】
上位装置からのデータを格納する磁気ディスク媒体と、
上位装置と磁気ディスク媒体との間のデータ及びコマンドのやりとりを制御するハードディスクコントローラと、
欠陥セクタが発生した場合に欠陥セクタのアドレスと、交替先のセクタのアドレスとを格納する交替情報テーブル、及び、退避元のセクタのアドレスと、退避先のセクタのアドレスとを格納するバックアップ情報テーブルを格納する領域を有するメモリと、
リード処理でエラーが発生し、リトライ処理を行う場合において、リトライ処理の回数に応じて、リトライ処理で読み出したデータを、データの本来の格納位置、バックアップ領域及び交替領域へ、書き込む機能を有するマイクロプロセッサを有する磁気ディスク装置。
【請求項７】
請求項６記載の磁気ディスク装置において、更に、
前記マイクロプロセッサは、
前記交替領域へ移すべきデータの候補を、リードエラーに付随して行われるリトライ動作の回数を参照して抽出し、
一時的格納領域であるバックアップ領域に格納し、
その後のリトライ回数から、交替領域へ交替を行う際の優先順位を動的に決めている磁気ディスク装置。
【発明の詳細な説明】
技術分野
本発明は、パーソナルコンピュータやワークステーションを含む電子計算機のシステムにおいて、これらの情報格納に用いる磁気ディスク装置に関し、特に、データの信頼性を向上させる自動交替処理機能に関する。
背景技術
一般に、コンピュータ周辺機器である情報記憶装置の記憶容量の増加に伴ない、格納した情報（データ）の信頼性が重要視されてきている。電子計算機システムが、情報格納媒体上に格納された情報の単位に対する、読み出し処理又は書き込み処理を行う際に、何らかの障害が原因で、読み出し不能（エラー）又は書き込み不能が生ずることがある。かかるデータエラーの態様には、システムからのデータリード命令に対し読み出しができないこと、システムからのデータライト命令に対し、書き込み終了の後に、そのデータを読み出してみると、正常に書き込めていなかったことが判明したこと等がある。
このような場合に、データ格納の信頼性を向上させるひとつの技術として、自動交替機能が採用されている。ここで、自動交替処理機能とは、情報を格納する容量の一部分であって、情報を取り扱う単位の集合（例えば、磁気ディスク装置における磁気ディスク媒体のトラック上の複数のセクタ）とは別に、その情報の単位の複製を予め準備しておき、必要に応じて自動的に正副を交替して用いる機能をいう。
外部記憶装置として用いられる磁気ディスク装置においては、その記録密度が高く記憶容量も大きいため、データエラーの発生頻度が従来装置より高くなっている。
このため、パーソナルコンピュータなどに内蔵されるような磁気ディスク装置においては、磁気ディスク装置内に欠陥のあるセクタ（欠陥セクタ）の自動交替機能を設け、ライトエラーが発生した場合には、交替領域にライトし、またリードエラーが発生した場合には、リトライ回数の監視等を行って、交替領域にデータをライトすることにより、データの信頼性を高めることが一般的である。リードの自動交替処理は、どのようなタイミングでリードの交替処理を実行しデータを保証するかなどの観点が重要である。従来から以下のような種々の技術が提案されている。
例えば、特開平６−７５７１７「ハードディスクのリードエラーリカバリ方式」に示すように、リードエラーが発生した場合に再リードを行ない、再リード回数が所定回数に達する前に正常なリードが行われたならば同一エリアにライトを実施して、磁気ヘッドと磁気ディスクとの微妙なずれを回避する。また再リード回数が所定回数以上になったときは、他の領域に交替処理（他の交替領域にそのデータを格納すること）を行ない、リードデータの信頼性向上を図ろうとしている。特開平６−７５７１７では、リードエラーが発生した場合に再リードを行ない、再リード回数が所定回数に達する前に正常なリードが行われると、同一エリアにライトを実施している。
磁気ヘッドと磁気ディスクとの微妙なずれが原因である場合には、このような再度、データライト命令を実行することは有効である。しかし、セクタに微小バッド（微小な欠陥領域）が存在するためにエラーが生じたとき、即ち、媒体欠陥が原因のときは、ライトは正常にできても、リードでリトライを繰り返すという傾向がある。
発明の開示
本発明は、自動交替処理（特に、リードの際）の技術を磁気ディスク装置に適用し、次のような制御を行うものである。
本発明では、情報を取り扱う単位に対し、リードエラーを契機にその単位が欠陥となる兆候を有することを察知し、その単位の情報を一時的な格納領域（バックアップ領域）に一時的に避難させ（退避処理）、欠陥となる兆候を有する単位が確定的に欠陥と判断されたならば、その単位の情報を安全な格納領域（交替領域）へ移すのである。致命的なリードエラーと軽微なリードエラーとを区別して処置している。
換言すれば、交替領域へ移すべきデータの候補の優先順位を、リードエラーに付随して行われるリトライ動作の回数を参照して抽出し、バックアップ領域なる一時的格納領域に格納し、その後のリトライ回数の蓄積状況、タイムスタンプその他の情報から、動的に決めている。
本発明では、ある領域、情報を取り扱う単位又はセクタに対し、再リード回数が所定回数に達する前に、正常なリードが行われたときに、その内容を従来のように直接に更新するのではなく（その領域、情報を取り扱う単位又はセクタにデータライト命令を実行するのではなく）、予め用意されたデータのバックアップ領域に、その内容を保持し、バックアップ情報テーブルを用いて管理している。そして、バックアップ領域に保持された情報の単位のうち確定的に欠陥と判断された単位について、その内容を交替領域へ移行させて、リードエラー発生の際の信頼性を向上するのである。
リードの自動交替機能を備える磁気ディスク装置において、
１）磁気ディスク装置の記憶容量を利用するユーザ（電子計算機システム）のデータを格納するユーザデータ領域の他に、ユーザデータを一時的に退避させるバックアップ領域、欠陥となったユーザデータ領域やセクタの代わりを勤める交替領域及び管理データを格納する管理領域を磁気ディスク媒体上に予め設ける。
２）磁気ディスク装置において、あるセクタへのリード処理でエラーが発生し、リトライ処理でそのセクタに対するリード処理が救済できた後に、ホスト（上位処理装置、電子計算機システム）から当該セクタへのライトコマンドを受け取った場合には、退避元セクタ（救済されリード処理が為されたセクタ）へのデータの更新が生ずることとなる。このとき、退避元セクタとバツクアップ領域（より具体的には、バツクアップ領域における退避先である退避先セクタ）にデータを書き込む（同一データの二重書き）。
３）あるセクタへのリード処理でエラーが発生した場合に、そのセクタが欠陥の兆候があるセクタであると判断する機能を備え、バックアップ領域への退避処理を行う。つまり、リードのリトライ処理において、退避処理しきい値を設け、これを越えるリトライが生じた後に読み出しができたならば、そのセクタのデータをバックアップ領域へ退避させるのである。
４）退避元セクタがリード不能となった場合に、退避先セクタのデータを用いてリード不能を回避する。
５）あるセクタへのリード処理でエラーが発生した場合に、そのセクタが欠陥であると判断する機能を備え、交替領域への交替処理を行う。つまり、リードのリトライ処理において、交替処理しきい値を設け、これを越えるリトライが生じたならば、そのセクタが欠陥であると判断するのである。
６）欠陥セクタのアドレスを登録する交替元アドレス記録部と、欠陥セクタの代わりに用いられる交替セクタのアドレスを登録する交替先アドレス記録部を備えた交替情報テーブルにより、かかる交替の処理を管理する。
７）欠陥の兆候があるセクタ（兆候セクタ）として、そのアドレスを登録する退避元アドレス記録部と、バックアップ領域に兆候セクタのバックアップ（一時的格納）として登録する退避先セクタの退避先アドレス記録部と、リトライ累積回数を登録するリトライ累積回数記録部と、登録の優先順位を管理する優先順位記録部を備えたバックアップ情報テーブルにより退避処理の管理を行う。バックアップ情報テーブルの登録は、累積リトライ回数の多いものを高い優先順位に割付ける。新たに生じた兆候セクタは必ず登録し（欠陥セクタその他の情報については登録は任意である）、累積リトライ回数が多く最近アクセスされたものを優先的に保持する。
発明を実施するための最良の形態
第１図から第１３図に本発明の実施の態様を示す。
第３図に、メモリ３３を内蔵する磁気ディスク装置３を用いた、パーソナルコンピュータの構成例を示す。
つまり、このパーソナルコンピュータでは、その一部を構成する中央処理装置１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）又はホスト１と、外部記憶装置としての磁気ディスク装置３を有している。この基本構成は、いわゆる大型計算機システムの上位装置としてのホスト１と、外部記憶装置としての磁気ディスク装置３であっても良い。
磁気ディスク装置３は、マイクロプロセッサ３１、ハードディスクコントローラ３２、メモリ３３及びディスク２（磁気記録媒体）からなる。マイクロプロセッサ３１は、磁気ディスク装置３の制御を行い、ハードディスクコントローラ３２は、ホスト１、ディスク２のデータ及びコマンドのやりとりなどの制御を受け持っている。メモリ３３は、ホスト１からアクセスされたデータを保持する領域と、ディスク２に格納されている管理情報である交替情報テーブル４とバックアップ情報テーブル５を格納する領域を持っている。
第４図は、ディスク２の構成を示したものである。記憶媒体である複数のディスク２の各々の両面に、同心円状に複数のトラック２２が設けられている。各々のトラック２２には、データの記録単位の一種であるセクタが複数個設けられている。また、個々のディスク２の両面には、それぞれディスク２の回転中心からの距離が互いにほぼ等しい状態で、当該ディスク２の径方向に同時に同一方向に移動して目的のトラック２２上への位置付け動作（シーク動作）を行う、複数の磁気ヘッドが対向して配置されている。この磁気ヘッドを介して任意のトラック２２に対する前記セクタの記録又は再生が行われる。またトラック２２は、ユーザデータの記録又は読出しを行うユーザデータ領域２２ａ、交替情報テーブル４とバックアップ情報テーブル５を格納する管理領域２２ｂ、交替処理の交替先データを格納する交替領域２２ｃ及び退避処理の退避先データを格納するバックアップ領域２２ｄを有する。
上位のホスト１からの任意のアクセスは、このシリンダ２１のシリンダ番号、ヘッド番号及びセクタ番号のアドレスなどを指定して行われるものである。
第１図は交替情報テーブル４の構成の一例を、第２図はバックアップ情報テーブル５の構成の一例を、それぞれ、示したものである。これらはディスク２の管理領域２２ｂに格納されており、磁気ディスク装置への電源投入直後に、又は、ディスク２からデータのリード及びデータのライトをする前に、メモリ３３内の格納領域に展開し、交替処理及び退避処理の管理を行うものである。尚、磁気ディスク装置の電源遮断前、又は、電源投入後の所定時間の経過後、これらの管理データを管理領域２２ｂに保存するようにし、次の電源投入直後の使用に備えるようにしても良い。
交替情報テーブル４（第１図）は、交替元アドレス記録部４１と交替先アドレス記録部４２を備える。そして欠陥セクタが発生した場合に、欠陥セクタのアドレスを交替情報テーブル４の交替元アドレス記録部４１に、交替先のセクタである交替セクタのアドレスを交替先アドレス記録部４２に、それぞれ、追加登録ができるように構成されている。これにより、リード及びライトする場合に欠陥セクタを回避してディスク２へのアクセスを行うことが可能となる。
更に、バックアップ情報テーブル５（第２図）は、退避元アドレス記録部５１と退避先アドレス記録部５２と累積リトライ回数記録部５３及び優先順位記録部５４を備える。そしてディスク２からのリードで欠陥の兆候があるセクタ（欠陥の兆候セクタ）であると判断された場合に、当該セクタアドレスをバックアップ情報テーブル５の退避元アドレス記録部５１に、バックアップ領域２２ｄの退避先セクタのアドレスを退避先アドレス記録部５２に、それぞれ、追加登録ができるように構成されている。これにより、次のリードに際し欠陥の兆候セクタが突然リード不能になった場合に、退避先アドレスのリードにより、リードエラーを回避することが可能となる。
また、後述する退避元又は退避先アドレスの二重ライト処理化に伴うパフォーマンスの劣化に対処するため、バックアップ情報テーブル５の登録数に制限を設け、累積リトライ回数記録部５３と優先順位記録部５４により登録数の管理を行う。これにより優先順位の高いバックアップ情報を常時保持することが可能となる。
具体的には、再リード回数の上限を管理する最大リトライ回数Ｎ１の他に、第２のリトライ回数Ｎ２（交替処理しきい値）、第３のリトライ回数Ｎ３（退避処理しきい値）を設ける。
リトライ回数Ｎ２は、交替処理を実行するか否かの判断を行う目的で使用するパラメータであって、最大リトライ回数Ｎ１より少ない。リトライ回数Ｎ３は、退避処理を実行するか否かの判断を行う目的で使用するパラメータであって、リトライ回数Ｎ２より少ない（ただし、０回ではない）。
ディスク２からのリード処理でリードエラーが発生したときは、再度、リードを行なう。リトライ回数が退避処理しきい値を超え、且つ、交替処理しきい値以下で正常なリードが行われたときは、欠陥の兆候セクタと判断する。そして、リードした当該セクタデータをバックアップ領域へライトし、バックアップ情報テーブル５の更新を行う。
また、リトライ回数が交替処理しきい値を超えて、正常なリードが行われた場合は、欠陥セクタと判断し、リードした当該セクタデータを交替領域へライトし、交替情報テーブル４の更新を行う。
もし、リトライ回数が最大リトライ回数Ｎ１になるまで正常なリードができなかった場合には、バックアップ情報テーブル５を検索し、当該セクタのアドレスが退避元アドレス記録部５１に登録されている時は、バックアップ領域の退避先アドレスのセクタをリードする。その後、リード不能となった退避元アドレスを欠陥セクタと判断し、退避先アドレスのデータを交替領域にライトし、交替情報テーブル４の更新を行うことによりリード不能を回避する。本発明の実施によりバックアップ情報テーブル５がどのように更新されて行くか、その例を第５図から第８図に示す。いづれも最大登録数５の場合である。
第５図において、バックアップ情報テーブル５に空きがあり（５ａ、更新箇所を意味する。以下、５ｂから５ｋまで、５ｍにおいて同じ。）、欠陥の兆候セクタの追加登録が必要となった場合に、退避元アドレス記録部５１に欠陥の兆候セクタのアドレス、累積リトライ回数記録部５３にリトライ回数を登録する（５ｂ）。既にバックアップ情報テーブル５に登録されている他の累積リトライ回数との比較を行い、累積リトライ回数が多いか等しい場合には、優先順位を高く設定して優先順位記録部５４の再割付けを行う（５ｃ）。これにより、欠陥の兆候セクタのデータ保証が可能となる。
第６図において、バックアップ情報テーブル５の登録数が最大数登録数に達した後に、欠陥の兆候セクタの追加登録が必要となった場合に、登録されている優先順位記録部５４の最下位の登録（５ｄ）を削除し、退避元アドレス記録部５１に欠陥の兆候セクタのアドレス、累積リトライ回数記録部５３にリトライ回数を登録する（５ｅ）。第５図と同様に、既に登録されている累積リトライ回数の比較を行い、累積リトライ回数が多いか等しい場合には、優先順位を高く設定して優先順位記録部５４の再割付けを行う（５ｆ）。これにより、最近アクセスした欠陥の兆候セクタのデータ保証が可能となる。
第７図において、バックアップ情報テーブル５に既に登録されている退避元アドレス（５ｇ）で欠陥の兆候セクタと判断するリトライ回数が発生した場合に、今回のリトライ回数を累積リトライ記録部５３に加算し（５ｈ）、累積リトライ回数が多いか等しい場合には、優先順位を高く設定して優先順位記録部５４の再割付けを行う（５ｉ）。
第８図において、バックアップ情報テーブル５に既に登録されている退避元アドレス（５ｊ）でリトライ回数が交替処理しきい値を超えた場合、又は、リード不能により交替処理が発生した場合、バックアップ情報テーブル５の当該セクタの退避元アドレス、累積リトライ回数を登録から削除し（５ｋ）交替処理を行う。また、登録削除により優先順位の再割付けを行う（５ｍ）。以上、Ｎ２＞リトライ５回＞Ｎ３の場合で説明した。次に本発明の実施の態様であるリード自動交替制御の動作の一例を説明する。
第９図に、リード処理の制御フローを示す。ホスト１（第３図）は、ハードディスクコントローラ３２に、シリンダ２１のシリンダ番号、ヘッド番号、セクタ番号などを指示して磁気ディスク装置３に対するリード要求を発する。
磁気ディスク装置３は、ディスク２へアクセスするため、ホスト１からの論理アドレスをディスク２上の物理アドレスに変換を行なう（第９図、１０１ステップ）。そして、リトライカウンタを０にクリアする（１０２ステップ）。その後、ディスク２からデータのリードを行ない（１０３ステップ）、ＥＣＣ等のリードエラーの発生の有無をチェックする（１０４ステップ）。
リードエラーが発生した場合には、リトライカウンタに１を加算し（１０７ステップ）、リトライカウンタが最大リトライ回数Ｎ１に達っするか否かの判定を行い（１０８ステップ）、否であれば再びリード処理（１０３ステップ）を行う。
リードが正常に行われた場合には、リトライカウンタの内容がＮ３より大きいか否かのチェックを行う（１０５ステップ）。リトライカウンタがＮ３（退避処理しきい値）以下の場合は、再びリード処理（１０３ステップ）を行うことなしに、正常リードが実施されたものと判断してホスト１からのリード処理を終了する。
リトライカウンタがＮ３（退避処理しきい値）を超えた場合には、交替処理しきい値（Ｎ２）に達しているか否かのチェックを行う（１０６ステップ）。リトライカウンタの内容が交替処理しきい値（Ｎ２）以下の場合は、第１０図に示すバックアップ領域への退避処理を実行する。リトライカウンタの内容がＮ２を超えている場合には、第１１図の交替領域への交替処理を実施する。リトライカウンタの内容が、リードの最大リトライ回数Ｎ１に達した場合（１０８ステップ）には、第１２図のリード不能時の処理を実施する。
第１０図のバックアップ領域への退避処理について説明する。
最初に、エラーした当該セクタのアドレスが、バックアップ情報テーブル５に登録されているか否かの検索を行う（２０１ステップ）。既に登録されている場合は、バックアップ情報テーブル５の累積リトライ回数記録部５３に今回のリトライ回数を加算する（２０３ステップ）。一方、登録されていない場合は、バックアップ情報テーブル５の登録数が最大登録数になっているか否かのチェックを行ない（２０６ステップ）、バックアップ情報テーブル５に登録の空きがない場合は、優先順位記録部５４の最も低い登録の退避元アドレスを削除し（２０７ステップ）、今回発生した欠陥の兆候セクタの内容を登録する領域を確保する。これは、最近アクセスされたものを優先的に残すためのものである。今回リードした当該セクタのデータをバックアップ領域へライトし（２０８ステップ）、退避元アドレス記録部５１に今回のセクタのアドレス、累積リトライ回数記録部５３にリトライ回数を新規に登録する（２０９ステップ）。そして、新規登録又は既登録の累積リトライ回数の加算を行ったため、優先順位記録部５４の優先順位の再割付け処理を実行する（２０４ステップ）。更新されたバックアップ情報テーブル５をディスク管理領域のバックアップ情報格納アドレスにライトする（２０５ステップ）。
次に第１１図の交替領域への交替処理について説明する。
最初に、当該セクタアドレスがバックアップ情報テーブル５に登録されているか否かの検索を行う（３０１ステップ）。既に登録されている場合は、交替領域にライトするためにバックアップを行う必要がなくなる。このためバックアップ情報テーブル５の当該セクタのアドレスの登録情報を削除する（３０３ステップ）。その後、登録削除により生じた順位の乱れを治癒すべく、バックアップ情報テーブル５の優先順位記録部５４の再割付け処理を実行する（３０４ステップ）。次にディスク管理領域のバックアップ情報テーブル５の格納アドレスにライトする（３０５ステップ）。そして、今回リードしたデータを交替領域にライトし（３０６ステップ）、交替情報テーブル４の交替元アドレス記録部４１に今回リードしたセクタのアドレスを登録し、交替先アドレス記録部４２に交替領域の交替先アドレスを登録し、ディスク管理領域の交替情報テーブル４の格納アドレスにライトする（３０７ステップ）。
次に第１２図のリード不能時の処理について説明する。
最初に、エラーした当該セクタのアドレスがバックアップ情報テーブル５に登録されているか否かの検索を行う（４０１ステップ、４０２ステップ）。登録されていない場合は、ホスト１にリードエラーの報告を行う処理を実行する（４１３ステップ）。もし、バックアップ情報テーブル５に登録がある場合には、リトライカウンタを０にクリアする（４０３ステップ）。その後、ディスク２から当該セクタの退避先アドレスのリードを行ない（４０４）、ＥＣＣ等にリードエラーが発生しているかの有無をチェックする（４０５ステップ）。
その結果、リードが正常に行われた場合は、当該セクタのアドレス登録をバックアップ情報テーブル５から削除する（４０６ステップ）。バックアップ情報テーブル５の優先順位記録部５４の再割付け処理を実行し（４０７ステップ）、ディスク管理領域のバックアップ情報テーブル５の格納アドレスにライトする（４０８ステップ）。そして、今回リードしたデータを交替領域にライトし（４０９ステップ）、交替情報テーブル４の交替元アドレス記録部４１に今回リード不能となった退避元アドレスを登録し、交替先アドレス記録部４２に交替領域の交替先アドレスを登録し、ディスク管理領域の交替情報テーブル４の格納アドレスにライトする（４１０ステップ）。
また、退避先アドレスのリードができない場合には、リトライカウンタに１を加算し（４１１ステップ）、リードの最大リトライ回数Ｎ１に等しいか否かをチェックする（４１２ステップ）。Ｎ１に満たないとき退避先アドレスのリード処理（４０４ステップ）から繰り返す。そして退避先アドレスのリードができない結果となったとき（リトライ回数がＮ１に達したとき）には、ホスト１にリードエラーを報告する（４１３）。
次に、上記で説明した交替処理、及び退避処理を実施した場合の、ライト処理動作の一例を説明する。第１３図はライト処理の制御フローを示したものである。
ホスト１は、ハードディスクコントローラ３２にシリンダ２１のシリンダ番号、ヘッド番号、セクタ番号などを指示して磁気ディスク装置３に対するライト要求を発する。磁気ディスク装置３は、ディスク２にアクセスするため、論理アドレスから物理アドレスへの変換を行ない（５０１ステップ）、ディスク２へのライトを行う前に交替情報テーブル４を検索する（５０２ステップ）。
交替情報に登録されている場合、前記の物理アドレスを交替先アドレスに再設定する（５０９ステップ）。次に、アクセスするアドレスがバックアップ情報テーブル５に登録されているか検索する（５０４ステップ）。登録されている場合、退避処理を実行していることを示す退避処理フラグを１に設定する（５１０ステップ）。登録されていない場合は０を設定する、換言すれば退避処理フラグのクリアを行う（５０６ステップ）。次にライト処理を実行し（５０７ステップ）、退避処理フラグが１の場合は、同一データを退避先アドレスにライトする（５１１ステップ）。これにより、バックアップ情報テーブル５に登録されている退避元と退避先アドレスのデータを同じに保つことができ、バックアップ情報テーブル５に登録されている退避元データがリードエラーになった場合でも、退避先アドレスのデータを参照することが可能となる。
本発明によれば、リトライによるデータアクセス時間の長期化を抑制しつつ、磁気ディスク装置の実用に耐える装置寿命を延ばすことができる。具体的には、本発明の磁気ディスク装置３によれば、欠陥セクタを管理する交替情報テーブル４に加え、欠陥の兆候のあるセクタの退避元アドレスと退避先アドレスを保持するバックアップ情報テーブル５を備え、また退避先アドレスにデータを退避するバックアップ領域を備えることにより、欠陥の兆候のあるセクタのデータを保証することが可能となる。
また、バックアップ情報テーブル５には、累積リトライ回数を保持する記録部を備え、この累積リトライ回数値により優先順位を決定することで、使用頻度の高いデータの保証が可能となる。
更にリード不能となった場合には、リード不能セクタの内容がバックアップ情報テーブル５に登録されているときは、リード不能を回避することが可能となる。これにより、データを失うことが少ない磁気ディスク装置の実現が可能となる。
【図面の簡単な説明】
第１図は、本発明の自動交替制御技術の管理テーブルのうち、交替情報テーブルを説明するための図である。
第２図は、本発明の自動交替制御技術の管理テーブルのうち、バックアップ情報テーブルを説明するための図である。
第３図は、メモリを内蔵する磁気ディスク装置とホストとの構成を示す図である。
第４図は、磁気ディスク媒体上の各格納領域を説明するための概念図である。
第５図は、本発明のバックアップ情報テーブルに空きがある場合のデータの登録を説明するための概念図である。
第６図は、本発明のバックアップ情報テーブルが満杯である場合のデータの追加登録を説明するための概念図である。
第７図は、本発明のバックアップ情報テーブルに既に登録されていたリトライ回数の更新を説明するための概念図である。
第８図は、本発明のバックアップ情報テーブルに、既に登録されていたアドレスが交替処理により削除されることを説明するための概念図である。
第９図は、本発明の磁気ディスク装置から、ユーザデータをリードする際の処理フローである。
第１０図は、バックアップ領域への退避処理のフローである。
第１１図は、交替領域への交替処理のフローである。
第１２図は、データのリード不能が発生した場合の処理フローである。
第１３図は、退避処理、交替処理を実施した後のライト処理のフローである。
【図１】
0003860967.tif 000002
【図２】
0003860967.tif 000003
【図３】
0003860967.tif 000004
【図４】
0003860967.tif 000005
【図５】
0003860967.tif 000006
【図６】
0003860967.tif 000007
【図７】
0003860967.tif 000008
【図８】
0003860967.tif 000009
【図９】
0003860967.tif 000010
【図１０】
0003860967.tif 000011
【図１１】
0003860967.tif 000012
【図１２】
0003860967.tif 000013
【図１３】
0003860967.tif 000014