(57)【要約】【課題】複数のディスク面と、複数のヘッドを有するディスク記憶装置において、１のヘッドの不良前に、そのヘッドのディスク面のデータを保護する。【解決手段】ヘッド毎に、ヘッド（２５）の動作によるエラー発生回数を累積するテーブル（４Ｂ）と、累積したエラー発生回数から１のヘッドの不良を予知し、不良予知されたヘッドにより、対応するディスク面のデータを読み出し、他のヘッドで、対応する他のディスク面に、読み出しデータを書き込む制御ユニット（３０）を設ける。ヘッドの不良を予知できるため、データの保護が事前に実現できる。【選択図】図７
2007035217.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク面を持つ少なくとも１つのディスクと、前記ディスク面の各々に設けられ、対応するディスク面のデータの読み取り及び書き込みを行う複数のヘッドとを有するディスク記憶装置のデータ退避処理方法であって、
前記ヘッド毎に、前記ヘッドの動作によるエラー発生回数を累積するステップと、
前記累積したエラー発生回数から１の前記ヘッドの不良を予知するステップと、
前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むデータ退避ステップとを有する
ことを特徴とするディスク記憶装置のデータ退避処理方法。
【請求項２】
前記データ退避ステップは、
前記不良予知されたヘッドに対応するディスク面の移動データ量を計算するステップと、
前記他のヘッドに対応するディスク面の空きデータ容量を計算するステップと、
前記移動データ量が、前記空きデータ容量より少ないかを判定するステップと、
前記移動データ量が、前記空きデータ容量より少ない場合に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むステップとを有する
ことを特徴とする請求項１のディスク記憶装置のデータ退避処理方法。
【請求項３】
前記データ退避ステップは、更に、前記ディスク面のデータ位置を論理的に指定するためのＬＢＡを、前記読み出されたディスク面のＬＢＡから、前記書き込まれたディスク面のＬＢＡに変更するステップを有する
ことを特徴とする請求項１のディスク記憶装置のデータ退避処理方法。
【請求項４】
複数のディスク面を持つ少なくとも１つのディスクと、
前記ディスク面の各々に設けられ、対応するディスク面のデータの読み取り及び書き込みを行う複数のヘッドと、
前記ヘッド毎に、前記ヘッドの動作によるエラー発生回数を累積するテーブルと、
前記累積したエラー発生回数から１の前記ヘッドの不良を予知し、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込む制御ユニットとを有する
ことを特徴とするディスク記憶システム。
【請求項５】
前記制御ユニットは、前記ディスク面のデータ位置を論理的に指定するためのＬＢＡを、前記読み出されたディスク面のＬＢＡから、前記書き込まれたディスク面のＬＢＡに変更する
ことを特徴とする請求項４のディスク記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクにデータをヘッドで記録するディスク記憶装置のデータ退避処理方法およびディスク記憶システムに関し、特に、ヘッドの障害を予知し、そのヘッドのディスク面のデータを、他のヘッドのディスク面に自動退避するディスク記憶装置のデータ退避処理方法及びディスク記憶システムに関する。
【背景技術】
【０００２】
近年のデータ電子化処理の要求により、データを記憶する磁気ディスク装置や光ディスク装置の媒体記憶装置に、大容量化が要求されている。このため、ディスク媒体は、益々トラック密度や記録密度が高くなっている。しかも、トラック上の無駄な領域の減少が要求されている。
【０００３】
このようなディスク装置では、記憶媒体に、ヘッドでデータをリード／ライトするため、ヘッドや記憶媒体の欠陥に対し、データを保護する各種の予防策が採用されている。例えば、ディスク記憶装置内で、エラーの状況をＳＭＡＲＴ（Ｓｅｌｆ  Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  Ｒｅｐｏｒｔ  Ｔｅｃｈｎｏｌｏｇｙ）情報に格納しておき、その情報を、上位装置の指示で、上位装置に通知する。上位装置は、このＳＭＡＲＴ情報を元に、ディスク装置の状態を認識し、アラーム等を発生し、ユーザーに通知する。
【０００４】
又、ディスク装置に自己診断機能を設け、磁気ヘッドの損傷や記憶媒体の欠陥を検出することも行われている（例えば、特許文献１参照）。
【特許文献１】特開平１０−０２７４３６号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年の装置の小型化の要求により、かかるディスク記憶装置も、小型のサーバやモバイル機器（例えば、ノート型パーソナルコンピュータや携帯型ＡＶ（Audio/Visual）機器）へ搭載されている。このため、振動や温度変化等の外部環境を受け易い環境で使用される。
【０００６】
これらの環境では、特に、ヘッドや記憶媒体が比較的損傷しやすく、その対策が必要である。しかしながら、従来技術では、ヘッドの損傷を検出しても、そのヘッドが読み取るディスク面のデータは、ヘッドが損傷しているため、読み取ることができず、データの消失を招くという問題が生じてきた。近年、ディスク一面のデータ容量が増加しているため、消失データ量も多くなり、無視できなくなってきた。
【０００７】
又、データ保護の観点では、ディスク装置の冗長構成、いわゆるＲＡＩＤ技術を適用することも解決策の一つであるが、この方法は、１つのヘッドの不良でも、ディスク装置全体の不良とみなすため、他のヘッドが良好でも、継続使用できないという問題がある。
【０００８】
従って、本発明の目的は、１のヘッドの不良を予知し、そのヘッドのディスク面のデータを保護し、継続使用するためのディスク記憶装置のデータ退避処理方法及びディスク記憶システムを提供することにある。
【０００９】
又、本発明の他の目的は、１のヘッドの不良を予知し、他のヘッドのディスク面に自動退避するためのディスク記憶装置のデータ退避処理方法及びディスク記憶システムを提供することにある。
【００１０】
更に、本発明の更に他の目的は、ディスク装置で収集しているエラー情報から、１のヘッドの不良を予知し、そのヘッドのディスク面のデータを、他のヘッドのディスク面に自動退避するためのディスク記憶装置のデータ退避処理方法及びディスク記憶システムを提供することにある。
【００１１】
更に、本発明の更に他の目的は、１のヘッドの不良を予知し、そのヘッドのディスク面のデータを、不良確立の少ない他のヘッドのディスク面に自動退避するためのディスク記憶装置のデータ退避処理方法及びディスク記憶システムを提供することにある。
【課題を解決するための手段】
【００１２】
この目的の達成のため、本発明は、複数のディスク面を持つ少なくとも１つのディスクと、前記ディスク面の各々に設けられ、対応するディスク面のデータの読み取り及び書き込みを行う複数のヘッドとを有するディスク記憶装置のデータ退避処理方法であって、前記ヘッド毎に、前記ヘッドの動作によるエラー発生回数を累積するステップと、前記累積したエラー発生回数から１の前記ヘッドの不良を予知するステップと、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むデータ退避ステップとを有する。
【００１３】
本発明のディスク記憶システムは、複数のディスク面を持つ少なくとも１つのディスクと、前記ディスク面の各々に設けられ、対応するディスク面のデータの読み取り及び書き込みを行う複数のヘッドと、前記ヘッド毎に、前記ヘッドの動作によるエラー発生回数を累積するテーブルと、前記累積したエラー発生回数から１の前記ヘッドの不良を予知し、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込む制御ユニットとを有する。
【００１４】
又、本発明では、好ましくは、前記データ退避ステップは、前記不良予知されたヘッドに対応するディスク面の移動データ量を計算するステップと、前記他のヘッドに対応するディスク面の空きデータ容量を計算するステップと、前記移動データ量が、前記空きデータ容量より少ないかを判定するステップと、前記移動データ量が、前記空きデータ容量より少ない場合に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むステップとを有する。
【００１５】
又、本発明では、好ましくは、前記データ退避ステップは、更に、前記ディスク面のデータ位置を論理的に指定するためのＬＢＡを、前記読み出されたディスク面のＬＢＡから、前記書き込まれたディスク面のＬＢＡに変更するステップを有する。
【００１６】
又、本発明では、好ましくは、前記判定ステップは、前記移動データ量が、前記空きデータ容量より少ない他のヘッドが複数存在するかを判定するステップと、前記移動データ量が、前記空きデータ容量より少ない他のヘッドが複数存在する場合には、前記エラー発生回数の少ない１の他のヘッドを、データ移動先ヘッドと決定するステップとを有する。
【００１７】
又、本発明では、好ましくは、前記判定ステップは、前記移動データ量が、複数の他のヘッドの前記空きデータ容量の合計より少ないかを判定するステップと、前記移動データ量が、前記空きデータ容量より少ない場合には、前記エラー発生回数の少ない１の他のヘッドを、第１のデータ移動先ヘッドと決定するステップと、前記１の他のヘッドで、前記移動データ量の全てを格納できないことを検出して、次に前記エラー発生回数の少ない他のヘッドを、第２のデータ移動先ヘッドと決定するステップとを有する。
【００１８】
又、本発明では、好ましくは、前記不良予知ステップは、前記エラー発生回数を所定の閾値と比較して、前記ヘッドの不良を予知するステップからなる。
【００１９】
又、本発明では、好ましくは、前記データ退避ステップは、前記不良予知されたヘッドに対応するディスク面のＬＢＡのリードコマンドを発行するステップと、前記読み出されたディスク面のリードデータの前記他のディスク面の移動先ＬＢＡへのライトコマンドを発行するステップとを有する。
【００２０】
又、本発明では、好ましくは、前記移動データ量と前記空きデータ容量を計算するステップは、前記ヘッド毎の対応ＬＢＡ範囲を示すテーブルを使用して、前記移動データ量と、前記他のヘッドに対応するディスク面の空きデータ容量を計算するステップからなる。
【００２１】
又、本発明では、好ましくは、前記累積したエラー発生回数を、ホストの要求により、前記ディスク装置から前記ホストに通知するステップと、前記通知されたエラー発生回数から前記ヘッドの不良を予知し、前記ホストから前記ディスク装置に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むコマンドを発行するステップを更に有する。
【００２２】
又、本発明では、好ましくは、前記データ退避ステップの実行後、前記不良予知されたヘッドの使用を抑制するステップを更に有する。
【発明の効果】
【００２３】
本発明では、ヘッド毎に、ヘッドの動作によるエラー発生回数を累積するテーブルを設けたので、累積したエラー発生回数から１のヘッドの不良を予知できる。そして、不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むため、データ保護が事前に実現できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を、ディスク記憶装置、データ退避処理、他の実施の形態の順で説明する。
【００２５】
＊＊ディスク記憶装置＊＊
図１は、本発明の一実施の形態のディスク記憶装置の構成図、図２及び図４は、図１のＳＭＡＲＴ情報の説明図、図５及び図６は、ホストＬＢＡとディスクのデータ格納位置の説明図である。図１は、ディスク記憶装置として、磁気ディスクにデータをリード／ライトする磁気ディスク装置（ＨＤＤ）を例に示す。
【００２６】
図１に示すように、磁気ディスク装置１０は、パーソナルコンピュータ（図７で後述する）に内蔵又は接続され、パーソナルコンピュータのホスト（図１では図示せず）とＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）規格等のインターフェースのケーブル（図示せず）で接続される。
【００２７】
磁気ディスク装置１０は、複数枚（ここでは、２枚）の磁気ディスク１９と、磁気ディスク１９を回転するスピンドルモータ２０と、磁気ディスク１９の各面にデータをリード／ライトする複数（ここでは、４つ）の磁気ヘッド２５と、磁気ヘッド２５を磁気ディスク１９の半径方向（トラック横断方向）に移動するアクチュエータ（ＶＣＭ）２２とを備える。
【００２８】
又、制御部として、ＨＤＣ（Hard  Disk  Controller）１２と、データバッファ１４と、ＭＰＵ１１と、メモリ（ＲＡＭ／ＲＯＭ）１３と、リードチャネル回路１６と、ヘッドＩＣ１８と、スピンドルモータドライバ２１と、ＶＣＭドライバ２３と、これらを接続するバス１７とを備える。
【００２９】
ＨＤＣ１２は、ホストからタスクをセットするタスクファイルを有するインターフェース制御回路と、データバッファ１４を制御するデータバッファ制御回路とを有する。リードチャネル回路１６は、リードデータの復調やライトゲートの生成を行う。
【００３０】
データバッファ１４は、キャッシュメモリの役目を果たし、ホストからのライトデータを保存し、磁気ディスク１９からのリードデータを保存する。そして、ライトバック時には、データバッファ１４のライトデータを、磁気ディスク１９にライトし、リード時には、データバッファ１４のリードデータを、ホストへ転送する。
【００３１】
ヘッドＩＣ１８は、ライト時は、ライトデータに従い、磁気ヘッド２５に記録電流を流し、リード時は、磁気ヘッド２５からの読取信号を増幅して、リードチャネル回路１６に出力する。スピンドルドライバ２１は、スピンドルモータ２０を回転駆動する。ＶＣＭドライバ２３は、磁気ヘッド２５を移動するＶＣＭ２２を駆動する。
【００３２】
ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ）１１は、磁気ヘッド２５の位置制御、リード／ライト制御、リトライ制御を行う。メモリ（ＲＯＭ／ＲＡＭ）１３は、ＭＰＵ１１の処理に必要なデータを格納する。このリードチャネル回路１６に、リード／ライトタイミング回路３が設けられ、ＭＰＵ１１は、このタイミング回路３と連携して、リード／ライト制御を実行する。
【００３３】
ＳＭＡＲＴ情報４は、磁気ディスク１９のシステム領域に書き込まれるが、装置の稼動時は、ＲＡＭ１３に、磁気ディスク１９から読み出される。ＳＭＡＲＴ情報４は、稼動時間、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）のエラーレート、リトライ回数等のログデータやその累積値を格納する。本発明の実施の形態では、更に、図２乃至図４のテーブル４Ａ，４Ｂ，４Ｃを、ＳＭＡＲＴ情報４に設ける。
【００３４】
図２のテーブル４Ａは、ヘッド対ＬＢＡテーブルであり、装置内の各ヘッド１９（ＨＤ０〜ＨＤｎと記す）の担当するＬＢＡの範囲を定義したものであり、テーブル形式で示す。各ヘッドＨＤ０〜ＨＤｎに、ＬＢＡのテーブルＴａｂｌｅ１〜ｎを設ける。各テーブルＴａｂｌｅ１〜ｎに、ＬＢＡの開始ＬＢＡ  ＳＴＡＲＴと、ＬＢＡの終了ＬＢＡ  ＥＮＤを格納する。
【００３５】
例えば、図５及び図６に示すように、複数のディスク面及びヘッドを有するディスク装置では、シリンダ又はノッチアドレス形式を採用する。即ち、図６に示すように、ホストの論理空間は、ＬＢＡで定義され、連続である。この論理空間のデータを、複数のヘッドとディスク面を持つ装置に対応させるには、論理空間を分割して、各ヘッドおよびディスク面に割り付ける必要がある。
【００３６】
この場合に、図５のディスク面１９Ａに、ディスク面の容量一杯に連続した論理ブロックアドレスを割り付けると、ヘッドのシーク距離が長くなることがあり、アクセスタイムが低下する。
【００３７】
このため、図５及び図６に示すように、ヘッドの位置を考え、論理空間を細再分割し、例えば、１０００ＬＢＡし、ディスク面１９Ａ，１９Ｂ，１９Ｃ，１９Ｄに順次割り当てる。ここでは、ディスク面１９ＡにＬＢＡ００００〜ＬＢＡ１０００を割り当てると、ディスク面１９Ｂ，１９Ｃ，１９Ｄの同一位置に、各々連続空間で次のＬＢＡ１００１〜ＬＢＡ２０００、ＬＢＡ２００１〜ＬＢＡ３０００、ＬＢＡ３００１〜ＬＢＡ４０００を割り当てる。
【００３８】
このようにすると、ＬＢＡ００００〜４０００までは、ヘッドの切り替えで、連続アクセスでき、シーク距離を短縮できる。図２のテーブルＴａｂｌｅ１は、この細分化されたＬＢＡの開始ＬＢＡ  ＳＴＡＲＴと、ＬＢＡの終了ＬＢＡ  ＥＮＤを格納する。
【００３９】
次に、図３のテーブルは、エラー発生カウントログテーブル４Ｂである。このテーブル４Ｂは、ヘッド毎に、動作毎のエラー発生個数と、その属性値を格納する。例えば、各ヘッドＨＤ０〜ＨＤｎのリードエラー、ライトエラー、シークエラーのエラー発生個数とその属性値を格納する。
【００４０】
このテーブル４Ｂは、従来のＳＭＡＲＴ情報４のＬＢＡ毎に登録されたエラー情報から作成される。例えば、ＬＢＡから図２のテーブル４Ａを参照し、ヘッド番号を導きだし、ヘッド毎のエラー発生個数に変換する。又、個々のエラー発生個数で判定することは、煩雑であるから、図１０で説明するように、エラー発生個数を所定個数まとめ、まとめたものに、１つの属性値を与えている。
【００４１】
図４のテーブル４Ｃは、各動作のエラー閾値を格納する閾値テーブルである。ここでは、リードエラー、ライトエラー、シークエラーの閾値を、属性値で格納する。この閾値は、図１０で後述するように、通常のエラー閾値より小さい。即ち、通常の閾値は、異常検出のためであるが、本発明では、異常予知のためであるからである。
【００４２】
以上のようなテーブル４Ａ，４Ｂ，４Ｃを持つＳＭＡＲＴ情報４を利用して、データ退避動作を行う。
【００４３】
＊＊データ退避処理＊＊
図７は、本発明の一実施の形態のデータ退避処理の説明図、図８は、図７の空きデータ容量確認処理フロー図、図９は、図７のデータ移動処理フロー図、図１０は、図７のヘッド異常予知の説明図、図１１及び図１２は、データ移動処理の説明図である。
【００４４】
図１０を参照して、図７のデータ退避処理を説明する。
【００４５】
（Ｓ１０）ディスク記憶装置１０は、ホスト（パーソナルコンピュータ：ＰＣ）３０に接続されている。ホスト３０は、ディスク記憶装置１０のＳＭＡＲＴ情報４を、適時（例えば、一定時間毎、処理の終了毎に）、読み出す。
【００４６】
（Ｓ１２）ホスト３０は、読み出したＳＭＡＲＴ情報４から、図３、図４のエラー個数テーブル４Ｂと、エラー閾値テーブル４Ｃとを取り出す。例えば、図１０に示すように、リードエラーに対しては、リードエラー個数に対し、属性値が割り当てられ、リードエラー個数が少ない程、属性値が大きい。ここで、前述のように、ヘッドの不良予知を目的としているため、属性値で見ると、エラー閾値テーブル４Ｃの閾値（不良予知閾値という）は、通常の異常検出の閾値より大きい。ホスト３０は、テーブル４Ｂの各ヘッドのリードエラーの属性値が、テーブル４Ｃの閾値（属性値）以下かを判定する。前述のように、リードエラー個数が少ない程、属性値が大きいため、テーブル４Ｂの全ヘッドのリードエラーの属性値が、テーブル４Ｃの閾値（属性値）以下でない時は、ヘッド不良が発生していないと判定し、通常動作に戻る。
【００４７】
（Ｓ１４）一方、テーブル４Ｂのいずれかのヘッドのリードエラーの属性値が、テーブル４Ｃの閾値（属性値）以下である時は、そのヘッドが不良となる可能性があると判定し、データ退避処理に移る。先ず、対象ヘッドのディスク面に格納されているデータ容量を計算し、且つ他のヘッドの全空きデータ容量を計算する。この処理は、図８で説明する。
【００４８】
（Ｓ１６）ホスト３０は、対象ヘッドのディスク面に格納されているデータ容量が、他のヘッドの全空きデータ容量以下かを判定する。対象ヘッドのディスク面に格納されているデータ容量が、他のヘッドの全空きデータ容量以下でない場合には、データ退避できないため、アラームを報告し、通常動作に戻る。一方、対象ヘッドのディスク面に格納されているデータ容量が、他のヘッドの全空きデータ容量以下であれば、データ退避可能であるため、図９で説明するデータ移動先ヘッドを決定し、ディスク記憶装置１０へ、移動先ヘッドへのデータ移動を指示する。これにより、ディスク記憶装置１０は、対象ヘッドで対応するディスク面のデータを読み出し、メモリに格納した後、移動先ヘッドで、対応するディスク面に、その読み出したデータを書き込む。
【００４９】
（Ｓ１８）ホスト３０は、ディスク記憶装置１０からデータ移動完了を受けると、前述の移動データの論理空間でのＬＢＡを移動先に変更し、ユーザーへ報告する。そして、その対象ヘッドへのアクセス頻度を抑える処理を実施する。例えば、他のヘッドのディスク面を優先して使用し、他のヘッドのディスク面がフルとなり、データを格納する必要がある場合に限り、その対象ヘッドへアクセスを許可する。そして、通常動作に戻る。
【００５０】
このように、ディスク記憶装置１０で、ヘッド毎のエラー発生回数を保持し、このエラー発生回数から、ヘッドの不良を予知して、完全に不良になる前に、そのヘッドのディスク面のデータを、不良でない他のヘッドのディスク面に退避する。このため、ディスク記憶装置内のデータを保護でき、継続使用できる。
【００５１】
又、ディスク記憶装置１０に、その閾値を設けたので、ホストは、何ら状態情報を持つことなく、データ退避プログラムを搭載するだけで、実現できる。即ち、ホストは、データ退避プログラムを搭載するだけで、データ保護機能を持つことができ、汎用性に富む。
【００５２】
更に、ディスク記憶装置１０に、各ヘッドのＬＢＡアロケーションテーブルを設けたので、ホストは、容易に、データ退避先ヘッドを決定できる。
【００５３】
次に、図８により、図７のデータ移動量及び空き容量計算処理を説明する。
【００５４】
（Ｓ２０）ホスト３０は、図６で説明したホスト論理空間のデイレクトリから、ホスト論理空間でのＬＢＡ使用状況（使用範囲）を検索する。
【００５５】
（Ｓ２２）ホスト３０は、前述の図３のヘッド対ＬＢＡテーブル４Ａを参照して、ＬＢＡ使用範囲で使用している各ヘッドを特定する。
【００５６】
（Ｓ２４）次に、各ヘッドの内、不良予知された対象ヘッドのＬＢＡ使用範囲から、その対象ヘッドの使用データ容量を計算する。
【００５７】
（Ｓ２６）次に、不良予知されたヘッド以外のヘッドのＬＢＡ使用データ容量を同様に、計算し、そのヘッド（ディスク面）のユーザーデータ容量から使用データ容量を差し引き、不良予知されたヘッド以外のヘッド（ディスク面）の空き容量を計算する。例えば、図１１、図１２のような空き容量のテーブルが得られる。
【００５８】
次に、図１０、図１１を参照して、図９により、図７のデータ退避処理を説明する。
【００５９】
（Ｓ３０）図８で計算された不良予知されたヘッド以外のヘッドの使用データ容量（データ移動量という）と各ヘッドの空き容量を比較し、移動先ヘッドを決定する。例えば、データ移動量を、１００Ｋｂｙｔｅとすると、図１１及び図１２のような空き容量と比較する。
【００６０】
（Ｓ３２）１つのヘッドで、データ移動容量分の空きスペースがあると判定された場合には、そのヘッドを移動先候補ヘッドとする。移動先候補ヘッドが１つしかない場合には、その移動先候補ヘッドを、移動先ヘッドに決定する。一方、図１１のように、移動先候補ヘッドが、複数ある（図１１では、ヘッド１，２，３）場合には、そのヘッドの属性値をテーブル４Ｂから読み出し、属性値の大きい（図１０のように、エラー発生個数の少ない）ヘッド（図１１では、ヘッド３）を、移動先ヘッドに選択する。即ち、エラー発生確率の少ないヘッドに移動することで、次回以降のリード時のエラーの発生を最小にでき、且つ次に不良予知されると思われるヘッドへのデータ退避を防止する。そして、終了する。
【００６１】
（Ｓ３４）１ヘッドで、データ移動容量分の空き容量がないと判定されると、先ず、空き容量があり、不良予知されてない全ヘッドを移動先候補ヘッドとし、そのヘッドの属性値をテーブル４Ｂから読み出す。属性値の大きい（図１０のように、エラー発生個数の少ない）ヘッド（図１２では、ヘッド３）を、移動先ヘッドに選択する。即ち、エラー発生確率の少ないヘッドに移動することで、次回以降のリード時のエラーの発生を最小にでき、且つ次に不良予知されると思われるヘッドへのデータ退避を防止する。
【００６２】
（Ｓ３６）次に、ホスト３０は、その移動先ヘッドの空き容量を、データ移動量から差し引き、データ移動量を更新する。
【００６３】
（Ｓ３８）ホスト３０は、更新されたデータ移動量が「０」であるかを判定する。データ移動量が「０」でない場合には、ステップＳ３４に戻り、次に属性値の大きいヘッドを移動先ヘッドに決定する。更新されたデータ移動量が「０」である場合には、移動先ヘッド決定処理を終了する。
【００６４】
この移動先ヘッドの決定後、ホスト３０は、ディスク記憶装置１０に、移動元（不良予知された）ヘッドのデータリードコマンド及び移動先ヘッドへのライトコマンドを発行する。
【００６５】
このように、移動先を、属性値の大きい（図１０のように、エラー発生個数の少ない）ヘッドに選択し、データ移動することで、次回以降のリード時のエラーの発生を最小にでき、且つ次に不良予知されると思われるヘッドへのデータ退避を防止する。
【００６６】
＊＊他の実施の形態＊＊
前述の実施の形態では、ディスク記憶装置を磁気ディスク装置で説明したが、光ディスク、光磁気ディスク、他の記憶媒体を使用した記憶装置にも適用できる。又、インターフェースは、ＡＴＡに限らず、他のインターフェースにも適用できる。更に、４面のディスクのディスク装置で説明したが、２面のディスク装置等、ディスク面を複数持つ装置にも適用できる。
【００６７】
しかも、ホスト３０により、データ移動量、空き容量を計算し、データ退避先ヘッドを決定しているが、ディスク装置で、各ヘッドのデータ使用量を管理することにより、ディスク装置側でこれの処理を実行できる。この場合には、ホストの論理空間を操作することになるため、ホストに、データ退避処理の可否や、データ退避先ＬＢＡ情報を通知する。
【００６８】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００６９】
（付記１）複数のディスク面を持つ少なくとも１つのディスクと、前記ディスク面の各々に設けられ、対応するディスク面のデータの読み取り及び書き込みを行う複数のヘッドとを有するディスク記憶装置のデータ退避処理方法であって、
前記ヘッド毎に、前記ヘッドの動作によるエラー発生回数を累積するステップと、前記累積したエラー発生回数から１の前記ヘッドの不良を予知するステップと、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むデータ退避ステップとを有することを特徴とするディスク記憶装置のデータ退避処理方法。
【００７０】
（付記２）前記データ退避ステップは、前記不良予知されたヘッドに対応するディスク面の移動データ量を計算するステップと、前記他のヘッドに対応するディスク面の空きデータ容量を計算するステップと、前記移動データ量が、前記空きデータ容量より少ないかを判定するステップと、前記移動データ量が、前記空きデータ容量より少ない場合に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むステップとを有することを特徴とする付記１のディスク装置のデータ退避処理方法。
【００７１】
（付記３）前記データ退避ステップは、更に、前記ディスク面のデータ位置を論理的に指定するためのＬＢＡを、前記読み出されたディスク面のＬＢＡから、前記書き込まれたディスク面のＬＢＡに変更するステップを有することを特徴とする付記１のディスク装置のデータ退避処理方法。
【００７２】
（付記４）前記判定ステップは、前記移動データ量が、前記空きデータ容量より少ない他のヘッドが複数存在するかを判定するステップと、前記移動データ量が、前記空きデータ容量より少ない他のヘッドが複数存在する場合には、前記エラー発生回数の少ない１の他のヘッドを、データ移動先ヘッドと決定するステップとを有することを特徴とする付記２のディスク装置のデータ退避処理方法。
【００７３】
（付記５）前記判定ステップは、前記移動データ量が、複数の他のヘッドの前記空きデータ容量の合計より少ないかを判定するステップと、前記移動データ量が、前記空きデータ容量より少ない場合には、前記エラー発生回数の少ない１の他のヘッドを、第１のデータ移動先ヘッドと決定するステップと、前記１の他のヘッドで、前記移動データ量の全てを格納できないことを検出して、次に前記エラー発生回数の少ない他のヘッドを、第２のデータ移動先ヘッドと決定するステップとを有することを特徴とする付記２のディスク装置のデータ退避処理方法。
【００７４】
（付記６）前記不良予知ステップは、前記エラー発生回数を所定の閾値と比較して、前記ヘッドの不良を予知するステップからなることを特徴とする付記１のディスク装置のデータ退避処理方法。
【００７５】
（付記７）前記データ退避ステップは、前記不良予知されたヘッドに対応するディスク面のＬＢＡのリードコマンドを発行するステップと、前記読み出されたディスク面のリードデータの前記他のディスク面の移動先ＬＢＡへのライトコマンドを発行するステップとを有することを特徴とする付記３のディスク装置のデータ退避処理方法。
【００７６】
（付記８）前記移動データ量と前記空きデータ容量を計算するステップは、前記ヘッド毎の対応ＬＢＡ範囲を示すテーブルを使用して、前記移動データ量と、前記他のヘッドに対応するディスク面の空きデータ容量を計算するステップからなることを特徴とする付記２のディスク装置のデータ退避処理方法。
【００７７】
（付記９）前記累積したエラー発生回数を、ホストの要求により、前記ディスク装置から前記ホストに通知するステップと、前記通知されたエラー発生回数から前記ヘッドの不良を予知し、前記ホストから前記ディスク装置に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むコマンドを発行するステップを更に有することを特徴とする付記１のディスク装置のデータ退避処理方法。
【００７８】
（付記１０）前記データ退避ステップの実行後、前記不良予知されたヘッドの使用を抑制するステップを更に有することを特徴とする付記１のディスク装置のデータ退避処理方法。
【００７９】
（付記１１）複数のディスク面を持つ少なくとも１つのディスクと、前記ディスク面の各々に設けられ、対応するディスク面のデータの読み取り及び書き込みを行う複数のヘッドと、前記ヘッド毎に、前記ヘッドの動作によるエラー発生回数を累積するテーブルと、前記累積したエラー発生回数から１の前記ヘッドの不良を予知し、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込む制御ユニットとを有することを特徴とするディスク記憶システム。
【００８０】
（付記１２）前記制御ユニットは、前記不良予知されたヘッドに対応するディスク面の移動データ量と、前記他のヘッドに対応するディスク面の空きデータ容量とを計算し、前記移動データ量が、前記空きデータ容量より少ないかを判定し、前記移動データ量が、前記空きデータ容量より少ない場合に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むことを特徴とする付記１１のディスク記憶システム。
【００８１】
（付記１３）前記制御ユニットは、前記ディスク面のデータ位置を論理的に指定するためのＬＢＡを、前記読み出されたディスク面のＬＢＡから、前記書き込まれたディスク面のＬＢＡに変更することを特徴とする付記１１のディスク記憶システム。
【００８２】
（付記１４）前記制御ユニットは、前記移動データ量が、前記空きデータ容量より少ない他のヘッドが複数存在するかを判定し、前記移動データ量が、前記空きデータ容量より少ない他のヘッドが複数存在する場合には、前記エラー発生回数の少ない１の他のヘッドを、データ移動先ヘッドと決定することを特徴とする付記１２のディスク記憶システム。
【００８３】
（付記１５）前記制御ユニットは、前記移動データ量が、複数の他のヘッドの前記空きデータ容量の合計より少ないかを判定し、前記移動データ量が、前記空きデータ容量より少ない場合には、前記エラー発生回数の少ない１の他のヘッドを、第１のデータ移動先ヘッドと決定し、前記１の他のヘッドで、前記移動データ量の全てを格納できないことを検出して、次に前記エラー発生回数の少ない他のヘッドを、第２のデータ移動先ヘッドと決定することを特徴とする付記１２のディスク記憶システム。
【００８４】
（付記１６）前記制御ユニットは、前記エラー発生回数を所定の閾値と比較して、前記ヘッドの不良を予知することを特徴とする付記１１のディスク記憶システム。
【００８５】
（付記１７）前記制御ユニットは、前記不良予知されたヘッドに対応するディスク面のＬＢＡのリードコマンドを発行し、前記読み出されたディスク面のリードデータの前記他のディスク面の移動先ＬＢＡへのライトコマンドを発行することを特徴とする付記１３のディスク記憶システム。
【００８６】
（付記１８）前記制御ユニットは、前記ヘッド毎の対応ＬＢＡ範囲を示すテーブルを使用して、前記移動データ量と、前記他のヘッドに対応するディスク面の空きデータ容量を計算することを特徴とする付記１２のディスク記憶システム。
【００８７】
（付記１９）前記制御ユニットは、前記累積したエラー発生回数のテーブルを有するディスク記憶装置の制御ユニットと、前記ディスク記憶装置に接続された前記ディスク記憶装置に前記テーブルの転送を要求するホストからなり、前記ホストは、前記転送されたエラー発生回数から前記ヘッドの不良を予知し、前記ディスク記憶装置に、前記不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むコマンドを発行することを特徴とする付記１１のディスク記憶システム。
【００８８】
（付記２０）前記ホストは、前記データ退避の実行後、前記不良予知されたヘッドの使用を抑制することを特徴とする付記１１のディスク記憶システム。
【産業上の利用可能性】
【００８９】
ヘッド毎に、ヘッドの動作によるエラー発生回数を累積するテーブルを設けたので、累積したエラー発生回数から１のヘッドの不良を予知できる。そして、不良予知されたヘッドにより、前記対応するディスク面のデータを読み出し、前記他のヘッドで、前記対応する他のディスク面に、読み出しデータを書き込むため、データ保護が事前に実現でき、ディスク記憶装置の信頼性向上に寄与する。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施の形態のディスク記憶装置の構成図である。
【図２】図１のＳＭＡＲＴ情報のＬＢＡテーブルの説明図である。
【図３】図１のＳＭＡＲＴ情報のヘッド毎のエラー発生回数累積テーブルの説明図である。
【図４】図１のＳＭＡＲＴ情報の不良予知の閾値テーブルの説明図である。
【図５】図１のディスク、ヘッドとＬＢＡとの関係図である。
【図６】図１のホストＬＢＡのディスクへの配置方法の説明図である。
【図７】本発明の一実施の形態のデータ退避処理フロー図である。
【図８】図７の移動データ量、空きデータ量計算処理フロー図である。
【図９】図７の移動先ヘッド決定処理フロー図である。
【図１０】図４及び図７の閾値の説明図である。
【図１１】図９の移動先ヘッド決定処理の説明図である。
【図１２】図９の移動先ヘッド決定処理の他の説明図である。
【符号の説明】
【００９１】
４  ＳＭＡＲＴ情報
４Ａ  ヘッド毎のＬＢＡテーブル
４Ｂ  ヘッド毎のエラー発生回数テーブル
４Ｃ  閾値テーブル
１０  ディスク記憶装置
１１  ＭＰＵ（処理ユニット）
１２  ＨＤＣ（コントローラ）
１３  メモリ（ＲＡＭ／ＲＯＭ）
１４  データバッファ
１６  リードチャネル（コントローラ）
１９  媒体（磁気ディスク）
２０  スピンドルモータ
２２  アクチュエータ（ＶＣＭ）
２５  ヘッド（磁気ヘッド）
３０  ホスト
【図１】
2007035217.tif 000003
【図２】
2007035217.tif 000004
【図３】
2007035217.tif 000005
【図４】
2007035217.tif 000006
【図５】
2007035217.tif 000007
【図６】
2007035217.tif 000008
【図７】
2007035217.tif 000009
【図８】
2007035217.tif 000010
【図９】
2007035217.tif 000011
【図１０】
2007035217.tif 000012
【図１１】
2007035217.tif 000013
【図１２】
2007035217.tif 000014