JP2003006996A - Disk read/write control program - Google Patents

Disk read/write control program

Info

Publication number
JP2003006996A
JP2003006996A JP2001185334A JP2001185334A JP2003006996A JP 2003006996 A JP2003006996 A JP 2003006996A JP 2001185334 A JP2001185334 A JP 2001185334A JP 2001185334 A JP2001185334 A JP 2001185334A JP 2003006996 A JP2003006996 A JP 2003006996A
Authority
JP
Japan
Prior art keywords
data
parity
sector
sectors
write control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001185334A
Other languages
Japanese (ja)
Inventor
Yoshiaki Uchida
好昭 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001185334A priority Critical patent/JP2003006996A/en
Publication of JP2003006996A publication Critical patent/JP2003006996A/en
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

PROBLEM TO BE SOLVED: To eliminate verification processing during write by lowering an uncorrectable error occurrence probability during the read-out of data from a disk unit. SOLUTION: This disk read/write control program manages prescribed n-piece of data sector in one group as a unit (sector) of prescribed L-byte of data, and makes a computer carry out the write and read of a storage medium. This program makes the computer function as a parity generating means which forms m-piece of parity sector consisting of L-byte by repeating processing to generate m-byte of error detection correction code to n-byte of data formed by extracting 1 byte from the data sector of the same group for all L-byte of data, and a read/write control means which distributes the n-piece of data sector of the same group and the corresponding m-piece of parity sector as one parity group and writes them into the storage medium so that sectors belonging to the same parity group are not adjoined with each other.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ディスク装置のデ
ータ書き込み/読み出し制御に関し、特に、データの読
み出し時の誤り訂正能力を高めるデータ書き込み/読み
出し制御プログラムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to data writing / reading control of a disk device, and more particularly to a data writing / reading control program for improving error correction capability when reading data.

【0002】[0002]

【従来の技術】フロッピー(登録商標)ディスク、光磁
気ディスク等の記憶装置では、記憶媒体上に、図15に
示すごとく同心円状にデータを記録するトラックが設け
られ、各トラックは複数のデータの単位(セクタ)に分
割されてデータが記録される。例えば、直径90mmの
光磁気ディスクで記憶容量540MBの場合、トラック
間隔:1.1μm、セクタ長:4mm程度である。通常
の事務所環境では、直径数μm〜10μm程度迄のゴミ
があるが、このようなゴミが、図15に示すごとく記憶
媒体表面に付着した場合、読み出しエラーが発生する。
このエラー対策としては、以下の方法がある。
2. Description of the Related Art In a storage device such as a floppy (registered trademark) disk or a magneto-optical disk, tracks for recording data are provided on a storage medium in a concentric pattern as shown in FIG. Data is recorded by being divided into units (sectors). For example, in the case of a magneto-optical disk having a diameter of 90 mm and a storage capacity of 540 MB, the track interval is 1.1 μm and the sector length is about 4 mm. In a normal office environment, there is dust with a diameter of several μm to 10 μm. When such dust adheres to the surface of the storage medium as shown in FIG. 15, a read error occurs.
The following methods are available as measures against this error.

【0003】1.データ書き込み直後にデータを読み出
し、書き込んだデータと読み出したデータを照合するベ
リファイ(検証)を行い、正しいデータが読み出せない
場合は、再度、書き込み/読み出し/検証を行い、デー
タが正しく書き込まれたことを確認する。 2.書き込み後に発生するエラー対策として、誤り検出
/訂正手段(ECC手段)を設け、セクタごとに誤り検
出訂正符号を付加して記録する。この方法では、データ
読み出し時に発生する(ECC手段の誤り訂正能力範囲
内の)多少のエラーについては、ECC手段により訂正
して出力する。
1. Data is read immediately after writing the data, verification is performed to verify the written data with the read data, and if the correct data cannot be read, the write / read / verify is performed again, and the data is written correctly. Make sure that. 2. As a measure against an error that occurs after writing, an error detection / correction unit (ECC unit) is provided, and an error detection / correction code is added to each sector for recording. In this method, some errors (within the error correction capability range of the ECC means) that occur during data reading are corrected by the ECC means and output.

【0004】しかし、これらの方法には、各々、以下に
示す問題がある。 1.データ書き込み直後に検証を行う方法は、データ書
き込み時に同一箇所の、書き込みと検証のための読み出
しを行うため、少量のデータ書き込みであっても書き込
み後の検証処理のための記憶媒体回転待ちを伴い、正味
の書き込み時間と比較して、実際の書き込み時間が長く
なる。
However, each of these methods has the following problems. 1. The method of performing verification immediately after writing data involves reading the same portion at the time of writing data for writing and verifying, so even if a small amount of data is written, waiting for the rotation of the storage medium for the verification process after writing is involved. , The actual writing time is longer than the net writing time.

【0005】2.一つのセクタ内で、ECC手段の誤り
訂正能力を超えるエラーが発生した場合は、やはり読み
出しエラーとなる。この問題の対策例として、例えば
「特開平5−89609」が公知である。掲記公知例で
は、図16の表に示すごとく、各データセクタのバイト
位置を揃えて配列した所定のグループのデータから、同
一位置のバイトを抽出したバイト列を生成し、データセ
クタと生成したバイト列に対して生成したパリティ符号
または誤り検出訂正符号で構成されたセクタ、すなわち
パリティセクタとをひとつのパリティグループとして記
憶媒体に書き込む。
2. When an error that exceeds the error correction capability of the ECC means occurs in one sector, a read error still occurs. As an example of measures against this problem, for example, "Japanese Patent Laid-Open No. 5-89609" is known. In the publicly known example, as shown in the table of FIG. 16, a byte string in which the bytes at the same position are extracted from the data of a predetermined group in which the byte positions of each data sector are aligned and arranged is generated, and the data sector and the generated bytes are generated. A sector composed of a parity code or an error detection and correction code generated for a column, that is, a parity sector is written as one parity group in a storage medium.

【0006】このようにすることで、あるセクタでEC
C手段の誤り訂正能力を超えるエラーが発生した場合で
も、エラーが発生したデータセクタの各バイトの値を、
同一のパティグループの他のデータセクタとパリティセ
クタの当該バイト位置の値とから逆算して訂正可能とな
る。しかし、掲記公知例の方法では、一つのパリティグ
ループを構成するセクタの、記憶媒体上での物理的な配
置を考慮していないため、一つのパリティグループを構
成するセクタが物理的に隣接して配置される場合があ
る。
By doing this, the EC in a certain sector is
Even if an error exceeding the error correction capability of the C means occurs, the value of each byte of the data sector in which the error occurred is
The data can be corrected by performing back calculation from the other data sector of the same party group and the value of the byte position of the parity sector. However, since the method of the publicly known example does not consider the physical arrangement of the sectors forming one parity group on the storage medium, the sectors forming one parity group are physically adjacent to each other. It may be placed.

【0007】しかし、直径数μm〜10μm程度迄のゴ
ミが記憶媒体表面に付着した場合、このゴミは、隣接す
るセクタ、あるいは1μm程度の間隔で隣接するトラッ
クにまたがり、この範囲でデータセクタに付加した誤り
検出訂正符号だけでは訂正できないエラーを発生させ
る。図17は、一つのパリティグループを構成するセク
タを連続してセクタに配置した従来例にゴミが付着し、
セクタに付加した誤り検出訂正符号だけでは訂正できな
いエラーを発生させた例を示す。この場合、一つのパリ
ティグループの第一セクタと第二セクタとにまたがって
ゴミが付着し、第一セクタと第二セクタとで訂正不能な
エラーが同時に発生し、パリティセクタを用いても誤り
訂正不能となる。
However, when dust having a diameter of several μm to 10 μm adheres to the surface of the storage medium, the dust extends over adjacent sectors or adjacent tracks at intervals of about 1 μm, and is added to the data sector within this range. An error that cannot be corrected by the error detection and correction code is generated. In FIG. 17, dust adheres to the conventional example in which sectors forming one parity group are continuously arranged in the sectors.
An example in which an error that cannot be corrected only by the error detection and correction code added to the sector is generated will be shown. In this case, dust adheres to the first sector and the second sector of one parity group, and uncorrectable errors occur simultaneously in the first sector and the second sector. It becomes impossible.

【0008】図18は、図17と同様のセクタ配置の記
憶媒体の、複数のトラックにまたがってゴミが付着した
例を示す。この場合も、図17の例と同様に誤り訂正不
能となる。
FIG. 18 shows an example in which dust adheres to a plurality of tracks on a storage medium having a sector arrangement similar to that shown in FIG. Also in this case, error correction becomes impossible as in the example of FIG.

【0009】[0009]

【発明が解決しようとする課題】本発明は、データの読
み出し時の訂正不能なエラー発生確率を低くし、これに
よって書き込み時の検証処理をも省略可能とすることを
目的とする。
SUMMARY OF THE INVENTION It is an object of the present invention to reduce the probability of an uncorrectable error occurring at the time of reading data so that the verification process at the time of writing can be omitted.

【0010】[0010]

【課題を解決するための手段】請求項1に記載の発明
は、所定数Lバイトのデータを単位(セクタ)として、
所定数n個のデータセクタを一つのグループとして管理
して記憶媒体への書き込みと読み出しとをコンピュータ
に実行させるディスク読み書き制御プログラムであっ
て、コンピュータを同一グループのデータセクタから各
1バイトずつ抽出したnバイトのデータに対してmバイ
トの誤り検出訂正符号を生成する処理をLバイトの全デ
ータ分繰り返し、Lバイトからなるm個のパリティセク
タを形成するパリティ生成手段と、同一グループのn個
のデータセクタと対応するm個のパリティセクタとを一
つのパリティグループとして、同一のパリティグループ
に属するセクタが互いに物理的に隣接しないように分散
配置して記憶媒体に書き込む読み書き制御手段として機
能させる。
According to a first aspect of the present invention, a predetermined number of L bytes of data are used as a unit (sector).
A disk read / write control program that manages a predetermined number n of data sectors as one group to execute writing and reading to and from a storage medium. The computer extracts one byte each from data sectors of the same group. A process of generating an m-byte error detection and correction code for n-byte data is repeated for all L-byte data to form m parity sectors consisting of L bytes, and n parity groups of the same group. The data sector and the corresponding m parity sectors are set as one parity group, and the sectors belonging to the same parity group are distributedly arranged so as not to be physically adjacent to each other and function as a read / write control unit for writing to the storage medium.

【0011】請求項2に記載の発明は、所定数Lバイト
のデータを単位(セクタ)として、所定数n個のデータ
セクタを一つのグループとして管理して記憶媒体への書
き込みと読み出しとを行うディスク読み書き制御装置で
あって、同一グループのデータセクタから各1バイトず
つ抽出したnバイトのデータに対してmバイトの誤り検
出訂正符号を生成する処理をLバイトの全データ分繰り
返し、Lバイトからなるm個のパリティセクタを形成す
るパリティ生成手段と、同一グループのn個のデータセ
クタと対応するm個のパリティセクタとを一つのパリテ
ィグループとして、同一のパリティグループに属するセ
クタが互いに物理的に隣接しないように分散配置して記
憶媒体に書き込む読み書き制御手段とを有することを特
徴とする。
According to a second aspect of the present invention, a predetermined number of L bytes of data are used as a unit (sector), and a predetermined number of n data sectors are managed as one group to perform writing and reading on the storage medium. In the disk read / write control device, a process of generating an error detection / correction code of m bytes is repeated for all data of L bytes for n bytes of data extracted from the data sectors of the same group, one byte each, from L bytes. Parity generating means for forming m parity sectors and m parity sectors corresponding to n data sectors of the same group are regarded as one parity group, and sectors belonging to the same parity group are physically connected to each other. It is characterized in that it has a read / write control means which is arranged in a distributed manner so as not to be adjacent to each other and writes in a storage medium.

【0012】これにより、ゴミの付着等で物理的な局所
にまとまったデータエラーが発生しても、同一パリティ
グループのセクタに訂正不能なエラーが集中して発生す
る確率が低くなる。したがって、書き込み時の検証処理
が省略可能となる。セクタが同心円状に配置され、トラ
ックあたりのセクタ数がNの記憶媒体に対し、同一パリ
ティグループのセクタを物理的に分散配置する方法とし
て、(n+m)をNに等しいか小さくする方法がある。
これにより、同一パリティグループのセクタが隣接する
トラックの同一位置に配置されることを防止できる。
As a result, even if a physically localized data error occurs due to adhesion of dust or the like, the probability that uncorrectable errors concentrate in the sectors of the same parity group is reduced. Therefore, the verification process at the time of writing can be omitted. As a method of physically distributively disposing sectors of the same parity group in a storage medium in which sectors are arranged concentrically and the number of sectors per track is N, there is a method of making (n + m) equal to or smaller than N.
As a result, it is possible to prevent the sectors of the same parity group from being arranged at the same position on the adjacent tracks.

【0013】同一パリティグループのセクタを物理的に
分散配置する他の方法として、以下に示す方法を用いて
も良い。Nと互いに素な数kによって、kセクタごとに
一つのパリティグループのセクタを配置する。すなわ
ち、セクタ番号s=i,i+k,i+2×k,i+3×
k...i+(n+m−1)×kを一つのパリティグル
ープとする。
As another method of physically distributing the sectors of the same parity group, the following method may be used. Sectors of one parity group are arranged every k sectors by a number k that is relatively prime to N. That is, sector numbers s = i, i + k, i + 2 × k, i + 3 ×
k. . . Let i + (n + m−1) × k be one parity group.

【0014】図1は、N=4、k=3とした場合のセク
タ配置例を示す。ここでは、内周から順にs1〜s12
までセクタ番号が付与されており、s1、s4、s7、
s10が、パリティグループ1を構成する。請求項3に
記載の発明は、請求項1に記載のディスク読み書き制御
プログラムを用いて書き込まれたデータを読み出すディ
スク読み書き制御プログラムであって、読み書き制御手
段は、データセクタ読み出し時にセクタ内で訂正できな
いエラーを検出した場合は、パリティセクタを読み出し
てエラー訂正を行うことを特徴とする。
FIG. 1 shows an example of sector arrangement when N = 4 and k = 3. Here, s1 to s12 in order from the inner circumference
Sector numbers are assigned up to s1, s4, s7,
s10 constitutes the parity group 1. The invention described in claim 3 is a disk read / write control program for reading data written by using the disk read / write control program according to claim 1, wherein the read / write control means cannot correct in the sector when reading the data sector. When an error is detected, the parity sector is read to perform error correction.

【0015】すなわち、読み出したデータセクタにエラ
ーがない場合、あるいは、読み出したデータのセクタに
誤り検出訂正符号が付加されていて、その内容だけでエ
ラー訂正が可能な場合は、パリティセクタの読み出しを
省略する。したがって、訂正不能なエラーが生じない限
り、データ読み出しに要する時間はパリティセクタを設
けなかった場合と同じままである。訂正不能なエラー発
生時は、より強力なエラー訂正対応が可能となる。
That is, when there is no error in the read data sector, or when the error detection and correction code is added to the sector of the read data and the error correction is possible only by its content, the parity sector is read. Omit it. Therefore, unless an uncorrectable error occurs, the time required to read data remains the same as when the parity sector is not provided. When an uncorrectable error occurs, more powerful error correction is possible.

【0016】請求項4に記載の発明は、請求項1に記載
のディスク読み書き制御プログラムであって、記憶媒体
上を所定の領域に分割し、個々の領域ごとにデータの読
み出しエラー率、およびシークエラー率を計測するエラ
ー率計測手段を有し、読み書き制御手段は、該エラー率
が所定の値よりも大きい場合は、書き込み後の検証処理
を行なうことを特徴とする。
According to a fourth aspect of the present invention, there is provided the disk read / write control program according to the first aspect, wherein the storage medium is divided into predetermined areas, and a data read error rate and seek are performed for each area. The read / write control means has an error rate measuring means for measuring an error rate, and the read / write control means performs a verification process after writing when the error rate is larger than a predetermined value.

【0017】これにより、記憶媒体表面への異物の付着
による一時的なエラーだけでなく、異物の固着等による
表面状態の変化に起因する読み出しエラーに対して動的
にエラー対策を更新して訂正不能なエラーの発生確率を
低くすることが可能となる。
Thus, the error countermeasure is dynamically updated and corrected not only for a temporary error caused by the adhesion of foreign matter to the surface of the storage medium but also for a read error caused by a change in the surface condition caused by the adherence of foreign matter. It is possible to reduce the probability of occurrence of an impossible error.

【0018】[0018]

【発明の実施の形態】図2は、ハードディスク(HD
D)1のデータを光磁気ディスク(MO)7に高速に複
写する実施例1の構成例を示す。読み書き制御手段5
は、上位装置等からの指示により、バッファ2に対しH
DD1のデータ読み出しを指示し、バッファ2は、HD
D1から読み出したデータを一時蓄える。
FIG. 2 shows a hard disk (HD
A configuration example of the first embodiment in which the data of D) 1 is copied onto the magneto-optical disk (MO) 7 at high speed is shown. Read / write control means 5
Is set to H for the buffer 2 according to an instruction from the host device or the like
The data reading of DD1 is instructed, and the buffer 2 is HD
The data read from D1 is temporarily stored.

【0019】パリティ生成手段4は、読み書き制御手段
5からの指示にしたがって、パリティバッファ3を初期
化し、バッファ2がHDD1から1セクタ分のデータを
読み込む毎に、読み込んだデータを参照して新たなパリ
ティを生成し、パリティバッファ3のデータを更新す
る。パリティバッファ3は、その時点で生成しているパ
リティデータを蓄えるもので、一つの処理で扱うパリテ
ィグル−プの数をgとすると、gセクタ分のバッファを
有する。なお、バッファ2はパリティデータを作成する
ための作業域としても用いるため、パリティバッファ3
と同程度の容量を持つことが望ましい。
The parity generation means 4 initializes the parity buffer 3 in accordance with an instruction from the read / write control means 5, and every time the buffer 2 reads data for one sector from the HDD 1, a new reference is made to the read data. Parity is generated and the data in the parity buffer 3 is updated. The parity buffer 3 stores the parity data generated at that time, and has a buffer for g sectors, where g is the number of parity groups handled in one process. Since the buffer 2 is also used as a work area for creating parity data, the parity buffer 3
It is desirable to have the same capacity as.

【0020】読み書き制御手段5は、HDD1からバッ
ファ2に読み込んだデータとパリティバッファ3のデー
タとをMO7に書き出し、パリティバッファを初期化
(ゼロクリア)する。実施例1によって図1に示すパリ
ティグループデータの記憶媒体上でのセクタ配置例を実
現し、n=3、m=1として、ここに図6に示すごみが
付着した例の処理を説明する。この例では、パリティグ
ループG1を構成する3個のデータセクタを、各々、s
1、s4、s7に、各データセクタのデータから生成し
た1個のパリティセクタを、s10に書き込む。
The read / write control means 5 writes the data read from the HDD 1 into the buffer 2 and the data in the parity buffer 3 to the MO 7, and initializes (zero-clears) the parity buffer. An example of the sector arrangement on the storage medium of the parity group data shown in FIG. 1 is realized by the first embodiment, and the processing of the example shown in FIG. 6 in which dust is attached will be described with n = 3 and m = 1. In this example, the three data sectors forming the parity group G1 are respectively s
At 1, s4 and s7, one parity sector generated from the data of each data sector is written at s10.

【0021】概略処理手順は、1.HDD1から読み込
んだ所定の3セクター分のデータをパリティグループと
してバッファ2に保持する。2.パリティ生成手段4
は、所定の3セクターの対応するnバイトの排他論理和
(xor)をとりパリティセクタを生成し、パリティバ
ッファ3に送る。3.読み書き制御手段5は、バッファ
2の3セクタ分のデータと、生成したパリティセクタと
を、各々、s1、s4、s7、s10に書き込む。
The general processing procedure is as follows: Data of a predetermined 3 sectors read from the HDD 1 is held in the buffer 2 as a parity group. 2. Parity generation means 4
Generates a parity sector by taking the exclusive OR (xor) of the corresponding n bytes of the predetermined three sectors and sends it to the parity buffer 3. 3. The read / write control means 5 writes the data for 3 sectors of the buffer 2 and the generated parity sector to s1, s4, s7, and s10, respectively.

【0022】これにより、図6に示すような、複数のト
ラックにまたがるゴミが付着し、セクタ単位では訂正不
能のデータエラーを複数のセクタで生じる場合でも、誤
り訂正不能なセクタは、データを書き込んだパリティグ
ループG1でみると、s1セクタのみである。したがっ
て、s4、s7、s10セクタの各バイトを用いてs1
セクタのエラー訂正が可能となる。
As a result, even if dusts are spread over a plurality of tracks as shown in FIG. 6 and a data error that cannot be corrected on a sector-by-sector basis occurs in a plurality of sectors, data cannot be written in the error-uncorrectable sector. However, in the parity group G1, there are only s1 sectors. Therefore, using the bytes of the s4, s7, and s10 sectors, s1
Sector error correction is possible.

【0023】エラー率計測手段6は、読み書き制御手段
5から読み出し時の検証情報と読み出したデータの位置
情報とを受け取り、当該位置におけるエラー発生状況か
らMO7に対する読み書きに伴うエラー率を計算し、パ
リティ生成手段4は、該エラー率にしたがってnの値
(一つのパリティグループの大きさ)を更新する。例え
ば、エラー率が高い場合はnを小さく、エラー率が低い
場合は、nを大きく設定する。
The error rate measuring means 6 receives the verification information at the time of reading and the position information of the read data from the read / write control means 5, calculates the error rate associated with reading / writing to the MO 7 from the error occurrence state at the position, and parity. The generation unit 4 updates the value of n (the size of one parity group) according to the error rate. For example, when the error rate is high, n is set small, and when the error rate is low, n is set large.

【0024】計算したエラー率をMO7に書き出して記
憶媒体に保存しておき、記憶媒体挿入時にこの情報を読
み出し、処理するようにしてもよい。パリティグループ
の数gはMOディスク毎に固定したものでもよいし、M
Oディスクのゾーン毎などによって変化してもよい。こ
の例では、ある時点でのパリティグループの数をgと
し、nセクタのデータに対して、mセクタのパリティデ
ータを生成・付与するものとする。
The calculated error rate may be written in MO7 and stored in a storage medium, and this information may be read and processed when the storage medium is inserted. The number g of parity groups may be fixed for each MO disk, or M
It may be changed depending on each zone of the O disk. In this example, it is assumed that the number of parity groups at a certain point of time is g, and that m-sector parity data is generated and added to n-sector data.

【0025】データを書き込む際の処理の概略フローを
図3に示す。読み書き制御手段5は、上位装置からの書
き込み要求にしたがってシーク(位置づけ)動作を行な
い、シークエラーが発生した場合は再実行する。さら
に、エラー率計測手段6は、シーク動作のエラー回数を
カウントする。データを読み出す際の処理の概略フロー
を図4に示す。エラー率計測手段6は、データ書き込み
の際と同様にエラー回数をカウントする。
FIG. 3 shows a schematic flow of processing when writing data. The read / write control means 5 performs a seek (positioning) operation according to a write request from the host device, and re-executes when a seek error occurs. Further, the error rate measuring means 6 counts the number of seek operation errors. FIG. 4 shows a schematic flow of processing when reading data. The error rate measuring means 6 counts the number of errors as in the case of writing data.

【0026】エラー率計測手段6は、上記のシーク動作
や読み出し動作におけるシークエラー、および読み出し
エラーの発生頻度をそのセクタ番号とともに記憶し、読
み出しエラー率が所定の値よりも大きくなった場合に
は、次のいずれかのエラー処理を行なう。 (1)読み書き制御手段5は、書き込み後の検証を強制的
に行なう。
The error rate measuring means 6 stores the seek error in the above-mentioned seek operation and read operation and the occurrence frequency of the read error together with the sector number, and when the read error rate becomes larger than a predetermined value. , Perform one of the following error processes. (1) The read / write control means 5 forcibly performs verification after writing.

【0027】(2)読み書き制御手段5は、書き込み後の
検証を所定回数実施し、読み出しエラーがなくならない
場合はセクタの交代処理を行う。 (3)パリティ生成手段4は、一つのパリティグループを
構成するセクタ数nを小さくする、あるいは、一つのパ
リティグループに対して生成する誤り検出訂正符号を多
くすることで、誤り訂正能力を高める。
(2) The read / write control means 5 performs the verification after writing a predetermined number of times, and performs the sector replacement process if the read error does not disappear. (3) The parity generation unit 4 enhances the error correction capability by reducing the number n of sectors forming one parity group or increasing the number of error detection and correction codes generated for one parity group.

【0028】上記の(1) は比較的簡便な処理であり、従
来の制御との差異が小さいので実装が容易である。(2)
は、「当該位置ではエラーが頻発するので再実行しても
エラーになる可能性が大きい」と判断し、セクタの交代
を行う。(3) はエラー率が大きくなる程度が数倍程度の
範囲と予想し、それに見合う程度に誤り訂正能力を高め
るものである。
The above (1) is a relatively simple process, and since the difference from the conventional control is small, it is easy to implement. (2)
Judges that "errors occur frequently at the relevant position, so there is a high possibility that an error will occur even if re-execution", and the sector is replaced. In the case of (3), the error rate is expected to increase to a range of several times, and the error correction capability is increased to the extent commensurate with it.

【0029】なお、誤り検出訂正符号を、たとえば「情
報のデジタル伝送」森北出版 ISBN4-627-82350-9、「コ
ンピュータ基礎講座 18 符号理論」宮川洋ほか、昭晃堂
等、に記述されているリード・ソロモン符号とすること
で、より強力な訂正が可能となる。また、パリティ生成
手段4は、「セクタ単位のエラー検出・訂正により、ど
のセクタでエラーが生じているかをほぼ特定できる」と
いう特性を利用して、独立なm個の計算式によってm個
のパリティセクタを計算することができる。すなわち、
何れのm項を取り除いても互いに一次独立となるような
m個の式によってパリティセクタの値を求めておく。こ
れによって、いずれかのセクタでエラーが生じた場合、
そのセクタの値を未知とする関係式をm個構築でき、こ
れを解くことでエラーが発生したセクタの値が求められ
る。
The error detection / correction code is described, for example, in "Digital Transmission of Information", Morikita Publishing ISBN4-627-82350-9, "Computer Basic Course 18 Code Theory", Hiroshi Miyagawa et al., Shokoido et al. By using the Reed-Solomon code, stronger correction becomes possible. Further, the parity generation means 4 utilizes the characteristic that "in which sector an error has occurred can be almost specified by error detection / correction in sector units", and m parities are calculated by m independent calculation formulas. The sector can be calculated. That is,
The value of the parity sector is calculated in advance by m expressions that are independent of each other regardless of which m term is removed. If this causes an error in any sector,
It is possible to construct m relational expressions in which the value of the sector is unknown, and by solving this, the value of the sector in which the error has occurred can be obtained.

【0030】以上述べた方法でパリティセクタを生成
し、読み出しエラー発生時にはパリティセクタを読み出
してエラー訂正が可能となる。エラー率にしたがってエ
ラー処理を行う疑似コード例を図5に示す。図7は、デ
ィジタルビデオ(DV)機器等からの、リアルタイム性
が要求されるデータを読み込み、MOに書き出す実施例
2の構成例を示す。リアルタイム性が要求される場合、
書き込み後の検証/再書き込みが発生すると、最悪値と
して保証すべき書き込み時間を超える可能性があるが、
本発明を適用し、書き込み後の検証を省略し、上記可能
性を回避できる。
The parity sector is generated by the method described above, and when the read error occurs, the parity sector is read and the error can be corrected. FIG. 5 shows an example of pseudo code for performing error processing according to the error rate. FIG. 7 shows a configuration example of a second embodiment in which real-time required data is read from a digital video (DV) device or the like and written in MO. If real time is required,
If verification / rewriting after writing occurs, the writing time that should be guaranteed as the worst value may be exceeded.
By applying the present invention, verification after writing can be omitted, and the above possibility can be avoided.

【0031】この例ではDV11からの入力データの取
り込みをDMA処理とし、パリティグループの大きさn
は固定している。いずれも、並列処理を容易にし、より
高速処理が可能となる。また、パリティ生成論理は、x
orなどの簡単な論理だけでなくm>1となるリードソ
ロモン符号のごとく、エラー訂正能力の高い論理を用い
てもよい。
In this example, the input data from the DV 11 is taken as the DMA processing, and the size n of the parity group is set.
Is fixed. In either case, parallel processing is facilitated and higher speed processing is possible. Also, the parity generation logic is x
Not only a simple logic such as or, but also a logic having a high error correction capability such as a Reed-Solomon code with m> 1 may be used.

【0032】図8は、実施例2のエラー率計測手段16
の内部構成と動作概念図を示し、DV11からのデータ
の取り込み(MO17への書き込み)が終了したときの
データ検証動作について説明する。図8において、エラ
ーマップ62は、訂正不能な読み出しエラーが発生する
セクタの場所を示すテーブル、もしくはビットマップで
ある。パリティセクタアドレス61はデータを保存した
ときのパリティグループの数gとパリティグループを構
成するセクタ数nとを保持し、この値をMO17に書き
込む。
FIG. 8 shows the error rate measuring means 16 of the second embodiment.
The internal configuration and the operation conceptual diagram of FIG. 4 are shown, and the data verification operation when the data acquisition from the DV 11 (writing to the MO 17) is completed will be described. In FIG. 8, the error map 62 is a table or a bit map showing the location of the sector where the uncorrectable read error occurs. The parity sector address 61 holds the number g of parity groups when the data is stored and the number n of sectors forming the parity group, and writes this value in MO17.

【0033】読み書き制御手段15は、直前に書き込ん
だデータをMO17から読み出し、バッファ12に蓄え
る。このとき読み出し時に訂正できないエラーが発生す
ると、エラーマップ62にその旨記録する。g×(n+
m)セクタの読み出しが終了したとき、エラー訂正手段
63が起動する。エラー訂正手段63は、エラーマップ
62を参照し、訂正不能な読み出しエラーが記録されて
いるとき、図9に示す、エラー訂正処理を試みる。
The read / write control means 15 reads the data just written from the MO 17 and stores it in the buffer 12. At this time, if an uncorrectable error occurs during reading, the fact is recorded in the error map 62. g × (n +
m) When the reading of the sector is completed, the error correction means 63 is activated. The error correction means 63 refers to the error map 62, and when an uncorrectable read error is recorded, tries the error correction processing shown in FIG.

【0034】このように処理することにより、読み出し
不可能なセクタが残る確率を極めて小さなものにするこ
とができる。なお、図8の処理については、実行の開始
指示手段を設けるとともに、実行中であることを表示
し、オペレータの指示によって、処理を開始するように
してもよい。
By performing the above processing, the probability that unreadable sectors will remain can be made extremely small. Note that the process of FIG. 8 may be provided with a start instruction means for execution, display that the process is being executed, and start the process in response to an instruction from the operator.

【0035】また、図8の処理により、正しく読み出せ
ないセクタが見つかり、エラー訂正処理でそのセクタを
書き戻しても読み出しエラーとなる場合がある。この場
合、通常は二次欠陥リスト(SDL)から交代セクタが
割当てられて、交代セクタに書き込まれる。交代セクタ
領域を使い切っているために交代セクタを割当てること
が出来ない場合はエラーとしてオペレータに通知するよ
うにしてもよい。
In some cases, the process of FIG. 8 finds a sector that cannot be read correctly, and even if the sector is written back in the error correction process, a read error may occur. In this case, a replacement sector is usually assigned from the secondary defect list (SDL) and written to the replacement sector. If the replacement sector cannot be assigned because the replacement sector area has been used up, an error may be notified to the operator.

【0036】図10は、本発明を適用し、エラー率が所
定の値よりも大きい場合に所定数nを減少させる手段と
して、パリティセクタ領域と、二次パリティ領域およ
び二次パリティ管理と、エラー率管理領域とを備え
た実施例3のファイルシステムの、ディスク内の論理デ
ータのレイアウト例を示す。実施例3においては、パリ
ティセクタはデータ領域のnセクタからなるクラスタ単
位、すなわち、ひとつのパリティグループ毎に付与され
る。パリティセクタ領域のパリティセクタ数は、概ね
32000〜64000セクタ程度となる。二次パリテ
ィセクタ領域は、より小さな単位に対して付与したパリ
ティセクタの領域であり、エラーの発生状況に応じて使
われるので、どの部分に対して二次パリティセクタを付
与したかを管理する二次パリティ管理を設けている。
エラー率管理領域は、記憶媒体上のエラー多発領域の
位置を保持する。
FIG. 10 is a block diagram of the parity sector area, the secondary parity area and the secondary parity management, as a means for reducing the predetermined number n when the error rate is larger than the predetermined value by applying the present invention. The layout example of the logical data in a disk of the file system of Example 3 provided with the rate management area is shown. In the third embodiment, the parity sector is assigned in units of clusters consisting of n sectors in the data area, that is, in units of one parity group. The number of parity sectors in the parity sector area is approximately 32000 to 64000 sectors. The secondary parity sector area is an area of a parity sector assigned to a smaller unit and is used according to the error occurrence status. Therefore, it is possible to manage which portion the secondary parity sector is assigned to. The following parity management is provided.
The error rate management area holds the position of the error frequently occurring area on the storage medium.

【0037】このファイルシステムでは、ディスクへの
データ書き込みの際、クラスタ単位でパリティデータを
作成し、これをパリティセクタ領域に書き込む。さら
に、二次パリティ管理を参照して、エラーが多発する
領域であれば、例えばクラスタの前半部分についてのパ
リティを求めて、これを二次パリティセクタ領域に書き
込む。これは、実質的にnを1/2にしたことに相当す
る。
In this file system, when writing data to the disk, parity data is created in cluster units and written in the parity sector area. Further, referring to the secondary parity management, if it is an area where an error frequently occurs, for example, the parity for the first half of the cluster is obtained and this is written in the secondary parity sector area. This is substantially equivalent to halving n.

【0038】二次パリティセクタ処理の疑似コード例を
図11に示す。図中、の処理は、8KByte(=64Kbi
t)のbitmap、すなわち2次パリティセクタを記録
すべきクラスタならば’1’、そうでなければ’0’の
ビットマップを行う。の処理は、二次パリティセクタ
の対象位置、すなわち「クラスタ番号」(2Byte)と
「クラスタ内位置」「セクタ数」( 各4ビット)の構造
体の配列を行う。{1203,4,4}であればクラス
タ1203先頭から4/16の部分から4セクタ分のパ
リティを作っていることを示す。
A pseudo code example of the secondary parity sector processing is shown in FIG. In the figure, the process of is 8 KByte (= 64 Kbi
Bitmap of t), that is, a bit map of "1" if the cluster in which the secondary parity sector is to be recorded, and a bit map of "0" otherwise. In the process of, the structure of the target position of the secondary parity sector, that is, the “cluster number” (2 bytes), the “position within the cluster”, and the “sector number” (each 4 bits) is arranged. If {1203, 4, 4}, it means that 4 sectors of parity are created from the 4 / 16th portion from the beginning of the cluster 1203.

【0039】の処理は、二次パリティセクタ、すなわ
ちで指される部分のパリティを求める。データ読み出
しは、次の点を除いて、概ね従来のファイルシステムと
して動作する。すなわち、 (1 )読み出しエラーが発生した時、その場所と頻度を
計数して、エラー率管理部に登録する。 (2)訂正不能な読み出しエラーが発生したとき(通常
のファイルシステムはそのままエラーを通知するが)エ
ラー発生場所をシステム情報として記録しておく。これ
により、その直後に起動したソフトウエアがエラーの発
生場所を知って、対応するパリティ情報などからエラー
を修復することができる。
The process of step (2) obtains the parity of the secondary parity sector, that is, the portion pointed to by. The data read operates almost as a conventional file system except for the following points. That is, (1) When a read error occurs, its location and frequency are counted and registered in the error rate management unit. (2) When an uncorrectable read error occurs (the normal file system reports the error as it is), the error occurrence location is recorded as system information. As a result, the software started immediately after that can know the place where the error occurred and can repair the error from the corresponding parity information.

【0040】なお、ここではFATファイルシステムを
想定したが、クラスタやアロケーション単位に相当する
概念を持つものである限り、他のファイルシシテムでも
同様の構成ができる。図12に、実施例3のクラスタデ
ータの書き込み処理フロー例を示す。実施例4として、
光磁気ディスク装置に、装置自身の機能として本発明を
適用する例を説明する。230MByte〜640MByteの
MOディスクはZCLVと呼ばれる方式を採用してい
る。これはディスクの記録領域を10〜17個のゾーン
に分けて、ゾーン毎にトラック当りのセクタ数を変える
ものである。内周ではトラック当りのセクタ数は少な
く、外周にいくほど多くなる。例えば540MByteのM
Oディスクでは18個のゾーンからなる。最内部は87
5トラックでトラック当り50セクタであり、最外部は
875トラック、トラック当り84セクタである。
Although the FAT file system is assumed here, other file systems can have the same configuration as long as it has a concept corresponding to a cluster or allocation unit. FIG. 12 shows an example of a cluster data write processing flow according to the third embodiment. As Example 4,
An example in which the present invention is applied to the magneto-optical disk device as its own function will be described. An MO disk of 230 MByte to 640 MByte adopts a method called ZCLV. This divides the recording area of the disc into 10 to 17 zones and changes the number of sectors per track for each zone. The number of sectors per track is small on the inner circumference, and increases toward the outer circumference. For example, M of 540 MByte
The O disk consists of 18 zones. Innermost is 87
There are 5 tracks with 50 sectors per track, and the outermost area is 875 tracks with 84 sectors per track.

【0041】各ゾーン毎にトラック当りのセクタ数Nに
基づいて、k=N−3セクタおきにひとつのパリティグ
ループとする。すなわち、最内部についてはセクタ番号
sのセクタは(s mod 47)番のパリティグルー
プとする。各パリティグループ毎に一つのパリティセク
タを用意して、データ書き込み時にはこの各パリティグ
ループ毎にパリティ値を求めて、パリティセクタを書き
込む。
Based on the number of sectors N per track for each zone, one parity group is provided every k = N−3 sectors. That is, regarding the innermost part, the sector with the sector number s is set to the (s mod 47) th parity group. One parity sector is prepared for each parity group, a parity value is calculated for each parity group when writing data, and the parity sector is written.

【0042】実施例4のセクタ配置の概念図を図13に
示す。図においては、記憶媒体上で一つのパリティグル
ープとして配置したセクタのみを線で示している。例え
ば、ハッチした部分の幅はおよそ20μm、すなわち2
0トラック分であるが、ここに10μmφ程度のゴミが
付着しても、この10トラック分の円周方向10μmの
領域に配置される、同一パリティグループに属するセク
タは1セクタ以内にとどまり、エラー訂正が可能であ
る。
FIG. 13 is a conceptual diagram of the sector arrangement of the fourth embodiment. In the figure, only the sectors arranged as one parity group on the storage medium are indicated by lines. For example, the width of the hatched portion is about 20 μm, that is, 2
Although it is 0 track, even if dust of about 10 μmφ is attached to this track, the sectors belonging to the same parity group, which are arranged in the area of 10 μm in the circumferential direction for 10 tracks, remain within 1 sector, and error correction is performed. Is possible.

【0043】また、実施例4においては、ゾーン毎に同
じゾーンのセクタについてのパリティ値を保存するパリ
ティセクタの領域を設ける。最内部の例ではkはN−3
=47セクタである。当該ゾーン内のパリティグループ
の大きさは、総セクタ数/k=875×50/47=9
81であり、パリティセクタ数は47となる。更に、個
々のパリティグループについて各セクタの状態を管理す
る領域を設ける。各セクタについて{解放状態/書き込
み済み/上書きされた}の3状態を管理する。状態管理
のためには2ビットの情報があれば十分であるため、パ
リティグループ毎に1セクタ、すなわちk個の状態管理
セクタがあればよい。
In the fourth embodiment, a parity sector area for storing the parity value of the sector in the same zone is provided for each zone. In the innermost example, k is N-3
= 47 sectors. The size of the parity group in the zone is the total number of sectors / k = 875 × 50/47 = 9.
81, and the number of parity sectors is 47. Further, an area for managing the state of each sector is provided for each parity group. It manages three states of {released state / written / overwritten} for each sector. Since 2-bit information is sufficient for state management, one sector, that is, k state management sectors, is sufficient for each parity group.

【0044】従来のディスクと互換を持たせる場合は、
低レベルフォーマット時に2k個の欠陥セクタがあるか
のように初期欠陥リスト(PDL)を登録する。この欠
陥セクタとして登録したセクタをパリティセクタとして
利用する。以下、説明のために、リニアナンバリングさ
れた「セクタ番号s」がk×j+(i−1)のとき、こ
のセクタは「パリティグループi」に属しており、「パ
リティセクタi」と「状態管理セクタi」で管理されて
いるものとする。
To make the disc compatible with conventional discs,
The initial defect list (PDL) is registered as if there were 2k defective sectors in the low level format. The sector registered as the defective sector is used as the parity sector. Hereinafter, for the sake of explanation, when the linearly numbered “sector number s” is k × j + (i−1), this sector belongs to “parity group i”, and “parity sector i” and “state management” It is assumed to be managed by the sector i ".

【0045】実施例4のデータ書き込み手順を図14に
示す。例えば画像データなどの大容量データを書き込む
とき、ユーザアプリケーションプログラムの動作例を以
下に示す。 1.予めディスクを初期化しておく。 2.書き込むデータの大きさを(余裕をみて)見積も
り、その分の領域をディスク上に確保し、必要に応じて
領域を解放する。見積もり方法については、たとえば動
画データのおよその時間とビットレートから推定する。 3. データを逐次書き込む。 4.ファイルをクローズする。 5.ディスクを排出する。
FIG. 14 shows the data writing procedure of the fourth embodiment. An example of the operation of the user application program when writing a large amount of data such as image data is shown below. 1. Initialize the disk in advance. 2. The size of the data to be written is estimated (with a margin), an area for that is secured on the disk, and the area is released as necessary. The estimation method is estimated, for example, from the approximate time and bit rate of moving image data. 3. Write data sequentially. 4. Close the file. 5. Eject the disc.

【0046】これに伴い、内部では次のように処理す
る。 1.状態管理セクタとパリティセクタを初期化する。 2.書き込むゾーンの状態管理セクタとパリティセクタ
を初期化する。 3.書き込みに従って状態管理セクタを更新し、パリテ
ィセクタを更新する。ゾーンの切り替えが発生した場合
はこれらをディスクに書き出す。 4.バッファに保持しているパリティセクタと状態管理
セクタをディスクに書き出す。
Along with this, the following processing is internally performed. 1. Initialize the state management sector and parity sector. 2. Initialize the status management sector and parity sector of the write zone. 3. The state management sector is updated according to the writing, and the parity sector is updated. If a zone switch occurs, write these to disk. 4. Write the parity sector and state management sector held in the buffer to the disk.

【0047】上の処理では、状態管理セクタの内容が
{上書き済み}を示すことはない。このように書き込ん
だデータについて、ゴミの付着等により書き込み後にデ
ータが読めなくなっていても、それがパリティグループ
内に1セクタに留まるかぎり、他のセクタの値から復元
することが可能である。なお、ここでは説明の都合で一
つのゾーンを一括管理するように説明したが、kをより
大きくしたり、ゾーンを前半部・後半部に細分すること
で一つのパリティグループを小さくすることができる。
In the above processing, the contents of the state management sector do not indicate {overwritten}. Regarding the data thus written, even if the data becomes unreadable after the writing due to adhesion of dust or the like, as long as it remains in one sector in the parity group, it can be restored from the values of other sectors. It should be noted that although it has been described here that one zone is collectively managed for convenience of explanation, one parity group can be made smaller by making k larger or subdividing the zone into the first half and the second half. .

【0048】実施例5として、記録媒体上のセクタ長の
n倍、すなわち、一つのパリティグループを論理的なセ
クタ長としてみせる記憶装置としても良い。例えば、セ
クタ長が512Byteや2KByteの記憶媒体を用いる記憶
装置において、複数のセクタを一パリティグループとし
て管理し、ホスト側にはセクタ長を例えば16KByteや
32KByteとして通知するものを作ることができる。こ
の一パリティグループ毎に1つ以上のパリティセクタを
用意し、本発明を適用することができる。一般に、パリ
ティグループとしてまとめたデータセクタとパリティセ
クタとの位置関係は任意である。例えば、パリティグル
ープとしてまとめたセクタと連続した場所においてもよ
いし、管理用のブロックなどにパリティセクタだけをま
とめてもよい。
As a fifth embodiment, a storage device may be used in which n times the sector length on the recording medium, that is, one parity group is viewed as a logical sector length. For example, in a storage device using a storage medium having a sector length of 512 Bytes or 2 KBytes, it is possible to make a plurality of sectors managed as one parity group and notify the host side of the sector length as 16 KBytes or 32 KBytes, for example. The present invention can be applied by preparing one or more parity sectors for each parity group. In general, the positional relationship between a data sector and a parity sector that are put together as a parity group is arbitrary. For example, it may be located at a place continuous with the sectors grouped as a parity group, or only the parity sectors may be grouped in a management block or the like.

【0049】実施例6として、ハードディスクのデータ
を一括してバックアップするアプリケーションソフトと
しても良い。例えば、バックアップソフトでは、まとま
った量のデータを一括して書き込む。また、このソフト
ではバックアップ、すなわち書き込みの時間が重要な要
素である。このようなソフトウェアでは、独自のファイ
ル管理を行なうことができる。また、バックアップファ
イル毎に独自のパリティデータを生成して、これを書き
込むこともできる。例えば、バックアップの書き込みが
nセクタに達する毎にmセクタ分のパリティデータを生
成して、これを書き込むとしても良い。
As a sixth embodiment, application software for collectively backing up hard disk data may be used. For example, backup software writes a large amount of data at once. Also, with this software, backup, or writing, is an important factor. Such software can perform its own file management. It is also possible to generate unique parity data for each backup file and write this. For example, parity data for m sectors may be generated and written each time backup writing reaches n sectors.

【0050】実施例7として、ファイルシステム、とく
にデータ圧縮を伴うファイルシステムとしても良い。例
えば、FAT16形式のファイルシステムにおいては、
ディスクの領域をクラスタと呼ぶ単位で管理している。
ディスク容量が508MByte程度のとき、クラスタの大
きさは8KByteであり、セクタ長が512Byteであれば
16セクタとなる。したがって、ディスクをフォーマッ
トしてファイルシステムを構築する際に、全体の1/16程
度の領域をパリティセクタとして割当てる。以後、ファ
イルを書き込むたびに(この書き込み処理はクラスタ単
位で扱えるので)クラスタ毎にパリティセクタのデータ
を生成して、これを別途割当てた領域に書き込む。
As the seventh embodiment, a file system, particularly a file system with data compression, may be used. For example, in the FAT16 format file system,
Disk areas are managed in units called clusters.
When the disk capacity is about 508 MBytes, the cluster size is 8 KBytes, and when the sector length is 512 Bytes, it is 16 sectors. Therefore, when formatting a disk and constructing a file system, about 1/16 of the entire area is allocated as a parity sector. Thereafter, each time a file is written (since this writing process can be handled in cluster units), parity sector data is generated for each cluster and this is written in a separately allocated area.

【0051】データ圧縮を行なうことによってみかけの
ディスク容量を物理的なディスク容量よりも大きく見せ
るファイルシステムでは、8KByte〜32KByte程度の
大きさのデータを一単位として圧縮し、これを物理的に
はより小さな領域に書き込んで管理することが可能とな
る。 (付記1)所定数Lバイトのデータを単位(セクタ)と
して、所定数n個のデータセクタを一つのグループとし
て管理して記憶媒体への書き込みと読み出しとをコンピ
ュータに実行させるディスク読み書き制御プログラムで
あって、コンピュータを同一グループのデータセクタか
ら各1バイトずつ抽出したnバイトのデータに対してm
バイトの誤り検出訂正符号を生成する処理をLバイトの
全データ分繰り返し、Lバイトからなるm個のパリティ
セクタを形成するパリティ生成手段と、同一グループの
n個のデータセクタと対応するm個のパリティセクタと
を一つのパリティグループとして、同一のパリティグル
ープに属するセクタが互いに物理的に隣接しないように
分散配置して記憶媒体に書き込む読み書き制御手段とし
て機能させるためのディスク読み書き制御プログラム。
In a file system in which the apparent disk capacity is made larger than the physical disk capacity by performing data compression, data having a size of 8 KBytes to 32 KBytes is compressed as one unit, and this is physically It becomes possible to write and manage in a small area. (Supplementary Note 1) A disk read / write control program that manages a predetermined number n of data sectors as a group by using a predetermined number of L bytes of data as a unit (sector), and causes a computer to perform writing and reading to and from a storage medium. Therefore, for each n-byte data extracted by the computer from the data sector of the same group, one byte each, m
The process of generating the byte error detection and correction code is repeated for all the data of L bytes, and the parity generation means that forms m parity sectors of L bytes and the m number of data sectors corresponding to the n data sectors of the same group. A disk read / write control program for functioning as a read / write control unit that distributively arranges sectors that belong to the same parity group so as not to be physically adjacent to each other and uses them as a parity group and writes them to a storage medium.

【0052】(付記2)所定数Lバイトのデータを単位
(セクタ)として、所定数n個のデータセクタを一つの
グループとして管理して記憶媒体への書き込みと読み出
しとを行うディスク読み書き制御装置であって、同一グ
ループのデータセクタから各1バイトずつ抽出したnバ
イトのデータに対してmバイトの誤り検出訂正符号を生
成する処理をLバイトの全データ分繰り返し、Lバイト
からなるm個のパリティセクタを形成するパリティ生成
手段と、同一グループのn個のデータセクタと対応する
m個のパリティセクタとを一つのパリティグループとし
て、同一のパリティグループに属するセクタが互いに物
理的に隣接しないように分散配置して記憶媒体に書き込
む読み書き制御手段とを有することを特徴とするディス
ク読み書き制御装置。
(Supplementary Note 2) A disk read / write control device that manages a predetermined number n of data sectors as a group by using a predetermined number of L bytes of data as a unit (sector) and performs reading and writing from / to a storage medium. Therefore, a process of generating an error detection and correction code of m bytes is repeated for n bytes of data extracted by 1 byte each from data sectors of the same group for all L bytes of data, and m parity of L bytes is generated. Parity generating means forming a sector and m parity sectors corresponding to n data sectors of the same group are set as one parity group and distributed so that sectors belonging to the same parity group are not physically adjacent to each other. A disk read / write control device having a read / write control means arranged and writing in a storage medium. .

【0053】(付記3)請求項1に記載のディスク読み
書き制御プログラムを用いて書き込まれたデータを読み
出すディスク読み書き制御プログラムであって、読み書
き制御手段は、データセクタ読み出し時にセクタ内で訂
正できないエラーを検出した場合は、パリティセクタを
読み出してエラー訂正を行うことを特徴とするディスク
読み書き制御プログラム。
(Supplementary Note 3) A disk read / write control program for reading data written using the disk read / write control program according to claim 1, wherein the read / write control means detects an error that cannot be corrected in the sector when reading the data sector. A disk read / write control program which, when detected, reads the parity sector and performs error correction.

【0054】(付記4)請求項1に記載のディスク読み
書き制御プログラムであって、記憶媒体上を所定の領域
に分割し、個々の領域ごとにデータの読み出しエラー
率、およびシークエラー率を計測するエラー率計測手段
を有し、読み書き制御手段は、該エラー率が所定の値よ
りも大きい場合は、書き込み後の検証処理を行なうこと
を特徴とするディスク読み書き制御プログラム。
(Supplementary Note 4) The disk read / write control program according to claim 1, wherein the storage medium is divided into predetermined areas, and a data read error rate and a seek error rate are measured for each individual area. A disk read / write control program comprising error rate measuring means, wherein the read / write control means performs verification processing after writing when the error rate is larger than a predetermined value.

【0055】(付記5)請求項1に記載のディスク読み
書き制御プログラムを用いてデータが書き込まれたコン
ピュータ読み取り可能な記録媒体。 (付記6)請求項1に記載のディスク読み書き制御プロ
グラムであって、記憶媒体上を所定の領域に分割し、個
々の領域ごとにデータの読み出しエラー率、およびシー
クエラー率を計測するエラー率計測手段を有し、パリテ
ィ生成手段は、該エラー率が所定の値よりも大きい場合
は、m/nを増加させる、すなわち所定数nを減少させ
る、あるいは所定数mを増加させることを特徴とするデ
ィスク読み書き制御プログラム。
(Supplementary Note 5) A computer-readable recording medium in which data is written using the disk read / write control program according to claim 1. (Supplementary note 6) The disk read / write control program according to claim 1, wherein the storage medium is divided into predetermined areas, and an error rate measurement for measuring a data read error rate and a seek error rate for each individual area. When the error rate is larger than a predetermined value, the parity generation means increases m / n, that is, decreases the predetermined number n or increases the predetermined number m. Disk read / write control program.

【0056】(付記7)請求項1に記載のディスク読み
書き制御プログラムであって、セクタが同心円状に配置
され、トラックあたりのセクタ数がNの記憶媒体に対
し、読み書き制御手段は、Nと互いに素な数kによっ
て、kセクタごとに同一パリティグループのセクタを分
散配置して記憶媒体に書き込むことを特徴とするするデ
ィスク読み書き制御プログラム。
(Supplementary Note 7) The disk read / write control program according to claim 1, wherein the sectors are arranged concentrically and the number of sectors per track is N, and the read / write control means is N A disk read / write control program characterized in that sectors of the same parity group are distributed and written in a storage medium for every k sectors by a prime number k.

【0057】[0057]

【発明の効果】以上説明したごとく、本発明によれば、 1.従来の記憶装置と同一、または同等のハードウェア
を用いて、書き込み速度がより高速で、かつより安定し
ている記憶装置とすることができる。なお、このための
オーバヘッドは、パリティセクタとして利用されるディ
スクの記憶容量、すなわち全ディスクの記憶容量の1%-
数% 程度である。 2.誤り訂正能力が高まり、書き込み後の検証が省略可
能となり、データの書き込み処理の高速化が実現でき
る。また、書き込み後の検証を省略することで実質的な
書き込み速度が安定し、ホストやアプリケーションに対
して保証できる書き込み速度も高速となる。このことに
より、記憶装置の用途を広げることが可能となる。
As described above, according to the present invention, 1. The same or equivalent hardware as the conventional storage device can be used to provide a storage device with a higher writing speed and more stable writing speed. The overhead for this is the storage capacity of the disk used as the parity sector, that is, 1% of the storage capacity of all disks.
It is about several percent. 2. The error correction capability is enhanced, the verification after writing can be omitted, and the speed of the data writing process can be realized. Further, by omitting the verification after writing, the actual writing speed becomes stable, and the writing speed that can be guaranteed to the host or application becomes high. This makes it possible to expand the uses of the storage device.

【図面の簡単な説明】[Brief description of drawings]

【図1】セクタ配置例FIG. 1 Example of sector allocation

【図2】実施例1の構成例FIG. 2 is a configuration example of the first embodiment.

【図3】実施例1のデータ書き込み処理フロー例FIG. 3 is an example of a data write processing flow according to the first embodiment.

【図4】実施例1のデータ読み出し処理フロー例FIG. 4 is an example of a data read processing flow according to the first embodiment.

【図5】エラー率に従ってエラー処理を行う疑似コード
FIG. 5: Pseudocode example for error processing according to error rate

【図6】実施例1のセクタ配置とゴミの付着例FIG. 6 is an example of sector arrangement and dust adhesion according to the first embodiment.

【図7】実施例2の構成例FIG. 7 is a configuration example of the second embodiment.

【図8】実施例2のエラー率計測手段の内部構成と動作
概念図
FIG. 8 is a conceptual diagram of the internal configuration and operation of error rate measuring means according to the second embodiment.

【図9】エラー訂正処理例FIG. 9: Example of error correction processing

【図10】実施例3のディスク内の論理データのレイア
ウト例
FIG. 10 is a layout example of logical data in a disk according to the third embodiment.

【図11】二次パリティセクタ処理の疑似コード例FIG. 11 is a pseudo code example of secondary parity sector processing.

【図12】実施例3のクラスタデータの書き込み処理フ
ロー例
FIG. 12 is an example of a cluster data write processing flow according to the third embodiment.

【図13】実施例4のセクタ配置の概念図FIG. 13 is a conceptual diagram of sector arrangement according to the fourth embodiment.

【図14】実施例4のデータ書き込み手順FIG. 14 is a data writing procedure of the fourth embodiment.

【図15】同心円状にデータを記録するトラックとセク
タ例
FIG. 15 is an example of tracks and sectors for recording data concentrically.

【図16】パリティセクタ生成例FIG. 16 shows an example of parity sector generation.

【図17】連続してセクタを配置した従来例にゴミが付
着した例1
FIG. 17 is an example 1 in which dust adheres to a conventional example in which sectors are continuously arranged.

【図18】連続してセクタを配置した従来例にゴミが付
着した例2
FIG. 18 is an example 2 in which dust adheres to the conventional example in which sectors are continuously arranged.

【符号の説明】[Explanation of symbols]

c、d:シークリトライ回数 g:一つの処理で扱うパリティグループ数 G:パリティグループ番号 k:一つのパリティグループを構成するセクタを配置す
る間隔 m:一つのパリティグループに付加するパリティセクタ
数 n:一つのパリティグループを構成するデータセクタ数 N:一トラック上のセクタ数 L:セクタ当たりのデータ長 s:セクタ番号
c, d: Number of times of seek retry g: Number of parity groups handled in one process G: Parity group number k: Interval at which sectors constituting one parity group are arranged m: Number of parity sectors added to one parity group n: Number of data sectors forming one parity group N: number of sectors on one track L: data length per sector s: sector number

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/18 G11B 20/18 572F ─────────────────────────────────────────────────── ─── Continued Front Page (51) Int.Cl. 7 Identification Code FI Theme Coat (Reference) G11B 20/18 G11B 20/18 572F

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 所定数Lバイトのデータを単位(セク
タ)として、所定数n個のデータセクタを一つのグルー
プとして管理して記憶媒体への書き込みと読み出しとを
コンピュータに実行させるディスク読み書き制御プログ
ラムであって、コンピュータを同一グループのデータセ
クタから各1バイトずつ抽出したnバイトのデータに対
してmバイトの誤り検出訂正符号を生成する処理をLバ
イトの全データ分繰り返し、Lバイトからなるm個のパ
リティセクタを形成するパリティ生成手段と、同一グル
ープのn個のデータセクタと対応するm個のパリティセ
クタとを一つのパリティグループとして、同一のパリテ
ィグループに属するセクタが互いに物理的に隣接しない
ように分散配置して記憶媒体に書き込む読み書き制御手
段として機能させるためのディスク読み書き制御プログ
ラム。
1. A disk read / write control program that manages a predetermined number n of data sectors as a group by using a predetermined number of L bytes of data as a unit (sector), and causes a computer to execute writing and reading to and from a storage medium. That is, the process of generating an error detection and correction code of m bytes is repeated for all data of L bytes for n bytes of data extracted by the computer from each data sector of the same group one byte at a time. Parity generating means for forming a plurality of parity sectors and m parity sectors corresponding to n data sectors of the same group are regarded as one parity group, and sectors belonging to the same parity group are not physically adjacent to each other. Function as a read / write control means for writing data in a storage medium Disk read / write control program.
【請求項2】 所定数Lバイトのデータを単位(セク
タ)として、所定数n個のデータセクタを一つのグルー
プとして管理して記憶媒体への書き込みと読み出しとを
行うディスク読み書き制御装置であって、同一グループ
のデータセクタから各1バイトずつ抽出したnバイトの
データに対してmバイトの誤り検出訂正符号を生成する
処理をLバイトの全データ分繰り返し、Lバイトからな
るm個のパリティセクタを形成するパリティ生成手段
と、同一グループのn個のデータセクタと対応するm個
のパリティセクタとを一つのパリティグループとして、
同一のパリティグループに属するセクタが互いに物理的
に隣接しないように分散配置して記憶媒体に書き込む読
み書き制御手段とを有することを特徴とするディスク読
み書き制御装置。
2. A disk read / write control device that manages a predetermined number n of data sectors as a group by using a predetermined number of L bytes of data as a unit (sector) and performs writing and reading to and from a storage medium. , A process of generating an error detection and correction code of m bytes is repeated for n bytes of data extracted by 1 byte each from data sectors of the same group for all L bytes of data, and m parity sectors of L bytes are generated. The parity generation means to be formed and m parity sectors corresponding to n data sectors of the same group are defined as one parity group,
A disk read / write control device comprising: a read / write control unit that distributively arranges sectors belonging to the same parity group so that they are not physically adjacent to each other and writes them to a storage medium.
【請求項3】 請求項1に記載のディスク読み書き制御
プログラムを用いて書き込まれたデータを読み出すディ
スク読み書き制御プログラムであって、読み書き制御手
段は、データセクタ読み出し時にセクタ内で訂正できな
いエラーを検出した場合は、パリティセクタを読み出し
てエラー訂正を行うことを特徴とするディスク読み書き
制御プログラム。
3. A disk read / write control program for reading data written using the disk read / write control program according to claim 1, wherein the read / write control means detects an uncorrectable error in the sector when reading the data sector. In this case, the disk read / write control program is characterized by reading the parity sector and performing error correction.
【請求項4】 請求項1に記載のディスク読み書き制御
プログラムであって、記憶媒体上を所定の領域に分割
し、個々の領域ごとにデータの読み出しエラー率、およ
びシークエラー率を計測するエラー率計測手段を有し、 読み書き制御手段は、該エラー率が所定の値よりも大き
い場合は、書き込み後の検証処理を行なうことを特徴と
するディスク読み書き制御プログラム。
4. The disk read / write control program according to claim 1, wherein the storage medium is divided into predetermined areas and a data read error rate and a seek error rate are measured for each area. A disk read / write control program comprising a measuring means, wherein the read / write control means performs verification processing after writing when the error rate is larger than a predetermined value.
【請求項5】 請求項1に記載のディスク読み書き制御
プログラムを用いてデータが書き込まれたコンピュータ
読み取り可能な記録媒体。
5. A computer-readable recording medium in which data is written using the disk read / write control program according to claim 1.
JP2001185334A 2001-06-19 2001-06-19 Disk read/write control program Pending JP2003006996A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001185334A JP2003006996A (en) 2001-06-19 2001-06-19 Disk read/write control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001185334A JP2003006996A (en) 2001-06-19 2001-06-19 Disk read/write control program

Publications (1)

Publication Number Publication Date
JP2003006996A true JP2003006996A (en) 2003-01-10

Family

ID=19024934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001185334A Pending JP2003006996A (en) 2001-06-19 2001-06-19 Disk read/write control program

Country Status (1)

Country Link
JP (1) JP2003006996A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007128416A1 (en) * 2006-05-10 2007-11-15 Nero Ag Apparatus for writing data and redundancy data on a storage medium
JP2010061756A (en) * 2008-09-05 2010-03-18 Toshiba Storage Device Corp Stored data processing device, storage device, and stored data processing program and method
JP2010218590A (en) * 2009-03-13 2010-09-30 Hitachi Ltd Recording medium, recording method, recording device, reproducing method, and reproducing device of information
JP2010267333A (en) * 2009-05-15 2010-11-25 Nippon Hoso Kyokai <Nhk> Hard disk drive with parity function
JP2011065700A (en) * 2009-09-16 2011-03-31 Hitachi Consumer Electronics Co Ltd Data recording medium, data recording device, data reproducing device, data recording method, and data reproducing method
US8301906B2 (en) 2006-05-10 2012-10-30 Nero Ag Apparatus for writing information on a data content on a storage medium
JP2019109955A (en) * 2017-12-19 2019-07-04 パナソニックIpマネジメント株式会社 Optical disk device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007128416A1 (en) * 2006-05-10 2007-11-15 Nero Ag Apparatus for writing data and redundancy data on a storage medium
US8301906B2 (en) 2006-05-10 2012-10-30 Nero Ag Apparatus for writing information on a data content on a storage medium
JP2010061756A (en) * 2008-09-05 2010-03-18 Toshiba Storage Device Corp Stored data processing device, storage device, and stored data processing program and method
JP2010218590A (en) * 2009-03-13 2010-09-30 Hitachi Ltd Recording medium, recording method, recording device, reproducing method, and reproducing device of information
JP2010267333A (en) * 2009-05-15 2010-11-25 Nippon Hoso Kyokai <Nhk> Hard disk drive with parity function
JP2011065700A (en) * 2009-09-16 2011-03-31 Hitachi Consumer Electronics Co Ltd Data recording medium, data recording device, data reproducing device, data recording method, and data reproducing method
JP2019109955A (en) * 2017-12-19 2019-07-04 パナソニックIpマネジメント株式会社 Optical disk device
JP7182128B2 (en) 2017-12-19 2022-12-02 パナソニックIpマネジメント株式会社 optical disk drive

Similar Documents

Publication Publication Date Title
US6728922B1 (en) Dynamic data space
US6021463A (en) Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem
US6859888B2 (en) Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same
US7818524B2 (en) Data migration systems and methods for independent storage device expansion and adaptation
US20070220402A1 (en) Auxiliary storage device and read/write method
JPH05197579A (en) Method and apparatus for correcting data line
JPH05505264A (en) Non-volatile memory storage of write operation identifiers in data storage devices
KR100537577B1 (en) Method for writing streaming audiovisual data to a disk drive
US5719885A (en) Storage reliability method and apparatus
US20150347224A1 (en) Storage control apparatus and method therefor
JP2003006996A (en) Disk read/write control program
US7027241B2 (en) Defect management for HDD with variable index architecture
JP2006072435A (en) Storage system and data recording method
US9189324B2 (en) Data archive system, data recording/reproducing apparatus and data library apparatus
US6625390B1 (en) Apparatus and method for recording and reproducing data, and AV server
JP3288724B2 (en) Method of tracking incomplete writes in a disk array, and disk storage system performing such a method
JP2004185477A (en) Optical storage medium array device and data transfer method
CN110310674A (en) Disk device and data managing method
JP2005004733A (en) Arrangement and method of disposition for detecting write error in storage system
JP4154776B2 (en) Data recording / reproducing apparatus and method, and server
JP4110496B2 (en) Data recording / reproducing apparatus and method, and AV server
JP3615274B2 (en) File control unit
JPH07141795A (en) Disk device
JP5519573B2 (en) Video processing apparatus, video processing method, and video processing program
JP2010267333A (en) Hard disk drive with parity function

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040610

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081125