(57)【要約】  記憶装置は、記録素子と再生素子を備えたヘッドを用いて記録媒体にデータを記録して再生する。媒体スキャン部は、ヘッド毎に記憶媒体に対する書込回数を計数し、上位装置からアクセス要求のないアイドル中に、書込回数が所定の閾値以上となったヘッドを対象に、記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する。閾値管理部は、ヘッド毎に書込回数の閾値をヘッド性能に応じて初期登録し、装置の運用中にエラーレートに応じて書込回数の閾値を動的に変更する。
2009040929.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドを用いて記録媒体にデータを記録して再生する記憶装置に於いて、
ヘッド毎に記憶媒体に対する書込回数を計数し、上位装置からアクセス要求のないアイドル中に、前記書込回数が所定の閾値以上となったヘッドを対象に、前記記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する媒体スキャン部と、
ヘッド毎に初期登録された書込回数の閾値を、装置の運用中の所定の条件に応じて変更する閾値管理部と、
を備えたことを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置に於いて、前記書込回数の閾値は、隣接トラックのデータ書込みにより一部が消去されるサイドイレーズにより読出エラーとなる書込回数に基づいて定められたことを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置に於いて、前記閾値管理部は、ヘッドの性能を示すランク情報に応じて前記書込回数の閾値を初期登録することを特徴とする記憶装置。
【請求項４】
請求項１記載の記憶装置に於いて、前記閾値管理部は、装置運用中に、単位時間当りのエラーレートを検出し、前記エラーレートが高いほど前記書込回数の閾値が少なくなるように変更することを特徴とする記憶装置。
【請求項５】
請求項１記載の記憶装置に於いて、前記閾値管理部は、前記エラーレートが所定の最高値を超えた場合、前記書込回数の閾値を所定の最小閾値に変更すると共に、上位装置からライト要求に対し、前記記憶媒体にデータをライトした直後にリードしてエラーの有無を判定するライトベリファイ処理を実行させることを特徴とする記憶装置。
【請求項６】
請求項１記載の記憶装置に於いて、前記記憶媒体の記録面を複数の領域に分割し、前記媒体スキャン部は、前記書込回数が前記書込回数閾値以上となった領域を対象に、前記リードベリファイ処理を実行することを特徴とする記憶装置。
【請求項７】
ヘッドを用いて記録媒体にデータを記録して再生する記憶装置の制御方法に於いて、
ヘッド毎に記憶媒体に対する書込回数を計数し、上位装置からアクセス要求のないアイドル中に、前記書込回数が所定の閾値以上となったヘッドを対象に、前記記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する媒体スキャンステップと、
ヘッド毎に初期登録された前記書込回数の閾値を、装置の運用中の所定の条件に応じて変更する閾値管理ステップと、
を備えたことを特徴とする制御方法。
【請求項８】
請求項７記載の記憶装置の制御方法に於いて、前記書込回数の閾値は、隣接トラックのデータ書込みにより一部が消去されるサイドイレーズにより読出エラーとなる書込回数に基づいて定められたことを特徴とする記憶装置の制御方法。
【請求項９】
請求項７記載の制御方法に於いて、前記閾値管理ステップは、ヘッドの性能を示すランク情報に応じて前記書込回数の閾値を初期登録することを特徴とする制御方法。
【請求項１０】
請求項７記載の制御方法に於いて、前記閾値管理ステップは、装置運用中に、単位時間当りのエラーレートを検出し、前記エラーレートが高いほど前記書込回数の閾値が小さくなるように変更することを特徴とする制御方法。
【請求項１１】
請求項７記載の制御方法に於いて、前記閾値管理ステップは、前記エラーレートが所定の最高値を超えた場合、前記書込回数の閾値を所定の最小閾値に変更すると共に、上位装置からライト要求に対し、前記記憶媒体にデータをライトした直後にリードしてエラーの有無を判定するライトベリファイ処理を実行させることを特徴とする制御方法。
【請求項１２】
請求項７記載の制御方法に於いて、前記記憶媒体の記録面を複数の領域に分割し、前記媒体スキャンステップは、前記書込回数が前記書込回数閾値以上となった領域を対象に、前記リードベリファイ処理を実行することを特徴とする制御方法。
【請求項１３】
記録素子と再生素子を備えたヘッドを用いて記録媒体にデータを記録して再生する記憶装置の制御装置に於いて、
ヘッド毎に記憶媒体に対する書込回数を計数し、上位装置からアクセス要求のないアイドル中に、前記書込回数が所定の閾値以上となったヘッドを対象に、前記記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する媒体スキャン部と、
ヘッド毎に初期登録された前記書込回数の閾値を、装置の運用中の所定の条件に応じて変更する閾値管理部と、
を備えたことを特徴とする制御装置。
【請求項１４】
請求項１３記載の記憶装置の制御装置に於いて、前記書込回数の閾値は、隣接トラックのデータ書込みにより一部が消去されるサイドイレーズにより読出エラーとなる書込回数に基づいて定められたことを特徴とする記憶装置の制御装置。
【請求項１５】
請求項１３記載の記憶装置の制御装置に於いて、前記閾値管理部は、ヘッドの性能を示すランク情報に応じて前記書込回数の閾値を初期登録することを特徴とする記憶装置の制御装置。
【請求項１６】
請求項１３記載の制御装置に於いて、前記閾値管理部は、装置運用中に、単位時間当りのエラーレートを検出し、前記エラーレートが高いほど前記書込回数の閾値が小さくなるように変更することを特徴とする制御装置。
【請求項１７】
請求項１３記載の制御装置に於いて、前記閾値管理部は、前記エラーレートが所定の最高値を超えた場合、前記書込回数の閾値を所定の最小閾値に変更すると共に、上位装置からライト要求に対し、前記記憶媒体にデータをライトした直後にリードしてエラーの有無を判定するライトベリファイ処理を実行させることを特徴とする制御装置。
【請求項１８】
請求項１３記載の制御装置に於いて、前記媒体スキャン部は、前記記憶媒体の記録面を複数の領域に分割し、前記書込回数が前記書込回数閾値以上となった領域を対象に、前記リードベリファイ処理を実行することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録素子と再生素子を備えたヘッドを用いて記録媒体にデータを記録して再生する記憶装置、制御方法及び制御装置に関し、特に、アイドル中に記憶媒体のデータを読み出してエラーとなったら再書込みするバックグランド媒体スキャン機能を備えた記憶装置、制御方法及び制御装置に関する。
【背景技術】
【０００２】
従来、ホストのストレージサブシステムとして使用される磁気ディスク装置にあっては、ホストからライトコマンドを発行して磁気ディスクの媒体面にデータを書込んだ後に、ホストからリードコマンドを発行して磁気ディスクから実際にデータを読み込むまで、磁気ディスク上のデータは外乱や経年変化に晒され、元のデータ品質を維持できないことが考えられる。【０００３】
磁気ディスク上のデータに加わる外乱としては、例えば隣接トラックの書き込み時に漏れ磁束の影響などによりデータ信号を減衰させてしまうことや、装置振動などによるヘッドのオフトラックにより隣接トラックのデータを部分的書き潰してしまうこと等に起因したサイドイレーズがある。【０００４】
このためホストの入出力システムが書き込みが正常に完了した磁気ディスクのセクタからデータを読み込もうとした際に、回復不可能なデータチェックや回復可能なデータチェック及びこれに伴うセクタの交替処理が発生し、ホスト処理に多大な損害を与える可能性がある。【０００５】
このような磁気ディスク装置における障害発生の傾向は、近年、磁気ディスク装置の容量増加に伴う磁気ディスク媒体面の記録密度の向上、即ち記録方向（円周方向)に対する密度ＢＰＩ及び記録トラック間（半径方向）に対する密度ＴＰＩの向上により顕在化し、磁気ディスク装置の品質面における大きな障害となりつつある。【０００６】
このような磁気ディスク装置のデータ品質の問題を解消するため、近年、バックグランドメディアスキャンとして知られた方法が一般化しつつあり、ＡＮＳＩ(Ａｍｅｒｉｃａｎ Ｎａｔｉｏｎａｌ Ｓｔａｎｄａｒｄ Ｉｎｓｔｉｔｕｔｅ)から仕様が提案されている（非特許文献１）。【０００７】
バックグランドメディアスキャンは、磁気ディスク上のデータを事前に保証する機能であり、磁気ディスク装置のアイドル中に一定の時間間隔で磁気ディスクの全面を対象にリードベリファイを行う。【０００８】
即ち、アイドル期間中に内部的に磁気ディスクの全面リードを実行し、次の処理を行う。【０００９】
（１） 回復不可能なリードエラーとなったセクタを検出した場合はログデータとして記録する。【００１０】
（２） 回復可能なリードエラーが発生したセクタは、回復したデータの再書き込みを実施する。この再書込みにより、一時的なリードエラーやヘッドノイズ、隣接トラックライト時の漏れ磁束による影響、ヘッドの揺れ書きによるデータの部分損傷などが救済される可能性がある。また回復可能なセクタがその後に回復不可能なセクタに品質が低下することも未然に防ぐことが可能である。【００１１】
（３）リードエラーに対し再書込み後の再リードでも何らかのエラーが発生する場合は、真の媒体の欠陥の可能性がある。この場合は、ホストが自動交替を許可していることを条件に、可能ならばセクタの交替処理を実行する。【００１２】
このような従来のバックグラウンドメディアスキャンにあっては、出荷試験などの装置製造段階で、バックグランドメディアスキャンを開始するためのヘッドのライトカウント数の閾値を、サイドイレーズなどの外乱によりリードエラーとなってしまう回数を予測して固定的に定め、装置の使用中にヘッドのライトカウント数が閾値以上となったら、アイドル中にバックグランドメディアスキャンを実行するようにしている。
【特許文献１】特開２００３−２２８９２５号公報
【特許文献２】特開２００６−０４８７８９号公報
【特許文献３】特開２００３−１７８４０２号公報
【特許文献４】特開２００１−３０７４３５号公報
【非特許文献１】Ｔ１０  Ｄｏｃｕｍｅｎｔ，  ＳＢＣ３  Ｔ１０／１７９９−Ｄ  Ｒｅｖｉｓｉｏｎ  ７  （２２  Ｓｅｐｔｅｍｂｅｒ  ２００６），４．１９  Ｂａｃｋｇｒｏｕｎｄ  ｓｃａｎｎｉｎｇ  ｏｐｅｒａｔｉｏｎｓ）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、このような従来の磁気ディスク装置にあっては、バックグランドメディアスキャンを開始するライトカウント数の閾値を固定値として設定していたため、装置に搭載しているヘッドに柔軟に対応出来ないものとなっている。【００１４】
例えば、実際の磁気ディスク装置に搭載されているヘッドは、ヘッド性能に応じてランク分けされており、隣接トラック書込み時のサイドイレーズによる影響度は異なっている。これは各ヘッドに応じて書き込み時の隣接トラックへの破壊確率が異なるためである。【００１５】
しかしながら、このようなヘッドのランクを考慮することなく、ライトカウント数の閾値を固定値に設定してバックグランドメディアスキャンを開始していたため、ランクの高いヘッドについてはライトカウント数の閾値が小さすぎ、サイドイレーズによるリードエラーが起きる可能性が低いにも関わらず、不必要にバックグランドメディアスキャンを開始することとなり、アイドル中の負荷が増加する。【００１６】
一方、ランクの低いヘッドについては、ライトカウント数の閾値が大きくなり過ぎ、サイドイレーズによるリードエラーの可能性が高くなっているにも関わらず、バックグランドメディアスキャンが開始されず、データ品質が充分に保証できなくなる恐れがある。【００１７】
本発明は、ヘッド毎のランク及び実際のエラーレートの状況に応じてバックグランドメディアスキャンを動的に開始可能としてデータ品質を保証する記憶装置、制御方法、及び制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
（記憶装置）
ヘッドを用いて記録媒体にデータを記録して再生する記憶装置に於いて、
ヘッド毎に記憶媒体に対する書込回数を計数し、上位装置からアクセス要求のないアイドル中に、書込回数が所定の閾値以上となったヘッドを対象に、記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する媒体スキャン部と、
ヘッド毎に初期登録された書込回数の閾値を、装置の運用中の所定の条件に応じて変更する閾値管理部と、
を備えたことを特徴とする。【００１９】
ここで、書込回数の閾値は、隣接トラックのデータ書込みにより一部が消去されるサイドイレーズにより読出エラーとなる書込回数に基づいて定められる。【００２０】
閾値管理部は、ヘッドの性能を示すランク情報に応じて書込回数の閾値を初期登録する。【００２１】
閾値管理部は、装置運用中に、単位時間当りのエラーレートを検出し、エラーレートが高いほど書込回数の閾値が小さくなるように変更する。【００２２】
閾値管理部は、エラーレートが所定の最高値を超えた場合、書込回数の閾値を所定の最小閾値に変更すると共に、上位装置からライト要求に対し、記憶媒体にデータをライトした直後にリードしてエラーの有無を判定するライトベリファイ処理を実行させる。【００２３】
記憶媒体の記録目間を複数の領域に分割し、媒体スキャン部は、記憶媒体の記録面を複数の領域に分割し、書込回数が書込回数閾値以上となった領域を対象に、リードベリファイ処理を実行する。【００２４】
（記憶装置の制御方法）
本発明は、ヘッドを用いて記録媒体にデータを記録して再生する記憶装置の制御方法に於いて、
ヘッド毎に初期登録された書込回数を計数し、上位装置からアクセス要求のないアイドル中に、書込回数が所定の閾値以上となったヘッドを対象に、記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する媒体スキャンステップと、
ヘッド毎に初期登録された書込回数の閾値を、装置の運用中の所定の条件に応じて変更する閾値管理ステップと、
を備えたことを特徴とする。【００２５】
（記憶装置の制御装置）
本発明は、記録素子と再生素子を備えたヘッドを用いて記録媒体にデータを記録して再生する記憶装置の制御装置に於いて、
ヘッド毎に記憶媒体に対する書込回数を計数し、上位装置からアクセス要求のないアイドル中に、書込回数が所定の閾値以上となったヘッドを対象に、記憶媒体からデータを読出し、読出エラーの発生時には回復可能なエラーについて回復したデータを再書込みするリードベリファイ処理を実行する媒体スキャン部と、
ヘッド毎に初期登録された書込回数の閾値を、装置の運用中の所定の条件に応じて変更する閾値管理部と、
を備えたことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、アイドル中に媒体スキャンのためのリードベリファイを開始させる書込回数の閾値をヘッド毎に持たせたことで、例えば閾値の初期値を、装置の組立てや工程内で判明しているヘッドの性能に基づくランク情報に応じて設定し、更に、装置使用中は、一定期間毎にヘッド毎にエラーレートを調査し、エラーレートに応じて書込回数の閾値を変化させることにより、性能が低くエラーレートの悪いヘッドに対しては、性能が高くエラーレートの良いヘッドより早めの媒体スキャンが可能になり、回復可能なエラーの状態での再書込みにより、回復不可能なエラー状態になることを未然に防止し、データの信頼性を更に向上できる。【００２７】
また特性やエラーレートの良いヘッドに対しては、性能が低くエラーレートの悪いヘッドより遅めの媒体スキャンが可能になり、アイドル中の装置負荷を低減できる。
【図面の簡単な説明】
【００２８】
【図１】本発明による記憶装置の第１実施形態として磁気ディスク装置を示したブロック図
【図２】第１実施形態で使用するライトカウント管理テーブルの内容を示した説明図
【図３】第１実施形態で使用する閾値管理テーブルの内容を示した説明図
【図４】第１実施形態で閾値に初期設定に使用する初期閾値管理テーブルの内容を示した説明図
【図５】第１実施形態で使用する閾値判定テーブルの内容を示した説明図
【図６】第１実施形態における制御処理を示したフローチャート
【図７】図６のステップＳ１１における閾値変更処理の詳細を示したフローチャート
【図８】本発明の第２実施形態で使用するライトカウント管理テーブルを示した説明図
【図９】第２実施形態における制御処理を示したフローチャート
【発明を実施するための最良の形態】
【００２９】
図１は本発明による記憶装置の第１実施形態としての磁気ディスク装置を示したブロック図である。図１において、ハードディスクドライブ（ＨＤＤ）として知られた磁気ディスク装置１０は、ディスクエンクロージャ１２と制御ボード１４で構成される。ディスクエンクロージャ１２にはスピンドルモータ１６が設けられ、その回転軸に磁気ディスク２２−１，２２−２を装着し、例えば１５０００ｒｐｍの一定速度で回転している。【００３０】
またディスクエンクロージャ１２にはボイスコイルモータ１８が設けられ、ボイスコイルモータ１８は先端にヘッド２４−１〜２４−４を搭載したロータリアクチュエータ２０を駆動して、磁気ディスク２２−１〜２２−２の記録面に対するヘッド位置決めを行う。【００３１】
ヘッド２４−１〜２４−４は記録素子と読出素子が一体化された複合型のヘッドである。記録素子には面内磁気記録型の記録素子または垂直磁気記録型の記録素子が使用される。垂直磁気記録型の記録素子の場合、磁気ディスク２２−１，２２−２には記録層と軟磁性体裏磁層を備えた垂直記憶媒体を使用する。読出素子にはＧＭＲ素子やＴＭＲ素子を使用する。【００３２】
ヘッド２４−１〜２４−４はヘッドＩＣ２６に対し信号線接続されており、ヘッドＩＣ２６は上位装置となるホスト１１からのライトコマンドまたはリードコマンドに基づくヘッドセレクト信号で１つのヘッドを選択し、書込みまたは読出しを行う。またヘッドＩＣ２６には、ライト系についてはライトドライバが設けられ、リード系についてはプリアンプが設けられている。【００３３】
制御ボード１４にはＭＰＵ２８が設けられ、ＭＰＵ２８のバス３０に対し、ＲＡＭを用いた制御プログラム及び制御データを含むファームウェアをロードする揮発メモリ３２、フラッシュＲＯＭなどを用いたファームウェア及び制御に必要なパラメータを格納する不揮発メモリ３４が設けられる。【００３４】
またＭＰＵ２８のバス３０には、モータ駆動制御部３６、ホストインタフェース制御部３８、バッファメモリ４２を制御するバッファメモリ制御部４０、ハードディスクコントローラ４４、ライト変調部、リード変調部として機能するリードチャネル４６が設けられている。【００３５】
ここで、制御ボード１４に設けたＭＰＵ２８、揮発メモリ３２、不揮発メモリ３４、ホストインタフェース制御部３８、バッファメモリ制御部４０、ハードディスクコントローラ４４及びリードチャネル４２は、１つのＬＳＩに実装された記憶制御装置として実現される。【００３６】
なお記憶制御装置は、これらの回路部を１つのＬＳＩにした実施形態以外に、ハードディスクコントローラ４４やリードチャネル４６などを別のＬＳＩとしてもよく、このため制御ユニットとしては、ＭＰＵ２８などのコントローラを含む制御回路部で構成するようにしてもよい。【００３７】
磁気ディスク装置１０は、ホスト１１からのコマンドに基づき書込処理及び読出処理を行う。ここで磁気ディスク装置１０における通常の動作を説明すると次のようになる。【００３８】
ホスト１１からのライトコマンドとライトデータをホストインタフェース制御部３８で受信すると、ライトコマンドをＭＰＵ２８で解読し、受信したライトデータを必要に応じてバッファメモリ４２に格納した後、ハードディスクコントローラ４４で所定のデータ形式に変換すると共に、ＥＣＣ符号化処理によりＥＣＣ符号を付加し、リードチャネル４６におけるライト変調系で、スクランブルＲＬＬ符号変換、更に書込補償を行った後、ライトアンプからヘッドＩＣ２６を介して、選択した例えばヘッド２２−１の記録素子から磁気ディスク２２−１の記録面に書き込む。【００３９】
このときＭＰＵ２８からモータ駆動制御部３６に対しヘッド位置決め信号が与えられており、ボイスコイルモータ１８によりヘッドをコマンドで指示された目標ドライブにシークした後、オントラックして、トラック通常制御を行っている。【００４０】
一方、ホスト１１からのリードコマンドをホストインタフェース制御部３８で受信すると、リードコマンドをＭＰＵ２８で解読し、ヘッドＩＣ２６のヘッドセレクトで選択したヘッドの読出素子から読み出された読出信号をプリアンプで増幅した後、リードチャネル４６のリード復調系に入力し、自動利得増幅、ローパスフィルタによるノイズカット、ＡＤ変換、ＦＩＲフィルタによる自動等化を行った後、パーシャルレスポンス最尤検出（ＰＲＭＬ）などによりリードデータを復調し、ＲＬＬ符号逆変換及びデスクランブルを行ってハードディスクコントローラ４４に出力し、ハードディスクコントローラ４４でＥＣＣ復号処理を行ってエラー訂正をした後、バッファメモリ４２にバッファリングし、ホストインタフェース制御部３８からリードデータをホスト１１に転送する。【００４１】
図１のＭＰＵ２８にはファームウェア（プログラム）の実行により実現される機能としてアクセス処理部４８、媒体スキャン部５０及び閾値管理部５２が設けられている。【００４２】
アクセス処理部４８は前述したように、ホスト１１からライトコマンドまたはリードコマンドを受信した際の磁気ディスクに対するライト動作またはリード動作を実行する。【００４３】
媒体スキャン部５０は、ヘッド２４−１〜２４−４ごとに磁気ディスク２２−１，２２−２の各記録面に対するライトカウント数（書込回数）を計数しており、ホスト１１からのアクセス要求のないアイドル中にライトカウント数が所定の閾値以上となったヘッドを対象に磁気ディスクからデータを読み出し、読出しエラーの発生時には、回復可能なエラーについて、回復したデータを再書込みするリードベリファイ処理を実行する。【００４４】
閾値管理部５２はヘッド２４−１〜２４−４ごとにライトカウント数の閾値をヘッドのランク情報に基づいて初期登録し、装置の運用中にあっては、エラーレートに応じてライトカウント数の閾値を動的に変更する。【００４５】
ＭＰＵ２８に設けた媒体スキャン部５０及び閾値管理部５２に対応して、揮発メモリ３２には、ライトカウント管理テーブル５６、閾値管理テーブル５８及び閾値判定テーブル６０がロードされている。これらのテーブルは不揮発メモリ３４又は磁気ディスクのシステム領域に保存されており、磁気ディスク装置１０の起動処理の際に、揮発メモリ３２に図示のようにロードされる。【００４６】
図２は図１の揮発メモリ３２にロードされたライトカウント管理テーブル５６の内容を示した説明図である。図２において、ライトカウント管理テーブル５６は、ヘッド２４−１〜２４−４に対応したヘッド番号ＨＨ１〜ＨＨ４ごとに、それぞれの磁気ディスク記録面に対するライトカウント数Ｎ１，Ｎ２，Ｎ３，Ｎ４を登録して管理している。【００４７】
図３は図１の揮発メモリ３２にロードした閾値管理テーブル５８の内容を示した説明図である。閾値管理テーブル５８には、図２のライトカウント管理テーブル５６と同様、ヘッド２４−１〜２４−４を示すヘッド番号ＨＨ１〜ＨＨ４のそれぞれに対応して、ライトカウント閾値Ｎｔｈ１，Ｎｔｈ２，Ｎｔｈ３，Ｎｔｈ４を登録して管理している。【００４８】
図１の媒体スキャン部５０にあっては、ホスト１１からのアクセスがなくなったアイドル時に、図２のライトカウント管理テーブル５６をヘッド番号ＨＨ１〜ＨＨ４を参照して対応するライトカウント数Ｎ１〜Ｎ４を読み出し、図３の閾値管理テーブル５８からヘッド番号ＨＨ１〜ＨＨ４に対応するライトカウント閾値Ｎｔｈ１〜Ｎｔｈ４を読み出して比較し、ライトカウント値Ｎ１〜Ｎ４の中でライトカウント閾値Ｎｔｈ１〜Ｎｔｈ４以上となるヘッドがあれば、そのヘッドを媒体スキャン処理の対象ヘッドに選択し、リードベリファイ処理を実行することになる。【００４９】
媒体スキャン部５０により処理対象となったヘッドについて、磁気ディスク記録面のリードベリファイ処理が終了すると、その時点でリードベリファイ処理の済んだヘッドに対応したライトカウント管理テーブル５６のライトカウント数はクリアされ、改めてその時点からライトカウント数のカウントを開始することになる。【００５０】
また本実施形態にあっては、媒体スキャン部５０はスキャン対象としたヘッドによるリードベリファイ処理の実行について、磁気ディスク記録面の全面を対象に、アイドル中に一定の時間間隔でリードベリファイ処理を実行する。【００５１】
図４は本実施形態で閾値管理テーブル５８に登録する閾値の初期設定に使用する初期閾値管理テーブル６２の内容を示した説明図である。図４において、初期閾値管理テーブル６２は、磁気ディスク装置１０の出荷試験などの際に使用される試験用のファームウェアのロードに伴って揮発メモリ３２に展開され、初期閾値管理テーブル６２には本実施形態の磁気ディスク装置１０に使用しているヘッドのランクＡ，Ｂ，Ｃに対応してライトカウント閾値Ｎｔｈが予め登録されている。【００５２】
即ち本実施形態に使用する磁気ヘッド２４−１〜２４−４については、その組立工程及び製造工程で特性が測定されて性能が評価されており、この特性の測定結果から性能のよい順に、ランクＡ，Ｂ，Ｃを割り当てている。【００５３】
なお、組立工程及び製造工程で測定されるヘッドの特性としては、ヘッドにおける記録磁界の測定結果やヘッドの半導体製造工程における形状評価などの適宜のパラメータがあり、これらの測定パラメータに基づきヘッド性能のランク付けが行われている。【００５４】
またヘッドのランク付けは、例えばＡ，Ｂ，Ｃの３段階とした場合、最低のランクＣであったとしても、ヘッドとしての必要性能は確保されており、いずれのランクの磁気ヘッドを磁気ディスク装置に使用しても、出荷試験をパスすることで、ヘッドの性能ランクに依存することなく、装置全体の性能は確保されている。【００５５】
このようにヘッドの性能に応じたランクＡ〜Ｃが決まると、ランクに応じてメディアスキャンのためにリードベリファイ処理を開始するためのライトカウント閾値Ｎｔｈの具体的な値が定まる。【００５６】
即ち、性能の高いランクＡのヘッドについては、ライトカウント数が多くなってもサイドイレーズなどに起因したリードエラーの発生が少ないことから、ライトカウント閾値を例えば１５０００回に設定している。【００５７】
次のランクＢについては、それより小さい１００００回に設定し、３番目のランクＣについては５０００回を設定している。【００５８】
このように本実施形態にあっては、磁気ディスク装置１０の製造段階で、ヘッド２４−１〜２４−４のランク情報に応じ、初期閾値管理テーブル６２を参照してランクＡ〜Ｃに対応したライトカウント閾値Ｎｔｈの値が読み出され、図３の閾値管理テーブル５８にヘッド番号ＨＨ１〜ＨＨ４に対応してライトカウント閾値Ｎｔｈ１〜Ｎｔｈ４の初期値として登録される。【００５９】
図５は本実施形態で使用する閾値判定テーブル６０の内容を示した説明図である。図１のＭＰＵ２８に設けている閾値管理部５２にあっては、装置使用開始時にあっては図３に示した閾値管理テーブル５８に図４の初期閾値管理テーブル６２に基づいて磁気ヘッドのランクに応じたライトカウント閾値を登録しているが、運用中にあってはヘッドごとのエラーレートに応じてライトカウント閾値を変更するようにしている。【００６０】
このエラーレートに基づくライトカウント閾値の変更は、閾値判定テーブル６０を使用して行われる。閾値判定テーブル６０には、エラーレート範囲、ライトカウント閾値、更にライトモードが登録されている。【００６１】
エラーレート範囲としては、閾値判定テーブル６０にあっては、
「ｎ  ｉｎ  １０-6  」
という標記を使用しており、これは１００万セクタリード当たりのエラー回数ｎを意味する。【００６２】
この標記を用いたエラーレート範囲として、１００万セクタリード当りのエラー回数を１００回，２００回，３００回に分け、
１００回未満、
１００回以上２００回未満、
２００回以上３００回未満、
３００回以上
の４つのエラーレート範囲に分けている。【００６３】
ライトカウント閾値にはエラーレートの低い順に１５０００回、１００００回、５０００回、５０００回の閾値が登録されている。【００６４】
更にライトモードについては、１００万セクタリード当りのエラーレート３００回未満までは通常ライトであるが、１００万セクタリード当りのエラーレートが３００回以上と悪化した場合には、通常ライトではなくライトベリファイを行うようにしている。【００６５】
ライトベリファイは、ホスト１１からライトコマンドを受信した際に、磁気ディスクにデータをライトした直後にリードしてエラーの有無を判定する処理であり、万一、エラーが出た場合には、再度データをライトした直後にリードしてエラーの有無を判定し、エラーがなくなるまで繰り返す。このエラーがなくなるまでのリトライ回数は予め得られた回数であり、リトライ回数に達してもエラーが発生する場合には異常終了とする。【００６６】
このようにエラーレートが悪化した場合には、ライトカウント閾値を最小閾値である５０００回に変更すると共に、ライトコマンドに対するライト動作をライトベリファイ処理とすることで、磁気ディスクに対するデータの書込みの信頼性を高めるようにしている。【００６７】
図６は本実施形態における制御処理を示したフローチャートであり、図１を参照して説明すると次のようになる。図６において、磁気ディスク装置１０がホスト１１の電源投入に伴い起動すると、ステップＳ１で電源投入に伴う初期化処理を実行する。【００６８】
初期化処理により正常に起動すると、ステップＳ２でホスト１１からのコマンド受信の有無を判別しており、コマンドを受信すると、ステップＳ３に進み、通常のコマンド動作の入出力処理を実行し、ステップＳ４で停止指示があるまで、ステップＳ２からの処理を繰り返す。【００６９】
ステップＳ２でコマンド受信がない場合にはアイドル状態となり、ステップＳ５に進み、図２に示したライトカウント管理テーブル５６を参照し、ヘッド番号ＨＨ１〜ＨＨ４で特定されるヘッド２４−１〜２４−４ごとに、そのときのライトカウント数Ｎ１，Ｎ２，Ｎ３，Ｎ４を取得する。【００７０】
続いてステップＳ６に進み、図３に示した閾値管理テーブル５８から、ヘッド番号ＨＨ１〜ＨＨ４に対応するライトカウント閾値Ｎｔｈ１〜Ｎｔｈ４を取得し、ステップＳ５で取得したライトカウント数Ｎ１〜Ｎ４と比較し、閾値以上か否か判別する。【００７１】
ここで磁気ディスク装置の使用開始時に、図３の閾値管理テーブル５８のライトカウント閾値は、図４に示した初期閾値管理テーブル６２に示す磁気ヘッド２４−１〜２４−４のランクＡ〜Ｃに応じたライトカウント閾値Ｎｔｈに設定されている。このため、例えば全てのヘッドにつき同じライトカウント数であったとすると、最もランクの低いランクＣのライトカウント閾値Ｎｔｈ＝５０００回を設定しているヘッドのライトカウント数が閾値以上となり、ランクＣのヘッドが最初に媒体スキャンの対象ヘッドに選択される。【００７２】
ステップＳ６で閾値以上となるライトカウント数が判別されると、ステップＳ７に進み、閾値以上となった対象ヘッドについて、図１のＭＰＵ２８に設けた媒体スキャン部５０が対象ヘッドの媒体スキャンを実行する。【００７３】
媒体スキャン部５０による対象ヘッドの媒体スキャンは、例えば図１のヘッド２４−１が対象ヘッドに選択されたとすると、ヘッド２４−１に対する磁気ディスク２２−１の記録面からデータを読み出し、読出しエラーの発生時には回復可能なエラーについて、回復したデータを再書込みするリードベリファイ処理を実行する。【００７４】
このリードベリファイ処理の詳細は、回復不可能なリードエラーとなったセクタを検出した場合はログデータとして記憶する。また回復可能なリードエラーが発生したセクタは、回復したデータを再書込みする。【００７５】
このリードエラーに対する回復したデータの再書込みにより、一時的なリードエラーやヘッドノイズ、隣接トラックライト時の漏れ磁束の影響、更には触れ振れなどによる部分損傷などが救済可能となる。【００７６】
更に、回復可能なリードエラーを発生しているセクタにつき、再書込みにより、その後回復不可能なリードエラーに移行してセクタ品質が低下してしまうことも未然に防止できる。【００７７】
再書込み後の再読出しでもエラーが発生する場合は真の媒体欠陥の可能性があることから、この場合についてはホストが自動交替を許可していることを条件に、欠陥セクタのデータについてセクタの交替処理を実行する。【００７８】
更に、対象ヘッドによる媒体スキャンにあっては、磁気ディスクの記録面におけるトラック単位にリードベリファイ処理を実行している。また、１トラック中に媒体欠陥による交替処理が行われたセクタが存在する場合には、１トラックのリードベリファイ処理を終了した後に、そのトラックに存在する交替セクタについてのリードベリファイ処理を実行する。【００７９】
続いてステップＳ８で媒体スキャン終了の有無をチェックしており、未終了の場合にはステップＳ９に進み、コマンド受信の有無をチェックしている。【００８０】
媒体スキャンの処理中にステップＳ９でホストからのコマンド受信を判別すると、ステップＳ１０で媒体スキャンを中断する。この媒体スキャンの中断は１トラック分のリードベリファイ処理の終了時点で中断する。【００８１】
ステップＳ１０で媒体スキャンを中断すると、ステップＳ１１に進み、受信したコマンドに対する通常の入出力処理を実行した後、ステップＳ１２で再度アイドル状態になることを条件に媒体スキャンを再開する。【００８２】
このため、アイドル中に対象ヘッドの媒体スキャンを実行していても、ホストからコマンド受信があると媒体スキャンを中断し、ホストから受信したコマンドを実行することとなり、アイドル中に媒体スキャンを実行していても、ホストからのアクセス性能を低下させることはない。【００８３】
ステップＳ７〜Ｓ１２による媒体スキャン中に、ステップＳ８で媒体スキャン終了が判別されると、ステップＳ４に進み、停止指示がなければ再びステップＳ２に進み、コマンド受信を待つことになる。【００８４】
一方、ステップＳ６で媒体スキャンを開始するためのライトカウントが閾値未満であった場合には、ステップＳ１３に進み、一定時間経過を待って、ステップＳ１４でヘッドごとにエラーレートを検出し、ステップＳ１５でエラーレートに応じてライトカウント閾値を変更する。【００８５】
ステップＳ１３における待ち時間として設定する一定時間は例えば５００ミリ秒であり、５００ミリ秒の間に得られたセクタリード数とエラー数から、ステップＳ１４でヘッドごとにエラーレートを検出する。【００８６】
例えば一定時間として設定した５００ミリ秒の間に行われたセクタリード数をＡ、その間に発生したエラー数をＢとすると、エラーレートは
（エラー数Ｂ／リードセクタ数Ａ）
として算出される。【００８７】
ここで、本実施形態にあっては図５の閾値判定テーブル６０に示したように、エラーレートの範囲を１００万セクタリード当りのエラー回数により設定しているため、５００ミリ秒で検出されたエラーレートを閾値判定テーブル６０のエラーレート範囲と比較するため、１００万セクタリード当たりのエラー数に変換（正規化）する。【００８８】
例えば５００ミリ秒の一定時間で集計されたセクタリード数がＡ＝１０万回であり、そのときのエラー回数が５回であったとすると、これを１００万セクタリード当りのエラー回数である５０回に変換し、エラーレートを
（５０  ｉｎ  １０-6）
として検出する。【００８９】
ステップＳ１５におけるエラーレートに応じたライトカウント閾値の変更は図５の閾値判定テーブル６０を参照し、図７の閾値変更処理に示すフローチャートに従って実行する。【００９０】
図７の閾値変更処理は、ステップＳ１で検出されて正規化された１００万セクタリード当りのエラー数が１００未満か否かチェックし、１００未満であればステップＳ２に進み、最も大きいライトカウント閾値として１５０００回を設定する。【００９１】
またステップＳ３で検出された１００万セクタリード当りのエラー数が１００以上で２００未満の場合には、ステップＳ４に進み、ライトカウント閾値として次に大きな１万回を設定する。【００９２】
またステップＳ５で検出された１００万セクタリード当りのエラー数が２００以上で３００未満の場合には、ステップＳ６に進み、最も小さいライトカウント閾値として５０００を設定する。【００９３】
更にステップＳ７で検出された１００万セクタリード当りのエラー数が３００以上と最も悪いエラーレートであった場合には、ステップＳ８に進み、ライトカウント閾値を最小値となる５０００に設定すると同時に、ホストからのライトコマンドに対するライト処理をライトベリファイモードの設定に変更する。【００９４】
ライトベリファイモードはホストからのライトコマンドに対し、磁気ディスクにデータをライトした直後にリードしてエラーの有無を判定し、もしリードエラーとなった場合には再度データをライトした後にリードし、リードエラーがなくなるまでリトライ処理を繰り返し、予め定めたリトライ回数に達してもリードエラーとなる場合には異常終了とする処理である。【００９５】
このエラーレートが最も悪化した場合にライトカウント閾値を最小値となる５０００回に設定すると同時にライトベリファイモードを設定することで、アイドル中における媒体スキャンの時間間隔を最も短くすると同時に、ライトコマンドに対するライト処理についてもライトベリファイ処理を実行することで、データ書込みの信頼性を高めるようにしている。【００９６】
図８は本発明の他の実施形態を説明する。第２の実施形態は図８に示すライトカウント管理テーブル５６を使用している。図２に示した第１実施形態のライトカウント管理テーブル５６にあっては、ヘッド番号ＨＨ１〜ＨＨ４に対応した磁気ディスクの記録面全体を対象にライトカウント数Ｎ１〜Ｎ４を管理して、記録面全体につき１回の媒体スキャンを実行しているが、第２実施形態にあっては、図８のライトカウント管理テーブル５６に示すように、ヘッド番号ＨＨ１〜ＨＨ４に対応した磁気ディスクの記録面の領域をｎ個のパーティションに分割し、各パーティションごとにライトカウント値を集計し、パーティションのライトカウント値がヘッド番号に対応したヘッドごとのライトカウント閾値以上となったときに媒体スキャンをパーティション単位に実行することを特徴とする。【００９７】
図８のライトカウント管理テーブル５６にあっては、ヘッド番号ＨＨ１〜ＨＨ４のそれぞれに対応してｎ領域に分割したパーティションごとに、ライトカウント値Ｐ１１〜Ｐ１ｎ，Ｐ２１〜Ｐ２ｎ，Ｐ３１〜Ｐ３ｎ，Ｐ４１〜Ｐ４ｎを求めて管理している。【００９８】
一方、ライトカウント閾値は、図３の第１実施形態の閾値管理テーブル５８と同じものを使用し、ヘッド番号ＨＨ１〜ＨＨ４に対応してライトカウント閾値Ｎｔｈ１〜Ｎｔｈ４を設定している。また閾値管理テーブル５８のライトカウント閾値の初期値は、図４に示す初期閾値管理テーブル６２から得られたヘッドのランクＡ〜Ｃに応じたライトカウント閾値が初期設定されている。【００９９】
図９は磁気ディスクの記録面をパーティションに分割して媒体スキャンを実行する第２実施形態における制御処理を示したフローチャートである。【０１００】
図９におけるステップＳ１〜Ｓ４の通常時のホストからのコマンド実施に対する処理は、図６の第１実施形態の場合と同じである。【０１０１】
ステップＳ７でコマンド受信がないことが判別されると、アイドル状態となり、ステップＳ５で図８のライトカウント管理テーブル５６を参照し、パーティションのライトカウント値を取得し、ステップＳ６で図３に示した閾値管理テーブルテーブル５８から得られたヘッド番号に対応したライトカウント閾値と比較し、閾値以上となるライトカウント値のパーティションの有無を判別する。【０１０２】
ステップＳ６で閾値以上となるライトカウント値を持つパーティションが判別されると、ステップＳ７に進み、閾値以上のライトカウント値を持つパーティションを対象パーティションとして媒体スキャンを実行する。【０１０３】
対象パーティションの媒体スキャンにつき、ステップＳ７で媒体スキャンの終了の有無をチェックしており、未終了であればステップＳ９に進み、コマンド受信の有無をチェックし、もしコマンド受信があれば、ステップＳ１０で媒体スキャンを中断し、ステップＳ１１で通常の入出力処理を実行した後、ステップＳ１２で媒体スキャンを再開し、ステップＳ７〜Ｓ１２の処理の繰返しの中でステップＳ８で対象パーティションの媒体スキャンが終了すると、ステップＳ４に戻り、停止指示がなければ、再びステップＳ２でコマンド受信を待つ。【０１０４】
一方、ステップＳ６で閾値以上となるライトカウント数を持つパーティションがない場合には、ステップＳ１３に進み、一定時間経過例えば５００ミリ秒の経過を待って、ステップＳ１４に進み、ヘッドごとにエラーレートを検出し、ステップＳ２２で図５に示した閾値判定テーブル６０に従ってエラーレートに応じてライトカウント閾値を変更する。【０１０５】
このステップＳ５におけるライトカウント閾値の変更の詳細は、図７の閾値変更処理のフローチャートと同じになる。【０１０６】
このように第２実施形態にあっては、磁気ディスクの記録面全体ではなく、記録面を複数のパーティションに分割して、各パーティションごとにライトカウント数を管理し、閾値以上となったときに媒体スキャンを実行することで、例えば記録面の特定の領域にアクセスが集中するような場合、アクセスが集中した領域を含むパーティションについて媒体スキャンを実行することができ、記録面全体を１つの領域として媒体スキャンを実行している場合に比べ、媒体面のアクセスが集中する領域に絞り込んで必要な媒体スキャンを効率よく実行することができ、アイドル中における媒体スキャンのための処理負荷を低減することができる。【０１０７】
ここで、第２実施形態にあっては磁気ディスクの記録面を複数のパーティションに分割しており、各パーティションはホストから見た論理ブロックアドレスＬＡＢにより管理することになる。【０１０８】
この記録媒体のパーティションに分割した媒体スキャンは、磁気ディスクを半径方向の複数のゾーンに分割して管理するゾーン分割についても同様に適用可能である。即ち、磁気ディスクの記録面をパーティションに分割するかゾーンに分割するかは必要に応じて適宜に選択できる事項であり、実質的に相違はない。【０１０９】
また本発明は図１のＭＰＵ２８で実行されるファームウェアプログラム（制御プログラム）を提供するものであり、このファームウェアプログラムは、第１実施形態については図６及び図７のフローチャートの内容を持ち、また第２実施形態については図９のフローチャートの内容を持つことになる。【０１１０】
なお上記の実施形態は、ヘッド毎に初期登録された書込回数の閾値を、装置の運用中の所定の条件として、エラレートに応じて変更する場合を例にとるものであったが、装置の運用中の所定の条件としては、エラーレート以外に、装置内の温度や電源電圧の各々に応じて書込回数の閾値を変更しても良いし、温度や電源電圧の組合せに応じて書込回数の閾値を変更しても良い。【０１１１】
また、装置の運用中の所定の条件としては、リトライ回数に基づく指標や、タイマで測定される装置運用時間(運用開始からの時間)、もしくは継続使用時間(電源オンからの経過時間)などに応じて、書込回数の閾値を変更しても良い。【０１１２】
また、上記の実施形態は磁気ディスク装置を例に取るものであったが、本発明は磁気ディスク装置に限定されず、光ディスク装置や光磁気ディスク装置などの光学的記憶装置におけるバックグラウンドメディアスキャンについても同様に適用することができる。【０１１３】
また本発明はその目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【図１】
2009040929.tif 000003
【図２】
2009040929.tif 000004
【図３】
2009040929.tif 000005
【図４】
2009040929.tif 000006
【図５】
2009040929.tif 000007
【図６】
2009040929.tif 000008
【図７】
2009040929.tif 000009
【図８】
2009040929.tif 000010
【図９】
2009040929.tif 000011
【国際調査報告】
2009040929.tif 000012
2009040929.tif 000013
2009040929.tif 000014