(57)【要約】【課題】  1台の磁気ディスク装置でコストパーフォーマンスの高いミラーリング制御方式を提供することにある。【解決手段】  ひとつの磁気ディスク装置内でデータミラー処理をおこなう磁気ディスク装置であって、磁気ディスク装置の記憶領域が管理領域と２つのデータ領域に分割され、該磁気ディスク装置に接続するホストからの書込みデータを第1のデータ領域に記憶し、前記管理領域にミラーリングしていないデータの記憶アドレスと総セクタ数を記憶し、当該磁気ディスク装置の空き時間に、前記管理領域の情報に基づいて前記第1のデータ領域のデータを第2のデータ領域に書込んでデータミラー処理をおこなうか、前記第1のデータ領域と前記第２のデータ領域のエラーチェックをおこなうか、前記第1のデータ領域と前記第２のデータ領域の間でエラー訂正をおこなう構成とした。【選択図】図１
2007188370.tif 000002
【特許請求の範囲】
【請求項１】
ひとつの磁気ディスク装置内でデータミラー処理をおこなう磁気ディスク装置であって、
磁気ディスク装置の記憶領域が管理領域と２つのデータ領域に分割され、
該磁気ディスク装置に接続するホストからの書込みデータを第1のデータ領域に記憶し、
前記管理領域にミラーリングしていないデータの記憶アドレスと総セクタ数を記憶し、
当該磁気ディスク装置の空き時間に、前記管理領域の情報に基づいて前記第1のデータ領域のデータを第2のデータ領域に書込んでデータミラー処理をおこなうか、前記第1のデータ領域と前記第２のデータ領域のエラーチェックをおこなうか、前記第1のデータ領域と前記第２のデータ領域の間でエラー訂正をおこなう
ことを特徴とする磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ製品の補助記憶装置となる磁気ディスク装置の安価かつ信頼性向上かつハイパフォーマンス実現に関するものである。
【背景技術】
【０００２】
通常、磁気ディスク装置は１つのデータを一つディスク装置に書き込んでデータの記録保存をおこなっている。このため、ディスク装置の一部の領域に障害が発生した場合には、その領域に記録されていたデータは、消失してしまう。これを回避する為に、ミラーリング技術がある。ミラーリング技術では、一つのデータを複数の磁気ディスク装置に書き、1台の磁気ディスク装置のデータが破壊しても別の磁気ディスク装置に同じデータが書かれており、データ消失とならない。例えば特許文献１には、1台のディスクでミラーリングを実現するものも考案されている。
【０００３】
【特許文献１】特開2000-99279号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、磁気ディスク装置では、低価格と高信頼性が同時に要求される。磁気ディスク装置の故障回避のために磁気ディスク装置を複数台使用したミラーリングという手段が広く利用されているが、磁気ディスク装置の複数台使用やミラーリング用のシステムが必要であり、高価となる。また、低価格と高信頼性を同時に満足する手段が必要である。
【０００５】
前記特許文献１のように1台のディスクでミラーリングを実現し、システム側にミラーリングのための対応を必要としないものもあるが、データ多重化の分だけ書きこみ時に時間を必要とし、パフォーマンスに課題がある。
【０００６】
本発明の目的は、1台のディスク装置でコストパーフォーマンスの高いミラーリング制御方式を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の磁気ディスク装置は、ひとつの磁気ディスク装置内でデータミラー処理をおこなう磁気ディスク装置であって、磁気ディスク装置の記憶領域が管理領域と２つのデータ領域に分割され、該磁気ディスク装置に接続するホストからの書込みデータを第1のデータ領域に記憶し、前記管理領域にミラーリングしていないデータの記憶アドレスと総セクタ数を記憶し、当該磁気ディスク装置の空き時間に、前記管理領域の情報に基づいて前記第1のデータ領域のデータを第2のデータ領域に書込んでデータミラー処理をおこなうか、前記第1のデータ領域と前記第２のデータ領域のエラーチェックをおこなうか、前記第1のデータ領域と前記第２のデータ領域の間でエラー訂正をおこなう構成とした。
【発明の効果】
【０００８】
以上説明したように本発明は1台の磁気ディスク装置でミラーリングを行ない、複数のアドレスに同じデータを書いて冗長性を持たせるようにし、複数回書くことによるパフォーマンス低下を防ぐ為に、空き時間を利用して、データのミラーリングやデータ誤りのチェックや誤りの訂正を行なう。これにより、コストパーフォーマンスの高いミラーリングディスク装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施例について図面を参照して説明する。
図１に本発明による磁気ディスク装置の概略図を示す。この磁気ディスク装置は主に、ヘッド１、記録面2、マイコン3、HDC4、不揮発性メモリ5、高速メモリ6、リードライトチャネル7、ヘッドアンプ8、および図示されていない記録面2の回転やヘッド1の位置決めのための駆動部から構成されている。
【００１０】
記録面２はデータを記録する磁性面である。本実施例では、記録面2の記憶エリアを3分割して、最初の領域を管理情報領域とする。さらに、残りの領域の前半領域をベースのデータ用領域とし、後半領域をミラーリングのデータ用とする。
【００１１】
ヘッド１は記録面２への書込み及び読み出しを行なう。ヘッドアンプ８はヘッド１を駆動して記録面２からデータを読み出し、書き込む。リードライトチャネル７はホストからのパラレルデータをシリアル化してヘッドアンプ８に送る。読み出しの場合はヘッドアンプ８からのシリアルデータをパラレルに変換し、ＨＤＣ４やマイコン３に送る。
【００１２】
ＨＤＣ４はリードライトチャネル７、ヘッドアンプ８、ヘッド１、図示されていない記録面の回転やヘッド１の位置決めのための駆動部を制御して記録面２からの書込み読み出しを制御する。マイコン３はミラーリングの制御などＨＤＤ全体の制御を行なう。高速メモリ６はデータの一時記憶を行なう。不揮発性メモリ５は未ミラーリングテーブルなどの電源切断しても記憶しておく必要のあるデータを記憶する。これらの構成要素を用いてホストから来たデータをマイコン3の制御の元に、HDC4、リードライトチャネル7、ヘッッドアンプ8を通してまずヘッド１が記録面2上のベースデータ領域に書き込む。
【００１３】
データのミラーリングおこなうために、未ミラーリングセクタのＬＢＡと未ミラーリングカウントから構成される未ミラーリングテーブルを設ける。前記未ミラーリングセクタのＬＢＡにはミラーリングされていないデータのＬＢＡを登録し、未ミラーリングカウントにはその総セクタ数を登録する。この未ミラーリングテーブルは、記録面２の管理情報領域あるいは不揮発メモリ上に設けられる。また、この未ミラーリングテーブルは処理の高速化のために高速メモリ６に写しを持つようにする。
【００１４】
つぎにデータミラーリング制御について説明する。本発明では、ディスク装置の空き時間を利用して、データミラーリング先として予め決められたアドレスへ書込みを行ない、データの多重化をおこなう。また、ディスク装置の空き時間を利用して、ミラーリングデータのデータ誤りのチェックを行ない、データ誤りがある場合は訂正を行なう。
【００１５】
ディスク装置に空き時間が生じない場合には、所定時間ごとに強制的に、ミラーリングデータの書込み、ミラーデータのチェックや訂正をおこなうようにしてもよい。
【００１６】
また、ミラーリングデータの書込み、ミラーデータのチェックや訂正の処理優先順位を設け、実行するようにしてもよい。これらのデータミラーリング処理の内容を、例えば、set feature commandを使用してidentify情報の中に設定するようにする。
【００１７】
つぎに図２を用いて、にホストからのデータ書込み/ミラーリング/データ誤りのチェック/エラー訂正の処理フローを説明する。まず、ホストから来たデータのアドレスを未ミラーリングテーブルに登録すると共に、未ミラーリングカウントを＋１する。そして、ホストから来たデータを記録面2のベースデータ領域に書込む（ステップ101）。つぎに、現在ディスク装置が空き時間か判断し（ステップ102）、空き時間でなければ、ステップ103へ進む。空き時間であれば、ステップ104へ進む。
【００１８】
ステップ102でディスク装置が空き時間でなければ、強制的にミラーリングを行なうスイッチが入っているか判断し（ステップ103）、前記スイッチが入っていればステップ104へ進む。スイッチが入っていなければ、ステップ102へ戻る。ここで、スイッチは管理情報領域内に持つが、電源ON時の初期化処理で管理情報領域内のスイッチ情報を読み出し、制御部にそのコピーを持ち、初期化以降はこのコピー情報で判断する事で処理の高速化をはかる。
【００１９】
ステップ102でディスク装置が空き時間であれば、未ミラーリングテーブルを参照してミラーリングするデータがあるか判断し（ステップ104）、ミラーリングするデータがあればステップ105へ進む。ミラーリングするデータがなければ、ステップ106へ進む。
【００２０】
ステップ105で記録面2のミラーリングデータ領域へデータをミラーリングする。くわしくは、未ミラーリングテーブルからミラーリングしていないデータのアドレスを読み出し、当アドレスに対応したミラーリングアドレスを求め、ミラーリングしていないデータのアドレスからデータを読み出し、このデータをミラーリングアドレスに書込む。ミラーリングアドレスの算出はミラーリングしていないデータのアドレスに記憶エリアの半分の容量分を加えて求める。ミラーリングした分、未ミラーリングカウントを減数する。なお、ここではミラーリングアドレスの算出方法を上記のようにしたが、一定の算出方法であれば他の方法も可能である。
【００２１】
つぎに、今は空き時間か判断する処理し（ステップ106）、空き時間でなければステップ107へ進む。空き時間であればステップ108へ進む。
【００２２】
ステップ107では、強制的に誤りチェックを行なうスイッチが入っているか判断し、スイッチが入っていればステップ108へ進む。スイッチが入っていなければ、ステップ102へ戻る。
【００２３】
ステップ108は、書かれているデータに誤りがあるか判断する処理である。誤りチェックはベースデータ領域とミラーリングデータ領域両方で行なう。強制的に誤りチェックを行なうスイッチが入っていないとき、この処理中にホストからコマンドが来れば処理を中断し、どのセクタまで処理したか管理情報領域に記録してホストコマンドに応答する。管理情報領域は記録面の管理情報領域でも不揮発メモリ上でも良い。高速化のために一旦DRAM等の高速メモリにどのセクタまで処理したか保持して、後から記録面や不揮発性メモリ上の管理情報領域に移動させても良い。次回は記録したセクタから処理を開始する。処理が終了して、誤りがなければ、ステップ102へ戻る。誤りがあれば、ステップ109へ進む。
【００２４】
ステップ109は、今は空き時間か判断する処理である。空き時間でなければ、ステップ110へ進む。空き時間であれば、ステップ111へ進む。
【００２５】
ステップ110は、強制的に誤り訂正を行なうスイッチが入っているか判断する処理である。スイッチが入っていればステップ111へ進む。スイッチが入っていなければ、ステップ102へ戻る。
【００２６】
ステップ111は、誤ったデータがある場合にミラーリングを利用して、誤ったデータを正しいデータで上書きする処理である。上書き時にベリファイを行っても良い。またはライト後に正しいデータとコンペアしても良い。強制的に誤りチェックを行なうスイッチが入っていないとき、この処理中にホストからコマンドが来れば処理を中断し、どのセクタまで処理したか管理情報領域に記録してホストコマンドに応答する。管理情報領域は記録面の管理情報領域でも不揮発メモリ上でも良い。高速化のために一旦DRAM等の高速メモリにどのセクタまで処理したか保持して、後から記録面や不揮発性メモリ上の管理情報領域に移動させても良い。次回は記録したセクタから処理を開始する。
【図面の簡単な説明】
【００２７】
【図１】本発明の磁気ディスク装置の模式図。
【図２】本発明の磁気ディスク装置の動作フロー図。
【符号の説明】
【００２８】
1…ヘッド、2…メディア、3…マイコン、4…HDC、5…不揮発性メモリ、
6…高速メモリ、7…リードライトチャネル、8…ヘッドアンプ
【図１】
2007188370.tif 000003
【図２】
2007188370.tif 000004