WO2010097834A1 - 誤り訂正回路及びディスク記憶装置 - Google Patents

誤り訂正回路及びディスク記憶装置 Download PDF

Info

Publication number
WO2010097834A1
WO2010097834A1 PCT/JP2009/000855 JP2009000855W WO2010097834A1 WO 2010097834 A1 WO2010097834 A1 WO 2010097834A1 JP 2009000855 W JP2009000855 W JP 2009000855W WO 2010097834 A1 WO2010097834 A1 WO 2010097834A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
marker
bit
deletion
decoder
Prior art date
Application number
PCT/JP2009/000855
Other languages
English (en)
French (fr)
Inventor
伊東利雄
Original Assignee
東芝ストレージデバイス株式会社
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 東芝ストレージデバイス株式会社 filed Critical 東芝ストレージデバイス株式会社
Priority to PCT/JP2009/000855 priority Critical patent/WO2010097834A1/ja
Priority to JP2010506723A priority patent/JP5073052B2/ja
Priority to US12/849,722 priority patent/US8386888B2/en
Publication of WO2010097834A1 publication Critical patent/WO2010097834A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/74Record carriers characterised by the form, e.g. sheet shaped to wrap around a drum
    • G11B5/743Patterned record carriers, wherein the magnetic recording layer is patterned into magnetic isolated data islands, e.g. discrete tracks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10851Erasing data on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/1823Testing wherein a flag is set when errors are detected or qualified
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Definitions

  • the present invention relates to an error correction circuit for correcting an error in a read signal of a storage disk and a disk storage device.
  • FIG. 1 is an explanatory diagram of a write synchronization method. As shown in FIG. 1, the write synchronization method corrects the write clock WRC in accordance with the interval between the recording dots D formed on the recording medium, and records the write data in synchronization with the write clock WRC. It is. This is a method of correctly writing data to each dot D.
  • an error correction method for correcting an error during writing is required.
  • an error correction method for correcting Insertion / Deletion errors is required.
  • FIG. 2 is an explanatory view of an eccentric disk. As shown in FIG. 2, since the center of the disk 1000 is displaced from the rotation axis 1100, a place 1020 with a high rotational speed and a place 1010 with a low rotational speed are generated on the disk 1000. Due to the difference in rotational speed, as shown in FIG. 3, when viewed in one track, a phenomenon occurs in which the write clock WRC and the dot DT are not synchronized.
  • Figure 4 shows 1 bit for sector data with no errors. This shows how an insertion error occurs in the fourth bit of the sector data. As shown in FIG. 4, after a 1-bit insertion error occurs, the bit string after the occurrence location shifts to the right shift, resulting in a burst error state.
  • a method for correcting Insertion / Deletion errors related to write synchronization has been proposed for magnetic tapes and optical disks.
  • the 3-bit marker method is F. Proposed by F. Sellers (see Non-Patent Document 1).
  • Fig. 5 shows the proposed encoding method for 3-bit markers. As shown in FIG. 5, for each predetermined bit length (here, m> 1 bit) of the original data string, a 3-bit marker MK having a value of “100” is inserted for encoding.
  • the 2-bit marker method requires less redundancy than the 3-bit marker method.
  • the error correction capability decreases. For example, when the first bit of the marker value “01” is a normal 1-bit error, “11” is detected as the marker value.
  • an object of the present invention is to provide an error correction circuit and a disk storage device for improving the error correction capability in the 2-bit marker method.
  • the error correction circuit receives a data sequence in which a plurality of 2-bit markers are inserted at a predetermined number of bits, and corrects an error, wherein the data A marker decoder that samples the 2-bit marker from a column and determines whether the error is on the marker, an insertion error, or a deletion error from sample values of a plurality of markers; and the marker decoding An error corrector that performs error correction of the data string from the data detector using an error correction code of the data string, and the marker decoder is the insertion error or the deletion error When it is determined, the insertion error or the deletion error is corrected, and the 2-bit marker is removed. And it outputs the over data column.
  • the disk storage device also includes a marker encoder for inserting a plurality of 2-bit markers at a predetermined bit number interval with respect to a data string, and a data string from the marker encoder on a rotating disk medium.
  • a head for recording and reading the recorded data sequence from the disk medium; and sampling the 2-bit marker from the data sequence read from the head;
  • a marker decoder for determining whether the error is an insertion error, an insertion error, or a deletion error;
  • a correction unit, and the marker decoder is the insertion error or the deletion error If was boss, the insertion error, or performs error correction of the deletion error, and outputs the data sequence to remove the marker of said 2 bits.
  • Marker error in order to determine whether a bit error, Insertion error or Deletion error has occurred in the marker according to the status of multiple samples of the 2-bit marker inserted in the data string. Therefore, a shift error due to erroneous correction can be prevented, and a burst error can be prevented.
  • FIG. 1 is an external view of an embodiment of a disk storage device of the present invention. It is sectional drawing of the disc medium of FIG. 1 is a block diagram of an embodiment of a signal recording / reproducing circuit of the present invention.
  • FIG. FIG. 9 is a block diagram of the marker encoder of FIG. 8. It is explanatory drawing of the marker encoding operation
  • FIG. 16 is an explanatory diagram of an insertion / deletion error occurrence determination process using a 2-bit marker in the decoder of FIG. 15.
  • FIG. 16 is an explanatory diagram of an insertion / deletion error occurrence determination process using an end marker of the decoder in FIG. 15.
  • FIG. 16 is an explanatory diagram of an AC section of an insertion / deletion error occurrence position specifying process of the decoder of FIG. 15.
  • FIG. 16 is an explanatory diagram of an insertion / deletion error occurrence position specifying process of the decoder of FIG. 15 for another received sequence.
  • FIG. 16 is an explanatory diagram of the insertion / deletion error occurrence position specifying process of the decoder of FIG. 15 for another received sequence.
  • It is explanatory drawing of the position specific process by the Hamming distance of the receiving sequence of FIG. It is explanatory drawing of the position specific process by the Hamming distance of the receiving row of FIG. FIG.
  • 16 is an explanatory diagram of an insertion / deletion error occurrence position specifying process by an end marker of the decoder of FIG. 15. It is explanatory drawing of the position specific process by the Hamming distance of the receiving row
  • the embodiments of the present invention will be described in the order of the disk storage device, the signal recording / reproducing circuit, the first embodiment of the marker decoder, the second embodiment of the marker decoder, and the other embodiments. explain.
  • the present invention is not limited to this embodiment.
  • FIG. 6 is an external view of an embodiment of the disk storage device of the present invention.
  • FIG. 6 shows a magnetic disk device (hard disk drive) as an example of the disk storage device.
  • the disk enclosure (referred to as DE) 1 accommodates each component of the magnetic disk device.
  • a magnetic disk 3 that is a magnetic recording medium is provided on the rotation shaft of the spindle motor 4.
  • the spindle motor 4 attached to the DE 1 rotates the magnetic disk 3.
  • An actuator (referred to as VCM) 5 rotates an arm (referred to as a head actuator) 52.
  • a magnetic head 53 is provided at the tip of the suspension provided on the arm 52. Accordingly, the VCM 5 moves the magnetic head 53 in the radial direction of the magnetic disk 3.
  • Actuator 5 is composed of a voice coil motor (VCM) that rotates about a rotation axis.
  • VCM voice coil motor
  • FIG. 6 one magnetic disk 3 is mounted on the magnetic disk device, and two magnetic heads 53 are simultaneously driven by the same actuator 5.
  • the magnetic head 53 includes a read element and a write element.
  • the magnetic head 53 is configured by laminating a read element including a magnetoresistive (MR) element on a slider and laminating a write element including a write coil thereon.
  • MR magnetoresistive
  • a ramp mechanism 54 for retracting the magnetic head 53 from the magnetic disk 3 and parking is provided outside the magnetic disk 3.
  • a printed circuit assembly (control circuit unit) is provided below DE1 in FIG. 6, and the printed circuit assembly includes a hard disk controller (HDC), a microcontroller (MCU), and a read / write described in FIG.
  • HDC hard disk controller
  • MCU microcontroller
  • RDC read / write described in FIG.
  • RDC read / write described in FIG.
  • RDC read / write described in FIG.
  • RDC read / write described in FIG.
  • RDC read only memory
  • the magnetic disk 3 a bit patterned medium described below is used, and the magnetic head 53 is composed of a perpendicular recording head.
  • FIG. 7 is a cross-sectional view of the magnetic disk medium of FIG.
  • the magnetic disk medium 3 has a multilayer structure in which a soft magnetic backing layer 32 and a magnetic recording layer (hard magnetic material) 34 are provided on a substrate 30.
  • the magnetic recording layer 34 is in the form of dots embedded in the soft magnetic backing layer 32. That is, each recording dot is provided in isolation.
  • FIG. 8 is a circuit block diagram of the main part of the recording / reproducing system according to the embodiment of the present invention. As shown in FIG. 8, the recording / reproducing system of the magnetic disk apparatus is roughly composed of a hard disk controller (HDC) 8, a read channel (RDC) 7, and a preamplifier 6.
  • HDC hard disk controller
  • RDC read channel
  • the recording system will be described.
  • the recording data is input to the HDC 8.
  • the CRC encoder 80 creates a CRC (Cyclic Redundacy Code) from the recorded data, and adds the created CRC parity to the recorded data.
  • the recording coder 82 converts the recording data sequence to which the CRC parity is added into an RLL (Run Length Limited) is converted into a sequence that satisfies the constraint conditions such as code.
  • the ECC encoder 83 adds an ECC (Error) to the output data string of the recording encoder 82. Correction Code) Adds parity.
  • the output data string of the ECC encoder 83 of HDC8 is input to the marker encoder 70 of RDC7.
  • the marker encoder 70 inserts a predetermined number of 2-bit markers and performs encoding.
  • the write synchronization compensator 71 corrects the data string in synchronization with the write clock.
  • the data sequence compensated for write synchronization is sent to the preamplifier 6 via the driver 72.
  • the driver 60 generates a write current to the recording head 53-1.
  • the analog voltage from the reproducing head 53-2 is amplified by the amplifier 62 of the preamplifier 6 and then output to the RDC 7.
  • the amplified analog signal is converted into a digital signal via a variable gain amplifier (VGA: Variable : Gain Amp) 73, a low pass filter (LPF) 74, and an AD (analog / digital) converter (ADC) 75. Is done.
  • VGA variable gain amplifier
  • LPF low pass filter
  • AD analog / digital converter
  • a detector 77 such as a Viterbi detector performs maximum likelihood decoding.
  • the marker decoder 78 detects and corrects Insertion / Deletion errors with reference to the 2-bit marker inserted by the marker encoder 70, as will be described later.
  • the bit string after insertion / deletion error correction output from the marker decoder 78 is input to the ECC decoder 85 of the HDC 8.
  • the ECC decoder 85 performs error correction using a Reed-Solomon (RS) code.
  • RS Reed-Solomon
  • the ECC decoder 85 outputs a failure flag to the marker decoder 78.
  • the marker decoder 78 that has received the failure flag predicts the insertion / deletion error occurrence position and performs re-correction while referring to the insertion / deletion error occurrence position information generated in the neighboring sector.
  • FIG. 9 is a block diagram of the marker encoder 70 of FIG. 8, and FIG. 10 is an explanatory diagram of the 2-bit marker of FIG.
  • the basic configuration of the marker encoder 70 includes a 2-bit marker insertion unit 42 and a terminal marker insertion unit 44.
  • the marker encoder 70 includes an uninserted portion calculation unit 40 as necessary.
  • one sector represents a state in which the parity of the Reed-Solomon code is added to the data sector.
  • FIG. 10 shows a marker insertion state in one sector, and the 2-bit marker insertion unit 42 adds a 2-bit marker value “10” to a predetermined data length.
  • the end marker insertion unit 44 adds a 12-bit marker value “010010010010” at the end of the sector and outputs it.
  • a 12-bit marker is added because it is difficult for the decoding side to determine whether an insertion error or a deletion error has occurred with a 2-bit marker. Details of this will be described later.
  • FIG. 11 is an explanatory diagram of a 2-bit marker insertion / deletion error correction operation of the marker decoder 78
  • FIG. 12 is an explanatory diagram of a 2-bit marker insertion / deletion error detection operation of the marker decoder 78.
  • the marker decoder 78 detects the occurrence of Insertion / Deletion error from the marker value.
  • FIG. 11 shows a state where a 1-bit Insertion error has occurred. When an Insertion error occurs, the marker value changes because a shift error occurs.
  • FIG. 12 shows a 2-bit marker value in the three cases of no insertion / deletion error, insertion error, and deletion error. The 2-bit marker value takes a value of “10” if there is no Insertion / Deletion error, takes a value of “01” or “11” if there is an Insertion error, and if there is a Deletion error. , “01”, “00”.
  • FIG. 11 it is determined which error has occurred by referring to the marker values of several samples after the marker value immediately after the insertion error has occurred.
  • the marker values of 8 samples are examined to determine which error has occurred.
  • 4 samples represent “01” and the remaining 4 samples represent “11”.
  • the marker decoder 78 determines that an insertion error has occurred.
  • the probability that the marker value after the insertion error occurs is a value of “01” and the probability of a value of “11” are both 1 ⁇ 2, the number of samples does not need to be increased so much. .
  • this method of referring to several samples is an effective method because there is a property that when an Insertion / Deletion error occurs once, the next Insertion / Deletion error does not occur for a while.
  • FIG. 13 is an explanatory diagram of the operation of correcting the insertion marker / deletion error of the marker decoder 78
  • FIG. 14 is an explanatory diagram of the detection operation of the insertion marker / deletion error of the marker decoder 78.
  • the end marker value is a 12-bit value.
  • FIG. 14 shows the end marker values in the three cases of no insertion / deletion error, insertion error, and deletion error.
  • the end marker value takes the value ⁇ 010010010010 '' if there is no Insertion / Deletion error, takes the value ⁇ 001001001001 '' or ⁇ 101001001001 '' if there is an Insertion error, and if there is a Deletion error , “100100100100” or “100100100101”. Since each value is different, determination can be made with only one sample.
  • FIG. 15 is a block diagram of the marker decoder 78 according to the first embodiment.
  • FIG. 16 is an explanatory diagram of the error detection operation of the 2-bit marker
  • FIG. 17 is an explanatory diagram of the error detection operation of the end marker.
  • the basic configuration of the marker decoder 78 includes an I (Insertion) / D (Deletion) error occurrence determination unit 10, an I / D error occurrence position specifying unit 14, an I / D error correction unit 16, a marker.
  • the I / D error occurrence determination unit 10 determines whether or not an Insertion / Deletion error has occurred by checking which marker value has a high occurrence frequency among the eight markers described in FIG.
  • the I / D error occurrence determination unit 10 determines that the I / D error marker values “01”, “11”, and “00” have occurred in 7 or more of the 8 markers. It is determined that a shift error due to the / D error has occurred, and it is determined whether an insertion error or a deletion error has occurred. If the marker values “01”, “11”, and “00” representing the I / D error are less than 6 out of the 8 markers, is a shift error due to the occurrence of the I / D error occurring? It is determined that it is unknown.
  • the I / D error occurrence determination unit 10 determines that there is no I / D error when there are 6 or more marker values “10” representing no I / D error among the 8 markers.
  • FIG. 16 shows an example of a reception string, and shows a state in which the reception string is divided into four reception strings for each of eight markers (indicated by hatching in the figure).
  • the determination method of the I / D error occurrence determination unit 10 will be described in more detail using the example of the reception sequence in FIG.
  • the I / D error occurrence determination unit 10 first checks eight markers in the AB section. In the AB section, there are seven “10” markers representing no error and one “11” marker Er representing an I / D error. Since there are six or more markers indicating no I / D error, the I / D error occurrence determination unit 10 determines that there is no I / D error in the AB section.
  • the I / D error occurrence determination unit 10 checks eight markers in the BC section. In the BC section, there are four “10” markers representing no error, and four “11” and “01” markers Er representing I / D errors. The I / D error occurrence determination unit 10 determines that it is unknown whether a shift error has occurred due to the occurrence of an I / D error.
  • the I / D error occurrence determination unit 10 checks eight markers in the CD section. In the CD section, there are one “10” marker indicating no error and seven “11”, “01”, and “00” markers indicating I / D errors. Therefore, the I / D error occurrence determination unit 10 determines that a shift error has occurred due to the occurrence of an I / D error.
  • the I / D error occurrence determination unit 10 determines whether an insertion error has occurred or whether a deletion error has occurred, and a marker “11” indicating an insertion error and “00” indicating a deletion error. Count the number of markers. In the CD section, there is one “11” marker and one “00” marker, which is the same number. Therefore, it cannot be determined whether an Insertion error or a Deletion error has occurred.
  • the I / D error occurrence determination unit 10 checks eight markers in the next DE section. In the DE section, there are five “11” markers and zero “00” markers. When the markers in the DE section and the CD section are added up, six “11” markers and one “00” marker are obtained.
  • the I / D error occurrence determination unit 10 determines that a shift error has occurred due to the occurrence of an insertion error in the CD section, and the “00” marker in the CD section Judged that the error occurred. The I / D error occurrence determination unit 10 then outputs information that a shift error has occurred due to the occurrence of an insertion error in the CD section. Further, the I / D error occurrence determination unit 10 outputs information that the last section without I / D error is an AB section.
  • the I / D error occurrence determination unit 10 stores the information “Insertion error occurs in this sector” in the I / D error storage unit 12.
  • the I / D error occurrence determination unit 10 refers to the I / D error storage unit 12 after determining that a shift error has occurred in the CD section.
  • the information that “Insertion error occurs in this sector” (or “Deletion error occurs in this sector”) is stored in the I / D error storage unit 12, without checking the next DE section, From this information, it is determined that a shift error has occurred due to the occurrence of an insertion error (or deletion error) in the CD section.
  • the place where the insertion error occurs and the place where the deletion error occurs are separated, so that both the insertion error and the deletion error do not occur in one sector. Only Deletion error occurs. For this reason, if there is information in the I / D error storage unit, it can be used.
  • the I / D error occurrence determination unit 10 performs determination using the end marker ME.
  • the I / D error occurrence determination unit 10 performs the determination by counting the number of “1” of the terminal marker ME.
  • the reception sequence of FIG. 17 an example is shown in which two 1-bit markers M immediately before the end marker ME are a value “01” that is an I / D error.
  • the end marker value ME of FIG. 17 has one “1” at the position where the value of “1” stands in the state without an I / D error. .
  • the I / D error occurrence determination unit 10 determines that a shift error due to the insertion error has occurred at the end of the sector, and outputs the information.
  • the I / D error occurrence position specifying unit 14 obtains section information in which a shift error due to insertion error (or deletion error) output from the I / D error occurrence determination unit 10 has occurred and section information without the last I / D error. Use to identify the position where an insertion error (or deletion error) occurs.
  • the I / D error occurrence position specifying unit 14 has information that the last I / D error-free section is an AB section, and a section where a shift error due to a deletion error occurs is a CD section.
  • a marker row MA0 in which no Insertion / Deletion error has occurred is prepared in the AD section including both sections.
  • This marker row MA0 has a correct marker value “10”.
  • the I / D error occurrence position specifying unit 14 calculates the hamming distance of each marker between the marker column MA0 and the reception column (AD section).
  • the marker is indicated by diagonal lines, and the number of the adjacent block indicates the block number. For example, one block is composed of 5 symbols.
  • the total Hamming distance of each marker in the AB section is “0”
  • the Hamming distance of each marker in the BC section is “5”
  • the Hamming distance of each marker in the CD section Is “11”
  • the total value in the AD section is “16”.
  • a column MA1 assuming that a Deletion error has occurred is prepared at the last position (symbol position 1) of the CD section of the received column in FIG. As shown in FIG. 19, the marker value at block position 1 is changed to “00” and “11” according to the marker value of the Deletion error in FIG. 12.
  • the I / D error occurrence position specifying unit 14 calculates the hamming distance of each marker between the marker column MA1 and the reception column (AD section).
  • the total Hamming distance of each marker in the AB section is “0”
  • the Hamming distance of each marker in the BC section is “5”
  • the Hamming distance of each marker in the CD section is “14”.
  • FIG. 20 shows the sum of the Hamming distances calculated between the columns MA0 to MA24 and the received column on the assumption that a Deletion error has occurred at each block position 0 to 24.
  • the vertical axis represents the block position on the horizontal axis. It is shown.
  • the block position 0 is a Hamming distance from the marker row MA0 where no insertion / deletion error has occurred.
  • the I / D error occurrence position specifying unit 14 receives the Deletion error at the position of the block number “11” in the received sequence. Is generated, and the generation position is output to the I / D error correction unit 16.
  • 21 and 22 show examples of two reception strings (reception string 1 and reception string 2) in which the reception string has an insertion / deletion error and the marker has a normal error.
  • the marker values in FIGS. 21 and 22 differ only in the marker values after the block positions “9” and “11”, and indicate the reception sequence in the AD section as described above.
  • FIG. 23 is a diagram showing a result of the sum of the Hamming distances at the respective block positions of the reception train 1 in FIG.
  • the I / D error occurrence position specifying unit 14 performs the deletion at the block position “12”. It is determined that an error has occurred, and the occurrence position is output.
  • FIG. 24 is a diagram showing a total result of the Hamming distance at each block position of the reception train 2 in FIG. As shown in FIG. 24, in the reception sequence 2, the sum of the Hamming distances has the minimum value at the block positions “10” and “12”. Therefore, the I / D error occurrence position specifying unit 14 determines that a deletion error occurs at the block positions “10” to “12”, and outputs the occurrence positions “10” to “12”.
  • FIG. 25 is an explanatory diagram of a reception sequence of the error position specifying process using the Hamming distance at the sector end
  • FIG. 26 is a relationship diagram between the block position and the total Hamming distance.
  • the received sequence in FIG. 25 shows an example in which a shift error due to an insertion error has occurred.
  • the I / D error occurrence position specifying unit 14 calculates the Hamming distance basically the same as in the case of the 2-bit marker. That is, as shown in FIG. 25, a reference string MA0 of a terminal marker in which no Insertion / Deletion error has occurred is prepared, and the Hamming distance of each marker is calculated between the reference string MA0 and the received string. In the example of FIG. 25, the total Hamming distance of each marker is “13”.
  • a reference string MA1 is prepared with the assumption that an insertion error has occurred in block number 1 of the received string in FIG. Since reference string MA1 has symbol number 1 and 1 bit is inserted, the end marker value is a value obtained by shifting the end marker value of reference string MA0 by 1 bit as a whole. Similarly, the Hamming distance of each marker is calculated between the reference sequence MA1 and the reception sequence. In the example of FIG. 25, the total Hamming distance of each marker is “7”.
  • a reference string MA2 assuming that an Insertion error has occurred is prepared with the 2-bit marker M2 of the received string in FIG. 25, and the Hamming distance of each marker is calculated between the reference string MA2 and the received string.
  • the total Hamming distance of each marker is “5”.
  • FIG. 26 shows the result of calculating the total Hamming distance for each block number by continuing the same operation. As shown in FIG. 26, at the block position “4”, the total Hamming distance is minimum.
  • the I / D error position specifying unit 14 determines that an insertion error has occurred at the position “4”, and outputs the occurrence position.
  • the I / D error correction unit 16 performs error correction based on the I / D error occurrence position information output by the I / D error occurrence position specifying unit 14.
  • the I / D error occurrence position specifying unit 14 determines that a Deletion error has occurred at the position “12” as illustrated in FIG.
  • 1 bit is inserted into this 1 block. For example, 1 bit is inserted into the third symbol and the whole is shifted. Since one bit is forcibly inserted and there is a high possibility of an error symbol, an erasure flag is set at the third symbol.
  • the erasure flag is recognized by the ECC decoder 85 as a block having an error, and when an error is detected during ECC correction, the block in which the erasure flag is set is set as an error position. ,correct.
  • the I / D error occurrence position specifying unit 14 determines that a Deletion error has occurred at the positions “10” to “12” as illustrated in FIG. .
  • the I / D error correction unit 16 sets an erasure flag at the block positions 10 to 12 of the reception sequence. Furthermore, 1 bit is inserted into the first bit position of the position 12 of the reception sequence to perform correction.
  • the I / D error occurrence determination unit 10 continues to determine whether an I / D error has occurred. If it is determined that an I / D error has occurred, the I / D error occurrence position specifying unit 14 specifies the position, and the I / D error correcting unit 16 performs error correction. These operations are repeated until the end of the sector is reached, and all corrections are completed.
  • the sector data that has been corrected is input to the marker removal unit 18.
  • the marker remover 18 removes all 2-bit markers and end markers from the sector data and outputs them.
  • the marker decoder 78 performs correction by determining whether a bit error, an insertion error, or a deletion error has occurred in the marker according to the situation from a plurality of samples.
  • FIG. 29 is a block diagram of the second embodiment of the marker decoder of the present invention
  • FIG. 30 is an explanatory diagram of an uninserted portion calculation unit of the embodiment of FIG.
  • the marker decoder 78 of FIG. 29 the same components as those described in FIG. 15 are indicated by the same symbols, and the marker decoder 78 includes an I (Insertion) / D (Deletion) error occurrence determination unit 10, An I / D error occurrence position specifying unit 14, an I / D error correction unit 16, a marker removal unit 18, and an I / D error storage unit 12 are included.
  • the marker decoder 78 includes an uninserted part calculation unit 20 that detects a marker non-inserted part from the position information, and a second I / D error occurrence position specifying unit 22.
  • the second I / D error occurrence position specifying unit 22 receives the insertion / deletion error occurrence position information generated in the neighboring sector when the ECC decoder 85 fails to decode the sector, With reference to the information, the occurrence position of Insertion / Deletion error is predicted, and the I / D error correction unit 16 performs recorrection. This function improves error correction capability.
  • the non-inserted part calculation unit 20 is related to the non-inserted part calculation unit 40 of the marker encoder 70 of FIG. That is, the Insertion / Deletion error does not occur for a while after the write synchronization phase is adjusted. Therefore, after the phase of the write synchronization is adjusted, a 2-bit marker is not inserted for a while.
  • FIG. 30 is an explanatory diagram of the servo area 90 and the data area 92 of one track of the magnetic disk 3. As shown in FIG. 30, a plurality of servo areas 90 and data areas 92 are provided on one track 3-1, and the phase including the write clock is adjusted in servo units.
  • the positional relationship among the servo area, the data area, and the sector is recorded in advance in a memory or the like, and it is determined whether it corresponds to the non-insertion position.
  • encoding is performed with reduced redundancy as follows. The rate can be improved.
  • the following conditions are set and the coding rate is calculated.
  • no insertion processing 2-bit marker is inserted into 60 bits (5 symbols)
  • non-insertion processing is performed: 2-bit marker is not inserted into the first 10,000 bits, 10001
  • a 2-bit marker is inserted as a condition for 60 bits.
  • the total number of inserted bits is 1066 bits without insertion processing and 734 bits with insertion processing not performed.
  • the coding rate is no insertion process: 32000 / (32000 + 1066) ⁇ 0.967.
  • the coding rate is improved by 0.01 compared with the case where the non-insertion process is not performed.
  • an uninserted part calculation unit 40 is added to the marker encoder 70 as shown in FIG.
  • the positional relationship information from the memory is input to the non-inserted portion calculation unit 40. From the input positional relationship information, the number of bits in the sector at which the top of the data area is calculated is calculated.
  • the start position / end is set so that a 2-bit marker is not inserted between the 200th bit and the 10100th bit.
  • Position information (start position, wrinkle end position) (200th bit, 10100th bit) is output to the 2-bit marker insertion unit 42.
  • the 2-bit marker insertion unit 42 uses the input start position / end position information to perform a process of not inserting a 2-bit marker between the 200th bit and the 10100th bit of the input data string.
  • the reason for starting from the 200th bit instead of the 100th bit is that if an insertion / deletion error occurs immediately before the 100th bit, an error cannot be detected without a marker. Because there is.
  • an uninserted portion calculation unit 20 is added to the marker decoder 78 of FIG.
  • the positional relationship information from the memory is input to the uninserted portion calculation unit 20. From the input positional relationship information, the number of bits in the sector at which the top of the data area is calculated is calculated.
  • start position is not detected between the 200th bit and the 10100th bit so that a 2-bit marker error is not detected.
  • End position information (start position, end position) (200th bit, 10100th bit) is output to the I / D error occurrence determination unit 10.
  • the I / D error occurrence determination unit 10 uses the input start position / end position information to input an I / D error of a 2-bit marker between the 200th bit and the 10100th bit of the input data string. Process that does not detect.
  • the error occurrence position information stored in the memory is used to identify and correct the insertion / deletion error occurrence position.
  • the positional relationship between the servo area / data area and the sector needs to be known, and the positional relationship information is recorded in advance in a memory or the like.
  • the I / D error occurrence determining unit 10 In the decoding method using the second I / D error occurrence position specifying unit 22, the I / D error occurrence determining unit 10, the I / D error occurrence position specifying unit 14, the uninserted part calculation unit 20, and the I / D error
  • the storage unit 12 is not used.
  • the second I / D error occurrence position specifying unit 22 receives the Reed-Solomon decoding failure flag and the I / D error occurrence position information, and specifies the bit position where the insertion / deletion error is considered to have occurred.
  • the second I / D error occurrence position specifying unit 22 determines that an insertion error has occurred in the 20100th bit based on the I / D error occurrence position information from the first other sector, and determines the second When it is determined that an insertion error occurs in the 20120th bit based on I / D error occurrence position information from another sector, it is determined that an insertion error occurs in the section from the 20081th bit to the 20140th bit.
  • the I / D error correction unit 16 to which the start / end position information is input sets the erasure flag for the symbol including the section from the bit 2008 to the bit 20140, and corrects it by deleting the bit 20081. Do.
  • the marker removing unit 18 removes each marker and outputs it.
  • sector decoding fails, it receives information on the position of the insertion / deletion error that occurred in the neighboring sector, predicts the position of the insertion / deletion error, and recorrects it with reference to that information. Add the function to perform. This function improves error correction capability.
  • Insertion / Deletion error will not occur for a while after the write synchronization phase is adjusted. Therefore, after the phase of the write synchronization is adjusted, a 2-bit marker is not inserted for a while.
  • the magnetic disk device using the bit patterned medium is described as the disk device.
  • the present invention can also be applied to a disk device that performs recording by other write synchronization.
  • the number of reference samples of the 2-bit marker has been described as 8. However, a plurality of, preferably 4 or more samples may be used.
  • error correction has been described with an example using a Reed-Solomon code, other error correction methods such as LDPC (low density parity code) can be employed.
  • LDPC low density parity code
  • 2-bit marker to determine whether a bit error, Insertion error or Deletion error has occurred in the marker according to the status of multiple samples of 2-bit marker inserted in the data string
  • the coding rate can be improved, and even if a 2-bit marker is used, a shift error due to a marker error due to erroneous correction can be prevented, and a burst error can be prevented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)

Abstract

 データ列の所定ビット数間隔で、挿入された2ビットマーカーから、シフトエラーを検出して、訂正するエラー訂正回路において、2ビットマーカーの複数のサンプル値の状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行う。このため、2ビットマーカーを用いて、符号化率を向上するとともに、2ビットマーカーを用いても、マーカーの誤りによる、誤訂正によるシフトエラーを防止でき、バーストエラーを防止できる。

Description

誤り訂正回路及びディスク記憶装置
 本発明は、記憶ディスクの読み出し信号の誤りを訂正する誤り訂正回路及びディスク記憶装置に関する。
 磁気ディスク装置等のディスク記憶装置では、ディスク記憶媒体に、連続記録媒体を使用してきた。近年、記録密度向上のため、この連続記録媒体に代わり、媒体上に記憶ドットを作成した非連続媒体を用いる手法が提案されている。この手法は、ビットパターンドメディア(BPM)方式と呼ばれている。
 この孤立した記憶ドットに、磁気ヘッドで記録を行うため、ライト同期方法が用いられている。図1は、ライト同期方法の説明図である。図1に示すように、ライト同期方式は、記録媒体上に形成された各記録ドットDの間隔に合わせて、ライトクロックWRCを補正し、ライトクロックWRCに同期して、ライトデータを記録する方法である。これにより、正しくデータを、各ドットDに書き込む方法である。
 このライト同期方法に関連して、ライト時のエラーを訂正する誤り訂正方式が、必要になる。特に、Insertion/Deletionエラーを訂正する誤り訂正方式が必要となる。
 Insertion/Deletionエラーが発生する要因として、ディスクが偏心を持つ場合や、プロセス起因の高次変動がある場合が考えられる。図2は、偏心を持つディスクの説明図を示す。図2に示すように、ディスク1000の中心が、回転軸1100からずれているため、ディスク1000に、回転速度の速い場所1020と遅い場所1010とが発生する。この回転速度の違いにより、図3に示すように、1つのトラックで見ると、ライトクロックWRCとドットDTが同期しない現象が発生する。
 図3に示すように、回転速度の速い場所で、ライトクロックWRCを基準とすると、ドットDTの各位置が広がって見えるため、このような場所で、ライトクロックWRCに同期したデータ(1ビット)が、記録ドットDTへ記録できなくなり、1ビット抜けが生じる。これを、Deletionエラーという。
 一方、回転速度の遅い場所では、ライトクロックWRCを基準とすると、ドットDTの各位置が狭まって見えるため、このような場所で、ライトクロックWRCに同期して、2つの記録ドットDTが対応するため、1ビット増加する。これを、Insertionエラーという。
 1ビットのInsertion/Deletionエラーが発生すると、発生箇所以降の記録データがシフトし、シフトエラーとなるため、バーストエラーの状態となる。例えば、図4は、誤りのないセクタデータに対し、1ビット
Insertionエラーが、そのセクタデータの4ビット目で発生する様子を表す。図4に示すように、1ビットInsertionエラーが発生した後、発生箇所以降のビット列が右シフトにずれてしまい、バーストエラー状態となる。
 このため、磁気ディスク装置等で用いられているリードソロモン符号などの誤り訂正符号の誤り訂正能力を超えてしまい、訂正が不可能となる。
 ライト同期に関連したInsertion/Deletionエラーを訂正する方式は、磁気テープや光ディスクにおいて、提案されている。例えば、Insertion/Deletionエラー訂正方式の1つとして、3ビットマーカー方式が、F.
F. Sellersにより、提案されている(非特許文献1参照)。
 図5は、既提案の3ビットマーカーの符号化方法を示す。図5に示されるように、オリジナルのデータ列の所定のビット長(ここでは、m>1ビット)ごとに、「100」の値をもつ3ビットマーカーMKを挿入し、符号化を行う。
 Insertion/Deletionエラーが発生した場合、シフトエラーによりマーカーMKの値がずれるため、ずれた値を参考にしてInsertion/Deletionエラーの訂正を行う。
 また、3ビットマーカーではなく、2ビットのマーカーを用いる方式が、提案されている(例えば、特許文献1参照)。この2ビットマーカー方式では、所定のビット長ごとに、「01」の値をもつ2ビットマーカーを挿入し符号化を行い、Insertion/Deletionエラーの検出を行う。
特開平7-176139号公報 F.F. Sellers Jr, "Bitloss and gain correction code", IRE Trans. Inform. Theory, vol. IT-8, pp.35-38, Jan. 1962.
 記録密度向上のためには、冗長ビットを減らす必要があり、マーカー方式を採用する場合に、3ビットマーカー方式よりも、2ビットマーカー方式の方が、冗長度が少なくて済む。
 しかしながら、2ビットマーカー方式では、マーカー上に、通常の誤りビットがあった場合に、誤り訂正能力が低下する。例えば、マーカー値「01」の最初のビットが、通常の1ビット誤りであった場合、マーカー値として、「11」が検出される。
 このため、もし、マーカー上に通常の誤りビットがあった場合は、誤訂正をしてしまう問題があり、誤訂正によるシフトエラー発生のため、バーストエラーを引き起こしてしまう。 
 従って、本発明の目的は、2ビットマーカー方式における誤り訂正能力を向上するための誤り訂正回路及びディスク記憶装置を提供することにある。
 この目的の達成のため、誤り訂正回路は、予め決められたビット数間隔で、複数の2ビットのマーカーが挿入されたデータ列を受信し、誤りを訂正する誤り訂正回路であって、前記データ列から前記2ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記2ビットのマーカーを除去したデータ列を出力する。
 又、ディスク記憶装置は、データ列に対し、予め決められたビット数間隔で、複数の2ビットのマーカーを挿入するマーカー符号器と、前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、前記ヘッドから読み出された前記データ列から前記2ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記2ビットのマーカーを除去したデータ列を出力する。
 データ列に挿入された2ビットマーカーの複数のサンプルの状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行うため、マーカーの誤りによる、誤訂正によるシフトエラーを防止でき、バーストエラーを防止できる。
ライト同期方法の説明図である。 偏心を持つディスクの説明図である。 インサーションエラー及びデリーションエラーの説明図である。 インサーションエラーによるデータシフトの説明図である。 従来の3ビットマーカー方法の説明図である。 本発明のディスク記憶装置の一実施の形態の外観図である。 図6のディスク媒体の断面図である。 本発明の信号記録・再生回路の一実施の形態のブロック図である。 図8のマーカー符号器のブロック図である。 図9のマーカー符号化動作の説明図である。 本発明の2ビットマーカー復号方法の説明図である。 図11の復号方法のマーカー値の説明図である。 本発明の終端マーカー復号方法の説明図である。 図13の復号方法のマーカー値の説明図である。 本発明のマーカー復号器の第1の実施の形態のブロック図である。 図15の復号器の2ビットマーカーによるインサーション/デリーションエラー発生判定処理の説明図である。 図15の復号器の終端マーカーによるインサーション/デリーションエラー発生判定処理の説明図である。 図15の復号器のインサーション/デリーションエラー発生位置特定処理のAC区間の説明図である。 図15の復号器のインサーション/デリーションエラー発生位置特定処理のCD区間の説明図である。 図18、図19のハミング距離による位置特定処理の説明図である。 他の受信列に対する図15の復号器のインサーション/デリーションエラー発生位置特定処理の説明図である。 更に、他の受信列に対する図15の復号器のインサーション/デリーションエラー発生位置特定処理の説明図である。 図21の受信列のハミング距離による位置特定処理の説明図である。 図22の受信列のハミング距離による位置特定処理の説明図である。 図15の復号器の終端マーカーによるインサーション/デリーションエラー発生位置特定処理の説明図である。 図25の受信列のハミング距離による位置特定処理の説明図である。 図15の復号器のエラー訂正処理の説明図である。 図15の復号器の他のエラー訂正処理の説明図である。 本発明のマーカー復号器の第2の実施の形態のブロック図である。 図29の復号器の2ビットマーカーの未挿入動作の説明図である。
符号の説明
 1 ディスクエンクロージャ
 3 磁気ディスク
 4 スピンドルモータ
 5 アクチュエータ(VCM)
 6 プリアンプ
 7 リードチャネル回路
 8 ハードディスクコントローラ
 30 基板
 34 記録ドット
 70 マーカー符号器
 78 マーカー復号器
 85 ECC復号器
 20、40 未挿入箇所計算部
 42 2ビットマーカー挿入部
 44 終端マーカー挿入部
 10 I/Dエラー発生判定部
 12 I/Dエラー保存部
 14 I/Dエラー発生位置特定部
 16 I/Dエラー訂正部
 18 マーカー除去部
 22 第2のI/Dエラー発生位置特定部
 以下、本発明の実施の形態を、ディスク記憶装置、信号記録・再生回路、マーカー復号器の第1の実施の形態、マーカー復号器の第2の実施の形態、他の実施の形態の順で説明する。しかしながら、本発明は、この実施の形態に限られない。
 (ディスク記憶装置)
 図6は、本発明のディスク記憶装置の一実施の形態の外観図である。図6は、ディスク記憶装置として、磁気ディスク装置(ハードディスクドライブ)を例に示す。
 図6に示すように、ディスクエンクロージャ(DEという)1は、磁気ディスク装置の各構成要素を収容する。DE1内では、磁気記録媒体である磁気ディスク3が、スピンドルモータ4の回転軸に設けられている。
 DE1に取り付けられたスピンドルモータ4は、磁気ディスク3を回転する。アクチュエータ(VCMという)5は、アーム(ヘッドアクチュエータという)52を回転する。アーム52に設けられたサスペンションの先端には、磁気ヘッド53が設けられている。従って、VCM5は、磁気ヘッド53を磁気ディスク3の半径方向に移動する。
 アクチュエータ5は、回転軸を中心に回転するボイスコイルモータ(VCM)で構成される。図6では、磁気ディスク装置に、1枚の磁気ディスク3が搭載され、2つの磁気ヘッド53が、同一のアクチュエータ5で同時に駆動される。
 磁気ヘッド53は、リード素子と、ライト素子とからなる。磁気ヘッド53は、スライダに、磁気抵抗(MR)素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。
 磁気ディスク3の外側には、磁気ヘッド53を磁気ディスク3から退避し、パーキングするためのランプ機構54が設けられる。
 又、図6のDE1の下部には、プリント回路アッセンブリ(制御回路部)が設けられ、プリント回路アッセンブリには、図8以下で説明するハードディスクコントローラ(HDC)、マイクロコントローラ(MCU)、リード/ライトチャネル回路(RDC)、サーボコントロール回路、データバッファ(RAM)、ROM(リードオンリーメモリ)が設けられる。この磁気ディスク3として、以下で説明するビットパターンド媒体が用いられ、磁気ヘッド53は、垂直記録ヘッドで構成される。
 図7は、図1の磁気ディスク媒体の断面図である。図7に示すように、磁気ディスク媒体3は、基板30上に、軟磁性裏打ち層32、磁気記録層(硬磁性材料)34を設けた多層構造である。磁気記録層34は、軟磁性裏打ち層32に、ドット状に埋め込まれた形態をなす。即ち、各記録ドットが孤立して設けられている。
 (信号記録・再生回路)
 図8は、本発明の一実施の形態の記録再生系の主要部の回路ブロック図である。図8に示すように、磁気ディスク装置の記録再生系は、大きく分けて、ハードディスクコントローラ(HDC)8、リードチャネル(RDC)7、そしてプリアンプ6とからなる。
 記録系を説明する。記録データは、HDC8に入力する。HDC8内で、CRC符号器80は、記録データからCRC(Cyclic Redundacy Code)を作成し、記録データに作成したCRCパリテイを付加する。記録符号器82は、CRCパリテイを付加された記録データ列を、RLL(Run
Length Limited)符号などの拘束条件が満たされる列に変換する。そして、ECC符号器83は、記録符号器82の出力データ列に、ECC(Error
Correction Code)パリティを付加する。
 HDC8のECC符号器83の出力データ列は、RDC7のマーカー符号器70に入力する。マーカー符号器70は、図9で後述するように、所定数の2ビットのマーカーを挿入し、符号化を行う。次に、ライト同期補償器71は、データ列を、ライトクロックに同期補正する。
 このライト同期補償されたデータ列は、ドライバ72を経由し、プリアンプ6に記録データを送出する。プリアンプ6では、ドライバ60が、記録ヘッド53-1へのライト電流を発生する。
 次に、再生系を説明する。再生ヘッド53-2からのアナログ電圧は、プリアンプ6のアンプ62によって、増幅された後、RDC7に出力される。RDC7においては、増幅されたアナログ信号が、可変利得アンプ(VGA:Variable Gain Amp)73、ローパスフィルタ(LPF)74、AD(アナログ・デジタル)コンバータ(ADC)75を経由して、デジタル信号へ変換される。
 FIR(Finite Response)フィルタ76が、PR波形等化を行った後、Viterbi検出器などの検出器77が、最尤復号を行う。マーカー復号器78は、後述するように、マーカー符号器70で挿入した2ビットマーカーを参考にして、Insertion/Deletionエラーを検出し、訂正を行う。
 マーカー復号器78から出力されたInsertion/Deletionエラー訂正後のビット列は、HDC8のECC復号器85へ入力される。ECC復号器85は、リードソロモン(RS)符号を用いて、誤り訂正を行う。ECC復号が成功した場合は、ECC復号器85の出力データ列は、記録復号器87、CRC復号器89を経て、再生データとして出力される。
 逆に、ECC復号が、失敗した場合は、ECC復号器85は、失敗フラグを、マーカー復号器78に出力する。失敗フラグを受け取ったマーカー復号器78は、近隣のセクタで発生したInsertion/Deletionエラーの発生位置情報を参考にしながら、Insertion/Deletionエラーの発生位置を予測して再訂正を行う。
 図9は、図8のマーカー符号器70のブロック図、図10は、図9の2ビットマーカーの説明図である。図9に示すように、マーカー符号器70の基本構成は、2ビットマーカー挿入部42と終端マーカー挿入部44からなる。又、必要に応じて、マーカー符号器70は、未挿入箇所計算部40を有する。
 2ビットマーカー挿入部42は、1セクタ内の所定のデータ長に対し、2ビットのマーカー値(ここでは、図10のように、「10」)Mを付加する。例えば、セクタサイズが、4KByteサイズとし、ECC符号器で、1シンボル=12ビットのリードソロモン符号を用いることにする。
 ここでは、1セクタは、データセクタに、リードソロモン符号のパリティが付加された状態を表すことにする。図10は、1セクタ内でのマーカーの挿入状態を示し、2ビットマーカー挿入部42は、所定のデータ長に対し、2ビットマーカー値「10」を付加する。
 又、終端マーカー挿入部44は、セクタの終端において、12ビットのマーカー値「010010010010」を付加して、出力する。図10では、5シンボル=60ビットおきに、2ビットマーカー値「10」が付加され、セクタの終端には、12ビットのマーカー値「010010010010」が付加されている様子を示す。 
 セクタの終端では、復号側で、2ビットマーカーでInsertionエラー又はDeletionエラーのどちらのエラーが発生したのかを判定するのは難しいため、12ビットのマーカーを付与している。この詳細は、後述する。
 次に、マーカー復号器78のマーカー復号原理を説明する。図11は、マーカー復号器78の2ビットマーカーのInsertion/Deletionエラーの訂正動作の説明図、図12は、マーカー復号器78の2ビットマーカーのInsertion/Deletionエラーの検出動作の説明図である。
 マーカー復号器78は、マーカー値からInsertion/Deletionエラーの発生を検知する。図11は、1ビットの Insertionエラーが発生している様子を示す。Insertionエラーが発生するとシフトエラーが起こるためマーカー値が変化する。図12はInsertion/Deletionエラーなし、Insertionエラーあり、Deletionエラーありの3つの場合の2ビットマーカー値を示す。2ビットマーカー値は、Insertion/Deletionエラーなしの場合は、「10」の値をとり、Insertionエラーありの場合は、「01」、「11」いずれかの値をとり、Deletionエラーありの場合は、「01」、「00」のいずれかの値をとる。
 図12から、Insertionエラーあり、Deletionエラーありの両方で、マーカー値が、「01」の値をもつため、マーカー値が、「01」である場合には、どちらのエラーが発生したかは、判別できない。例えば、図11の例では、「×」で示すInsertionエラーが発生した直後のマーカー値は、「01」のため、直後のマーカー値からでは、どちらのエラーが発生したかは判定できない。
 このため、図11に示すように、Insertionエラーが発生した直後のマーカー値以降の数サンプルのマーカー値を参考にして、どちらのエラーが発生したか判定する。図11では、8サンプルのマーカー値を調査して、どちらのエラーが発生したかを判定する。図11の例では、8サンプル中、4サンプルが、「01」、残りの4サンプルが、「11」を表している。
 Insertionエラーのみに発生するマーカー値「11」が、8サンプル中、4サンプルあるため、マーカー復号器78は、Insertionエラーが発生したと判定する。
 ここで、Insertionエラー発生後のマーカー値が、「01」の値となる確率と、「11」の値となる確率とは、共に1/2となるため、サンプル数はそれほど多くする必要はない。
 また、この数サンプル参照する方法は、Insertion/Deletionエラーが、1回発生すると、しばらく、次のInsertion/Deletionエラーは発生しないという性質があるために、有効な方法である。
 図13は、マーカー復号器78の終端マーカーのInsertion/Deletionエラーの訂正動作の説明図、図14は、マーカー復号器78の終端マーカーのInsertion/Deletionエラーの検出動作の説明図である。
 図13に示すように、終端マーカー値は、12ビットの値である。図14は、Insertion/Deletionエラーなし、Insertionエラーあり、Deletionエラーありの3つの場合の終端マーカー値を示す。終端マーカー値は、Insertion/Deletionエラーなしの場合は、「010010010010」の値をとり、Insertionエラーありの場合は、「001001001001」、「101001001001」のいずれかの値をとり、Deletionエラーありの場合は、「100100100100」、「100100100101」のいずれかの値をとる。どの値も異なるため、1サンプルのみで判定できる。
 (マーカー復号器の第1の実施の形態)
 図15は、マーカー復号器78の第1の実施の形態のブロック図である。図16は、2ビットマーカーのエラー検出動作の説明図、図17は、終端マーカーのエラー検出動作の説明図である。
 図15に示すように、マーカー復号器78の基本構成は、I(Insertion)/D(Deletion)エラー発生判定部10、I/Dエラー発生位置特定部14、I/Dエラー訂正部16、マーカー除去部18、I/Dエラー保存部12とを有する。
 I/Dエラー発生判定部10は、図10で説明した8個のマーカーのうち、どのマーカー値の発生頻度が多いかを調べることにより、Insertion/Deletionエラーが発生したかどうかを判定する。
 即ち、I/Dエラー発生判定部10は、I/Dエラーを表すマーカー値「01」、「11」、「00」が、8個のマーカーのうち、7個以上発生していた場合、I/Dエラー発生によるシフトエラーが発生したと判断し、Insertionエラー又はDeletionエラーのどちらのエラーが発生したのか判定を行う。I/Dエラーを表すマーカー値「01」、「11」、「00」が、8個のマーカーのうち、6個以下発生していた場合、I/Dエラー発生によるシフトエラーが発生しているかどうかが不明と判定する。
 また、I/Dエラー発生判定部10は、I/Dエラーなしを表すマーカー値「10」が、8個のマーカーのうち、6個以上ある場合、I/Dエラーなしと判定する。
 図16は、受信列の一例を示し、8個のマーカー(図の斜線で示す)ごとに、受信列を、4つの受信列に分割した状態を示す。図16の受信列の例を使って、I/Dエラー発生判定部10の判定方法をより詳細に説明する。
 I/Dエラー発生判定部10は、最初に、AB区間の8個のマーカーを調べる。AB区間ではエラーなしを表す「10」のマーカーが7個、I/Dエラーを表す「11」のマーカーErが1個ある。I/Dエラーなしを表すマーカーが6個以上あるため、I/Dエラー発生判定部10は、AB区間は、I/Dエラーなしと判定する。
 即ち、I/Dエラーを表す「11」のマーカーErが1個あっても、マーカーの通常エラーと判断し、AB区間には、Insertion/Deletionエラーはないと判定する。
 次に、I/Dエラー発生判定部10は、BC区間の8個のマーカーを調べる。BC区間では、エラーなしを表す「10」のマーカーが4個、I/Dエラーを表す「11」、「01」のマーカーErが4個ある。I/Dエラー発生判定部10は、I/Dエラー発生によるシフトエラーが発生しているかどうかが不明と判断する。
 次に、I/Dエラー発生判定部10は、CD区間の8個のマーカーを調べる。CD区間では、エラーなしを表す「10」のマーカーが1個、I/Dエラーを表す「11」、「01」、「00」のマーカーが7個ある。このため、I/Dエラー発生判定部10は、I/Dエラー発生によるシフトエラーが発生したと判断する。
 次に、I/Dエラー発生判定部10は、Insertionエラーが発生したのか、Deletionエラーが発生したのかを判定するために、Insertionエラーを表す「11」のマーカーと、Deletionエラーを表す「00」のマーカーの個数をカウントする。CD区間では、「11」のマーカーが1個、「00」のマーカーが1個と、同数のため、Insertionエラーが発生したのか、Deletionエラーが発生したのか判定できない。
 後述するI/Dエラー保存部12に、何も情報がない場合、I/Dエラー発生判定部10は、次のDE区間の8個のマーカーを調べる。DE区間では、「11」のマーカーが5個、「00」のマーカーが0個である。DE区間とCD区間のマーカーとを合計すると、「11」のマーカーが6個、「00」のマーカーが1個となる。
 「11」のマーカー数が多いため、I/Dエラー発生判定部10は、CD区間で、Insertionエラーの発生によりシフトエラーが発生したと判定し、CD区間内の「00」のマーカーは、通常誤りにより発生したと判断する。そして、I/Dエラー発生判定部10は、CD区間で、Insertionエラーの発生により、シフトエラーが発生しているという情報を出力する。さらに、I/Dエラー発生判定部10は、最後のI/Dエラーなしの区間は、AB区間であるという情報を出力する。
 また、I/Dエラー発生判定部10は、今回のInsertionエラーの発生が初回である場合、「このセクタではInsertionエラーが発生する」という情報を、I/Dエラー保存部12に保存する。
 前述のように、I/Dエラー発生判定部10は、CD区間でシフトエラーが発生したと判断した後、I/Dエラー保存部12を参照する。I/Dエラー保存部12に、「このセクタではInsertionエラーが発生する」(又は「このセクタではDeletionエラーが発生する」)という情報が保存されている場合、次のDE区間を調べずに、この情報から、CD区間で、Insertionエラー(又はDeletionエラー)の発生によりシフトエラーが発生したと判定する。
 図2で説明したように、Insertionエラーが発生する場所と、Deletionエラーが発生する場所が分かれているため、1セクタ内にInsertionエラーとDeletionエラーの両方が発生することはなく、InsertionエラーのみかDeletionエラーのみが発生するという特性を持つ。このため、I/Dエラー保存部に情報がある場合、それを使用することができる。
 次に、図17のセクタ終端部の受信列により、セクタ終端部のエラー検出動作を説明する。セクタ終端では、2ビットマーカーMで、Insertionエラー又はDeletionエラーのどちらのエラーが発生したのかを判定するのは難しい。このため、I/Dエラー発生判定部10は、終端マーカーMEを利用して、判定を行う。
 即ち、I/Dエラー発生判定部10は、終端マーカーMEの「1」の数をカウントして判定を行う。図17の受信列では、終端マーカーMEの直前の2つの1ビットマーカーMが、I/Dエラーである値「01」である例を示す。
 図14の正常な終端マーカー値のテーブルと比較すると、図17の終端マーカー値MEは、I/Dエラーなしの状態で、「1」の値が立つ位置に、1個の「1」がある。又、Insertionエラーありの状態で、「1」の値が立つ位置に、4個の「1」があり、Deletionエラーありの状態での「1」の値が立つ位置に、0個の「1」がある。
 結果として、Insertionエラーありの状態での「1」の数が、その他の状態での「1」の数より、多くなる。このため、I/Dエラー発生判定部10は、セクタ終端で、Insertionエラーの発生によるシフトエラーが発生していると判定し、その情報を出力する。
 次に、図15のI/Dエラー発生位置特定部14を説明する。図18乃至図25は、I/Dエラー発生位置特定部14の動作説明図である。
 I/Dエラー発生位置特定部14は、I/Dエラー発生判定部10から出力されたInsertionエラー(又はDeletionエラー)によるシフトエラーが発生した区間情報と、最後のI/Dエラーなし区間情報を使って、Insertionエラー(又はDeletionエラー)の発生位置を特定する。
 この発生位置の特定に、ハミング距離を用いた特定方法を用いる。図18乃至図20により、ハミング距離を用いた位置特定方法を説明する。I/Dエラー発生位置特定部14は、例えば、図16のように、最後のI/Dエラーなし区間は、AB区間であるという情報と、Deletionエラーによるシフトエラーが発生した区間はCD区間であるという情報を受けると、図18及び図19に示すように、両方の区間を含むAD区で、Insertion/Deletionエラーが発生していないマーカー列MA0を用意する。
 このマーカー列MA0は、マーカー値が、正しい「10」である。I/Dエラー発生位置特定部14は、マーカー列MA0と受信列(AD区間)との間で、各マーカーのハミング距離を計算する。尚、図18及び図19では、マーカーを斜線で示し、その隣のブロックの数字は、ブロック番号を示す。例えば、1ブロックは、5シンボルで構成される。
 図18、図19の例では、AB区間での各マーカーのハミング距離の合計は、「0」、BC区間での各マーカーのハミング距離は、「5」、CD区間での各マーカーのハミング距離は、「11」であり、AD区間での合計値は、「16」となる。
 次に、図19の受信列のCD区間の最後の位置(シンボル位置1)で、Deletionエラーが発生したと仮定した列MA1を用意する。図19に示すように、ブロック位置1のマーカー値を、図12のDeletionエラーのマーカー値に従い、「00」、「11」に変更する。
 そして、同様に、I/Dエラー発生位置特定部14は、マーカー列MA1と受信列(AD区間)との間で、各マーカーのハミング距離を計算する。図18、図19の例では、AB区間での各マーカーのハミング距離の合計は、「0」、BC区間での各マーカーのハミング距離は、「5」、CD区間での各マーカーのハミング距離は、「9」であり、AD区間での合計値は、「14」となる。
 以下、同様に、ブロック位置2~24の各々で、Deletionエラーが発生したと仮定した列MA2~24を用意し、ハミング距離の計算を、シンボル位置2~24でDeletionエラーが発生したと仮定した列MA2~24と、受信列との間で計算する。
 図20は、各ブロック位置0~24で、Deletionエラーが発生したと仮定した列MA0~24と受信列との間で計算されたハミング距離の合計を、縦軸に、横軸にブロック位置を示したものである。尚、ブロック位置0は、Insertion/Deletionエラーが発生していないマーカー列MA0とのハミング距離である。
 図20に示すように、ハミング距離の合計は、ブロック位置「11」で最小値を示すため、I/Dエラー発生位置特定部14は、受信列のブロック番号「11」の位置で、Deletionエラーが発生したと判定し、発生位置を、I/Dエラー訂正部16に出力する。
 次に、受信列がInsertion/Deletionエラーをもち、さらにマーカーに通常誤りがある例の位置特定を説明する。図21、図22は、受信列がInsertion/Deletionエラーをもち、さらにマーカーに通常誤りがある2つの受信列の例(受信列1、受信列2)を示す。図21、図22のマーカー値は、ブロック位置「9」、「11」の後のマーカー値のみ異なっており、前述のように、AD区間の受信列を示す。
 前述と同様に、受信列1、受信列2に対し、ハミング距離を計算し、ハミング距離の合計を計算する。図23は、図21の受信列1の各ブロック位置でのハミング距離の合計の結果を示す図である。図23に示すように、受信列1については、ブロック位置「12」で、ハミング距離の合計が、最小となるため、I/Dエラー発生位置特定部14は、ブロック位置「12」で、Deletionエラーが発生したと判定し、発生位置を出力する。
 図24は、図22の受信列2の各ブロック位置でのハミング距離の合計の結果を示す図である。図24に示すように、受信列2では、ブロック位置「10」と「12」で、ハミング距離の合計が、最小の値をもつ。このため、I/Dエラー発生位置特定部14は、ブロック位置「10」~「12」で、Deletionエラーが発生すると判定し、発生位置「10」~「12」を出力する。
 次に、セクタ終端でのハミング距離を用いたエラー位置特定処理を説明する。図25は、セクタ終端でのハミング距離を用いたエラー位置特定処理の受信列の説明図、図26は、そのブロック位置とハミング距離の合計との関係図である。図25の受信列は、Insertionエラーによるシフトエラーが発生している例を示す。
 I/Dエラー発生位置特定部14は、2ビットマーカーの場合と基本的に同じ、ハミング距離の計算を行う。即ち、図25に示すように、Insertion/Deletionエラーが発生していない終端マーカーの参照列MA0を用意し、参照列MA0と受信列との間で各マーカーのハミング距離を計算する。図25の例では、各マーカーのハミング距離の合計が、「13」となる。
 次に、図25の受信列のブロック番号1で、Insertionエラーが発生したと仮定した参照列MA1を用意する。参照列MA1は、シンボル番号1で、1ビット挿入されているため、終端マーカー値は、参照列MA0の終端マーカー値が、全体に1ビットシフトした値となる。そして、同様に、参照列MA1と受信列との間で各マーカーのハミング距離を計算する。図25の例では、各マーカーのハミング距離の合計が、「7」である。
 次に、図25の受信列の2ビットマーカーM2で、Insertionエラーが発生したと仮定した参照列MA2を用意し、参照列MA2と受信列との間で、各マーカーのハミング距離を計算する。図25の例では、各マーカーのハミング距離の合計が、「5」となる。
 同様の操作を続けていき、各ブロック番号に対するハミング距離の合計を計算した結果を図26に示す。図26に示すように、ブロック位置「4」で、ハミング距離の合計が、最小となる。I/Dエラー位置特定部14は、位置「4」で、Insertionエラーが発生したと判定し、発生位置を出力する。
 次に、I/Dエラー訂正部16を説明する。図27及び図28は、I/Dエラー訂正動作の説明図である。I/Dエラー訂正部16は、I/Dエラー発生位置特定部14により出力されたI/Dエラー発生位置情報を元に、エラー訂正を行う。
 例えば、図21の受信列1の例では、I/Dエラー発生位置特定部14は、図23に示したように、位置「12」で、Deletionエラーが発生していると判定した。
 I/Dエラー訂正部16は、これを受け、図27に示すように、受信列のブロック位置「12」の1ブロック(=5シンボル)の中の3シンボル目に、Deletionエラーが起きたと仮定する。
 そして、Deletionエラーであるから、この1ブロックに1ビットを挿入する。例えば、3シンボル目に、1ビットを挿入し、全体をシフトする。強制的に、1ビットを挿入したため、誤りシンボルとなる可能性が高いことから、3シンボル目にイレージャーフラグを立てる。このイレージャーフラグは、ECC復号器85が、エラーの可能性のあるブロックとして、認識し、ECC訂正の際に、誤りを検出した時に、イレージャーフラグの立っているブロックを誤り位置として、訂正する。
 一方、図22の受信列2の例では、I/Dエラー発生位置特定部14は、図24に示したように、位置「10」~「12」でDeletionエラーが発生していると判定した。I/Dエラー訂正部16は、図28に示すように、受信列のブロック位置10~12に、イレージャーフラグを立てる。さらに、受信列の位置12の最初のビット位置に、1ビットを挿入して、訂正を行う。
 次に、訂正が完了した位置の次の区間から、I/Dエラー発生判定部10は、I/Dエラーが発生したかどうかの判定を続ける。I/Dエラーが発生していると判定した場合は、I/Dエラー発生位置特定部14が、位置の特定を行い、I/Dエラー訂正部16が、エラー訂正を行う。これらの操作は、セクタの終端に達するまで繰り返し行われ、全訂正を終了する。
 訂正が完了したセクタデータは、マーカー除去部18に入力される。マーカー除去部18は、セクタデータから、すべての2ビットマーカーと終端マーカーを除去し、出力する。
 このように、数サンプルのマーカー値の参照により、Insertion/Deletionエラーと、マーカーの通常エラーとの判別ができ、且つInsertion/Deletionエラー発生と判定した時に、そのサンプルのI/Dエラー値の数から、Insertionエラーであるか、Deletionエラーであるかを判別できる。
 このようにマーカー復号器78は、複数のサンプルから状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行う。 
 即ち、Insertion/Deletionエラーが1回発生すると、しばらく次のInsertion/Deletionエラーは発生しないという性質を利用し、2ビットマーカー方式に対し、マーカー上に通常の誤りがあるということを判定することができ、誤訂正を防止できる。また通常の誤りであるかどうかがわからない箇所には、イレージャーフラグを立てることによって、誤訂正を防ぐ。
 更に、Insertionエラーが発生する場所と、Deletionエラーが発生する場所が分かれているという性質を利用し、1セクタに1回目のInsertionエラー又はDeletionエラーが発生した場合、どちらのエラーが発生したか記憶し、2回目以降に、Insertion/Deletionエラーが発生した場合、1回目の記憶情報を参考にして、Insertionエラー、Deletionエラーのどちらのエラーが発生したかを判定する。これにより、誤訂正を防ぐことができる。 
 (マーカー復号器の第2の実施の形態)
 図29は、本発明のマーカー復号器の第2の実施の形態のブロック図、図30は、図29の実施の形態の未挿入箇所計算部の説明図である。図29のマーカー復号器78において、図15で説明したものと同一のものは、同一の記号で示してあり、マーカー復号器78は、I(Insertion)/D(Deletion)エラー発生判定部10、I/Dエラー発生位置特定部14、I/Dエラー訂正部16、マーカー除去部18、I/Dエラー保存部12とを有する。
 更に、マーカー復号器78は、位置情報からマーカー未挿入箇所を検出する未挿入箇所計算部20と、第2のI/Dエラー発生位置特定部22とを有する。
 第2のI/Dエラー発生位置特定部22は、後述するように、ECC復号器85が、セクタの復号が失敗した場合、近隣のセクタで発生したInsertion/Deletionエラーの発生位置情報を受け、その情報を参考にしながら、Insertion/Deletionエラーの発生位置を予測して、I/Dエラー訂正部16に再訂正を行わせる。この機能により、誤り訂正能力が向上する。
 未挿入箇所計算部20は、図9のマーカー符号器70の未挿入箇所計算部40に関連する。即ち、ライト同期の位相が調整された後、しばらくはInsertion/Deletionエラーは発生しない。そこでライト同期の位相が調整された後、しばらくは、2ビットのマーカーを挿入しないようにする。
 この2ビットマーカーの未挿入について、図30で説明する。図30は、磁気ディスク3の1トラックのサーボ領域90とデータ領域92の説明図である。図30に示すように、1つのトラック3-1上に、複数のサーボ領域90とデータ領域92とが設けられ、ライトクロックを含めた位相は、サーボ単位で調整される。
 このため、ライトクロックは、サーボ領域90のサーボ信号で、磁気ディスク3の回転速度に合わせて、同期化されるため、データ領域92の先頭から、しばらくはInsertion/Deletionエラーは発生しない。即ち、データ領域92の先頭から、しばらくは、ライトクロックと、磁気ディスク3の記録ドットとのずれが生じない。
 このため、ずれが生じない部分に、2ビットマーカーを挿入することは意味がない。そこで、この部分には、2ビットマーカーの挿入を行わないようにすることで、冗長度を減らすことが可能となる。
 この未挿入処理を行う場合は、サーボ領域とデータ領域とセクタの位置関係を、メモリなどにあらかじめ記録しておき、未挿入位置にあたるかを判定する。
 例えば、データ領域92の先頭とセクタの先頭が同じであり、データ領域92の先頭から、10000ビット目までは、Insertion/Deletionエラーは発生しないとすると、以下のように冗長度を減らして符号化率を向上させることができる。
 一例として、以下の条件を設定して、符号化率を計算する。先ず、セクタサイズ:4KByte=32000ビット、未挿入処理なし:60ビット(5シンボル)に、2ビットマーカーを挿入、未挿入処理あり:最初の10000ビットには、2ビットマーカーを挿入せず、10001ビット以降、60ビットに、2ビットマーカーを挿入の条件とする。
 このとき、挿入ビットの総数は、未挿入処理なし:1066ビット、未挿入処理あり:734ビットとなる。
 このため、符号化率は、未挿入処理なし:32000/(32000+1066)≒0.967となる。一方、未挿入処理あり:32000/(32000+734)≒0.977となる。このように、未挿入処理ありの場合は、未挿入処理なしの場合に比べて、符号化率が、0.01向上する。
 この2ビットマーカーの未挿入処理を行う場合、図9で示したように、マーカー符号器70に、未挿入箇所計算部40を付け加える。未挿入箇所計算部40には、メモリからの位置関係情報を入力する。入力された位置関係情報から、データ領域の先頭が、セクタの何ビット目になるか計算する。
 例えば、計算結果からデータ領域の先頭が、セクタの100ビット目になることがわかった場合、200ビット目から10100ビット目までの間には、2ビットマーカーを挿入しないように、開始位置・終了位置情報(開始位置, 終了位置)=(200ビット目,10100ビット目)を、2ビットマーカー挿入部42に出力する。
 2ビットマーカー挿入部42は、入力された開始位置・終了位置情報を使って、入力されたデータ列の200ビット目から10100ビット目までの間には、2ビットマーカーを挿入しない処理をする。
 この開始位置が、100ビット目ではなく、200ビット目から行う理由は、もし、100ビット目の直前で、Insertion/Deletionエラーが発生した場合、マーカーがないと、誤りを検知することができない問題があるためである。
 同様に、図29のマーカー復号器78に、未挿入箇所計算部20を付け加える。未挿入箇所計算部20には、メモリからの位置関係情報を入力する。入力された位置関係情報から、データ領域の先頭が、セクタの何ビット目になるか計算する。
 例えば、計算結果からデータ領域の先頭が、セクタの100ビット目になることがわかった場合、200ビット目から10100ビット目までの間には、2ビットマーカーのエラーを検出しないように、開始位置・終了位置情報(開始位置, 終了位置)=(200ビット目,10100ビット目)を、I/Dエラー発生判定部10に出力する。
 I/Dエラー発生判定部10は、入力された開始位置・終了位置情報を使って、入力されたデータ列の200ビット目から10100ビット目までの間には、2ビットマーカーのI/Dエラーを検出しない処理をする。
 次に、図29の第2のI/Dエラー発生位置特定部22を使用した復号方法について、説明する。あるトラック上のあるデータ領域で、Insertion/Deletionエラーが発生した場合、近隣のトラックや近隣のデータ領域上でも、ほぼ同じ地点で、Insertion/Deletionエラーが発生する確率が高い。即ち、トラック・データ領域と、Insertion/Deletionエラー発生地点とは相関があると考えられる。
 このため、リードソロモン(ECC)復号器85で、あるセクタの復号が失敗した場合、再リードにより、近隣のセクタ(同一トラック又は、隣接トラック)の復号を行い、復号により得られたInsertion/Deletionエラーの発生位置の情報を、メモリに記憶する。
 リードソロモン復号が失敗したセクタを、マーカー復号器78が、再復号する際、メモリに記憶されたエラーの発生位置の情報を使って、Insertion/Deletionエラーの発生位置を特定し、訂正を行う。
 このInsertion/Deletionエラーの発生位置の情報を得るには、サーボ領域・データ領域とセクタの位置関係が判明している必要があり、メモリなどにあらかじめそれらの位置関係情報を記録しておく。
 この第2のI/Dエラー発生位置特定部22を使用した復号方法では、I/Dエラー発生判定部10、I/Dエラー発生位置特定部14、未挿入箇所計算部20、I/Dエラー保存部12は使用しない。
 第2のI/Dエラー発生位置特定部22は、リードソロモン復号失敗フラグと、I/Dエラー発生位置情報を受け取り、Insertion/Deletionエラーが発生していると思われるビット位置を特定する。
 例えば、第2のI/Dエラー発生位置特定部22は、1つ目の他セクタからのI/Dエラー発生位置情報により、20100ビット目に、Insertionエラーが発生すると判定し、2つ目の他セクタからのI/Dエラー発生位置情報により、20120ビット目に、Insertionエラーが発生すると判定した場合、20081ビット目から20140ビット目までの区間に、Insertionエラーが発生すると判定する。
 そして、第2のI/Dエラー発生位置特定部22は、開始・終了位置情報(開始位置, 終了位置)=(20081,20140)を、I/Dエラー訂正部16に出力する。開始・終了位置情報が入力されたI/Dエラー訂正部16は、20081ビット目から20140ビット目までの区間を含むシンボルに対し、イレージャーフラグを立て、20081ビット目を削除して訂正を行う。
 その後、マーカー除去部18で、各マーカーを除去して出力する。
 このように、セクタの復号が失敗した場合、近隣のセクタで発生したInsertion/Deletionエラーの発生位置情報を受け、その情報を参考にしながら、Insertion/Deletionエラーの発生位置を予測して、再訂正を行う機能を付け加える。この機能により誤り訂正能力が向上する。
 又、ライト同期の位相が調整された後、しばらくはInsertion/Deletionエラーは発生しない。そこでライト同期の位相が調整された後、しばらくは、2ビットのマーカーを挿入しないようにする。
 (他の実施の形態)
上述の実施の形態では、ディスク装置として、ビットパターンド媒体を用いた磁気ディスク装置で説明したが、他のライト同期により、記録を行うディスク装置にも適用できる。又、2ビットマーカーの参照サンプル数を、8で説明したが、複数、望ましくは、4サンプル以上であれば、良い。
 更に、誤り訂正を、リードソロモン符号を用いた例で説明したが、LDPC(低密度パリテイ符号)など他の誤り訂正方法を採用できる。
 以上、本発明の実施の形態により説明したが、本発明は、上述の実施の形態に限られず、本発明の趣旨の範囲において、種々の変形が可能であり、これらを、本発明の範囲から排除するものではない。
 データ列に挿入された2ビットマーカーの複数のサンプルの状況に応じて、マーカーに、ビット誤りが発生したのか、InsertionエラーまたはDeletionエラーが発生したのかを判断して訂正を行うため、2ビットマーカーを用いて、符号化率を向上するとともに、2ビットマーカーを用いても、マーカーの誤りによる、誤訂正によるシフトエラーを防止でき、バーストエラーを防止できる。

Claims (20)

  1.  予め決められたビット数間隔で、複数の2ビットのマーカーが挿入されたデータ列を受信し、誤りを訂正する誤り訂正回路であって、
     前記データ列から前記2ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
     前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
     前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記2ビットのマーカーを除去したデータ列を出力する
     ことを特徴とする誤り訂正回路。
  2.  前記マーカー復号器は、前記マーカー上の誤りのみを検出した場合、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を禁止し、前記2ビットのマーカーを除去したデータ列を出力する
     ことを特徴とする請求項1の誤り訂正回路。
  3.  前記マーカー復号器は、
     前記データ列から前記2ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するI/Dエラー発生判定部と、
     前記I/Dエラー発生判定部からの前記インサーションエラー又は前記デリーションエラーの判定結果を受け、前記複数のマーカーのサンプル値から、前記インサーションエラー又は前記デリーションエラーの発生位置を特定する位置特定部と、
     前記データ列の前記特定されたエラー発生位置のエラー訂正を行うI/Dエラー訂正部と、
     前記エラー訂正されたデータ列から、前記2ビットのマーカーを除去するマーカー除去部とを有する
     ことを特徴とする請求項1の誤り訂正回路。
  4.  前記マーカー復号器は、前記出力したデータ列の前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記データ列のインサーションエラー又はデリーションエラーの再訂正を行う
     ことを特徴とする請求項1の誤り訂正回路。
  5.  前記マーカー復号器は、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行った前記データ列の位置に、イレージャーフラグをセットする
     ことを特徴とする請求項1の誤り訂正回路。
  6.  前記マーカー復号器は、前記データ列の終端に、m(m>2)ビットの他のマーカーが挿入されたデータ列を受信し、前記データ列の終端において、前記他のマーカーの値から、前記インサーションエラー又は前記デリーションエラーを検出する
     ことを特徴とする請求項1の誤り訂正回路。
  7.  前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の位置に、1ビットの削除を行い、前記デリーションエラーを検出した前記データ列の位置に、1ビットの挿入を行い、エラー訂正する
     ことを特徴とする請求項1の誤り訂正回路。
  8.  前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の2つの2ビットのマーカーの真ん中の位置のビットに、1ビットの削除を行い、前記デリーションエラーを検出した前記データ列の2つの2ビットのマーカーの真ん中の位置のビットに、1ビットの挿入を行い、エラー訂正する
     ことを特徴とする請求項7の誤り訂正回路。
  9.  データ列に対し、予め決められたビット数間隔で、複数の2ビットのマーカーを挿入するマーカー符号器と、
     前記マーカー符号器からのデータ列を、回転するディスク媒体に記録し、前記ディスク媒体から前記記録された前記データ列を読み出すヘッドと、
     前記ヘッドから読み出された前記データ列から前記2ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するマーカー復号器と、
     前記マーカー復号器からのデータ列の誤り訂正を、前記データ列の誤り訂正符号を用いて行う誤り訂正器とを有し、
     前記マーカー復号器は、前記インサーションエラーである、又は前記デリーションエラーであると判定した場合に、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行い、且つ前記2ビットのマーカーを除去したデータ列を出力する
     ことを特徴とするディスク記憶装置。
  10.  前記マーカー復号器は、前記マーカー上の誤りのみを検出した場合、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を禁止し、前記2ビットのマーカーを除去したデータ列を出力する
     ことを特徴とする請求項9のディスク記憶装置。
  11.  前記マーカー復号器は、
     前記データ列から前記2ビットのマーカーをサンプルし、複数のマーカーのサンプル値から、前記マーカー上の誤りか、インサーションエラーであるか、デリーションエラーであるかを判定するI/Dエラー発生判定部と、
     前記I/Dエラー発生判定部からの前記インサーションエラー又は前記デリーションエラーの判定結果を受け、前記複数のマーカーのサンプル値から、前記インサーションエラー又は前記デリーションエラーの発生位置を特定する位置特定部と、
     前記データ列の前記特定されたエラー発生位置のエラー訂正を行うI/Dエラー訂正部と、
     前記エラー訂正されたデータ列から、前記2ビットのマーカーを除去するマーカー除去部とを有する
     ことを特徴とする請求項9のディスク記憶装置。
  12.  前記マーカー復号器は、前記出力したデータ列の前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記データ列のインサーションエラー又はデリーションエラーの再訂正を行う
     ことを特徴とする請求項9のディスク記憶装置。
  13.  前記マーカー復号器は、前記インサーションエラー、又は前記デリーションエラーの誤り訂正を行った前記データ列の位置に、イレージャーフラグをセットする
     ことを特徴とする請求項9のディスク記憶装置。
  14.  前記マーカー復号器は、前記データ列の終端に、m(m>2)ビットの他のマーカーが挿入されたデータ列を受信し、前記データ列の終端において、前記他のマーカーの値から、前記インサーションエラー又は前記デリーションエラーを検出する
     ことを特徴とする請求項9のディスク記憶装置。
  15.  前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の位置に、1ビットの削除を行い、前記デリーションエラーを検出した前記データ列の位置に、1ビットの挿入を行い、エラー訂正する
     ことを特徴とする請求項9のディスク記憶装置。
  16.  前記マーカー復号器は、前記インサーションエラーを検出した前記データ列の2つの2ビットのマーカーの真ん中の位置のビットに、1ビットの削除を行い、前記デリーションエラーを検出した前記データ列の2つの2ビットのマーカーの真ん中の位置のビットに、1ビットの挿入を行い、エラー訂正する
     ことを特徴とする請求項15のディスク記憶装置。
  17.  前記マーカー復号器は、前記インサーションエラー又は前記デリーションエラーを検出した位置情報を記憶し、同一位置の前記データ列の読み出し時に、前記記憶した位置情報を参照して、前記インサーションエラーであるか、前記デリーションエラーであるかを判定する
     ことを特徴とする請求項9のディスク記憶装置。
  18.  前記マーカー符号器は、前記ディスクに記録する前記データ列の前記インサーションエラー又はデリーションエラーの発生しないデータに対し、前記2ビットのマーカーの挿入を禁止する
     ことを特徴とする請求項9のディスク記憶装置。
  19.  前記マーカー復号器は、前記誤り訂正器の誤り訂正符号による誤り訂正が失敗したことに応じて、前記ディスクでの近隣のデータ列のインサーションエラー又はデリーションエラーの発生位置情報から、前記データ列の再訂正を行う
     ことを特徴とする請求項12のディスク記憶装置。
  20.  前記ディスク媒体が、記録ドットが孤立して形成されたビットパターンド媒体からなる
     ことを特徴とする請求項9のディスク記憶装置。
PCT/JP2009/000855 2009-02-26 2009-02-26 誤り訂正回路及びディスク記憶装置 WO2010097834A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2009/000855 WO2010097834A1 (ja) 2009-02-26 2009-02-26 誤り訂正回路及びディスク記憶装置
JP2010506723A JP5073052B2 (ja) 2009-02-26 2009-02-26 誤り訂正回路及びディスク記憶装置
US12/849,722 US8386888B2 (en) 2009-02-26 2010-08-03 Error correcting circuit and disk storage device for detecting and correcting insertion and/or deletion errors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/000855 WO2010097834A1 (ja) 2009-02-26 2009-02-26 誤り訂正回路及びディスク記憶装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/849,722 Continuation US8386888B2 (en) 2009-02-26 2010-08-03 Error correcting circuit and disk storage device for detecting and correcting insertion and/or deletion errors

Publications (1)

Publication Number Publication Date
WO2010097834A1 true WO2010097834A1 (ja) 2010-09-02

Family

ID=42665064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/000855 WO2010097834A1 (ja) 2009-02-26 2009-02-26 誤り訂正回路及びディスク記憶装置

Country Status (3)

Country Link
US (1) US8386888B2 (ja)
JP (1) JP5073052B2 (ja)
WO (1) WO2010097834A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354970B2 (en) * 2014-03-31 2016-05-31 Advanced Micro Devices, Inc. Method and apparatus for encoding erroneous data in an error correction code protected memory
US9373349B1 (en) * 2015-05-29 2016-06-21 Seagate Technology Llc Relaxing media design constraints with two-dimensional magnetic recording

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157372A (ja) * 1986-12-19 1988-06-30 Matsushita Electric Ind Co Ltd 情報記録再生装置
JPH0346167A (ja) * 1989-07-14 1991-02-27 Matsushita Electric Ind Co Ltd 復調回路
JPH07176139A (ja) * 1993-10-28 1995-07-14 Philips Electron Nv ディジタル情報信号送受信機
JP2008299975A (ja) * 2007-05-31 2008-12-11 Toshiba Corp ディスク記憶装置及びデータ誤り訂正方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0624990B1 (en) * 1993-05-12 1999-03-31 Matsushita Electric Industrial Co., Ltd. Video recording and reproducing apparatus
EP0655850A3 (en) 1993-10-28 1995-07-19 Philips Electronics Nv Transmission and reception of a digital information signal.
DE60004144T2 (de) * 1999-03-23 2004-05-27 Koninklijke Philips Electronics N.V. Verfahren zur dekodierung von einem strom von kanalbits
US7835099B2 (en) * 2007-06-29 2010-11-16 Seagate Technology Llc Method and system for error checking in a bit-patterned media
US7667912B2 (en) * 2007-07-03 2010-02-23 Seagate Technology Llc Retry and re-read for write synchronization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157372A (ja) * 1986-12-19 1988-06-30 Matsushita Electric Ind Co Ltd 情報記録再生装置
JPH0346167A (ja) * 1989-07-14 1991-02-27 Matsushita Electric Ind Co Ltd 復調回路
JPH07176139A (ja) * 1993-10-28 1995-07-14 Philips Electron Nv ディジタル情報信号送受信機
JP2008299975A (ja) * 2007-05-31 2008-12-11 Toshiba Corp ディスク記憶装置及びデータ誤り訂正方法

Also Published As

Publication number Publication date
JPWO2010097834A1 (ja) 2012-08-30
US8386888B2 (en) 2013-02-26
US20100296379A1 (en) 2010-11-25
JP5073052B2 (ja) 2012-11-14

Similar Documents

Publication Publication Date Title
JP3663377B2 (ja) データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法
US7562282B1 (en) Disk drive employing error threshold counters to generate an ECC error distribution
US7800853B1 (en) Correcting servo sectors in a disk drive
JP4814925B2 (ja) データ記録方法、記録媒体、および再生装置
US7644337B2 (en) Error correction device, encoder, decoder, method, and information storage device
US9489260B1 (en) Flexible super block sizing for failed sector recovery
US9143168B1 (en) Method and system for removing interference caused by servo data from user data
US7322003B2 (en) Information storage device
US20050060630A1 (en) Direct partial update of CRC/ECC check bytes
US7941729B2 (en) Data storage device and error processing method in its read processing
JP2000332619A (ja) 符号化方法およびこれを用いた記録再生装置
US20100241922A1 (en) Error correction circuit and data storage device
JP2007528566A (ja) エラー訂正符号化方法及びその装置、並びにエラー訂正復号化方法及びその装置
US7131052B2 (en) Algebraic decoder and method for correcting an arbitrary mixture of burst and random errors
JP5073052B2 (ja) 誤り訂正回路及びディスク記憶装置
EP2843662A1 (en) Systems and methods for multi-level encoding and decoding
US20120198304A1 (en) Information reproduction apparatus and information reproduction method
US9257146B1 (en) Data storage device comprising sequence detector compensating for inter-track interference
US9633691B2 (en) Storage controller, storage device, and method
US6868515B2 (en) Formatting method and apparatus for a direct access storage device
JP2005209286A (ja) データ記録方法、記録媒体及び再生装置
CN109509488B (zh) 存储装置以及记录介质的控制方法
JP2007164974A (ja) 欠陥領域の検出/復旧方法、欠陥領域の検出/復旧装置およびディスクドライブ
JP2001266507A (ja) イレージャー位置検出方法、イレージャー位置検出機能を有する記録再生装置、及び記録媒体
JPH0231386A (ja) ベリファイ方式

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2010506723

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09840689

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09840689

Country of ref document: EP

Kind code of ref document: A1