JP4598417B2 - Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium - Google Patents
Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium Download PDFInfo
- Publication number
- JP4598417B2 JP4598417B2 JP2004073235A JP2004073235A JP4598417B2 JP 4598417 B2 JP4598417 B2 JP 4598417B2 JP 2004073235 A JP2004073235 A JP 2004073235A JP 2004073235 A JP2004073235 A JP 2004073235A JP 4598417 B2 JP4598417 B2 JP 4598417B2
- Authority
- JP
- Japan
- Prior art keywords
- error correction
- sectors
- data
- control information
- correction code
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
Description
本発明は、ランダムアクセス可能な記録媒体のためのデータ記録再生装置及びデータ記録再生方法、並びにコンピュータプログラム、記録媒体に係り、特に、ハードディスクのようにメディアとしての磁気ディスク上で磁気ヘッドをスキャンさせながらデータの読み書き動作を行うディスク型記録媒体のための技術に関する。さらに詳しくは、本発明は、所望のデータ記憶場所へのアクセス時間の短縮を図りながら、安定したデータ記録再生を行う技術に関する。 The present invention relates to a data recording / reproducing apparatus, a data recording / reproducing method, a computer program, and a recording medium for a randomly accessible recording medium, and more particularly, to scan a magnetic head on a magnetic disk as a medium such as a hard disk. The present invention relates to a technique for a disk-type recording medium that performs data read / write operations. More specifically, the present invention relates to a technique for performing stable data recording / reproduction while shortening the access time to a desired data storage location.
情報処理や情報通信など情報技術の発達とともに、過去において作成・編集した情報についても再利用する必要が生じてきており、このために情報蓄積技術はますます重要となってきている。いままで、磁気テープや磁気ディスクなどさまざまなメディアを利用した情報記録装置が開発され普及している。 With the development of information technology such as information processing and information communication, it has become necessary to reuse information created and edited in the past, and information storage technology has become increasingly important for this purpose. Up to now, information recording devices using various media such as magnetic tapes and magnetic disks have been developed and spread.
このうちHDD(Hard Disk Drive)は、磁気記録方式の補助記憶装置である。HDDのドライブユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。メディアには、酸化鉄やコバルト・クロムなどの磁性体が、メッキや薄膜生成によって塗布されている。
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書き込みを行い、あるいはデータを読み出すことができる。
Among these, HDD (Hard Disk Drive) is a magnetic recording type auxiliary storage device. The HDD drive unit accommodates several magnetic media as recording media and is rotated at high speed by a motor. The medium is coated with a magnetic material such as iron oxide or cobalt / chromium by plating or forming a thin film.
Then, by scanning the magnetic head in the radial direction on the surface of the rotating medium, the magnetization corresponding to the data is generated on the medium, and writing or reading of the data can be performed.
このようなハードディスクは既に広汎に普及している。例えば、パーソナルコンピュータ用の標準的な外部記憶装置として、コンピュータを起動するために必要なオペレーティングシステム(OS)やアプリケーションなど、さまざまなソフトウェアをインストールしたり、作成・編集したファイルを保存したりするためにハード・ディスクが利用されている。通常、HDDは、IDE(Integrated Drive Electronics)やSCSI(Small Computer System Interface)などの標準的なインターフェースを介してコンピュータ本体に接続され、その記憶空間は、FAT(File Allocation Table)などの、オペレーティングシステムのサブシステムであるファイルシステムによって管理される。
そして最近では、HDDの大容量化が進んできている。これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたAVコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
Such hard disks are already widespread. For example, as a standard external storage device for a personal computer, for installing various software such as an operating system (OS) and applications necessary for starting the computer, and for saving created / edited files Hard disk is being used. Usually, the HDD is connected to the computer main body via a standard interface such as IDE (Integrated Drive Electronics) or SCSI (Small Computer System Interface), and its storage space is an operating system such as FAT (File Allocation Table). Managed by a file system that is a subsystem of
Recently, the capacity of HDDs has been increasing. Along with this, not only as a conventional auxiliary storage device for computers but also as a hard disk recorder for storing broadcast-received AV content, the application field has expanded, and it has begun to be used for recording various content.
ここで、コンピュータ用補助記憶装置として使用される場合を例にとって、ハードディスクの物理フォーマット方法やハードディスクへのデータ読み書きオペレーションについて考察してみる。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって0,1,…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
Here, taking the case of being used as an auxiliary storage device for a computer as an example, the physical formatting method of the hard disk and the data read / write operation to the hard disk will be considered.
A large number of “tracks” are formed concentrically on the hard disk as sections for recording data. Then, track numbers such as 0, 1,... Are assigned from the outermost periphery to the inner periphery. The greater the number of tracks on the disk surface, the greater the storage capacity of the media.
さらに、各トラックは、記録単位である「セクタ」に分割される。ディスクに対する通常のデータ読み書き動作はセクタ単位で行われる。セクタサイズはメディア毎に相違するが、ハードディスクのセクタは一般に512バイトとされていることが多い。また、メディアの使用効率を考慮して、各トラック上の記録密度をほぼ均一にするために、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けている。これを”Zone Bit Recording”(ゾーンビットレコーディング)方式と呼ぶ。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという問題がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
Further, each track is divided into “sectors” which are recording units. Normal data read / write operations on the disk are performed in units of sectors. Although the sector size differs for each medium, the hard disk sector is generally set to 512 bytes in many cases. Further, in consideration of the media usage efficiency, in order to make the recording density on each track substantially uniform, the number of sectors is increased toward the outer track having a longer circumference. This is called the “Zone Bit Recording” method.
When the zone bit recording method is adopted, the recording density on each track can be made almost uniform, but the data transfer speed for each track becomes non-uniform. The data transfer rate decreases as the disk moves in the inner circumferential direction.
また、数枚のメディアが同心円状に重なって構成されているHDDの場合、各メディアの同じ番号のトラックは円筒状に配置されていると捉えることができ、これを「シリンダ」と呼ぶ。各シリンダには、トラック番号と同じ番号が割り振られ、最外周から順にシリンダ0,シリンダ1,・・・となる。各メディア間に挿設された複数のヘッドは常に一体となって作動して、シリンダ間を移動する。
Also, in the case of an HDD configured by concentrically overlapping several media, it can be considered that the same numbered track of each media is arranged in a cylindrical shape, and this is called a “cylinder”. Each cylinder is assigned the same number as the track number, and
目的となるセクタを指定(アドレス)する方式として、CHSモードを挙げることができる。これは、ディスク上のPBA(Physical Block Address:物理ブロック・アドレス)を、C(Cylinder)、H(Head)、S(Sector)の順に指定することによって、所望のデータにアクセスする方式である。 A CHS mode can be given as a method for designating (addressing) a target sector. This is a method of accessing desired data by designating PBA (Physical Block Address) on the disk in the order of C (Cylinder), H (Head), and S (Sector).
一方、CHS方式においては、HDDに対するホストとして動作するコンピュータ本体側では、指定できるCHSパラメータに限界があり、ハード・ディスクの大容量化に対応できなくなってくる。このため、LBA(Logical Block Address:論理ブロック・アドレス)モードが採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号(CHS)を0から始まるLBAという論理的な通し番号で表現するものである。 On the other hand, in the CHS system, there is a limit to the CHS parameters that can be specified on the computer main body side that operates as a host for the HDD, and it becomes impossible to cope with an increase in the capacity of the hard disk. For this reason, an LBA (Logical Block Address) mode is adopted. This expresses a cylinder number, a head number, and a sector number (CHS) by a logical serial number called LBA starting from 0.
従来のHDDでは、メディアにアクセスしてデータを読み書きするためには、先ず、磁気ヘッドが目的とするセクタのあるトラックに到達するために、磁気ヘッドをメディア上で走査させる。これを磁気ヘッドの「シーク」動作と呼ぶ。次に、トラック上で目的のセクタに到達するために、メディアが回転して、目的のセクタが磁気ヘッドの真下に来るまで待つ。これを「回転待ち」と呼ぶ。 In the conventional HDD, in order to access the medium and read / write data, the magnetic head is first scanned on the medium in order to reach the track with the target sector. This is called a “seek” operation of the magnetic head. Next, in order to reach the target sector on the track, the medium rotates and waits until the target sector comes directly under the magnetic head. This is called “waiting for rotation”.
ディスクの大容量化に伴い、トラック密度が増大してトラック幅が極めて狭くなる。したがって、データを正確に書き込み及び再生するためには、磁気ヘッドの位置決めは高い精度が要求される。そこで、磁気ヘッドの位置を常にトラックの中心に合わせるというサーボ技術が採用されている。各トラック上に「サーボパターン」と呼ばれる信号を一定間隔で書き込んでおき、これを磁気ヘッドで読むことにより、磁気ヘッドがトラックの中心にあるかどうかをチェックすることができる。サーボパターンは、HDDの製造工程において、高精度に書き込まれる。サーボ領域には、例えば、ヘッドの位置決めするための信号と、シリンダ番号、ヘッド番号、サーボ番号などが書き込まれている。 As the capacity of the disk increases, the track density increases and the track width becomes extremely narrow. Therefore, in order to write and reproduce data accurately, positioning of the magnetic head requires high accuracy. Therefore, a servo technique is adopted in which the position of the magnetic head is always aligned with the center of the track. It is possible to check whether or not the magnetic head is at the center of the track by writing signals called “servo patterns” on each track at regular intervals and reading them with the magnetic head. The servo pattern is written with high accuracy in the manufacturing process of the HDD. For example, a signal for positioning the head, a cylinder number, a head number, and a servo number are written in the servo area.
従来の多くのHDDは、IDEやSCSIなどコンピュータとの接続を目的としたインターフェースを持っている。そして、コンピュータ本体からのディスクドライブ制御は、インターフェースで定義されているコマンド・セットを用いて、先頭セクタを示すLBAとアクセスを行うセクタ数を指定することを基本動作とする。
この場合、HDD側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
大きなデータがメディア上に連続して書き込まれている場合には、読み出し時の先読み動作が有効に働く。
Many conventional HDDs have an interface such as IDE or SCSI for connection to a computer. Then, the disk drive control from the computer main body has a basic operation of designating the LBA indicating the head sector and the number of sectors to be accessed using a command set defined by the interface.
In this case, on the HDD side, access can be made while creating from the designated head sector and creating a sequence for prefetching by predicting the sector to be accessed thereafter.
This pre-read operation is based on the premise that sectors having continuous addresses are allocated to a series of data. Normally, sectors having consecutive addresses exist in consecutive head numbers or track numbers.
When large data is continuously written on the medium, the prefetching operation at the time of reading works effectively.
しかしながら、記憶領域のフラグメンテーションが進行し、大きなデータが小さく断片化されて複数の場所に分散しているような場合には、読み出し時の先読みは別のデータを指してしまうために、有効に働くことができない。このような現象は、データの読み書きを要求するホスト(コンピュータ本体など)側が取り扱うファイル構造を、HDD側が把握していないことから起きるとも言える。 However, when fragmentation of the storage area proceeds and large data is fragmented into small pieces and distributed in multiple locations, the read-ahead at the time of reading points to other data, so it works effectively. I can't. It can be said that such a phenomenon occurs because the HDD does not grasp the file structure handled by the host (computer main body or the like) side that requests data read / write.
また、ホスト側からの新たなアクセス要求によってその予測がはずれた場合、ディスクドライブは、その要求されるデータの存在するセクタが含まれるトラックへシークを行い、トラッキングが完了すると目的のセクタのアクセスが可能となるのを待つ。ここにおいて、シーク時間と回転待ち時間が発生する。 In addition, when the prediction is lost due to a new access request from the host side, the disk drive seeks to the track including the sector where the requested data exists, and when the tracking is completed, the target sector is not accessed. Wait for it to be possible. Here, seek time and rotation waiting time occur.
先読みデータの保存は、データバッファの容量が許容する限りである。予測が外れる場合が連続的あるいは散発的に発生すると、データバッファ上の使われていない古いデータから順に破棄されることとなる。また、この先読みを行っている間はシーク起動を行うことができない。 Prefetched data is stored as long as the capacity of the data buffer allows. If the prediction is lost continuously or sporadically, the unused old data in the data buffer is discarded in order. Further, seek activation cannot be performed during this prefetching.
以上のように、シーク時間と回転待ち時間、無効な先読みによるシーク起動の遅れによる時間の損失、並びに無効な先読みによるデータの損失が発生していると言える。
通常のディスクドライブでは、このシーク時間と回転待ち時間を短縮するために、ディスクの回転数を上げることが行われている。これは、コンピュータなどのホスト側で扱われるデータ量やデータ構造に規則性がないため、アクセス方法による改善を行うことが困難であるからである。しかしディスクの回転数を上げる方式では、電力消費や記憶容量の面において不利であり、問題となる。
As described above, it can be said that seek time and rotation waiting time, time loss due to seek start delay due to invalid prefetching, and data loss due to invalid prefetching have occurred.
In a normal disk drive, in order to shorten the seek time and the rotation waiting time, the rotation speed of the disk is increased. This is because there is no regularity in the amount of data and the data structure handled on the host side such as a computer, and thus it is difficult to improve by the access method. However, the method of increasing the number of revolutions of the disk is disadvantageous in terms of power consumption and storage capacity, and causes a problem.
また、HDDなどの従来の外部記憶システムの多くは、1セクタ(1セクタは通常512バイトからなる)単位でエラー訂正が行われる。これにより、各セクタに発生するランダムエラーに対してエラー訂正を行うことができる。そして、訂正可能範囲を越えたランダムエラーや、あるいはバーストエラーに対しては、エラー訂正を行うことができない。そこで、リトライ動作を実施するなどによって、読み取りエラーを一定以下にしていた。
しかしながら、このようなリトライ動作は、1周回転待ちして再読み込みを行う必要がある。このため、さらにデータ読み出し時間の遅れを発生させることになる。
例えば、AVコンテンツを扱うシステムにおいて、HD(ハイビジョン画質)の再生やあるいは特殊再生を行うなど、高転送速度が要求される状況があり、セクタ内において訂正不能な読み取りエラーが発生しても時間的にリトライを行うことが出来ない場合がある。このようなとき、現状では、エラー訂正が行われないまま処理を進める他なく、この結果、再生品質は悪くなった。
In many conventional external storage systems such as HDDs, error correction is performed in units of one sector (one sector is usually composed of 512 bytes). As a result, error correction can be performed for random errors occurring in each sector. Error correction cannot be performed for random errors or burst errors that exceed the correctable range. In view of this, the read error has been kept below a certain level by performing a retry operation.
However, such a retry operation needs to be read again after waiting for one rotation. This further causes a delay in data read time.
For example, in a system that handles AV content, there is a situation where high transfer speed is required, such as HD (high definition image quality) playback or special playback, and even if an uncorrectable read error occurs in a sector, time Sometimes it is not possible to retry. In such a case, at present, the process cannot be advanced without error correction, and as a result, the reproduction quality is deteriorated.
なお、例えば上記特許文献2には、記録するデータブロックの重要度を示す情報を持たせ、この情報に基づいて、重要であるデータブロックについてはリトライを実行させ、それ以外はリトライをさせない等の切換を行う技術が開示されている。
また上記特許文献1には、記録するデータブロックの重要度を示す情報を持たせ、この情報に基づいて、重要であるデータブロックについてはエラー訂正能力を増加させ、それ以外は通常の訂正能力とする等の切換を行う技術が開示されている。
これらの技術は、特にAVコンテンツを扱うシステム等において或る程度適切に機能するが、リトライの回避やエラー訂正においてより効果的な技術が求められている。
For example, the above-mentioned
Further, the above-mentioned
These techniques function appropriately to some extent, particularly in systems that handle AV contents, but more effective techniques are required for avoiding retries and correcting errors.
またさらに、HDDがさらに高密度化していくと、効率を良くするために、ディスクフォーマットはさらに細分化されていく。例えばディスク上において、記録再生周波数や回転速度の最適化、またゾーンの数を増やしていくなどの他に、例えばHDD内で、複数のディスクあるいは複数の記録再生ヘッドを持つとき、それぞれのディスク面上において、同一ゾーン位置であっても、各ディスク面毎に与えられた記録再生ヘッドの特性に応じて記録密度を可変とし、ヘッド切り替え時にクロックやトラック間隔などを切り替えていくことが考えられる。
このように、さらに細かいフォーマット構成とすることによって、HDDの記録密度は向上すると共に、歩留まりについても改善が期待される。
それに伴って、エラー訂正能力についても、ディスク全周にわたっての高効率化、及び品質向上が望まれてくる。
Furthermore, as the HDD density increases, the disk format is further subdivided in order to improve efficiency. For example, in addition to optimizing the recording / reproducing frequency and rotational speed on the disc and increasing the number of zones, for example, when there are a plurality of discs or a plurality of recording / reproducing heads in the HDD, each disc surface In the above, it is conceivable that even at the same zone position, the recording density is made variable according to the characteristics of the recording / reproducing head given to each disk surface, and the clock and the track interval are switched when the head is switched.
Thus, by using a finer format structure, the recording density of the HDD is improved and the yield is expected to be improved.
Along with this, with regard to error correction capability, it is desired to improve efficiency and improve quality over the entire circumference of the disk.
またHDDでは、出荷時点において既に、適切ではないディスク上のセクタ単位の部位に対して、これをあらかじめアクセスしないように、アドレスが割り振られている。この状態をスリップと呼び、所定トラック上において、特定の数セクタだけスリップさせる場合と、まとまった数10セクタだけスリップさせる場合などがある。トラック上において、まとまった数10セクタをスリップさせた場合は、トラック当たりの有効なデータセクタ領域が大きく減少する。
そして、上記高密度化の要求は、このような事情にも対応することが求められ、そのディスクフォーマットは例えば、HDDの個々で異なるスリップの情報を含めたうえ、さらに効率のよいエラー訂正ブロックの構成が望まれている。
In the HDD, addresses are already allocated so as not to access a sector unit portion on the disk which is not appropriate at the time of shipment. This state is called slip, and there are a case where a specific number of sectors are slipped on a predetermined track and a case where a certain number of sectors are slipped. When several tens of sectors are slipped on the track, the effective data sector area per track is greatly reduced.
The above-mentioned demand for higher density is required to cope with such circumstances, and the disk format includes, for example, information on slips that are different for each HDD, and more efficient error correction blocks. A configuration is desired.
本発明は上述したような課題に鑑みたものであり、データ記録再生装置及びデータ記録再生方法、並びにコンピュータプログラム、記録媒体として、以下の目的を実現する。
即ち、所望のデータ記憶場所へのアクセス時間の短縮を図る。
また、転送速度を低下させることなく安定したデータ再生を行う。
また、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とすることでリトライ動作を回避して転送速度の低下を少なくし、安定したデータ再生を行うことができるようにする。
また、フォーマット構成の細分化に対応できるエラー訂正方式を実現する。
The present invention has been made in view of the above-described problems, and realizes the following objects as a data recording / reproducing apparatus, a data recording / reproducing method, a computer program, and a recording medium.
That is, the access time to a desired data storage location is shortened.
In addition, stable data reproduction is performed without reducing the transfer rate.
In addition, by making it possible to correct errors over a wider range of random errors and burst errors, it is possible to avoid a retry operation, reduce a decrease in transfer speed, and perform stable data reproduction.
In addition, an error correction method that can cope with subdivision of the format configuration is realized.
本発明のデータ記録再生装置は、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生装置であって、目的とするトラックをシークするシーク手段と、該シークされたトラック上でアクセスを行うデータアクセス手段と、データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正手段と、上記ディスク記録媒体に対する上記データアクセス手段によるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生手段とを備える。そして、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲の画像や音声に適応させてある、所定処理データの単位のセクタ数に応じて上記制御情報を発生させ、上記エラー訂正手段は、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位のセクタ数の設定は、上記制御情報発生手段により発生された上記制御情報に基づいて行う。
特に、上記データアクセス手段がアクセスする範囲のセクタ数とは、上記データアクセス手段がアクセスする1トラックのセクタ数である。
より具体的には、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記第2のエラー訂正符号単位のセクタ数やインターリーブ内容(インターリーブ分割数や各インターリーブにおける第2のエラー訂正符号のセクタ数など)を指示する上記制御情報を発生させる。
上記エラー訂正手段は、上記制御情報に応じて第2のエラー訂正符号単位のセクタ数を設定し、またインターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成する。
The data recording / reproducing apparatus of the present invention is a data recording / reproducing apparatus for a disk recording medium in which concentric or spiral tracks are formed and each track is divided into a plurality of sectors. Means for seeking data, data access means for accessing on the seeked track, and error correction means for generating an error correction code for error correction of the data and correcting the error of the data based on the error correction code And control information generating means for generating control information of an error correction block corresponding to access by the data access means to the disk recording medium. The control information generating means generates the control information according to the number of sectors in a unit of predetermined processing data, which is adapted to an image or sound in a range accessed by the data access means, and the error correction means A first error correction code unit is set for a predetermined data amount unit, a second error correction code unit is set for a plurality of first error correction code units, and a plurality of the first error correction code units are set. An error correction block comprising an error correction code unit and the second error correction code unit added thereto is formed, and the number of sectors in the second error correction code unit is set by the control information generating means This is performed based on the control information generated by.
In particular, the number of sectors in the range accessed by the data access means is the number of sectors in one track accessed by the data access means.
More specifically, the control information generating means determines the number of sectors in the second error correction code unit and the contents of interleaving (the number of interleave divisions and each interleaving) according to the number of sectors in the range accessed by the data access means. The control information indicating the second error correction code sector number) is generated.
The error correction means sets the number of sectors in the second error correction code unit according to the control information, and generates an error correction block having an interleave structure according to an instruction of the interleave contents.
上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数と、セクタ数に対応する第2のエラー訂正符号単位のセクタ数又はインターリーブ分割数を記憶したデータテーブルを備え、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記データテーブルを参照し、上記第2のエラー訂正符号単位のセクタ数、又はインターリーブ分割数を指示する上記制御情報を発生させる。
或いは、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に対する演算処理により、上記第2のエラー訂正符号単位のセクタ数又はインターリーブ分割数を指示する上記制御情報を発生させる。
これらの場合において、上記第2のエラー訂正符号単位のセクタ数は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、所定の冗長度の割合により算出された数値から導かれる正の整数とする。
The control information generating means comprises a data table storing the number of sectors in the range accessed by the data access means and the number of sectors or the number of interleave divisions of the second error correction code unit corresponding to the number of sectors, and the data access The control information indicating the number of sectors in the second error correction code unit or the number of interleave divisions is generated by referring to the data table in accordance with the number of sectors in the range accessed by the means.
Alternatively, the control information generation means generates the control information indicating the number of sectors or the number of interleave divisions of the second error correction code unit by performing arithmetic processing on the number of sectors in the range accessed by the data access means.
In these cases, the number of sectors in the second error correction code unit is a positive integer derived from a numerical value calculated by a predetermined redundancy ratio according to the number of sectors in the range accessed by the data access means. And
本発明のデータ記録再生方法は、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生方法として、目的とするトラックをシークするシークステップと、該シークされたトラック上でアクセスを行うデータアクセスステップと、データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップと、上記ディスク記録媒体に対する上記データアクセスステップによるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生ステップとを備える。そして、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲の画像や音声に適応させてある、所定処理データの単位のセクタ数に応じて上記制御情報を発生させ、上記エラー訂正ステップでは、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位のセクタ数の設定は、上記制御情報発生ステップにより発生された上記制御情報に基づいて行う。
上記制御情報発生ステップでは、第2のエラー訂正符号単位のセクタ数やインターリーブ分割数を指示する制御情報を発生させる。
上記データアクセスステップでアクセスする範囲のセクタ数とは、上記データアクセスステップでアクセスする1トラックのセクタ数である。
In the data recording / reproducing method of the present invention, concentric or spiral tracks are formed, and each track is divided into a plurality of sectors. A seek step, a data access step for performing access on the seek track, an error correction step for generating an error correction code for error correction of the data and correcting the error of the data based on the error correction code, A control information generating step for generating control information of an error correction block corresponding to the access by the data access step to the disk recording medium. The control information generating means generates the control information according to the number of sectors in a unit of predetermined processing data, which is adapted to the image and sound in the range accessed by the data access means, and in the error correction step, A first error correction code unit is set for a predetermined data amount unit, a second error correction code unit is set for a plurality of first error correction code units, and a plurality of the first error correction code units are set. An error correction block comprising an error correction code unit and the second error correction code unit added thereto is formed, and the setting of the number of sectors in the second error correction code unit is performed in the control information generation step This is performed based on the control information generated by.
In the control information generation step, control information indicating the number of sectors and the number of interleave divisions in the second error correction code unit is generated.
The number of sectors in the range accessed in the data access step is the number of sectors in one track accessed in the data access step.
本発明のプログラムは、同心円状又はスパイラル状のトラックが形成されているとともに、上記各トラックは複数のセクタに分割されるディスク記録媒体に対するデータ記録再生処理をコンピュータシステム上で実行するためにコンピュータ可読形式で記述されたプログラムであり、上記データ記録再生方法のステップを実行させるプログラムである。 In the program of the present invention, concentric or spiral tracks are formed, and each of the tracks is computer-readable for executing a data recording / reproducing process on a disk recording medium divided into a plurality of sectors on a computer system. It is a program described in a format, and is a program for executing the steps of the data recording / reproducing method.
本発明の記録媒体は、以下のエラー訂正ブロックの構成を有するデータが、同心円状又はスパイラル状に形成されたトラックに記録されること特徴とする記録媒体である。そのエラー訂正ブロックは、所定のデータ量単位に対して第1のエラー訂正符号単位が設定され、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位が設定され、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位から形成されている。また、該エラー訂正ブロックにおいて上記第2のエラー訂正符号単位は、データの書込/読出アクセスが行われる範囲におけるセクタ数に基づいて設定されている。 The recording medium of the present invention is a recording medium characterized in that data having the following error correction block configuration is recorded on tracks formed concentrically or spirally. In the error correction block, a first error correction code unit is set for a predetermined data amount unit, and second error correction code units for a plurality of first error correction code units are set. The first error correction code unit and the second error correction code unit added thereto. In the error correction block, the second error correction code unit is set based on the number of sectors in a range in which data write / read access is performed.
以上の本発明により、上述した所期の目的を実現する。
即ち、第1のエラー訂正符号(C1)単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第2のエラー訂正符号(C2)単位を用いることによりセクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。すなわち、エラー訂正ブロック構成をC1+C2とすることによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、C1でエラー訂正が不能となった際に、さらにC2でエラー訂正を行うことができるので、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。
さらに、エラー訂正ブロック構成、特にC2セクタ数が、アクセスする範囲(例えば1トラック)のセクタ数に応じて設定されることで、記録再生ヘッド、記録面、ゾーン、或いはスリップの影響などを含んで、細分化されたセクタフォーマットに対応することができる。つまりエラー訂正能力のバラツキが発生することを回避して効率の良いエラー訂正を実現したり、転送レート上好適とすることができる。
With the above-described present invention, the above-described intended object is realized.
That is, the random error in the sector can be corrected by using the first error correction code (C1) unit, and the intra-sector error correction range can be increased by using the second error correction code (C2) unit. It is possible to correct errors that exceed or burst errors that span sectors. In other words, by setting the error correction block configuration to C1 + C2, even when retrying cannot be performed to maintain the data transfer rate higher than desired, error correction is further performed at C2 when error correction becomes impossible at C1. Therefore, a more stable system can be provided. In this way, it is possible to perform error correction even for random errors and burst errors in a wider range, and by avoiding the retry operation, stable data reproduction can be performed without reducing the transfer speed. .
Furthermore, the error correction block configuration, particularly the number of C2 sectors, is set according to the number of sectors in the access range (for example, one track), thereby including the influence of the recording / reproducing head, recording surface, zone, or slip. It is possible to deal with a segmented sector format. In other words, it is possible to avoid the occurrence of variations in error correction capability, to realize efficient error correction, and to make it suitable in terms of transfer rate.
また、上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行う。例えば磁気ヘッドがオントラックしたセクタから1トラック分のアクセスを行う。すなわち、1トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定することができる。
特にこの場合、上記データアクセス手段が、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することで、トラックのどのセクタからでもアクセスを行うことができるので、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
また、書込や読出の要求元(例えば、HDDに接続されているコンピュータなどのホスト装置)は、ディスク上のセクタ・アドレスを意識する必要がない。また、データサイズが短くて済む相対位置アドレスを用いることにより、記憶領域の有効利用を図ることができる。
Further, the data access means starts access from the head sector that has become accessible on the track sought by the seek means, and performs access for one track. For example, an access for one track is performed from a sector in which the magnetic head is on-track. In other words, by using one track as an access unit, it is possible to reliably determine the seek activation timing without the indefinite process of prefetching.
In particular, in this case, the data access means allocates relative position addresses in order from the sector that started access on the track to each sector at the time of write access, and data read from each sector on the track at the time of read access. Can be accessed from any sector of the track by reproducing the written data according to the relative position address and reproducing the written data. Can be eliminated. As a result, the number of seeks is minimized, and the access time is shortened.
Further, a request source for writing or reading (for example, a host device such as a computer connected to the HDD) does not need to be aware of the sector address on the disk. Further, by using a relative position address that requires a short data size, the storage area can be effectively used .
本発明によれば、エラー訂正符号による冗長の効率の良くてかつ、安定したデータ再生を行うことができる、優れたデータ記録再生装置及びデータ記録再生方法、並びにプログラム、記録媒体を提供することができる。
即ち、第1のエラー訂正符号(C1)単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第2のエラー訂正符号(C2)単位を用いることによって、セクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。これによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、適切にエラー訂正ができ、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。
さらに、エラー訂正ブロック構成として第2のエラー訂正符号(C2)単位のセクタ数やインターリーブ構造(例えばインターリーブ分割数)が、アクセスする範囲のセクタ数に応じて設定されることで、記録再生ヘッド、記録面、ゾーン、スリップ状況など、実際のアクセス範囲の状況に応じてエラー訂正ブロックが最適化されることになり、つまりエラー訂正能力のバラツキが発生することを回避したり、効率の良いエラー訂正を実現することができ、また効率の良いディスクフォーマットを実現できる。また効率の良いエラー訂正ブロックとなることは不用なほど冗長度が高くなることも避けられることになるため、転送レートの点でも好適となる。これらによって、よりいっそう安定したシステムを提供することができる。
According to the present invention, it is possible to provide an excellent data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium capable of performing efficient and stable data reproduction with redundancy by error correction codes. it can.
That is, the random error in the sector can be corrected by using the first error correction code (C1) unit, and the error correction range in the sector can be obtained by using the second error correction code (C2) unit. It is possible to correct errors that exceed, or burst errors that span sectors. As a result, even in a situation where a retry cannot be performed in order to keep the data transfer rate higher than desired, an error can be corrected appropriately and a more stable system can be provided. In this way, it is possible to perform error correction even for random errors and burst errors in a wider range, and by avoiding the retry operation, stable data reproduction can be performed without reducing the transfer speed. .
Further, as the error correction block configuration, the number of sectors in the second error correction code (C2) unit and the interleave structure (for example, the number of interleave divisions) are set according to the number of sectors in the range to be accessed. The error correction block will be optimized according to the status of the actual access range such as recording surface, zone, slip condition, etc. In other words, avoiding variations in error correction capability or efficient error correction And an efficient disk format can be realized. In addition, an efficient error correction block is also preferable in terms of the transfer rate because it is avoided that redundancy becomes unnecessarily high. As a result, a more stable system can be provided.
また第2のエラー訂正符号単位のセクタ数、又はインターリーブ内容を指示する制御情報を発生させるには、セクタ数と、セクタ数に対応する第2のエラー訂正符号単位のセクタ数又はインターリーブ分割数を記憶したデータテーブルを備えていれば、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記データテーブルを参照して容易に上記第2のエラー訂正符号単位のセクタ数、又はインターリーブ分割数を指示する制御情報を発生させることができる。
或いは、上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲のセクタ数に対する演算処理により、上記第2のエラー訂正符号単位のセクタ数又はインターリーブ分割数を指示する上記制御情報を発生させるようにすれば、上記データテーブルを備えなくてもよい。
また、制御情報で指示する上記第2のエラー訂正符号単位のセクタ数は、上記データアクセス手段がアクセスする範囲のセクタ数に応じて、所定の冗長度の割合により算出された数値から導かれる正の整数とすることが適切である。
In order to generate control information indicating the number of sectors in the second error correction code unit or the interleave contents, the number of sectors and the number of sectors in the second error correction code unit corresponding to the number of sectors or the number of interleave divisions are set. If a stored data table is provided, the number of sectors in the second error correction code unit or the number of interleave divisions can be easily referred to the data table according to the number of sectors in the range accessed by the data access means. Control information for instructing can be generated.
Alternatively, the control information generating means generates the control information indicating the number of sectors or the number of interleave divisions of the second error correction code unit by arithmetic processing on the number of sectors in the range accessed by the data access means. In this case, the data table need not be provided.
The number of sectors in the second error correction code unit indicated by the control information is a positive value derived from a numerical value calculated by a predetermined redundancy ratio according to the number of sectors in the range accessed by the data access means. It is appropriate to use an integer of.
さらに本発明によれば、シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して1トラック分のアクセスを行うことによって、1トラックをアクセス単位とすることができ、回転待ちを発生することのないデータアクセス制御を実現することができる。すなわち、データアクセス時間を短縮することができる。
特にこのアクセス方式の場合、エラー訂正ブロックの構成は1トラックのセクタ数に応じて設定されればよく、それにより上記効果を得ることができる。
Furthermore, according to the present invention, one track can be set as an access unit by starting the access from the first sector that can be accessed on the sought track. It is possible to realize data access control that does not generate a problem. That is, the data access time can be shortened.
In particular, in the case of this access method, the configuration of the error correction block only needs to be set according to the number of sectors in one track, and the above effect can be obtained.
以下、図面を参照しながら本発明の実施の形態について次の順序で説明する。
1.ハードディスク装置の構成
2.アクセス動作
3.ECC構成
4.セクタ数に応じたECCブロック設定
5.適用例
Hereinafter, embodiments of the present invention will be described in the following order with reference to the drawings.
1. 1. Configuration of
1.ハードディスク装置の構成
図1には、本発明の一実施形態に係るHDD(ハードディスク装置)10の全体構成を模式的に示している。
同図に示すように、HDD10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)/RAM(Random Access Memory)12と、ディスクコントローラ13と、バッファRAM14と、データ読み書き制御部15と、サーボ制御部16、そして磁気ディスク21とを備えている。
1. Hard disk unit configuration
FIG. 1 schematically shows an overall configuration of an HDD (Hard Disk Device) 10 according to an embodiment of the present invention.
As shown in the figure, the
磁気ディスク21は、1枚あるいは複数枚で構成され、さらに記録面は片面あるいは両面(ディスクの表裏)となっている。また記録面上にはヘッドが配置される。図1においては2枚の磁気ディスク21a、21bが配され、また対応して2つの記録再生ヘッド(磁気ヘッド)22a、22bが設けられている状態を示している、。
即ちドライブユニット内には、数枚の磁気ディスク(プラッタ)が同心円状に重なって構成することができ、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され(シリンダ)、トラック番号と同じシリンダ番号で指定される。
なお、図1に示すように、1つの磁気ディスク21に対して1つの記録再生ヘッド22が配されるのは、磁気ディスク21は片面が記録面とされる場合である。
両面が記録面とされる場合、1つの磁気ディスク21に対して2つの記録再生ヘッド22が配される。
The
In other words, several magnetic disks (platters) can be concentrically overlapped in the drive unit. At that time, the same track number of each magnetic disk is arranged in a cylindrical shape (cylinder), and the same cylinder as the track number. It is specified by number.
As shown in FIG. 1, one recording / reproducing
When both surfaces are recording surfaces, two recording / reproducing
CPU11は、ROM/RAM12に格納されている制御コードを実行して、HDD10内の動作を統括的にコントロールする。
ディスクコントローラ13は、インターフェース17を介して接続されるホスト(図示しない)からコマンドを受け取る。CPU11はこのコマンド処理を行い、ディスクコントローラ13はコマンド処理結果に従って、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示する。
インターフェース17経由でホストから受け取った書き込みデータや、磁気ディスク21から読み取ってホストに渡されるデータは、バッファRAM14に一時的に格納される。
The
The
Write data received from the host via the
データ読み書き制御部15は、符号化変調処理を行って実際に記録するデータパターンを作成し、プリアンプ25を介して磁気ディスク21にデータを書き込む。また、逆に読み込んだデータをプリアンプ25を介して磁気ディスク21から取り込み、データの復調処理を行う。
The data read /
サーボ制御部16は、磁気ヘッド22を搭載したアームを移動するボイスコイルモータ(VCM)23、及び磁気ディスク21を回転させるスピンドルモータ(SPM)24を同期的駆動させて、磁気ヘッド22が磁気ディスク21上の目的とするトラック上の所定範囲内に到達するように制御する。さらに、ディスク上のサーボパターンよりヘッド位置を所定の位置にシークさせるための制御を行う。
The
磁気ディスク21上には、データを記録するための区画である多数のトラックが同心円状に形成され、例えばディスク21の最外周から、内周に向かって0,1,2,…とトラック番号が割り振られている。また、各トラックは、さらにセクタ毎に分割されており、このセクタ単位が、データ読み書き動作の可能な最小単位となっている。
セクタ内のデータ量は例えば512バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
A large number of tracks, which are sections for recording data, are formed concentrically on the
The amount of data in the sector is fixed at 512 bytes, for example.
In addition to data, header information, error correction code, and the like are added to the actually recorded sector.
図1には、特にCPU11とROM/RAM12にまたがるようにして、ECC制御情報発生部26を示している。
このECC制御情報発生部26は、特に第2のエラー訂正符号C2のセクタ構造やインターリーブ構造を指示する制御情報を発生する部位である。
ECC制御情報発生部26は、制御情報生成に用いるテーブルを記憶する場所を、例えばROM/RAM12とし、その制御を例えばCPU11によって行うことで、その機能が実現される。
このECC制御情報発生部26からの制御信号によって、記録再生されるフォーマットが決定する。フォーマットとは例えば、トラック単位のセクタ数をまとめてECCブロックとし、そこにはセクタ間のエラー訂正を行うためのC2セクタを持つ形式とされる。そのC2セクタ数は、あらかじめ与えられている、ディスク21上のトラック毎のセクタ数情報にもとづいて決定される。
FIG. 1 shows an ECC control
The ECC control
The ECC control
The format to be recorded / reproduced is determined by the control signal from the ECC
なお、上記磁気ディスク21のトラック毎のセクタ数情報は、ROM/RAM12に記憶しても良いが、この他にも例えば磁気ディスク21上の、所定のエリアを定めて、そこに記憶しても良い。
またトラック毎のセクタ数情報の形式は例えば、各トラックにおけるセクタ数のほか、LBAによるシステムの場合では、各トラックの先頭LBAアドレスを記憶してもよい。結局、トラック毎のセクタ数が判る形式であれば如何なる形式でも良い。
The information on the number of sectors for each track of the
The format of the number-of-sectors information for each track may store, for example, the number of sectors in each track, and in the case of an LBA system, the head LBA address of each track. After all, any format can be used as long as the number of sectors per track is known.
さらに、トラック毎のセクタ数情報と、実際に決定するパリティ数(C2セクタ数)を関係づける情報、例えば上記テーブルについては、RAM/ROM12に記憶するほか、例えば磁気ディスク21上の、所定のエリアに記憶してもよい。
また、トラック毎のセクタ数情報と、実際に決定するパリティ数(C2セクタ数)を関係づける情報とは、テーブル形式で持つほか、入力セクタ数に対して決定パリティ数を出力するような計算式で持っていても良い。テーブルや計算式については後述する。
また、これら制御情報の発生のための情報、つまりテーブルや計算式を、CPU11に付随するROM/RAM12ではなく、例えば磁気ディスク21に記憶しておく場合は、起動時に、磁気ディスク21から読み出しを行い、バッファRAM14に格納するようにしてもよい。
Further, information relating the number of sectors for each track and the number of parity actually determined (the number of C2 sectors), for example, the above table, is stored in the RAM /
Further, the sector number information for each track and the information relating the actually determined parity number (C2 sector number) have a table format, and a calculation formula that outputs the determined parity number with respect to the input sector number You may have in. The table and calculation formula will be described later.
In addition, when the information for generating the control information, that is, the table or the calculation formula is stored in, for example, the
磁気ディスク21において、1周当たりのセクタ数については、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けるZBR(Zone Bit Recording)方式を採用する。すなわち、磁気ディスク21の全周に渡るトラック毎のセクタ数は均一ではなく、磁気ディスク21を半径方向に複数のゾーンに区切り、各ゾーン内においては同じセクタ数となるように設定する。
図2には、ZBR方式の一例を示している。
同図に示す例では、ディスクを3つのゾーンに区切っており、最外周から順にゾーン0,1,2とゾーン番号が与えられている。さらに、各ゾーン内には複数本のトラックが含まれている。
また図2において、各ゾーンをセクタで区切っているが、この場合(あくまで模式的な例として)、ゾーン0は32セクタで構成され、同様に、ゾーン1は16セクタ、ゾーン2は8セクタでそれぞれ構成されている。ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ24の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
In the
FIG. 2 shows an example of the ZBR method.
In the example shown in the figure, the disk is divided into three zones, and
In FIG. 2, each zone is divided by sectors. In this case (as a schematic example only),
図3は、図1のディスクコントローラ13の内部構成をより詳細に示している。同図に示すように、ディスクコントローラ13は、CPUインターフェース31と、ホストコントローラ32と、バッファコントローラ33と、サーボコントローラ34と、ディスクフォーマッタ35と、ECCコントローラ36とで構成されている。なお、同図において、データの移動が発生する矢印に対しては二重線で示してある。
FIG. 3 shows the internal configuration of the
CPUインターフェース31は、CPU11と、RAM/ROM12とのインターフェースであり、ホストからのコマンドをCPU11に通知したり、CPU11からのコマンド処理結果の受信などを行ったりする。
ホストコントローラ32は、インターフェース17を介して接続されるホストとの通信を行う。
バッファコントローラ33は、バッファRAM14と、ディスクコントローラ13内の各部間でのデータのやりとりを制御する。
サーボコントローラ34は、VCM(ボイスコイルモータ)23及びSPM(スピンドルモータ)24の動作を制御することによって、磁気ディスク21上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部15へ渡す。
ディスクフォーマッタ35は、バッファRAM14上のデータを磁気ディスク21に書き込んだり、あるいは磁気ディスク21からデータを読み出したりするための制御を行う。
ECCコントローラ36は、バッファRAM14に格納されているデータより、書き込み時にはECC符号を生成して付加し、また読み出し時にはエラー訂正を行う。
The
The
The
The
The
The
このような図3に示すディスクコントローラ13は、CPU11(及びCPU11とROM/RAM12により形成されるECC制御情報発生部26)より、フォーマッタ制御情報および、セクタ数に応じたECC切換の制御情報を受け取る。
即ちディスクコントローラ13は、ECC制御情報発生部26によるC2セクタ数やインターリーブ内容の制御情報をCPUインターフェース31を通して受け取る。そしてディスクフォーマッタ35へは、決定したC2セクタ数に基づくフォーマッタ制御情報が、またECCコントローラ36へは、決定したC2セクタ数に関する情報が、すなわち必要な情報が、それぞれ送られる。
The
That is, the
ところで、本例のアクセス方式としては、いわゆるLBA(Logical Block Address)に基づいてアクセスを行うものであってもよいし、後述するが、トラック単位で相対アドレスを用いたアクセスを行うものでも良い。 By the way, as an access method of this example, an access may be performed based on a so-called LBA (Logical Block Address), or, as will be described later, an access using a relative address in units of tracks may be performed.
LBAによるアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後、LBAで指定されたセクタのアクセスを行うためのフォーマット情報である。この情報は、CPUインターフェース31を介してディスクフォーマッタ35へ送られ、ここでデータフォーマッタが生成される。
また、ECC制御情報発生部26によるECC切替の制御情報は、第1のエラー訂正符号C1および、第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報であり、この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
例えばアクセスするトラックのセクタ数によってECCブロック構成が設定されるということは、つまり記録再生を行うトラックの状況(記録面、記録再生を行うゾーン、記録再生を実行するヘッド、スリップ状況等)に応じて、ECCブロック構成が切り換えられることを意味する。
In the case of accessing by LBA, the formatter control information is format information for accessing the sector specified by LBA after being accessible on the sought track. This information is sent to the
Further, the ECC switching control information by the ECC control
For example, the ECC block configuration is set according to the number of sectors of the track to be accessed, that is, according to the status of the track for recording / reproduction (recording surface, zone for recording / reproduction, head for performing recording / reproduction, slip status, etc.) This means that the ECC block configuration is switched.
トラック単位で相対アドレスを用いたアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後の、先頭のセクタからアクセスを開始して、1トラック分のアクセスを行うための、フォーマット情報であり、この情報は、CPUインターフェース31を介してディスクフォーマッタ35へ送られ、ここでデータフォーマッタが生成される。
また、ECC制御情報発生部26によるECC切替の制御情報は、トラック単位で完結するECCブロック構成の設定を行うための情報であり、この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
When accessing using a relative address in units of tracks, the formatter control information starts accessing from the first sector after it becomes accessible on the seek track, and accesses for one track. The format information is sent to the
The control information for ECC switching by the ECC control
なお、上記バッファRAMも関係していることより、ECC切替の制御情報は、バッファコントローラ部33で用いることもある。
また、これら制御情報の発生のための情報、つまりテーブルや計算式を、例えば磁気ディスク21に記憶しておく場合は、起動時に、磁気ディスク21から読み出しを行い、バッファRAM14に格納するようにしてもよい。その場合、ディスクコントローラ内で、セクタ数に応じたECC切替の制御情報が生成され、ECCコントローラ36等に供給されるものでも良い。つまりECC制御情報発生部26としての機能が、ディスクコントローラ13内で実現されても良い。
Since the buffer RAM is also related, the ECC switching control information may be used by the
In addition, when storing information for generating the control information, that is, a table or a calculation formula, for example, on the
ところで、ECC制御情報発生部26による制御情報として例えば以下のものがある。
(1)トラック毎のセクタ数にもとづく決定C2セクタ数を持った、そのトラックの固有の情報。
(2)ある所定単位とされるユニットのセクタ数にもとづく決定C2セクタ数を持った、そのユニットの固有の情報。
ここで、ユニットとは、例えばある画像や音声などに適応させてある、所定処理データの単位などとしてのひとつの大きな単位のこととする。このユニットは、磁気ディスク21内の物理的にまとまった位置で与えられ、LBA方式ならば、ある連続したLBA番号であるし、相対アドレスアクセス方式であれば、ある連続したトラックの範囲となる。また、そのユニットには、例えばゾーンの切替といった大きくセクタ情報の変動することのないエリア内として選定される。
By the way, the control information by the ECC control
(1) Information specific to a track having a determined C2 sector number based on the number of sectors per track.
(2) Specific information of the unit having a determined C2 sector number based on the number of sectors of the unit that is a predetermined unit.
Here, the unit is one large unit as a unit of predetermined processing data adapted to, for example, a certain image or sound. This unit is given at physical positions in the
つまり、本例ではECC制御情報発生部26は、アクセスする範囲のセクタ数に応じてC2セクタ数を含む制御情報を発生させるが、ここでいうアクセスする範囲のセクタ数とは、アクセスする1トラックのセクタ数である場合も考えられるし、アクセスする1ユニットのセクタ数である場合も考えられる。
In other words, in this example, the ECC control
本実施の形態に係るHDD10は、上述したような構成とされ、この構成において、以下説明するように、回転待ちを発生することのないデータアクセス制御を行い、アクセス時間の短縮やデータ転送速度の早いシステムを実現する。また、広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とすることでリトライ動作を回避して転送速度の低下を少なくし、安定したデータ再生を行う。その上で、フォーマット構成の細分化、記録面やヘッドの特性、スリップ状況等を考慮した最適なECC処理を実現するものである。
The
2.アクセス動作
上記のように、アクセス方式としてはLBAに基づくアクセス方式と、トラック単位で相対アドレスを用いたアクセス方式が考えられる。LBAに基づくアクセス方式とは通常、多くのHDDで採用されているアクセス方式であるため、詳述は避けるが、ここでトラック単位で相対アドレスを用いたアクセス方式について説明しておく。
2. Access behavior
As described above, as an access method, an access method based on LBA and an access method using relative addresses in units of tracks are conceivable. Since the access method based on the LBA is an access method that is usually adopted in many HDDs, an access method using relative addresses in units of tracks will be described here, although detailed description is avoided.
このアクセス方式の場合、HDD(ハードディスク装置)10においては、磁気ヘッド22がオントラックしたセクタから1トラック分のアクセスを行う。同一トラック上のセクタ番号は固定されておらず、相対位置によって与えることができる。
これにより、1トラック上のどのセクタからでもアクセスを開始することができる。すなわち、1トラックをアクセス単位とすることによって、先読みという不確定要素からなる処理を行う必要をなくして、シーク起動のタイミングを確実に決定することができる。また、1トラックのどのセクタからでもアクセスを行うことによって、回転待ちを行わなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間を短縮させることができる。
In the case of this access method, in the HDD (hard disk device) 10, one track is accessed from the sector on which the
As a result, access can be started from any sector on one track. That is, by using one track as an access unit, it is possible to reliably determine the timing of seek activation without the need to perform processing consisting of an uncertain element such as prefetching. In addition, it is not necessary to wait for rotation by accessing from any sector of one track. As a result, the number of seeks can be minimized and the access time can be shortened.
所定のトラックに書き込みを行う際には、アクセスを開始したセクタから始まる相対位置をセクタに与える。
また、読み出しを行う際には、アクセスを開始したセクタから読み出しを行い、相対位置セクタ番号に基づいて、バッファRAM14上に展開する。このため、どのセクタから読み出しを始めても良い。
When writing to a predetermined track, a relative position starting from the sector where access is started is given to the sector.
Further, when reading is performed, reading is performed from the sector where access is started, and the data is developed on the
このような動作を可能とするために磁気ディスク21のトラックで利用されるセクタフォーマットの例を図4に模式的に示す。
図4(a)に示すように、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのECCとで構成され、これら全体をエラー訂正範囲及び記録範囲とする。
相対位置データをヘッダとしてエラー訂正範囲に含めることにより、例えばセクタ内でランダムエラーが発生した場合であってもエラー訂正により相対位置データを回復することができるので、円滑なディスクアクセス動作を実現することができる。
また、一般に、セクタはセクタの番地を記録するためのIDフィールドを持つが、絶対位置ではなく相対位置を記録するので、IDフィールドのサイズを縮小することができる。その分だけセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
An example of the sector format used in the track of the
As shown in FIG. 4A, the sector is composed of relative position data representing the relative position of the sector on the track, a data body, and an ECC for performing error correction on the entire sector area. These are the error correction range and recording range.
By including the relative position data as a header in the error correction range, for example, even if a random error occurs in a sector, the relative position data can be recovered by error correction, thereby realizing a smooth disk access operation. be able to.
In general, a sector has an ID field for recording the address of the sector. However, since a relative position is recorded instead of an absolute position, the size of the ID field can be reduced. Accordingly, the field size that can be used for the data body in the sector increases, and the storage area is effectively used.
トラックに書き込みを行うとき、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるECCデータを生成して、それぞれを当該セクタの相対位置フィールド、データ・フィールド、及びECCフィールドに記録する。アクセスを開始したセクタから書き込みを開始するので、回転待ちする必要がない。
また、読み出しを行うときには、トラック上でアクセスを開始したセクタから読み出しを行い、相対位置フィールドによって得られたセクタ位置に基づいて、バッファRAM14上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファRAM14上では相対位置に基づいてデータを再配置することによって、トラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
When writing to a track, the sector is given a relative position starting from the sector from which access was started, ECC data is generated based on the relative position and the original recording data, and the relative position field, data field, and Record in the ECC field. Since writing starts from the sector where access is started, there is no need to wait for rotation.
Further, when reading is performed, reading is performed from the sector where access is started on the track, and the storage position on the
また、図4(b)には、本実施の形態に係るHDD10において、磁気ディスク21のトラックで利用されるセクタフォーマットの他の例を模式的に示している。
この場合も、上述と同様に、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのECCとで構成される。但し、これら全体をエラー訂正範囲とするが、図4(a)に示した例と相違し、相対位置フィールドを記録範囲に含まない。したがって、相対位置フィールドがなくなる分だけ、さらに上述した例よりもセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
FIG. 4B schematically shows another example of the sector format used in the track of the
Also in this case, as described above, the sector is composed of relative position data representing the relative position of the sector on the track, a data body, and ECC for performing error correction on the entire sector area. However, the entire error correction range is used, but unlike the example shown in FIG. 4A, the relative position field is not included in the recording range. Therefore, as the relative position field disappears, the field size usable for the data body in the sector becomes larger than in the above-described example, and the storage area is effectively used.
この場合、トラックに書き込みを行うときは、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるECCデータを生成して、記録データ及びECCデータのみを当該セクタ上に記録する。アクセスを開始したセクタから書き込みを開始するので、回転待ちする必要がない。
また、読み出しを行うときには、アクセスを開始したセクタから読み出しを行い、ECCを用いてエラー訂正を行うことによって、セクタには書き込まれなかった相対位置を再生成する。そして、この相対位置に基づいて、バッファRAM14上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファRAM14上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
In this case, when writing to the track, a relative position starting from the sector where access was started is given to the sector, ECC data is generated based on the relative position and the original recording data, and only the recording data and ECC data are recorded on the sector. To record. Since writing starts from the sector where access is started, there is no need to wait for rotation.
When reading is performed, reading is performed from the sector where access is started, and error correction is performed using ECC, thereby regenerating a relative position that was not written in the sector. Based on this relative position, the storage position on the
上記のようなセクタフォーマットに係るデータ記録再生の際のホストとの通信例を説明する。
本例のHDD10は、インターフェース17経由で接続されたホストからのコマンドによってデータ書き込みを行うときの通信例は、次のようになる。
まずホストは、HDD10に対してデータの書き込みコマンドを発行する。これに応答して、HDD10は現在のアクセスシーケンスからシーク時間が最小となるアドレス領域を応答する。
ホストは、HDD10からの応答を受けると、指示されたアドレス領域の大きさ(バイト数,セクタ数など)のデータコンテンツを転送する。HDD10は、受信したデータコンテンツをトラック単位で書き込み動作を行う。
An example of communication with the host at the time of data recording / reproducing according to the above sector format will be described.
An example of communication when the
First, the host issues a data write command to the
When the host receives a response from the
ここで上述のように、書き込み時のトラック上のアクセス先頭位置を基準に各セクタに相対位置情報を割り振ると、書き込み要求の際、ホスト側では、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書き込み場所を特に意識する必要はなく、またこれらを指示する必要も特にない。
また、HDD10側からホストに通知されるアドレス領域は、例えば、ホストからデータ書き込み要求されるコンテンツを識別するコンテンツ番号などの簡素なものでよい。
HDD10側では、各コンテンツ番号とディスク21上での物理的な記録場所との変換テーブルを用意しておく。
トラック単位でディスクアクセスを行うことから、コンテンツ番号との変換テーブルは、例えば図5に示すようなものとなる。即ち、コンテンツ番号に対応してトラック番号やヘッド番号が登録されていく。
Here, as described above, when relative position information is allocated to each sector with reference to the access start position on the track at the time of writing, when the write request is made, on the host side, specific information such as the cylinder number, head number, sector number, etc. There is no need to be particularly aware of a particular writing place, and there is no need to indicate these.
Further, the address area notified from the
On the
Since the disk access is performed in units of tracks, the conversion table with the content number is as shown in FIG. 5, for example. That is, track numbers and head numbers are registered corresponding to the content numbers.
ここで、CHS方式のセクタ番号が変換テーブルに含まれていないことに注意されたい。このように、書き込み時のトラック上のアクセス先頭セクタを基準に各セクタに相対位置情報を割り振る構成では、読み出し時のトラック上のアクセス先頭セクタに関わらず、各セクタの相対位置情報に基づきデータの再配置が可能となる。このため、変換テーブルにおいて、アクセス開始セクタを指定する必要がないものとなる。
この変換テーブルは、バッファRAM14内に書き込まれる。変換テーブルの書き込みは、ホストから書き込みデータを受け取った時点で、ディスクコントローラ13又はCPU11が実行するソフトウェアによって行われる。
Note that the sector number of the CHS method is not included in the conversion table. As described above, in the configuration in which the relative position information is allocated to each sector based on the access head sector on the track at the time of writing, the data is based on the relative position information of each sector regardless of the access head sector on the track at the time of reading. Relocation is possible. For this reason, it is not necessary to specify the access start sector in the conversion table.
This conversion table is written in the
また、本例のHDD10がインターフェース17経由で接続されたホストからのコマンドによってデータ読み出しを行うときの通信例は次のようになる。
ホストは、HDD10に対してデータの読み出しコマンドを発行する。読み出しコマンドでは、目的とするコンテンツ番号が指定されている。
これに対し、HDD10は、コンテンツ番号に基づいて上記図5の変換テーブルから目的とするトラックを特定して、磁気ヘッド22のシーク動作を行う。そして、データ書き込み時に応答したアドレス領域のシーケンスに従い、ディスク21上のデータを転送する。
このデータ読み出し要求の際、ホスト側は、所望のコンテンツ番号を指定するだけで、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書き込み場所(PBA)を意識する必要はない。
A communication example when the
The host issues a data read command to the
On the other hand, the
At the time of this data read request, the host side only specifies a desired content number, and does not need to be aware of a specific write location (PBA) such as a cylinder number, a head number, or a sector number.
上述したように、HDD10では、磁気ヘッド22がオントラックしたセクタから1トラック分のアクセスを行う。1トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定することができる。また、トラックのどのセクタからでもアクセスを行うことができるので、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
このようなディスクアクセスオペレーションは、ディスクコントローラ13が、CPU11によるコマンド処理結果に応じて、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示することによって実現される。
As described above, the
Such a disk access operation is realized by the
3.ECC構成
上述してきたようにHDD10が1トラックを単位としてアクセスを行う場合、磁気ディスク21上には1トラックを基本単位としたECCブロックが形成されることが適切となる。
なお、LBAに基づくアクセス方式が採用される場合は、必ずしも1トラックを基本単位としたECCブロックが形成される必要はないが、もちろん1トラックを基本単位としてもよい。
ここでは、1トラックを基本としたECCブロックの例を説明する。
3. ECC configuration
As described above, when the
When an access method based on LBA is adopted, an ECC block having one track as a basic unit is not necessarily formed, but of course, one track may be used as a basic unit.
Here, an example of an ECC block based on one track will be described.
図6は、1トラックを基本単位としたECC構成例を示している。
図6(a)の例では、磁気ディスク21は、ゾーン分割されており、ゾーンnにおけるECCブロック構成の例が示されている。すなわち、ゾーンn内の、破線で示す所定のトラックTKのように、各トラックの1周分がECCブロックの構成単位となるようにする。
ECCブロックの内部には、セクタ内の訂正を行うC1と、セクタ間の訂正を行うC2が含まれている。
そしてC1+C2からなるエラー訂正単位(ECCブロック構成単位)は1トラックを基本単位としており、各トラック内においては、ECCブロック構成単位が2つ以上存在することはない。
FIG. 6 shows an example of the ECC configuration with one track as a basic unit.
In the example of FIG. 6A, the
The ECC block includes C1 that performs intra-sector correction and C2 that performs inter-sector correction.
An error correction unit (ECC block constituent unit) composed of C1 + C2 has one track as a basic unit, and no two or more ECC block constituent units exist in each track.
また図6(b)はECCブロックの他の例である。この場合も磁気ディスク21は、ゾーン分割されており、ゾーンmにおいて、ECCブロックの例が示されている。この例は、ゾーンm内の3トラック分でECCブロックの構成単位となるようにするものである。なお、この例は1トラックの整数倍を構成単位とするものであり、もちろんトラック3周分に限られるものではない。
このような例の場合も、ECCブロックの内部には、セクタ内の訂正を行うC1と、セクタ間の訂正を行うC2が含まれている。またC1+C2からなるエラー訂正単位(ECCブロック構成単位)は1トラックを基本単位としており、各トラック内においては、ECCブロック構成単位が2つ以上存在することはない。
FIG. 6B shows another example of the ECC block. Also in this case, the
Also in such an example, the ECC block includes C1 that performs intra-sector correction and C2 that performs inter-sector correction. An error correction unit (ECC block constituent unit) composed of C1 + C2 has one track as a basic unit, and no two or more ECC block constituent units exist in each track.
図7には、図6に示したECCブロック構成を採用した磁気ディスク21のECCブロック構造の例を示している。
ここではECC訂正符号として、シンボル長8のリードソロモン符号を用いているものとする。
磁気ディスク21のあるゾーンにおけるトラック1周分の有効なセクタ数を、800セクタとする。1セクタは例えば、512バイトのデータに4バイトのCRC(クロスチェックコード)、並びに合計で48バイトのC1を付加し、4インターリーブで構成してある。
FIG. 7 shows an example of the ECC block structure of the
Here, it is assumed that a Reed-Solomon code having a symbol length of 8 is used as the ECC correction code.
The effective number of sectors for one track in a zone of the
図7のECCブロック構成の例では、セクタ0〜751までの752セクタをデータ領域として与え、セクタ752〜799までの48セクタをC2領域として与えている。C2については、例えば12セクタずつの4インターリーブで構成する。
このような構成としたとき、1つのECCブロックは合計800セクタとなって、このゾーン内において1周分となり、トラック単位を実現させることが出来る。
In the example of the ECC block configuration of FIG. 7, 752 sectors from
In such a configuration, one ECC block has a total of 800 sectors, which is equivalent to one round in this zone, and a track unit can be realized.
この例におけるエラー訂正能力について考察する。
ランダムエラーに対してはC1を利用することによって、セクタ当たり最大24バイトまで(バイトの消失情報が得られる場合は最大48バイトまで)の訂正が可能である。
さらに、バーストエラーに対しては、C2を利用することによって、トラック当たり最大24セクタまで(CRCの結果を利用することで最大48セクタまで)の長さのエラー訂正が可能となる。
Consider the error correction capability in this example.
By using C1 for a random error, it is possible to correct up to 24 bytes per sector (up to 48 bytes if byte loss information is obtained).
Furthermore, for burst errors, error correction with a length of up to 24 sectors per track (up to 48 sectors using the CRC result) is possible by using C2.
ここで、上記のようなエラー訂正ブロックを採用する事情について述べておく。
従来のHDDのシステムの多くにおいては、エラー訂正が、512バイトデータと情報ビットからなる1セクタ単位においてのみ行われている。
したがって、各セクタ内に発生するランダムエラーに対してはエラー訂正を行うことができるが、訂正可能範囲を越えたランダムエラーや、あるいはバーストエラーすなわちセクタを越えて長く連続したエラーに対しては、エラー訂正を行うことが出来なかった。
Here, the circumstances of adopting the error correction block as described above will be described.
In many conventional HDD systems, error correction is performed only in units of one sector including 512-byte data and information bits.
Therefore, error correction can be performed for random errors occurring in each sector, but for random errors that exceed the correctable range, or burst errors, that is, errors that continue long beyond the sector, Error correction could not be performed.
このような場合、例えばリトライ動作を実施するなどによって、読み取りエラーを一定以下にし、エラー訂正を行うことができる。ところが、リトライ動作は基本的に、1回当たり1周分の余分なアクセス時間の増加に相当する。
ここで、上述のようなトラック単位アクセスによってアクセス時間の短縮がなされたにもかかわらず、リトライ動作が発生すると、結局アクセス時間は増加し、データ読み出し時間の遅れを発生させる結果となる。
例えばHD(ハイビジョン画質)の再生や特殊再生時といったAVコンテンツを扱う場合において、高転送速度が要求されるとき、訂正不能な読み取りエラーが発生しても時間的にリトライ動作を行う余裕のないときがある。このような場合、現状では、読み取りエラー訂正が行われないまま処理を進めている。この結果、再生品質は悪くなってしまう。
In such a case, for example, by performing a retry operation, it is possible to make the read error below a certain level and perform error correction. However, the retry operation basically corresponds to an increase in the extra access time for one turn per time.
Here, even if the access time is shortened by the track unit access as described above, if a retry operation occurs, the access time eventually increases, resulting in a delay in data read time.
For example, when handling AV content such as HD (high-definition image quality) playback or special playback, when a high transfer speed is required, even if an uncorrectable read error occurs, there is no time to perform a retry operation in time. There is. In such a case, at present, the processing is proceeding without correcting the reading error. As a result, the reproduction quality is deteriorated.
そこで、ECC構成を上記のようにして、安定したデータ再生を実現し、リトライの発生する事態を引き起こすようなエラー訂正の出来ない場合を減少させるようにするものである。
つまり、従来の1セクタ単位のエラー訂正であるC1訂正に加えて、セクタ間の訂正を行うことが可能なC2訂正を付加する。そして、C1+C2からなる、エラー訂正単位(ECCブロック)を例えばトラックで完結するような構成をとる。
Therefore, the ECC configuration is configured as described above to realize stable data reproduction and reduce the number of cases where error correction that causes a retry occurrence cannot be performed.
That is, in addition to the conventional C1 correction, which is an error correction in units of one sector, a C2 correction capable of correcting between sectors is added. The error correction unit (ECC block) composed of C1 + C2 is completed by, for example, a track.
トラックの1周でC1+C2からなるECCブロック単位を完結させた場合、1トラックをアクセス単位とすることができ、回転待ちを発生することのないデータアクセス制御を実現することができる。すなわち、所望のデータ記憶場所へのアクセス時間を短縮することができる。また、同一トラック上で2以上のECCブロックを持つことがないようにすれば、ECC構成を複数トラック単位とした場合であっても、同様に、回転待ちを発生することのないデータアクセス制御を実現することができる。
When an ECC block unit composed of C1 + C2 is completed in one round of a track, one track can be used as an access unit, and data access control without causing rotation waiting can be realized. That is, the access time to a desired data storage location can be shortened. Also, if there are no more than two ECC blocks on the same track, data access control that does not cause rotation waiting can be performed even when the ECC configuration is a unit of a plurality of tracks. Can be realized.
4.セクタ数に応じたECCブロック設定
例えばECCブロックが1トラック単位で形成されるとし、ある1トラックが800セクタの場合のECCブロックを上記図7に示した。
但し、磁気ディスク21上の全トラックが800セクタであるということはない。実際には、ゾーンに応じて1トラックのセクタ数が異なることに加え、高密度化や高効率化のためにディスクフォーマットが細分化される場合がある。例えばディスク面毎、記録再生ヘッド毎などに記録密度を可変としたり、さらに1つの記録面でより詳細にゾーン分割したり、或いはゾーン構成をディスク面毎に異なるものとする場合もある。さらには、スリップとして或るセクタ区間が削除(無効化)されているトラックもある。
つまりは、高密度化等の要求に応じたフォーマットの細分化やスリップの影響を考えると、磁気ディスク21の各トラックにおけるセクタ数は多様となっている。
本例ではこのような事情においても、効率のよいエラー訂正ブロックを実現するため、トラックあたりのセクタ数に応じてECCブロック構成の設定を行うようにしている。
つまり図1に示したECC制御情報発生部26は、アクセスしようとするトラックのセクタ数の情報に基づいて、以下述べるようにC2セクタ数やインターリーブ分割数を指示する制御情報を発生させ、図3で述べたように、それをECCコントローラ36等に供給して効率の良いECCブロックを形成させるものである。
4). ECC block setting according to the number of sectors
For example, assuming that an ECC block is formed in units of one track, the ECC block in the case where one track has 800 sectors is shown in FIG.
However, all tracks on the
In other words, the number of sectors in each track of the
In this example, even in such a situation, in order to realize an efficient error correction block, the ECC block configuration is set according to the number of sectors per track.
That is, the ECC control
なお、ここでは1トラックあたりのセクタ数に基づくECCブロック設定を例に挙げて述べるが、上述したように1ユニットあたりのセクタ数に基づくECCブロック設定の場合も、考え方は同様である。 Here, the ECC block setting based on the number of sectors per track is described as an example, but the concept is the same in the case of the ECC block setting based on the number of sectors per unit as described above.
例えばECC制御情報発生部26は、アクセスするトラックのセクタ数からテーブルを参照したり、アクセスするトラックのセクタ数に基づく所定の演算処理により、C2セクタ数等の制御情報を発生すると先に述べた。
まずテーブル参照する場合のテーブルの例を図8に示す。
この図8のテーブルは、1トラックあたりのセクタ数として1〜1020セクタについて、それぞれC2セクタ数とインターリーブ分割数を示したテーブルとしている。上述したようにこのようなテーブルが、例えばROM/RAM12に記憶される。
For example, as described above, the ECC control
First, an example of a table when referring to the table is shown in FIG.
The table of FIG. 8 is a table showing the number of C2 sectors and the number of interleave divisions for 1 to 1020 sectors as one sector per track. As described above, such a table is stored in the ROM /
この場合、トラック当たりのセクタ数に対して、冗長度を所定の数値(%)とし、これに対するC2セクタ数を与えるようにしてある。冗長度は一例として6%とした。
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、・・・というように図示するようになる。
In this case, the redundancy is set to a predetermined numerical value (%) with respect to the number of sectors per track, and the number of C2 sectors corresponding thereto is given. As an example, the redundancy is 6%.
The number of C2 sectors is an integer obtained by multiplying the number of sectors per track by the redundancy and rounding off the first decimal place.
For example, as the number of sectors per track, 1, 2, 3,.
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
(Hereinafter abbreviated)
However, in this case, since the multiplication result becomes “0” by rounding up to 1 to 8 sectors, the number of C2 sectors = 0 in the case of 1 to 8 sectors as shown in FIG. To do.
Similarly, the number of
インターリーブは、255セクタを最大とし、これを超えたときにインターリーブ数を増やすようにした。
即ち図示するように、セクタ数1〜255の場合はインターリーブ分割数=1、セクタ数256〜510の場合はインターリーブ分割数=2、セクタ数511〜765の場合はインターリーブ分割数=3、セクタ数766〜1020の場合はインターリーブ分割数=4とした。
Interleaving is maximized at 255 sectors, and the number of interleavings is increased when this is exceeded.
That is, as shown in the figure, when the number of sectors is 1 to 255, the number of interleave divisions = 1, when the number of sectors is 256 to 510, the number of interleaving divisions = 2, when the number of sectors is 511 to 765, the number of interleaving divisions is 3, and the number of sectors. In the case of 766 to 1020, the number of interleave divisions was set to 4.
なおリードソロモン符号方式をnビットで構成するとき、インターリーブの構成における分割の基準としての値は、以下のようにして与えることができる。即ち、
2n −1
例えば8ビットでは、28−1=256−1=255、であることから、上記のように255セクタを最大とし、以降、255増える毎にインターリーブ分割数を1増やしていく。
When the Reed-Solomon code method is composed of n bits, a value as a division criterion in the interleave configuration can be given as follows. That is,
2 n -1
For example, in the case of 8 bits, 2 8 -1 = 256-1 = 255. Therefore, 255 sectors are maximized as described above, and the number of interleave divisions is increased by 1 each
またインターリーブを与えた時の、インターリーブ当たりのC2セクタ数(C2/Intv)も与えてある。例えばインターリーブ分割数=2の場合、各インターリーブに与えられるC2セクタ数である。
この図8の場合、各インターリーブに与えられるC2セクタ数は同数としている。
なお、図においてインターリーブ当たりのC2セクタ数(C2/Intv)の表記を、インターリーブ分割数=2の場合はx・x、インターリーブ分割数=3の場合はx・x・x、インターリーブ分割数=4の場合はx・x・x・x、としているが、これは各インターリーブに与えられるC2セクタ数が「x」であることを表している。
Also, the number of C2 sectors per interleave (C2 / Intv) when interleaving is given. For example, when the number of interleave divisions = 2, it is the number of C2 sectors given to each interleave.
In the case of FIG. 8, the number of C2 sectors given to each interleave is the same.
In the figure, the number of C2 sectors per interleave (C2 / Intv) is expressed as x · x when the number of interleave divisions = 2, x · x · x when the number of interleave divisions = 3, and number of interleave divisions = 4. In the case of x, x, x, x, this indicates that the number of C2 sectors given to each interleave is “x”.
セクタ数1〜255については、インターリーブ分割数=1であるため、インターリーブ当たりのC2セクタ数(C2/Intv)は、C2セクタ数と同一となる。
セクタ数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」と表記)。
For the number of
In the case of 256 to 510 sectors, the number of interleave divisions = 2. At this time, the number of C2 sectors per interleave (C2 / Intv), that is, the number of C2 sectors given to each of the two interleaves is an integer part obtained by dividing the number of C2 sectors by the number of divisions (= 2). Same number.
For example, in the number of
In addition, in the number of
例えばこのようなテーブルを備えることで、ECC制御情報発生部26は、アクセスするトラックのセクタ数の情報に基づいて、ECCブロック設定のための制御情報として、インターリーブ分割数及び各インターリーブでのC2セクタ数を出力することができる。
For example, by providing such a table, the ECC control
なお、図8のそれぞれの値は、計算式としてもあらわすことができる。
C2セクタ数は、セクタ数×冗長度の結果に対し、四捨五入して整数値とする。
インターリーブ分割数は255セクタ単位で、これを超えたときに+1ずつ増える。
即ちインターリーブ分割=整数部{(セクタ数−1)÷255}+1
インターリーブ当たりC2セクタ数は、C2セクタ数の算出結果を、各インターリーブで割った整数部とする。
即ち、各インターリーブ当たりC2セクタ=整数部(セクタ数÷インターリーブ数)
Each value in FIG. 8 can also be expressed as a calculation formula.
The C2 sector number is rounded off to the integer value for the result of sector number × redundancy.
The number of interleave divisions is 255 sector units, and when this number is exceeded, the number increases by +1.
That is, interleave division = integer part {(number of sectors−1) ÷ 255} +1
The number of C2 sectors per interleave is an integer part obtained by dividing the calculation result of the number of C2 sectors by each interleave.
That is, C2 sectors per interleave = integer part (number of sectors / number of interleaves)
換言すれば、図8のようなテーブルデータをもつことにより、或いはテーブルデータをもたなくても、上記計算式を実行するアルゴリズムが備えられることにより、ECC制御情報発生部26は、磁気ディスク21上の各トラックに対して、C2セクタおよびインターリーブを設定するための制御情報を発生させ、ディスクコントローラ13に与えることができる。
そしてディスクコントローラ13内のECCコントローラ36は、供給されたインターリーブ及びC2セクタ数の情報に基づいて、ECC処理を行うことで、トラックに応じたECC処理が実現される。
In other words, by having the table data as shown in FIG. 8 or by having an algorithm for executing the above calculation formula without having the table data, the ECC control
The
そして図8からわかるように、C2セクタ数は、トラックあたりのセクタ数に対して冗長度(例えば6%)を基準として、設定されることになる。従って、この設定によってECCブロック処理が行われることは、磁気ディスク21上の各トラックの状況に応じて、効率の良いECCブロック処理が行われることを意味する。例えば磁気ディスク21上のゾーン、ディスク面、あるいはヘッド特性などに応じたフォーマットによるセクタ数の変動、さらに、存在するスリップによるセクタ欠損など、多様な事情で各トラックのセクタ数が異なる状況になることがあり得るが、トラックあたりのセクタ数に応じてC2セクタ数やインターリーブ構造が設定されることで、実際のトラック状況に応じて、最適かつ効率よくC2セクタを配置することができる。
As can be seen from FIG. 8, the number of C2 sectors is set based on the redundancy (for example, 6%) with respect to the number of sectors per track. Therefore, the ECC block processing being performed by this setting means that efficient ECC block processing is performed in accordance with the status of each track on the
ところで、図8の例ではインターリーブ当たりのC2セクタ数を同一とした。このため、例えば冗長度6%で算出されるC2セクタ数がそのまま反映されない場合がある。例えば上記のようにセクタ数256〜258の場合は、C2セクタ=15セクタであるが、実際に2つのインターリーブに割り当てられるC2セクタはそれぞれ7セクタとなり、結果として14セクタとなってしまう。
これに対して、インターリーブ毎での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構成とできる。
By the way, in the example of FIG. 8, the number of C2 sectors per interleave is the same. For this reason, for example, the number of C2 sectors calculated with a redundancy of 6% may not be reflected as it is. For example, when the number of sectors is 256 to 258 as described above, C2 sector = 15 sectors, but C2 sectors that are actually allocated to two interleaves are 7 sectors each, resulting in 14 sectors.
On the other hand, if the condition that the number of C2 sectors is the same for each interleave is eliminated, the number of C2 sectors can be reflected in more detail.
This is shown in FIG. 9 as another example.
FIG. 9 shows an example in which the total number of C2 sectors per interleave (C2 / Intv) is allocated so as to match the number of C2 sectors calculated with a redundancy of 6%.
For example, in the case of 256 to 258 sectors, the number of C2 sectors per interleave (C2 / Intv) is set to “7.8”. That is, in one interleaved structure, 7 C2 sectors are arranged, and in the other interleaved structure, 8 C2 sectors are arranged. As a result, the number of C2 sectors in the track is set to 15 sectors.
Similarly, for example, when the number of sectors is 511 to 524, the number of C2 sectors is 31, but on the other hand, by setting the number of C2 sectors in three interleaves to “10 · 10 · 11”, a total of 31 sectors is obtained. To be.
By setting in this way, the ECC block can be set in a state closer to the intended redundancy, and a more efficient ECC configuration can be achieved.
この他の例として例えば、上記では所定冗長度のC2セクタ数を四捨五入で与えたが、計算結果の整数部分のみとしてもよい。
すなわちC2セクタ数は、(セクタ数×冗長度)の結果の小数部を切り捨てたものでもよい。
As another example, for example, the number of C2 sectors having a predetermined redundancy is rounded off in the above description, but only the integer part of the calculation result may be used.
That is, the number of C2 sectors may be the fractional part of the result of (number of sectors × redundancy) rounded down.
ところで、例えば冗長度が、(1/2n) で表すことができる場合は、図10のようにビット表記で示すことができる。
例えば
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を簡単なハードウエアないしはテーブルで構成することが可能である。
Incidentally, for example, when the redundancy can be represented by (1/2 n ), it can be represented by bit notation as shown in FIG.
For example, when n = 4, 1/2 4 = 1/16 = 0.0625 ... 6.25%
When n = 5, 1/2 5 = 1/32 = 0.03125 ... 3.125%
It is.
When the redundancy is 6.25% or 3.125%, the number of C2 sectors is expressed as shown in FIG. 10 with respect to the number of sectors per track.
In FIG. 10, the number of sectors per
In other words, when the redundancy is 6.25%, the 8-bit value obtained by shifting the 12-bit value by 4 bits indicates the number of C2 sectors, and when the redundancy is 3.125%, the 12-bit value is 5 bits. The shifted 7-bit value indicates the number of C2 sectors.
In this way, the ECC control
なお、冗長度の値に対するC2セクタ数についてであるが、実際のECCブロック構成は、図8、図9、図10のそれぞれの例のように、単純に割り切れるセクタ数がゾーン毎に与えれるとは限らない。そのため、例えば完全に冗長度をそろえたECCブロック構成を与えるというよりも、所望の範囲の冗長度を与える、あるいは、所望以上の訂正能力を与える、という要求に対して、上記各例が適用されると考えるべきである。 As for the number of C2 sectors with respect to the redundancy value, the actual ECC block configuration is such that the number of sectors that can be simply divided is given for each zone as in the examples of FIGS. 8, 9, and 10. Is not limited. Therefore, for example, each of the above examples is applied to a request to provide a desired range of redundancy or to provide a correction capability higher than desired, rather than to provide an ECC block configuration with complete redundancy. Should be considered.
以上の各例に示すようにECCブロック設定を行うことによって、本例のHDD10では、磁気ディスク21の全面において、より所望に即した訂正能力を持つECCブロック構成を与えることができる。
By performing the ECC block setting as shown in each of the above examples, the
上記例で示したECCブロック構成において、インターリーブを適用した例を図11,図12で説明する。
ここでは、シンボル長8のリード・ソロモン符号では一般に最大数255までを処理単位とすることができることより、以下の例として示している。
An example in which interleaving is applied to the ECC block configuration shown in the above example will be described with reference to FIGS.
Here, in the Reed-Solomon code having a symbol length of 8, generally, the
なお、以下説明する例は、シンボル長9のリード・ソロモン符号では最大511まで、シンボル長10のリード・ソロモン符号では最大1023までとして、同様の考え方で適用できる。さらに、シンボル長8のリード・ソロモン符号において、拡張処理を行うことで、最大256までとすることもできるが、いずれにしても、本発明では同様にして扱うことができる。
The example described below can be applied in the same way with a maximum of 511 for a Reed-Solomon code of
図11は、トラックnに対してインターリーブを適用したものであり、1トラックが540セクタの場合の例である。
上記図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まで割り振ったときの配置を示している。
FIG. 11 shows an example in which interleaving is applied to track n and one track has 540 sectors.
In the case of FIG. 8, the number of interleave divisions = 3 is given to 540 sectors. Also, the number of C2 sectors is 32 sectors, but the number of C2 sectors in each of the three interleaves is 10 sectors by making the same number. That is, a total of 30 sectors are C2 sectors.
Therefore, in this case, as shown in FIG. 11A, 510 sectors are data sectors and 30 sectors are C2 sectors with respect to 540 sectors in track n.
Since the number of interleave divisions is 3, an interleave structure of
For example, the
Then, the sector arrangement in the track is arranged in order, such as
FIG. 11B shows an interleaved decomposition, and FIG. 11C shows an arrangement when addresses 0 to 539 are allocated on the memory.
この図11の例は、図8の場合に対応した例であるが、図9の場合に対応すると、図12のようになる。
図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セクタが付加されて構成される。
The example of FIG. 11 corresponds to the case of FIG. 8, but corresponds to the case of FIG. 9 as shown in FIG.
In the case of FIG. 9, the number of interleave divisions = 3 is given to a track of 540 sectors. Further, the number of C2 sectors is 32 sectors, which is distributed to each of the three interleaves. That is, the number of C2 sectors in each interleave is 10.11.11. Since 32 sectors become C2 sectors, 508 sectors are data sectors relative to 540 sectors in track n.
Accordingly, the interleave structure of
For example, interleave 0 is configured by adding 10 C2 sectors to 170 data sectors. Interleaves 1 and 2 are configured by adding 11 sectors of C2 sectors to 169 sectors of data sectors.
なお、実際の記録データの構成は、この例だけに限っておらず、例えばセクタ毎のヘッダ情報が入る場合もあるし、またはセクタに対するCRCセクタを設ける場合もある。
いずれにしても、これら付加情報がセクタの単位で与えられているとき、同様にして適用することができる。
また、1セクタのバイト数についても、現在は一般的には1セクタは512バイトのデータであるが、もちろんこの限りではなく、例えば1024バイト、あるいは2048バイトを1セクタのデータとした場合においても、上記と同様にしてセクタ毎及びセクタ間に構成されたECCブロックを実現することができる。
The actual recording data configuration is not limited to this example. For example, header information for each sector may be included, or a CRC sector may be provided for the sector.
In any case, when the additional information is given in units of sectors, it can be similarly applied.
Also, regarding the number of bytes in one sector, at present, one sector is generally 512-byte data. However, of course, this is not the case. For example, even when 1024 bytes or 2048 bytes are used as one sector data. In the same manner as described above, ECC blocks configured for each sector and between sectors can be realized.
以上のように、ECCブロックを所定のトラック数単位に完結させ、その所定トラックにおけるセクタ数情報をもとに、所定の条件のもとで、ECCブロックとしてC2セクタを与え、さらにインターリーブ構成として、上記のように設定することで、ECC部分の冗長度を所定範囲内に制御できるので、効率の良いECCブロック構成とできるとともに、ディスクの全周に渡って、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能なようになり安定したデータ再生が実現する。 As described above, the ECC block is completed in units of a predetermined number of tracks, the C2 sector is given as an ECC block under predetermined conditions based on the information on the number of sectors in the predetermined track, and the interleave configuration is By setting as described above, the redundancy of the ECC portion can be controlled within a predetermined range, so that an efficient ECC block configuration can be achieved, and random errors and bursts in a wider range can be achieved over the entire circumference of the disk. Error correction is possible even for errors, and stable data reproduction is realized.
次に、図13により、上記例の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セクタ数やインターリーブ内容については、記録時と再生時において一致させておくことで、正常な処理が実現するものである。
Next, the flow of the ECC block setting process in the above example will be described with reference to FIG.
FIG. 13 shows processing realized by the operation of each unit in FIG. 1 centering on the
As the pre-processing, information on the number of sectors for each track of the
First, when a write target track is set in step F101, in step F102, sector number information for the track is referred to. As described above, the reference destination is, for example, the ROM /
Next, in step F103, the function of the ECC control
By the process of step F103, the number of C2 parities in the track is determined and the interleave setting is also determined in step F104.
In step F105, control information indicating the content determined in step F104 is sent from the ECC control
At the time of writing, the
When reading, the
Note that the number of C2 sectors and the interleave contents as the ECC block format are matched in recording and reproduction so that normal processing is realized.
5.適用例
本発明は上述した例に限定されず、以下のように各種の場合に適用できる。
HDDにおける磁気ディスク21の枚数は、2枚の場合を示したが、1枚、或いは3枚以上の場合も本発明は当然に適用できる。磁気ディスク21やヘッド22等の構成に限らず、あくまでもトラック(或いはユニット)のセクタ数に応じてECCブロックが設定されることで、磁気ディスクのトラック等の状況に応じた、効率の良いECCブロックが実現される。
5). Application examples
The present invention is not limited to the above-described example, and can be applied to various cases as follows.
The number of
また、上記図13の処理において、各トラックのセクタ数情報が、ROM/RAM12(或いは磁気ディスク21の所定エリア)に予め記憶されているとしたが、トラック毎のセクタ数ではなく、そのセクタ数に応じたC2セクタ数、或いはインターリーブ内容そのものが、トラック番号に対応されて記録されていても良い。 In the process of FIG. 13, the number of sectors information of each track is stored in advance in the ROM / RAM 12 (or a predetermined area of the magnetic disk 21), but the number of sectors is not the number of sectors per track. Depending on the track number, the number of C2 sectors or the interleave content itself may be recorded corresponding to the track number.
また図1では、ハードディスク装置10の内部におけるECC制御情報発生部26の部位を示したが、ECC制御情報発生部26はこの位置のみに限定されることはない。ハードディスク装置内外において独立した部位に構成し、必要な情報を用いてC2セクタ数等の制御が行われればよいものである。
例えばホストコントローラ内にECC制御情報発生部26としての機能を備えるようにし、外部インターフェース17を介して制御を行うような形式としてもよい。
Further, FIG. 1 shows the portion of the ECC control
For example, the host controller may be provided with a function as the ECC control
また図8,図9ではトラック当りのセクタ数を最大1020セクタまで記したが、上記の通りの計算式に従い、さらに大きなセクタ数を与えても同様な効果を与えることは当然である。また、インターリーブ数についても、5以上となっても同様である。
さらに各例では、冗長度を固定の6%として示したが、たとえば、特定のエリアにおいて、より冗長度を増やしてエラー訂正能力を高めたりするなど、必ずしも固定としなくてもよい。いずれにしてもこれらのテーブルにおいて定めた冗長度よりC2セクタ数が決定されることは同様である。また、冗長度を変化させるということは、さらにいっそう、詳細にディスクの特性、あるいは、データの内容などに対して細分化した構成を持つことが可能となることも意味する。
In FIGS. 8 and 9, the maximum number of sectors per track is shown up to 1020. However, it is natural that the same effect can be obtained even if a larger number of sectors is given according to the above calculation formula. Also, the number of interleaves is the same when the number is 5 or more.
Further, in each example, the redundancy is shown as fixed 6%. However, for example, the error correction capability may be increased by increasing the redundancy in a specific area. In any case, it is the same that the number of C2 sectors is determined from the redundancy determined in these tables. Further, changing the redundancy means that it becomes possible to have a detailed structure with respect to the characteristics of the disk or the contents of the data in more detail.
また本発明は、HDDに限らず、他の種のディスク記録再生装置においても本発明は適用可能である。例えばトラックが同心円状とされるものの他、スパイラル状とされるディスクについてのシステムでも適用できる。もちろん磁気ディスクに限らず、光ディスク、光磁気ディスクについてのシステムでも適用できる。 The present invention is not limited to the HDD, and the present invention can be applied to other types of disc recording / reproducing apparatuses. For example, the present invention can be applied to a system in which a track has a spiral shape in addition to a concentric track shape. Of course, the present invention can be applied not only to magnetic disks but also to systems for optical disks and magneto-optical disks.
本発明のプログラムは、上述したHDD10の機能を実現するプログラムである。特にCPU11によって起動され、HDD10の各部がそのプログラムに基づいて制御されることで図13のような処理が実行される。
このプログラムは、例えばROM/RAM12に予め記憶しておくことができる。或いは磁気ディスク21に記憶しておき、ROM/RAM12にロードされる形態も考えられる。
The program of the present invention is a program for realizing the functions of the
This program can be stored in advance in the ROM /
10 HDD(ハードディスク装置)、11 CPU、12 ROM/RAM、13 ディスクコントローラ、14 バッファRAM、15 データ読み書き制御部、16 サーボ制御部、21,21a,21b 磁気ディスク 22,22a,22b 磁気ヘッド、26 ECC制御情報発生部
10 HDD (Hard Disk Device), 11 CPU, 12 ROM / RAM, 13 Disk Controller, 14 Buffer RAM, 15 Data Read / Write Control Unit, 16 Servo Control Unit, 21, 21a, 21b
Claims (19)
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセスを行うデータアクセス手段と、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正手段と、
上記ディスク記録媒体に対する上記データアクセス手段によるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生手段とを備え、
上記制御情報発生手段は、上記データアクセス手段がアクセスする範囲の画像や音声に適応させてある、所定処理データの単位のセクタ数に応じて上記制御情報を発生させ、
上記エラー訂正手段は、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位のセクタ数の設定は、上記制御情報発生手段により発生された上記制御情報に基づいて行う
ことを特徴とするデータ記録再生装置。 Concentric or spiral tracks are formed, and each track is a data recording / reproducing apparatus for a disk recording medium divided into a plurality of sectors,
Seek means to seek the target track;
Data access means for accessing on the sought track;
Error correction means for generating an error correction code for error correction of the data and correcting the error of the data based on the error correction code;
Control information generating means for generating control information of an error correction block corresponding to access by the data access means to the disk recording medium,
The control information generating means generates the control information according to the number of sectors in a unit of predetermined processing data, which is adapted to an image or sound in a range accessed by the data access means,
The error correction means sets a first error correction code unit for a predetermined data amount unit, sets a second error correction code unit for a plurality of first error correction code units, and sets a plurality of error correction code units. Forming an error correction block composed of the first error correction code unit and the second error correction code unit added thereto, and setting the number of sectors of the second error correction code unit is as follows: A data recording / reproducing apparatus, characterized in that it is performed based on the control information generated by the control information generating means.
上記エラー訂正手段は、上記インターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成することを特徴とする請求項1に記載のデータ記録再生装置。 The control information generating means generates the control information indicating interleave contents according to the number of sectors in the range accessed by the data access means,
2. The data recording / reproducing apparatus according to claim 1, wherein the error correction unit generates an error correction block having an interleave structure according to an instruction of the interleave contents.
上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記データテーブルを参照し、上記第2のエラー訂正符号単位のセクタ数を指示する上記制御情報を発生させることを特徴とする請求項2に記載のデータ記録再生装置。 The control information generating means comprises a data table storing the number of sectors and the number of sectors of the second error correction code unit corresponding to the number of sectors,
3. The control information indicating the number of sectors in the second error correction code unit is generated by referring to the data table in accordance with the number of sectors in the range accessed by the data access means. The data recording / reproducing apparatus described in 1.
上記データアクセス手段がアクセスする範囲のセクタ数に応じて、上記データテーブルを参照し、上記インターリーブ分割数を指示する上記制御情報を発生させることを特徴とする請求項3に記載のデータ記録再生装置。 The control information generating means includes a data table storing the number of sectors and the number of interleave divisions corresponding to the number of sectors,
4. The data recording / reproducing apparatus according to claim 3, wherein the control information indicating the number of interleave divisions is generated by referring to the data table in accordance with the number of sectors in the range accessed by the data access means. .
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップと、
上記ディスク記録媒体に対する上記データアクセスステップによるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生ステップとを備え、
上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲の画像や音声に適応させてある、所定処理データの単位のセクタ数に応じて上記制御情報を発生させ、
上記エラー訂正ステップでは、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位のセクタ数の設定は、上記制御情報発生ステップにより発生された上記制御情報に基づいて行うこと
を特徴とするデータ記録再生方法。 As a data recording / reproducing method for a disk recording medium in which concentric or spiral tracks are formed and each track is divided into a plurality of sectors,
Seek step to seek the desired track;
A data access step for accessing on the sought track;
An error correction step for generating an error correction code for error correction of the data and error correcting the data based on the error correction code;
A control information generation step for generating control information of an error correction block corresponding to access by the data access step to the disk recording medium,
In the control information generation step, the control information is generated according to the number of sectors in a unit of predetermined processing data, which is adapted to the image and sound in the range accessed in the data access step,
In the error correction step, a first error correction code unit is set for a predetermined data amount unit, a second error correction code unit is set for a plurality of first error correction code units, and a plurality of error correction code units are set. Forming an error correction block composed of the first error correction code unit and the second error correction code unit added thereto, and setting the number of sectors of the second error correction code unit is as follows: A data recording / reproducing method characterized in that it is performed based on the control information generated in the control information generating step.
上記エラー訂正ステップでは、上記インターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成することを特徴とする請求項11に記載のデータ記録再生方法。 In the control information generation step, the control information instructing the interleave contents according to the number of sectors in the range accessed in the data access step is generated,
12. The data recording / reproducing method according to claim 11, wherein in the error correction step, an error correction block having an interleave structure corresponding to an instruction of the interleave content is generated.
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップと、
上記ディスク記録媒体に対する上記データアクセスステップによるアクセスに対応するエラー訂正ブロックの制御情報を発生する制御情報発生ステップとを備え、
上記制御情報発生ステップでは、上記データアクセスステップでアクセスする範囲の画像や音声に適応させてある、所定処理データの単位のセクタ数に応じて上記制御情報を発生させ、
上記エラー訂正ステップでは、所定のデータ量単位に対して第1のエラー訂正符号単位を設定し、また複数個の第1のエラー訂正符号単位に対する第2のエラー訂正符号単位を設定し、複数個の上記第1のエラー訂正符号単位及びこれに対して付加された上記第2のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第2のエラー訂正符号単位のセクタ数の設定は、上記制御情報発生ステップにより発生された上記制御情報に基づいて行うようにしたこと
を特徴とするプログラム。 A program written in a computer-readable format for executing data recording / reproduction processing on a disk recording medium on which a concentric or spiral track is formed and each track is divided into a plurality of sectors on a computer system As
Seek step to seek the desired track;
A data access step for accessing on the sought track;
An error correction step for generating an error correction code for error correction of the data and error correcting the data based on the error correction code;
A control information generation step for generating control information of an error correction block corresponding to access by the data access step to the disk recording medium,
In the control information generation step, the control information is generated according to the number of sectors in a unit of predetermined processing data, which is adapted to the image and sound in the range accessed in the data access step,
In the error correction step, a first error correction code unit is set for a predetermined data amount unit, a second error correction code unit is set for a plurality of first error correction code units, and a plurality of error correction code units are set. Forming an error correction block composed of the first error correction code unit and the second error correction code unit added thereto, and setting the number of sectors of the second error correction code unit is as follows: A program that is performed based on the control information generated in the control information generation step.
上記エラー訂正ステップでは、上記インターリーブ内容の指示に応じたインターリーブ構造を備えたエラー訂正ブロックを生成することを特徴とする請求項15に記載のプログラム。 In the control information generation step, the control information instructing the interleave contents according to the number of sectors in the range accessed in the data access step is generated,
16. The program according to claim 15, wherein in the error correction step, an error correction block having an interleave structure corresponding to the instruction of the interleave content is generated.
上記エラー訂正ブロックの構成を有するデータが、同心円状又はスパイラル状に形成されたトラックに記録されること特徴とする記録媒体。 A first error correction code unit is set for a predetermined data amount unit, a second error correction code unit for a plurality of first error correction code units is set, and a plurality of the first error correction code units are set. An error correction block including a correction code unit and the second error correction code unit added thereto is formed. In the error correction block, the second error correction code unit is a data write / read It is set based on the number of sectors in the unit of predetermined processing data, which is adapted to images and audio in the range where read access is performed,
A recording medium, wherein the data having the error correction block configuration is recorded on a concentric or spiral track.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004073235A JP4598417B2 (en) | 2004-03-15 | 2004-03-15 | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004073235A JP4598417B2 (en) | 2004-03-15 | 2004-03-15 | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005259311A JP2005259311A (en) | 2005-09-22 |
| JP4598417B2 true JP4598417B2 (en) | 2010-12-15 |
Family
ID=35084863
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004073235A Expired - Fee Related JP4598417B2 (en) | 2004-03-15 | 2004-03-15 | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4598417B2 (en) |
-
2004
- 2004-03-15 JP JP2004073235A patent/JP4598417B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005259311A (en) | 2005-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3760899B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, and computer program | |
| CN100353448C (en) | Data recording/reproducing device, data recording/reproducing method, program, and recording medium | |
| JP4158717B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| JP2008243269A (en) | Disk drive device and data rewrite method | |
| JP2005063441A (en) | Hard disk drive controller for writing to hard disk drive using 4K block size and hard disk drive using the same | |
| CN1627425B (en) | Data recording/reproducing device, method, program and recording medium | |
| JPWO2003071534A1 (en) | DATA ACCESS CONTROL DEVICE, DATA ACCESS CONTROL METHOD, CONTROLLER, AND COMPUTER PROGRAM | |
| JP2006294163A (en) | Disk unit | |
| JP2004103127A (en) | Method for rearranging sectors of information recording medium and information storage device | |
| JP4269844B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| JP4598417B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| JP2006031825A (en) | Recording / reproducing control method and recording / reproducing control apparatus | |
| JP4075713B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| JP4082308B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| JP4694774B2 (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| JP2005235334A (en) | Data recording / reproducing apparatus, data recording / reproducing method, program, and recording medium | |
| US7612960B2 (en) | Method for formatting data sectors on magnetic disk, and magnetic disk drive | |
| JP2007250054A (en) | Information recording method, write control circuit, and information storage device | |
| JP2006146976A (en) | Recording / reproducing system, error correction apparatus, and recording / reproducing method | |
| JP4269915B2 (en) | Recording / reproducing apparatus and method, and recording / reproducing system | |
| JP2002216426A (en) | Information recording system | |
| JP2008117491A (en) | Recording apparatus, recording method, and program | |
| JP2006012297A (en) | Access control program for magnetic disk device, access control device using the access control program, and magnetic disk device |
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 |