(57)【要約】【課題】ディフェクトとして登録されているセクタのディフェクト状況の悪化を検査することで、ディスク記憶装置の故障予知に適切に利用できるようにする。【解決手段】ディフェクト管理リスト上の各ディフェクトセクタについて、当該セクタからのデータ読み出しを行い、その時点におけるエラー訂正可能なエラー訂正レベルを測定する（Ｓ９〜Ｓ１２）。そして、各ディフェクトセクタについてエラー訂正レベルを測定する毎に、その測定されたエラー訂正レベルをもとにエラー訂正レベルの経時変化を検出し（Ｓ１４，Ｓ１５）、その検出結果をもとに、当該セクタのディフェクト状況の悪化の程度を表すディフェクト状況悪化レベルを検出する（Ｓ１６）。【選択図】　　図７
2004030852.tif 000002
【特許請求の範囲】
【請求項１】
ディスク上のディフェクトセクタをディフェクト管理リストにより管理するディスク記憶装置において、ディフェクトセクタのディフェクト状況の悪化を検査するための方法であって、
ディフェクト状況検査モードが設定される毎に、前記ディフェクト管理リスト上の各ディフェクトセクタについて、当該セクタからのデータ読み出しを行い、その時点におけるエラー訂正可能なエラー訂正レベルを測定するステップと、
前記ディフェクト管理リスト上の各ディフェクトセクタについて、前記測定されたエラー訂正レベルをもとにエラー訂正レベルの経時変化を検出するステップと、
前記ディフェクト管理リスト上の各ディフェクトセクタについて、前記エラー訂正レベルの経時変化検出結果をもとに、当該セクタのディフェクト状況の悪化の程度を表すディフェクト状況悪化レベルを検出するステップと
を具備することを特徴とするディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項２】
前記ディフェクト管理リスト上の各ディフェクトセクタについて、最初に測定されたエラー訂正レベルを、初期エラー訂正レベルとして保存するステップを更に具備し、
前記エラー訂正レベル経時変化検出ステップでは、前記測定されたディフェクトセクタのエラー訂正レベルを、当該セクタの初期エラー訂正レベルと比較することでエラー訂正レベルの経時変化を検出する
ことを特徴とする請求項１記載のディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項３】
前記エラー訂正レベル測定ステップでは、ディフェクトセクタからのデータ読み出しをエラー訂正レベルを段階的に上げながら繰り返すことにより、その時点におけるエラー訂正可能なエラー訂正レベルを測定することを特徴とする請求項１記載のディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項４】
前記ディフェクト管理リスト上の各ディフェクトセクタについて測定されたエラー訂正レベルを、当該セクタの最新のエラー訂正レベルとして保存するステップを更に具備し、
前記エラー訂正レベル測定ステップでは、エラー訂正レベルを、測定対象となるディフェクトセクタについて既に測定されている最新のエラー訂正レベルから段階的に上げる
ことを特徴とする請求項３記載のディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項５】
前記ディフェクト管理リスト上の各ディフェクトセクタのディフェクト状況悪化レベルから、前記ディスク記憶装置の故障診断を行うステップを更に具備することを特徴とする請求項１記載のディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項６】
前記ディフェクト状況検査モードにおいて、予め定められたディフェクト状況悪化レベル毎に、その悪化レベルについて検出されたセクタ数を保存するステップであって、前記ディフェクト状況悪化レベルが検出される都度、当該検出されたディフェクト状況悪化レベルに対応して保存されているセクタ数を１インクリメントするステップを更に具備することを特徴とする請求項１記載のディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項７】
前記ディフェクト状況悪化レベル毎のセクタ数から前記ディスク記憶装置の故障診断を行うステップを更に具備することを特徴とする請求項６記載のディフェクトセクタのディフェクト状況の悪化を検査するための方法。
【請求項８】
ディスク上のディフェクトセクタをディフェクト管理リストにより管理するディスク記憶装置において、
前記ディスクから読み出されたデータのエラー訂正が可能であり、且つエラー訂正レベルが可変設定可能なディスクコントローラと、
ディフェクト状況検査モードが設定される毎に、前記ディフェクト管理リスト上の各ディフェクトセクタについて、前記ディスクコントローラのエラー訂正レベルを段階的に上げながら、当該セクタからのデータ読み出しを制御することで、その時点におけるエラー訂正可能なエラー訂正レベルを測定する手段と、
前記ディフェクト管理リスト上の各ディフェクトセクタについて、前記エラー訂正レベル測定手段の測定結果をもとにエラー訂正レベルの経時変化を検出する手段と、
前記ディフェクト管理リスト上の各ディフェクトセクタについて、前記エラー訂正レベル経時変化検出手段の検出結果をもとに、当該セクタのディフェクト状況の悪化の程度を表すディフェクト状況悪化レベルを検出する手段と
を具備することを特徴とするディスク記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク上のディフェクトセクタをディフェクト管理リストにより管理するディスク記憶装置に係り、特にディフェクトセクタのディフェクト状況の悪化を検査するための方法及び装置に関する。
【０００２】
【従来の技術】
記憶媒体にディスク（ディスク媒体）を用いたディスク記憶装置として、磁気ディスク装置が知られている。磁気ディスク装置では、当該装置の出荷時に、ディスク上の全セクタについてディフェクト検査が行われる。もし、ディフェクト検査の対象となった、本来論理アドレス（論理ブロックアドレス）が割り当てられるべきセクタが当該ディフェクト検査でディフェクトであると判定された場合、同一トラック上の後続する正常なセクタのうち、ディフェクトと判定されたセクタ（ディフェクトセクタ）に最も近いセクタが、当該論理アドレスのセクタとして割り当てられる。そこで、磁気ディスク装置の出荷時には、ディフェクト検査をもとに、論理アドレスと当該アドレスが割り当てられるセクタとの関係を登録したプライマリ・リスト（Ｐリスト）と呼ばれる第１のディフェクト管理リストが生成される。このリストは、磁気ディスク装置に実装されているディスク上の一般にシステム領域と呼ばれる特定領域に保存される。このリストを参照することで、ホストから指定された論理アドレスが割り当てられているセクタを認識できる。
【０００３】
また、磁気ディスク装置では、当該装置の出荷後のセクタアクセスでエラーが発生した場合に、エラーとなったセクタがディフェクトセクタであるかが、例えばリトライ処理を実行することで調べられる。もし、ディフェクトセクタであると判定された場合、その新たにディフェクトセクタ（後発ディフェクト）として判定されたセクタに、例えば上記システム領域内に予め確保されている代替領域内のセクタが代替セクタとして割り当てられる。このディフェクトセクタと代替セクタとの対応関係は、グローイング（Ｇｒｏｗｉｎｇ）・リスト（Ｇリスト）と呼ばれる第２のディフェクト管理リストに登録される。この第２のディフェクト管理リストは第１のディフェクト管理リストと同様に、ディスク上のシステム領域に保存される。この第２のディフェクト管理リストを参照することで、アクセスすべきセクタが後発ディフェクトの場合に、その代替セクタを認識できる。
【０００４】
【発明が解決しようとする課題】
上記したように従来の技術においては、磁気ディスク装置（ディスク記憶装置）の出荷時のディフェクト検査でディフェクトとして検出されたセクタについての情報と、出荷後のセクタアクセスでエラーとなって最終的にディフェクト（後発ディフェクト）と認定されたセクタについての情報をディフェクト管理リストに登録している。したがって従来の技術においては、ホストから要求されたセクタアクセスを、上記リストに従って正しく実行することが可能となる。
【０００５】
ところで、磁気ディスク装置では、ディスクからのデータの読み出しとディスクへのデータの書き込みに用いられるヘッドの特性が経時変化して劣化することがある。この場合、ディスク自体は正常でも、新たに検出されるディフェクトセクタが著しく増加する虞がある。また、ディスク自体が経時変化して、新たに検出されるディフェクトセクタが著しく増加することもある。そこで、このような状態を検出することで、磁気ディスク装置の故障を予知することが考えられる。
【０００６】
しかし、新たに検出されるディフェクトセクタが著しく増加した状態では、磁気ディスク装置が既に故障に近い状態にある可能性がある。この場合、磁気ディスク装置に保存されているデータを他の記憶装置に正しくバックアップできなくなる虞もある。つまり、新たに検出されるディフェクトセクタが著しく増加したことをもって、磁気ディスク装置の故障の前兆であると判定することは、必ずしも適切な故障予知とはいえない。
【０００７】
本発明は上記事情を考慮してなされたものでその目的は、既にディフェクトであるとして登録されているセクタのディフェクト状況の悪化を検査することにより、ディスク記憶装置の故障予知に適切に利用できる、ディフェクトセクタのディフェクト状況の悪化を検査するための方法及び装置を提供することにある。
【０００８】
【課題を解決するための手段】
本発明の１つの観点によれば、ディスク上のディフェクトセクタをディフェクト管理リストにより管理するディスク記憶装置において、ディフェクトセクタのディフェクト状況の悪化を検査するための方法が提供される。この方法は、ディフェクト状況検査モードが設定される毎に、上記ディフェクト管理リスト上の各ディフェクトセクタについて、当該セクタからのデータ読み出しを行い、その時点におけるエラー訂正可能なエラー訂正レベルを測定するステップと、上記ディフェクト管理リスト上の各ディフェクトセクタについて、上記測定されたエラー訂正レベルをもとにエラー訂正レベルの経時変化を検出するステップと、上記ディフェクト管理リスト上の各ディフェクトセクタについて、上記エラー訂正レベルの経時変化検出結果をもとに、当該セクタのディフェクト状況の悪化の程度を表すディフェクト状況悪化レベルを検出するステップとから構成される。
【０００９】
上記の構成においては、ディスク上のセクタのうち、ディフェクトとして検出されてディフェクト管理リストに登録されている全セクタ、即ち全ディフェクトセクタを対象に、ディフェクト状況検査モードが設定される毎に、当該ディフェクトセクタのディフェクト状況が悪化している程度を表すディフェクト状況悪化レベルが、その時点においてエラー訂正可能なエラー訂正レベルの測定結果をもとに検出される。このディフェクトセクタのディフェクト状況悪化レベルは、ディスク上の当該セクタの周辺部またはディスク記憶装置全体の状況悪化の前兆を表す有効な指標となる。したがって、ディフェクト状況検査モードを適宜設定してディフェクトセクタ毎のディフェクト状況悪化レベルを検査することで、ディスク記憶装置の故障予知に適切に利用可能となる。ここで、ディフェクト状況検査モードは、ディスク記憶装置内で定期的に或いは電源投入時の初期化処理で設定すればよい。また、ディスク記憶装置を利用するホストシステムから定期的に或いは電源投入時に或いはユーザからの指定により設定してもよい。
【００１０】
また、上記の構成に、上記ディフェクト管理リスト上の各ディフェクトセクタについて、最初に測定されたエラー訂正レベルを、初期エラー訂正レベルとして保存するステップを追加し、上記エラー訂正レベル経時変化検出ステップでは、測定されたディフェクトセクタのエラー訂正レベルを、当該セクタの初期エラー訂正レベルと比較することでエラー訂正レベルの経時変化を検出するならば、各ディフェクトセクタのエラー訂正レベルの経時変化を簡単に検出できる。
【００１１】
また、上記の構成におけるエラー訂正レベル測定ステップで、ディフェクトセクタからのデータ読み出しをエラー訂正レベルを段階的に上げながら繰り返すことにより、その時点におけるエラー訂正可能なエラー訂正レベルを測定するならば、各ディフェクトセクタの最新のエラー訂正レベルを高精度の検出できる。
【００１２】
また、上記の構成に、上記ディフェクト管理リスト上の各ディフェクトセクタについて測定されたエラー訂正レベルを、当該セクタの最新のエラー訂正レベルとして保存するステップを追加し、上記エラー訂正レベル測定ステップでは、エラー訂正レベルを、測定対象となるディフェクトセクタについて既に測定されている最新のエラー訂正レベルから段階的に上げるならば、各ディフェクトセクタの最新のエラー訂正レベルを効率的に検出できる。
【００１３】
また、上記の構成に、上記ディフェクト状況検査モードにおいて、予め定められたディフェクト状況悪化レベル毎に、その悪化レベルについて検出されたセクタ数を保存するステップであって、上記ディフェクト状況悪化レベルが検出される都度、当該検出されたディフェクト状況悪化レベルに対応して保存されているセクタ数を１インクリメントするステップを追加するとよい。このようにすると、ディフェクト状況悪化レベル毎のセクタ数の分布を表す情報、つまりどの程度の数のディフェクトセクタがどの程度悪化しているかの情報を取得できるため、ディスク記憶装置の故障予知に最適な指標として利用可能となる。
【００１４】
なお、上記ディフェクトセクタのディフェクト状況の悪化を検査するための方法に係る本発明は、当該方法を適用する装置（ディスク記憶装置）に係る発明としても成立する。
【００１５】
【発明の実施の形態】
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する。
【００１６】
図１は本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図である。
【００１７】
図１の磁気ディスク装置（以下、ＨＤＤと称する）１において、１１はデータが磁気記録される記録媒体としてのディスク（磁気ディスク媒体）、１２はディスク１１へのデータ書き込み（データ記録）及びディスク１１からのデータ読み出し（データ再生）に用いられるヘッド（磁気ヘッド）である。ヘッド１２は、ディスク１１の各記録面に対応してそれぞれ設けられているものとする。なお、図１の構成では、単一枚のディスク１１を備えたＨＤＤを想定しているが、ディスク１１が複数枚積層配置されたＨＤＤであっても構わない。
【００１８】
ディスク１１の各記録面には、ユーザから利用可能なユーザ領域１１ａと、欠陥セクタの代替先となる代替トラックが確保された代替領域及びシステム管理に必要な情報を保存する管理領域を含むシステム領域１１ｂとが割り当てられている。システム領域１１ｂは、システムのみが使用する、つまりユーザからは見えない非ユーザ領域である。
【００１９】
システム領域１１ｂ（内の管理領域）には、ディスク１１上のディフェクトセクタを管理するための、図２に示すディフェクト管理リスト１１０が保存される。このディフェクト管理リスト１１０は、ＨＤＤ１の出荷時のディフェクト検査で検知されたディフェクトセクタを管理するための、第１のディフェクト管理リストとしてのＰリスト（プライマリ・リスト）１１１と、ＨＤＤ１の出荷後のセクタアクセスで検出されたディフェクトセクタを管理するための、第２のディフェクト管理リストとしてのＧリスト（グローイング・リスト）１１２とから構成される。
【００２０】
Ｐリスト１１１は、図３に示すデータ構造のアドレスマップ１１３をもとに作成される。このアドレスマップ１１３は、ディスク１１上の全セクタ（物理セクタ）の物理アドレスと当該セクタに割り当てられる論理アドレスとの対応を表す。なお、図３中の記号×は、対応するセクタがディフェクトセクタであり、論理アドレスが割り当てられていないことを示す。図３の例では、物理アドレスが３と６と７のセクタ（セクタ３，６及び７）がディフェクトセクタである。ここでは、物理アドレス０乃至２のセクタ（セクタ０乃至２）には、それぞれ論理アドレス０乃至２が割り当てられる。この場合、物理アドレスに対する論理アドレスのずれ（オフセット）は０である。また、物理アドレス４及び５のセクタ（セクタ４及び５）には、それぞれ論理アドレス３及び４が割り当てられる。この場合、オフセットは１である。また、物理アドレス８のセクタ（セクタ８）には論理アドレス５が割り当てられる。この場合、オフセットは３である。
【００２１】
明らかなように、図３のアドレスマップ３０により、ＨＤＤ１の出荷時のディフェクト検査で検知されたディフェクトセクタを管理することは可能である。しかし、アドレスマップ３０で、ディスク１１上の全てのセクタについて、ディフェクトセクタであるか否かと、正常なセクタである場合に、当該セクタに割り当てられる論理アドレスとを管理する場合、当該アドレスマップ３０は極めて膨大なものとなる。そこで本実施形態では、アドレスマップ３０に代えて、ディスク１１上の正常なセクタに割り当てられる論理アドレスのうち、対応するセクタの物理アドレスとのオフセット量が変化する最初のセクタに割り当てられる論理アドレスとその際のオフセット量との対応を記述した、図２中のＰリスト１１１を適用している。図３のアドレスマップ３０の例に対応するＰリスト１１１には、論理アドレス０とオフセット０との対と、論理アドレス３とオフセット１との対と、論理アドレス５とオフセット３との対が含まれている。論理アドレス０とオフセット０との対と、次の論理アドレス３とオフセット１との対とから、論理アドレス０乃至２が、そのまま物理アドレス０乃至２のセクタに割り当てられていることが分かる。また、論理アドレス３とオフセット１との対と、次の論理アドレス５とオフセット３との対とから、論理アドレス３及び４が、物理アドレス４及び５のセクタに割り当てられていることが分かる。
【００２２】
Ｇリスト１１２は、出荷後のセクタアクセスで検出された全てのディフェクトセクタについて、図２に示されているように、当該ディフェクトセクタの物理アドレスと、当該ディフェクトセクタに代えて用いられるセクタ、つまり代替セクタの物理アドレスとの対を含む。代替セクタには、ディスク１１のシステム領域１１ｂ上に確保されている代替領域のセクタが用いられる。
【００２３】
システム領域１１ｂ（内の管理領域）にはまた、ディスク１１上のディフェクトセクタについて、ディフェクトとして検出された後のディフェクト状況を管理するための、図４に示すディフェクト状況リスト１１３が保存される。このディフェクト状況リスト１１３は、エラー訂正レベルリスト１１４及びディフェクト悪化状況リスト１１５とから構成される。
【００２４】
エラー訂正レベルリスト１１４は、各ディフェクトセクタについて、当該ディフェクトセクタのエラー訂正が可能なエラー訂正レベルの初期値及び最新値を含む。ディフェクト悪化状況リスト１１５は、予め定められたディフェクト状況の悪化の程度を表すディフェクト状況悪化レベル毎に、該当するディフェクトセクタの数を含む。なお、ディフェクトセクタの数に加えて、当該ディフェクトセクタのアドレスを含めることで、ディフェクト状況悪化レベル毎に、該当するディフェクトセクタが識別可能な構成としてもよい。
【００２５】
再び図１を参照すると、ディスク１１はスピンドルモータ（以下、ＳＰＭと称する）１３により高速に回転する。ヘッド１２はヘッド移動機構としてのアクチュエータ（ロータリ型ヘッドアクチュエータ）１４に取り付けられており、当該アクチュエータ１４の回動（角度回転）に従ってディスク１１の半径方向に移動する。これにより、ヘッド１２は、目標トラックの目標位置にシーク・位置決めされるようになっている。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（以下、ＶＣＭと称する）１５を有しており、当該ＶＣＭ１５により駆動される。ＳＰＭ１３及びＶＣＭ１５は、ＶＣＭ・ＳＰＭドライバ１６からそれぞれ供給される駆動電流により駆動される。ＶＣＭ・ＳＰＭドライバ１６からそれぞれ供給される駆動電流を決定するための値（制御量）は、ＣＰＵ１７により決定される。
【００２６】
ＣＰＵ１７はＨＤＤ１の主制御部をなし、当該ＨＤＤ１内の他の要素を制御する。このＣＰＵ１７による制御には、ＨＤＤ１を利用するパーソナルコンピュータ等のホストシステム２からのリードまたはライトコマンドを受け付けた場合に、当該コマンドの指定する論理アドレスをディスク１１上の物理アドレスに変換し、その物理アドレスで指定されるセクタが存在するトラック（目標トラック）にヘッド１２をシーク・位置決めする制御が含まれている。また、ＣＰＵ１７による制御には、目標トラックへのシーク・位置決め後に、ＨＤＣ２１による指定セクタとの間のデータ転送制御も含まれている。ＣＰＵ１７はまた、セクタアクセスで新たにディフェクトセクタを検出した場合に、当該ディフェクトセクタを代替セクタに割り当てる代替セクタ処理を行う。ＣＰＵ１７は更に、故障予知の一環として実行されるセルフテスト（自己診断テスト）の新規項目として、ディフェクト管理リスト１１０に登録されている各ディフェクトセクタについて、当該セクタのディフェクト状況の悪化を検査する。この検査は、エラー訂正レベル、つまりエラーが訂正可能なバースト数の経時変化を観測することで実現される。
【００２７】
ＣＰＵ１７はＣＰＵバス１８に接続されている。ＣＰＵバス１８には、ＣＰＵが実行すべきプログラム（制御プログラム）が格納されているＲＯＭ１９と、ＣＰＵ１７が使用するワーク領域等が割り当てられるＲＡＭ２０と、ディスクコントローラ（以下、ＨＤＣと称する）２１と、ＨＤＤの制御に必要な諸信号の生成を行うゲートアレイ２２とが接続されている。
【００２８】
ＨＤＣ２１は、ホストシステム２から転送されるコマンド（リード／ライトコマンド等）を受信すると共に、ホストシステム２とＨＤＣ２１との間のデータ転送を制御するインタフェース制御機能を有する。ＨＤＣ２１はまた、ディスク１ｌとＨＤＣ２１との間のデータ転送を制御するディスク制御機能と、バッアァＲＡＭ２５を制御するバッファ制御機能とを有する。ＨＤＣ２１はまた、ヘッド１２によりディスク１１から再生されたデータに含まれる誤りの訂正を可能にするために、ホストシステム２から転送されるユーザデータ（記録するデータ）に基づき、冗長データとしてのＥＣＣを生成するＥＣＣ生成回路（図示せず）を有する。ＨＤＣ２１は更に、ヘッド１２によりディスク１１から読み出されて、ヘッドＩＣ２３及びリード／ライトＩＣ２４を介して転送されたデータに誤りが生じている場合に、当該データに付されているＥＣＣをもとに誤りを訂正するＥＣＣエラー訂正回路（図示せず）を有する。なお、誤りを訂正できるバースト数（バイト数）は有限であり、ＥＣＣの長さ、つまりエラー訂正レベルに関係する。
【００２９】
ヘッド１２はヘッドＩＣ（ヘッドアンプ回路）２３と接続されている。ヘッドＩＣ２３はヘッド１２により読み出されたリード信号を増幅するリードアンプ（図示せず）、及びライトデータをライト電流に変換するライトアンプ（図示せず）を有する。ヘッドＩＣ２３は、リード／ライトＩＣ（リード／ライトチャネル）２４と接続されている。リード／ライトＩＣ２４は、リード信号に対するＡ／Ｄ（アナログ／ディジタル）変換処理、ライトデータの符号化処理及びリードデータの復号化処理等の各種の信号処理を実行する。
【００３０】
ＨＤＣ２１は、ＣＰＵバス１８以外に、ゲートアレイ２２、リード／ライトＩＣ２４及びバッアァＲＡＭ２５にも接続されている。ＨＤＣ２１はまた、ホストシステム２とホストインタフェース３を介して接続されている。
【００３１】
ホストシステム２からのリードコマンドの実行時には、当該コマンドで指定される論理アドレスに対応する物理アドレスで示されるディスク１１上の領域に記録されているデータ信号がヘッド１２によって読み出される。ヘッド１２により読み出された信号（アナログ信号）はヘッドＩＣ２３により増幅され、リード／ライトＩＣ２４によって復号化される。ＨＤＣ２１は、リード／ライトＩＣ２４によって復号化されたデータをゲートアレイ２２からの制御用の各信号に従って処理することにより、ホストシステム２に転送すべきデータ（リードデータ）を生成する。このデータは一旦バッファＲＡＭ２５に格納されてからホストシステム２に転送される。
【００３２】
ホストシステム２からのライトコマンドの実行時には、ホストシステム２からＨＤＣ２１に転送されたデータ（ライトデータ）は一旦バッアァＲＡＭ２５に格納された後、ゲートアレイ２２からの制御用の各信号に従ってＨＤＣ２１によりリード／ライトＩＣ２４に転送される。このリード／ライトＩＣ２４に転送されたライトデータは符号化されて、ヘッドＩＣ２３を経由してヘッド１２に導かれ、当該ヘッド１２により、上記コマンドで指定される論理アドレスに対応する物理アドレスで示されるディスク１１上の領域に書き込まれる。
【００３３】
バッアァＲＡＭ２５には、ホストシステム２とＨＤＤ１（内のＨＤＣ２１）との間で転送されるデータを一時格納するのに用いられるデータバッファ（図示せず）のための領域が確保されている。バッアァＲＡＭ２５にはまた、図２中のディフェクト管理リスト１１０に相当するディフェクト管理リスト２５０と、図４中のディフェクト状況リスト１１３に相当するディフェクト状況リスト２５３とを格納するため領域が確保されている。ディフェクト管理リスト２５０は、図５に示すように、Ｐリスト２５１及びＧリスト２５２を含む。Ｐリスト２５１及びＧリスト２５２は、図２中のＰリスト１１１及びＧリスト１１２に相当する、ディフェクト状況リスト２５３は、図５に示すように、エラー訂正レベルリスト２５４及びディフェクト悪化状況リスト２５５を含む。エラー訂正レベルリスト２５４及びディフェクト悪化状況リスト２５５は、図４中のエラー訂正レベルリスト１１４及びディフェクト悪化状況リスト１１５に相当する。なお、ディフェクト管理リスト２５０及びディフェクト状況リスト２５３を、バッアァＲＡＭ２５ではなくて、ＲＡＭ２０に格納するようにしても構わない。
【００３４】
次に、図１に示した構成のＨＤＤ１の動作について、故障予知のためのセルフテスト（自己診断テスト）の項目として新規に追加されたディフェクト状況検査を実行する場合を例に、図６及び図７のフローチャートを適宜参照して説明する。なお、本実施形態においてセルフテストは、一定時間間隔、例えば２４時間間隔で、ＨＤＤ１において自動的に実行されるものとする。しかし、セルフテストが、ホストシステム２からの指示により、ＨＤＤ１にて実行される構成とすることも可能である。
【００３５】
ＨＤＤ１では、電源が投入されると、当該ＨＤＤ１の初期化処理が行われる。この初期化処理において、ＣＰＵ１７は、ディスク１１のシステム領域１１ｂに保存されているディフェクト管理リスト１１０中のＰリスト１１１及びＧリスト１１２のコピーを、ディフェクト管理リスト２５０中のＰリスト２５１及びＧリスト２５２として、バッアァＲＡＭ２５に格納する。またＣＰＵ１７は、システム領域１１ｂに保存されているディフェクト状況リスト１１３中のエラー訂正レベルリスト１１４のコピーを、ディフェクト状況リスト２５３中のエラー訂正レベルリスト２５４として、バッアァＲＡＭ２５に格納する。更にＣＰＵ１７は、ディフェクト状況リスト１１３中のディフェクト悪化状況リスト１１５と同一構造の初期化されたディフェクト悪化状況リスト２５５をバッアァＲＡＭ２５に格納する。この初期化されたディフェクト悪化状況リスト２５５中のディフェクト状況悪化レベル毎のディフェクトセクタ数は、全て初期値０に設定されている。ＣＰＵ１７は、ディスク１１のシステム領域１１ｂに保存されているディフェクト管理リスト１１０及びディフェクト状況リスト１１３をアクセスする代わりに、バッアァＲＡＭ２５内のディフェクト管理リスト２５０及びディフェクト状況リスト２５３をアクセスすることにより、ディフェクト管理リスト及びディフェクト状況リストを高速にアクセスする。
【００３６】
ＣＰＵ１７は、セルフテスト中でディフェクト状況検査を実行するモード（ディフェクト状況検査モード）が設定されると、バッアァＲＡＭ２５に格納されているディフェクト管理リスト２５０（中のＰリスト２５１及びＧリスト２５２）により示される全てのディフェクトセクタについて、図６及び図７のフローチャートに従い、以下に述べる手順でディフェクト状況を検査する。
【００３７】
まずＣＰＵ１７は、ディフェクト管理リスト２５０を参照して、未処理のディフェクトセクタの物理アドレス（セクタアドレス）を１つ特定（選択）する（ステップＳ１）。次にＣＰＵ１７は、選択したディフェクトセクタの現在のエラー訂正レベル、つまりエラー訂正可能なバースト数を、次のようにして調べる。
【００３８】
即ちＣＰＵ１７は、ステップＳ１で選択されたディフェクトセクタを対象とするディフェクト状況検査が初めてであるか否かを判定する（ステップＳ２）。この判定は、セクタアドレスをキーに、バッアァＲＡＭ２５に格納されているディフェクト状況リスト２５３中のエラー訂正レベルリスト２５４を参照して（データ構造については、図４中のエラー訂正レベルリスト１１４を参照）、上記選択されたディフェクトセクタのエラー訂正レベルの初期値が既に登録されているか否かを調べることにより行われる。
【００３９】
もし、ディフェクト状況検査の対象となるディフェクトセクタのエラー訂正レベルの初期値がエラー訂正レベルリスト２５４に登録されておらず、したがって当該ディフェクトセクタを対象とするディフェクト状況検査が初めてである場合、ＣＰＵ１７は、ＨＤＣ２１でのエラー訂正レベルを、当該セクタがディフェクトとして検出された場合のエラー訂正レベルに設定する（ステップＳ３）。通常、ディフェクトとして検出するエラー訂正レベルは、出荷時の検査の場合と出荷後のセクタアクセスの場合（ユーザ使用時）とで異なり、出荷時の検査の方が低レベル、つまり訂正可能なバースト数が小さな値に設定される。したがって、ステップＳ３で設定されるエラー訂正レベルは、ディフェクト状況検査の対象となるディフェクトセクタが、ディフェクト管理リスト２５０中のＰリスト２５１及びＧリスト２５２のうちのいずれのリストをもとに選択されたかにより決定される。
【００４０】
次にＣＰＵ１７は、ステップＳ１で選択されたディフェクトセクタにテストデータを書き込み、しかる後に当該ディフェクトセクタからテストデータを読み出す制御を行う（ステップＳ４）。これにより、ＨＤＣ２１では、テストデータをもとに、現在設定されているエラー訂正レベルで決まるサイズのＥＣＣが（ＥＣＣ生成回路により）生成され、当該ＥＣＣがテストデータに付される。ＥＣＣのサイズは、エラー訂正レベルが高くなるほど、つまりエラー訂正機能が強化されるほど、大きくなる。このＥＣＣが付されたテストデータは、ＨＤＣ２１からリード／ライトＩＣ２４に転送されて変調（コード変換）された後、ヘッドＩＣ２３に入力される。このヘッドＩＣ２３に入力されたデータ（データ信号）は当該ヘッドＩＣ２３内のライトアンプで増幅された後、ヘッド１２によりディスク１１上の上記選択されたディフェクトセクタに書き込まれる。次に、このディフェクトセクタからヘッド１２によりデータ（データ信号）が読み出される。ヘッド１２により読み出されたデータ信号はヘッドＩＣ２３内のヘッドアンプで増幅された後、リード／ライトＩＣ２４により元のコードに復調（変換）される。復調されたデータは、ＨＤＣ２１に入力される。ＨＤＣ２１では、復調されたデータに含まれているＥＣＣをもとに、現在設定されているエラー訂正レベルで（ＥＣＣエラー訂正回路による）エラー訂正処理が行われる。ここで、エラー訂正不可の場合には、リードエラーを示すステータスがＨＤＣ２１内の図示せぬステータスレジスタに設定される。
【００４１】
ＣＰＵ１７は、ＨＤＣ２１内のステータスレジスタのステータスを読み取ることにより、エラー訂正が不可能なリードエラーが発生したか否かを判定する（ステップＳ５）。もし、リードエラーの場合には、ＣＰＵ１７はＨＤＣ２１でのエラー訂正レベルを１段階上げて、訂正可能なバースト数を増加する（ステップＳ６）。そしてＣＰＵ１７は、再びステップＳ４を実行して、上記選択されたディフェクトセクタにテストデータを書き込み、しかる後に当該ディフェクトセクタからテストデータを読み出す制御を行う。
【００４２】
一方、ステップＳ４の実行でリードエラーが発生しなかった場合には（ステップＳ５）、ＣＰＵ１７は、現在ＨＤＣ２１に設定されているエラー訂正レベルを、上記選択されたディフェクトセクタに関するエラー訂正レベルの初期値で且つ最新値として、ディフェクト状況リスト２５３中のエラー訂正レベルリスト２５４に登録する（ステップＳ７）。
【００４３】
ＣＰＵ１７は、ステップＳ７を実行すると、ディフェクト管理リスト２５０に登録されている全てのディフェクトセクタについて処理したか否かを判定する（ステップＳ８）。もし、未処理のディフェクトセクタが残っているならば、ＣＰＵ１７はステップＳ１に戻る。そしてＣＰＵ１７は、未処理のディフェクトセクタを１つ選択し、ステップＳ２に進む。
【００４４】
次に、ステップＳ１で選択されたディフェクトセクタを対象とするディフェクト状況検査が初めてない場合について説明する。ＣＰＵ１７は、上記選択されたディフェクトセクタのエラー訂正レベルの初期値、即ち初期エラー訂正レベルがエラー訂正レベルリスト２５４に登録されている場合、当該ディフェクトセクタを対象とするディフェクト状況検査が初めてでないと判定する（ステップＳ２）。この場合、ＣＰＵ１７は、エラー訂正レベルリスト２５４から、上記選択されたディフェクトセクタのエラー訂正レベルの最新値を読み出して、ＨＤＣ２１でのエラー訂正レベルを、その最新値、即ち最新のエラー訂正レベルに設定する（ステップＳ９）。
【００４５】
次にＣＰＵ１７は、上記選択されたディフェクトセクタにテストデータを書き込み、しかる後に当該ディフェクトセクタからテストデータを読み出す（上記ステップＳ４と同様の）制御を行う（ステップＳ１０）。そしてＣＰＵ１７は、ステップＳ１０の実行でエラー訂正が不可能なリードエラーが発生したか否かを判定する（ステップＳ１１）。もし、リードエラーの場合には、ＣＰＵ１７はＨＤＣ２１でのエラー訂正レベルを１段階上げて、訂正可能なバースト数を増加する（ステップＳ１２）。そしてＣＰＵ１７は、再びステップＳ１０を実行して、上記選択されたディフェクトセクタにテストデータを書き込み、しかる後に当該ディフェクトセクタからテストデータを読み出す制御を行う。
【００４６】
一方、ステップＳ１０の実行でリードエラーが発生しなかった場合には（ステップＳ１１）、ＣＰＵ１７は、ディフェクト状況リスト２５３中のエラー訂正レベルリスト２５４に登録されている上記選択されたディフェクトセクタに関するエラー訂正レベルの最新値を、現在ＨＤＣ２１に設定されているエラー訂正レベルリスト２５４に更新する（ステップＳ１３）。次にＣＰＵ１７は、更新後のエラー訂正レベル、即ち現在のエラー訂正レベルを、エラー訂正レベルリスト２５４に登録されている上記選択されたディフェクトセクタに関するエラー訂正レベルの初期値と比較する（ステップＳ１４）。そしてＣＰＵ１７は、このエラー訂正レベルの比較結果から、上記選択されたディフェクトセクタのディフェクト状況が、当該セクタがディフェクトとして検出された時点から悪化しているか否かを判定する（ステップＳ１５）。ここでは、現在のエラー訂正レベルが初期値（初期エラー訂正レベル）より高いならば、選択されたディフェクトセクタのディフェクト状況は悪化しているものと判定される。もし、現在のエラー訂正レベルが初期値よりｎ段階（ｎは１以上の整数）高い場合、ＣＰＵ１７は対応するディフェクトセクタの悪化レベルとしてｎを検出する（ステップＳ１６）。この場合、ＣＰＵ１７は、ディフェクト悪化状況リスト２５５中の悪化レベルｎに対応するセクタ数のカウント値、即ちｎ段階悪化したセクタ数のカウント値を１だけインクリメントし（ステップＳ１７）、しかる後にステップＳ８に進む。これに対し、現在のエラー訂正レベルが初期値に等しいならば、ＣＰＵ１７は、選択されたディフェクトセクタのディフェクト状況は悪化していないものと判定し、そのままステップＳ８に進む。
【００４７】
ＣＰＵ１７は、ディフェクト管理リスト２５０で示される全てのディフェクトセクタについて上記の処理を実行すると（ステップＳ８）、ステップＳ１８に進む。ＣＰＵ１７はステップＳ１８において、その時点のディフェクト悪化状況リスト２５５の内容、即ちディフェクト状況の検査結果をもとに、ディフェクト状況検査項目に関するＨＤＤ１の故障診断を行い、その故障診断結果を、例えばディスク１１上のシステム領域１１ｂに確保されているセルフテスト結果領域（図示せず）に保存し、ディフェクト状況検査を終了する。ステップＳ１８で決定される故障診断結果は、例えば１００を上限（初期値）とする数値で表され、この数値が低いほどＨＤＤ１が故障している可能性が高いことが示される。ここでは、例えば２段階悪化したセクタ数、つまりディフェクト状況悪化レベルが２のセクタ数が１０を超えた場合に故障診断結果を示す数値が９０に設定される。
【００４８】
ＣＰＵ１７は、ディフェクト状況検査の終了時には、システム領域１１ｂに保存されているディフェクト状況リスト１１３（中のエラー訂正レベルリスト１１４及びディフェクト悪化状況リスト１１５）を、バッアァＲＡＭ２５に格納されているディフェクト状況リスト２５３（中のエラー訂正レベルリスト２５４及びディフェクト悪化状況リスト２５５）の内容に更新するように制御する。
【００４９】
ＣＰＵ１７は、ホストシステム２から、セルフテストの結果が要求された場合、システム領域１１ｂ内の上記セルフテスト結果領域に保存されている、ディフェクト状況検査項目に関するＨＤＤ１の故障診断結果を含む、予め定められた検査項目毎のＨＤＤ故障診断結果を、当該ホストシステム２にＨＤＣ２１からホストインタフェース３を介して転送する。これによりホストシステム２（の例えばユーザ）は、ディフェクト状況検査項目に関するＨＤＤ１の故障診断結果など、予め定められた検査項目毎のＨＤＤ故障診断結果から、現在のＨＤＤ１の故障の程度を予測する。ここで、ディフェクト状況検査項目に関するＨＤＤ１の故障診断に用いられた、ディフェクト悪化状況リスト２５５に登録されているディフェクト状況悪化レベル毎のセクタ数は、ディスク１１上の全ディフェクトセクタについて、エラー訂正レベルの経時変化からディフェクト状況の悪化の程度を表すディフェクト状況悪化レベルを検出することとにより決定されたものである。したがって、このディフェクト状況悪化レベル毎のセクタ数は、該当するセクタの周辺部、またはＨＤＤ１全体の状況悪化の前兆を表す有効な指標となる。よって、ディフェクト状況悪化レベル毎のセクタ数を、ＨＤＤ１の故障予知に利用することにより、信頼性の高い故障診断結果を得ることができる。
【００５０】
上記実施形態においては、本発明を磁気ディスク装置（ＨＤＤ）に適用した場合について説明した。しかし本発明は、光ディスク装置、光磁気ディスク装置など、記録媒体にディスクを用い、且つ当該ディスク上のディフェクトセクタをディフェクト管理リストにより管理するディスク記憶装置全般に適用することができる。
【００５１】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００５２】
【発明の効果】
以上詳述したように本発明によれば、ディフェクト管理リストに登録されている、ディフェクトとして検出された各セクタ、つまり各ディフェクトセクタについて、エラー訂正レベルの経時変化からディフェクト状況の悪化の程度を表すディフェクト状況悪化レベルを検出する構成としたので、その検出結果を、ディスク上の当該セクタの周辺部、またはディスク記憶装置全体の状況悪化の前兆を表す有効な指標として、ディスク記憶装置の故障予知に適切に利用することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】図１中のシステム領域１１ｂに保存されるディフェクト管理リスト１１０（中のＰリスト１１１及びＧリスト１１２）のデータ構造例を示す図。
【図３】ディスク１１上の全セクタの物理アドレスと当該セクタに割り当てられる論理アドレスとの対応を表すアドレスマップ３０の一例を示す図。
【図４】図１中のシステム領域１１ｂに保存されるディフェクト状況リスト１１３（中のエラー訂正レベルリスト１１４及びディフェクト悪化状況リスト１１５）のデータ構造例を示す図。
【図５】図１中のバッアァＲＡＭ２５に、Ｐリスト２５１及びＧリスト２５２を含むディフェクト管理リスト２５０と、エラー訂正レベルリスト２５４及びディフェクト悪化状況リスト２５５を含むディフェクト状況リスト２５３とが格納されている様子を示す図。
【図６】同実施形態におけるディフェクト状況検査処理を説明するためのフローチャートの一部を示す図。
【図７】同実施形態におけるディフェクト状況検査処理を説明するためのフローチャートの残りを示す図。
【符号の説明】
１…ＨＤＤ（磁気ディスク装置）
２…ホストシステム
１１…ディスク
１１ｂ…システム領域
１２…ヘッド
１７…ＣＰＵ
２１…ＨＤＣ（ディスクコントローラ）
２５…バッアァＲＡＭ
１１０，２５０…ディフェクト管理リスト
１１１，２５１…Ｐリスト
１１２，２５２…Ｇリスト
１１３，２５３…ディフェクト状況リスト
１１４，２５４…エラー訂正レベルリスト
１１５，２５５…ディフェクト悪化状況リスト
【図１】
2004030852.tif 000003
【図２】
2004030852.tif 000004
【図３】
2004030852.tif 000005
【図４】
2004030852.tif 000006
【図５】
2004030852.tif 000007
【図６】
2004030852.tif 000008
【図７】
2004030852.tif 000009