JP5380556B2 - Disk storage device and data restoration method - Google Patents
Disk storage device and data restoration method Download PDFInfo
- Publication number
- JP5380556B2 JP5380556B2 JP2012012060A JP2012012060A JP5380556B2 JP 5380556 B2 JP5380556 B2 JP 5380556B2 JP 2012012060 A JP2012012060 A JP 2012012060A JP 2012012060 A JP2012012060 A JP 2012012060A JP 5380556 B2 JP5380556 B2 JP 5380556B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- restoration
- xor
- group
- 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)
Description
本発明の実施形態は、ディスク記憶装置のデータ復元技術に関する。 Embodiments described herein relate generally to a data restoration technique for a disk storage device.
近年、ハードディスクドライブを代表とするディスク記憶装置(以下、ディスクドライブと表記する場合がある)では、記憶容量の増大化が推進されている。これに伴って、ディスクの高記録密度化が進み、ディスクからデータを読み出すときの読み出しエラーの影響が大きくなっている。 In recent years, in a disk storage device represented by a hard disk drive (hereinafter sometimes referred to as a disk drive), an increase in storage capacity has been promoted. Along with this, the recording density of the disk has been increased, and the influence of a read error when reading data from the disk has been increased.
従来、ディスクドライブでは、ディスクに対してセクタ単位でデータを書き込み、または読み出すリード/ライト動作が実行される。ライト動作では、各セクタ内にライトデータとしてユーザデータ及びECC(error correcting code:エラー訂正コード)データが書き込まれる。リード動作では、ユーザデータを再生(復号)する場合に、リードエラーが発生すると、ECCデータを使用してエラー訂正処理が実行される。 Conventionally, in a disk drive, a read / write operation for writing or reading data on a disk by sector is executed. In the write operation, user data and ECC (error correcting code) data are written as write data in each sector. In the read operation, when user data is reproduced (decoded), if a read error occurs, error correction processing is executed using ECC data.
リード動作時に、ECCデータによりセクタ内のエラーを訂正することは可能である。しかしながら、ECCデータによるエラー訂正能力には限界があり、例えばセクタ単位のデータが消失するような場合には、データを復元することは困難である。このため、ECCデータによるエラー訂正処理以外に、有効なデータ復元方法が要求されている。 During a read operation, it is possible to correct an error in a sector with ECC data. However, there is a limit to the error correction capability based on ECC data. For example, when data in units of sectors is lost, it is difficult to restore the data. For this reason, an effective data restoration method is required in addition to error correction processing using ECC data.
従来から、ECCデータによるエラー訂正処理以外に、例えばセクタ単位の消失データを復元できる有効なデータ復元方法の開発が進められている。しかしながら、単にデータ復元能力を高める方法では、以下のようなオーバーヘッド(overhead)が問題となる。 Conventionally, in addition to error correction processing using ECC data, development of an effective data restoration method that can restore lost data in units of sectors, for example, has been underway. However, in the method of simply increasing the data restoration capability, the following overhead becomes a problem.
即ち、復元用データの容量が増大し、ディスク上のデータ記録効率が低下する。また、ユーザデータ及びECCデータの書換えに伴って、復元用データも更新することになる。このため、大容量の復元用データを書き込むための時間の影響で、ライト動作の効率が低下する。 That is, the capacity of the restoration data increases and the data recording efficiency on the disk decreases. Further, the restoration data is also updated as the user data and ECC data are rewritten. For this reason, the efficiency of the write operation decreases due to the influence of the time for writing a large volume of restoration data.
即ち、ディスクドライブでは、前述のオーバーヘッドを回避し、ECCデータによるエラー訂正処理以外に、有効なデータ復元を実現することが求められている。 That is, the disk drive is required to avoid the above-described overhead and realize effective data restoration in addition to error correction processing using ECC data.
本実施形態によれば、ディスク記憶装置は、ライト手段と、演算手段と、制御手段とを有する。前記ライト手段は、ディスク上で隣接する複数のトラック及び当該各トラック内を分割する複数のブロックから構成される書き込み範囲にデータを書き込む。前記演算手段は、前記書き込み範囲の中で、隣接する複数のトラックと隣接する複数のブロックにより設定される各グループ毎のデータに対する排他的論理和演算を実行する。前記各グループは、前記書き込み範囲が隣接する4トラック分の場合にトラック番号が偶数の偶数トラックとブロック番号が偶数の偶数ブロックにより設定される第1のグループと、トラック番号が奇数の奇数トラックと偶数ブロックにより設定される第2のグループと、偶数トラックとセクタ番号が奇数の奇数ブロックにより設定される第3のグループと、奇数トラックと奇数ブロックにより設定される第4のグループとを含む。前記制御手段は、前記演算手段の演算結果である復元用データを指定のブロックに書き込むように前記ライト手段を制御し、前記演算手段から前記各グループ毎の各復元用データを取得し、前記各復元用データのそれぞれを前記書き込み範囲に含まれる複数のブロックに書き込むように前記ライト手段を制御するように構成されている。 According to the present embodiment, the disk storage device includes a write unit, a calculation unit, and a control unit. The write means writes data in a write range composed of a plurality of adjacent tracks on the disk and a plurality of blocks dividing each track. The arithmetic means performs an exclusive OR operation on data for each group set by a plurality of adjacent tracks and a plurality of adjacent blocks within the write range. Each group includes a first group set by an even track having an even track number and an even block having an even block number, and an odd track having an odd track number when the write range is for four adjacent tracks. It includes a second group set by an even block, a third group set by an even block and an odd block with an odd sector number, and a fourth group set by an odd track and an odd block. The control means controls the write means so as to write restoration data, which is a calculation result of the calculation means, to a specified block, obtains each restoration data for each group from the calculation means, The writing means is controlled to write each of the restoration data into a plurality of blocks included in the writing range.
以下図面を参照して、実施形態を説明する。 Embodiments will be described below with reference to the drawings.
[ディスクドライブの構成]
図1に示すように、本実施形態のディスクドライブ10は、磁気記録媒体であるディスク11と、スピンドルモータ12と、ヘッド13と、ヘッドアンプ14と、ハードディスクコントローラ(HDC、単にディスクコントローラと表記する)15と、バッファメモリ16とを有する。スピンドルモータ12は、ディスク11を回転させる。ヘッド13は、リードヘッド素子とライトヘッド素子とを含み、ディスク11からデータを読み出し、またデータを書き込む。
[Disk Drive Configuration]
As shown in FIG. 1, a
ヘッドアンプ14は、ヘッド13により読み出された信号(リードデータ)を増幅して、ディスクコントローラ15に伝送する。また、ヘッドアンプ14は、ディスクコントローラ15から出力される信号(ライトデータ)をライト電流に変換してヘッド13に伝送する。
The
ディスクコントローラ15は、リード/ライト(R/W)チャネル17及びコントローラ18を含む。R/Wチャネル17は、データ記録再生の信号処理回路であり、ヘッド13により読み出されたリードデータをデコードし、またライトデータをエンコードする機能を有する。
The
コントローラ18はバッファメモリ16を使用して、R/Wチャネル17とホストシステム20とのデータ転送を制御するインターフェースである。また、コントローラ18は、R/Wチャネル17を介してデータ記録再生動作を制御し、本実施形態に関するデータ復元処理を実行する。コントローラ18は、後述するように、データ復元処理で必要なXOR演算モジュール19を含む。
The
バッファメモリ16は、コントローラ18により制御されてリードデータ及びライデータを一時的に格納する。ホストシステム20は、ディスクドライブ10を外部記憶装置として使用するパーソナルコンピュータやディジタルテレビなどのディジタル機器である。
The
XOR演算モジュール19は、図2に示すように、排他的論理和(exclusive OR : XORと略す場合がある)演算を実行するXOR回路30と、第1のXOR-D選択回路31と、第2のXOR-D選択回路32と、XOR-D用バッファメモリ33と、出力切り替え回路34とを含む。
As shown in FIG. 2, the
第1のXOR-D選択回路31は、XOR回路30の演算結果データ(XOR-Dと表記する場合がある)をバッファメモリ33に格納するときに、当該バッファメモリ33のバッファ領域を選択する。一方、第2のXOR-D選択回路32は、バッファメモリ33からXOR-Dを取り出すときに、当該バッファメモリ33のバッファ領域を選択する。バッファメモリ33は、XOR回路30の演算結果データ(XOR-D)を順次格納する複数のバッファ領域を有する。
The first XOR-
出力切り替え回路34は、コントローラ18の内部で生成するXOR-Dライト信号200が無効(論理0)である場合に、バッファメモリ16に格納されたライトデータをR/Wチャネル17に出力する。一方、出力切り替え回路34は、XOR-Dライト信号200が有効(論理1)になると、バッファメモリ16からのライトデータの出力を停止し、第2のXOR-D選択回路32から取り出された復元用データ(XOR-D)をR/Wチャネル17に出力する。
The
(データ復元処理)
以下、図3から図6を参照して本実施形態のデータ復元処理を説明する。
(Data restoration process)
Hereinafter, the data restoration processing of this embodiment will be described with reference to FIGS.
まず、図3(A)〜(D)及び図5のフローチャートを参照して、本実施形態のライト動作を説明する。 First, the write operation of this embodiment will be described with reference to FIGS. 3A to 3D and the flowchart of FIG.
本実施形態は、例えば瓦書き込み(shingle write)方式と呼ばれるライト動作時に、ブロック単位(ここではセクタ単位)のデータを復元する復元用データ(XOR-D)を書き込む。このライト動作は、ディスク11上に、複数トラック分のデータを一度に纏め書きする動作である。 In the present embodiment, for example, data for restoration (XOR-D) for restoring data in units of blocks (here, in units of sectors) is written during a write operation called a shingle write method. This write operation is an operation for collectively writing data for a plurality of tracks on the disk 11 at a time.
具体的には、図3(A)に示すように、隣接する2トラックA,Bを、データを一度に纏め書きする場合の単位とする。ここで、瓦書き込み動作とは、隣接するトラックの領域までデータを書き込むことである。 Specifically, as shown in FIG. 3A, two adjacent tracks A and B are set as a unit for collectively writing data at a time. Here, the shingled write operation is to write data up to an adjacent track area.
図3(A)に示すように、コントローラ18は、トラックAの先頭セクタS0から最後尾セクタS14まで連続的にデータを書き込む。なお、コントローラ18は、セクタ単位(ブロック単位)でデータを取り扱う。以下、復元用データ(XOR-D)と区別して、通常データと表記する場合がある。通常データは、ホストシステム20から転送されるユーザデータとECCデータを含む。
As shown in FIG. 3A, the
次に、図3(B),(C)に示すように、コントローラ18は、隣接するトラックBの先頭セクタS0から連続的に通常データを書き込む。図3(C),(D)に示すように、コントローラ18は、トラックBに最後のセクタ(ここではセクタS13となる)の通常データを書き込むと、その次のセクタ(ここでは最後尾セクタS14)に復元用データ(XOR-D)を書き込む。
Next, as shown in FIGS. 3B and 3C, the
次に、図5のフローチャートを参照して、復元用データ(XOR-D)の生成及び書き込み動作を説明する。 Next, with reference to the flowchart of FIG. 5, the operation of generating and writing the restoration data (XOR-D) will be described.
まず、ライト動作では、コントローラ18は、ホストシステム20から転送されるセクタ単位のユーザデータを受信すると、バッファメモリ16に格納する。コントローラ18は、ディスク11に通常データを書き込むときに、バッファメモリ16からセクタ単位のユーザデータを読み出す(ブロック500)。
First, in the write operation, when the
本実施形態では、図2に示すように、XOR演算モジュール19は、バッファメモリ16から読み出されたセクタ単位のユーザデータ及びバッファメモリ33から選択されたXOR-Dを読み出し、XOR回路30によりXOR演算を実行する(ブロック501)。XOR演算モジュール19は、セクタ単位の各データ(ユーザデータとXOR-D)のXOR演算を実行し、演算結果データであるXOR-Dをバッファメモリ33の選択されたバッファ領域に格納する(ブロック502)。
In the present embodiment, as shown in FIG. 2, the
即ち、XOR演算モジュール19は、複数のトラックA,Bに書き込むべき全てのセクタのデータのXOR演算を実行し、最終的に算出されるXOR-Dを復元用データ(XOR-D)としてバッファメモリ33の指定のバッファ領域に格納する。
That is, the
一方、コントローラ18は、XOR演算モジュール19の演算処理時に、バッファメモリ16から順次読み出されたデータを、出力切り替え回路34を介してR/Wチャネル17に転送する。R/Wチャネル17は、ディスク11上に記録するための符号化処理(ECCデータの付加も含む)を実行する。ヘッド13は、ディスク11上の指定されたトラックA,Bに、ヘッドアンプ14により伝送されたセクタ単位のデータ(ECCデータも含む)を書き込む。この場合、本実施形態では、コントローラ18は、トラックA,Bにデータを纏め書き動作を行なうように制御する。
On the other hand, the
コントローラ18は、トラックA,Bに通常データの書き込み動作が完了すると、XOR-Dのライトタイミングに応じてXOR-Dライト信号200が有効(論理1)にする(ブロック503のYES)。コントローラ18は、バッファメモリ16からの通常データの読み出しを停止する(ブロック504)。コントローラ18は、XOR演算モジュール19のバッファメモリ33から復元用データ(XOR-D)を読み出し、出力切り替え回路34を介してR/Wチャネル17に転送する。
When the normal data write operation to tracks A and B is completed, the
R/Wチャネル17は、ユーザデータの場合と同様に、復元用データ(XOR-D)に対してディスク11上に記録するための符号化処理(ECCデータの付加も含む)を実行する。図3(D)に示すように、ヘッド13は、ディスク11上の指定されたトラックBの指定のセクタ(最後尾セクタS14)に復元用データ(XOR-D)を書き込む(ブロック505)。
As in the case of user data, the R /
以上のようして、バッファメモリ16から読み出したユーザデータをディスク11上に書き込むときに、XOR演算モジュール19により自動的に復元用データ(XOR-D)を生成して専用のバッファメモリ33に格納する。ディスク11上にユーザデータを書き込みした後に、連続的に復元用データ(XOR-D)を書き込む。
As described above, when the user data read from the
即ち、トラックA,Bに通常データを纏め書きした後に、XOR演算モジュール19により生成された復元用データ(XOR-D)をトラックBの最後セクタに書き込む。この場合、復元用データ(XOR-D)のサイズ(データ量)は、セクタ単位(ブロック単位)のユーザデータと同じサイズである。即ち、ECCデータを付加するECC処理単位と同じサイズである。具体的には、例えば512バイト毎のユーザデータにECCデータを付加する場合、復元用データ(XOR-D)のサイズも512バイトとなる。
That is, after the normal data is written together on the tracks A and B, the restoration data (XOR-D) generated by the
次に、図6のフローチャートを参照して、復元用データ(XOR-D)を使用したデータ復元動作を説明する。 Next, a data restoration operation using the restoration data (XOR-D) will be described with reference to the flowchart of FIG.
まず、ディスクドライブ10では、ホストシステム20からの要求に応じて、ディスク11から指定のセクタ(ここではトラックA,Bに含まれるセクタ)のデータを読み出す通常のリード動作を実行する。コントローラ18は、通常のリード動作時にリードエラーが発生すると、当該セクタのECCデータを使用してエラー訂正処理(ECC処理)を実行する。
First, in response to a request from the
本実施形態では、ECC処理では訂正不能なセクタが発生した場合に、コントローラ18は、図6に示すように、当該セクタのユーザデータを復元するためのリード動作を実行する(ブロック600)。コントローラ18は、ディスク11上のトラックA,Bから、復元用データ(XOR-D)を含む全てのデータを読み出す(ブロック601)。このとき、コントローラ18は、訂正不能なセクタをスキップし、それ以外の全てのデータを読み出す(ブロック602,603,604)。
In the present embodiment, when a sector that cannot be corrected by the ECC processing occurs, the
コントローラ18は、訂正不能なセクタ以外の全セクタのデータと復元用データ(XOR-D)とを使用して、訂正不能なセクタのユーザデータを復元するデータ復元処理を実行する(ブロック605)。以下、データ復元処理を説明する。
The
まず、本実施形態のXOR演算の基本的動作を説明する。 First, the basic operation of the XOR operation of this embodiment will be described.
仮に、所定のビット列からなるデータX,Y,Zについて、XOR演算「X xor Y xor Z」を実行し、その演算結果データを「D」とする。この場合、XOR演算「Y xor Z xor D」の演算結果データは「X」となる。従って、XOR演算の演算結果データD(XOR-D)を生成することにより、元のデータX,Y,Zのいずれかを復元することが可能となる。この具体例の場合、元データのY,Z及びD(XOR-D)を使用することにより、データXを復元できる。 Suppose that XOR operation “X xor Y xor Z” is executed for data X, Y, Z consisting of a predetermined bit string, and the operation result data is set to “D”. In this case, the operation result data of the XOR operation “Y xor Z xor D” is “X”. Therefore, by generating the operation result data D (XOR-D) of the XOR operation, any of the original data X, Y, Z can be restored. In this specific example, the data X can be restored by using the original data Y, Z, and D (XOR-D).
本実施形態の復元用データ(XOR-D)は、トラックA,Bの各セクタのユーザデータUnのXOR演算「U0 xor U1 xor U2 xor ... Un」の演算結果データである。ここで、本実施形態の纏め書きの単位内(トラックA,B)において、1セクタのみ訂正不能なセクタのユーザデータUmを復元するには、XOR演算「Um = U0 xor U1 xor U2 xor ... xor Um-1 xor Um+1 xor ... xor Un xor XOR-D」を実行する。ここで、ユーザデータUm以外のデータUn及びXOR-Dは全て正常なデータであるとする。 The restoration data (XOR-D) of this embodiment is operation result data of an XOR operation “U0 xor U1 xor U2 xor... Un” of user data Un of each sector of tracks A and B. Here, in order to restore the user data Um of a sector that cannot be corrected by only one sector within the unit of summary writing (tracks A and B) of the present embodiment, the XOR operation “Um = U0 xor U1 xor U2 xor. xor Um-1 xor Um + 1 xor ... xor Un xor XOR-D ". Here, it is assumed that the data Un and XOR-D other than the user data Um are all normal data.
以上のようなデータ復元動作により、通常のECC処理では訂正できないセクタ単位(ブロック単位)のデータを復元することができる。ここで、本実施形態のデータ復元方法では、以下のようなオーバーヘッドが予想される。 By the data restoration operation as described above, sector unit (block unit) data that cannot be corrected by normal ECC processing can be restored. Here, in the data restoration method of the present embodiment, the following overhead is expected.
まず、ECCデータ以外に、復元用データ(XOR-D)を記録するための領域が余分に必要になる。しかしながら、本実施形態の復元用データ(XOR-D)に必要な容量は、纏め書きの単位(本実施形態では、2トラック分)につき、1ブロック(1セクタ)である。纏め書きの単位を数百トラック分程度とすれば、1ブロック(1セクタ)の復元用データ(XOR-D)に必要な容量は、十分に無視できる程度の小さい容量である。 First, in addition to the ECC data, an extra area for recording the restoration data (XOR-D) is required. However, the capacity required for the restoration data (XOR-D) of the present embodiment is one block (one sector) per unit of summary writing (two tracks in the present embodiment). If the unit of summary writing is about several hundred tracks, the capacity required for the restoration data (XOR-D) for one block (one sector) is a small capacity that can be sufficiently ignored.
次に、復元用データ(XOR-D)を書き込むためのライト時間が余分にかかる。この場合も、纏め書きの単位を数百トラック分程度とすれば、ユーザデータを書き込む動作と比較して、頻度が十分に少なく、ライト時間は十分に無視できる程度の少ない時間である。 Next, an extra write time is required for writing the restoration data (XOR-D). Also in this case, if the unit of summary writing is about several hundred tracks, the frequency is sufficiently low compared with the operation of writing user data, and the writing time is a time that is sufficiently negligible.
さらに、ディスク11上に記録されている通常データが更新されると、これに伴って復元用データ(XOR-D)の更新が必要になる。しかしながら、ライト動作は纏め書き単位で一度に実行されるため、通常データの一部だけが更新されたとしても、そのデータのみ更新されることは無く、復元用データ(XOR-D)も同時に更新される事になるため、オーバーヘッドとはならない。 Further, when the normal data recorded on the disk 11 is updated, the restoration data (XOR-D) needs to be updated accordingly. However, since the write operation is executed in batches at once, even if only a part of normal data is updated, only that data is not updated, and the restoration data (XOR-D) is also updated at the same time. It will not be overhead.
要するに、例えば1セクタ単位のデータ書き換えのような相対的に小さい単位でのライト動作を除いて、複数トラック分を纏めて書き込むような大きい単位でのライト動作に適用すれば、前述のようなオーバーヘッドは無視できるため、非常に有効である。 In short, the overhead as described above can be applied to a write operation in a large unit that writes data for a plurality of tracks, except for a write operation in a relatively small unit such as data rewriting in units of one sector. Can be ignored, so it is very effective.
なお、本実施形態のXOR演算モジュール19により復元用データ(XOR-D)を生成する場合に、必要な符号化がすべて線形符号の場合、符号化をしたデータ列(ECCデータを付加したデータ)に対するXOR演算を実行してもよい。この場合、R/Wチャネル17において、復元用データ(XOR-D)に対する符号化処理は不要となる。
Note that, when the restoration data (XOR-D) is generated by the
また、本実施形態のXOR演算はブロック単位として、セクタ単位又はECC処理単位で実行される場合について説明したが、これに限ることなく、別の単位でも良い。 Moreover, although the case where the XOR operation of the present embodiment is executed as a block unit in a sector unit or an ECC processing unit has been described, the present invention is not limited to this, and another unit may be used.
(複数の復元用データ)
本実施形態の具体例では、纏め書きの単位毎に1ブロックの復元用データ(XOR-D)を記録する場合について説明した。以下、図4を参照して、纏め書きの単位毎に複数ブロックの復元用データ(XOR-D)を書き込む場合の具体例を説明する。
(Multiple restoration data)
In the specific example of the present embodiment, a case has been described in which one block of restoration data (XOR-D) is recorded for each unit of summary writing. Hereinafter, a specific example in the case of writing a plurality of blocks of restoration data (XOR-D) for each unit of summary writing will be described with reference to FIG.
本実施形態では、複数ブロック分の復元用データ(XOR-D)として、2×2の4ブロック分のXOR-Dを書き込む場合について説明する。各復元用データ(XOR-D)は、XOR-D0、XOR-D1、XOR-D2、XOR-D3と表記する。 In the present embodiment, a case will be described in which XOR-D for 4 blocks of 2 × 2 is written as restoration data (XOR-D) for a plurality of blocks. Each restoration data (XOR-D) is expressed as XOR-D0, XOR-D1, XOR-D2, and XOR-D3.
更に、本実施形態は、図4に示すように、纏め書き範囲として隣接する4トラックである最初の偶数番号のトラック4nから、奇数番号のトラック4n+1、偶数番号のトラック4n+2、最後の奇数番号のトラック4n+3を想定する。 Further, in the present embodiment, as shown in FIG. 4, from the first even-numbered track 4n, which is four adjacent tracks as a summary range, the odd-numbered track 4n + 1, the even-numbered track 4n + 2, and the last Assume that odd-numbered tracks 4n + 3.
コントローラ18は、XOR演算モジュール19により、バッファメモリ16から読み出されたセクタ単位のユーザデータを読み出し、XOR演算を実行することで復元用データ(XOR-D)を生成してバッファメモリ33に格納する(図5を参照)。ここで、纏め書き範囲(4トラックッ分の範囲)を4グループに分割し、各グループ毎の復元用データ(XOR-D)、即ちXOR-D0、XOR-D1、XOR-D2、XOR-D3を生成する。
The
便宜的に、復元用データ(XOR-D0)は、偶数トラック(4n,4n+2)の偶数番目の各セクタの全データに対するXOR演算により算出される。復元用データ(XOR-D1)は、偶数トラック(4n,4n+2)の奇数番目の各セクタの全データに対するXOR演算により算出される。復元用データ(XOR-D2)は、奇数トラック(4n+1,4n+3)の偶数番目の各セクタの全データに対するXOR演算により算出される。さらに、復元用データ(XOR-D3)は、奇数トラック(4n+1,4n+3)の奇数番目の各セクタの全データに対するXOR演算により算出される。 For convenience, the restoration data (XOR-D0) is calculated by the XOR operation on all the data of each even-numbered sector of the even-numbered track (4n, 4n + 2). The restoration data (XOR-D1) is calculated by the XOR operation on all the odd-numbered sectors of the even-numbered track (4n, 4n + 2). The restoration data (XOR-D2) is calculated by the XOR operation on all the data of the even-numbered sectors of the odd tracks (4n + 1, 4n + 3). Further, the restoration data (XOR-D3) is calculated by the XOR operation on all the odd-numbered sectors of the odd-numbered tracks (4n + 1, 4n + 3).
ここで、コントローラ18は、算出した復元用データ(XOR-D0)を、纏め書き範囲の最後のトラックではなく、当該纏め書き範囲の偶数及び奇数の最終2トラックに書き込む。具体的には、図4に示すように、復元用データ(XOR-D0),(XOR-D1)を偶数トラックの最後のトラック(4n+2)に書き込む。また、復元用データ(XOR-D2),(XOR-D3)を奇数トラックの最後のトラック(4n+3)に書き込む。従って、纏め書き範囲の途中のトラックに対しては、復元用データは何も書き込まれない。
Here, the
このような各グループ毎の復元用データ(XOR-D0、XOR-D1、XOR-D2、XOR-D3)を偶数及び奇数の最終2トラックに書き込むことにより、近傍の2トラック範囲での2×2の4ブロック(4セクタ)分において、通常のECC処理では訂正できないセクタ単位(ブロック単位)のデータを復元することができる。基本的に、データ復元動作は、図6に示す手順により実行される。 By writing such restoration data (XOR-D0, XOR-D1, XOR-D2, XOR-D3) for each group into the final two tracks of even number and odd number, 2 × 2 in the two adjacent track ranges In four blocks (four sectors), sector unit (block unit) data that cannot be corrected by normal ECC processing can be restored. Basically, the data restoration operation is executed by the procedure shown in FIG.
具体的には、図4に示すように、偶数トラック(4n)と奇数トラック(4n+1)の範囲で2×2の4ブロック300について、各偶数セクタ(Sev)はそれぞれ、XOR-D0及びXOR-D2を使用することにより復元できる。また、各奇数セクタ(Sod)はそれぞれ、XOR-D1及びXOR-D3を使用することにより復元できる。また、奇数トラック(4n+1)と偶数トラック(4n+2)との範囲で2×2の4ブロック310について、各偶数セクタ(Sev)はそれぞれ、XOR-D2及びXOR-D0を使用することにより復元できる。また、各奇数セクタ(Sod)はそれぞれ、XOR-D3及びXOR-D1を使用することにより復元できる。
Specifically, as shown in FIG. 4, each of even-numbered sectors (Sev) in the 2 × 2 4
要するに、本実施形態では、偶数トラック及び奇数トラックの範囲での2×2の4ブロック(4セクタ)に関して、いずれのブロックも対応するグループの復元用データ(XOR-D)を使用して復元することができる。なお、復元用データ(XOR-D)の構成を変更することにより、これ以外の範囲のデータ復元処理に適応させることができる。 In short, in this embodiment, 2 × 2 4 blocks (4 sectors) in the range of even and odd tracks are restored using the corresponding group restoration data (XOR-D). be able to. Note that by changing the configuration of the restoration data (XOR-D), it is possible to adapt to data restoration processing in a range other than this range.
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
10…ディスクドライブ、11…ディスク、12…スピンドルモータ、
13…ヘッド、14…ヘッドアンプ、15…ディスクコントローラ(HDC)、
16…バッファメモリ、17…リード/ライト(R/W)チャネル、
18…コントローラ、19…XOR演算モジュール、20…ホストシステム、
30…XOR回路、31…第1のXOR-D選択回路、32…第2のXOR-D選択回路、
33…XOR-D用バッファメモリ、34…出力切り替え回路。
10 ... disk drive, 11 ... disk, 12 ... spindle motor,
13 ... head, 14 ... head amplifier, 15 ... disk controller (HDC),
16: Buffer memory, 17: Read / write (R / W) channel,
18 ... Controller, 19 ... XOR operation module, 20 ... Host system,
30 ... XOR circuit, 31 ... first XOR-D selection circuit, 32 ... second XOR-D selection circuit,
33: Buffer memory for XOR-D, 34: Output switching circuit.
Claims (9)
前記書き込み範囲の中で、隣接する複数のトラックと隣接する複数のブロックにより設定される各グループにおいて、前記各グループは、前記書き込み範囲が隣接する4トラック分の場合にトラック番号が偶数の偶数トラックとブロック番号が偶数の偶数ブロックにより設定される第1のグループと、トラック番号が奇数の奇数トラックと偶数ブロックにより設定される第2のグループと、偶数トラックとセクタ番号が奇数の奇数ブロックにより設定される第3のグループと、奇数トラックと奇数ブロックにより設定される第4のグループとを含み、前記各グループ毎のデータに対する排他的論理和演算を実行する演算手段と、
前記演算手段の演算結果である復元用データを指定のブロックに書き込むように前記ライト手段を制御する制御手段とを具備し、
前記制御手段は、
前記演算手段から前記各グループ毎の各復元用データを取得し、
前記各復元用データのそれぞれを前記書き込み範囲に含まれる複数のブロックに書き込むように前記ライト手段を制御するように構成されているディスク記憶装置。 A writing means for writing data into a writing range composed of a plurality of adjacent tracks on the disk and a plurality of blocks dividing each track;
In each group set by a plurality of adjacent tracks and a plurality of adjacent blocks in the write range, each group is an even track having an even track number when the write range is for four adjacent tracks. The first group is set by an even block with an even block number, the second group is set by an odd track and an odd block with an odd track number, and an odd block with an even track and an odd sector number is set A third group, a fourth group set by an odd track and an odd block, and performing an exclusive OR operation on the data of each group;
Control means for controlling the write means so as to write the restoration data, which is the calculation result of the calculation means, to a specified block;
The control means includes
Obtaining each restoration data for each group from the computing means;
A disk storage device configured to control the write means to write each of the restoration data to a plurality of blocks included in the write range.
前記データ再生手段による再生時に、前記各復元用データの中で訂正不能なブロック単位のデータと同一のグループに対応する復元用データを使用して、当該訂正不能なブロック単位のデータを復元するデータ復元手段と
を含む請求項1に記載のディスク記憶装置。 Data reproducing means for reading and reproducing data from the disk;
Data for restoring the uncorrectable block unit data using the restoration data corresponding to the same group as the uncorrectable block unit data among the restoration data at the time of reproduction by the data reproducing means 2. The disk storage device according to claim 1, further comprising restoring means.
前記書き込み範囲に全てのデータが書き込まれた後に、前記各復元用データを前記各指定のブロックに書き込むように前記ライト手段を制御する請求項1または請求項2に記載のディスク記憶装置。 The control means includes
3. The disk storage device according to claim 1, wherein the write unit is controlled to write the restoration data into the designated blocks after all the data is written in the write range .
前記書き込み範囲に含まれる各トラックにデータを一括的に書き込むように構成されている請求項1から請求項3のいずれか1項に記載のディスク記憶装置。 The light means is
The disk storage device according to any one of claims 1 to 3, wherein the disk storage device is configured to collectively write data to each track included in the writing range .
瓦書き動作により前記各トラックにデータを書き込むように構成されている請求項1から請求項4のいずれか1項に記載のディスク記憶装置。 The light means is
Disk storage device according to any one of claims 1 to 4 which is configured to write the data to the respective track by shingled operation.
前記ディスク上に構成されるセクタ単位のデータであり、当該セクタ単位のデータとしてユーザデータあるいは前記ユーザデータとECCデータの両方を含む請求項1から請求項5のいずれか1項に記載のディスク記憶装置。 The block unit data is:
Wherein a data composed sectors on the disk, the disk storage according to claims 1, including both user data or the user data and the ECC data as data of the sector unit to any one of claims 5 apparatus.
前記制御手段は、
前記各指定のブロックに前記各復元用データと対応する前記各ECCデータを書き込むように前記ライト手段を制御するように構成されている請求項1から請求項6のいずれか1項に記載のディスク記憶装置。 Means for generating each ECC data for each restoration data;
The control means includes
7. The disk according to claim 1 , wherein the write unit is controlled to write each ECC data corresponding to each restoration data to each designated block. 8. Storage device.
前記書き込み範囲の中で、隣接する複数のトラックと隣接する複数のブロックにより設定される各グループにおいて、前記各グループは、前記書き込み範囲が隣接する4トラック分の場合にトラック番号が偶数の偶数トラックとブロック番号が偶数の偶数ブロックにより設定される第1のグループと、トラック番号が奇数の奇数トラックと偶数ブロックにより設定される第2のグループと、偶数トラックとセクタ番号が奇数の奇数ブロックにより設定される第3のグループと、奇数トラックと奇数ブロックにより設定される第4のグループとを含み、各グループ毎のデータに対する排他的論理和演算を実行し、
前記排他的論理和演算の演算結果である復元用データを指定のブロックに書き込むように制御する場合に、
前記各グループ毎の各復元用データを取得し、
前記各復元用データのそれぞれを前記書き込み範囲に含まれる複数のブロックに書き込むように制御するデータ復元方法。 A data restoration method applied to a disk storage device for writing data in a writing range composed of a plurality of adjacent tracks on a disk and a plurality of blocks dividing each track,
In each group set by a plurality of adjacent tracks and a plurality of adjacent blocks in the write range, each group is an even track having an even track number when the write range is for four adjacent tracks. The first group is set by an even block with an even block number, the second group is set by an odd track and an odd block with an odd track number, and an odd block with an even track and an odd sector number is set A third group, and a fourth group set by odd tracks and odd blocks, and performing an exclusive OR operation on the data for each group,
When controlling to write the restoration data that is the operation result of the exclusive OR operation to a specified block,
Obtain each restoration data for each group,
A data restoration method for controlling to write each of the restoration data into a plurality of blocks included in the writing range .
前記再生時に、前記各復元用データの中で訂正不能なブロック単位のデータと同一のグループに対応する復元用データを使用して、当該訂正不能なブロック単位のデータを復元する請求項8に記載のデータ復元方法。 Read and play data from the disc,
9. The uncorrectable block unit data is restored using the restoration data corresponding to the same group as the uncorrectable block unit data among the restoration data during the reproduction. data recovery methods.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012012060A JP5380556B2 (en) | 2012-01-24 | 2012-01-24 | Disk storage device and data restoration method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012012060A JP5380556B2 (en) | 2012-01-24 | 2012-01-24 | Disk storage device and data restoration method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010100117A Division JP2011233186A (en) | 2010-04-23 | 2010-04-23 | Disk storage unit and data restoration method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012079408A JP2012079408A (en) | 2012-04-19 |
JP5380556B2 true JP5380556B2 (en) | 2014-01-08 |
Family
ID=46239447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012012060A Expired - Fee Related JP5380556B2 (en) | 2012-01-24 | 2012-01-24 | Disk storage device and data restoration method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5380556B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141795A (en) * | 1993-09-22 | 1995-06-02 | Toshiba Corp | Disk device |
JP3373690B2 (en) * | 1994-09-07 | 2003-02-04 | 株式会社東芝 | Disk-shaped recording medium and disk device |
US7490212B2 (en) * | 2003-09-29 | 2009-02-10 | Hitachi Global Storage Technologies Netherlands B.V. | System and method for writing data to dedicated bands of a hard disk drive |
-
2012
- 2012-01-24 JP JP2012012060A patent/JP5380556B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012079408A (en) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010879B2 (en) | Error correction method and apparatus for data storage device | |
JP3663377B2 (en) | Data storage device, read data processing device, and read data processing method | |
US20130151771A1 (en) | Disk array device, control device and data write method | |
US7702954B2 (en) | Data storage apparatus having error recovery capability | |
JP4290688B2 (en) | Data writing apparatus and storage system | |
JP2004095147A (en) | Method for writing streaming audio visual data in disk drive | |
US20120303970A1 (en) | Data storage apparatus, storage control apparatus and data recovery method | |
US7861136B2 (en) | Error correcting apparatus and error correcting method | |
US20100058145A1 (en) | Storage device and method of controlling storage device | |
US10083714B1 (en) | Magnetic disk device, controller, and method | |
JP2011233186A (en) | Disk storage unit and data restoration method | |
US20080091971A1 (en) | Stored data processing apparatus, storage apparatus, and stored data processing program | |
US8937778B1 (en) | Methods and apparatus for performing track-level based data coding | |
JP2008004195A (en) | Run-length limiting device and run-length limiting method | |
JP5380556B2 (en) | Disk storage device and data restoration method | |
JP2010287128A (en) | Controller, storage medium and information control method | |
CN110310674B (en) | Disk device and data management method | |
JP2006003971A (en) | Redundant drive group, and writing method and read-out method using the same | |
JP2011181169A (en) | Decoder and apparatus including the same | |
US11726710B2 (en) | Matrix super parity for data storage | |
JP2008299978A (en) | Disk drive device and data reproducing method from disk | |
JP3311770B2 (en) | Hard disk drive | |
US9053746B2 (en) | Disk device and data recording method | |
JP2010267333A (en) | Hard disk drive with parity function | |
JP2004310858A (en) | Data recording method and data recording device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130625 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130814 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130930 |
|
LAPS | Cancellation because of no payment of annual fees |