特開2019-164866(P2019-164866A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝デバイス&ストレージ株式会社の特許一覧

<>
  • 特開2019164866-ディスク装置およびデータ管理方法 図000003
  • 特開2019164866-ディスク装置およびデータ管理方法 図000004
  • 特開2019164866-ディスク装置およびデータ管理方法 図000005
  • 特開2019164866-ディスク装置およびデータ管理方法 図000006
  • 特開2019164866-ディスク装置およびデータ管理方法 図000007
  • 特開2019164866-ディスク装置およびデータ管理方法 図000008
  • 特開2019164866-ディスク装置およびデータ管理方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2019-164866(P2019-164866A)
(43)【公開日】2019年9月26日
(54)【発明の名称】ディスク装置およびデータ管理方法
(51)【国際特許分類】
   G11B 20/18 20060101AFI20190830BHJP
   G11B 20/10 20060101ALI20190830BHJP
   G11B 20/12 20060101ALI20190830BHJP
【FI】
   G11B20/18 512C
   G11B20/18 540B
   G11B20/18 572B
   G11B20/18 572F
   G11B20/18 520E
   G11B20/18 536Z
   G11B20/10 311
   G11B20/12
【審査請求】未請求
【請求項の数】8
【出願形態】OL
【全頁数】10
(21)【出願番号】特願2018-52773(P2018-52773)
(22)【出願日】2018年3月20日
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】特許業務法人スズエ国際特許事務所
(72)【発明者】
【氏名】東海林 謙克
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044BC01
5D044CC05
5D044DE03
5D044DE68
5D044GK19
(57)【要約】      (修正有)
【課題】冗長セクタ(XORセクタ)への書き換えがユーザ領域にATI(Adjacent Track Interference:隣接トラック干渉)の影響を与えないようにする。
【解決手段】ディスク媒体の複数のトラックtrack(0−n)にセクタ単位でデータを記録・再生し、トラック毎にセクタ単位のデータから冗長データを生成し、トラック毎に予め前記ディスク媒体の径方向に隣接するセクタを冗長セクタ群として登録し、トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録する。
【選択図】図5
【特許請求の範囲】
【請求項1】
ディスク媒体と、
前記ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生する記録・再生手段と、
前記トラック毎に前記セクタ単位のデータから冗長データを生成する生成手段と
を具備し、
前記記録・再生手段は、前記トラック毎に予め前記ディスク媒体の径方向に隣接するセクタを冗長セクタ群として登録し、前記トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録するディスク装置。
【請求項2】
ディスク媒体と、
前記ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生する記録・再生手段と、
前記トラック毎に前記セクタ単位のデータから冗長データを生成する生成手段と
を具備し、
前記記録・再生手段は、前記複数のトラックの一部に前記複数のトラックそれぞれに対応する冗長セクタを配置して冗長セクタ群として登録し、前記トラック毎に生成される冗長データを前記冗長セクタ群の対応するトラックの冗長セクタに記録するディスク装置。
【請求項3】
前記記録・再生手段は、前記冗長セクタ群を除外して、ユーザデータを記録するセクタのアドレスを管理する請求項1または2に記載のディスク装置。
【請求項4】
前記記録・再生手段は、前記トラック毎に前記冗長セクタが配置されているセクタの位置を検出する検出手段を備える請求項1または2に記載のディスク装置。
【請求項5】
前記生成手段は、書き換えられたセクタのデータが存在した場合、そのセクタを含むトラックの冗長データを再計算し、
前記記録・再生手段は、前記再計算された冗長データを対応するトラックの冗長セクタに記録する請求項1または2に記載のディスク装置。
【請求項6】
前記記録・再生手段は、前記冗長セクタ群から任意のトラックに対応する冗長データを前記冗長セクタから読み出す請求項1または2に記載のディスク装置。
【請求項7】
前記ディスク媒体のエラーブロックの存在を検出したとき、前記エラーブロックを含むトラックそれぞれの該当セクタデータを読み出すと共に、該当トラックに対応する冗長セクタから冗長データを読み出して、逆演算してエラーブロックを復旧させる復旧手段を備える請求項1または2に記載のディスク装置。
【請求項8】
ディスク媒体にデータを記録するディスク装置のデータ管理方法において、
前記ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生し、
前記トラック毎に前記セクタ単位のデータから冗長データを生成し、
前記トラック毎に予め径方向に隣接するセクタを冗長セクタ群として登録し、
前記トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録するディスク装置のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明の実施形態は、ディスク装置およびデータ管理方法に関する。
【背景技術】
【0002】
磁気ディスク装置にあっては、1台の装置に記録できる容量の増加に伴い、装置内のデータ管理に関する情報の読み出しがエラーとなった場合、このエラーによって受けるデータ被害は膨大である。その対策としてエラー検出・訂正技術が考案され適用されてきた。特に、エラー復旧方法の手段の一つとして、XOR(排他的論理和)計算されたパリティデータによる冗長データ(XORデータ)を付加する機能を持つ装置がある。
【0003】
XORデータを用いたエラー復旧方法において、従来では、あるトラック上に割り当てられている全セクタを1ユーザブロックとし、XORデータを最後の冗長セクタ(XORセクタ)に登録していた。そのため、そのトラック上の一部のセクタの書き換えが発生するたびに、XORセクタの書き換えが発生する。通常、連続したブロックのリード・ライト(Read/Write)処理は、タイミングを最適化させるために、トラック毎にセクタ位置の位相をずらしている。このように、セクタ番号が径方向に一致していないため、XORセクタの書き換えが径方向の隣接ユーザブロックへ、ATI(Adjacent Track Interference:隣接トラック干渉、いわゆるサイドイレーズ)の影響を大きく与えていた。これがデータ復旧処理(Refresh処理)回数を増やす原因となっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−061756号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
この発明の実施形態の課題は、冗長セクタへの書き換えがユーザ領域にATIの影響を与えないようにすることのできるディスク装置及びデータ管理方法を提供することにある。
【課題を解決するための手段】
【0006】
実施形態によれば、ディスク装置は、ディスク媒体と、ディスク媒体の複数のトラックにセクタ単位でデータを記録・再生する記録・再生手段と、前記トラック毎に前記セクタ単位のデータから冗長データを生成する生成手段とを具備し、前記記録・再生手段は、前記トラック毎に予め前記ディスク媒体の径方向に隣接するセクタを冗長セクタ群として登録し、前記トラック毎に生成される冗長データを対応するトラックの冗長セクタに記録する。
【図面の簡単な説明】
【0007】
図1図1は、本実施形態に係る磁気ディスク装置(HDD)の構成を示すブロック図。
図2図2は、本実施形態に係る磁気ディスク装置の冗長生成部の構成を示すブロック図。
図3図3は、本実施形態に係る磁気ディスク装置のXORデータ生成処理の動作を示すフローチャート。
図4図4は、従来の磁気ディスク装置のXORセクタ配置例を示す図。
図5図5は、本実施形態に係る第1の実施例のXORセクタ配置例を示す概念図。
図6図6は、本実施形態に係る第1の実施例のXORデータをXORセクタに書き込む処理動作を示すフローチャート。
図7図7は、本実施形態に係る第2の実施例のXORセクタ配置例を示す概念図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、実施形態について説明する。
【0009】
なお、開示はあくまで一例にすぎず、当業者において、発明の主旨を保っての適宜変更であって容易に想到し得るものについては、当然に本発明の範囲に含有されるものである。また、図面は説明をより明確にするため、実際の態様に比べ、各部の幅、厚さ、形状等について模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。また、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して、詳細な説明を適宜省略することがある。
【0010】
図1は、本実施形態に係るHDDの構成を示すブロック図である。HDD1は、図示しない上位装置とホストIF(Interface)を介して接続されている。上位装置は、例えば、記憶装置としてHDD1を備えるパーソナルコンピュータであり、データの読み書きにおいて、HDD1に対してコマンドを発行する。
【0011】
上記HDD1は、図1に示すように、ホストIF制御部2、バッファ制御部3、バッファメモリ4、フォーマット制御部(訂正符号付加部)5、リードチャネル6、ヘッドIC7、MPU(書き込み部、読み出し部、エラー位置特定部、エラー位置記録部)8、メモリ9、不揮発メモリ10、サーボ制御部11、VCM(Voice Coil Motor)12、SPM(Spindle Motor)13、リードライトヘッド14、ディスク媒体(記憶媒体)15、コモンバス16、ホストIF17、冗長生成部(演算部、エラー位置特定部)18を備える。
【0012】
ディスク媒体15は、データを格納する。また、リードライトヘッド14は、ディスク媒体15に対して、データとして信号の書き込み、読み出しを行う。また、SPM13は、ディスク媒体15を回転させるモータである。また、VCM12は、リードライトヘッド14を駆動させるモータである。また、サーボ制御部11は、VCM12及びSPM13を制御する。また、ヘッドIC7は、リードライトヘッド14によりディスク媒体15に対して読み書きされる信号を増幅する。また、リードチャネル6は、ディスク媒体15に読み書きするデータを信号に変換する。また、フォーマット制御部5は、ディスク媒体15に記録するデータの記録フォーマットを生成する。また、バッファメモリ4は、ディスク媒体15に読み書きされるデータを一時的に格納するメモリである。また、バッファ制御部3は、バッファメモリ4を制御する。また、メモリ9は揮発性のメモリで、HDDを制御するためのプログラムを格納するものである。また、ホストIF17は、ディスク媒体15に読み書きされるデータ、コマンドを上位装置と通信するためのIFである。また、MPU8は、HDD1における制御及び処理を実行する。なお、冗長生成部18については後述する。
【0013】
一般的に、このようなHDD1においてディスク媒体からデータが読み出される場合、データはリードライトヘッド14によりディスク媒体15から読み出され、ヘッドIC7を経由してリードチャネル6に送られる。リードチャネル6に送られたデータは、フォーマット制御部5、バッファ制御部3を経由してバッファメモリ4に一時的に保持される。バッファメモリ4に保持されたデータは、ホストIF制御部2、ホストIF17を経由して上位装置へ送られる。また、データが書き込まれる場合、上位装置よりホストIF17、ホストIF制御部2、バッファ制御部3を経由してバッファメモリ4に一時的に保持される。バッファメモリ4に保持されたデータは、書き込みをするのに適当なタイミングにおいて、フォーマット制御部5、リードチャネル6、ヘッドIC7を経由してリードライトヘッド14によりディスク媒体15に書き込まれる。
【0014】
次に、本実施形態に係る冗長生成部18について説明する。図2は、冗長生成部18の構成を示すブロック図である。
【0015】
図2に示すように、冗長生成部18は、データメモリ181及びXOR(Exclusive OR:排他的論理和)計算回路182を備える。データメモリ181は、セクタサイズの容量を持ち、XOR計算回路182による1セクタ分の演算結果データを保持する。また、XOR計算回路182は、外部から入力された1セクタ分の入力データと、データメモリ181に保持された1セクタ分の演算結果データにより、ビット位置毎のXOR演算を行う。このXOR演算による演算結果は、新たな演算結果データとしてデータメモリ181に保持される。なお、MPU8は、データメモリ181に保持された演算結果データを、コモンバス16を介して読み出し、冗長データ(XORデータ)とすることができる。
【0016】
XOR計算回路182は、このXORデータと、エラーセクタデータ以外のユーザデータの各セクタ(第1ブロック)とに対してXOR演算を行うことによりエラーセクタデータを復元することができる。また、XOR計算回路182は、入力データの順序を変えても演算結果データが変わらないことから、ある区分について全てのセクタデータをいかなる順序に入力しても、最終的な演算結果データとして、XORデータを得ることができる。また、同様に、エラーセクタが存在する区分についてエラーセクタデータ以外のユーザデータとXORデータとをいかなる順序でXOR計算回路182に入力しても、最終的な演算結果データとして復元されたエラーセクタデータを得ることができる。また、ディスク媒体15における最後の区分のような他の区分よりもセクタ数が少ない区分であっても、区分内のユーザデータにおける全てのセクタデータを用いることにより、他の区分と同様にXORデータの生成と、エラーセクタデータの復元を行うことができる。
【0017】
次に、XORデータ生成処理について説明する。図3は、XORデータ生成処理の動作を示すフローチャートである。まず、MPU8は、ディスク媒体15に書き込まれたユーザデータを参照し、ユーザデータの各区分におけるXORセクタのデータが有効かどうか、つまり冗長セクタにユーザデータに対応する冗長データが書き込まれているかどうかを判断する(S101)。
【0018】
冗長セクタのデータが有効ではない場合(S101,NO)、MPU8は、冗長セクタのデータが有効ではない区分におけるECCデータが各セクタに付加されたユーザデータをリードチャネル4に読み出させ、このユーザデータを、フォーマット制御部5を介して、バッファ制御部3にバッファメモリ4に取り込ませる(S102)。
【0019】
次に、MPU8は、バッファメモリ4上のユーザデータを、フォーマット制御部5を介して冗長生成部18に転送させ(S103、演算ステップ)、データメモリ181上の演算結果データを冗長データとして、リードチャネル4に、冗長生成部18への入力データであるユーザデータの区分における冗長セクタに書き込ませる(S104、書き込みステップ)。
【0020】
また、ステップS101において、冗長セクタのデータが有効である場合(S101,YES)、MPU8は、冗長生成処理を終了する。
【0021】
このように冗長生成処理は、区分内のデータを全て読み出して冗長データを更新する。なお、区分内のデータがすべて更新(すなわち新たに上書き)される場合は、対応する冗長データが有効であるか否かを確認するまでもなく更新が必要である。このように、区分内の全セクタが上書きされる場合、MPU8は、書き込みデータをリードチャネル4に入力するとともに、冗長生成部18にも入力することにより、ディスク媒体15からのデータ読み出しを省略して冗長データを生成することができる。
【0022】
次に、図4及び図5を参照して、ディスク媒体15上の冗長セクタ(XORセクタ)の配置について説明する。
【0023】
従来の配置例を図4(a)に示す。図4(a)において、XORセクタtrk-(0〜n) は、各トラックtrack(0〜n)に1セクタ最後尾に配置されている。各トラックtrack(0〜n) は、トラック毎に先頭セクタSCT0の配置をずらして歪みSkewをつけており、XORセクタtrk-(0〜n)の位置が径方向では一致しない。このため、XORセクタへの書き込みは、ユーザ領域において隣接トラックにサイドイレーズ(ATI)の影響を与え、書き込みが連続すると隣接セクタに記録されているデータが消去されてしまう。図4(b)にあるaトラックtrack aと隣接するa+1トラックtrack a+1それぞれの最後尾セクタの位置をXORセクタとした場合の位置関係を示す。この例では、track aの最後尾セクタtrk-aがtrack a+1のセクタSCT6にATIの影響を与え、track a+1の最後尾セクタtrk-a+1がtrack aのセクタSCT2にATIの影響を与えることになる。
【0024】
(第1の実施例)
本実施形態に係る第1の実施例のXORセクタ配置例を図5に示す。図5(a)は、XORセクタ群を各トラックで同位相の場所に配置した様子を示している。予めユーザ領域内において、径方向に一致させた冗長セクタの集合をXORセクタ群として構成し、そのセクタ群に各トラックのXORセクタを割り当てる。この様な構成にすることで、ATI(サイドイレーズ)の影響をユーザ領域のデータに波及させない。図5(b)に、あるaトラックtrack aと隣接するa+1トラックtrack a+1それぞれの所定の隣接セクタSCT4, SCT1をXORセクタtrk-a, trk-a+1とした場合の位置関係を示す。この例では、track aのXORセクタtrk-aとtrack a+1のXORセクタtrk-a+1との間でATIの影響を与えることになるが、ユーザ領域のデータにはATIの影響は波及しない。ATIの影響が無ければデータ復旧の必要がなくなる。
【0025】
上記トラック毎のXORデータの書き込みは、図6に示すフローチャートに従って処理を行う。図6において、MPU8は、まず各トラックにおけるXORセクタ群内のセクタアドレスを読み込み、XORセクタ群を除外して、ユーザデータを記録するセクタのアドレスを管理する(S201)。次に、指定トラックにおいて、アドレス管理情報からXORセクタの位置を検出し(S202)、XORセクタを外してトラック内の各セクタからユーザデータを順次読出し(S203)、そのトラックから順次読み出されるユーザデータのXORデータを計算して(S204)、最終結果のXORデータをステップS202で認識したXORセクタに書き込む(S205)。次のトラック処理が必要かを判断し(S206)、次のトラック処理が必要な場合には、ステップS202に戻って一連のXOR処理を繰り返す。次のトラックが指定されていない場合には、一連の処理を終了する。
【0026】
ここで、あるトラックにおいて、書き換えられたセクタのデータが存在した場合、冗長生成部18はそのセクタを含むトラックの冗長データを再計算し、再計算された冗長データを対応するトラックの冗長セクタに記録する。また、冗長セクタ群から任意のトラックに対応する冗長データを冗長セクタから読み出し可能とする。これにより、ディスク媒体のエラーブロックの存在を検出したとき、エラーブロックを含むトラックそれぞれの該当セクタデータを読み出すと共に、該当トラックに対応する冗長セクタから冗長データを読み出して、逆演算してエラーブロックを復旧させることができる。
【0027】
以上のように、本実施形態では、各トラックの径方向に一致する所定のセクタをXORセクタ群として配置し、トラック毎のXORデータをXORセクタ群内に配置されたセクタにXORセクタとして書き込みを行なう。ATIの影響は径方向へ与えるため、該当のXORセクタ群内に影響をとどめることが可能である。XORセクタの書き込みからユーザデータが保護され、従来の配置よりもユーザデータ保証に有利となる。
【0028】
(第2の実施例)
第1の実施例では、XORセクタ群を各トラックで同位相の場所に配置するものとしたが、その配置はその場所に限定されるものではない。図7に本実施形態に係る第2の実施例のXORセクタ配置例を示す。図7(a)は、XORセクタ群を所定範囲のトラックに配置した様子を示している。予めユーザ領域内において、所定範囲のトラックの集合をXORセクタ群として構成し、そのセクタ群に各トラックのXORセクタを割り当てる。この様な構成にすることで、ATI(サイドイレーズ)の影響をユーザ領域のデータに波及させない。なお、XORセクタ群は、1箇所か所に配置しても複数個所に分散配置してもよく、配置場所限定されない。また、XORセクタ群を構成するトラックの外側または内側の隣接トラックは、ATIの影響を受けやすいので、空き領域としておくことが望ましい。図7(b)に、a〜nトラックtrack a〜track nのうち、aトラックtrack aをユーザ領域の境界となる空き領域とし、a+1〜nトラックTrack a+1〜Track nをXORセクタ群を構成した場合の配置例を示す。この例では、track aのユーザ領域が空き領域となっているため、隣接しているtrack a+1のXORセクタによるATIの影響を受けたとしても問題は生じることはなく、他のユーザ領域のデータにはATIの影響は波及しない。ATIの影響が無ければデータ復旧の必要がなくなる。
【0029】
以上のように、本実施形態によれば、XORセクタを径方向に並べるようにしているので、ATIの影響がユーザデータに及ばず、データ保護につながる。また、XORセクタをある領域にまとめて配置することで、隣接するデータ領域は影響を受けてしまうが、セクタ群との間隔を開ける等の対策により回避することが可能である。またその他のユーザデータはXORセクタ群から切り離されることで、ユーザデータの保護につながる。XORセクタはデータリカバリ用に使用するセクタ、適切に配置場所を適切に特定できるので、電断などによりユーザデータが破損されたとしても、従来通り該当セクタとトラックの残りのセクタからデータ復旧させることができる。
【0030】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0031】
1…HDD、2…ホストIF制御部、3…バッファ制御部、4…バッファメモリ、5…フォーマット制御部(訂正符号付加部)、6…リードチャネル、7…ヘッドIC、8…MPU(書き込み部、読み出し部、エラー位置特定部、エラー位置記録部)、9…メモリ、10…不揮発メモリ、11…サーボ制御部、12…VCM(Voice Coil Motor)、13…SPM(Spindle Motor)、14…リードライトヘッド、15…ディスク媒体(記憶媒体)、16…コモンバス、17…ホストIF、18…冗長生成部(演算部、エラー位置特定部)、181…データメモリ、182…XOR(Exclusive OR:排他的論理和)計算回路。
図1
図2
図3
図4
図5
図6
図7