(57)【要約】【課題】代替セクタの使用量を低減できる磁気ディスク装置を実現する。【解決手段】リード・ライト処理部１５１によるデータセクタへのデータ書き込みが失敗した場合、代替処理部１５２は、データセクタを欠陥セクタと判定し、データを代わりの代替セクタへ書き込む。書き戻し処理部１５３は、代替セクタに格納されたデータを、欠陥セクタと判定された元のデータセクタへ書き込む。書き込みが成功した場合、書き戻し処理部１５３は、代替セクタを解放する。書き戻し処理によって、一時的な欠陥や不良により欠陥セクタとされたデータセクタを使用可能にし、欠陥セクタの代わりに使用されていた代替セクタを解放することで、代替セクタの使用量を低減し、代替領域を使い切ることによる磁気ディスク装置１１の機能停止を防止できる。【選択図】      図１
2010152987.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスク媒体と、
前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出し又は書き込みを行うリード・ライト手段と、
前記リード・ライト手段による前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替処理手段と、
前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し処理を実行する書戻し処理手段とを具備することを特徴とする磁気ディスク装置。
【請求項２】
前記書戻し処理手段は、前記代替領域の使用割合が前記しきい値を超えた場合、前記磁気ディスク装置がアイドルであるか否かを判定し、前記磁気ディスク装置がアイドルである場合、前記書戻し処理を実行することを特徴とする請求項１記載の磁気ディスク装置。
【請求項３】
前記代替処理手段は、前記データセクタに対する規定回数の書き込みリトライが失敗した場合、前記データセクタを欠陥セクタと判定することを特徴とする請求項１記載の磁気ディスク装置。
【請求項４】
磁気ディスク媒体を備える磁気ディスク装置を制御する磁気ディスク装置制御方法であって、
前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出し又は書き込みを行うリード・ライトステップと、
前記リード・ライトステップによる前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替処理ステップと、
前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し処理を実行する書戻し処理ステップとを具備することを特徴とする磁気ディスク装置制御方法。
【請求項５】
前記書戻し処理ステップは、前記代替領域の使用割合が前記しきい値を超えた場合、前記磁気ディスク装置がアイドルであるか否かを判定し、前記磁気ディスク装置がアイドルである場合、前記書戻し処理を実行することを特徴とする請求項４記載の磁気ディスク装置制御方法。
【請求項６】
前記代替処理ステップは、前記データセクタに対する規定回数の書き込みリトライが失敗した場合、前記データセクタを欠陥セクタと判定することを特徴とする請求項４記載の磁気ディスク装置制御方法。
【請求項７】
磁気ディスク装置と、
前記磁気ディスク装置に設けられた磁気ディスク媒体と、
前記磁気ディスク装置に設けられ、前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出し又は書き込みを行うリード・ライト手段と、
前記磁気ディスク装置に設けられ、前記リード・ライト手段による前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替処理手段と、
前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し処理を実行する書戻し処理手段とを具備することを特徴とする情報処理装置。
【請求項８】
前記書戻し処理手段は、前記代替領域の使用割合が前記しきい値を超えた場合、前記磁気ディスク装置がアイドルであるか否かを判定し、前記磁気ディスク装置がアイドルである場合、前記書戻し処理を実行することを特徴とする請求項７記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、代替セクタ領域を有する磁気ディスク装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータのような情報処理装置においては、通常、ハードディスクドライブ等の磁気ディスク装置がストレージデバイスとして用いられている。磁気ディスク装置は、データを磁気ディスク記憶媒体に磁気的に記録する磁気ディスクドライブである。
【０００３】
磁気ディスク装置では、あるデータセクタに対して規定回数のリトライを行ってもデータの書き込みまたはデータの読み出しできない場合に当該データセクタを欠陥セクタと判定し、この欠陥セクタをディスク媒体に設定された代替領域内の代替セクタによって代替する代替処理を実行することでエラーに対処している。しかし、代替領域内の代替セクタの数は予め設定された数に限定され、これを使い切った場合には代替処理を実行できず、磁気ディスク装置自体が使用不能になる可能性がある。
【０００４】
特許文献１には、光ディスクにおいて、代替セクタを所定の割合以上に消費した場合に、当該光ディスクをクリーニングし、再フォーマットして、塵などによって欠陥と判定されたデータセクタを再利用するセクタ再利用方法が開示されている。
【特許文献１】特開平５−２１０８４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１のセクタ再利用方法では光ディスクを対象とし、光ディスクに付着する塵等に起因する欠陥に特化したセクタの回復を行う。
【０００６】
一方、磁気ディスク装置では、通常、筐体内に磁気ディスク媒体が格納されるため、塵等の影響を受けることは少ない。しかしながら、周辺機器による振動や何らかの衝撃により、磁気ディスク媒体へのアクセスにエラーが生じる可能性がある。
【０００７】
例えば、磁気ディスク媒体に対するライトアクセス時にエラーが生じた場合、アクセス中のデータセクタに書き込むデータは、代替セクタに書き込まれる。そして、該データセクタは、振動や衝撃等による一時的な不具合であっても、欠陥のある欠陥セクタとして使用不能になる。
【０００８】
このような場合に、一時的な不具合により欠陥セクタと判定されたデータセクタを使用可能にして、代わりに使用された代替セクタを解放する新たな手段の実現が必要である。
【０００９】
本発明は上述の事情を考慮してなされたものであり、代替セクタの使用量を低減できる磁気ディスク装置および磁気ディスク装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明の磁気ディスク装置は、磁気ディスク媒体と、前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出し又は書き込みを行うリード・ライト手段と、前記リード・ライト手段による前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替処理手段と、前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し処理を実行する書戻し処理手段とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、磁気ディスク装置の代替セクタの使用量を低減できる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施形態を説明する。
【００１３】
図１は、本発明の一実施形態に係る磁気ディスク装置１１の構成を示している。この磁気ディスク装置１１はハードディスクドライブとして実現されている。磁気ディスク装置１１は、ホスト装置２０からのアクセス要求に応じて、磁気ディスク媒体に対するデータのライトおよびリードを実行する装置である。磁気ディスク装置１１は、各種の回路ブロックが内蔵されたＬＳＩ１２、ディスク（ハードディスク）１３等を備える。
【００１４】
ディスク１３は磁気ディスク媒体である。ディスク１３（磁気ディスク媒体）は、図２に示すように、通常、データを格納するデータ領域２００と、データ領域へのアクセス時にエラーが発生した場合に、代わりにデータを格納する代替領域３００とを備える。
【００１５】
ＬＳＩ１２は、磁気ディスク装置１１の動作を制御する電子回路であり、コントローラ１５、ディスクインタフェース（ディスクＩ／Ｆ）１４、ホストインタフェース（ホストＩ／Ｆ）２１等を備えている。コントローラ１５は、ホスト装置２０から発行される各種コマンドに応じて磁気ディスク装置１１の動作を制御する。コントローラ１５は、ホストインタフェース２１を介してホスト装置２０との通信を実行する。ホスト装置２０とコントローラ１５との間の通信は、例えばATA規格で規定された各種コマンドを用いて実行される。
【００１６】
ディスクインタフェース１４は、コントローラ１５とディスク１３との間のデータ転送を実行する。ディスク１３へのデータのライト、及びディスク１３からのデータのリードは、磁気ディスク装置１１内に設けられた機械的な駆動機構を用いて実行される。この駆動機構は、ディスク１３を回転させるスピンドルモータ、ヘッド、およびこのヘッドをディスク１３の半径方向に移動するためのアクチュエータ等を含んでいる。
【００１７】
コントローラ１５は、リード・ライト処理部１５１、代替処理部１５２、書き戻し処理部１５３、及び代替セクタ管理マップ１５４を備える。リード・ライト処理部１５１、代替処理部１５２、及び書き戻し処理部１５３はそれぞれ、代替セクタ管理マップ１５４を参照してそれぞれの処理を実行する。
【００１８】
ディスク１３は、上述したように、通常、データを格納するデータ領域２００と、データ領域２００へのアクセス時にエラーが発生した場合に、代わりにデータを格納する代替領域３００とを備える。代替セクタ管理マップ１５４は欠陥セクタを示すアドレスを格納するためのリストである。このリストには、エラーが発生した際にアクセスされていたデータ領域２００内のセクタである欠陥セクタを示すアドレスと、代わりにデータを格納する代替領域３００内のセクタである代替セクタを示すアドレスとが記録される。
【００１９】
リード・ライト処理部１５１は、ホスト装置２０によるハードディスク１３へのリード要求（リードコマンド）、又はライト要求（ライトコマンド）に応じて、ディスクインタフェース１４を制御し、ハードディスク１３からのデータの読み出し、又はハードディスク１３へのデータの書き込みを行う。
【００２０】
リード・ライト処理部１５１は、リードコマンド又はライトコマンドによって指定されるアドレスに応じて、データ領域２００内のデータセクタに対するデータの読み出し、又はデータの書き込みを行う。この際、リード・ライト処理部１５１は、代替セクタ管理マップ１５４を参照し、データの読み出し又は書き込みを行うデータセクタが、代替セクタ管理マップ１５４に欠陥セクタとして記録されているかどうかを判定する。データの読み出し又は書き込みを行うデータセクタが、代替セクタ管理マップ１５４に欠陥セクタとして記録されている場合には、リード・ライト処理部１５１は、このデータセクタ（欠陥セクタ）に対応付けられた代替セクタに対して、データの読み出し又は書き込みを行う。
【００２１】
代替処理部１５２は、リード・ライト処理部１５１によるデータ領域２００内のデータセクタに対して規定回数のリトライを行っても例えばデータの書き込みができない場合に、当該データセクタを欠陥セクタ（後発欠陥セクタ）と判定し、この欠陥セクタを代替領域３００内の代替セクタによって代替する。磁気ディスク装置１１では、周辺機器の影響、例えば低音再生用のサブウーハーのようなスピーカーから発せられる振動によって、磁気ディスク装置１１の筐体が共振し、データ領域２００へのアクセスにエラーが発生する場合がある。このような場合に、代替処理部１５２は、エラーの発生したデータセクタ（欠陥セクタ）へ格納するデータを、代わりの代替セクタへ格納する代替処理を実行する。
【００２２】
具体的には、リード・ライト処理部１５１によるデータ領域２００内のデータセクタへのデータの書き込みが失敗した場合、例えば、データセクタへの規定回数の書き込みリトライが失敗した場合、代替処理部１５２は、該データセクタを欠陥セクタと判定し、この欠陥セクタを使用不能状態に設定する。そして、代替処理部１５２は、該データセクタ（欠陥セクタ）へ書き込もうとしたデータを代替領域３００内の代替セクタへ書き込む。代替処理部１５２は、データ領域２００内の欠陥セクタを示すアドレスと、代替領域３００内の代替セクタを示すアドレスとを代替セクタ管理マップ１５４へ記録する。
【００２３】
また、リード・ライト処理部１５１によるデータ領域２００内のデータセクタからのデータの読み出しが、例えば規定回数以上のリードリトライを繰り返して成功した場合、代替処理部１５２は、該データセクタを欠陥セクタと判定し、この欠陥セクタを使用不能状態に設定する。そして、代替処理部１５２は、該データセクタから読み出したデータを代替領域３００内の代替セクタへ書き込む。代替処理部１５２は、データ領域２００内の欠陥セクタを示すアドレスと、代替領域３００内の代替セクタを示すアドレスとを代替セクタ管理マップ１５４へ記録する。
【００２４】
データ領域２００内のデータセクタにエラーが発生した場合には、上述の代替処理により、代替領域３００内の代替セクタにデータを書き込むことで、磁気ディスク装置１１全体としては、データの格納を支障なく行うことができる。
【００２５】
しかしながら、代替領域３００として確保される領域は予め設定された大きさであり、代替処理が繰り返し行われると、代替領域３００にデータを格納できる領域がなくなる可能性がある。代替領域３００に空き領域がなくなると、磁気ディスク装置１１は正常に動作しなくなる。例えば、磁気ディスク装置１１のライトキャッシュ機能はディセーブルとなり、データセクタへの書き込みが失敗した時はエラーが発生し、ＯＳのハングアップ等を引き起こす。つまり、ディスク１３の傷や劣化等ではなく、代替セクタを使い切ってしまうことが原因となって、磁気ディスク装置１１が使用不能になる。
【００２６】
また、磁気ディスク装置１１では、上述したように、一時的な振動や衝撃に起因するエラーにより代替処理が実行される場合がある。したがって、一時的な振動や衝撃を受けない状況では、欠陥セクタと判定されたデータ領域２００内のデータセクタが使用可能である可能性がある。しかし、通常、磁気ディスク装置においては、一旦欠陥セクタと判定されたデータセクタは永久に使用不能となり、使用可能な状態に戻ることはない。
【００２７】
そこで、本実施形態では、書き戻し処理部１５３は、一時的な欠陥や不良によって欠陥セクタと判定されたデータセクタに対して、代替処理により代替セクタへ格納されたデータを書き戻す、書き戻し処理を実行する。
【００２８】
書き戻し処理部１５３は、代替領域３００における使用領域の割合が所定のしきい値（例えば、７０％）を超えた場合に、代替セクタから欠陥セクタへデータを書き戻す。また、書き戻し処理が成功した場合には、書き戻し処理部１５３は、データが格納されていた代替セクタを解放することで、代替領域３００内で使用される代替セクタ数を最小化する。
【００２９】
具体的には、書き戻し処理部１５３は、まず代替セクタ管理マップ１５４を参照し、欠陥セクタのアドレスと、この欠陥セクタに対応付けられた代替セクタのアドレスとを読み出す。そして、書き戻し処理部１５３は、代替セクタに格納されているデータを読み出し、その読み出したデータを、欠陥セクタに書き込む。
【００３０】
欠陥セクタへのデータの書き込みが成功した場合、書き戻し処理部１５３は、この欠陥セクタを使用可能であると判定する。そして、書き戻し処理部１５３は、代替セクタ管理マップ１５４から、使用可能と判定された欠陥セクタのアドレスと、この欠陥セクタに対応付けられた代替セクタのアドレスとを削除する。また、書き戻し処理部１５３は、データが格納されていた代替セクタを解放する。
【００３１】
このような書き戻し処理により、データが格納されていた代替セクタを解放することで、代替セクタを使い切ってしまうことに起因する磁気ディスク装置の使用不能を回避することができる。また、代替セクタに格納されたデータを元のデータセクタへ書き戻すことで、物理的に連続するデータセクタから一連のデータをシーケンシャルに読み出すことが可能となり、パフォーマンスの低下を防止することができる。
【００３２】
なお、書き戻し処理部１５３は、欠陥セクタが使用可能か否かを最初に判定し、欠陥セクタが使用可能であると判定された場合に、代替セクタに格納されたデータを欠陥セクタに書き込む書き戻し処理を実行してもよい。欠陥セクタが使用可能な否かの判定には、ダミーのデータを用いてもよい。つまり、書き戻し処理部１５３は、欠陥セクタにダミーのデータを書き込む。書き込みが成功した場合、書き戻し処理部１５３は、代替セクタに格納されたデータを読み出して、読み出したデータを欠陥セクタへ書き込む。このように、欠陥セクタが使用可能かどうかはダミーのデータを用いた書き込みにより判定し、欠陥セクタに対するダミーのデータの書き込みが成功した場合にのみ代替セクタからデータを読み出すことで、書き戻し処理を効率的に行うことができる。
【００３３】
図２は、磁気ディスク装置１１内の記憶領域を示す図である。
【００３４】
磁気ディスク装置１１内の記憶領域には、データ領域２００、代替領域３００、及び代替セクタ管理マップ１５４が設けられる。
【００３５】
データ領域２００は、複数のデータセクタからなる。データ領域２００では、ホスト装置２０からの要求（コマンド）に応じて、コマンドに含まれるアドレスが示すデータセクタに対して、データの読み出し、又はデータの書き込みが行われる。なお、欠陥や不良が生じたデータセクタは、欠陥セクタとして使用不能になる。
【００３６】
代替領域３００は、複数の代替セクタからなる。代替領域３００内の代替セクタは、データ領域２００内に生じた欠陥セクタの代わりの記憶領域として用いられ、データが格納される。
【００３７】
代替セクタ管理マップ１５４は、欠陥セクタと代替セクタとの対応を示すリストである。代替セクタ管理マップ１５４のリストには、欠陥セクタを示すアドレスと、欠陥セクタの代わりとして用いられる代替セクタのアドレスとが記録される。図２に示す例では、アドレス２０８の欠陥セクタとアドレス３０１の代替セクタ、アドレス２０９の欠陥セクタとアドレス３０２の代替セクタ、及びアドレス２１５の欠陥セクタとアドレス３０３の代替セクタが、それぞれ対応付けられていることが代替セクタ管理マップ１５４のリストに記録されている。代替セクタ管理マップ１５４のリストに記録される欠陥セクタおよび代替セクタのアドレスとしては、例えば、それらセクタの物理アドレス（シリンダ番号、セクタ番号、ヘッド番号）を使用し得る。
【００３８】
図３は、代替処理及び書き戻し処理により、データセクタ及び代替セクタに格納されるデータの例を示した図である。
【００３９】
まず、データセクタにエラーが発生し、データが代替セクタへ代替処理される例について説明する。
【００４０】
リード・ライト処理部１５１は、ホスト装置２０からのライト要求に応じて、データ領域２００Ａ内のデータセクタ２０８、データセクタ２０９、……データセクタ２１５に対して、それぞれ“ｍ”、“ｍ＋１”、……“ｎ”というデータを書き込む。
【００４１】
ここで、リード・ライト処理部１５１によるデータセクタ２０８、データセクタ２０９、及びデータセクタ２１５へのデータの書き込みが失敗した場合を想定する。代替処理部１５２は、データセクタ２０８、データセクタ２０９、及びデータセクタ２１５を欠陥セクタと判定する。そして、代替処理部１５２は、データセクタ２０８に書き込もうとしたデータ“ｍ”を代替セクタ３０１へ、データセクタ２０９に書き込もうとしたデータ“ｍ＋１”を代替セクタ３０２へ、データセクタ２１５に書き込もうとしたデータ“ｎ”を代替セクタ３０３へそれぞれ書き込む。
【００４２】
また、代替処理部１５２は、データセクタ（欠陥セクタ）と代替セクタとの対応を、代替セクタ管理マップ１５４へ記録する。つまり、代替処理部１５２は、データセクタ２０８を示すアドレスと代替セクタ３０１を示すアドレス、データセクタ２０９を示すアドレスと代替セクタ３０２を示すアドレス、及びデータセクタ２１５を示すアドレスと代替セクタ３０３を示すアドレスを、代替セクタ管理マップ１５４へそれぞれ記録する。
【００４３】
次に、代替セクタに格納されたデータが元のデータセクタへ書き戻し処理される例について説明する。
【００４４】
書き戻し処理部１５３は、代替セクタ管理マップ１５４を参照し、代替領域３００Ａに格納されたデータを元のデータ領域２００Ｂへ書き戻す、書き戻し処理を実行する。
【００４５】
書き戻し処理部１５３は、代替セクタ３０１に格納されたデータ“ｍ”をデータセクタ２０８へ、代替セクタ３０２に格納されたデータ“ｍ＋１”をデータセクタ２０９へ、代替セクタ３０３に格納されたデータ“ｎ”をデータセクタ２１５へ書き込む。ここで、代替セクタ３０１からデータセクタ２０８への書き込み及びベリファイ、並びに代替セクタ３０２からデータセクタ２０９への書き込み及びベリファイが成功したならば、書き戻し処理部１５３は、代替セクタ３０１及び代替セクタ３０２を解放する。一方、代替セクタ３０３からデータセクタ２１５への書き込みが失敗したならば、代替領域３００Ｂ内の代替セクタ３０３に格納されたデータはそのまま保持される。
【００４６】
また、書き戻し処理部１５３は、代替セクタ管理マップ１５４から、書き戻し処理が成功した欠陥セクタ（データセクタ）を示すアドレスと代替セクタを示すアドレスとを削除する。つまり、書き戻し処理部１５３は、データセクタ２０８を示すアドレスと代替セクタ３０１を示すアドレス、及びデータセクタ２０９を示すアドレスと代替セクタ３０２を示すアドレスとを、代替セクタ管理マップ１５４から削除する。
【００４７】
上述の書き戻し処理により、一時的な欠陥や不良に起因して欠陥セクタと判定され、使用不能となったデータセクタを、使用可能な状態に戻すことができる。また、欠陥セクタの代わりにデータが格納されていた代替セクタを解放し、代替セクタを使い切ってしまうことによる磁気ディスク装置１１の使用不能を回避することができる。さらに、書き戻し処理において、代替セクタに格納されたデータを元のデータセクタに書き戻すことで、磁気ディスク装置１１は、データをシーケンシャルに読み出すことができる。
【００４８】
図４は、書き戻し処理の手順を示すフローチャートである。
【００４９】
書き戻し処理部１５３は、代替領域３００内で使用されている領域の割合がth[%]以上であるかどうかを判定する（ステップＳ１０１）。
【００５０】
代替領域３００内で使用されている領域の割合がth[%]以上である場合（ステップＳ１０１のＹＥＳ）、書き戻し処理部１５３は、磁気ディスク装置１１がアイドル状態であるかどうかを判定する（ステップＳ１０２）。
【００５１】
磁気ディスク装置１１がアイドル状態である場合（ステップＳ１０２のＹＥＳ）、書き戻し処理部１５３は、代替セクタ管理マップ１５４に記録された、欠陥セクタを示すアドレスとこの欠陥セクタに対応する代替セクタを示すアドレスとに基づき、代替セクタに格納されたデータを欠陥セクタと判定された元のデータセクタへ書き戻す（ステップＳ１０３）。そして、書き戻し処理部１５３は、代替セクタ管理マップ１５４を更新する（ステップＳ１０４）。すなわち、書き戻し処理部１５３は、ステップＳ１０３における書き戻しに用いた欠陥セクタを示すアドレスとこの欠陥セクタに対応する代替セクタを示すアドレスとを、代替セクタ管理マップ１５４から削除する。
【００５２】
以上の処理により、書き戻し処理部１５３は、代替セクタに格納されたデータを、欠陥セクタと判定された元のデータセクタへ書き戻す。
【００５３】
図５は、図４に示した書き戻し処理の手順をより詳細に記述したフローチャートである。
【００５４】
書き戻し処理部１５３は、代替領域３００内で使用されている領域の割合がth[%]以上であるかどうかを判定する（ステップＳ２０１）。
【００５５】
代替領域３００内で使用されている領域の割合がth[%]以上である場合（ステップＳ２０１のＹＥＳ）、書き戻し処理部１５３は、磁気ディスク装置１１がアイドル状態であるかどうかを判定する（ステップＳ２０２）。
【００５６】
磁気ディスク装置１１がアイドル状態である場合（ステップＳ２０２のＹＥＳ）、書き戻し処理部１５３は、代替セクタ管理マップ１５４に記録された、欠陥セクタを示すアドレスとこの欠陥セクタに対応する代替セクタを示すアドレスとに基づき、代替セクタに格納されたデータを欠陥セクタと判定された元のデータセクタへ書き込む（ステップＳ２０３）。
【００５７】
次に、書き戻し処理部１５３は、ステップＳ２０３による元のデータセクタへのデータの書き込みが成功したかどうかを判定する（ステップＳ２０４）。元のデータセクタへのデータの書き込みが成功した場合（ステップＳ２０４のＹＥＳ）、書き戻し処理部１５３は、このデータセクタをベリファイする（ステップＳ２０５）。
【００５８】
次に、書き戻し処理部１５３は、ステップＳ２０５によるデータセクタのベリファイが成功したかどうかを判定する（ステップＳ２０６）。データセクタのベリファイが成功した場合（ステップＳ２０６のＹＥＳ）、書き戻し処理部１５３は、データが格納されていた代替セクタを解放する（ステップＳ２０７）。そして、書き戻し処理部１５３は、代替セクタ管理マップ１５４を更新する（ステップＳ２０８）。すなわち、書き戻し処理部１５３は、書き戻しが成功した欠陥セクタを示すアドレスとこの欠陥セクタに対応する代替セクタを示すアドレスとを、代替セクタ管理マップ１５４から削除する。
【００５９】
そして、書き戻し処理部１５３は、代替セクタ管理マップ１５４を参照し、欠陥セクタと判定された他のデータセクタがあるかどうかを判定する（ステップＳ２０９）。欠陥セクタと判定された他のデータセクタがある場合（ステップＳ２０９のＹＥＳ）、書き戻し処理部１５３は、新たな欠陥セクタについて、ステップＳ２０３からステップＳ２０９までの処理を実行する。欠陥セクタと判定された他のデータセクタがない場合（ステップＳ２０９のＮＯ）、書き戻し処理部１５３は、処理を終了する。
【００６０】
なお、欠陥セクタと判定された他のデータセクタがある場合（ステップＳ２０９のＹＥＳ）、書き戻し処理部１５３は、ステップＳ２０２による磁気ディスク装置１１がアイドル状態であるかどうかの判定を行ってもよい。その場合、一つの欠陥セクタに対する書き戻し処理を実行する度に、ホスト装置２０からのリード要求やライト要求等のアクセス要求があるかどうかが判定され、アクセス要求がなければ、書き戻し処理部１５３は、新たな欠陥セクタに対する書き戻し処理を実行することになる。
【００６１】
以上説明したように、本実施形態によれば、一時的な欠陥や不良により欠陥セクタと判定されたデータセクタに対して、代替セクタに格納されたデータを書き戻し、当該代替セクタを解放することで、代替セクタの使用量を低減することができる。これにより、使用された代替セクタ数の飽和による磁気ディスク装置の機能停止を防止することができる。
【００６２】
また、代替セクタに格納されたデータが、代替処理された元のデータセクタ（欠陥セクタ）へ書き戻されることで、磁気ディスク装置は、データをシーケンシャルに読み出すことができ、パフォーマンスの低下等を防止することができる。
【００６３】
また、本実施形態では、代替処理および書き戻し処理の双方を磁気ディスク装置１１によって実行する場合を説明したが、磁気ディスク装置１１は代替処理のみを実行し、書き戻し処理は、磁気ディスク装置１１を搭載した、コンピュータのような情報処理装置によって実行してもよい。この場合、情報処理装置によって実行されるユーティリティプログラムは、例えば磁気ディスク装置１１の代替セクタ管理マップ１５４を参照することによって、代替領域の使用割合がしきい値を超えたか否かを判定する。代替領域の使用割合がしきい値を超えた場合、ユーティリティプログラムは、磁気ディスク装置１１は、磁気ディスク装置１１がアイドルであるか否かを判定し、磁気ディスク装置１１がアイドルであれば、上述の書き戻し処理を開始する。
【００６４】
このように、書き戻し処理の手順は全てソフトウェアによって実行することができる。このため、書き戻し処理の手順を実行するプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することが出来る。
【００６５】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係る磁気ディスク装置のブロック図。
【図２】同実施形態の磁気ディスク装置の記憶領域の構成を示す図。
【図３】同実施形態の磁気ディスク装置における代替処理及び書き戻し処理によりデータセクタ及び代替セクタに格納されるデータの例を示す図。
【図４】同実施形態の磁気ディスク装置による書き戻し処理の手順を示すフローチャート。
【図５】同実施形態の磁気ディスク装置による書き戻し処理の詳細な手順を示すフローチャート。
【符号の説明】
【００６７】
１１…磁気ディスク装置、１２…ＬＳＩ、１３…ディスク媒体、１４…ディスクインタフェース、１５…コントローラ、１５１…リード・ライト処理部、１５２…代替処理部、１５３…書き戻し処理部、１５４…代替セクタ管理マップ、２０…ホスト装置、２１…ホストインタフェース。
【図１】
2010152987.tif 000003
【図２】
2010152987.tif 000004
【図３】
2010152987.tif 000005
【図４】
2010152987.tif 000006
【図５】
2010152987.tif 000007
【手続補正書】
【提出日】平成21年12月7日(2009.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
磁気ディスク媒体と、
前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出しと書き込みを行うリード・ライト手段と、
前記リード・ライト手段による前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替手段と、
前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し手段とを具備することを特徴とする磁気ディスク装置。
【請求項２】
前記書戻し手段は、前記代替領域の使用割合が前記しきい値を超えた場合、前記磁気ディスク装置がアイドルであるか否かを判定し、前記磁気ディスク装置がアイドルである場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除することを特徴とする請求項１記載の磁気ディスク装置。
【請求項３】
前記代替手段は、前記データセクタに対する規定回数の書き込みリトライが失敗した場合、前記データセクタを欠陥セクタと判定することを特徴とする請求項１記載の磁気ディスク装置。
【請求項４】
磁気ディスク媒体を備える磁気ディスク装置を制御する磁気ディスク装置制御方法であって、
前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出しと書き込みを行うリード・ライトステップと、
前記リード・ライトステップによる前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替ステップと、
前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻しステップとを具備することを特徴とする磁気ディスク装置制御方法。
【請求項５】
前記書戻しステップは、前記代替領域の使用割合が前記しきい値を超えた場合、前記磁気ディスク装置がアイドルであるか否かを判定し、前記磁気ディスク装置がアイドルである場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除することを特徴とする請求項４記載の磁気ディスク装置制御方法。
【請求項６】
前記代替ステップは、前記データセクタに対する規定回数の書き込みリトライが失敗した場合、前記データセクタを欠陥セクタと判定することを特徴とする請求項４記載の磁気ディスク装置制御方法。
【請求項７】
磁気ディスク装置と、
前記磁気ディスク装置に設けられた磁気ディスク媒体と、
前記磁気ディスク装置に設けられ、前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出しと書き込みを行うリード・ライト手段と、
前記磁気ディスク装置に設けられ、前記リード・ライト手段による前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替手段と、
前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し手段とを具備することを特徴とする情報処理装置。
【請求項８】
前記書戻し手段は、前記代替領域の使用割合が前記しきい値を超えた場合、前記磁気ディスク装置がアイドルであるか否かを判定し、前記磁気ディスク装置がアイドルである場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除することを特徴とする請求項７記載の情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
磁気ディスク装置では、あるデータセクタに対して規定回数のリトライを行ってもデータの書き込みまたはデータの読み出しができない場合に当該データセクタを欠陥セクタと判定し、この欠陥セクタをディスク媒体に設定された代替領域内の代替セクタによって代替する代替処理を実行することでエラーに対処している。しかし、代替領域内の代替セクタの数は予め設定された数に限定され、これを使い切った場合には代替処理を実行できず、磁気ディスク装置自体が使用不能になる可能性がある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上述の課題を解決するため、本発明の磁気ディスク装置は、磁気ディスク媒体と、前記磁気ディスク媒体に設定されたデータ領域内にあるデータセクタに対してデータの読み出しと書き込みを行うリード・ライト手段と、前記リード・ライト手段による前記データセクタに対するデータの書き込みが失敗した場合、前記データセクタを欠陥セクタと判定し、前記データを前記磁気ディスク媒体に設定された代替領域内にある代替セクタへ書き込み、前記データセクタを示すアドレスと前記代替セクタを示すアドレスとをリストに記録する代替手段と、前記代替領域の使用割合がしきい値を超えた場合、前記リストに記録されたデータセクタに対して前記代替セクタに格納されたデータを書き込み、当該書き込みが成功した場合、前記リストから前記データセクタを示すアドレスと前記代替セクタを示すアドレスとを削除する書戻し手段とを具備することを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
ディスク１３は磁気ディスク媒体である。ディスク１３（磁気ディスク媒体）は、図２に示すように、通常、データを格納するデータ領域２００と、データ領域２００へのアクセス時にエラーが発生した場合に、代わりにデータを格納する代替領域３００とを備える。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
なお、書き戻し処理部１５３は、欠陥セクタが使用可能か否かを最初に判定し、欠陥セクタが使用可能であると判定された場合に、代替セクタに格納されたデータを欠陥セクタに書き込む書き戻し処理を実行してもよい。欠陥セクタが使用可能か否かの判定には、ダミーのデータを用いてもよい。つまり、書き戻し処理部１５３は、欠陥セクタにダミーのデータを書き込む。書き込みが成功した場合、書き戻し処理部１５３は、代替セクタに格納されたデータを読み出して、読み出したデータを欠陥セクタへ書き込む。このように、欠陥セクタが使用可能かどうかはダミーのデータを用いた書き込みにより判定し、欠陥セクタに対するダミーのデータの書き込みが成功した場合にのみ代替セクタからデータを読み出すことで、書き戻し処理を効率的に行うことができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
また、本実施形態では、代替処理および書き戻し処理の双方を磁気ディスク装置１１によって実行する場合を説明したが、磁気ディスク装置１１は代替処理のみを実行し、書き戻し処理は、磁気ディスク装置１１を搭載した、コンピュータのような情報処理装置によって実行してもよい。この場合、情報処理装置によって実行されるユーティリティプログラムは、例えば磁気ディスク装置１１の代替セクタ管理マップ１５４を参照することによって、代替領域の使用割合がしきい値を超えたか否かを判定する。代替領域の使用割合がしきい値を超えた場合、ユーティリティプログラムは、磁気ディスク装置１１がアイドルであるか否かを判定し、磁気ディスク装置１１がアイドルであれば、上述の書き戻し処理を開始する。