JP2005259311A - データ記録再生装置、データ記録再生方法、プログラム、記録媒体 - Google Patents
データ記録再生装置、データ記録再生方法、プログラム、記録媒体 Download PDFInfo
- Publication number
- JP2005259311A JP2005259311A JP2004073235A JP2004073235A JP2005259311A JP 2005259311 A JP2005259311 A JP 2005259311A JP 2004073235 A JP2004073235 A JP 2004073235A JP 2004073235 A JP2004073235 A JP 2004073235A JP 2005259311 A JP2005259311 A JP 2005259311A
- Authority
- JP
- Japan
- Prior art keywords
- error correction
- sectors
- data
- track
- control information
- 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.)
- Granted
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
Abstract
【解決手段】 第1のエラー訂正符号単位と第2のエラー訂正符号単位を用いることによって、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行う。また、エラー訂正ブロックの構成は、アクセスするトラックにおけるセクタ数に応じて設定する。例えばC2セクタ数やインターリーブ構造をセクタ数に応じて設定する。
【選択図】 図8
Description
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書き込みを行い、あるいはデータを読み出すことができる。
そして最近では、HDDの大容量化が進んできている。これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたAVコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって0,1,…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという問題がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
この場合、HDD側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
大きなデータがメディア上に連続して書き込まれている場合には、読み出し時の先読み動作が有効に働く。
通常のディスクドライブでは、このシーク時間と回転待ち時間を短縮するために、ディスクの回転数を上げることが行われている。これは、コンピュータなどのホスト側で扱われるデータ量やデータ構造に規則性がないため、アクセス方法による改善を行うことが困難であるからである。しかしディスクの回転数を上げる方式では、電力消費や記憶容量の面において不利であり、問題となる。
しかしながら、このようなリトライ動作は、1周回転待ちして再読み込みを行う必要がある。このため、さらにデータ読み出し時間の遅れを発生させることになる。
例えば、AVコンテンツを扱うシステムにおいて、HD(ハイビジョン画質)の再生やあるいは特殊再生を行うなど、高転送速度が要求される状況があり、セクタ内において訂正不能な読み取りエラーが発生しても時間的にリトライを行うことが出来ない場合がある。このようなとき、現状では、エラー訂正が行われないまま処理を進める他なく、この結果、再生品質は悪くなった。
また上記特許文献1には、記録するデータブロックの重要度を示す情報を持たせ、この情報に基づいて、重要であるデータブロックについてはエラー訂正能力を増加させ、それ以外は通常の訂正能力とする等の切換を行う技術が開示されている。
これらの技術は、特にAVコンテンツを扱うシステム等において或る程度適切に機能するが、リトライの回避やエラー訂正においてより効果的な技術が求められている。
このように、さらに細かいフォーマット構成とすることによって、HDDの記録密度は向上すると共に、歩留まりについても改善が期待される。
それに伴って、エラー訂正能力についても、ディスク全周にわたっての高効率化、及び品質向上が望まれてくる。
そして、上記高密度化の要求は、このような事情にも対応することが求められ、そのディスクフォーマットは例えば、HDDの個々で異なるスリップの情報を含めたうえ、さらに効率のよいエラー訂正ブロックの構成が望まれている。
即ち、所望のデータ記憶場所へのアクセス時間の短縮を図る。
また、転送速度を低下させることなく安定したデータ再生を行う。
また、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とすることでリトライ動作を回避して転送速度の低下を少なくし、安定したデータ再生を行うことができるようにする。
また、フォーマット構成の細分化に対応できるエラー訂正方式を実現する。
特に上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて上記制御情報を発生させる。上記データアクセス手段がアクセスする範囲のセクタ数とは、上記データアクセス手段がアクセスする1トラックのセクタ数、又は、上記データアクセス手段がアクセスする、連続したアドレスもしくは連続したトラック番号が与えられた物理的に連続するデータ範囲としてのユニットにおけるセクタ数である。
より具体的には、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数やインターリーブ内容(インターリーブ分割数や各インターリーブにおける第2のエラー訂正符号のセクタ数など)を指示する上記制御情報を発生させる。
上記エラー訂正手段は、上記制御情報に応じて第2のエラー訂正符号単位のセクタ数を設定し、またインターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成する。
或いは、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に対する演算処理により、上記第2のエラー訂正符号単位のセクタ数又はインターリーブ分割数を指示する上記制御情報を発生させる。
これらの場合において、上記第2のエラー訂正符号単位のセクタ数は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、所定の冗長度の割合により算出された数値から導かれる正の整数とする。
この場合上記データアクセス手段は、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する。
また、この場合、上記エラー訂正手段は、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じて上記制御情報、例えば第2のエラー訂正符号単位のセクタ数やインターリーブ分割数を指示する制御情報を発生させる。
上記データアクセスステップでアクセスする範囲のセクタ数とは、上記データアクセスステップでアクセスする1トラックのセクタ数、或いは上記データアクセスステップでアクセスする、連続したアドレスもしくは連続したトラック番号が与えられた物理的に連続するデータ範囲としてのユニットにおけるセクタ数である。
また上記データアクセスステップでは、上記シークステップによりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行う。
その際、上記データアクセスステップでは、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する。
またこの場合、上記エラー訂正ステップでは、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
即ち、第1のエラー訂正符号(C1)単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第2のエラー訂正符号(C2)単位を用いることによりセクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。すなわち、エラー訂正ブロック構成をC1+C2とすることによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、C1でエラー訂正が不能となった際に、さらにC2でエラー訂正を行うことができるので、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。
さらに、エラー訂正ブロック構成、特にC2セクタ数が、アクセスする範囲(例えば1トラック)のセクタ数に応じて設定されることで、記録再生ヘッド、記録面、ゾーン、或いはスリップの影響などを含んで、細分化されたセクタフォーマットに対応することができる。つまりエラー訂正能力のバラツキが発生することを回避して効率の良いエラー訂正を実現したり、転送レート上好適とすることができる。
特にこの場合、上記データアクセス手段が、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することで、トラックのどのセクタからでもアクセスを行うことができるので、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
また、書込や読出の要求元(例えば、HDDに接続されているコンピュータなどのホスト装置)は、ディスク上のセクタ・アドレスを意識する必要がない。また、データサイズが短くて済む相対位置アドレスを用いることにより、記憶領域の有効利用を図ることができる。
また、読み出しアクセス時には、トラック上の各セクタから読み出したデータを、例えばバッファメモリ上で相対位置アドレスに従って再配置することによって、アクセスを開始したセクタの位置に拘わらず、元のデータを組み立てることができるが、この場合、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるようにエラー訂正ブロックを形成することが適切である。
即ち、第1のエラー訂正符号(C1)単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第2のエラー訂正符号(C2)単位を用いることによって、セクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。これによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、適切にエラー訂正ができ、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。
さらに、エラー訂正ブロック構成として第2のエラー訂正符号(C2)単位のセクタ数やインターリーブ構造(例えばインターリーブ分割数)が、アクセスする範囲のセクタ数に応じて設定されることで、記録再生ヘッド、記録面、ゾーン、スリップ状況など、実際のアクセス範囲の状況に応じてエラー訂正ブロックが最適化されることになり、つまりエラー訂正能力のバラツキが発生することを回避したり、効率の良いエラー訂正を実現することができ、また効率の良いディスクフォーマットを実現できる。また効率の良いエラー訂正ブロックとなることは不用なほど冗長度が高くなることも避けられることになるため、転送レートの点でも好適となる。これらによって、よりいっそう安定したシステムを提供することができる。
或いは、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に対する演算処理により、上記第2のエラー訂正符号単位のセクタ数又はインターリーブ分割数を指示する上記制御情報を発生させるようにすれば、上記データテーブルを備えなくてもよい。
また、制御情報で指示する上記第2のエラー訂正符号単位のセクタ数は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、所定の冗長度の割合により算出された数値から導かれる正の整数とすることが適切である。
特にこのアクセス方式の場合、エラー訂正ブロックの構成は1トラックのセクタ数に応じて設定されればよく、それにより上記効果を得ることができる。
1.ハードディスク装置の構成
2.アクセス動作
3.ECC構成
4.セクタ数に応じたECCブロック設定
5.適用例
図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バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
このECC制御情報発生部26は、特に第2のエラー訂正符号C2のセクタ構造やインターリーブ構造を指示する制御情報を発生する部位である。
ECC制御情報発生部26は、制御情報生成に用いるテーブルを記憶する場所を、例えばROM/RAM12とし、その制御を例えばCPU11によって行うことで、その機能が実現される。
このECC制御情報発生部26からの制御信号によって、記録再生されるフォーマットが決定する。フォーマットとは例えば、トラック単位のセクタ数をまとめてECCブロックとし、そこにはセクタ間のエラー訂正を行うためのC2セクタを持つ形式とされる。そのC2セクタ数は、あらかじめ与えられている、ディスク21上のトラック毎のセクタ数情報にもとづいて決定される。
またトラック毎のセクタ数情報の形式は例えば、各トラックにおけるセクタ数のほか、LBAによるシステムの場合では、各トラックの先頭LBAアドレスを記憶してもよい。結局、トラック毎のセクタ数が判る形式であれば如何なる形式でも良い。
また、トラック毎のセクタ数情報と、実際に決定するパリティ数(C2セクタ数)を関係づける情報とは、テーブル形式で持つほか、入力セクタ数に対して決定パリティ数を出力するような計算式で持っていても良い。テーブルや計算式については後述する。
また、これら制御情報の発生のための情報、つまりテーブルや計算式を、CPU11に付随するROM/RAM12ではなく、例えば磁気ディスク21に記憶しておく場合は、起動時に、磁気ディスク21から読み出しを行い、バッファRAM14に格納するようにしてもよい。
図2には、ZBR方式の一例を示している。
同図に示す例では、ディスクを3つのゾーンに区切っており、最外周から順にゾーン0,1,2とゾーン番号が与えられている。さらに、各ゾーン内には複数本のトラックが含まれている。
また図2において、各ゾーンをセクタで区切っているが、この場合(あくまで模式的な例として)、ゾーン0は32セクタで構成され、同様に、ゾーン1は16セクタ、ゾーン2は8セクタでそれぞれ構成されている。ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ24の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
ホストコントローラ32は、インターフェース17を介して接続されるホストとの通信を行う。
バッファコントローラ33は、バッファRAM14と、ディスクコントローラ13内の各部間でのデータのやりとりを制御する。
サーボコントローラ34は、VCM(ボイスコイルモータ)23及びSPM(スピンドルモータ)24の動作を制御することによって、磁気ディスク21上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部15へ渡す。
ディスクフォーマッタ35は、バッファRAM14上のデータを磁気ディスク21に書き込んだり、あるいは磁気ディスク21からデータを読み出したりするための制御を行う。
ECCコントローラ36は、バッファRAM14に格納されているデータより、書き込み時にはECC符号を生成して付加し、また読み出し時にはエラー訂正を行う。
即ちディスクコントローラ13は、ECC制御情報発生部26によるC2セクタ数やインターリーブ内容の制御情報をCPUインターフェース31を通して受け取る。そしてディスクフォーマッタ35へは、決定したC2セクタ数に基づくフォーマッタ制御情報が、またECCコントローラ36へは、決定したC2セクタ数に関する情報が、すなわち必要な情報が、それぞれ送られる。
また、ECC制御情報発生部26によるECC切替の制御情報は、第1のエラー訂正符号C1および、第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報であり、この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
例えばアクセスするトラックのセクタ数によってECCブロック構成が設定されるということは、つまり記録再生を行うトラックの状況(記録面、記録再生を行うゾーン、記録再生を実行するヘッド、スリップ状況等)に応じて、ECCブロック構成が切り換えられることを意味する。
また、ECC制御情報発生部26によるECC切替の制御情報は、トラック単位で完結するECCブロック構成の設定を行うための情報であり、この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
また、これら制御情報の発生のための情報、つまりテーブルや計算式を、例えば磁気ディスク21に記憶しておく場合は、起動時に、磁気ディスク21から読み出しを行い、バッファRAM14に格納するようにしてもよい。その場合、ディスクコントローラ内で、セクタ数に応じたECC切替の制御情報が生成され、ECCコントローラ36等に供給されるものでも良い。つまりECC制御情報発生部26としての機能が、ディスクコントローラ13内で実現されても良い。
(1)トラック毎のセクタ数にもとづく決定C2セクタ数を持った、そのトラックの固有の情報。
(2)ある所定単位とされるユニットのセクタ数にもとづく決定C2セクタ数を持った、そのユニットの固有の情報。
ここで、ユニットとは、例えばある画像や音声などに適応させてある、所定処理データの単位などとしてのひとつの大きな単位のこととする。このユニットは、磁気ディスク21内の物理的にまとまった位置で与えられ、LBA方式ならば、ある連続したLBA番号であるし、相対アドレスアクセス方式であれば、ある連続したトラックの範囲となる。また、そのユニットには、例えばゾーンの切替といった大きくセクタ情報の変動することのないエリア内として選定される。
上記のように、アクセス方式としてはLBAに基づくアクセス方式と、トラック単位で相対アドレスを用いたアクセス方式が考えられる。LBAに基づくアクセス方式とは通常、多くのHDDで採用されているアクセス方式であるため、詳述は避けるが、ここでトラック単位で相対アドレスを用いたアクセス方式について説明しておく。
これにより、1トラック上のどのセクタからでもアクセスを開始することができる。すなわち、1トラックをアクセス単位とすることによって、先読みという不確定要素からなる処理を行う必要をなくして、シーク起動のタイミングを確実に決定することができる。また、1トラックのどのセクタからでもアクセスを行うことによって、回転待ちを行わなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間を短縮させることができる。
また、読み出しを行う際には、アクセスを開始したセクタから読み出しを行い、相対位置セクタ番号に基づいて、バッファRAM14上に展開する。このため、どのセクタから読み出しを始めても良い。
図4(a)に示すように、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのECCとで構成され、これら全体をエラー訂正範囲及び記録範囲とする。
相対位置データをヘッダとしてエラー訂正範囲に含めることにより、例えばセクタ内でランダムエラーが発生した場合であってもエラー訂正により相対位置データを回復することができるので、円滑なディスクアクセス動作を実現することができる。
また、一般に、セクタはセクタの番地を記録するためのIDフィールドを持つが、絶対位置ではなく相対位置を記録するので、IDフィールドのサイズを縮小することができる。その分だけセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
また、読み出しを行うときには、トラック上でアクセスを開始したセクタから読み出しを行い、相対位置フィールドによって得られたセクタ位置に基づいて、バッファRAM14上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファRAM14上では相対位置に基づいてデータを再配置することによって、トラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
この場合も、上述と同様に、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのECCとで構成される。但し、これら全体をエラー訂正範囲とするが、図4(a)に示した例と相違し、相対位置フィールドを記録範囲に含まない。したがって、相対位置フィールドがなくなる分だけ、さらに上述した例よりもセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
また、読み出しを行うときには、アクセスを開始したセクタから読み出しを行い、ECCを用いてエラー訂正を行うことによって、セクタには書き込まれなかった相対位置を再生成する。そして、この相対位置に基づいて、バッファRAM14上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファRAM14上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
本例のHDD10は、インターフェース17経由で接続されたホストからのコマンドによってデータ書き込みを行うときの通信例は、次のようになる。
まずホストは、HDD10に対してデータの書き込みコマンドを発行する。これに応答して、HDD10は現在のアクセスシーケンスからシーク時間が最小となるアドレス領域を応答する。
ホストは、HDD10からの応答を受けると、指示されたアドレス領域の大きさ(バイト数,セクタ数など)のデータコンテンツを転送する。HDD10は、受信したデータコンテンツをトラック単位で書き込み動作を行う。
また、HDD10側からホストに通知されるアドレス領域は、例えば、ホストからデータ書き込み要求されるコンテンツを識別するコンテンツ番号などの簡素なものでよい。
HDD10側では、各コンテンツ番号とディスク21上での物理的な記録場所との変換テーブルを用意しておく。
トラック単位でディスクアクセスを行うことから、コンテンツ番号との変換テーブルは、例えば図5に示すようなものとなる。即ち、コンテンツ番号に対応してトラック番号やヘッド番号が登録されていく。
この変換テーブルは、バッファRAM14内に書き込まれる。変換テーブルの書き込みは、ホストから書き込みデータを受け取った時点で、ディスクコントローラ13又はCPU11が実行するソフトウェアによって行われる。
ホストは、HDD10に対してデータの読み出しコマンドを発行する。読み出しコマンドでは、目的とするコンテンツ番号が指定されている。
これに対し、HDD10は、コンテンツ番号に基づいて上記図5の変換テーブルから目的とするトラックを特定して、磁気ヘッド22のシーク動作を行う。そして、データ書き込み時に応答したアドレス領域のシーケンスに従い、ディスク21上のデータを転送する。
このデータ読み出し要求の際、ホスト側は、所望のコンテンツ番号を指定するだけで、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書き込み場所(PBA)を意識する必要はない。
このようなディスクアクセスオペレーションは、ディスクコントローラ13が、CPU11によるコマンド処理結果に応じて、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示することによって実現される。
上述してきたようにHDD10が1トラックを単位としてアクセスを行う場合、磁気ディスク21上には1トラックを基本単位としたECCブロックが形成されることが適切となる。
なお、LBAに基づくアクセス方式が採用される場合は、必ずしも1トラックを基本単位としたECCブロックが形成される必要はないが、もちろん1トラックを基本単位としてもよい。
ここでは、1トラックを基本としたECCブロックの例を説明する。
図6(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周分の有効なセクタ数を、800セクタとする。1セクタは例えば、512バイトのデータに4バイトのCRC(クロスチェックコード)、並びに合計で48バイトのC1を付加し、4インターリーブで構成してある。
このような構成としたとき、1つのECCブロックは合計800セクタとなって、このゾーン内において1周分となり、トラック単位を実現させることが出来る。
ランダムエラーに対してはC1を利用することによって、セクタ当たり最大24バイトまで(バイトの消失情報が得られる場合は最大48バイトまで)の訂正が可能である。
さらに、バーストエラーに対しては、C2を利用することによって、トラック当たり最大24セクタまで(CRCの結果を利用することで最大48セクタまで)の長さのエラー訂正が可能となる。
従来のHDDのシステムの多くにおいては、エラー訂正が、512バイトデータと情報ビットからなる1セクタ単位においてのみ行われている。
したがって、各セクタ内に発生するランダムエラーに対してはエラー訂正を行うことができるが、訂正可能範囲を越えたランダムエラーや、あるいはバーストエラーすなわちセクタを越えて長く連続したエラーに対しては、エラー訂正を行うことが出来なかった。
ここで、上述のようなトラック単位アクセスによってアクセス時間の短縮がなされたにもかかわらず、リトライ動作が発生すると、結局アクセス時間は増加し、データ読み出し時間の遅れを発生させる結果となる。
例えばHD(ハイビジョン画質)の再生や特殊再生時といったAVコンテンツを扱う場合において、高転送速度が要求されるとき、訂正不能な読み取りエラーが発生しても時間的にリトライ動作を行う余裕のないときがある。このような場合、現状では、読み取りエラー訂正が行われないまま処理を進めている。この結果、再生品質は悪くなってしまう。
つまり、従来の1セクタ単位のエラー訂正であるC1訂正に加えて、セクタ間の訂正を行うことが可能なC2訂正を付加する。そして、C1+C2からなる、エラー訂正単位(ECCブロック)を例えばトラックで完結するような構成をとる。
例えばECCブロックが1トラック単位で形成されるとし、ある1トラックが800セクタの場合のECCブロックを上記図7に示した。
但し、磁気ディスク21上の全トラックが800セクタであるということはない。実際には、ゾーンに応じて1トラックのセクタ数が異なることに加え、高密度化や高効率化のためにディスクフォーマットが細分化される場合がある。例えばディスク面毎、記録再生ヘッド毎などに記録密度を可変としたり、さらに1つの記録面でより詳細にゾーン分割したり、或いはゾーン構成をディスク面毎に異なるものとする場合もある。さらには、スリップとして或るセクタ区間が削除(無効化)されているトラックもある。
つまりは、高密度化等の要求に応じたフォーマットの細分化やスリップの影響を考えると、磁気ディスク21の各トラックにおけるセクタ数は多様となっている。
本例ではこのような事情においても、効率のよいエラー訂正ブロックを実現するため、トラックあたりのセクタ数に応じてECCブロック構成の設定を行うようにしている。
つまり図1に示したECC制御情報発生部26は、アクセスしようとするトラックのセクタ数の情報に基づいて、以下述べるようにC2セクタ数やインターリーブ分割数を指示する制御情報を発生させ、図3で述べたように、それをECCコントローラ36等に供給して効率の良いECCブロックを形成させるものである。
まずテーブル参照する場合のテーブルの例を図8に示す。
この図8のテーブルは、1トラックあたりのセクタ数として1〜1020セクタについて、それぞれC2セクタ数とインターリーブ分割数を示したテーブルとしている。上述したようにこのようなテーブルが、例えばROM/RAM12に記憶される。
C2セクタ数は、トラックあたりのセクタ数に冗長度を乗算し、その結果の小数点第1位を四捨五入して得た整数としている。
例えばトラックあたりのセクタ数として、1,2,3・・・にそれぞれ冗長度6%を乗算していくと、
1×0.06=0.06
2×0.06=0.12
3×0.06=0.18
4×0.06=0.24
5×0.06=0.30
6×0.06=0.36
7×0.06=0.42
8×0.06=0.48
9×0.06=0.54
10×0.06=0.60
11×0.06=0.66
(以下、略)
となっていくが、この場合、セクタ数1〜8までは、乗算結果が四捨五入により「0」になるため、図8に示すようにセクタ数1〜8の場合は、C2セクタ数=0とする。
同様にして、セクタ数9〜24はC2セクタ数=1、セクタ数25〜41はC2セクタ数=2、・・・というように図示するようになる。
即ち図示するように、セクタ数1〜255の場合はインターリーブ分割数=1、セクタ数256〜510の場合はインターリーブ分割数=2、セクタ数511〜765の場合はインターリーブ分割数=3、セクタ数766〜1020の場合はインターリーブ分割数=4とした。
2n −1
例えば8ビットでは、28−1=256−1=255、であることから、上記のように255セクタを最大とし、以降、255増える毎にインターリーブ分割数を1増やしていく。
この図8の場合、各インターリーブに与えられるC2セクタ数は同数としている。
なお、図においてインターリーブ当たりのC2セクタ数(C2/Intv)の表記を、インターリーブ分割数=2の場合はx・x、インターリーブ分割数=3の場合はx・x・x、インターリーブ分割数=4の場合はx・x・x・x、としているが、これは各インターリーブに与えられるC2セクタ数が「x」であることを表している。
セクタ数256〜510の場合は、インターリーブ分割数=2である。このときインターリーブ当たりのC2セクタ数(C2/Intv)、つまり2つの各インターリーブに与えられるC2セクタ数は、C2セクタ数を分割数(=2)で割った整数部分とすることで、各インターリーブにおいて同数としている。
例えばセクタ数256〜258では、C2セクタ数「15」を2で割った整数部分をインターリーブ当たりのC2セクタ数(C2/Intv)とするため、各インターリーブでのC2セクタ数は「7」となる(図では「7・7」と表記)。
またセクタ数542〜558では、C2セクタ数「33」を3で割った整数部分をインターリーブ当たりのC2セクタ数(C2/Intv)とするため、各インターリーブでのC2セクタ数は「11」となる(図では「11・11・11」と表記)。
C2セクタ数は、セクタ数×冗長度の結果に対し、四捨五入して整数値とする。
インターリーブ分割数は255セクタ単位で、これを超えたときに+1ずつ増える。
即ちインターリーブ分割=整数部{(セクタ数−1)÷255}+1
インターリーブ当たりC2セクタ数は、C2セクタ数の算出結果を、各インターリーブで割った整数部とする。
即ち、各インターリーブ当たりC2セクタ=整数部(セクタ数÷インターリーブ数)
そしてディスクコントローラ13内のECCコントローラ36は、供給されたインターリーブ及びC2セクタ数の情報に基づいて、ECC処理を行うことで、トラックに応じたECC処理が実現される。
これに対して、インターリーブ毎でのC2セクタ数を同一とするという条件をなくせば、より詳細にC2セクタ数を反映させることができる。
これを別例として図9に示す。
図9においては、インターリーブ当たりのC2セクタ数(C2/Intv)として、その総計が、冗長度6%で算出されたC2セクタ数と一致するように配分する例である。
例えばセクタ数256〜258の場合は、インターリーブ当たりのC2セクタ数(C2/Intv)を「7・8」とする。つまり一方のインターリーブ構造ではC2セクタを7セクタ配し、他方のインターリーブ構造ではC2セクタを8セクタ配するものとする。これによって、そのトラックのC2セクタの数を、15セクタとする。
同様に例えばセクタ数511〜524の場合、C2セクタ数は31となるが、これに対して、3つのインターリーブにおけるC2セクタ数を「10・10・11」とすることで、総計で31セクタとなるようにする。
このように設定すれば、さらに意図する冗長度に近い状態でECCブロック設定ができることになり、より効率の良いECC構成とできる。
すなわちC2セクタ数は、(セクタ数×冗長度)の結果の小数部を切り捨てたものでもよい。
例えば
n=4では、1/24=1/16=0.0625 ・・・ 6.25%
n=5では、1/25=1/32=0.03125 ・・・ 3.125%
である。
冗長度を6.25%、或いは3.125%とする場合、トラックあたりのセクタ数に対してC2セクタ数が図10のように表される。
図10ではトラックあたりのセクタ数0,1,2・・・(10進表記)を12ビット値で表している。そしてその場合、各セクタ数に対するC2セクタ数は、12ビットのセクタ数をnビットだけシフトした値となる。
つまり冗長度を6.25%とする場合、12ビット値を4ビットシフトした8ビット値がC2セクタ数を示すものとなり、また冗長度を3.125%とする場合、12ビット値を5ビットシフトした7ビット値がC2セクタ数を示すものとなる。
このようにすれば、ECC制御情報発生部26を簡単なハードウエアないしはテーブルで構成することが可能である。
ここでは、シンボル長8のリード・ソロモン符号では一般に最大数255までを処理単位とすることができることより、以下の例として示している。
上記図8の場合、540セクタに対しては、インターリーブ分割数=3が与えられる。またC2セクタ数は32セクタであるが、3つの各インターリーブにおけるC2セクタ数を同数とすることで、それぞれ10セクタとなる。つまり、合計30セクタがC2セクタとなる。
従ってこの場合、図11(a)のように、トラックnにおける540セクタに対して510セクタがデータセクタとされ、30セクタがC2セクタとされる。
そしてインターリーブ分割数=3であるため、図11(b)のようなインターリーブ0、1,2のインターリーブ構造とされる。
例えばインターリーブ0では、510セクタを3分割した170セクタのデータセクタに、10セクタのC2セクタが付加されて構成される。インターリーブ1,2も同様である。
そして、トラック内のセクタ配置を、0番目にはインターリーブ0、1番目にはインターリーブ1、2番目にはインターリーブ2、そして3番目には再びインターリーブ0、・・・のように順に並べる。データセクタの後ろには連続して作成したC2セクタを同様にして順に並べる。
図11(b)はインターリーブで分解したものを示しており、また、図11(c)にはメモリ上にアドレス0から539まで割り振ったときの配置を示している。
図9の場合、540セクタのトラックに対しては、インターリーブ分割数=3が与えられる。またC2セクタ数は32セクタであり、これが3つの各インターリーブに配分される。つまり、各インターリーブにおけるC2セクタ数は10・11・11となる。そして32セクタがC2セクタとなるため、トラックnにおける540セクタに対して508セクタがデータセクタとされる。
従って図12のようなインターリーブ0、1,2のインターリーブ構造とされる。
例えばインターリーブ0では、170セクタのデータセクタに、10セクタのC2セクタが付加されて構成される。インターリーブ1,2は、169セクタのデータセクタに、11セクタのC2セクタが付加されて構成される。
いずれにしても、これら付加情報がセクタの単位で与えられているとき、同様にして適用することができる。
また、1セクタのバイト数についても、現在は一般的には1セクタは512バイトのデータであるが、もちろんこの限りではなく、例えば1024バイト、あるいは2048バイトを1セクタのデータとした場合においても、上記と同様にしてセクタ毎及びセクタ間に構成されたECCブロックを実現することができる。
図13は、データ書込又は読出時においてCPU11、ディスクコントローラ13を中心とした図1の各部の動作によって実現される処理を示している。
なお、事前処理としては、磁気ディスク21のトラック毎のセクタ数情報が必要であるが、これはあらかじめ与えてられている。このセクタ数情報が記憶されている場所としては、例えば内蔵メモリ(ROM/RAM12等)であり、あるいは、磁気ディスク21の所定の領域である。
先ずステップF101で書き込み先の目標トラックが設定されると、ステップF102では、そのトラックに対するセクタ数情報を参照する。参照先は、上記のとおり、例えばROM/RAM12、あるいは磁気ディスク21のあらかじめ割り当てられた領域などである。
次にステップF103では、ECC制御情報発生部26の機能により、得られたセクタ数情報より、C2セクタ数とインターリーブ内容(分割数と各インターリーブにおけるC2セクタ割当)を決定するため、例えば図8又は図9のようなテーブルを参照する。なお、上述したようにテーブルを用いずに所定の計算式の演算処理を行っても良い。
ステップF103の処理により、ステップF104で、そのトラックにおけるC2パリティ数が決定するとともに、インターリーブ設定も決定する。
するとステップF105では、ECC制御情報発生部26からステップF104で決定された内容を示す制御情報がECCコントローラ36等に送られ、該当トラックに対するECCブロックフォーマットが確定する。そして書込、又は読出処理に進む。
書込時であれば、ECCコントローラ36は、指示されたC2セクタ数やインターリーブ内容に従ってECCブロックを生成することになる。そして書込処理に進む。
読出時であれば、ECCコントローラ36は、指示されたC2セクタ数やインターリーブ内容に従ったECCブロックフォーマットを確定する。そしてその後、該当トラックから読み出されてきたをデータに対して、当該ECCブロックフォーマットにおいてエラー訂正処理を行うことになる。
なお、ECCブロックフォーマットとしてのC2セクタ数やインターリーブ内容については、記録時と再生時において一致させておくことで、正常な処理が実現するものである。
本発明は上述した例に限定されず、以下のように各種の場合に適用できる。
HDDにおける磁気ディスク21の枚数は、2枚の場合を示したが、1枚、或いは3枚以上の場合も本発明は当然に適用できる。磁気ディスク21やヘッド22等の構成に限らず、あくまでもトラック(或いはユニット)のセクタ数に応じてECCブロックが設定されることで、磁気ディスクのトラック等の状況に応じた、効率の良いECCブロックが実現される。
例えばホストコントローラ内にECC制御情報発生部26としての機能を備えるようにし、外部インターフェース17を介して制御を行うような形式としてもよい。
さらに各例では、冗長度を固定の6%として示したが、たとえば、特定のエリアにおいて、より冗長度を増やしてエラー訂正能力を高めたりするなど、必ずしも固定としなくてもよい。いずれにしてもこれらのテーブルにおいて定めた冗長度よりC2セクタ数が決定されることは同様である。また、冗長度を変化させるということは、さらにいっそう、詳細にディスクの特性、あるいは、データの内容などに対して細分化した構成を持つことが可能となることも意味する。
このプログラムは、例えばROM/RAM12に予め記憶しておくことができる。或いは磁気ディスク21に記憶しておき、ROM/RAM12にロードされる形態も考えられる。
Claims (40)
- 同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生装置であって、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセスを行うデータアクセス手段と、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正手段と、
上記ディスク記録媒体に対する上記データアクセス手段によるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生手段とを備え、
上記エラー訂正手段は、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位の設定は、上記制御情報発生手段により発生された上記制御情報に基づいて行うことを特徴とするデータ記録再生装置。 - 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて上記制御情報を発生させることを特徴とする請求項1に記載のデータ記録再生装置。
- 上記データアクセス手段がアクセスする範囲のセクタ数とは、上記データアクセス手段がアクセスする1トラックのセクタ数であることを特徴とする請求項2に記載のデータ記録再生装置。
- 上記データアクセス手段がアクセスする範囲のセクタ数とは、上記データアクセス手段がアクセスする、連続したアドレスもしくは連続したトラック番号が与えられた物理的に連続するデータ範囲としてのユニットにおけるセクタ数であることを特徴とする請求項2に記載のデータ記録再生装置。
- 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数を指示する上記制御情報を発生させることを特徴とする請求項2に記載のデータ記録再生装置。
- 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じてインターリーブ内容を指示する上記制御情報を発生させるとともに、
上記エラー訂正手段は、上記インターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成することを特徴とする請求項2に記載のデータ記録再生装置。 - 上記制御情報発生手段は、セクタ数と、セクタ数に対応する第2のエラー訂正符号単位のセクタ数を記憶したデータテーブルを備え、
上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記データテーブルを参照し、上記第2のエラー訂正符号単位のセクタ数を指示する上記制御情報を発生させることを特徴とする請求項5に記載のデータ記録再生装置。 - 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に対する演算処理により、上記第2のエラー訂正符号単位のセクタ数を指示する上記制御情報を発生させることを特徴とする請求項5に記載のデータ記録再生装置。
- 上記第2のエラー訂正符号単位のセクタ数は、上記データアクセス手段がアクセスする範囲のセクタ数に対して所定の冗長度の割合により算出された数値から導かれる正の整数とされることを特徴とする請求項7又は請求項8に記載のデータ記録再生装置。
- 上記制御情報発生手段は、セクタ数と、セクタ数に対応するインターリーブ分割数を記憶したデータテーブルを備え、
上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記データテーブルを参照し、上記インターリーブ分割数を指示する上記制御情報を発生させることを特徴とする請求項6に記載のデータ記録再生装置。 - 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に対する演算処理により、インターリーブ分割数を指示する上記制御情報を発生させることを特徴とする請求項6に記載のデータ記録再生装置。
- 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数と、インターリーブ分割数を指示する上記制御情報を発生させるとともに、該制御情報において、インターリーブ分割数が2以上である場合、各インターリーブにおける第2のエラー訂正符号単位のセクタ数を同数とすることを特徴とする請求項2に記載のデータ記録再生装置。
- 上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数と、インターリーブ分割数を指示する上記制御情報を発生させるとともに、該制御情報において、インターリーブ分割数が2以上である場合、上記第2のエラー訂正符号単位のセクタ数を各インターリーブに振り分けることで、各インターリーブに対する第2のエラー訂正符号単位のセクタ数の合計が、上記アクセスする範囲のセクタ数に応じた上記第2のエラー訂正符号単位のセクタ数と一致するようにすることを特徴とする請求項2に記載のデータ記録再生装置。
- 上記エラー訂正手段はリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項1に記載のデータ記録再生装置。
- 上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことを特徴とする請求項1に記載のデータ記録再生装置。
- 上記データアクセス手段は、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項15に記載のデータ記録再生装置。
- 上記エラー訂正手段は、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項15に記載のデータ記録再生装置。
- 同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生方法として、
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップと、
上記ディスク記録媒体に対する上記データアクセスステップによるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生ステップとを備え、
上記エラー訂正ステップでは、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位の設定は、上記制御情報発生ステップにより発生された上記制御情報に基づいて行うことを特徴とするデータ記録再生方法。 - 上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じて上記制御情報を発生させることを特徴とする請求項18に記載のデータ記録再生方法。
- 上記データアクセスステップでアクセスする範囲のセクタ数とは、上記データアクセスステップでアクセスする1トラックのセクタ数であることを特徴とする請求項19に記載のデータ記録再生方法。
- 上記データアクセスステップでアクセスする範囲のセクタ数とは、上記データアクセスステップでアクセスする、連続したアドレスもしくは連続したトラック番号が与えられた物理的に連続するデータ範囲としてのユニットにおけるセクタ数であることを特徴とする請求項19に記載のデータ記録再生方法。
- 上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数を指示する上記制御情報を発生させることを特徴とする請求項19に記載のデータ記録再生方法。
- 上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じてインターリーブ内容を指示する上記制御情報を発生させるとともに、
上記エラー訂正ステップでは、上記インターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成することを特徴とする請求項19に記載のデータ記録再生方法。 - 上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項18に記載のデータ記録再生方法。
- 上記データアクセスステップでは、上記シークステップによりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことを特徴とする請求項18に記載のデータ記録再生方法。
- 上記データアクセスステップでは、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項25に記載のデータ記録再生方法。
- 上記エラー訂正ステップでは、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項25に記載のデータ記録再生方法。
- 同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生処理をコンピュータシステム上で実行するためにコンピュータ可読形式で記述されたプログラムとして、
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップと、
上記ディスク記録媒体に対する上記データアクセスステップによるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生ステップとを備え、
上記エラー訂正ステップでは、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位の設定は、上記制御情報発生ステップにより発生された上記制御情報に基づいて行うようにしたことを特徴とするプログラム。 - 上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じて上記制御情報を発生させることを特徴とする請求項28に記載のプログラム。
- 上記データアクセスステップでアクセスする範囲のセクタ数とは、上記データアクセスステップでアクセスする1トラックのセクタ数であることを特徴とする請求項29に記載のプログラム。
- 上記データアクセスステップでアクセスする範囲のセクタ数とは、上記データアクセスステップでアクセスする、連続したアドレスもしくは連続したトラック番号が与えられた物理的に連続するデータ範囲としてのユニットにおけるセクタ数であることを特徴とする請求項29に記載のプログラム。
- 上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数を指示する上記制御情報を発生させることを特徴とする請求項29に記載のプログラム。
- 上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲のセクタ数に応じてインターリーブ内容を指示する上記制御情報を発生させるとともに、
上記エラー訂正ステップでは、上記インターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成することを特徴とする請求項29に記載のプログラム。 - 上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項28に記載のプログラム。
- 上記データアクセスステップでは、上記シークステップによりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことを特徴とする請求項28に記載のプログラム。
- 上記データアクセスステップでは、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項35に記載のプログラム。
- 上記エラー訂正ステップでは、トラック当たりに2以上のエラー訂正ブロックが存在しないように、且つ、1又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項35に記載のプログラム。
- 所定のデータ量単位に対して第1のエラー訂正符号単位が設定され、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位が設定され、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックが形成されるとともに、該エラー訂正ブロックにおいて上記第2のエラー訂正符号単位は、データの書込/読出アクセスが行われる範囲におけるセクタ数に基づいて設定されており、
上記エラー訂正ブロックの構成を有するデータが、同心円状又はスパイラル状に形成されたトラックに記録されること特徴とする記録媒体。 - 上記データの書込/読出アクセスが行われる範囲におけるセクタ数とは、1トラックのセクタ数であることを特徴とする請求項38に記載の記録媒体。
- 上記データの書込/読出アクセスが行われる範囲におけるセクタ数とは、連続したアドレスもしくは連続したトラック番号が与えられた物理的に連続するデータ範囲としてのユニットにおけるセクタ数であることを特徴とする請求項38に記載の記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004073235A JP4598417B2 (ja) | 2004-03-15 | 2004-03-15 | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004073235A JP4598417B2 (ja) | 2004-03-15 | 2004-03-15 | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005259311A true JP2005259311A (ja) | 2005-09-22 |
JP4598417B2 JP4598417B2 (ja) | 2010-12-15 |
Family
ID=35084863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004073235A Expired - Fee Related JP4598417B2 (ja) | 2004-03-15 | 2004-03-15 | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4598417B2 (ja) |
-
2004
- 2004-03-15 JP JP2004073235A patent/JP4598417B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4598417B2 (ja) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101077520B1 (ko) | 데이터 기록 재생 시스템, 데이터 기록 재생 방법, 프로그램 및 기록 매체 | |
JP3760899B2 (ja) | データ記録再生装置及びデータ記録再生方法、並びにコンピュータ・プログラム | |
JP2008243269A (ja) | ディスク・ドライブ装置及びそのデータの再書き込み方法 | |
JP2006294163A (ja) | ディスク装置 | |
JPWO2003071534A1 (ja) | データ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラム | |
US7308637B2 (en) | Data recording/reproducing device, data recording/reproducing method, program, and recording medium | |
KR101071853B1 (ko) | 데이터 레코딩/재생장치, 데이터 레코딩/재생방법, 및 레코딩 매체 | |
JP2004103127A (ja) | 情報記録媒体のセクタの再配置方法および情報記憶装置 | |
KR20040075968A (ko) | 데이터 저장 장치 상의 데이터를 처리하기 위한 데이터저장 장치 및 방법 | |
JP2007250054A (ja) | 情報記録方法、書込制御回路及び情報記憶装置 | |
JP2003308644A (ja) | ディスク記憶装置及び同装置における代替セクタアクセス方法 | |
US7612960B2 (en) | Method for formatting data sectors on magnetic disk, and magnetic disk drive | |
JP4598417B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4269844B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2009223955A (ja) | 電源電圧供給回路及びディスク装置 | |
JP4075713B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4082308B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP4694774B2 (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2005235334A (ja) | データ記録再生装置、データ記録再生方法、プログラム、記録媒体 | |
JP2006031825A (ja) | 記録再生制御方法、記録再生制御装置 | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
JP4269915B2 (ja) | 記録再生装置及び方法、並びに記録再生システム | |
JP2006146976A (ja) | 記録再生システム、誤り訂正装置、記録再生方法 | |
JP2002216426A (ja) | 情報記録システム | |
JP2006012297A (ja) | 磁気ディスク装置のアクセス制御プログラム、このアクセス制御プログラムを用いたアクセス制御装置及び磁気ディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080124 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080305 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100824 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100924 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |