JP2005235334A - データ記録再生装置、データ記録再生方法、プログラム、記録媒体 - Google Patents
データ記録再生装置、データ記録再生方法、プログラム、記録媒体 Download PDFInfo
- Publication number
- JP2005235334A JP2005235334A JP2004044831A JP2004044831A JP2005235334A JP 2005235334 A JP2005235334 A JP 2005235334A JP 2004044831 A JP2004044831 A JP 2004044831A JP 2004044831 A JP2004044831 A JP 2004044831A JP 2005235334 A JP2005235334 A JP 2005235334A
- Authority
- JP
- Japan
- Prior art keywords
- error correction
- data
- track
- correction code
- slip
- 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
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【解決手段】 第1のエラー訂正符号(C1)単位の構成が、スリップに応じて設定される(F104)ことで、スリップによる転送レート低下の影響を軽減する。また第1のエラー訂正符号単位と第2のエラー訂正符号(C2)単位を用いることによって、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができるとともに、必要なエラー訂正能力を確保する。特にスリップの影響での冗長度の変動によるエラー訂正能力のバラツキが発生することを回避し、またスリップによるデータ転送速度の影響を少なくする。また第2のエラー訂正符号(C2)単位の構成もスリップに応じて設定することで、転送レートや記憶容量にとって好適な設定とする。
【選択図】 図16
Description
このうちHDD(Hard Disk Drive)は、磁気記録方式の補助記憶装置である。HDDのドライブユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。メディアには、酸化鉄やコバルト・クロムなどの磁性体が、メッキや薄膜生成によって塗布されている。
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書込みを行い、あるいはデータを読み出すことができる。
そして最近では、HDDの大容量化が進んでおり、これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたAVコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって0,1,…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという短所がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
この場合、HDD側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
大きなデータがメディア上に連続して書き込まれている場合には、読出し時の先読み動作が有効に働く。
また、ホスト側からの新たなアクセス要求によってその予測がはずれた場合、ディスクドライブは、その要求されるデータの存在するセクタが含まれるトラックへシークを行い、トラッキングが完了すると目的のセクタのアクセスが可能となるのを待つ。ここにおいて、シーク時間と回転待ち時間が発生する。
通常のディスクドライブでは、このシーク時間と回転待ち時間を短縮するために、ディスクの回転数を上げることが行われている。これは、コンピュータなどのホスト側で扱われるデータ量やデータ構造に規則性がないため、アクセス方法による改善を行うことが困難であるからである。しかしディスクの回転数を上げる方式では、電力消費や記憶容量の面において不利であり、問題となる。
しかしながら、このようなリトライ動作は、1周回転待ちして再読み込みを行う必要がある。このため、さらにデータ読出し時間の遅れを発生させることになる。
例えば、AVコンテンツを扱うシステムにおいて、HD(ハイビジョン画質)の再生やあるいは特殊再生を行うなど、高転送速度が要求される状況があり、セクタ内において訂正不能な読み取りエラーが発生しても時間的にリトライを行うことが出来ない場合がある。このようなとき、現状では、エラー訂正が行われないまま処理を進める他なく、この結果、再生品質は悪くなった。
また上記特許文献1には、記録するデータブロックの重要度を示す情報を持たせ、この情報に基づいて、重要であるデータブロックについてはエラー訂正能力を増加させ、それ以外は通常の訂正能力とする等の切換を行う技術が開示されている。
これらの技術は、特にAVコンテンツを扱うシステム等において或る程度適切に機能するが、リトライの回避やエラー訂正においてより効果的な技術が求められている。
ここでトラック上において、まとまった数10セクタをスリップさせた場合は、トラック当たりの有効なデータセクタ領域が大きく減少することになり、その結果、転送速度の面において不利となる。
即ち、所望のデータ記憶場所へのアクセス時間の短縮を図る。
また、転送速度を低下させることなく安定したデータ再生を行う。
また、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とし、リトライ動作やデータ品質の低下をを回避して転送速度の低下を少なくし、さらに、ディスク内においてスリップが発生した際においても、転送速度の低下を少なくすることで、安定したデータ再生を行うことができるようにする。
また、上記エラー訂正手段はさらに、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成する。
さらにこの場合、上記エラー訂正手段は、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、ディスク記録媒体上に発生したスリップの情報に応じて設定する。
また上記エラー訂正手段はリードソロモン符号方式によりエラー訂正符号を生成したり、またエラー訂正ブロックはインターリーブ構造を備えるようにする。
また上記エラー訂正手段は、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行う。
この場合、上記データアクセス手段は、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する。
また上記エラー訂正手段は、上記所定のデータ量単位を記録するディスク記録媒体上のトラック範囲において、スリップが所定セクタ単位であるときに、エラー訂正ブロックにおける上記第1のエラー訂正符号単位の構成、又は第1,第2のエラー訂正符号単位の構成を変更する。例えば上記第1のエラー訂正符号単位の設定において、構成バイト数、構成セクタ数、或いはインターリーブ構成を変更する。また上記第1、第2のエラー訂正符号単位上の設定において、構成バイト数、構成セクタ数、パリティセクタ数、あるいはインターリーブ構成を変更する。
また上記エラー訂正手段は、エラー訂正ブロック構成を、上記ディスク記録媒体上において可変とする。
例えば上記ディスク記録媒体は、半径位置に応じてトラック上のセクタ数が相違するゾーンビットレコーディング方式により構成される場合、上記エラー訂正手段は、エラー訂正ブロック構成を、上記ディスク記録媒体上のゾーン毎に異なる構成とする。またスリップが存在するトラックにおける上記第2のエラー訂正符号単位の構成を、上記ゾーンに応じて設定する。
また上記エラー訂正手段は、スリップが存在するトラックにおける上記第2のエラー訂正符号単位の構成を固定値により設定する。
また、上記エラー訂正ステップではさらに、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成する。
さらにその場合、上記エラー訂正ステップでは、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、ディスク記録媒体上に発生したスリップの情報に応じて設定する。
また上記エラー訂正ブロックは、複数個の上記第1のエラー訂正符号単位と、複数個の上記第1のエラー訂正符号単位に対して付加された第2のエラー訂正符号単位からなる。
また上記エラー訂正ブロックにおいて、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、上記スリップの情報に応じて設定されている。
即ち、第1のエラー訂正符号単位を用いることによりセクタ内でのランダムエラーを訂正することができるが、その第1のエラー訂正符号(C1)単位の構成が、スリップに応じて設定されることで、有効なデータセクタ数を増加させることが可能で、これによりスリップ状況によって転送レートの低下が発生することを回避できる。
また第2のエラー訂正符号(C2)単位を用いることによりセクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。すなわち、エラー訂正ブロック構成をC1+C2とすることによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、C1でエラー訂正が不能となった際に、さらにC2でエラー訂正を行うことができるので、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。またスリップに応じたC1構成の変更によってC1訂正能力が低下したとしても、C2訂正能力によって十分な訂正能力を確保でき、スリップ状況によってエラー訂正能力のバラツキが発生することも回避できる。さらに、第2のエラー訂正符号(C2)単位の構成も、スリップに応じて設定されるようにすれば、記憶容量や転送レートの点で有利とできる。
特にこの場合、上記データアクセス手段が、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することで、トラックのどのセクタからでもアクセスを行うことができるので、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
また、書込や読出の要求元(例えば、HDDに接続されているコンピュータなどのホスト装置)は、ディスク上のセクタ・アドレスを意識する必要がない。また、データサイズが短くて済む相対位置アドレスを用いることにより、記憶領域の有効利用を図ることができる。
また、読み出しアクセス時には、トラック上の各セクタから読み出したデータを、例えばバッファメモリ上で相対位置アドレスに従って再配置することによって、アクセスを開始したセクタの位置に拘わらず、元のデータを組み立てることができるが、この場合、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるようにエラー訂正ブロックを形成することが適切であり、特にこのエラー訂正ブロックにおいて第2のエラー訂正符号単位がスリップの情報に応じて設定されていることがエラー訂正能力の均一化に適切となる。
即ち、第1のエラー訂正符号単位を用いることによりセクタ内でのランダムエラーを訂正することができるが、第1のエラー訂正符号(C1)の構成がスリップに応じて設定されることで、スリップによるデータ転送速度の低下という影響を少なくできる。
また第2のエラー訂正符号(C2)単位を用いることによって、セクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。これによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、適切にエラー訂正ができ、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。さらに、スリップに応じたC1構成の変更を行った場合に、C1訂正能力が低下されたとしても、C2訂正能力によってカバーでき、十分な訂正能力を得ることができる。つまりスリップの影響での冗長度の変動によるエラー訂正能力のバラツキが発生することを回避でき、またスリップによるデータ転送速度の影響を少なくすることが出来る。
また第2のエラー訂正符号(C2)の構成についてもスリップに応じて設定されるようにすることで、記憶容量や転送レートの点で有利とできる。
また、各ディスク面あるいは、各ゾーンにおける、第1のエラー訂正符号あるいは第1,第2のエラー訂正符号について、スリップ情報に応じて設定することにより、ディスクの全周に渡ってエラー訂正能力を均一にすることができるとともに、効率の良いディスクフォーマットを実現できる。
以上によって、よりいっそう安定したシステムを提供することができる。
1.ハードディスク装置の構成
2.スリップに応じたC1設定
3.相対アドレスによるアクセス動作
4.トラック単位を基準としたECC構成
5.スリップに応じたC1設定(C2固定)
6.スリップに応じたC1、C2設定
7.適用例
図1には、本発明の一実施形態に係るHDD(ハードディスク装置)10の全体構成を模式的に示している。
同図に示すように、HDD10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)/RAM(Random Access Memory)12と、ディスクコントローラ13と、バッファRAM14と、データ読み書き制御部15と、サーボ制御部16、そして磁気ディスク21とを備えている。
即ちドライブユニット内には、数枚の磁気ディスク(プラッタ)が同心円状に重なって構成することができ、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され(シリンダ)、トラック番号と同じシリンダ番号で指定される。
なお、図1に示すように、1つの磁気ディスク21に対して1つの記録再生ヘッド22が配されるのは、磁気ディスク21は片面が記録面とされる場合である。
両面が記録面とされる場合、1つの磁気ディスク21に対して2つの記録再生ヘッド22が配される。
ディスクコントローラ13は、インターフェース17を介して接続されるホスト(図示しない)からコマンドを受け取る。CPU11はこのコマンド処理を行い、ディスクコントローラ13はコマンド処理結果に従って、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示する。
インターフェース17経由でホストから受け取った書込みデータや、磁気ディスク21から読み取ってホストに渡されるデータは、バッファRAM14に一時的に格納される。
セクタ内のデータ量は例えば512バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
同図に示す例では、ディスクを3つのゾーンに区切っており、最外周から順にゾーン0,1,2とゾーン番号が与えられている。さらに、各ゾーン内には複数本のトラックが含まれている。
また図3において、各ゾーンをセクタで区切っているが、この場合(あくまで模式的な例として)、ゾーン0は64セクタで構成され、ゾーン1は32セクタ、ゾーン2は16セクタでそれぞれ構成されている。ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ24の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
ホストコントローラ32は、インターフェース17を介して接続されるホストとの通信を行う。
バッファコントローラ33は、バッファRAM14と、ディスクコントローラ13内の各部間でのデータのやりとりを制御する。
サーボコントローラ34は、VCM(ボイスコイルモータ)23及びSPM(スピンドルモータ)24の動作を制御することによって、磁気ディスク21上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部15へ渡す。
ディスクフォーマッタ35は、バッファRAM14上のデータを磁気ディスク21に書き込んだり、あるいは磁気ディスク21からデータを読出したりするための制御を行う。
ECCコントローラ36は、バッファRAM14に格納されているデータより、書込み時にはECC符号を生成して付加したり、あるいは読出し時にはエラー訂正を行ったりする。
このような図2に示すディスクコントローラ13は、CPU11より、フォーマッタ制御情報およびECC制御情報を受け取る。
また、ECC制御情報は、第1のエラー訂正符号C1によるECCブロック構成、もしくは第1のエラー訂正符号C1と第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報であり、また例えばゾーン毎に、セクタ数などに応じてECCブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
また、ECC制御情報は、トラック単位で完結するECCブロック構成の設定を行うための情報であり、第1のエラー訂正符号C1によるECCブロック構成、もしくは第1のエラー訂正符号C1と第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報となる。また例えばゾーン毎に、セクタ数などに応じてECCブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
また、広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とすることでリトライ動作を回避して転送速度の低下を少なくしたり、十分なエラー訂正能力を確保できるようにする。
まずここでは、第1のエラー訂正符号C1を用いたECCブロックにおいてスリップに応じたC1設定が行われる例を図4,図5で説明する。これは第2のエラー訂正符号C2が設けられない例である。
スリップの発生形態は多様であるが、ここではゾーンnにおけるトラックk−1、k、k+1に注目し、トラックkにおいて124セクタ分のスリップSPが発生している例としている。
また、スリップとしてのエリア(例えばセクタ数)の設定は製造者毎に多様であり、欠陥領域の発見に応じて周辺の一定面積に相当するセクタをスリップとすることや、或いはそのトラックの固定セクタをスリップとするなどの例がある。
例えば欠陥領域の発見に応じてその周辺を含む48セクタ単位でスリップが設定されるなどの例がある。
図5の例において、1セクタは512バイトで固定とする。
そして1トラックあたりのセクタ数を768セクタとする。例えば図4においてトラックk−1、k、k+1のセクタ数は768セクタある。ただし、トラックkについてはスリップSPによって124セクタ分減少しているため、644セクタとなる。
尚、ここではECC訂正符号として、シンボル長8のリード・ソロモン符号を用いているものとする。
そしてこの場合、データ512バイト、CRCの4バイト、C1の48バイトの1セクタで1つのECCブロックが形成されることになる。
従来ではスリップに応じたC1設定は行われないため、セクタ当たりのエラー訂正符号C1は固定である。つまり512バイトのデータに対して48バイトで固定のC1が付加されている。
ここでトラックkにおいてスリップが発生したとすると、スリップによる除去セクタを124セクタとしてあるので、トラックkは、644セクタがデータセクタとなる。
つまり、図5(b)のようなECC構成では、スリップにより直接的にデータセクタ数が減少するため、スリップ状況が直接的に転送レートの低下という影響を与える。
例えば、512バイトのデータに対して48バイトのC1が付加されているが、所定の大きさのスリップが発生した時は、その発生情報よりC1構成を変更し、36バイトのC1とする。なお所定の大きさのスリップが発生したときとは、所定の大きさ以上のスリップが発生したときも含む。
所定の大きさとは、例えば124セクタとする。実際は124セクタ前後としても良い。
図4のようにトラックkにおいて124セクタのスリップSPが発生したとすると、図5(a)に示すように、そのトラックkのC1構成を36バイトとする。
このC1コードの36バイトは、512バイトを3分割してインターリーブし、それぞれ12バイトずつ3セットのECC−C1構成とする。
すると、C1付加バイト数が減っているため、トラックk内のセクタ数を増加させることができる。従来のC1セクタ固定時では図5(b)のようにトラックk内の有効なデータセクタ数が644セクタであったことに対して、図5(a)の例では、データセクタとして658セクタを有効セクタとしてトラックkに配置することができる。
従来:644セクタ×(data:512 + CRC:4 + C1:48)Byte=644×564=363,216 Byte
本例:658セクタ×(data:512 + CRC:4 + C1:36)Byte=658×552=363,216 Byte
すなわち冗長分を含んで記録している情報量は同じである。つまり、C1バイト数を減少させ、それをデータセクタに割り当てることで、データセクタ数を多くできる。
このようにすることにより、スリップが発生したトラックにおいて、トラック当たりのセクタ数が従来に比べて多く配置でき、転送速度に対して有利にすることができる。従って、スリップセクタ数による転送レート低下の影響を低減することができる。
例えば、512バイトのデータに対して通常は48バイトのC1が付加されているが、所定の大きさのスリップが発生した時は、その発生情報よりC1構成を変更し、図5(a)に別例として示したように、40バイトのC1とする。
このC1コードの40バイトは、512バイトを4分割してインターリーブし、それぞれ10バイトずつ4セットのECC−C1構成とする。
以上のように、可変とするC1バイト数、およびインターリーブ構成は特定されるものではない。
また、以上の各例においては、トラック当りの有効セクタ数に応じてC1の値を変更させたが、必ずしもその限りではなくて良い。即ちトラック単位を基準とせずに、所定のまとまった範囲を1つのブロックとして、そのブロックでのセクタ数に応じてC1セクタバイトを変更させても良い。
ところで上記のように、磁気ディスク21に対するアクセス方式としてはLBAに基づくアクセス方式と、トラック単位で相対アドレスを用いたアクセス方式が考えられる。LBAに基づくアクセス方式とは通常、多くのHDDで採用されているアクセス方式であるため、詳述は避けるが、ここでトラック単位で相対アドレスを用いたアクセス方式について説明する。
これにより、1トラック上のどのセクタからでもアクセスを開始することができる。すなわち、1トラックをアクセス単位とすることによって、先読みという不確定要素からなる処理を行う必要をなくして、シーク起動のタイミングを確実に決定することができる。また、1トラックのどのセクタからでもアクセスを行うことによって、回転待ちを行わなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間を短縮させることができる。
また、読出しを行う際には、アクセスを開始したセクタから読出しを行い、相対位置セクタ番号に基づいて、バッファRAM14上に展開する。このため、どのセクタから読出しを始めても良い。
図6(a)に示すように、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのECCとで構成され、これら全体をエラー訂正範囲及び記録範囲とする。
相対位置データをヘッダとしてエラー訂正範囲に含めることにより、例えばセクタ内でランダムエラーが発生した場合であってもエラー訂正により相対位置データを回復することができるので、円滑なディスクアクセス動作を実現することができる。
また、一般に、セクタはセクタの番地を記録するためのIDフィールドを持つが、絶対位置ではなく相対位置を記録するので、IDフィールドのサイズを縮小することができる。その分だけセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
また、読出しを行うときには、トラック上でアクセスを開始したセクタから読出しを行い、相対位置フィールドによって得られたセクタ位置に基づいて、バッファRAM14上での格納位置を決定する。したがって、任意のセクタからデータの読出しを開始しても、バッファRAM14上では相対位置に基づいてデータを再配置することによって、トラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読出しを開始するので、回転待ちする必要がない。
この場合も、上述と同様に、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのECCとで構成される。但し、これら全体をエラー訂正範囲とするが、図6(a)に示した例と相違し、相対位置フィールドを記録範囲に含まない。したがって、相対位置フィールドがなくなる分だけ、さらに上述した例よりもセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
また、読出しを行うときには、アクセスを開始したセクタから読出しを行い、ECCを用いてエラー訂正を行うことによって、セクタには書き込まれなかった相対位置を再生成する。そして、この相対位置に基づいて、バッファRAM14上での格納位置を決定する。したがって、任意のセクタからデータの読出しを開始しても、バッファRAM14上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読出しを開始するので、回転待ちする必要がない。
本例のHDD10は、インターフェース17経由で接続されたホストからのコマンドによってデータ書込みを行うときの通信例は、次のようになる。
まずホストは、HDD10に対してデータの書込みコマンドを発行する。これに応答して、HDD10は現在のアクセスシーケンスからシーク時間が最小となるアドレス領域を応答する。
ホストは、HDD10からの応答を受けると、指示されたアドレス領域の大きさ(バイト数,セクタ数など)のデータコンテンツを転送する。HDD10は、受信したデータコンテンツをトラック単位で書込み動作を行う。
また、HDD10側からホストに通知されるアドレス領域は、例えば、ホストからデータ書込み要求されるコンテンツを識別するコンテンツ番号などの簡素なものでよい。
HDD10側では、各コンテンツ番号とディスク21上での物理的な記録場所との変換テーブルを用意しておく。
トラック単位でディスクアクセスを行うことから、コンテンツ番号との変換テーブルは、例えば図7に示すようなものとなる。即ち、コンテンツ番号に対応してトラック番号やヘッド番号が登録されていく。
この変換テーブルは、バッファRAM14内に書き込まれる。変換テーブルの書込みは、ホストから書込みデータを受け取った時点で、ディスクコントローラ13又はCPU11が実行するソフトウェアによって行われる。
ホストは、HDD10に対してデータの読出しコマンドを発行する。読出しコマンドでは、目的とするコンテンツ番号が指定されている。
これに対し、HDD10は、コンテンツ番号に基づいて上記図7の変換テーブルから目的とするトラックを特定して、磁気ヘッド22のシーク動作を行う。そして、データ書込み時に応答したアドレス領域のシーケンスに従い、ディスク21上のデータを転送する。
このデータ読出し要求の際、ホスト側は、所望のコンテンツ番号を指定するだけで、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書込み場所(PBA)を意識する必要はない。
このようなディスクアクセスオペレーションは、ディスクコントローラ13が、CPU11によるコマンド処理結果に応じて、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示することによって実現される。
上述してきたようにHDD10が1トラックを単位としてアクセスを行う場合、磁気ディスク21上には1トラックを基本単位としたECCブロックが形成されることが適切となる。
なお、LBAに基づくアクセス方式が採用される場合は、必ずしも1トラックを基本単位としたECCブロックが形成される必要はないが、もちろん1トラックを基本単位としてもよい。
ここでは、1トラックを基本としたECCブロックの例を説明する。
図8(a)の例では、磁気ディスク21は、ゾーン分割されており、ゾーンnにおけるECCブロック構成の例が示されている。すなわち、ゾーンn内の、破線で示す所定のトラックTKのように、各トラックの1周分がECCブロックの構成単位となるようにする。
ECCブロックの内部には、セクタ内の訂正を行うC1と、セクタ間の訂正を行うC2が含まれている。
そしてC1+C2からなるエラー訂正単位(ECCブロック構成単位)は1トラックを基本単位としており、各トラック内においては、ECCブロック構成単位が2つ以上存在することはない。
このような例の場合も、ECCブロックの内部には、セクタ内の訂正を行うC1と、セクタ間の訂正を行うC2が含まれている。またC1+C2からなるエラー訂正単位(ECCブロック構成単位)は1トラックを基本単位としており、各トラック内においては、ECCブロック構成単位が2つ以上存在することはない。
ここではECC訂正符号として、シンボル長8のリードソロモン符号を用いているものとする。
磁気ディスク21のあるゾーンにおけるトラック1周分の有効なセクタ数を、768セクタとする。1セクタは例えば、512バイトのデータに4バイトのCRC(クロスチェックコード)、並びに合計で48バイトのC1を付加し、4インターリーブで構成してある。
このような構成としたとき、1つのECCブロックは合計768セクタとなって、このゾーン内において1周分となり、トラック単位を実現させることが出来る。
ランダムエラーに対してはC1を利用することによって、セクタ当たり最大24バイトまで(バイトの消失情報が得られる場合は最大48バイトまで)の訂正が可能である。
さらに、バーストエラーに対しては、C2を利用することによって、トラック当たり最大32セクタまで(CRCの結果を利用することで最大64セクタまで)の長さのエラー訂正が可能となる。
尚、実際の最大エラー訂正数の設定は、誤訂正をする可能性等を考慮して決定される。例えば、最大32セクタまでであるが、24セクタまでを訂正可能とし、訂正したものについては、誤訂正が限りなく発生しないように設定する。
その場合、例えばECCブロックが192(=176セクタのデータ+16セクタのC2)セクタといった、小さいECCブロック単位とすることもできる。
上記、図5で説明した例も含めて、HDDのシステムの多くにおいては、エラー訂正が、512バイトデータと情報ビットからなる1セクタ単位においてのみ行われている。
したがって、各セクタ内に発生するランダムエラーに対してはエラー訂正を行うことができるが、訂正可能範囲を越えたランダムエラーや、あるいはバーストエラーすなわちセクタを越えて長く連続したエラーに対しては、エラー訂正を行うことが出来ない。
ここで、上述のようなトラック単位アクセスによってアクセス時間の短縮がなされたにもかかわらず、リトライ動作が発生すると、結局アクセス時間は増加し、データ読出し時間の遅れを発生させる結果となる。
例えばHD(ハイビジョン画質)の再生や特殊再生時といったAVコンテンツを扱う場合において、高転送速度が要求されるとき、訂正不能な読み取りエラーが発生しても時間的にリトライ動作を行う余裕のないときがある。このような場合、現状では、読み取りエラー訂正が行われないまま処理を進めている。この結果、再生品質は悪くなってしまう。
つまり、1セクタ単位のエラー訂正であるC1訂正に加えて、セクタ間の訂正を行うことが可能なC2訂正を付加する。そして、C1+C2からなる、エラー訂正単位(ECCブロック)を例えばトラックで完結するような構成をとる。
図10、図11には、本例のECCブロック構成において、インターリーブを適用した例を示している。
図10及び図11では、セクタn に対してインターリーブを適用したものであり、1セクタが4バイトのヘッダと512バイトのデータ、そして4バイトのCRCより、これらの合計を4分割し、各分割単位毎に12バイトのECC符号C1を付加している。
例えば、インターリーブ0は1バイトのヘッダと128バイトのデータと1バイトのCRCに12バイトのパリティが付加されて構成される。インターリーブ2,3,4も同様である。
4バイトのヘッダ、512バイトのデータ、その後には4バイトのCRCを付加し、続いて作成したC1コードを同様にして順に並べる。
図10にはインターリーブで分解したものを示しており、また、図11にはメモリ上にアドレス0から567まで割り振ったときの配置を示している。
なお、実際の記録データの構成は、プリアンブル、同期信号、ポストアンブルなどがさらに付加されている。また、セクタ単位の他の構成例としては、ヘッダファイルを持たない形式や、あるいはCRCを持たない形式などがある。
この場合、ゾーン毎でECCブロック構成を可変とすることによって、エラー訂正符号の冗長度を一定範囲内におさめることができ、その結果、エラー訂正能力をディスクの全周に渡って同様な強さとすることができる。
例えば図3の例では、1トラックあたりのセクタ数は、ゾーン0では64セクタ、ゾーン1では32セクタ、ゾーン2では16セクタとなっている。各ゾーンに対しては、回転数を同一とするが、動作クロックを変更し、各ゾーンにおける線記録密度は一定範囲にあるものとする。
そして、C2の構成については、例えばゾーン0では64セクタのうちの8セクタをC2パリティとして与え、ゾーン1では32セクタのうちの4セクタを、ゾーン2では16セクタのうちの2セクタをそれぞれC2パリティとして与える。
このように構成にしたとき、各ゾーンの1周分のデータセクタ数に対するC2パリティのセクタ数の割合が一定になり、C2訂正能力についても各ゾーンで同一とすることができる。
なお、実際のフォーマットにおいては、ゾーンとセクタ数の関係にあるような、ちょうど割り切れる値となる場合は少ないので、ECC部分の冗長度が一定範囲となるような設定をすればよい。
なお、この例では、ECC構成のうちC1部分を、スリップ状況に対応する場合を除いて基本的には固定とし、C2部分を可変とすることでECC部分の冗長度すなわちエラー訂正能力を所定範囲内に制御した。しかしながら、例えばC1部分をゾーン毎に可変としてC2部分を固定させてエラー訂正能力を所定範囲内に制御するようにしてもよく、あるいはC1とC2を総合的に制御してエラー訂正能力を所定範囲内に制御するようにしてもよい。
ECCブロック構造は、基本的には以上の通りであるが、本実施の形態ではさらに、磁気ディスク21のトラック上に発生したスリップに応じてECCブロック構成が設定される。
図12はトラック内においてスリップが発生しているときの例を示している。ここではゾーンn内の各トラックにおいては、その1周分がECCブロックの構成単位となるようにしてあり、その中の2箇所において、スリップSP(SP1,SP2)が発生している。
スリップSPは、スリップSP2のように或るトラックにのみ連続セクタ分だけ存在する場合のほか、スリップSP1のように、所定のエリアとして、物理的にまとまった面積部分となるような、連続した複数トラックかつ連続した複数セクタにおいて存在する場合もある。また図示していないが、スリップとして、例えば1セクタといった、ごく少数単位のセクタを与えている場合も、この他としてある。
図13(a)(b)には、スリップに応じたECCブロック構成例を示している。図13(a)は例えばトラックjのようにスリップの無いトラックのECCブロック構成を、また図13(b)はトラックkのようにスリップの有るトラックのECCブロック構成を示している。
即ち図13(a)に示すように、1セクタは例えば、512バイトのデータに4バイトのCRC(クロスチェックコード)、並びに合計で48バイトのC1を付加し、4インターリーブで構成してある。
そして、セクタ0〜703までの704セクタをデータ領域として与え、セクタ704〜767までの64セクタがC2領域として与えられる。C2は、例えば16セクタずつの4インターリーブで構成してある。
つまり図9のとおりであり、またそのインターリーブ構造は図10,図11で説明したとおりとなる。
ここで上述した基本的なECCブロックの設定で考えると、少なくともゾーン内の各トラックでは、C2セクタ数は固定となる。つまり、このゾーンn内の各トラックにおけるC2セクタ数が64セクタであるとすると、スリップが発生しているトラックTKにおいても、C2セクタ数は64セクタとされる。
スリップがないトラックjで考えると、768セクタが有効なセクタとなるため、768セクタからC2の64セクタを引いた704セクタがデータ領域(データセクタ)となる。
しかしながらスリップSP1,SP2が存在するトラックkでは、上記のように有効セクタが644セクタとなっているため、そのままでは、データ領域としてのセクタ数は580セクタ(644−64)となってしまう。
スリップセクタが、1セクタのような、ごく少数セクタで与えられている場合は、上記冗長度や同一処理時間に対してのデータ転送量の差は比較的少ないが、例えば128セクタといった、まとまったスリップ単位の場合では、冗長度および同一処理時間に対してのデータ転送量(データ転送速度)の影響は無視できないものとなってくる。
即ちトラックkにおいては図13(b)に示すように、1セクタは例えば、512バイトのデータに4バイトのCRC(クロスチェックコード)、並びに合計で36バイトのC1を付加し、3インターリーブで構成するようにする。つまりC1コードを48バイトから36バイトに変更する。
このようにすることによって、トラックkにおけるセクタ数を658セクタとすることができる(セクタ内のC1を固定とする場合は上記のとおり644セクタとなる)。
つまりトラックkにおいては、スリップSP1,SP2に相当するセクタ数として128セクタではなく110セクタが差し引かれるものとなり、658セクタの有効セクタを確保できる。
そしてC2設定をゾーン毎で固定とされ、トラックkについても64セクタがC2領域として与えられるため、残る594セクタ(658−64)がデータ領域(データセクタ)として与えられることになる。
この場合、具体的な計算式は、上記図5の説明において示したものと同様となり、冗長分を含んで記録している情報量は、C1を48バイトで固定とする場合と、スリップに応じてC1を36バイトに変更する場合とで同じである。
そして本例では、C1バイト数を減少させ、それをデータセクタに割り当てることで、データセクタ数を多くできる。このようにすることにより、スリップが発生したトラックにおいて、トラック当たりのセクタ数が従来に比べて多く配置でき、転送速度に対して有利にすることができる。従って、スリップセクタ数による転送レート低下の影響を低減することができる。
また、スリップ情報は、例えば、トラック毎にヘッダがあれば、そこに記録するようにしてもよい。
この他として例えば、スリップ検出手段を別に持ち、スリップが検出されたトラックをスリップ有りと判断する手法を採れば、トラック単位(或いはECCブロック単位)でスリップ情報を格納しておく必要もない。その場合、スリップの有無が判定されたら、それによってC1を設定すれば良い。
スリップのない部分(トラックj)では、
セクタ内:512バイトデータに対して48バイトのC1
セクタ間:704セクタデータに対して64セクタのC2
スリップのある部分(トラックk)では、
セクタ内:512バイトデータに対して36バイトのC1
セクタ間:594セクタデータに対して64セクタのC2
すると、スリップのない部分(トラックj)では、
セクタ内:48/(512+4+48)(バイト比)=0.085…
セクタ間:64/(704+64) (セクタ比)=0.083…
スリップのある部分(トラックk)では、
セクタ内:36/(512+4+36)(バイト比)=0.065…
セクタ間:64/(594+64) (セクタ比)=0.097…
但し、実際のエラー訂正においては、さらにインターリーブが加わることになるが、結局エラー訂正能力としては、上記比率で表すことができる。
これは、スリップの発生したトラックでは、セクタ内のECC−C1では、訂正能力がやや低い構成を設定しても、トラック内のECC−C2において、逆に訂正能力の高い構成を設定することで、総合的に訂正能力を他のスリップのないトラックと、同様にすることができることを示している。
図14では、トラックkに対して3インターリーブを適用したものであり、1セクタが3バイトのヘッダと512バイトのデータ、そして4バイトのCRCより、これらの合計を4分割し、各分割単位毎に12バイトのECC符号C1を付加している。
例えば、インターリーブ0、1は1バイトのヘッダと171バイトのデータと1バイトのCRCに12バイトのパリティが付加されて構成される。インターリーブ2、1は1バイトのヘッダと170バイトのデータと2バイトのCRCに12バイトのパリティが付加されて構成される。
そして、セクタ内の配置を、0番目にはインターリーブ0、1番目にはインターリーブ1、2番目にはインターリーブ2、3番目には再び戻ってインターリーブ0、・・・のように順に並べる。
3バイトのヘッダ、512バイトのデータ、4バイトのCRCに続いて作成したC1コードも同様にして順に並べる。
この図14は、図13(b)と同じセクタ単位となる。
なお、実際の記録データの構成は、プリアンブル、同期信号、ポストアンブルなどがさらに付加されている。また、セクタ単位の他の構成例としては、ヘッダファイルを持たない形式や、あるいはCRCを持たない形式などがある。
また、この場合ヘッダを3バイトとしているが、例えばセクタにおいてヘッダを必ず4バイト持つという形式も考えられる。その場合は3つのインターリーブに、4バイトのヘッダを振り分けることで、3インターリーブ構成とすればよい。
図15では、トラックkに対して4インターリーブを適用したものであり、1セクタが4バイトのヘッダと512バイトのデータ、そして4バイトのCRCより、これらの合計を4分割し、各分割単位毎に9バイトのECC符号C1を付加している。
例えば、インターリーブ0は1バイトのヘッダと128バイトのデータと1バイトのCRCに9バイトのパリティが付加されて構成される。インターリーブ1,2,3も同様である。
そして、セクタ内の配置を、0番目にはインターリーブ0、1番目にはインターリーブ1、2番目にはインターリーブ2、3番目にはインターリーブ3、4番目には再び戻ってインターリーブ0、・・・のように順に並べる。C1コードも同様にして順に並べる。
これは、ZBR記録されているディスク上において、ゾーン毎に切り替えられている、所定トラック単位となっているECCブロック構成を、スリップ情報を用いて切り替えて構成する場合の例である。
処理は以下のようにして行われる。
ここでは、例えばゾーン0では1周当たり768セクタであるとする。
次にステップF102では、書込又は読出を行うトラックにおいて、スリップ情報を参照し、所定セクタ数のスリップの有無を判定する。
ここでは、例えばスリップとして124セクタのスリップの有無を判定する。例えばスリップが124セクタ単位で設定される場合は、スリップの有無を判定すればよい。また例えば48セクタ単位でスリップが設定される場合は、当該トラックに3カ所のスリップが有るか否かを判別すればよい。
例えば、あるスリップ時では124セクタ相当が除外されるとする。なお、スリップ時にECC−C1を固定とする場合には124セクタ相当のエリアであるが、ここでスリップ発生時のECC−C1を48バイトから36バイトへ変更する。この場合、除外されるセクタ数は124セクタから14セクタ減少し、110セクタが除外されることになる。
そしてこれによりスリップの有るトラックでは合計658セクタ(768−110)が有効セクタとなる。
この658セクタに対しては、ステップF105において固定のセクタ数、例えば64セクタをC2セクタとする。
ステップF104,F105においてこのような設定でECCブロックの構成が行われることになる。
即ち決定したECCブロック情報にもとづき、読出処理あるいは、書込処理が行われる。
書込処理の場合は、まずECC生成処理が行われ、データやC1,C2等を含むECCブロックデータを形成して、対象とするトラックへの書き込みが実行される。
読出処理では、磁気ディスク21のトラックからのデータ読み込み後、設定したECCブロック情報に基づいて、必要に応じてECC訂正処理が行われる。
また上述したような効率の良いECCブロック構成とすることで、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能で、かつ安定したシステムを構成することができる。
そして第1のエラー訂正符号(C1)単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第2のエラー訂正符号(C2)単位を用いることによりセクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。
さらに、第1のエラー訂正符号(C1)単位の設定を、ディスク1周当たりに発生したスリップの情報を用いて決定することによって、転送レートの点で有利なシステムを構築でき、しかも第2のエラー訂正符号によってエラー訂正能力も十分に確保できる。
すなわち、同一ディスクでも124セクタなど、固定セクタ数でのスリップ設定以外のスリップ時の除外セクタがある場合にも対応するようにしてもよい。
つまりスリップ有無(或いは対応すべきスリップセクタ数)の判断は、スリップ設定方式、ゾーン毎のセクタ数、機器に要求される性能、冗長度の変動の許容範囲や転送レートの許容範囲など、様々な事情を考慮して設定されればよく、設計上の事情で決められるべきものである。
また、1〜数セクタ程度など、小規模なスリップが生じている場合で、冗長度や転送レートにスリップの影響が無視できる程度であれば、C1セクタ設定を通常どおりとすることが適切である。例えば図16の処理においては、ステップF102で124セクタ以上のスリップをスリップ有りと判定するものとすれば、微小なスリップの場合は、スリップ無しと判定されてステップF103に進むものとなる。
さらには、ごく少ないセクタ(たとえば1セクタや2セクタなど)がスリップとして与えられている場合は、その冗長度の影響が少ないことからスリップ情報として単純に除外するものとはせず、これらのスリップ情報についてもスリップとして判別してもよい。例えば所定トラックにおいて、微少なスリップが10以上出たときに、C1を設定するなどの適用をしてもよい。
さらに、或るゾーン内で、スリップトラックのC1バイト数を可変するような処理としては、固定的な複数の設定値を用意してスリップ状況に応じて切り換えるという処理も考えられる。
例えば上記例に合わせて言えばC1バイト数の設定値として、標準時の48バイトと、スリップ発生による36バイト以外に、さらにスリップの発生状況に応じて、40バイト、32バイト、24バイトなどに段階的に切り換える方式である。
またスリップ時のC1設定は、ディスク全てに渡って固定であってもよいし、ゾーン毎に異なる設定とされてもよい。さらにそれ以外で細かく設定されても良い。
ところで上記例においては、スリップの有るトラックとスリップの無いトラックにおいて、ECC−C2のセクタ数を同一としていた。これに対し、スリップ発生時にECC−C1の設定だけでなく、ECC−C2の設定(セクタ数)についても可変としてもよい。
そのようにすると、スリップ有無に関わらずエラー訂正能力を、さらに均一に設定することができる。言い換えるとデータの冗長度の差を少なくすることができ、結局、効率のよりよいECC構成とすることが可能となる。
図17(b)はスリップのあるトラックkのECCブロックであり、この場合、セクタあたりのC1は図13(b)の場合と同様に36バイトとするだけでなく、そのC1設定によって有効セクタが658セクタとなる状態において、C2セクタを通常時の64セクタから60セクタに変更するようにしている。
すると、セクタ0〜セクタ597の598セクタをデータセクタとできる。
なお、インターリーブ構造については、図14又は図15のようにすればよい。
また図13の例では、スリップの発生したトラックでC1バイト数を減少させることで訂正能力(冗長度)が低下することを考慮して、固定(例えば64セクタ)のC2セクタを与えることで高度な訂正能力を確保するようにしていたが、64セクタのC2セクタによるエラー訂正能力が必要以上に高いものとなる。そこで本例のようにC2セクタを60セクタとすれば、適度な訂正能力となり、換言すれば、通常のスリップのないトラックと同程度の冗長度とできる。つまりトラック毎での冗長度のバラツキを少なくできる。
なお、スリップ時のC2設定は例えば、各ゾーンでのC2設定値よりも減少させることで、スリップ有りのトラックのC1,C2による訂正能力をスリップ無しのトラックと同等になる様に設定するが、実際に丁度一致となるような設定が可能とは限らない。このときは、スリップ有り無しのトラックで、冗長度が近付く様な設定を選べばよい。
この図18では、スリップがある場合においては、ステップF205において、ECC−C2セクタ設定を通常の64セクタから変化させる。例えば60セクタとするものである。
このような設定により、図17(b)に示したように、スリップの有るトラックでは合計658セクタ(768−110)のうち、598セクタをデータセクタとし、60セクタをC2セクタとすることになる。
なお、図18の例においては、当該ゾーンにおいて、スリップ有りの場合には、固定のC2セクタ数(60バイト)を与えている。即ち、当該ゾーンにおいて、スリップ有りの場合は、C2セクタを64セクタから60セクタに変更するという処理である。つまりゾーン内ではスリップ有無に応じてC2セクタ数は64セクタ又は60セクタとなる。
他のゾーンを対象としている場合は、そのゾーンのセクタ数に応じた基本的なC2セクタ数と、スリップ時のC2セクタ数が決められている。
ところが、このようにゾーン毎に、スリップ時のC2セクタ数を異なる固定値として設定する以外に、ゾーンに関わらず固定的なC2セクタ数の設定が行われるようにしてもよい。
例えば全てのゾーンにおいて、スリップ一箇所に対し、C2設定を標準時よりも1セクタマイナスの処理に統一させるなどである。この場合、例えばハードウエアの簡略化等に好適となり、その上で、冗長度および転送レートの差について改善させることができる。
例えば上記図18の例では、或るゾーンにおいてスリップトラックでは常にC2セクタは60セクタとなるが、実際にスリップトラックにおけるスリップセクタ数に応じて(つまり有効なセクタ数に応じて)、C2セクタ数を設定してもよい。
つまり、スリップ数及びC1設定によってわかる有効セクタの数に応じてC2セクタ数を、例えば或る割合、つまり目的とする冗長度に合致する割合となるように設定する。
このようにすれば、多様なスリップ発生形態にも対応して、より細かく冗長度の安定化が可能となる。
さらに、このような設定を行う場合、特にゾーン毎に処理を切り換える必要もないものともできる。
例えば上記例に合わせて言えばC2セクタ数の設定値として、標準時の64セクタと、スリップ発生による60セクタ以外に、さらにスリップがより多数発生している場合には相対的に冗長度が高くなるため、56セクタとするなどのように、固定値を段階的に切り換える方式である。
本発明は上述した例に限定されず、以下のように各種の場合に適用できる。
HDD10における磁気ディスク21の枚数は、2枚の場合を示したが、1枚、或いは3枚以上のHDD10の場合も本発明を適用できる。また、1枚のディスク21において表裏が記録面とされる場合も適用できる。さらに、磁気ヘッド22の数も多様な構成が考えられるが、本発明の適用を妨げるものではない。
また、一般にHDDではディスク21は装置内に固定的に内蔵されるが、ディスク21を着脱可能とするHDDも考えられる。そのような装置でも本発明は適用可能である。
更に、HDD以外のディスクシステム(光ディスク記録再生装置、光磁気ディスク記録再生装置)においても本発明は適用できる。
例えばスリップ時のC2削減セクタを、図13のような110セクタとして、これを全ディスク面、全ゾーンで同じとしても良いし、それぞれのディスク面あるいはゾーンにおいて、個別に異なる値を与えても、同様な構成で良い。
但し、その際には、それぞれのディスク面あるいはゾーンの情報を持たせるようにする。
全エリア固定とした場合にはハードウエアの簡素化が期待出来る。また反対に可変とした場合には、さらにきめ細かい設定が期待出来る。
また、トラック単位のECCブロック単位は任意であり、上限や下限も特になく、システムの要求によって決定することができる。
また、第2のエラー訂正符号C2としての構成を変更するときは、構成セクタ数を変更するものとしたが、C2セクタのパリティセクタ数を変更したり、あるいはインターリーブ構成を変更することも考えられる。
第1のエラー訂正符号C1の構成を変更するときは、構成バイト数を変更するものとしたがインターリーブ構成を変更することも考えられる。
例えば図3に示したような複数のゾーンにおいて同一のECC構成となる場合(例えばゾーン1とゾーン2が同一構成で、ゾーン0が異なるなど)、或いは、1つのゾーン内でECC構成が異なる領域が生成されるなどの例も考えられる。
そして本例の場合は、ディスク上で各種可変設定されるECCブロック構成の上で、さらにスリップに応じた設定が行われればよいものである。
このプログラムは、例えばROM/RAM12に予め記憶しておくことができる。或いは磁気ディスク21に記憶しておき、ROM/RAM12にロードされる形態も考えられる。
Claims (43)
- 同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生装置であって、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセスを行うデータアクセス手段と、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正手段とを備え、
上記エラー訂正手段は、所定のデータ量単位に対する第1のエラー訂正符号単位を、ディスク記録媒体上に発生したスリップの情報に応じて設定してエラー訂正ブロックを形成することを特徴とするデータ記録再生装置。 - 上記エラー訂正手段はさらに、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成することを特徴とする請求項1に記載のデータ記録再生装置。
- 上記エラー訂正手段は、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、ディスク記録媒体上に発生したスリップの情報に応じて設定することを特徴とする請求項2に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記ディスク記録媒体上に所定長のスリップがあるか否かに応じて、上記第1のエラー訂正符号単位の設定を行うことを特徴とする請求項1又は請求項2に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記ディスク記録媒体上に所定長のスリップがあるか否かに応じて、上記第1のエラー訂正符号単位の設定及び上記第2のエラー訂正符号単位の設定を行うことを特徴とする請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段はリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段が形成するエラー訂正ブロックはインターリーブ構造を備えることを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段は、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記データアクセス手段は、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項9に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記スリップの情報を、セクタ単位として取り扱うことを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記所定のデータ量単位を記録するディスク記録媒体上のトラック範囲において、スリップが所定セクタ単位であるときに、上記第1のエラー訂正符号単位の構成を変更することを特徴とする請求項1又は請求項2に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記エラー訂正ブロックの上記第1のエラー訂正符号単位の設定において、その構成を変更するときは、構成バイト数、構成セクタ数、或いはインターリーブ構成を変更することを特徴とする請求項1又は請求項2に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記所定のデータ量単位を記録するディスク記録媒体上のトラック範囲において、スリップが所定セクタ単位であるときに、上記第1のエラー訂正符号単位の構成及び上記第2のエラー訂正符号単位の構成を変更することを特徴とする請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段は、上記エラー訂正ブロックの上記第1のエラー訂正符号単位の設定、及び上記第2のエラー訂正符号単位の設定において、その構成を変更するときは、構成バイト数、構成セクタ数、パリティセクタ数、あるいはインターリーブ構成を変更することを特徴とする請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段は、エラー訂正ブロック構成を、上記ディスク記録媒体上において可変とすることを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記ディスク記録媒体は、半径位置に応じてトラック上のセクタ数が相違するゾーンビットレコーディング方式により構成されることを特徴とする請求項1、請求項2、又は請求項3に記載のデータ記録再生装置。
- 上記エラー訂正手段は、エラー訂正ブロック構成を、上記ディスク記録媒体上のゾーン毎に異なる構成とすることを特徴とする請求項17に記載のデータ記録再生装置。
- 上記エラー訂正手段は、スリップが存在するトラックにおける上記第2のエラー訂正符号単位の構成を、上記ディスク記録媒体上のゾーンに応じて設定することを特徴とする請求項17に記載のデータ記録再生装置。
- 上記エラー訂正手段は、スリップが存在するトラックにおける上記第2のエラー訂正符号単位の構成を固定値により設定することを特徴とする請求項17に記載のデータ記録再生装置。
- 同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生方法として、
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップとを備え、
上記エラー訂正ステップでは、所定のデータ量単位に対する第1のエラー訂正符号単位を、ディスク記録媒体上に発生したスリップの情報に応じて設定してエラー訂正ブロックを形成することを特徴とするデータ記録再生方法。 - 上記エラー訂正ステップではさらに、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成することを特徴とする請求項21に記載のデータ記録再生方法。
- 上記エラー訂正ステップでは、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、ディスク記録媒体上に発生したスリップの情報に応じて設定することを特徴とする請求項22に記載のデータ記録再生方法。
- 上記エラー訂正ステップでは、上記ディスク記録媒体上に所定長のスリップがあるか否かに応じて、上記第1のエラー訂正符号単位の設定を行うことを特徴とする請求項21又は請求項22に記載のデータ記録再生方法。
- 上記エラー訂正ステップでは、上記ディスク記録媒体上に所定長のスリップがあるか否かに応じて、上記第1のエラー訂正符号単位の設定及び上記第2のエラー訂正符号単位の設定を行うことを特徴とする請求項23に記載のデータ記録再生方法。
- 上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項21、請求項22、又は請求項23に記載のデータ記録再生方法。
- 上記エラー訂正ステップで形成されるエラー訂正ブロックはインターリーブ構造を備えることを特徴とする請求項21、請求項22、又は請求項23に記載のデータ記録再生方法。
- 上記エラー訂正ステップでは、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項21、請求項22、又は請求項23に記載のデータ記録再生方法。
- 上記データアクセスステップでは、上記シークステップによりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことを特徴とする請求項21、請求項22、又は請求項23に記載のデータ記録再生方法。
- 上記データアクセスステップでは、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項29に記載のデータ記録再生方法。
- 同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生処理をコンピュータシステム上で実行するためにコンピュータ可読形式で記述されたプログラムとして、
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップとを備え、
上記エラー訂正ステップでは、所定のデータ量単位に対する第1のエラー訂正符号単位を、ディスク記録媒体上に発生したスリップの情報に応じて設定してエラー訂正ブロックを形成するようにしたことを特徴とするプログラム。 - 上記エラー訂正ステップではさらに、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成することを特徴とする請求項31に記載のプログラム。
- 上記エラー訂正ステップでは、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、ディスク記録媒体上に発生したスリップの情報に応じて設定することを特徴とする請求項32に記載のプログラム。
- 上記エラー訂正ステップでは、上記ディスク記録媒体上に所定長のスリップがあるか否かに応じて、上記第1のエラー訂正符号単位の設定を行うことを特徴とする請求項31又は請求項32に記載のプログラム。
- 上記エラー訂正ステップでは、上記ディスク記録媒体上に所定長のスリップがあるか否かに応じて、上記第1のエラー訂正符号単位の設定及び上記第2のエラー訂正符号単位の設定を行うことを特徴とする請求項33に記載のプログラム。
- 上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項31、請求項32、又は請求項33に記載のプログラム。
- 上記エラー訂正ステップで形成されるエラー訂正ブロックはインターリーブ構造を備えることを特徴とする請求項31、請求項32、又は請求項33に記載のプログラム。
- 上記エラー訂正ステップでは、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項31、請求項32、又は請求項33に記載のプログラム。
- 上記データアクセスステップでは、上記シークステップによりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことを特徴とする請求項31、請求項32、又は請求項33に記載のプログラム。
- 上記データアクセスステップでは、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項39に記載のプログラム。
- 所定のデータ量単位に対して第1のエラー訂正符号単位が設定されてエラー訂正ブロックが形成されるとともに、
上記エラー訂正ブロックにおいて、上記第1のエラー訂正符号単位の構成は同心円状又はスパイラル状に形成された各記録トラック上に発生しているスリップの情報に応じて設定されており、
上記エラー訂正ブロックの構成を有するデータが、上記各記録トラックに記録されること特徴とする記録媒体。 - 上記エラー訂正ブロックは、複数個の上記第1のエラー訂正符号単位と、複数個の上記第1のエラー訂正符号単位に対して付加された第2のエラー訂正符号単位からなることを特徴とする請求項41に記載の記録媒体。
- 上記エラー訂正ブロックにおいて、複数個の上記第1のエラー訂正符号単位に対する第2のエラー訂正符号単位も、上記スリップの情報に応じて設定されていることを特徴とする請求項42に記載の記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004044831A JP2005235334A (ja) | 2004-02-20 | 2004-02-20 | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004044831A JP2005235334A (ja) | 2004-02-20 | 2004-02-20 | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005235334A true JP2005235334A (ja) | 2005-09-02 |
Family
ID=35018120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004044831A Pending JP2005235334A (ja) | 2004-02-20 | 2004-02-20 | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005235334A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022141093A (ja) * | 2021-03-15 | 2022-09-29 | 株式会社東芝 | 磁気ディスク装置及びリード/ライト処理方法 |
-
2004
- 2004-02-20 JP JP2004044831A patent/JP2005235334A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022141093A (ja) * | 2021-03-15 | 2022-09-29 | 株式会社東芝 | 磁気ディスク装置及びリード/ライト処理方法 |
JP7512225B2 (ja) | 2021-03-15 | 2024-07-08 | 株式会社東芝 | 磁気ディスク装置及びリード/ライト処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6115788A (en) | Multi-drive array with improved data transfer rate performance | |
JP3760899B2 (ja) | データ記録再生装置及びデータ記録再生方法、並びにコンピュータ・プログラム | |
JP2008243269A (ja) | ディスク・ドライブ装置及びそのデータの再書き込み方法 | |
JP4158717B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
KR101071853B1 (ko) | 데이터 레코딩/재생장치, 데이터 레코딩/재생방법, 및 레코딩 매체 | |
US7308637B2 (en) | Data recording/reproducing device, data recording/reproducing method, program, and recording medium | |
JP2004103127A (ja) | 情報記録媒体のセクタの再配置方法および情報記憶装置 | |
US6775090B2 (en) | Adapting logical track addresses in relation to head offsets | |
JP3329289B2 (ja) | ディスクドライブ装置及びその製造方法、ディスクドライブ装置のシーク制御方法、ディスクドライブ制御装置 | |
JP2006127635A (ja) | 情報記憶装置 | |
JP2007280595A (ja) | リトライモードでの磁気ヘッドの飛行高さの制御装置、制御方法、記録媒体及びディスクドライブ | |
JP2007250054A (ja) | 情報記録方法、書込制御回路及び情報記憶装置 | |
JP2005346816A (ja) | データ記憶装置及びその制御方法 | |
JP4269844B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4075713B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4598417B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2006031825A (ja) | 記録再生制御方法、記録再生制御装置 | |
JP2005235334A (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4082308B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4694774B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP3307529B2 (ja) | データ処理方法及びデータ記憶装置 | |
JP2006146976A (ja) | 記録再生システム、誤り訂正装置、記録再生方法 | |
JP2002216426A (ja) | 情報記録システム | |
JP2009093756A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置の製造方法 | |
JP2009099158A (ja) | ディスク再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080311 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080507 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080507 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080617 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080711 |