JP2006031825A - 記録再生制御方法、記録再生制御装置 - Google Patents
記録再生制御方法、記録再生制御装置 Download PDFInfo
- Publication number
- JP2006031825A JP2006031825A JP2004209647A JP2004209647A JP2006031825A JP 2006031825 A JP2006031825 A JP 2006031825A JP 2004209647 A JP2004209647 A JP 2004209647A JP 2004209647 A JP2004209647 A JP 2004209647A JP 2006031825 A JP2006031825 A JP 2006031825A
- Authority
- JP
- Japan
- Prior art keywords
- sector
- recording
- periodicity
- setting
- sectors
- 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
- 238000000034 method Methods 0.000 title claims description 59
- 238000009826 distribution Methods 0.000 claims abstract description 48
- 238000012937 correction Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 3
- UQSXHKLRYXJYBZ-UHFFFAOYSA-N Iron oxide Chemical compound [Fe]=O UQSXHKLRYXJYBZ-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- HMUNWXXNJPVALC-UHFFFAOYSA-N 1-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperazin-1-yl]-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)N1CCN(CC1)C(CN1CC2=C(CC1)NN=N2)=O HMUNWXXNJPVALC-UHFFFAOYSA-N 0.000 description 1
- 229910000684 Cobalt-chrome Inorganic materials 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000010952 cobalt-chrome Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007747 plating Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】 エラー頻度の周期的に基づくエラー集中によるECC能力低下の防止。
【解決手段】
ECCの配置としてインターリーブ数や符号の物理位置を決定する際に、データエラーについての記録媒体上の位置における周期性を考慮し、特定の符号フレームにエラー数が集中しないようにする。このため、セクタエラーの発生分布の周期性を判別し、それに応じてインターリーブ数を可変設定したり、又はセクタ毎のインターリーブ符号フレームの割り当て順序を可変設定する。或いは、バイトエラー発生分布の周期性に基づいて、セクタ内のインターリーブ構成におけるバイトデータ配置順序を可変設定するか、又はセクタ内バイトデータを複数のブロックに分割し、セクタ毎に、上記ブロックの配置順序を可変設定する。
【選択図】 図3
【解決手段】
ECCの配置としてインターリーブ数や符号の物理位置を決定する際に、データエラーについての記録媒体上の位置における周期性を考慮し、特定の符号フレームにエラー数が集中しないようにする。このため、セクタエラーの発生分布の周期性を判別し、それに応じてインターリーブ数を可変設定したり、又はセクタ毎のインターリーブ符号フレームの割り当て順序を可変設定する。或いは、バイトエラー発生分布の周期性に基づいて、セクタ内のインターリーブ構成におけるバイトデータ配置順序を可変設定するか、又はセクタ内バイトデータを複数のブロックに分割し、セクタ毎に、上記ブロックの配置順序を可変設定する。
【選択図】 図3
Description
本発明は、例えばHDD(ハードディスクドライブ)などとしての記録媒体に対してのデータの記録再生動作を制御する記録再生制御方法、記録再生制御装置に関するものである。
磁気記録方式の情報記録装置としてHDD(Hard Disk Drive)が知られている。
HDDのドライブユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。磁気メディアには、酸化鉄やコバルト・クロムなどの磁性体が、メッキや薄膜生成によって塗布されている。
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書込みを行い、あるいはデータを読み出すことができる。
HDDのドライブユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。磁気メディアには、酸化鉄やコバルト・クロムなどの磁性体が、メッキや薄膜生成によって塗布されている。
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書込みを行い、あるいはデータを読み出すことができる。
ハードディスクは既に広汎に普及している。例えば、パーソナルコンピュータ用の標準的な外部記憶装置として、コンピュータを起動するために必要なオペレーティングシステム(OS)やアプリケーションなど、さまざまなソフトウェアをインストールしたり、作成・編集したファイルを保存したりするためにハードディスクが利用されている。通常、HDDは、IDE(Integrated Drive Electronics)やSCSI(Small Computer System Interface)などの標準的なインターフェースを介してコンピュータ本体に接続され、その記憶空間は、FAT(File Allocation Table)などの、オペレーティングシステムのサブシステムであるファイルシステムによって管理される。
そして最近では、HDDの大容量化が進んでおり、これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたAVコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
そして最近では、HDDの大容量化が進んでおり、これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたAVコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
ここで、コンピュータ用補助記憶装置として使用される場合を例にとって、ハードディスクの物理フォーマット方法やハードディスクへのデータ読み書きオペレーションについて簡単に述べておく。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって0,1,…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって0,1,…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
さらに、各トラックは、単位領域としての「セクタ」に分割される。ディスクに対する通常のデータ読み書き動作はセクタ単位で行われる。セクタサイズはメディア毎に相違するが、ハードディスクのセクタは一般的には512バイトとされる。また、メディアの使用効率を考慮して、各トラック上の記録密度をほぼ均一にするために、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けている。これを”Zone Bit Recording”(ゾーンビットレコーディング:ZBR)方式と呼ぶ。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという短所がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
図12にZBR方式の一例を示している。
同図に示す例では、ディスク21を3つのゾーンに区切っており、最外周から順にゾーン0,1,2とゾーン番号が与えられている。各ゾーン内には複数本のトラックが含まれている。
また図12において、各ゾーンをセクタで区切っているが、この場合(あくまで模式的な例として)、ゾーン0は32セクタで構成され、同様に、ゾーン1は16セクタ、ゾーン2は8セクタでそれぞれ構成されている。ゾーンの切り替えに当たり、具体的なセクタ数については、ディスク回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
図12の例は模式図であるが、半径方向に設定するゾーンは、例えばゾーン0〜ゾーン15という16個のゾーンに設定されることや、1トラック内のセクタ数は、例えば300〜700セクタ程度とされることが多い。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという短所がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
図12にZBR方式の一例を示している。
同図に示す例では、ディスク21を3つのゾーンに区切っており、最外周から順にゾーン0,1,2とゾーン番号が与えられている。各ゾーン内には複数本のトラックが含まれている。
また図12において、各ゾーンをセクタで区切っているが、この場合(あくまで模式的な例として)、ゾーン0は32セクタで構成され、同様に、ゾーン1は16セクタ、ゾーン2は8セクタでそれぞれ構成されている。ゾーンの切り替えに当たり、具体的なセクタ数については、ディスク回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
図12の例は模式図であるが、半径方向に設定するゾーンは、例えばゾーン0〜ゾーン15という16個のゾーンに設定されることや、1トラック内のセクタ数は、例えば300〜700セクタ程度とされることが多い。
また、数枚のメディアが同心円状に重なって構成されているHDDの場合、各メディアの同じ番号のトラックは円筒状に配置されていると捉えることができ、これを「シリンダ」と呼ぶ。各シリンダには、トラック番号と同じ番号が割り振られ、最外周から順にシリンダ0,シリンダ1,・・・となる。各メディア間に挿設された複数のヘッドは常に一体となって作動して、シリンダ間を移動する。
目的となるセクタを指定(アドレス)する方式として、CHS方式を挙げることができる。これは、ディスク上のPBA(Physical Block Address:物理ブロックアドレス)を、C(Cylinder)、H(Head)、S(Sector)の順に指定することによって、所望のデータにアクセスする方式である。
一方、CHS方式においては、HDDに対するホストとして動作するコンピュータ本体側では、指定できるCHSパラメータに限界があり、ハードディスクの大容量化に対応できなくなってくる。このため、LBA(Logical Block Address:論理ブロックアドレス)方式が採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号(CHS)を0から始まるLBAという論理的な通し番号で表現するものである。
一方、CHS方式においては、HDDに対するホストとして動作するコンピュータ本体側では、指定できるCHSパラメータに限界があり、ハードディスクの大容量化に対応できなくなってくる。このため、LBA(Logical Block Address:論理ブロックアドレス)方式が採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号(CHS)を0から始まるLBAという論理的な通し番号で表現するものである。
従来のHDDでは、メディアにアクセスしてデータを読み書きするためには、先ず、磁気ヘッドが目的とするセクタのあるトラックに到達するために、磁気ヘッドをメディア上で走査させる。これを磁気ヘッドの「シーク」動作と呼ぶ。次に、トラック上で目的のセクタに到達するために、メディアが回転して、目的のセクタが磁気ヘッドの真下に来るまで待つ。これを「回転待ち」と呼ぶ。
また従来の多くのHDDは、IDEやSCSIなどコンピュータとの接続を目的としたインターフェースを持っている。そして、コンピュータ本体からのディスクドライブ制御は、インターフェースで定義されているコマンドセットを用いて、先頭セクタを示すLBAとアクセスを行うセクタ数を指定することを基本動作とする。
この場合、HDD側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
サイズの大きなデータがメディア上に連続して書き込まれている場合には、読出し時の先読み動作が有効に働く。
この場合、HDD側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
サイズの大きなデータがメディア上に連続して書き込まれている場合には、読出し時の先読み動作が有効に働く。
ディスクの大容量化に伴い、トラック密度が増大してトラック幅が極めて狭くなる。したがって、データを正確に書き込み及び再生するためには、磁気ヘッドの位置決めは高い精度が要求される。そこで、磁気ヘッドの位置を常にトラックの中心に合わせるというサーボ技術が採用されている。各トラック上に「サーボパターン」と呼ばれる信号を一定間隔で書き込んでおき、これを磁気ヘッドで読むことにより、磁気ヘッドがトラックの中心にあるかどうかをチェックすることができる。サーボパターンは、HDDの製造工程において、高精度に書き込まれる。サーボ領域には、例えば、ヘッドの位置決めするための信号と、シリンダ番号、ヘッド番号、サーボ番号などが書き込まれている。
図13には磁気ディスク21においてサーボパターンが書き込まれるサーボエリアの配置の一例を示している。図13の半径方向の実線は、サーボエリアSRVを示している(図12に示したようなセクタの区切りではない)。
図13に示す例では、磁気ディスク21において、半径方向に32本の実線で示すように、放射状にサーボエリアが配置されている。即ちサーボエリアSRVは、同心円となるゾーン0,1,2に関係なく形成されている。つまりどのゾーンにおいても、1トラックにつき32個のサーボエリアが形成されている。
図13に示す例では、磁気ディスク21において、半径方向に32本の実線で示すように、放射状にサーボエリアが配置されている。即ちサーボエリアSRVは、同心円となるゾーン0,1,2に関係なく形成されている。つまりどのゾーンにおいても、1トラックにつき32個のサーボエリアが形成されている。
このサーボエリアSRVによりトラックの位置決め制御が行われる。即ち磁気ヘッドによるトラックのトレースがサーボエリアSRVを通過する時に、オントラックとなったか、あるいはトラックが外れたかの情報が得られる。
ここで、データ読み取り時において振動等の外乱が加わったことによって、トラック位置がずれたとする。トラックが大きく移動した場合は、全体のサーボ制御は最初から行われることになる。つまりデータ読取が中断され、再度必要なトラックにアクセスしてデータ読取が行われる。
一方、トラックが正しい位置に対して、両隣のトラックの方向に所定の範囲内で移動した(ずれた)場合は、トラック位置制御を行いながら、そのままデータ読み取りを継続している。
ここで、データ読み取り時において振動等の外乱が加わったことによって、トラック位置がずれたとする。トラックが大きく移動した場合は、全体のサーボ制御は最初から行われることになる。つまりデータ読取が中断され、再度必要なトラックにアクセスしてデータ読取が行われる。
一方、トラックが正しい位置に対して、両隣のトラックの方向に所定の範囲内で移動した(ずれた)場合は、トラック位置制御を行いながら、そのままデータ読み取りを継続している。
なお、2つのサーボエリアSRVに挟まれる範囲(図中のSF区間)をサーボフレームとも呼ぶ。
例えば1セクタが512バイトで与えられている場合、セクタ当たりの大きさ(セクタサイズ)は、トラック上の2つのサーボエリアの間の容量と比較して小さいので、1つのサーボフレームSFには複数のセクタが配置されることになる。
これらセクタの配置は、主にZBRのゾーン毎に定められている。すなわち、ゾーンが切り替わると、サーボフレームSFに配置されているセクタ数についても異なっている。
図13では模式図として1トラックにつき32個のサーボエリアSRVが形成されるとしているが、実際には、1トラックに96個のサーボエリアSRVが形成される例が多い。
例えば或るゾーンにおいて1トラックのセクタ数が633であれば、1つのサーボフレームSFにおけるセクタ数は6.6個となる。
なお、1つのサーボフレームSF内に、整数個のセクタが配されるように規定しても良いが、記録領域の有効利用のため、1セクタを2つのサーボフレームSFにまたがって配置しても良い。このため、サーボフレーム内のセクタ数が、上記の6.6個になるというようなことも発生する。
例えば1セクタが512バイトで与えられている場合、セクタ当たりの大きさ(セクタサイズ)は、トラック上の2つのサーボエリアの間の容量と比較して小さいので、1つのサーボフレームSFには複数のセクタが配置されることになる。
これらセクタの配置は、主にZBRのゾーン毎に定められている。すなわち、ゾーンが切り替わると、サーボフレームSFに配置されているセクタ数についても異なっている。
図13では模式図として1トラックにつき32個のサーボエリアSRVが形成されるとしているが、実際には、1トラックに96個のサーボエリアSRVが形成される例が多い。
例えば或るゾーンにおいて1トラックのセクタ数が633であれば、1つのサーボフレームSFにおけるセクタ数は6.6個となる。
なお、1つのサーボフレームSF内に、整数個のセクタが配されるように規定しても良いが、記録領域の有効利用のため、1セクタを2つのサーボフレームSFにまたがって配置しても良い。このため、サーボフレーム内のセクタ数が、上記の6.6個になるというようなことも発生する。
ところでハードディスクドライブ(HDD)のようなデータ記録再生装置に用いられるECC(Error Correcting Code)の配置方法としてインターリーブが用いられるが、インターリーブを用いたECCのコード配置方法としては、符号長がハードウェア制約などによる最大値にできるだけ近くなるようなインターリーブ数を決定し、インターリーブごと順にコードを配置する手法が一般的である。
例えば図14は、1トラックに633セクタが含まれる場合において、セクタのインターリーブの例を示している。図14(a)は、1トラック内の633個のセクタt0〜t0+632を示している。t0〜t0+632はセクタのLBAとする。
符号長最大値が255である場合において、633個のセクタを配置するには、インターリーブ数(インターリーブ深さ)m=3とする。即ち、3つの符号フレームi0、i1、i2を形成する。符号フレームとは、セクタ内の各バイトデータが同じRS符号語に属するセクタの集まりを意味する。
そして図14(a)に示すように、符号フレーム番号i0,i1,i2を、セクタt0から順番に割り当てていく。この場合、各セクタの符号フレーム番号は、そのセクタのLBAから先頭セクタのLBA(=t0)の差をインターリーブ数mで割った剰余として与えられることになる。
するとインターリーブ構成は、図14(b)に示すように、それぞれ符号長n=211の3つの符号フレームi0,i1,i2として形成される(なお、符号長nは、セクタ数をインターリーブ数で割った値)。
例えば符号フレームi0は、セクタt0、t0+3、t0+6・・・t0+630という211セクタで形成されることになる。
そして図14(b)での縦方向に形成される各符号フレームi0,i1,i2それぞれで、ECCエラー訂正処理が行われる。
例えば図14は、1トラックに633セクタが含まれる場合において、セクタのインターリーブの例を示している。図14(a)は、1トラック内の633個のセクタt0〜t0+632を示している。t0〜t0+632はセクタのLBAとする。
符号長最大値が255である場合において、633個のセクタを配置するには、インターリーブ数(インターリーブ深さ)m=3とする。即ち、3つの符号フレームi0、i1、i2を形成する。符号フレームとは、セクタ内の各バイトデータが同じRS符号語に属するセクタの集まりを意味する。
そして図14(a)に示すように、符号フレーム番号i0,i1,i2を、セクタt0から順番に割り当てていく。この場合、各セクタの符号フレーム番号は、そのセクタのLBAから先頭セクタのLBA(=t0)の差をインターリーブ数mで割った剰余として与えられることになる。
するとインターリーブ構成は、図14(b)に示すように、それぞれ符号長n=211の3つの符号フレームi0,i1,i2として形成される(なお、符号長nは、セクタ数をインターリーブ数で割った値)。
例えば符号フレームi0は、セクタt0、t0+3、t0+6・・・t0+630という211セクタで形成されることになる。
そして図14(b)での縦方向に形成される各符号フレームi0,i1,i2それぞれで、ECCエラー訂正処理が行われる。
ところが、ECCにて訂正したいエラーが周期性を持ち、その周期がインターリーブの周期と一致またはどちらか一方の周期がその他の周期の定数倍となった場合、特定の符号フレームにおいてエラーが集中するという現象が生ずる。
例えばHDDシステムにおいてはセクタエラーのトラック内での周期性や、セクタ内でのバイトエラーの周期性によりエラー集中が発生する。
例えばHDDシステムにおいてはセクタエラーのトラック内での周期性や、セクタ内でのバイトエラーの周期性によりエラー集中が発生する。
まず、HDDにおけるセクタエラーのトラック内での周期性について説明する。
図15(a)にHDDのトラックあたりのセクタに対して、HDD全体にて生じたセクタエラーをトラック内の相対位置についてまとめたものを示す。ここでは、セクタエラーの発生したトラック内の論理アドレスからもとめる相対位置(LBA先頭を0、末尾を1とする)について、1トラックを384分割した各区間でのセクタエラー発生頻度を示している。
この図15(a)からは、セクタエラーの多くがトラックの先頭付近で発生していることがわかる。
この結果をフーリエ解析し、エラー発生についての周期についてまとめたものを図15(b)に示す。これは、1トラックにおけるセクタエラー発生回数を、1トラック=1周期としたトラック分割数として表したものである。この図からは、1トラックを1周期とした場合のセクタエラー発生間隔からトラック分割数とエラー頻度の関係が分かる。
そして図のように、トラックを96分割した場合にエラー頻度のピークがある。
このデータ測定に用いたHDDはトラックにつき96個のサーボエリアSRVをもつものであり、図中トラック分割数96に位置するエラー頻度のピークは、サーボフレーム周期にエラーの発生が集中していることを示す。同様にトラック分割数32に位置するエラー頻度のピークはサーボフレームの3倍の周期にてエラーの発生が集中していることを示している。
図15(a)にHDDのトラックあたりのセクタに対して、HDD全体にて生じたセクタエラーをトラック内の相対位置についてまとめたものを示す。ここでは、セクタエラーの発生したトラック内の論理アドレスからもとめる相対位置(LBA先頭を0、末尾を1とする)について、1トラックを384分割した各区間でのセクタエラー発生頻度を示している。
この図15(a)からは、セクタエラーの多くがトラックの先頭付近で発生していることがわかる。
この結果をフーリエ解析し、エラー発生についての周期についてまとめたものを図15(b)に示す。これは、1トラックにおけるセクタエラー発生回数を、1トラック=1周期としたトラック分割数として表したものである。この図からは、1トラックを1周期とした場合のセクタエラー発生間隔からトラック分割数とエラー頻度の関係が分かる。
そして図のように、トラックを96分割した場合にエラー頻度のピークがある。
このデータ測定に用いたHDDはトラックにつき96個のサーボエリアSRVをもつものであり、図中トラック分割数96に位置するエラー頻度のピークは、サーボフレーム周期にエラーの発生が集中していることを示す。同様にトラック分割数32に位置するエラー頻度のピークはサーボフレームの3倍の周期にてエラーの発生が集中していることを示している。
図16(a)は、上述した一般的な手法でインターリーブ数mを決定した例を示す。 ここでは、ゾーン数16(ゾーン#0〜#15)のHDDにおいて各ゾーンでのトラックあたりセクタ数と、サーボフレームSFがトラック内に96ある場合のサーボフレーム数あたりのセクタ数と、符号長最大値が255である場合の各符号フレームi(i0,i1・・)において符号長n(コード長)ができるだけ最大となるためのインターリーブ数mと、符号フレームごとの符号長(符号長をセクタ数にて示す)とをそれぞれ示している。
例えばゾーン#0は1トラックに633セクタ存在し、サーボフレームSFにおけるセクタ数は6.6となる。この場合、符号フレームの符号長をできるだけ最大値255に近い値とするには、インターリーブ数m=3とされ、符号フレームi0,i1,i2は、それぞれ符号長nが211セクタとなる。
また例えばゾーン#9は1トラックに499セクタ存在し、サーボフレームSFにおけるセクタ数は5.2となる。この場合、符号フレームの符号長をできるだけ最大値255に近い値とするには、インターリーブ数m=2とされ、符号フレームi0の符号長nは250セクタ、符号フレームi1の符号長は249セクタとなる。
また例えばゾーン#9は1トラックに499セクタ存在し、サーボフレームSFにおけるセクタ数は5.2となる。この場合、符号フレームの符号長をできるだけ最大値255に近い値とするには、インターリーブ数m=2とされ、符号フレームi0の符号長nは250セクタ、符号フレームi1の符号長は249セクタとなる。
このうち、ゾーン#4でのコード配置について図16(b)に示す。 このゾーン#4では1サーボフレームあたりのセクタ数が6、インターリーブ数m=3であるため、図14で説明した一般的なコード配置である場合、エラー発生周期がインターリーブ周期の整数倍(ここでは2倍)となり、6セクタごとに、同じ符号フレームに含まれるセクタにエラーが多く発生する。
つまり上記図15から、サーボフレームSFの周期でエラー頻度が高いことがわかるが、図16(b)の場合、例えば☆を付したサーボフレーム周期のセクタt0、t0+6、t0+12・・・は、同じ符号フレームi0に含まれることになる。
つまり、或る符号フレームにおいて、エラー発生確率の高いセクタが集中的に含まれてしまう。
つまり上記図15から、サーボフレームSFの周期でエラー頻度が高いことがわかるが、図16(b)の場合、例えば☆を付したサーボフレーム周期のセクタt0、t0+6、t0+12・・・は、同じ符号フレームi0に含まれることになる。
つまり、或る符号フレームにおいて、エラー発生確率の高いセクタが集中的に含まれてしまう。
ここでは、このような同じ符号フレームに含まれる複数のセクタにエラーが多く発生する状態をエラー集中とよぶ。
ゾーン#4ではトラックあたりのセクタ数が576であるため、トラック1周に対して96回、それぞれの符号フレームに対してエラー集中が生じる。
同様に、ゾーン#10においてはサーボフレームSFあたりのセクタ数が5、インターリーブ数mが2であり、エラー発生周期がインターリーブ周期の整数倍ではないが、最小公倍数である10セクタごと、トラック1周に対して48回のエラー集中が生じる。
ゾーン#13においてはサーボフレームSFあたりのセクタ数が4、インターリーブ数mが2であり、4セクタごと、トラック1周に対して96回のエラー集中が生じる。
なお、他のゾーンではサーボフレームSFあたりのセクタ数が小数点を含むため、インターリーブあたりのセクタ数との最小公倍数となるエラー集中の周期が長くなり、このような問題は比較的生じにくい。
ゾーン#4ではトラックあたりのセクタ数が576であるため、トラック1周に対して96回、それぞれの符号フレームに対してエラー集中が生じる。
同様に、ゾーン#10においてはサーボフレームSFあたりのセクタ数が5、インターリーブ数mが2であり、エラー発生周期がインターリーブ周期の整数倍ではないが、最小公倍数である10セクタごと、トラック1周に対して48回のエラー集中が生じる。
ゾーン#13においてはサーボフレームSFあたりのセクタ数が4、インターリーブ数mが2であり、4セクタごと、トラック1周に対して96回のエラー集中が生じる。
なお、他のゾーンではサーボフレームSFあたりのセクタ数が小数点を含むため、インターリーブあたりのセクタ数との最小公倍数となるエラー集中の周期が長くなり、このような問題は比較的生じにくい。
特定の符号フレームへのエラー集中により、エラー数の符号長に対する割合がエラー訂正能力以上にエラー数が増加した場合、ECCによるエラー訂正は機能しない。つまりエラー集中により本来のエラー訂正能力が発揮できないという問題が生ずる。
エラー訂正能力が発揮できないことは記録再生動作性能の低下に直結する。
エラー訂正能力が発揮できないことは記録再生動作性能の低下に直結する。
次にHDDにおけるバイトエラーのセクタ内での周期性について述べる。
図17(a)にセクタ(1セクタ=512バイト)内における相対的なバイトエラー発生位置とバイトエラー発生頻度との関係の例を示す。ここでいうバイト位置とは1セクタを512バイトとした論理位置を意味する。
図に示すエラー分布ではセクタ内のはじめの約23%までのエラー頻度が高く、逆にセクタの終わり約30%においてはエラーの発生頻度が減少する。
図17(b)に、1セクタを単位としたECC構成について示す。各セクタはバイト0〜511が順番に横に並べられる。そして図の縦列に沿った符号長nのバイトデータに対してエラー訂正が行われる。つまり複数セクタにおける同じバイト位置同志でエラー訂正が行われる。
すると、図17(a)のようにセクタ内のエラー分布に偏りがあることから、例えばセクタ内のはじめの約23%までのバイト位置に関してエラー集中が発生しやすい。
そしてエラーが集中するバイト位置にて、符号長に対するエラー割合が訂正能力を超えた場合はエラー訂正が機能しないことになり、この場合もエラー訂正能力を発揮できないという問題が生ずる。
図17(a)にセクタ(1セクタ=512バイト)内における相対的なバイトエラー発生位置とバイトエラー発生頻度との関係の例を示す。ここでいうバイト位置とは1セクタを512バイトとした論理位置を意味する。
図に示すエラー分布ではセクタ内のはじめの約23%までのエラー頻度が高く、逆にセクタの終わり約30%においてはエラーの発生頻度が減少する。
図17(b)に、1セクタを単位としたECC構成について示す。各セクタはバイト0〜511が順番に横に並べられる。そして図の縦列に沿った符号長nのバイトデータに対してエラー訂正が行われる。つまり複数セクタにおける同じバイト位置同志でエラー訂正が行われる。
すると、図17(a)のようにセクタ内のエラー分布に偏りがあることから、例えばセクタ内のはじめの約23%までのバイト位置に関してエラー集中が発生しやすい。
そしてエラーが集中するバイト位置にて、符号長に対するエラー割合が訂正能力を超えた場合はエラー訂正が機能しないことになり、この場合もエラー訂正能力を発揮できないという問題が生ずる。
本発明は上記のようにエラー集中によりエラー訂正能力が低下することを防止し、適正なエラー訂正処理によって記録再生動作性能を向上させることを目的とする。
本発明の記録再生制御方法は、記録媒体におけるデータ記録領域内において、エラー発生分布の周期性を判別する判別ステップと、上記判別ステップで把握されたエラー発生分布の周期性に基づいて、上記記録媒体に対して記録再生するデータのインターリーブ構成を設定する設定ステップと、上記記録媒体に対するデータの記録再生の際に、上記設定ステップで設定されたインターリーブ構成を用いたエラー訂正処理を実行するように制御する記録再生制御ステップとを備える。
また本発明の記録再生制御装置は、記録媒体におけるデータ記録領域内において、エラー発生分布の周期性を判別する判別手段と、上記判別手段で把握されたエラー発生分布の周期性に基づいて、上記記録媒体に対して記録再生するデータのインターリーブ構成を設定する設定手段と、上記記録媒体に対するデータの記録再生の際に、上記設定手段で設定されたインターリーブ構成を用いたエラー訂正処理を実行するように制御する記録再生制御手段とを備える。
上記記録再生制御方法、記録再生制御装置において、上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、半径方向に複数のゾーンが設定されるディスク記録媒体である場合、上記各ゾーン毎にエラー発生分布の周期性を判別し、上記各ゾーン毎に判別されたエラー発生分布の周期性に基づいて、上記各ゾーン毎にインターリーブ構成を設定する。
また、上記記録媒体が、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体である場合、トラック内でのセクタエラーの発生分布の周期性を判別し、セクタエラー発生分布の周期性に基づいて、セクタのインターリーブ構成を設定する。例えばインターリーブ数を可変設定するか、又はセクタ毎のインターリーブ符号フレームの割り当て順序を可変設定する。
また上記記録媒体が、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体である場合、セクタ内でのバイトエラーの発生分布の周期性を判別し、バイトエラー発生分布の周期性に基づいて、セクタ内のインターリーブ構成を設定する。例えばセクタ毎のバイトデータ配置順序を可変設定するか、又はセクタ内バイトデータを複数のブロックに分割し、セクタ毎に、上記ブロックの配置順序を可変設定する。
また、上記記録媒体が、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体である場合、トラック内でのセクタエラーの発生分布の周期性を判別し、セクタエラー発生分布の周期性に基づいて、セクタのインターリーブ構成を設定する。例えばインターリーブ数を可変設定するか、又はセクタ毎のインターリーブ符号フレームの割り当て順序を可変設定する。
また上記記録媒体が、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体である場合、セクタ内でのバイトエラーの発生分布の周期性を判別し、バイトエラー発生分布の周期性に基づいて、セクタ内のインターリーブ構成を設定する。例えばセクタ毎のバイトデータ配置順序を可変設定するか、又はセクタ内バイトデータを複数のブロックに分割し、セクタ毎に、上記ブロックの配置順序を可変設定する。
即ち本発明は、ECCの配置としてインターリーブ数や符号(コード)の物理位置を決定する際に、データエラーについての記録媒体上の位置における周期性を考慮し、特定の符号フレームにエラー数が集中しないようにする。
例えば、HDDなどのディスク記録再生装置にて記録再生を行う場合、あるトラック内の物理的に連続する複数のセクタを、データのアクセス単位とすることが一般的であるが、HDDの記録再生によって生じるエラーはサーボフレーム間隔のような特定の周期にて発生する頻度が多い。ここでトラック内のセクタのインターリーブを設定する場合、一般的に符号長が最大となるようなインターリーブ数を決定し、インターリーブの符号フレームごと順にコード(セクタデータ)を配置するが、この方式の場合、各符号フレームのコード配置と、エラー発生位置の周期の最小公倍数が一致する周期でのデータがディスク内に存在する場合、特定の符号フレームにおいてエラーが集中する。
そこで、エラー集中発生を回避するために、インターリーブ数を増減したり、インターリーブの際の各符号フレームのコード配置に周期性を減らすようなバラツキをあたえる。
つまり、特定の符号フレームへのエラー集中により、エラー数の符号長に対する割合がエラー訂正能力以上にエラー数が増加した場合、ECCによるエラー訂正は機能しないが、同じエラー数でも符号フレームごとに分散され符号長に対するエラーの割合がどの符号フレームにおいても訂正能力以内であればECCによるエラー訂正は有効となるため、エラーが特定の符号フレームに集中しないようにインターリーブ構成を設定するものである。
例えば、HDDなどのディスク記録再生装置にて記録再生を行う場合、あるトラック内の物理的に連続する複数のセクタを、データのアクセス単位とすることが一般的であるが、HDDの記録再生によって生じるエラーはサーボフレーム間隔のような特定の周期にて発生する頻度が多い。ここでトラック内のセクタのインターリーブを設定する場合、一般的に符号長が最大となるようなインターリーブ数を決定し、インターリーブの符号フレームごと順にコード(セクタデータ)を配置するが、この方式の場合、各符号フレームのコード配置と、エラー発生位置の周期の最小公倍数が一致する周期でのデータがディスク内に存在する場合、特定の符号フレームにおいてエラーが集中する。
そこで、エラー集中発生を回避するために、インターリーブ数を増減したり、インターリーブの際の各符号フレームのコード配置に周期性を減らすようなバラツキをあたえる。
つまり、特定の符号フレームへのエラー集中により、エラー数の符号長に対する割合がエラー訂正能力以上にエラー数が増加した場合、ECCによるエラー訂正は機能しないが、同じエラー数でも符号フレームごとに分散され符号長に対するエラーの割合がどの符号フレームにおいても訂正能力以内であればECCによるエラー訂正は有効となるため、エラーが特定の符号フレームに集中しないようにインターリーブ構成を設定するものである。
以上の本発明によれば、HDDなどの記録再生システムにおいてエラー周期性を考慮したECCの設定が可能となり、ECC単位におけるエラー数を平均化し最大値を押し下げることができる。
これにより、エラー集中によるエラー訂正能力の低下を回避することができるとともに、エラーに対するマージンを大きくとれることになる。また、マージンが拡大することによっては、例えばECCパリティ数を少なくすることも可能で、パリティを少なくした分、ユーザーデータ領域を拡大し、データ容量の増大を図ることもできる。さらにはその場合、転送レートの増加やデータ密度の上昇などの利点も生じる。
これにより、エラー集中によるエラー訂正能力の低下を回避することができるとともに、エラーに対するマージンを大きくとれることになる。また、マージンが拡大することによっては、例えばECCパリティ数を少なくすることも可能で、パリティを少なくした分、ユーザーデータ領域を拡大し、データ容量の増大を図ることもできる。さらにはその場合、転送レートの増加やデータ密度の上昇などの利点も生じる。
以下、図面を参照しながら本発明の実施の形態について次の順序で説明する。
1.ハードディスク装置の構成
2.エラー周期性を考慮したインターリーブ構成の設定
2−1 セクタのインターリーブ設定
2−2 セクタ内のバイトデータのインターリーブ設定
3.インターリーブ構成の設定処理例
3−1 セクタのインターリーブ設定処理
3−2 セクタ内のバイトデータのインターリーブ設定処理
4.変形例
1.ハードディスク装置の構成
2.エラー周期性を考慮したインターリーブ構成の設定
2−1 セクタのインターリーブ設定
2−2 セクタ内のバイトデータのインターリーブ設定
3.インターリーブ構成の設定処理例
3−1 セクタのインターリーブ設定処理
3−2 セクタ内のバイトデータのインターリーブ設定処理
4.変形例
1.ハードディスク装置の構成
図1には、本発明の一実施形態に係るHDD(ハードディスク装置)10の全体構成を模式的に示している。
本例のHDD10は、例えばカメラ部50をホスト機器とするストレージ機器とされる。そしてカメラ部50から供給されたAVストリームデータの記録を行い、また再生したAVストリームデータをカメラ部50に供給する。カメラ部50は例えば撮像機能や再生映像表示機能を備えるものとされる。
実際には、本例のHDD10は、カメラ装置に内蔵されるHDDとされたり、カメラ装置に接続されてビデオデータの記録再生を行う機器とされることが考えられる。
なお、カメラ部50と接続するシステムとするのは一例であり、例えば本例のHDD10は他のAV(オーディオ・ビジュアル)機器、パーソナルコンピュータ、ゲーム機器等に内蔵或いは接続されるものでも良い。
図1には、本発明の一実施形態に係るHDD(ハードディスク装置)10の全体構成を模式的に示している。
本例のHDD10は、例えばカメラ部50をホスト機器とするストレージ機器とされる。そしてカメラ部50から供給されたAVストリームデータの記録を行い、また再生したAVストリームデータをカメラ部50に供給する。カメラ部50は例えば撮像機能や再生映像表示機能を備えるものとされる。
実際には、本例のHDD10は、カメラ装置に内蔵されるHDDとされたり、カメラ装置に接続されてビデオデータの記録再生を行う機器とされることが考えられる。
なお、カメラ部50と接続するシステムとするのは一例であり、例えば本例のHDD10は他のAV(オーディオ・ビジュアル)機器、パーソナルコンピュータ、ゲーム機器等に内蔵或いは接続されるものでも良い。
同図に示すように、HDD10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)/RAM(Random Access Memory)12と、ディスクコントローラ13と、バッファRAM14と、データ読み書き制御部15と、サーボ制御部16、そして磁気ディスク21とを備えている。
磁気ディスク21は、1枚あるいは複数枚で構成され、さらに記録面は片面あるいは両面(ディスクの表裏)となっている。また記録面上にはヘッドが配置される。図1においては2枚の磁気ディスク21a、21bが配され、また対応して2つの記録再生ヘッド(磁気ヘッド)22a、22bが設けられている状態を示している、。
即ちドライブユニット内には、数枚の磁気ディスク(プラッタ)が同心円状に重なって構成することができ、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され(シリンダ)、トラック番号と同じシリンダ番号で指定される。
なお、図1に示すように、1つの磁気ディスク21に対して1つの記録再生ヘッド22が配されるのは、磁気ディスク21は片面が記録面とされる場合である。
両面が記録面とされる場合、1つの磁気ディスク21に対して2つの記録再生ヘッド22が配される。
即ちドライブユニット内には、数枚の磁気ディスク(プラッタ)が同心円状に重なって構成することができ、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され(シリンダ)、トラック番号と同じシリンダ番号で指定される。
なお、図1に示すように、1つの磁気ディスク21に対して1つの記録再生ヘッド22が配されるのは、磁気ディスク21は片面が記録面とされる場合である。
両面が記録面とされる場合、1つの磁気ディスク21に対して2つの記録再生ヘッド22が配される。
図1において、CPU11は、ROM/RAM12に格納されている制御コードを実行して、HDD10内の動作を統括的にコントロールする。
また後述するアクセス単位設定処理も行い、それに基づいて記録再生動作を制御する。
ディスクコントローラ13は、インターフェース17を介して接続されるホスト機器からコマンドを受け取る。この例では上記のようにカメラ部50をホスト機器としている。例えばカメラ部50からのコマンドはCPU11に受け渡され、CPU11はそのコマンド処理を行い、ディスクコントローラ13はコマンド処理結果に従って、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示する。
インターフェース17経由でカメラ部50から受け取った書込みデータや、磁気ディスク21から読み取ってカメラ部50に渡されるデータは、バッファRAM14に一時的に格納される。
また後述するアクセス単位設定処理も行い、それに基づいて記録再生動作を制御する。
ディスクコントローラ13は、インターフェース17を介して接続されるホスト機器からコマンドを受け取る。この例では上記のようにカメラ部50をホスト機器としている。例えばカメラ部50からのコマンドはCPU11に受け渡され、CPU11はそのコマンド処理を行い、ディスクコントローラ13はコマンド処理結果に従って、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示する。
インターフェース17経由でカメラ部50から受け取った書込みデータや、磁気ディスク21から読み取ってカメラ部50に渡されるデータは、バッファRAM14に一時的に格納される。
データ読み書き制御部15は、符号化変調処理を行って実際に記録するデータパターンを作成し、プリアンプ25を介して磁気ディスク21にデータを書き込む。また、逆に読み込んだデータをプリアンプ25を介して磁気ディスク21から取り込み、データの復調処理を行う。
サーボ制御部16は、磁気ヘッド22a、22bを搭載したアームを移動するボイスコイルモータ(VCM)23、及び磁気ディスク21を回転させるスピンドルモータ(SPM)24を同期的駆動させて、磁気ヘッド22a、22bが磁気ディスク21上の目的とするトラック上の所定範囲内に到達するように制御する。さらに、ディスク上のサーボパターンよりヘッド位置を所定の位置にシークさせるための制御を行う。
磁気ディスク21上には、データを記録するための区画である多数のトラックが同心円状に形成され、例えばディスク21の最外周から、内周に向かって0,1,2,…とトラック番号が割り振られている。また、各トラックは、さらにセクタ毎に分割されており、このセクタ単位が、データ読み書き動作の可能な最小単位となっている。
セクタ内のデータ量は例えば512バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
セクタ内のデータ量は例えば512バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
図1には、特にCPU11とROM/RAM12にまたがるようにして、ECC制御情報発生部26を示している。
このECC制御情報発生部26は、エラー訂正符号のパリティ構造やインターリーブ構造を指示する制御情報を発生する部位である。
ECC制御情報発生部26は、制御情報生成に用いるテーブルを記憶する場所を、例えばROM/RAM12とし、その制御を例えばCPU11によって行うことで、その機能が実現される。
このECC制御情報発生部26からの制御信号によって、記録再生されるフォーマットが決定する。フォーマットとは例えば、トラック単位のセクタ数をまとめてECCブロックとし、そこにはセクタ内のエラー訂正を行うC1パリティやセクタ間のエラー訂正を行うためのC2パリティを持つ形式とされる。
またECCブロックはインターリーブ構造を備えるが、そのインターリーブ構成を後述するようにして設定する。
このECC制御情報発生部26は、エラー訂正符号のパリティ構造やインターリーブ構造を指示する制御情報を発生する部位である。
ECC制御情報発生部26は、制御情報生成に用いるテーブルを記憶する場所を、例えばROM/RAM12とし、その制御を例えばCPU11によって行うことで、その機能が実現される。
このECC制御情報発生部26からの制御信号によって、記録再生されるフォーマットが決定する。フォーマットとは例えば、トラック単位のセクタ数をまとめてECCブロックとし、そこにはセクタ内のエラー訂正を行うC1パリティやセクタ間のエラー訂正を行うためのC2パリティを持つ形式とされる。
またECCブロックはインターリーブ構造を備えるが、そのインターリーブ構成を後述するようにして設定する。
1周当たりのセクタ数については、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けるZBR(Zone Bit Recording)方式を採用する。すなわち、磁気ディスク21の全周に渡るトラック毎のセクタ数は均一ではなく、磁気ディスク21を半径方向に複数のゾーンに区切り、各ゾーン内においては同じセクタ数となるように設定する。
ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ24の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ24の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
図2は、図1のディスクコントローラ13の内部構成をより詳細に示している。同図に示すように、ディスクコントローラ13は、CPUインターフェース31と、ホストコントローラ32と、バッファコントローラ33と、サーボコントローラ34と、ディスクフォーマッタ35と、ECCコントローラ36とで構成されている。なお、同図において、データの移動が発生する矢印に対しては二重線で示してある。
CPUインターフェース31は、CPU11と、RAM/ROM12とのインターフェースであり、カメラ部50等のホストからのコマンドをCPU11に通知したり、CPU11からのコマンド処理結果の受信などを行ったりする。
ホストコントローラ32は、インターフェース17を介して接続されるホスト(カメラ部50)との通信を行う。
バッファコントローラ33は、バッファRAM14と、ディスクコントローラ13内の各部間でのデータのやりとりを制御する。
サーボコントローラ34は、VCM(ボイスコイルモータ)23及びSPM(スピンドルモータ)24の動作を制御することによって、磁気ディスク21上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部15へ渡す。
ディスクフォーマッタ35は、バッファRAM14上のデータを磁気ディスク21に書き込んだり、あるいは磁気ディスク21からデータを読出したりするための制御を行う。
ECCコントローラ36は、バッファRAM14に格納されているデータより、書込み時にはECC符号を生成して付加したり、あるいは読出し時にはエラー訂正を行ったりする。
このような図2に示すディスクコントローラ13は、CPU11(及びCPU11とROM/RAM12により形成されるECC制御情報発生部26)より、フォーマッタ制御情報およびECC制御情報を受け取る。
即ちディスクコントローラ13は、ECC制御情報発生部26によるパリティ数やインターリーブ構造の制御情報をCPUインターフェース31を通して受け取る。そしてディスクフォーマッタ35へは、ECC制御情報に基づくフォーマッタ制御情報が、またECCコントローラ36へは、ECCエラー訂正処理(エラー訂正符号化処理及びエラー訂正デコード処理)に必要なECCフォーマット及びインターリーブ構造の情報が、それぞれ送られる。
ホストコントローラ32は、インターフェース17を介して接続されるホスト(カメラ部50)との通信を行う。
バッファコントローラ33は、バッファRAM14と、ディスクコントローラ13内の各部間でのデータのやりとりを制御する。
サーボコントローラ34は、VCM(ボイスコイルモータ)23及びSPM(スピンドルモータ)24の動作を制御することによって、磁気ディスク21上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部15へ渡す。
ディスクフォーマッタ35は、バッファRAM14上のデータを磁気ディスク21に書き込んだり、あるいは磁気ディスク21からデータを読出したりするための制御を行う。
ECCコントローラ36は、バッファRAM14に格納されているデータより、書込み時にはECC符号を生成して付加したり、あるいは読出し時にはエラー訂正を行ったりする。
このような図2に示すディスクコントローラ13は、CPU11(及びCPU11とROM/RAM12により形成されるECC制御情報発生部26)より、フォーマッタ制御情報およびECC制御情報を受け取る。
即ちディスクコントローラ13は、ECC制御情報発生部26によるパリティ数やインターリーブ構造の制御情報をCPUインターフェース31を通して受け取る。そしてディスクフォーマッタ35へは、ECC制御情報に基づくフォーマッタ制御情報が、またECCコントローラ36へは、ECCエラー訂正処理(エラー訂正符号化処理及びエラー訂正デコード処理)に必要なECCフォーマット及びインターリーブ構造の情報が、それぞれ送られる。
アクセス方式としては、いわゆるLBA(Logical Block Address)に基づいてアクセスを行う。
LBAによるアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後、LBAで指定されたセクタのアクセスを行うためのフォーマット情報である。この情報は、CPUインターフェース31を介してディスクフォーマッタ35へ送られ、ここでデータフォーマッタが生成される。
また、ECC制御情報におけるECCフォーマットの情報は、第1のエラー訂正符号C1によるECCブロック構成、もしくは第1のエラー訂正符号C1と第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報であり、また例えばゾーン毎に、セクタ数などに応じてECCブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
LBAによるアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後、LBAで指定されたセクタのアクセスを行うためのフォーマット情報である。この情報は、CPUインターフェース31を介してディスクフォーマッタ35へ送られ、ここでデータフォーマッタが生成される。
また、ECC制御情報におけるECCフォーマットの情報は、第1のエラー訂正符号C1によるECCブロック構成、もしくは第1のエラー訂正符号C1と第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報であり、また例えばゾーン毎に、セクタ数などに応じてECCブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
なお、これら制御情報(フォーマッタ制御情報、ECC制御情報)は、図1のCPU11に付随するROM/RAM内に記憶させておくほか、例えば、磁気ディスク21にこれらの情報を記憶させておき、起動時に、磁気ディスク21より読出しを行い、バッファRAM14に格納するようにしてもよく、この場合バッファRAM14から制御情報を各部に送るようにすればよい。
2.エラー周期性を考慮したインターリーブ構成の設定
2−1 セクタのインターリーブ設定
本例のHDD10は、例えばディスク21におけるゾーン毎にインターリーブ構造を設定するが、サーボフレーム数を96,インターリーブの符号フレームの符号長最大値を255として、ゾーン毎に通常にインターリーブ設定した例は、先に図16に示した。
通常のインターリーブ設定とは、まず、符号長最大値を考慮した上で、各符号フレームの符号長ができるだけ大きくなるようにインターリーブ数を設定する。そして各コードは、各符号フレームに順番に割り当てていくように配置するものである。セクタのインターリーブとして、そのような通常のインターリーブ設定を行った例は図14に示したようになる。
ところがエラー発生の周期性により、通常のインターリーブ設定を行うと、図16におけるゾーン#4,#10,#13のように、特定の符号フレームにエラーセクタが集中する場合が発生する。
そこで本例では、インターリーブ周期とエラー発生周期との相関によるエラー集中を避けるようにセクタのインターリーブ設定を行うものである。
特に、図15で説明したように、サーボフレーム周期のような特定周期においてエラーが発生する傾向がある場合、インターリーブ構成にエラー周期性をできるだけ排除する仕組みを取り入れる。
エラー集中を緩和するための手法としては、
・セクタエラー発生分布の周期性に基づいてインターリーブ数を可変設定する
・セクタエラー発生分布の周期性に基づいてセクタ毎の符号フレームの割り当て順序を可変設定する
という2つの手法が考えられる。
2−1 セクタのインターリーブ設定
本例のHDD10は、例えばディスク21におけるゾーン毎にインターリーブ構造を設定するが、サーボフレーム数を96,インターリーブの符号フレームの符号長最大値を255として、ゾーン毎に通常にインターリーブ設定した例は、先に図16に示した。
通常のインターリーブ設定とは、まず、符号長最大値を考慮した上で、各符号フレームの符号長ができるだけ大きくなるようにインターリーブ数を設定する。そして各コードは、各符号フレームに順番に割り当てていくように配置するものである。セクタのインターリーブとして、そのような通常のインターリーブ設定を行った例は図14に示したようになる。
ところがエラー発生の周期性により、通常のインターリーブ設定を行うと、図16におけるゾーン#4,#10,#13のように、特定の符号フレームにエラーセクタが集中する場合が発生する。
そこで本例では、インターリーブ周期とエラー発生周期との相関によるエラー集中を避けるようにセクタのインターリーブ設定を行うものである。
特に、図15で説明したように、サーボフレーム周期のような特定周期においてエラーが発生する傾向がある場合、インターリーブ構成にエラー周期性をできるだけ排除する仕組みを取り入れる。
エラー集中を緩和するための手法としては、
・セクタエラー発生分布の周期性に基づいてインターリーブ数を可変設定する
・セクタエラー発生分布の周期性に基づいてセクタ毎の符号フレームの割り当て順序を可変設定する
という2つの手法が考えられる。
まずインターリーブ数を可変設定する例を図3に示す。
図3(a)において、エラー集中が想定されないゾーン、即ちゾーン#0〜#3、#5〜#9、#11,#12,#14,#15については通常のインターリーブ設定を行っている。つまりこれらのゾーンについては図16と同様の設定である。
一方、ゾーン#4,#10,#13については、通常のインターリーブ設定を行うとエラー集中が発生する可能性があるため、これらのゾーンではインターリーブ数mを可変設定することとする。
そこでゾーン#4については、図示するようにインターリーブ数m=4とし、4つの符号フレームi0,i1,i2,i3でインターリーブを行う。1トラックあたりのセクタ数は576であるので、各符号フレームi0,i1,i2,i3の符号長は、それぞれ144セクタとなる。
するとゾーン#4の各セクタt0、t0+1・・・は図3(b)に示すように、順番に各符号フレームi0,i1,i2,i3に割り当てられていくが、例えば*を付したサーボフレーム周期のセクタは1つの符号フレームに集中しないことになる。
図3(a)において、エラー集中が想定されないゾーン、即ちゾーン#0〜#3、#5〜#9、#11,#12,#14,#15については通常のインターリーブ設定を行っている。つまりこれらのゾーンについては図16と同様の設定である。
一方、ゾーン#4,#10,#13については、通常のインターリーブ設定を行うとエラー集中が発生する可能性があるため、これらのゾーンではインターリーブ数mを可変設定することとする。
そこでゾーン#4については、図示するようにインターリーブ数m=4とし、4つの符号フレームi0,i1,i2,i3でインターリーブを行う。1トラックあたりのセクタ数は576であるので、各符号フレームi0,i1,i2,i3の符号長は、それぞれ144セクタとなる。
するとゾーン#4の各セクタt0、t0+1・・・は図3(b)に示すように、順番に各符号フレームi0,i1,i2,i3に割り当てられていくが、例えば*を付したサーボフレーム周期のセクタは1つの符号フレームに集中しないことになる。
同様に、ゾーン#10については、インターリーブ数m=3とし、3つの符号フレームi0,i1,i2でインターリーブを行う。各符号フレームi0,i1,i2の符号長は、それぞれ160セクタとする。
またゾーン#13については、インターリーブ数m=3とし、3つの符号フレームi0,i1,i2でインターリーブを行う。各符号フレームi0,i1,i2の符号長は、それぞれ128セクタとする。
またゾーン#13については、インターリーブ数m=3とし、3つの符号フレームi0,i1,i2でインターリーブを行う。各符号フレームi0,i1,i2の符号長は、それぞれ128セクタとする。
このようにインターリーブ数mの設定を変えることで、エラー発生頻度の周期性による特定の符号フレームへのエラー集中を避けることができる。
例えば上記ゾーン#4、#10、#13においてインターリーブ数mを1増やすことで、エラー集中の周期を6セクタから12セクタ、10セクタから15セクタ、4セクタから12セクタにそれぞれ大きくし、エラーの集中を緩和できる。
なお、この手法では符号フレームあたりの符号長が小さくなるというデメリットがあるが、エラー集中を避け、本来のECCエラー訂正能力を発揮させる点で有効である。
ところで、この例ではインターリーブ数mを増やすものとしたが、場合によってはインターリーブ数mを減らしてエラー周期性によるエラー集中を避けることができる場合もある。
例えば上記ゾーン#4、#10、#13においてインターリーブ数mを1増やすことで、エラー集中の周期を6セクタから12セクタ、10セクタから15セクタ、4セクタから12セクタにそれぞれ大きくし、エラーの集中を緩和できる。
なお、この手法では符号フレームあたりの符号長が小さくなるというデメリットがあるが、エラー集中を避け、本来のECCエラー訂正能力を発揮させる点で有効である。
ところで、この例ではインターリーブ数mを増やすものとしたが、場合によってはインターリーブ数mを減らしてエラー周期性によるエラー集中を避けることができる場合もある。
次に、インターリーブ数mの設定を通常とし、セクタエラー発生分布の周期性に基づいてセクタ毎の符号フレームの割り当て順序を可変設定する例を説明する。
各セクタについて符号フレームの割当順序を可変設定する方式としては、或る規則によりサーボフレーム単位での符号フレーム番号の割当順序を変えていくことや、割当順序をランダム設定することが考えられる。
各セクタについて符号フレームの割当順序を可変設定する方式としては、或る規則によりサーボフレーム単位での符号フレーム番号の割当順序を変えていくことや、割当順序をランダム設定することが考えられる。
まず図4(a)に、或る規則性をもって割当順序を可変設定する例を示す。上記同様にゾーン#4を例に挙げる。通常のインターリーブ設定では、1トラックあたりのセクタ数が576であるゾーン#4ではインターリーブ数m=3とされるため、この場合、インターリーブ数m=3とする。
そして96個のサーボエリアが存在する場合、各サーボフレームSFには6セクタが含まれることになるが、図4(a)に示すように、最初のサーボフレームSF0では、6個のセクタを、符号フレームi0,i1,i2の順番に割り当てる。
次のサーボフレームSF1では、6個のセクタを、符号フレームi1,i2,i0の順番に割り当てる。
さらに次のサーボフレームSF2では、6個のセクタを、符号フレームi2,i0,i1の順番に割り当てる。
この3つの割当パターンを各サーボフレーム単位で繰り返していく。
そして96個のサーボエリアが存在する場合、各サーボフレームSFには6セクタが含まれることになるが、図4(a)に示すように、最初のサーボフレームSF0では、6個のセクタを、符号フレームi0,i1,i2の順番に割り当てる。
次のサーボフレームSF1では、6個のセクタを、符号フレームi1,i2,i0の順番に割り当てる。
さらに次のサーボフレームSF2では、6個のセクタを、符号フレームi2,i0,i1の順番に割り当てる。
この3つの割当パターンを各サーボフレーム単位で繰り返していく。
各セクタをこのように符号フレームに割り当てる場合、各セクタのLBAから、次の計算で符号フレームiを算出すればよい。
トラック先頭セクタのLBAはt0であるとき、対象とする或るセクタのLBAを用いて、符号フレームiは、
i=((LBA−t0)+└(LBA−t0)/SC┘)mod m
で算出される。なおこの式のiは、その値が0であればi0、iの値が1であればi1・・・という意味である。
また「SC」は1サーボフレームSF内のセクタ数、「mod」は剰余、「└ ┘」は小数点以下切り捨てを意味している。
1サーボフレームSF内のセクタ数SCは、
SC=[1トラック内のセクタ数/サーボフレーム数]
で算出される。この式の[ ]は四捨五入を意味している。ゾーン#4の場合、SC=[576÷96]=6となる。
トラック先頭セクタのLBAはt0であるとき、対象とする或るセクタのLBAを用いて、符号フレームiは、
i=((LBA−t0)+└(LBA−t0)/SC┘)mod m
で算出される。なおこの式のiは、その値が0であればi0、iの値が1であればi1・・・という意味である。
また「SC」は1サーボフレームSF内のセクタ数、「mod」は剰余、「└ ┘」は小数点以下切り捨てを意味している。
1サーボフレームSF内のセクタ数SCは、
SC=[1トラック内のセクタ数/サーボフレーム数]
で算出される。この式の[ ]は四捨五入を意味している。ゾーン#4の場合、SC=[576÷96]=6となる。
このようにして各セクタを符号フレームに割り当てていくことで、サーボフレーム周期のセクタは、3つの符号フレームi0,i1,i2に割り振られていくことになる。従って、エラー発生頻度の周期性(サーボフレーム周期)による特定の符号フレームへのエラー集中を避けることができる。
この例ではサーボフレーム周期のエラーが6セクタ周期から18セクタ周期へと拡大される。このゾーン#4ではトラックあたりのセクタ数が576であるため、特定の符号フレームへのエラー集中の回数が96回から32回へと大幅に少なくなる。
同様の対策を行った結果、ゾーン#10ではエラー集中の周期が10セクタから20セクタ、になり、エラー集中の回数は48回から24回に減る。またゾーン#13ではエラー集中の周期が4セクタから8セクタになることで、エラー集中の回数は96回から48回に減る。
この例ではサーボフレーム周期のエラーが6セクタ周期から18セクタ周期へと拡大される。このゾーン#4ではトラックあたりのセクタ数が576であるため、特定の符号フレームへのエラー集中の回数が96回から32回へと大幅に少なくなる。
同様の対策を行った結果、ゾーン#10ではエラー集中の周期が10セクタから20セクタ、になり、エラー集中の回数は48回から24回に減る。またゾーン#13ではエラー集中の周期が4セクタから8セクタになることで、エラー集中の回数は96回から48回に減る。
なお、上記したインターリーブ数mを可変する場合に比べた場合、この手法によれば符号長が最大となるよう設定した符号フレームあたりのセクタ数に変更がないという利点が得られる。但し、バーストエラーなどの複数セクタに連続するエラーに対して符号フレームごとのコードの分散が不十分になる場合がある。
バーストエラーの発生する割合が低く、バーストエラーに対する符号フレームごとの符号の分散が比較的要求されない場合は、図4(b)に示すようなインターリーブ数mは符号長が最大となるよう設定し、符号フレームごとのコード配置をエラー周期でのセクタごとにランダム的に行う方法が有効である。
バーストエラーの発生する割合が低く、バーストエラーに対する符号フレームごとの符号の分散が比較的要求されない場合は、図4(b)に示すようなインターリーブ数mは符号長が最大となるよう設定し、符号フレームごとのコード配置をエラー周期でのセクタごとにランダム的に行う方法が有効である。
図4(b)は、ゾーン#4について、インターリーブ数mは通常どおり「3」とし、各セクタをランダムに符号フレームに割り当てる例を示している。
この図の例の場合、最初のサーボフレームSF0では、6個のセクタを、符号フレームi2,i0,i1,i1,i2,i0に割り当てる。
次のサーボフレームSF1では、6個のセクタを、符号フレームi1,i2,i2,i0,i1,i0に割り当てる。
さらに次のサーボフレームSF2では、6個のセクタを、符号フレームi0,i2,i1,i2,i1,i0に割り当てている。
以降のサーボフレームでも、ランダムな順序で割り当てていく。
この図の例の場合、最初のサーボフレームSF0では、6個のセクタを、符号フレームi2,i0,i1,i1,i2,i0に割り当てる。
次のサーボフレームSF1では、6個のセクタを、符号フレームi1,i2,i2,i0,i1,i0に割り当てる。
さらに次のサーボフレームSF2では、6個のセクタを、符号フレームi0,i2,i1,i2,i1,i0に割り当てている。
以降のサーボフレームでも、ランダムな順序で割り当てていく。
このようにサーボフレーム単位で各セクタをランダムに符号フレームに割り当てていくことでも、サーボフレーム周期のセクタは、3つの符号フレームi0,i1,i2に割り振られていくことになる。従って、エラー発生頻度の周期性(サーボフレーム周期)による特定の符号フレームへのエラー集中を避けることができる。
なお、ここでは「ランダム」という言葉を用いているが、完全なランダム順序ではなく、最終的に各符号フレームの符号長が、インターリーブ数mとセクタ数から導かれる符号長となるようにする必要はある。例えば図4(b)の例ではサーボフレーム内に6個のセクタが含まれ、インターリーブ数m=3の場合であるが、各サーボフレーム単位で、2セクタづつが符号フレームi0,i1,i2に振り分けられるようにすることで、各符号フレームi0,i1,i2の符号長は設定された144セクタとすることができる。
但し、逆に言えば、結果的に各符号フレームi0,i1,i2の符号長が144セクタとなるのであれば、必ずしもサーボフレーム単位で2セクタづつを各符号フレームに振り分けるという必要はない。
なお、ここでは「ランダム」という言葉を用いているが、完全なランダム順序ではなく、最終的に各符号フレームの符号長が、インターリーブ数mとセクタ数から導かれる符号長となるようにする必要はある。例えば図4(b)の例ではサーボフレーム内に6個のセクタが含まれ、インターリーブ数m=3の場合であるが、各サーボフレーム単位で、2セクタづつが符号フレームi0,i1,i2に振り分けられるようにすることで、各符号フレームi0,i1,i2の符号長は設定された144セクタとすることができる。
但し、逆に言えば、結果的に各符号フレームi0,i1,i2の符号長が144セクタとなるのであれば、必ずしもサーボフレーム単位で2セクタづつを各符号フレームに振り分けるという必要はない。
また、ランダムに振り分ける場合、デインターリーブ時の処理も考慮しなければならない。つまり、インターリーブ時に割当順序がデインターリーブ時にわかっていなければ、セクタ順序を正しく戻すことができないためである。
このため、各セクタについてランダムに0,1,2の数値を発生させ、符号フレームi0,i1,i2の数値に振り分けた場合、そのランダムな順序の符号フレーム番号を記憶しておく必要がある。例えばROM/RAM12、或いは磁気ディスク21内の所定領域に、このランダム数列を記憶させ、デインターリーブ時に参照できるようにする必要がある。
また、その意味で言えば、ランダムパターンとして固定的なパターンを予め設定しておくこととしてもよい。インターリーブ数mとサーボフレーム内のセクタ数の関係としての各組み合わせの上で、例えば数サーボフレーム単位、或いはトラック単位などでランダム数列を設定しておき、例えばROM/RAM12、或いは磁気ディスク21内の所定領域に記憶させておく。そしてインターリーブ時には、組み合わせが該当するランダムパターンを用いて、各セクタを各符号フレームに振り分けていくという方式が考えられる。その場合、デインターリーブ時も、組み合わせが該当するランダムパターンを参照することで正しくデインターリーブできることになる。
このため、各セクタについてランダムに0,1,2の数値を発生させ、符号フレームi0,i1,i2の数値に振り分けた場合、そのランダムな順序の符号フレーム番号を記憶しておく必要がある。例えばROM/RAM12、或いは磁気ディスク21内の所定領域に、このランダム数列を記憶させ、デインターリーブ時に参照できるようにする必要がある。
また、その意味で言えば、ランダムパターンとして固定的なパターンを予め設定しておくこととしてもよい。インターリーブ数mとサーボフレーム内のセクタ数の関係としての各組み合わせの上で、例えば数サーボフレーム単位、或いはトラック単位などでランダム数列を設定しておき、例えばROM/RAM12、或いは磁気ディスク21内の所定領域に記憶させておく。そしてインターリーブ時には、組み合わせが該当するランダムパターンを用いて、各セクタを各符号フレームに振り分けていくという方式が考えられる。その場合、デインターリーブ時も、組み合わせが該当するランダムパターンを参照することで正しくデインターリーブできることになる。
なお、エラー集中を緩和するための手法として、セクタエラー発生分布の周期性に基づいてインターリーブ数を可変設定することと、セクタ毎の符号フレームの割り当て順序を可変設定することをそれぞれ述べたが、この2つを組み合わせても良い。
つまりインターリーブ数mを通常とは異なる設定としたうえで、セクタ毎の符号フレームの割り当て順序を可変設定することも考えられる。
つまりインターリーブ数mを通常とは異なる設定としたうえで、セクタ毎の符号フレームの割り当て順序を可変設定することも考えられる。
2−2 セクタ内のバイトデータのインターリーブ設定
次に、セクタ内のバイトデータのインターリーブ設定について説明する。
図17(a)で述べたように、セクタ内の論理バイト位置についてのエラー頻度に偏りがみられる場合、図17(b)に示す1セクタを単位としたエラー訂正では図の縦列に沿ったバイトデータに対してエラー訂正が行われることから、エラー集中が発生することがある。
そこで本例では、以下のいずれかの方法によりセクタ内の論理バイト位置に対してエラーの分散を図る。
・セクタごとにバイトデータの並びを変更する
・セクタ内にてのECCコードを複数ブロックに分割しエラーが分散するよう配置する
次に、セクタ内のバイトデータのインターリーブ設定について説明する。
図17(a)で述べたように、セクタ内の論理バイト位置についてのエラー頻度に偏りがみられる場合、図17(b)に示す1セクタを単位としたエラー訂正では図の縦列に沿ったバイトデータに対してエラー訂正が行われることから、エラー集中が発生することがある。
そこで本例では、以下のいずれかの方法によりセクタ内の論理バイト位置に対してエラーの分散を図る。
・セクタごとにバイトデータの並びを変更する
・セクタ内にてのECCコードを複数ブロックに分割しエラーが分散するよう配置する
まず、セクタごとにバイトデータの並びを変更する例を図5に示す。
例えば図17(a)に示したエラー頻度では、セクタ内バイト位置の先頭から数10セクタの範囲を除くと、セクタ先頭から末尾に従いエラー頻度が減少する傾向にある。
ここで図17(b)のECC構成のように各セクタにおいてバイト位置を通常に0〜511まで並べ、セクタ内バイト位置に沿ってバイト単位でエラー訂正が行われるようにすると、セクタ内エラー分布の偏りに伴い特定のバイト位置にエラーが集中してしまう。
そこで図5に示すように、バイト並びの逆順を組み合わせたECC構成を用いるようにする。即ち、バイト位置順が0〜511のセクタと、バイト位置順が511〜0のセクタを交互に配置するようなECC構成とする。
このようにすることで、符号長nに対するエラーの割合を平均化することができ、エラー発生頻度分布に基づくエラー集中を避けることができる。
例えば図17(a)に示したエラー頻度では、セクタ内バイト位置の先頭から数10セクタの範囲を除くと、セクタ先頭から末尾に従いエラー頻度が減少する傾向にある。
ここで図17(b)のECC構成のように各セクタにおいてバイト位置を通常に0〜511まで並べ、セクタ内バイト位置に沿ってバイト単位でエラー訂正が行われるようにすると、セクタ内エラー分布の偏りに伴い特定のバイト位置にエラーが集中してしまう。
そこで図5に示すように、バイト並びの逆順を組み合わせたECC構成を用いるようにする。即ち、バイト位置順が0〜511のセクタと、バイト位置順が511〜0のセクタを交互に配置するようなECC構成とする。
このようにすることで、符号長nに対するエラーの割合を平均化することができ、エラー発生頻度分布に基づくエラー集中を避けることができる。
次にセクタ内のECCコードを複数ブロックに分割しエラーが分散するよう配置する例を図6,図7で説明する。
これは、エラーの頻度を考慮してセクタ内データを複数のブロックに分割し、そのブロックを再配置するインターリーブ構成である。
図6(a)に示すように、セクタ内のエラー頻度が先頭から23%分のバイト位置にエラーが多く、末尾から30%のバイト位置に少ないことを考慮し、セクタ内をブロックa〜dの4等分割し、エラーの多い場所と少ない場所を組み合わせるようなインターリーブ配置を行う。
1セクタ=512バイトとすると、ブロックaはバイト0〜127、ブロックbはバイト128〜255、ブロックcはバイト256〜383、ブロックdはバイト384〜511とする。
これは、エラーの頻度を考慮してセクタ内データを複数のブロックに分割し、そのブロックを再配置するインターリーブ構成である。
図6(a)に示すように、セクタ内のエラー頻度が先頭から23%分のバイト位置にエラーが多く、末尾から30%のバイト位置に少ないことを考慮し、セクタ内をブロックa〜dの4等分割し、エラーの多い場所と少ない場所を組み合わせるようなインターリーブ配置を行う。
1セクタ=512バイトとすると、ブロックaはバイト0〜127、ブロックbはバイト128〜255、ブロックcはバイト256〜383、ブロックdはバイト384〜511とする。
例えば図6(b)は、各セクタSC(SC#1、SC#2・・・)を、それぞれ4つのブロックa,b,c,dに分割した状態を示している。例えばセクタSC#1はブロック#1a〜#1dに分割し、セクタSC#2はブロック#2a〜#2dに分割する。
そして図6(c)に示すように、ブロックa,b,c,dの順番に並べるセクタとブロックb,c,b,aの順番に並べるセクタとを交互に配置する。即ちセクタSC#1はブロック#1a、#1b、#1c、#1dと配置し、セクタSC#2はブロック#2d、#2c、#2b、#2aと配置し、セクタSC#3はブロック#3a、#3b、#3c、#3dと配置し・・・というようにする。
図7は、この図6(c)の配置によるECC構成をバイト単位で示したものである。
するとこの図7からわかるように、バイト0〜127、128〜255、256〜383、384〜511の順番に配置されるセクタと、バイト384〜511、256〜383、128〜255、0〜127の順番に配置されるセクタが交互に縦方向に並ぶECC構造となる。
このようなECC構造とすることで、セクタ内のエラーの多い区間とエラーの少ない区間を組み合わせることになり、エラー集中を回避し、符号長のエラーに対する割合を減らすことができる。
そして図6(c)に示すように、ブロックa,b,c,dの順番に並べるセクタとブロックb,c,b,aの順番に並べるセクタとを交互に配置する。即ちセクタSC#1はブロック#1a、#1b、#1c、#1dと配置し、セクタSC#2はブロック#2d、#2c、#2b、#2aと配置し、セクタSC#3はブロック#3a、#3b、#3c、#3dと配置し・・・というようにする。
図7は、この図6(c)の配置によるECC構成をバイト単位で示したものである。
するとこの図7からわかるように、バイト0〜127、128〜255、256〜383、384〜511の順番に配置されるセクタと、バイト384〜511、256〜383、128〜255、0〜127の順番に配置されるセクタが交互に縦方向に並ぶECC構造となる。
このようなECC構造とすることで、セクタ内のエラーの多い区間とエラーの少ない区間を組み合わせることになり、エラー集中を回避し、符号長のエラーに対する割合を減らすことができる。
3.インターリーブ構成の設定処理例
3−1 セクタのインターリーブ設定処理
本例では、以上のようにセクタのインターリーブ設定、或いはセクタ内バイト配置のインターリーブ設定を行うが、これらを実現するCPU11(ECC制御情報発生部26)の処理を説明する。
3−1 セクタのインターリーブ設定処理
本例では、以上のようにセクタのインターリーブ設定、或いはセクタ内バイト配置のインターリーブ設定を行うが、これらを実現するCPU11(ECC制御情報発生部26)の処理を説明する。
まず図8で、セクタのインターリーブ設定として、上記図3又は図4のようなインターリーブ設定を行う符号語配置設定処理を説明する。
ステップF101では変数xを0とし、ステップF102以降でゾーン#x、つまり最初にゾーン#0についての処理を行う。
まずステップF102でゾーン#0においてデータ記録再生を行い、各トラック毎にセクタエラー位置を測定していく。測定は、ゾーン#(x)内の全トラックについて行っても良いし、ゾーン内の一部区間の所定トラック数を測定対象としてもよい。
ステップF103では、セクタエラー測定結果から得られるエラー周期性と、そのゾーンについての通常のインターリーブ設定でのインターリーブ数mの関係から、特定の符号フレームにエラー集中が発生する可能性があるか否かを判断する。
具体的には、例えば、インターリーブのコード配置周期(インターリーブ数m)と、ステップF102で計測されたセクタエラーのトラック内相対位置における周期(例えばサーボフレーム周期)の最小公倍数となる周期が、データ長(セクタ数)よりも小さい場合、特定の符号フレームへのエラー集中が生じる可能性があると判断する。
ステップF101では変数xを0とし、ステップF102以降でゾーン#x、つまり最初にゾーン#0についての処理を行う。
まずステップF102でゾーン#0においてデータ記録再生を行い、各トラック毎にセクタエラー位置を測定していく。測定は、ゾーン#(x)内の全トラックについて行っても良いし、ゾーン内の一部区間の所定トラック数を測定対象としてもよい。
ステップF103では、セクタエラー測定結果から得られるエラー周期性と、そのゾーンについての通常のインターリーブ設定でのインターリーブ数mの関係から、特定の符号フレームにエラー集中が発生する可能性があるか否かを判断する。
具体的には、例えば、インターリーブのコード配置周期(インターリーブ数m)と、ステップF102で計測されたセクタエラーのトラック内相対位置における周期(例えばサーボフレーム周期)の最小公倍数となる周期が、データ長(セクタ数)よりも小さい場合、特定の符号フレームへのエラー集中が生じる可能性があると判断する。
エラー集中が発生する可能性がないとされる場合は、ステップF104に進んで、当該ゾーンについて通常のインターリーブ設定を行う。即ち上述したように、符号長最大値を考慮した上で、各符号フレームの符号長ができるだけ大きくなるようにインターリーブ数を設定し、そして各符号語(この場合セクタ)を、各符号フレームに順番に割り当てていくように配置する。
一方、ステップF103でエラー集中が発生する可能性があると判断した場合は、ステップF105に進み、当該ゾーンについてはエラー周期性を考慮した符号語は位置設定を行う。
即ち、図3の例を採用するなら、インターリーブ数mを通常の設定とは異なる値とする。また図4で説明した例を採用するなら、セクタ毎の符号フレームの割り当て順序を可変設定する。
即ち、図3の例を採用するなら、インターリーブ数mを通常の設定とは異なる値とする。また図4で説明した例を採用するなら、セクタ毎の符号フレームの割り当て順序を可変設定する。
ステップF106では、変数xの値を確認し、x=最終ゾーンナンバでなければ、ステップF107で変数xをインクリメントしてステップF102に戻る。そして次のゾーンについて同様の処理を行う。
つまり、各ゾーンについてステップF102、F103の処理が行われ、ステップF104もしくF105でインターリーブ設定が行われていく。そしてステップF106で変数xの値から最終ゾーンまでの処理が完了したことを確認し、符号語配置設定処理を終える。
つまり、各ゾーンについてステップF102、F103の処理が行われ、ステップF104もしくF105でインターリーブ設定が行われていく。そしてステップF106で変数xの値から最終ゾーンまでの処理が完了したことを確認し、符号語配置設定処理を終える。
例えば、ステップF105においてはインターリーブ数mを可変する処理を行うとすると、図3(a)に示したインターリーブ設定が行われることになる。即ちゾーン#4,#10,#13についてはステップF105で通常とは異なるインターリーブ数mが設定され、他のゾーンではステップF104で通常のインターリーブ数mの設定が行われる。
この図8の処理は、HDD10における工場出荷前の初期設定などにおいて行われ、この処理によるインターリーブ設定情報がROM/RAM12の不揮発性領域或いは磁気ディスク21内の特定の領域などに記憶されればよい。
また、出荷後におけるユーザーサイドでの初期設定時、フォーマット時などに行われるようにしてもよい。
なお、ステップF102の測定は、実際にエラーセクタを検出することはせずに、サーボフレーム数からエラー発生周期を推定するようにしてもよい。
また、出荷後におけるユーザーサイドでの初期設定時、フォーマット時などに行われるようにしてもよい。
なお、ステップF102の測定は、実際にエラーセクタを検出することはせずに、サーボフレーム数からエラー発生周期を推定するようにしてもよい。
このようになされたインターリーブ設定は、記録再生時のECC処理に用いられることになる。
図9により、記録再生時のECC処理の流れについて説明する。
図9は、データ書込又は読出時においてCPU11、ディスクコントローラ13を中心とした図1の各部の動作によって実現される処理を示している。
先ずステップF201で書き込み先の目標トラックが設定されると、ステップF202では、そのトラックが含まれるゾーンを判別する。
次にステップF203では、上述した図8の処理で設定され、ROM/RAM12に記憶されているインターリーブ設定情報を参照し、ステップF204で当該ゾーンにおけるインターリーブ設定(符号語配置設定)を読み出す。
そしてステップF205でCPU11(ECC制御情報発生部26)は、読み出したインターリーブ設定や、パリティ設定を含むECC制御情報をディスクコントローラ13に送り、記録再生しようとするトラックのデータに対してECCコントローラ36が処理するECCフォーマットを決定させる。そして書込、又は読出処理に進む。
書込時であれば、ECCコントローラ36は、指示されたパリティセクタ数やインターリーブ設定に従ってECCブロックを生成することになる。そして書込処理に進む。
読出時であれば、ECCコントローラ36は、指示されたパリティセクタ数やインターリーブ設定に従ったECCブロックフォーマットを確定する。そしてその後、該当トラックから読み出されてきたをデータに対して、当該ECCブロックフォーマットにおいてエラー訂正処理やデインターリーブを行うことになる。
図9により、記録再生時のECC処理の流れについて説明する。
図9は、データ書込又は読出時においてCPU11、ディスクコントローラ13を中心とした図1の各部の動作によって実現される処理を示している。
先ずステップF201で書き込み先の目標トラックが設定されると、ステップF202では、そのトラックが含まれるゾーンを判別する。
次にステップF203では、上述した図8の処理で設定され、ROM/RAM12に記憶されているインターリーブ設定情報を参照し、ステップF204で当該ゾーンにおけるインターリーブ設定(符号語配置設定)を読み出す。
そしてステップF205でCPU11(ECC制御情報発生部26)は、読み出したインターリーブ設定や、パリティ設定を含むECC制御情報をディスクコントローラ13に送り、記録再生しようとするトラックのデータに対してECCコントローラ36が処理するECCフォーマットを決定させる。そして書込、又は読出処理に進む。
書込時であれば、ECCコントローラ36は、指示されたパリティセクタ数やインターリーブ設定に従ってECCブロックを生成することになる。そして書込処理に進む。
読出時であれば、ECCコントローラ36は、指示されたパリティセクタ数やインターリーブ設定に従ったECCブロックフォーマットを確定する。そしてその後、該当トラックから読み出されてきたをデータに対して、当該ECCブロックフォーマットにおいてエラー訂正処理やデインターリーブを行うことになる。
3−2 セクタ内のバイトデータのインターリーブ設定処理
次にセクタ内のバイトデータのインターリーブ設定処理について図10で説明する。
この図10の処理も、上記図8と同様に工場集荷前その他のフォーマット時、初期設定時などにおいて行われればよい。
CPU11はまずステップF301として、測定対象の複数セクタ範囲を設定し、その複数セクタについてバイトエラーの測定を行う。
つまり測定対象とする複数セクタにおいてデータ記録再生を行い、各セクタ毎にバイトエラー位置を測定していく。
ステップF302では、上記測定結果から、セクタ内のバイトエラー分布に周期性があるか否かを判断する。即ち特定バイト位置、バイト位置範囲などにおいてエラー発生が多く検出されたか否かを判断する。
次にセクタ内のバイトデータのインターリーブ設定処理について図10で説明する。
この図10の処理も、上記図8と同様に工場集荷前その他のフォーマット時、初期設定時などにおいて行われればよい。
CPU11はまずステップF301として、測定対象の複数セクタ範囲を設定し、その複数セクタについてバイトエラーの測定を行う。
つまり測定対象とする複数セクタにおいてデータ記録再生を行い、各セクタ毎にバイトエラー位置を測定していく。
ステップF302では、上記測定結果から、セクタ内のバイトエラー分布に周期性があるか否かを判断する。即ち特定バイト位置、バイト位置範囲などにおいてエラー発生が多く検出されたか否かを判断する。
もしセクタ内のバイトエラー分布に周期性が無ければ、ステップF303で通常のセクタ内符号語配置設定を行う。即ち図17(b)のような符号語配置設定とする。
一方、セクタ内のバイトエラー分布に周期性があれば、それによってエラー集中が発生することを避けるため、ステップF304で、エラー周期性を考慮したセクタ内符号語配置設定を行う。即ち図5又は図7のような符号語配置設定とする。
このようにセクタ内バイトデータの符号語配置設定を行うことで、エラー周期性によるエラー集中を避けることができる。もちろん記録再生時においては、この図10によるバイト配置設定をECC制御情報に含めてECCコントローラ36に受け渡すことで、セクタ内のバイトデータ配置においてエラー訂正方向にエラー集中しないようにすることができるものである。
一方、セクタ内のバイトエラー分布に周期性があれば、それによってエラー集中が発生することを避けるため、ステップF304で、エラー周期性を考慮したセクタ内符号語配置設定を行う。即ち図5又は図7のような符号語配置設定とする。
このようにセクタ内バイトデータの符号語配置設定を行うことで、エラー周期性によるエラー集中を避けることができる。もちろん記録再生時においては、この図10によるバイト配置設定をECC制御情報に含めてECCコントローラ36に受け渡すことで、セクタ内のバイトデータ配置においてエラー訂正方向にエラー集中しないようにすることができるものである。
なお、この図10の設定はセクタ内のバイトデータの配置設定であるため、上記図8によるセクタインターリーブ設定とともに実行することができる。
つまり、HDD10における実装レベルでの処理例としては、図8のセクタインターリーブ設定のみを行う例、図10のセクタ内バイトデータのインターリーブ設定を行う例、及びセクタインターリーブ設定とセクタ内バイトデータのインターリーブ設定の両方を行う例が考えられる。
つまり、HDD10における実装レベルでの処理例としては、図8のセクタインターリーブ設定のみを行う例、図10のセクタ内バイトデータのインターリーブ設定を行う例、及びセクタインターリーブ設定とセクタ内バイトデータのインターリーブ設定の両方を行う例が考えられる。
以上のようにして本例のHDD10は、エラー周期性を考慮したECC設定が可能となり、ECC単位(符号フレーム)におけるエラー数を平均化し最大値を押し下げることができる。これにより本来のエラー訂正能力を発揮できる。またそれによりエラーに対するマージンを大きくとれることになる。するとECCパリティ数を少なくすることも可能となり、データ領域を大きくとることもできる。すなわちデータ容量増大や転送レート向上、データ密度が上昇などにも繋げることができる。
4.変形例
以下では、各種変形例や応用例を説明する。
上記実施の形態では、HDD10内の制御部(CPU11やディスクコントローラ13)により、本発明の記録再生制御装置、記録再生制御方法が実現される例とした。この別例として、HDDとは別体の機器として図11に示すHDD制御装置60を設け、このHDD制御装置60が本発明の記録再生制御装置とされる例も考えられる。
図11のシステムの場合、例えばホスト機器とされるカメラ部50と、HDD10Aの間に、HDD制御装置60が接続される構成を採る。この場合HDD10Aは、従前の通常のHDDとされ、上述したインターリーブ設定機能を備えないものとする。
以下では、各種変形例や応用例を説明する。
上記実施の形態では、HDD10内の制御部(CPU11やディスクコントローラ13)により、本発明の記録再生制御装置、記録再生制御方法が実現される例とした。この別例として、HDDとは別体の機器として図11に示すHDD制御装置60を設け、このHDD制御装置60が本発明の記録再生制御装置とされる例も考えられる。
図11のシステムの場合、例えばホスト機器とされるカメラ部50と、HDD10Aの間に、HDD制御装置60が接続される構成を採る。この場合HDD10Aは、従前の通常のHDDとされ、上述したインターリーブ設定機能を備えないものとする。
HDD制御装置60は、CPU61,ATAインターフェース63、外部インターフェース64、メモリコントローラ66、バッファRAM67を備え、これらの間のデータ/コマンド/制御情報の転送がCPUバス62、データバス65で行われる構成とされている。
外部インターフェース64はカメラ部50との間で、コマンドや記録再生データの受け渡しを行う。ATAインターフェース63は、HDD10Aとの間でコマンドや記録再生データの受け渡しを行う。
HDD10Aでの記録のためにカメラ部50から外部インターフェース64に転送されてくるデータは、メモリコントローラ66の制御によりバッファRAM67に一旦蓄積され、所定タイミングで読み出されてATAインターフェース63からHDD10Aに供給される。
またHDD10Aで再生されATAインターフェース63に転送されてくるデータは、メモリコントローラ66の制御によりバッファRAM67に一旦蓄積され、所定タイミングで読み出されて外部インターフェース64からカメラ部50に供給される。
外部インターフェース64はカメラ部50との間で、コマンドや記録再生データの受け渡しを行う。ATAインターフェース63は、HDD10Aとの間でコマンドや記録再生データの受け渡しを行う。
HDD10Aでの記録のためにカメラ部50から外部インターフェース64に転送されてくるデータは、メモリコントローラ66の制御によりバッファRAM67に一旦蓄積され、所定タイミングで読み出されてATAインターフェース63からHDD10Aに供給される。
またHDD10Aで再生されATAインターフェース63に転送されてくるデータは、メモリコントローラ66の制御によりバッファRAM67に一旦蓄積され、所定タイミングで読み出されて外部インターフェース64からカメラ部50に供給される。
この場合、システム接続された際に、CPU61がHDD10Aを制御しながら上述した図8や図10の符号語配置設定処理を行う。
即ち、CPU61はHDD10Aに対してコマンドを発し、セクタエラーやセクタ内バイトエラーの測定のための記録再生動作を実行させ、その測定結果に基づいて符号語配置設定を行う。
その後、カメラ部50から記録要求が発せられた場合は、カメラ部50から転送されてくるAVストリームデータをバッファRAM67に蓄積させながら、所定のアクセス単位サイズ毎にバッファRAM67から読み出し、HDD10Aに転送させていく。各アクセス単位サイズのデータをHDD10Aに転送する際には、その書込先のLBAを指定して書込指示を行うと共に、その書込先のゾーンに応じたインターリーブ設定や、セクタ内のバイト配置としてのインターリーブ設定をHDD10Aに受け渡す。HDD10Aは、受け渡されたインターリーブ設定に基づくECC処理を行う。
またカメラ部50からデータの再生指示を受けた場合は、HDD10Aに読出を開始するLBAを指示し、再生を実行させる。このときも、その読出位置に対応するインターリーブ設定を通知し、適切なデインターリーブが行われるようにする。
即ち、CPU61はHDD10Aに対してコマンドを発し、セクタエラーやセクタ内バイトエラーの測定のための記録再生動作を実行させ、その測定結果に基づいて符号語配置設定を行う。
その後、カメラ部50から記録要求が発せられた場合は、カメラ部50から転送されてくるAVストリームデータをバッファRAM67に蓄積させながら、所定のアクセス単位サイズ毎にバッファRAM67から読み出し、HDD10Aに転送させていく。各アクセス単位サイズのデータをHDD10Aに転送する際には、その書込先のLBAを指定して書込指示を行うと共に、その書込先のゾーンに応じたインターリーブ設定や、セクタ内のバイト配置としてのインターリーブ設定をHDD10Aに受け渡す。HDD10Aは、受け渡されたインターリーブ設定に基づくECC処理を行う。
またカメラ部50からデータの再生指示を受けた場合は、HDD10Aに読出を開始するLBAを指示し、再生を実行させる。このときも、その読出位置に対応するインターリーブ設定を通知し、適切なデインターリーブが行われるようにする。
このような処理を行うHDD制御装置60によっても、上記実施の形態で説明したものと同様の効果を得ることができる。
また、このようにHDDとは別体のHDD制御装置60を設けることによっては、従前のHDDにおいてエラー訂正能力の向上を図ることができるものとなり、従前のHDDの記録再生性能を向上させることができる。
また、このようにHDD制御装置60を設ける場合、HDD制御装置60内でインターリーブ設定に従ったインターリーブ/デインターリーブが行われるようにしてもよい。
即ち、記録時にはHDD制御装置60内で、インターリーブしたデータをHDD10Aに受け渡す。また再生時には、HDD10Aから転送されてきたデータをHDD制御装置60でデインターリーブしてカメラ部50に転送するという処理も考えられる。
さらには、HDD制御装置60としての機能を、カメラ部50などのホスト機器に内蔵してもよい。
また、このようにHDDとは別体のHDD制御装置60を設けることによっては、従前のHDDにおいてエラー訂正能力の向上を図ることができるものとなり、従前のHDDの記録再生性能を向上させることができる。
また、このようにHDD制御装置60を設ける場合、HDD制御装置60内でインターリーブ設定に従ったインターリーブ/デインターリーブが行われるようにしてもよい。
即ち、記録時にはHDD制御装置60内で、インターリーブしたデータをHDD10Aに受け渡す。また再生時には、HDD10Aから転送されてきたデータをHDD制御装置60でデインターリーブしてカメラ部50に転送するという処理も考えられる。
さらには、HDD制御装置60としての機能を、カメラ部50などのホスト機器に内蔵してもよい。
また本発明は、HDDに限らず、他の種のディスク記録再生装置においても本発明は適用可能である。例えばトラックが同心円状とされるものの他、スパイラル状とされるディスクについてのシステムでも適用できる。もちろん磁気ディスクに限らず、光ディスク、光磁気ディスクについてのシステムでも適用できる。
また、一般にHDDではディスク21は装置内に固定的に内蔵されるが、ディスク21を着脱可能とするHDDも考えられる。そのような装置でも本発明は適用可能である。
また、一般にHDDではディスク21は装置内に固定的に内蔵されるが、ディスク21を着脱可能とするHDDも考えられる。そのような装置でも本発明は適用可能である。
また本発明においてCPU11等にインターリーブ設定を実行させるプログラムは、例えばROM/RAM12に予め記憶しておくことができる。或いは磁気ディスク21に記憶しておき、ROM/RAM12にロードされる形態も考えられる。
10 HDD(ハードディスク装置)、11,61 CPU、12 ROM/RAM、13 ディスクコントローラ、14,67 バッファRAM、15 データ読み書き制御部、16 サーボ制御部、21 磁気ディスク 22,22a,22b 磁気ヘッド、26 ECC制御情報発生部、31 CPUインターフェース、35 ディスクフォーマッタ、36 ECCコントローラ
Claims (16)
- 記録媒体におけるデータ記録領域内において、エラー発生分布の周期性を判別する判別ステップと、
上記判別ステップで把握されたエラー発生分布の周期性に基づいて、上記記録媒体に対して記録再生するデータのインターリーブ構成を設定する設定ステップと、
上記記録媒体に対するデータの記録再生の際に、上記設定ステップで設定されたインターリーブ構成を用いたエラー訂正処理を実行するように制御する記録再生制御ステップと、
を備えたことを特徴とする記録再生制御方法。 - 上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、半径方向に複数のゾーンが設定されるディスク記録媒体であり、
上記判別ステップでは、上記各ゾーン毎にエラー発生分布の周期性を判別し、
上記設定ステップでは、上記各ゾーン毎に判別されたエラー発生分布の周期性に基づいて、上記各ゾーン毎にインターリーブ構成を設定することを特徴とする請求項1に記載の記録再生制御方法。 - 上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体であり、
上記判別ステップでは、トラック内でのセクタエラーの発生分布の周期性を判別し、
上記設定ステップでは、セクタエラー発生分布の周期性に基づいて、セクタのインターリーブ構成を設定することを特徴とする請求項1に記載の記録再生制御方法。 - 上記設定ステップでは、セクタエラー発生分布の周期性に基づいて、インターリーブ数を可変設定することを特徴とする請求項3に記載の記録再生制御方法。
- 上記設定ステップでは、セクタエラー発生分布の周期性に基づいて、セクタ毎のインターリーブ符号フレームの割り当て順序を可変設定することを特徴とする請求項3に記載の記録再生制御方法。
- 上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体であり、
上記判別ステップでは、セクタ内でのバイトエラーの発生分布の周期性を判別し、
上記設定ステップでは、バイトエラー発生分布の周期性に基づいて、セクタ内のインターリーブ構成を設定することを特徴とする請求項1に記載の記録再生制御方法。 - 上記設定ステップでは、バイトエラー発生分布の周期性に基づいて、セクタ毎のバイトデータ配置順序を可変設定することを特徴とする請求項6に記載の記録再生制御方法。
- 上記設定ステップでは、セクタ内バイトデータを複数のブロックに分割し、バイトエラー発生分布の周期性に基づいて、セクタ毎に、上記ブロックの配置順序を可変設定することを特徴とする請求項6に記載の記録再生制御方法。
- 記録媒体におけるデータ記録領域内において、エラー発生分布の周期性を判別する判別手段と、
上記判別手段で把握されたエラー発生分布の周期性に基づいて、上記記録媒体に対して記録再生するデータのインターリーブ構成を設定する設定手段と、
上記記録媒体に対するデータの記録再生の際に、上記設定手段で設定されたインターリーブ構成を用いたエラー訂正処理を実行するように制御する記録再生制御手段と、
を備えたことを特徴とする記録再生制御装置。 - 上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、半径方向に複数のゾーンが設定されるディスク記録媒体であり、
上記判別手段は、上記各ゾーン毎にエラー発生分布の周期性を判別し、
上記設定手段は、上記各ゾーン毎に判別されたエラー発生分布の周期性に基づいて、上記各ゾーン毎にインターリーブ構成を設定することを特徴とする請求項9に記載の記録再生制御装置。 - 上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体であり、
上記判別手段は、トラック内でのセクタエラーの発生分布の周期性を判別し、
上記設定手段は、セクタエラー発生分布の周期性に基づいて、セクタのインターリーブ構成を設定することを特徴とする請求項9に記載の記録再生制御装置。 - 上記設定手段は、セクタエラー発生分布の周期性に基づいて、インターリーブ数を可変設定することを特徴とする請求項11に記載の記録再生制御装置。
- 上記設定手段は、セクタエラー発生分布の周期性に基づいて、セクタ毎のインターリーブ符号フレームの割り当て順序を可変設定することを特徴とする請求項11に記載の記録再生制御装置。
- 上記記録媒体は、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体であり、
上記判別手段は、セクタ内でのバイトエラーの発生分布の周期性を判別し、
上記設定手段は、バイトエラー発生分布の周期性に基づいて、セクタ内のインターリーブ構成を設定することを特徴とする請求項9に記載の記録再生制御装置。 - 上記設定手段は、バイトエラー発生分布の周期性に基づいて、セクタ毎のバイトデータ配置順序を可変設定することを特徴とする請求項14に記載の記録再生制御装置。
- 上記設定手段は、セクタ内バイトデータを複数のブロックに分割し、バイトエラー発生分布の周期性に基づいて、セクタ毎に、上記ブロックの配置順序を可変設定することを特徴とする請求項14に記載の記録再生制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004209647A JP2006031825A (ja) | 2004-07-16 | 2004-07-16 | 記録再生制御方法、記録再生制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004209647A JP2006031825A (ja) | 2004-07-16 | 2004-07-16 | 記録再生制御方法、記録再生制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006031825A true JP2006031825A (ja) | 2006-02-02 |
Family
ID=35897985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004209647A Pending JP2006031825A (ja) | 2004-07-16 | 2004-07-16 | 記録再生制御方法、記録再生制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006031825A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020174426A1 (en) * | 2019-02-26 | 2020-09-03 | Marvell Asia Pte, Ltd. | Codeword interleaving for magnetic storage media |
US10971187B2 (en) | 2019-03-11 | 2021-04-06 | Marvell Asia Pte, Ltd. | Constant-density writing for magnetic storage media |
US10984822B2 (en) | 2018-08-21 | 2021-04-20 | Marvell Asia Pte, Ltd. | Pulse-based writing for magnetic storage media |
US11450348B2 (en) | 2019-01-31 | 2022-09-20 | Marvell Asia Pte, Ltd. | Health management for magnetic storage media |
US12198724B1 (en) | 2022-07-25 | 2025-01-14 | Marvell Asia Pte, Ltd. | Codeword interleaving over magnetic media surfaces |
US12197738B2 (en) | 2019-01-31 | 2025-01-14 | Marvell Asia Pte, Ltd. | Health management for magnetic storage media |
-
2004
- 2004-07-16 JP JP2004209647A patent/JP2006031825A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10984822B2 (en) | 2018-08-21 | 2021-04-20 | Marvell Asia Pte, Ltd. | Pulse-based writing for magnetic storage media |
US11270723B2 (en) | 2018-08-21 | 2022-03-08 | Marvell Asia Pte, Ltd. | Pulse-based writing for magnetic storage media |
US11557316B2 (en) | 2018-08-21 | 2023-01-17 | Marvell Asia Pte Ltd. | Pulse-based writing for magnetic storage media |
US11450348B2 (en) | 2019-01-31 | 2022-09-20 | Marvell Asia Pte, Ltd. | Health management for magnetic storage media |
TWI845597B (zh) * | 2019-01-31 | 2024-06-21 | 新加坡商馬維爾亞洲私人有限公司 | 用於磁存儲介質的健康管理 |
US12197738B2 (en) | 2019-01-31 | 2025-01-14 | Marvell Asia Pte, Ltd. | Health management for magnetic storage media |
WO2020174426A1 (en) * | 2019-02-26 | 2020-09-03 | Marvell Asia Pte, Ltd. | Codeword interleaving for magnetic storage media |
US11061582B2 (en) | 2019-02-26 | 2021-07-13 | Marvell Asia Pte, Ltd. | Codeword interleaving for magnetic storage media |
CN113474838A (zh) * | 2019-02-26 | 2021-10-01 | 马维尔亚洲私人有限公司 | 用于磁存储介质的码字交织 |
CN113474838B (zh) * | 2019-02-26 | 2023-04-21 | 马维尔亚洲私人有限公司 | 用于改善磁存储介质数据可靠性的方法、装置和片上系统 |
US10971187B2 (en) | 2019-03-11 | 2021-04-06 | Marvell Asia Pte, Ltd. | Constant-density writing for magnetic storage media |
US12198724B1 (en) | 2022-07-25 | 2025-01-14 | Marvell Asia Pte, Ltd. | Codeword interleaving over magnetic media surfaces |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7589925B1 (en) | Method of accessing variable density data tracks in a disk drive | |
JP2006294162A (ja) | ディスク装置 | |
US7567400B2 (en) | Method and apparatus for improving the error rate of track information on a magnetic storage device | |
JP4158717B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP3760899B2 (ja) | データ記録再生装置及びデータ記録再生方法、並びにコンピュータ・プログラム | |
US7308637B2 (en) | Data recording/reproducing device, data recording/reproducing method, program, and recording medium | |
KR101071853B1 (ko) | 데이터 레코딩/재생장치, 데이터 레코딩/재생방법, 및 레코딩 매체 | |
JP2006294163A (ja) | ディスク装置 | |
JP2006031825A (ja) | 記録再生制御方法、記録再生制御装置 | |
JP2007293968A (ja) | 追記型記憶装置、制御方法及びプログラム | |
JP2007250054A (ja) | 情報記録方法、書込制御回路及び情報記憶装置 | |
US6865042B2 (en) | Embedded servo patterning methods and apparatus | |
JP2007280566A (ja) | ディスク記録面のイレーズ処理方法及びディスク・ドライブ装置 | |
JP4269844B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4082308B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4598417B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4694774B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
US8098448B2 (en) | Method for setting zone format of a disk for storing data and disk drive | |
JP4075713B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2006146976A (ja) | 記録再生システム、誤り訂正装置、記録再生方法 | |
JP4496869B2 (ja) | 記録再生制御方法、記録再生制御装置 | |
JP2005235334A (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2002216426A (ja) | 情報記録システム | |
JP2000260128A (ja) | 記録装置およびディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080812 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081209 |