JP2007183808A - 磁気ディスク装置 - Google Patents
磁気ディスク装置 Download PDFInfo
- Publication number
- JP2007183808A JP2007183808A JP2006001516A JP2006001516A JP2007183808A JP 2007183808 A JP2007183808 A JP 2007183808A JP 2006001516 A JP2006001516 A JP 2006001516A JP 2006001516 A JP2006001516 A JP 2006001516A JP 2007183808 A JP2007183808 A JP 2007183808A
- Authority
- JP
- Japan
- Prior art keywords
- data
- magnetic disk
- error
- processing
- restoration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Digital Magnetic Recording (AREA)
Abstract
【課題】磁気ディスク装置自身でデータの自動修復を行う場合、装置の動作率が上昇し、温度上昇などにより装置寿命が短縮するという問題がある。
【解決手段】自動修復要求信号114が発行され、リクエスト競合部106でこれが選択されると、自動修復アドレスレジスタ105で示すアドレスよりデータを読み出し(ステップ501)、エラーチェックしてエラーがあった場合はデータ修復機能により記録媒体のデータを上書きする(ステップ502)。その後、自動修復アドレスレジスタ105の値を更新する(ステップ503)。一回の自動修復処理要求に対して規定量のデータチェック、データ修復を行い処理終了する。ここで規定量とは、例えば磁気ディスクの1トラックに記録されているデータ量である。また一定周期で自動修復アドレスレジスタ105の値を不揮発記憶エリアに退避しておく(ステップ504)。
【選択図】図5
【解決手段】自動修復要求信号114が発行され、リクエスト競合部106でこれが選択されると、自動修復アドレスレジスタ105で示すアドレスよりデータを読み出し(ステップ501)、エラーチェックしてエラーがあった場合はデータ修復機能により記録媒体のデータを上書きする(ステップ502)。その後、自動修復アドレスレジスタ105の値を更新する(ステップ503)。一回の自動修復処理要求に対して規定量のデータチェック、データ修復を行い処理終了する。ここで規定量とは、例えば磁気ディスクの1トラックに記録されているデータ量である。また一定周期で自動修復アドレスレジスタ105の値を不揮発記憶エリアに退避しておく(ステップ504)。
【選択図】図5
Description
本発明は磁気ディスク装置に係り、特に磁気ディスクのデータエラーを自動修復する機能に関する。
磁気ディスク装置では記憶データにECCデータを付加して磁気ディスクに記録し、磁気ディスクより読み出した際に記憶データとECCデータの整合性チェックを行い、不整合が発見された場合は記憶データを修正するECCエラー訂正機能を有している。また、修正したデータを磁気ディスクに書き戻し、同一データを読み出した時にエラーとならないようにするデータ修復機能も一般的に有している。特許文献1には、記録媒体のレコードから読み取ったデータを中央処理装置に転送すると共にRAMにコピーし、訂正可能な読み取りエラーが検出された場合、前記RAMにコピーしたデータを訂正し、かつ訂正したデータを読み出して記録媒体の該当レコードを書き直す技術が記載されている。
上記従来技術によるエラー訂正能力には限界があり、近年の記録密度の上昇により磁気ディスクに傷が生じた時などでは影響範囲が大きくなり、ECCエラー訂正機能で訂正できない確率が高くなる傾向にある。このため高い信頼性を必要とする場合には磁気ディスク装置を複数用いてRAID構成とし、エラー訂正能力の向上を図っている。この場合でも新たな問題が発生している。それはリビルド失敗という不具合である。これは複数台の磁気ディスク装置で構成しているRAIDのうち1台が動作不能となった場合にはその1台の磁気ディスク装置の切り離しを行い、不具合の磁気ディスク装置を交換後に残りの磁気ディスク装置からデータ復元するリビルド処理を行うが、リビルド処理中にリビルド元の磁気ディスク装置でデータエラーが発生するとリビルド処理が行えなくなる。つまり、RAIDでは1台の磁気ディスク装置のデータエラーは修復可能だが、2台の磁気ディスク装置のデータエラーは修復不可能なためである。
RAIDではデータ読み出し時にデータエラーを検出すると、データエラーを検出した磁気ディスク装置以外の磁気ディスク装置のデータからデータ修復して上書きするリカバリを行うが、未使用エリアについては全く読み出しを行わない。これに対してリビルド処理は磁気ディスク装置の全記憶エリアに対して行うため、未使用エリアに対してもリビルド元からのデータ読み出し、データ復元、リビルド先へのデータ書き込みを行う。よって未使用エリアの磁気ディスクにキズなどがあると読み出しがエラーとなり、リビルドが失敗してRAID構成が復元できなくなってしまう。
この問題を対策する手段としてRAID管理ソフトによるコンシステンシーチェック処理を行っている。これは通常の読み出し書き込みの空き時間を利用して磁気ディスク装置のデータを全面読み出しし、RAIDを構成する磁気ディスク装置間のデータ整合性をチェックするものであり、磁気ディスク装置からの読み出しがエラーとなった場合および磁気ディスク装置間のデータ不整合が生じた場合に修復するものである。しかしコンシステンシーチェックにも問題がある。それは磁気ディスク装置の全面読み出しを行うため中央処理装置(CPU)からの読み出し、書き込みを行う場合のオーバヘッドが大きいという点である。
リビルド失敗を対策する別の手段として考えられるのがオフラインデータコレクションの使用である。これはコマンド処理のない空き時間に磁気ディスク装置自身で全データを読み出し、データエラーを検出した場合はエラー訂正したデータによりエラー修復を行う機能であるが、コマンド処理の空き時間を全面的に利用するため磁気ディスク装置の動作率が高くなり、磁気ディスク装置を構成する部品、特に読み出し書き込みヘッドの温度上昇により経時劣化が促進され、磁気ディスク装置の寿命を短縮するという問題がある。
またコンシステンシーチェックにしてもオフラインデータコレクションにしても、一度起動すれば全データのチェックが可能であるが、これを定期的に行う場合にはRAID管理ソフトなどから定期的に再起動する必要がある。
本発明の目的は、磁気ディスク装置のデータの自動修復を、オーバヘッドが少なく、かつ装置寿命を短縮させることなく行うことである。
上記目的を達成するために、本発明の磁気ディスク装置においては、磁気ディスクから読み出したデータのエラー訂正を行い、訂正後のデータを前記磁気ディスクに上書きするデータ修復機能を有し、上位装置からのコマンド処理の空き時間を利用して、前記磁気ディスクから規定量のデータを読み出して前記データ修復機能によるデータ修復を繰り返し行うことにより、前記磁気ディスクのデータを修復することを特徴とする。
前記データ修復は、一定間隔で行うことが望ましい。
前記規定量は、例えば前記磁気ディスクの1トラックに記録されているデータ量である。
前記データの修復において、訂正不能なエラーを検出した場合、そのエラーアドレスを上位装置から読み出し可能なテーブルに記憶する。
本発明によれば、磁気ディスク装置のデータの自動修復を、オーバヘッドが少なく、かつ装置寿命を短縮させることなく行うことができる。
以下、図面を用いて実施例について詳細に説明する。図1は磁気ディスク装置の機能ブロック図である。構成要素としてクロック発生回路であるOSC101、自動修復の実行間隔を示す自動修復間隔レジスタ103、自動修復の有効/無効を示す自動修復有効レジスタ104、自動修復の起動信号を作成するカウンタ102、次に実行すべき自動修復アドレスを保持する自動修復アドレスレジスタ105、CPUからの処理要求と自動修復要求との競合処理を行うリクエスト競合部106、リトライ成功時に記録媒体である磁気ディスクに上書きするリトライステップの閾値を保持するリトライ閾値レジスタ107、リクエスト競合部で選択された処理を実行するコマンド実行部108から成る。
自動修復有効レジスタ104が自動修復有効と示している場合にカウンタ102が有効となり、OSC101からのクロック信号111を用いて自動修復間隔レジスタ103に示す時間間隔で自動修復要求信号114を出力する。リクエスト競合処理部106ではCPUからの処理要求116とカウンタ102からの自動修復要求信号114の競合を行い、自動修復処理を行っていない時にCPUからの処理要求がきた場合にはCPUからの処理要求を選択し、自動修復処理を行っている時にCPUからの処理要求がきた場合には、自動修復処理を中断した後にCPUからの処理要求を選択する。またCPUからの処理要求がない時に自動修復要求信号114が来た場合は自動修復を選択し、CPUからの処理要求を処理中に自動修復要求信号114が来た場合は自動修復処理の実行を待たせ、CPUからの処理が終了した後に自動修復要求信号114を選択する。コマンド実行部108ではリクエスト競合部106で選択されたコマンド信号117に従いコマンド処理を実行制御する。同時に自動修復間隔レジスタ103、自動修復有効レジスタ104、自動修復アドレスレジスタ105、CPUからの処理要求と自動修復要求との競合処理を行うリクエスト競合部106、リトライ閾値レジスタ107の制御も行う。なお、コマンド実行部108とリクエスト競合部106はマイクロコンピュータで実行される機能である。
図2は本実施例の読み出し書き込みのデータ処理ブロック図である。構成要素としてデータを記録する記録媒体(磁気ディスク)201、磁気ディスク201からデータを読み出す読み出しヘッド202、読み出しヘッド202からの読み出し信号から記録データを復調する復調回路203、復調した読み出しデータを一時記憶するデータバッファ204、データバッファ204のデータをチェックし、エラーの有無およびエラー訂正を行うエラー検出訂正回路205、データバッファ204からのデータを磁気ディスク201に適したフォーマットに変調する変調回路206、記録媒体201にデータを書き込む書き込みヘッド207、データバッファ204のデータをCPUに送出するデータ転送制御部208から成る。
図3は本実施例のコマンド実行部108により読み出し処理を行う際のデータ修復処理に関する処理を示した処理フロー図である。コマンド実行部108では読み出し要求を受けると、まず指定アドレスにシークを行わせる(ステップ301)。次に磁気ディスクよりデータを読み出し(ステップ302)、データバッファ204に一時記憶させた後にエラー検出訂正回路205によりエラーチェックを行い(ステップ303)、エラーがなければデータ転送制御部208によりCPUにデータを送出してコマンド処理を終了する。もしエラーが検出され、且つエラー訂正可能であればエラー検出訂正回路205によりエラー訂正を行い、データバッファ204の内容を訂正後のデータに更新し、データ転送制御部208によりCPUにデータを送出してコマンド処理を終了する。エラー検出訂正回路205でエラー訂正不能を検出した場合(ステップ304)、リトライ処理を行う(ステップ305)。リトライ処理については本発明と直接関係しないので詳細な説明は省略するが、一般的には単純に再読み出ししてみる、ヘッドを記録トラックの左右に微小移動させて再読み出ししてみるなどを行っている。これらのリトライ処理をリトライステップとして管理し、リトライ処理を行ってもエラー訂正可能にならない場合は(ステップ306)、次のリトライステップを実行し(ステップ307)、最終リトライステップのリトライを行ってもエラー訂正可能とならない場合は(ステップ308)、エラー情報を格納して(ステップ309)エラー終了する。リトライ処理が成功し(ステップ306)、エラー訂正可能となれば訂正後のデータをデータ転送制御部208によりCPUにデータを送出してコマンド処理を終了するが、この際にリトライステップを確認し、規定値(リトライ閾値レジスタ107で示す閾値)を超えていた場合は(ステップ310)、訂正後のデータを磁気ディスクに上書きし(ステップ311)、さらにベリファイ処理を行って(ステップ312)、次に当該データを磁気ディスクから読み出しする時にエラーとならないように修復しておく。
図4は本実施例の磁気ディスク装置の電源投入時の処理を示した処理フローである。磁気ディスク装置としては自己診断や種々の初期化などがあるが、説明を簡単にするため本実施例に関する部分のみを示している。電源投入時には自動修復有効レジスタ104をリセット(無効)し(ステップ401)、自動修復間隔レジスタ103、リトライ閾値レジスタ107に規定値をセットし(ステップ402)、不揮発記憶エリアに退避していた値を自動修復アドレスレジスタ105に復元した(ステップ403)後、自動修復有効レジスタ104をセット(有効)する。これ以降は図1に示すカウンタ102から自動修復要求信号114が一定周期で発行され、磁気ディスク201からデータを読み出してエラーチェックし、データ修復機能により磁気ディスク201のデータエラーを修復していく。
図5は自動修復処理の処理を示す処理フローである。自動修復要求信号114が発行され、リクエスト競合部106でこれが選択されると、自動修復アドレスレジスタ105で示すアドレスよりデータを読み出し(ステップ501)、エラーチェックしてエラーがあった場合はデータ修復機能により記録媒体のデータを上書きする(ステップ502)。その後、自動修復アドレスレジスタ105の値を更新する(ステップ503)。一回の自動修復処理要求に対して規定量のデータチェック、データ修復を行い処理終了する。ここで規定量とは、例えば磁気ディスクの1トラックに記録されているデータ量である。また一定周期で自動修復アドレスレジスタ105の値を不揮発記憶エリアに退避しておく(ステップ504)。これは電源切断し、次に電源投入した際に自動修復が完了したアドレスから継続して処理を行わせるためである。
図6は本実施例の自動修復機能を制御するための磁気ディスク装置に対する追加コマンド仕様である。本実施例ではATAコマンドを使用するものとし、SET FEATUREコマンドに図6に示すサブコマンドを拡張して、自動修復有効レジスタ104、自動修復間隔レジスタ105、リトライ閾値レジスタ107をCPUから制御可能とし、よりきめの細かな自動修復を行えるようにしている。
図7は本実施例の効果を説明した図である。磁気ディスクから連続的にデータを読み出し、エラー修復した場合には磁気ディスク装置の温度、特に読み出し書き込みヘッドの温度上昇が大きい。このため経時劣化が促進され、磁気ディスク装置の寿命を短縮するという問題があった。これに対し、本実施例により間欠的にデータを読み出し、エラー修復した場合には、データ読み出し/エラー修復を行っている時間帯は温度上昇するが、休息時間帯で温度が低下するので、最高温度を下げることができる。これは自動修復機能を追加したことによる温度上昇の増分を低く抑えることであり、経時劣化を抑制し、磁気ディスク装置の寿命の短縮を軽減する効果がある。
次に、他の実施例について説明する。本実施例では磁気ディスク装置自身で行った自動修復の結果、訂正不能なエラーを検出した場合にそのエラーアドレスを一時記憶し、上位装置からエラーアドレスを読み出せるようにするものである。図8は本実施例の訂正不能アドレスを一時記憶するテーブル仕様である。本実施例ではテーブルのエントリ数は100であり、1エントリのデータ長は現在のATA仕様でのアドレス長に合わせて6バイトとしている。またこのエラーテーブルはエントリNO1から使用することとしている。本実施例ではエントリNO3までエラーアドレスが一時記憶されている。図9は本実施例の前記エラーテーブルを読み出すための磁気ディスク装置に対する追加コマンド仕様であり、図10はこの追加コマンドを使用してCPUがエラーテーブルを読み出す手順を示したフローである。まず図6に示す追加コマンドの「自動修復有効レジスタをリセット」を実行し(ステップ1001)、自動修復機能を一時的に無効化する。次に図9の「最終エントリNOの読み出し」を行う(ステップ1002)。当コマンドでは512バイトのデータ読み出しをPIOモードで行い、その先頭に最終エントリNOが格納されているので、これを確認し(ステップ1003)、これがゼロであれば「自動修復有効レジスタをセット」を実行し(ステップ1007)、自動修復機能を有効にする。最終エントリNOが1以上であれば「エラーテーブルの読み出し」を行う(ステップ1004)。当コマンドでは512バイトのデータ読み出しをPIOモードで行う。エラーアドレスはその先頭から510バイトにわたって85エントリ分が格納されている。次に最終エントリまでエラーアドレスを読み込んだか判定し(ステップ1005)、まだ読み込むべきエラーアドレスが残っている場合は再度「エラーテーブルの読み出し」を行う。これにより次の85エントリ分のエラーアドレスが読み込める。本実施例ではエラーアドレスは3エントリ分しかないので、1回の「エラーテーブルの読み出し」ですべてのエラーアドレスが読み込まれる。その後「最終エントリNOのクリア」を行い(ステップ1006)、図8に示すエラーテーブルをクリアする。最後に「自動修復有効レジスタをセット」を実行し(ステップ1007)、自動修復機能を有効にする。
本エラーアドレステーブルを有効に活用できる一例として、磁気ディスク装置をRAID構成で使用する場合が挙げられる。RAID構成のそれぞれの磁気ディスク装置のエラーアドレステーブルを読み出し、エラーアドレスのデータはRAIDを構成する他の磁気ディスク装置のデータから復元し、CPUから当該磁気ディスク装置に書き込むことで、自動修復機能によりエラー訂正できなかったデータに対しても正しく復元ができ、データの信頼性を飛躍的に向上することができる。
以上説明した実施例ではATA仕様で説明したが、SCSI仕様でも可能である。また自動修復要求は一定間隔としたが、連続でなければそれ以外でもよい。たとえばランダムな間隔でもよい。また電源投入により自動修復機能が有効となる構成となっているが、CPUからのコマンドで有効にする形態でもよい。自動修復を制御するためのコマンドやエラーテーブルをCPUが取得するためのコマンドの仕様は上記以外でもよいことは当然である。
上記実施例によれば、データの自動修復処理を間欠的に実施することで動作率の上昇を抑えることができるので、磁気ディスク装置の寿命劣化を招くことなく非常に高いデータの信頼性が得られる。また、近年の高記録密度となった磁気ディスク装置においても自らデータチェックを行い、誤りがあれば訂正して記録媒体に再書込みしているので高いデータの信頼性を確保できる。特にRAID構成で磁気ディスク装置を使用する場合には、磁気ディスク装置でのエラー訂正ができない場合でもRAIDを構成している他の磁気ディスク装置のデータから復元できるので非常に高いデータの信頼性が得られる。
101…クロック発生回路、102…カウンタ、103…自動修復感覚レジスタ、104…自動修復有効レジスタ、105…自動修復アドレスレジスタ、106…リクエスト競合部、107…リトライ閾値レジスタ、108…コマンド実行部、111…クロック信号、114…自動修復要求信号、116…CPUからの処理要求、117…コマンド信号、201…記録媒体(磁気ディスク)、202…読み出しヘッド、203…復調回路、204…データバッファ、205…エラー検出訂正回路、206…変調回路、207…書き込みヘッド、208…データ転送制御部。
Claims (4)
- 磁気ディスクから読み出したデータのエラー訂正を行い、訂正後のデータを前記磁気ディスクに上書きするデータ修復機能を有する磁気ディスク装置において、上位装置からのコマンド処理の空き時間を利用して、前記磁気ディスクから規定量のデータを読み出して前記データ修復機能によるデータ修復を繰り返し行うことにより、前記磁気ディスクのデータを修復することを特徴とする磁気ディスク装置。
- 前記データ修復を一定間隔で行うことを特徴とする請求項1記載の磁気ディスク装置。
- 前記規定量は、前記磁気ディスクの1トラックに記録されているデータ量であることを特徴とする請求項1記載の磁気ディスク装置。
- 前記データの修復において、訂正不能なエラーを検出した場合、そのエラーアドレスを上位装置から読み出し可能なテーブルに記憶することを特徴とする請求項1記載の磁気ディスク装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006001516A JP2007183808A (ja) | 2006-01-06 | 2006-01-06 | 磁気ディスク装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006001516A JP2007183808A (ja) | 2006-01-06 | 2006-01-06 | 磁気ディスク装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007183808A true JP2007183808A (ja) | 2007-07-19 |
Family
ID=38339840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006001516A Pending JP2007183808A (ja) | 2006-01-06 | 2006-01-06 | 磁気ディスク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007183808A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168674A (ja) * | 2011-02-14 | 2012-09-06 | Nec Computertechno Ltd | ミラーリング復旧装置、および、ミラーリング復旧方法 |
JP2016081556A (ja) * | 2014-10-10 | 2016-05-16 | シーゲイト テクノロジー エルエルシー | データ記憶装置、データ記憶システム、方法、および装置 |
-
2006
- 2006-01-06 JP JP2006001516A patent/JP2007183808A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168674A (ja) * | 2011-02-14 | 2012-09-06 | Nec Computertechno Ltd | ミラーリング復旧装置、および、ミラーリング復旧方法 |
JP2016081556A (ja) * | 2014-10-10 | 2016-05-16 | シーゲイト テクノロジー エルエルシー | データ記憶装置、データ記憶システム、方法、および装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9009526B2 (en) | Rebuilding drive data | |
JP5768587B2 (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
US9189311B2 (en) | Rebuilding a storage array | |
JP3511576B2 (ja) | ディスク記録再生方法および装置 | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
US7818556B2 (en) | Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update | |
RU2728816C2 (ru) | Отслеживание "грязных" областей энергонезависимых носителей | |
US6990611B2 (en) | Recovering data from arrays of storage devices after certain failures | |
EP2778926B1 (en) | Hard disk data recovery method, device and system | |
TWI479309B (zh) | 控制固態硬碟的裝置及方法 | |
JP4886209B2 (ja) | アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法 | |
JP4792490B2 (ja) | 記憶制御装置及びraidグループの拡張方法 | |
US10643668B1 (en) | Power loss data block marking | |
CN110399247B (zh) | 一种数据恢复方法、装置、设备及计算机可读存储介质 | |
JP2001184266A (ja) | 情報記録装置およびその制御方法 | |
JP2009187049A (ja) | 装置 | |
US7730370B2 (en) | Apparatus and method for disk read checking | |
US20170090778A1 (en) | Storage apparatus and control device | |
JP5181795B2 (ja) | Raidシステム、及びエラーセクタの修復方法 | |
JP2007183808A (ja) | 磁気ディスク装置 | |
JP4143040B2 (ja) | ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム | |
JP2008234446A (ja) | データ整合性チェック方法およびデータ整合性チェックシステム | |
US20100169572A1 (en) | Data storage method, apparatus and system for interrupted write recovery | |
JP2001142650A (ja) | アレイディスク制御方法及び装置 | |
JP2002373059A (ja) | ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置 |