(57)【要約】      （修正有）【課題】冗長セクタ（ＸＯＲセクタ）への書き換えがユーザ領域にＡＴＩ（Ａｄｊａｃｅｎｔ  Ｔｒａｃｋ  Ｉｎｔｅｒｆｅｒｅｎｃｅ：隣接トラック干渉）の影響を与えないようにする。【解決手段】ディスク媒体の複数のトラックｔｒａｃｋ（０−ｎ）にセクタ単位でデータを記録・再生し、トラック毎にセクタ単位のデータから冗長データを生成し、トラック毎に予め前記ディスク媒体の径方向に隣接するセクタを冗長セクタ群として登録し、トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録する。【選択図】図５
2019164866.tif 000002
【特許請求の範囲】
【請求項１】
ディスク媒体と、
前記ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生する記録・再生手段と、
前記トラック毎に前記セクタ単位のデータから冗長データを生成する生成手段と
を具備し、
前記記録・再生手段は、前記トラック毎に予め前記ディスク媒体の径方向に隣接するセクタを冗長セクタ群として登録し、前記トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録するディスク装置。
【請求項２】
ディスク媒体と、
前記ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生する記録・再生手段と、
前記トラック毎に前記セクタ単位のデータから冗長データを生成する生成手段と
を具備し、
前記記録・再生手段は、前記複数のトラックの一部に前記複数のトラックそれぞれに対応する冗長セクタを配置して冗長セクタ群として登録し、前記トラック毎に生成される冗長データを前記冗長セクタ群の対応するトラックの冗長セクタに記録するディスク装置。
【請求項３】
前記記録・再生手段は、前記冗長セクタ群を除外して、ユーザデータを記録するセクタのアドレスを管理する請求項１または２に記載のディスク装置。
【請求項４】
前記記録・再生手段は、前記トラック毎に前記冗長セクタが配置されているセクタの位置を検出する検出手段を備える請求項１または２に記載のディスク装置。
【請求項５】
前記生成手段は、書き換えられたセクタのデータが存在した場合、そのセクタを含むトラックの冗長データを再計算し、
前記記録・再生手段は、前記再計算された冗長データを対応するトラックの冗長セクタに記録する請求項１または２に記載のディスク装置。
【請求項６】
前記記録・再生手段は、前記冗長セクタ群から任意のトラックに対応する冗長データを前記冗長セクタから読み出す請求項１または２に記載のディスク装置。
【請求項７】
前記ディスク媒体のエラーブロックの存在を検出したとき、前記エラーブロックを含むトラックそれぞれの該当セクタデータを読み出すと共に、該当トラックに対応する冗長セクタから冗長データを読み出して、逆演算してエラーブロックを復旧させる復旧手段を備える請求項１または２に記載のディスク装置。
【請求項８】
ディスク媒体にデータを記録するディスク装置のデータ管理方法において、
前記ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生し、
前記トラック毎に前記セクタ単位のデータから冗長データを生成し、
前記トラック毎に予め径方向に隣接するセクタを冗長セクタ群として登録し、
前記トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録するディスク装置のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、ディスク装置およびデータ管理方法に関する。
【背景技術】
【０００２】
磁気ディスク装置にあっては、１台の装置に記録できる容量の増加に伴い、装置内のデータ管理に関する情報の読み出しがエラーとなった場合、このエラーによって受けるデータ被害は膨大である。その対策としてエラー検出・訂正技術が考案され適用されてきた。特に、エラー復旧方法の手段の一つとして、ＸＯＲ（排他的論理和）計算されたパリティデータによる冗長データ（ＸＯＲデータ）を付加する機能を持つ装置がある。
【０００３】
ＸＯＲデータを用いたエラー復旧方法において、従来では、あるトラック上に割り当てられている全セクタを１ユーザブロックとし、ＸＯＲデータを最後の冗長セクタ（ＸＯＲセクタ）に登録していた。そのため、そのトラック上の一部のセクタの書き換えが発生するたびに、ＸＯＲセクタの書き換えが発生する。通常、連続したブロックのリード・ライト（Read/Write）処理は、タイミングを最適化させるために、トラック毎にセクタ位置の位相をずらしている。このように、セクタ番号が径方向に一致していないため、ＸＯＲセクタの書き換えが径方向の隣接ユーザブロックへ、ＡＴＩ（Adjacent Track Interference：隣接トラック干渉、いわゆるサイドイレーズ）の影響を大きく与えていた。これがデータ復旧処理（Refresh処理）回数を増やす原因となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０６１７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明の実施形態の課題は、冗長セクタへの書き換えがユーザ領域にＡＴＩの影響を与えないようにすることのできるディスク装置及びデータ管理方法を提供することにある。
【課題を解決するための手段】
【０００６】
実施形態によれば、ディスク装置は、ディスク媒体と、ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生する記録・再生手段と、前記トラック毎に前記セクタ単位のデータから冗長データを生成する生成手段とを具備し、前記記録・再生手段は、前記トラック毎に予め前記ディスク媒体の径方向に隣接するセクタを冗長セクタ群として登録し、前記トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録する。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態に係る磁気ディスク装置（ＨＤＤ）の構成を示すブロック図。
【図２】図２は、本実施形態に係る磁気ディスク装置の冗長生成部の構成を示すブロック図。
【図３】図３は、本実施形態に係る磁気ディスク装置のＸＯＲデータ生成処理の動作を示すフローチャート。
【図４】図４は、従来の磁気ディスク装置のＸＯＲセクタ配置例を示す図。
【図５】図５は、本実施形態に係る第１の実施例のＸＯＲセクタ配置例を示す概念図。
【図６】図６は、本実施形態に係る第１の実施例のＸＯＲデータをＸＯＲセクタに書き込む処理動作を示すフローチャート。
【図７】図７は、本実施形態に係る第２の実施例のＸＯＲセクタ配置例を示す概念図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、実施形態について説明する。  
【０００９】
なお、開示はあくまで一例にすぎず、当業者において、発明の主旨を保っての適宜変更であって容易に想到し得るものについては、当然に本発明の範囲に含有されるものである。また、図面は説明をより明確にするため、実際の態様に比べ、各部の幅、厚さ、形状等について模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。また、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して、詳細な説明を適宜省略することがある。
【００１０】
図１は、本実施形態に係るＨＤＤの構成を示すブロック図である。ＨＤＤ１は、図示しない上位装置とホストＩＦ（Interface）を介して接続されている。上位装置は、例えば、記憶装置としてＨＤＤ１を備えるパーソナルコンピュータであり、データの読み書きにおいて、ＨＤＤ１に対してコマンドを発行する。
【００１１】
上記ＨＤＤ１は、図１に示すように、ホストＩＦ制御部２、バッファ制御部３、バッファメモリ４、フォーマット制御部（訂正符号付加部）５、リードチャネル６、ヘッドＩＣ７、ＭＰＵ（書き込み部、読み出し部、エラー位置特定部、エラー位置記録部）８、メモリ９、不揮発メモリ１０、サーボ制御部１１、ＶＣＭ（Voice Coil Motor）１２、ＳＰＭ（Spindle Motor）１３、リードライトヘッド１４、ディスク媒体（記憶媒体）１５、コモンバス１６、ホストＩＦ１７、冗長生成部（演算部、エラー位置特定部）１８を備える。
【００１２】
ディスク媒体１５は、データを格納する。また、リードライトヘッド１４は、ディスク媒体１５に対して、データとして信号の書き込み、読み出しを行う。また、ＳＰＭ１３は、ディスク媒体１５を回転させるモータである。また、ＶＣＭ１２は、リードライトヘッド１４を駆動させるモータである。また、サーボ制御部１１は、ＶＣＭ１２及びＳＰＭ１３を制御する。また、ヘッドＩＣ７は、リードライトヘッド１４によりディスク媒体１５に対して読み書きされる信号を増幅する。また、リードチャネル６は、ディスク媒体１５に読み書きするデータを信号に変換する。また、フォーマット制御部５は、ディスク媒体１５に記録するデータの記録フォーマットを生成する。また、バッファメモリ４は、ディスク媒体１５に読み書きされるデータを一時的に格納するメモリである。また、バッファ制御部３は、バッファメモリ４を制御する。また、メモリ９は揮発性のメモリで、ＨＤＤを制御するためのプログラムを格納するものである。また、ホストＩＦ１７は、ディスク媒体１５に読み書きされるデータ、コマンドを上位装置と通信するためのＩＦである。また、ＭＰＵ８は、ＨＤＤ１における制御及び処理を実行する。なお、冗長生成部１８については後述する。
【００１３】
一般的に、このようなＨＤＤ１においてディスク媒体からデータが読み出される場合、データはリードライトヘッド１４によりディスク媒体１５から読み出され、ヘッドＩＣ７を経由してリードチャネル６に送られる。リードチャネル６に送られたデータは、フォーマット制御部５、バッファ制御部３を経由してバッファメモリ４に一時的に保持される。バッファメモリ４に保持されたデータは、ホストＩＦ制御部２、ホストＩＦ１７を経由して上位装置へ送られる。また、データが書き込まれる場合、上位装置よりホストＩＦ１７、ホストＩＦ制御部２、バッファ制御部３を経由してバッファメモリ４に一時的に保持される。バッファメモリ４に保持されたデータは、書き込みをするのに適当なタイミングにおいて、フォーマット制御部５、リードチャネル６、ヘッドＩＣ７を経由してリードライトヘッド１４によりディスク媒体１５に書き込まれる。
【００１４】
次に、本実施形態に係る冗長生成部１８について説明する。図２は、冗長生成部１８の構成を示すブロック図である。
【００１５】
図２に示すように、冗長生成部１８は、データメモリ１８１及びＸＯＲ（Exclusive OR：排他的論理和）計算回路１８２を備える。データメモリ１８１は、セクタサイズの容量を持ち、ＸＯＲ計算回路１８２による１セクタ分の演算結果データを保持する。また、ＸＯＲ計算回路１８２は、外部から入力された１セクタ分の入力データと、データメモリ１８１に保持された１セクタ分の演算結果データにより、ビット位置毎のＸＯＲ演算を行う。このＸＯＲ演算による演算結果は、新たな演算結果データとしてデータメモリ１８１に保持される。なお、ＭＰＵ８は、データメモリ１８１に保持された演算結果データを、コモンバス１６を介して読み出し、冗長データ（ＸＯＲデータ）とすることができる。
【００１６】
ＸＯＲ計算回路１８２は、このＸＯＲデータと、エラーセクタデータ以外のユーザデータの各セクタ（第１ブロック）とに対してＸＯＲ演算を行うことによりエラーセクタデータを復元することができる。また、ＸＯＲ計算回路１８２は、入力データの順序を変えても演算結果データが変わらないことから、ある区分について全てのセクタデータをいかなる順序に入力しても、最終的な演算結果データとして、ＸＯＲデータを得ることができる。また、同様に、エラーセクタが存在する区分についてエラーセクタデータ以外のユーザデータとＸＯＲデータとをいかなる順序でＸＯＲ計算回路１８２に入力しても、最終的な演算結果データとして復元されたエラーセクタデータを得ることができる。また、ディスク媒体１５における最後の区分のような他の区分よりもセクタ数が少ない区分であっても、区分内のユーザデータにおける全てのセクタデータを用いることにより、他の区分と同様にＸＯＲデータの生成と、エラーセクタデータの復元を行うことができる。
【００１７】
次に、ＸＯＲデータ生成処理について説明する。図３は、ＸＯＲデータ生成処理の動作を示すフローチャートである。まず、ＭＰＵ８は、ディスク媒体１５に書き込まれたユーザデータを参照し、ユーザデータの各区分におけるＸＯＲセクタのデータが有効かどうか、つまり冗長セクタにユーザデータに対応する冗長データが書き込まれているかどうかを判断する（Ｓ１０１）。
【００１８】
冗長セクタのデータが有効ではない場合（Ｓ１０１，ＮＯ）、ＭＰＵ８は、冗長セクタのデータが有効ではない区分におけるＥＣＣデータが各セクタに付加されたユーザデータをリードチャネル４に読み出させ、このユーザデータを、フォーマット制御部５を介して、バッファ制御部３にバッファメモリ４に取り込ませる（Ｓ１０２）。
【００１９】
次に、ＭＰＵ８は、バッファメモリ４上のユーザデータを、フォーマット制御部５を介して冗長生成部１８に転送させ（Ｓ１０３、演算ステップ）、データメモリ１８１上の演算結果データを冗長データとして、リードチャネル４に、冗長生成部１８への入力データであるユーザデータの区分における冗長セクタに書き込ませる（Ｓ１０４、書き込みステップ）。
【００２０】
また、ステップＳ１０１において、冗長セクタのデータが有効である場合（Ｓ１０１，ＹＥＳ）、ＭＰＵ８は、冗長生成処理を終了する。
【００２１】
このように冗長生成処理は、区分内のデータを全て読み出して冗長データを更新する。なお、区分内のデータがすべて更新（すなわち新たに上書き）される場合は、対応する冗長データが有効であるか否かを確認するまでもなく更新が必要である。このように、区分内の全セクタが上書きされる場合、ＭＰＵ８は、書き込みデータをリードチャネル４に入力するとともに、冗長生成部１８にも入力することにより、ディスク媒体１５からのデータ読み出しを省略して冗長データを生成することができる。
【００２２】
次に、図４及び図５を参照して、ディスク媒体１５上の冗長セクタ（ＸＯＲセクタ）の配置について説明する。  
【００２３】
従来の配置例を図４（ａ）に示す。図４（ａ）において、ＸＯＲセクタtrk-(0〜n) は、各トラックtrack(0〜n)に１セクタ最後尾に配置されている。各トラックtrack(0〜n) は、トラック毎に先頭セクタSCT0の配置をずらして歪みSkewをつけており、XORセクタtrk-(0〜n)の位置が径方向では一致しない。このため、ＸＯＲセクタへの書き込みは、ユーザ領域において隣接トラックにサイドイレーズ（ＡＴＩ）の影響を与え、書き込みが連続すると隣接セクタに記録されているデータが消去されてしまう。図４（ｂ）にあるａトラックtrack aと隣接するａ＋１トラックtrack a+1それぞれの最後尾セクタの位置をＸＯＲセクタとした場合の位置関係を示す。この例では、track aの最後尾セクタtrk-aがtrack a+1のセクタSCT6にＡＴＩの影響を与え、track a+1の最後尾セクタtrk-a+1がtrack aのセクタSCT2にＡＴＩの影響を与えることになる。
【００２４】
（第１の実施例）
本実施形態に係る第１の実施例のＸＯＲセクタ配置例を図５に示す。図５（ａ）は、ＸＯＲセクタ群を各トラックで同位相の場所に配置した様子を示している。予めユーザ領域内において、径方向に一致させた冗長セクタの集合をＸＯＲセクタ群として構成し、そのセクタ群に各トラックのＸＯＲセクタを割り当てる。この様な構成にすることで、ＡＴＩ（サイドイレーズ）の影響をユーザ領域のデータに波及させない。図５（ｂ）に、あるａトラックtrack aと隣接するａ＋１トラックtrack a+1それぞれの所定の隣接セクタSCT4, SCT1をＸＯＲセクタtrk-a, trk-a+1とした場合の位置関係を示す。この例では、track aのＸＯＲセクタtrk-aとtrack a+1のＸＯＲセクタtrk-a+1との間でＡＴＩの影響を与えることになるが、ユーザ領域のデータにはＡＴＩの影響は波及しない。ＡＴＩの影響が無ければデータ復旧の必要がなくなる。
【００２５】
上記トラック毎のＸＯＲデータの書き込みは、図６に示すフローチャートに従って処理を行う。図６において、ＭＰＵ８は、まず各トラックにおけるＸＯＲセクタ群内のセクタアドレスを読み込み、ＸＯＲセクタ群を除外して、ユーザデータを記録するセクタのアドレスを管理する（Ｓ２０１）。次に、指定トラックにおいて、アドレス管理情報からＸＯＲセクタの位置を検出し（Ｓ２０２）、ＸＯＲセクタを外してトラック内の各セクタからユーザデータを順次読出し（Ｓ２０３）、そのトラックから順次読み出されるユーザデータのＸＯＲデータを計算して（Ｓ２０４）、最終結果のＸＯＲデータをステップＳ２０２で認識したＸＯＲセクタに書き込む（Ｓ２０５）。次のトラック処理が必要かを判断し（Ｓ２０６）、次のトラック処理が必要な場合には、ステップＳ２０２に戻って一連のＸＯＲ処理を繰り返す。次のトラックが指定されていない場合には、一連の処理を終了する。
【００２６】
ここで、あるトラックにおいて、書き換えられたセクタのデータが存在した場合、冗長生成部１８はそのセクタを含むトラックの冗長データを再計算し、再計算された冗長データを対応するトラックの冗長セクタに記録する。また、冗長セクタ群から任意のトラックに対応する冗長データを冗長セクタから読み出し可能とする。これにより、ディスク媒体のエラーブロックの存在を検出したとき、エラーブロックを含むトラックそれぞれの該当セクタデータを読み出すと共に、該当トラックに対応する冗長セクタから冗長データを読み出して、逆演算してエラーブロックを復旧させることができる。
【００２７】
以上のように、本実施形態では、各トラックの径方向に一致する所定のセクタをＸＯＲセクタ群として配置し、トラック毎のＸＯＲデータをＸＯＲセクタ群内に配置されたセクタにＸＯＲセクタとして書き込みを行なう。ＡＴＩの影響は径方向へ与えるため、該当のＸＯＲセクタ群内に影響をとどめることが可能である。ＸＯＲセクタの書き込みからユーザデータが保護され、従来の配置よりもユーザデータ保証に有利となる。
【００２８】
（第２の実施例）
第１の実施例では、ＸＯＲセクタ群を各トラックで同位相の場所に配置するものとしたが、その配置はその場所に限定されるものではない。図７に本実施形態に係る第２の実施例のＸＯＲセクタ配置例を示す。図７（ａ）は、ＸＯＲセクタ群を所定範囲のトラックに配置した様子を示している。予めユーザ領域内において、所定範囲のトラックの集合をＸＯＲセクタ群として構成し、そのセクタ群に各トラックのXORセクタを割り当てる。この様な構成にすることで、ＡＴＩ（サイドイレーズ）の影響をユーザ領域のデータに波及させない。なお、ＸＯＲセクタ群は、１箇所か所に配置しても複数個所に分散配置してもよく、配置場所限定されない。また、ＸＯＲセクタ群を構成するトラックの外側または内側の隣接トラックは、ＡＴＩの影響を受けやすいので、空き領域としておくことが望ましい。図７（ｂ）に、ａ〜ｎトラックtrack a〜track nのうち、ａトラックtrack aをユーザ領域の境界となる空き領域とし、ａ＋１〜ｎトラックTrack a+1〜Track nをＸＯＲセクタ群を構成した場合の配置例を示す。この例では、track aのユーザ領域が空き領域となっているため、隣接しているtrack a+1のＸＯＲセクタによるＡＴＩの影響を受けたとしても問題は生じることはなく、他のユーザ領域のデータにはＡＴＩの影響は波及しない。ＡＴＩの影響が無ければデータ復旧の必要がなくなる。
【００２９】
以上のように、本実施形態によれば、ＸＯＲセクタを径方向に並べるようにしているので、ＡＴＩの影響がユーザデータに及ばず、データ保護につながる。また、ＸＯＲセクタをある領域にまとめて配置することで、隣接するデータ領域は影響を受けてしまうが、セクタ群との間隔を開ける等の対策により回避することが可能である。またその他のユーザデータはＸＯＲセクタ群から切り離されることで、ユーザデータの保護につながる。ＸＯＲセクタはデータリカバリ用に使用するセクタ、適切に配置場所を適切に特定できるので、電断などによりユーザデータが破損されたとしても、従来通り該当セクタとトラックの残りのセクタからデータ復旧させることができる。
【００３０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００３１】
１…ＨＤＤ、２…ホストＩＦ制御部、３…バッファ制御部、４…バッファメモリ、５…フォーマット制御部（訂正符号付加部）、６…リードチャネル、７…ヘッドＩＣ、８…ＭＰＵ（書き込み部、読み出し部、エラー位置特定部、エラー位置記録部）、９…メモリ、１０…不揮発メモリ、１１…サーボ制御部、１２…ＶＣＭ（Voice Coil Motor）、１３…ＳＰＭ（Spindle Motor）、１４…リードライトヘッド、１５…ディスク媒体（記憶媒体）、１６…コモンバス、１７…ホストＩＦ、１８…冗長生成部（演算部、エラー位置特定部）、１８１…データメモリ、１８２…ＸＯＲ（Exclusive OR：排他的論理和）計算回路。
【図１】
2019164866.tif 000003
【図２】
2019164866.tif 000004
【図３】
2019164866.tif 000005
【図４】
2019164866.tif 000006
【図５】
2019164866.tif 000007
【図６】
2019164866.tif 000008
【図７】
2019164866.tif 000009