This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2002-288908, filed Oct. 1, 2002, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention generally relates to a field of disk drives, particularly relates to a data reproducing technique to which a turbo coding/decoding method is applied.
2. Description of the Related Art
A signal processing circuit designated as a read channel, in which a data signal read out from a disk medium (hereinafter simply referred to as disk) with a head is processed to reproduce original data, is generally used in the field of the disk drive typified by a hard disk drive. Usually the signal processing circuit includes a custom LSI and the signal processing circuit containing a write channel processing a write data signal recorded on the disk is also designated as read/write channel or data channel.
The data decoding method (data reproducing method) designated as the so-called PRML (Partial Response Maximum Likelihood), in which a partial response (PR) method and a Viterbi decoding method are combined, is adopted in the current read/write channel.
In contrast to the PRML method, recently another data decoding method in which the PR method and a turbo coding/iterative decoding method are combined receives attention in the field of the disk drive (see Zining Wu, “Coding and iterative detection for magnetic recording channels” Kluwer Academic Publishers, pp. 21–43, 2000).
By the way, the head having a structure in which a read head element and a write head element are separately mounted on a slider is used in the disk drive. A GMR (Giant Magnetic Resistance) element is usually used as the read head element. The GMR element generates a phenomenon called “thermal asperity” in read operation.
In the disk drive, it is confirmed that the data signal read out from the head includes the so-called burst noise in the read operation due to a factor such as the thermal asperity. Because there is a problem in which the burst noise results in disability of error correction and the like, various kinds of measures have been proposed (see Jpn. Pat. Appln. KOKAI Publication No. 2002-164946).
The data decoding method in which the PR method and the turbo coding/iterative decoding method are combined has a configuration in which plural codes are connected through an interleaver. Sometimes this causes the error to be widely spread by the interleaver, in the case that the data signal includes the burst noise as described above. Accordingly, in the case that the error correction is carried out to the decoded data, there is the problem in which the error correction becomes disabled.
In accordance with one embodiment of the present invention, there is provided a disk drive which has a read channel adopting a data decoding method in which a PR method and a turbo coding/iterative decoding method are combined and improves the error correction performance for burst noise.
The disk drive comprises a head which reads out data from a disk medium and a read channel which decodes a data signal of concatenated turbo codes read out by the head and reproduces original data, wherein the read channel has a detection unit which detects burst noise contained in the data signal and an iterative decoding unit which executes iterative decoding processing including a posteriori probability decoding processing (APP decoding processing) to the data signal, the iterative decoding unit changing contents of likelihood calculation for carrying out the decoding calculation according to the detection result by the detection unit.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention, and together with the general description given above and the detailed description of the embodiments given below, serve to explain the principles of the invention.
A preferred embodiment of the invention will be described below referring to the accompanying drawings.
(Configuration of Disk Drive)
As shown in
A spindle motor (SPM) 2 rotates the disk 1. The head 3 includes a read head element (GMR element) and a write head element, the read head element reads out data from the disk 1. In the head 3, the write head element writes the data on the disk 1.
The preamplifier circuit 4 has a read amplifier 40 which amplifies a data signal (read data signal) read out by the read head element to transmit it to the read write channel 5. The preamplifier circuit 4 also has a write amplifier 41 which converts the write data signal outputted from the read/write channel 5 into write current to supply it to the write head element.
HDC 6 includes a host interface connecting the disk drive and a host system and carries out input/output of the write data WD and the read data (reproducing data) RD between the read/write channel 5 and the HDC 6. As shown in
(Read/Write Channel)
As shown in
The write channel has an RLL (Run Length Limited) encoder 37, a turbo encoder 38, and a precoder 39. The RLL encoder 37 converts the write data WD into a normal RLL code sequence (WS). ECC data is added to the write data by the ECC generator 61. The precoder 39 is provided in order to give recursive characteristics to a PR channel in the read channel. At this point, the PR channel is one in which the input of the read amplifier 40 to the output of the equalizer 33 have desired PR (Partial Response) characteristics. The PR channel is regarded as a kind of convolutional codes and corresponds to an inner code in concatenated turbo codes.
As shown in
The RC encoder 382 includes a delay element (D) and a mod 2 adder (EXCLUSIVE-OR gate “+”), carries out RSC (Recursive Systematic Convolutional) coding operation, and outputs a parity sequence. In the concatenated turbo codes, the RSC code corresponds to an outer code relative to the inner code which is the PR channel code.
The turbo encoder 38 randomizes the RLL code sequence (WS) with the interleaver 381 and outputs it to the RC encoder 382. It is assumed that the RC encoder is in the case that, e.g. constraint length L of the code is “L=3”. At this point, the following equations (1) and (2) hold when output for input Uk is set to Pk.
Zk=Uk+Zk−1+Zk−2 (1)
Pk=Zk+Zk−2 (2)
Where Zk means an inner variable of the RC encoder 382 and + means EXCLUSIVE-OR operation.
The PUMUX 383 inputs the information sequence (RLL code sequence (WS)) and the parity sequence and carries out the multiplexing processing while the PUMUX 383 punctures the parity sequence so as to become a desired coding ratio.
The write channel transmits a write coding data sequence to the write amplifier 41 after carrying out predetermined inversion processing to a systematic coding sequence from PUMUX 383 by the precoder 39. The write channel usually includes a compensator carrying out write compensation. The write head element included in the head 3 records the write data signal which is turbo-coded on the disk 1 by the write current supplied from the write amplifier 41.
(Read Channel)
As shown in
The AGC circuit 30 includes VGA (Variable Gain Amplifier) and controls signal amplitude of the read signal from the read amplifier 40 at a constant value. The LPF 31 removes high-frequency noise from the data signal. The A/D converter 32 converts an analog data signal into a digital signal. The equalizer 33 usually includes an FIR (Finite Impulse Response) type of digital filter and carries out waveform equalizing processing in the PR method.
The read channel further includes a burst noise detector 34 connected to the A/D converter 32, an iterative decoder 35, and an RLL encoder 36.
The burst noise detector 34 detects the burst noise such as the thermal asperity and dropout according to an amplitude value of the data signal (digital signal) outputted from the A/D converter 32. The burst noise detector 34 outputs detection flag information DF (0/1) as the detection result to the iterative decoder 35. At this point, the detection flag information DF “1” means the detection of the burst noise.
As shown in
The APP decoder 351 inputs the detection flag information DF from the burst noise detector 34, and output RS of the equalizer 33, and output of the PUMUX 355. The DEPUMUX 352 is a circuit in which a depunturing circuit and a demultiplexing circuit are combined. The DEPUMUX 352 carries out the inversion processing of the PUMUX 383. The deinterleaver 356 carries out the inversion processing of the interleaver 353. The hard decision unit 357 carries out binary (0/1) decision to the APP decoding result and determines the final turbo decoding sequence.
The RLL encoder 36 carries out the RLL decoding processing to the turbo decoding sequence determined (decoded) by the hard decision unit 357 and outputs a reproducing data sequence (RD) corresponding to the original data to the HDC 6.
In the HDC 6, the error correction unit 60 carries out the error correction processing to the reproducing data RD transmitted from the read channel. According to the detection flag information DF from the burst noise detector 34, the error correction unit 60 carries out erasure correction processing by using the flag information (DF=1) as an erasure pointer.
(Data Decoding Operation)
Referring to the flowchart of
When the data signal recorded on the disk 1 is read out by the read head element of the head 3, the data signal is amplified by the read amplifier 40 and transmitted to the read channel of the read/write channel 5. In the read channel, the data signal is transmitted to the iterative decoder 35 through the AGC circuit 30, LPF 31, the A/D converter 32, and the equalizer 33.
When the burst noise detector 34 detects the burst noise contained in the data signal outputted from the A/D converter 32, the burst noise detector 34 outputs the detection flag information (DF=1) to the iterative decoder 35 (STEP S1).
In the iterative decoder 35, as shown in
The DEPUMUX 352 is a circuit in which a depuncturing circuit and a demultiplexer are combined. The DEPUMUX 352 carries out the inversion processing of PUMUX 383 in the turbo encoder 38 and outputs the logarithmic external information probability ratio to the information sequence and an external information probability ratio to the parity sequence. However, the external information probability ratio corresponding to a position punctured by PUMUX 383.
Then, the interleaver 353 carries out interleaving by the same way for the interleaver 381 in the turbo encoder 38 and outputs the logarithmic external information probability ratio to the interleaved information sequence and an external information probability ratio to the parity sequence (STEP S4).
For the output of the interleaver 353, the APP decoder 354 carries out the APP decoding processing to the recursive convolutional code which is the outer code (STEP S5). The deinterleaver 356 carries out the inversion processing of the interleaver 353 and outputs the logarithmic external information probability ratio corresponding to the original information sequence.
The PUMUX 355 inputs the logarithmic external information probability ratio corresponding to the parity sequence outputted from the APP decoder 354 and the logarithmic external information probability ratio corresponding to the original information sequence outputted from the deinterleaver 356 and carries out the puncturing and multiplexing processing. The PUMUX 355 outputs the processing result as a priori information probability ratio to the inner code to the APP decoder 351. The APP decoder 351 inputs the priori information probability ratio and the output from the equalizer 33 and iterates the APP decoding processing (STEP S6).
When the iterative decoding processing is completed, the hard decision unit 357 carries out hard decision processing, in which zero is set to a threshold for the logarithmic external information probability ratio to the original information sequence outputted from the deinterleaver 356, and determines the final decoding sequence (0/1) corresponding to the original information sequence to output it (YES in STEP S6 and STEP S7).
Further, the RLL encoder 36 carries out the RLL decoding processing to the turbo decoding sequence decoded with the hard decision unit 357 and outputs the reproducing data sequence (RD) corresponding to the original data to HDC 6. The error correction unit 60 carries out the error correction processing to the reproducing data RD transmitted from the read channel (STEP S8).
On the other hand, in the case that the burst noise is detected from the burst noise detector 34 (DF=1), the APP decoder 351 changes a likelihood equation and carries out the APP decoding processing of the inner code (NO in STEP S2 and STEP S9).
For the case in which the APP decoder changes the likelihood equation according to the detection flag DF and carries out the APP decoding processing, a specific example in the case that the BCJR algorithm is carried out will be described below referring to the flow charts of
As shown in
At this point, α(Sk), β(Sk), γ(Sk−1, Sk), Yk La(Uk), L(Uk), and Le(Uk) mean a normal direction state probability in a state (Sk), a reverse direction state probability in the state (Sk), a probability of a path changing from a state (Sk−1) to the state (Sk), the output (RS) of the equalizer 33, a logarithmic priori information probability ratio, a logarithmic likelihood ratio, and the logarithmic external information probability ratio, respectively.
The BCJR algorithm includes STEP S20 initializing α(Sk) and γ(Sk) and STEP S21 calculating γ(Sk−1, Sk) from Yk and La(Uk). The BCJR algorithm further includes STEP S22 recursively calculating α(Sk) and β(Sk) from γ(Sk−1, Sk), STEP S23 calculating L(Uk) from α(Sk), β(Sk) and γ(Sk−1, Sk), and STEP S24 calculating Le(Uk) from La(Uk) and L(Uk).
In the above-described BCJR algorithm, as shown in STEP S21, the likelihood equation calculating γ(Sk−1, Sk) is changed according to the detection flag (DF0/1) of the burst noise. That is to say, in the case that the burst noise is detected (DF=1), a calculation term 600 for calculating a channel value which is the output (RS) of the equalizer 33 is erased and the likelihood calculation for calculating the probability of the path used with the logarithmic priori information probability ratio (La(Uk)) is carried out. The likelihood calculation corresponds to a branch-metric calculation in normal Viterbi decoding processing.
Accordingly, when the burst noise is contained in the output (RS) of the equalizer 33, an error element caused by the burst noise can be erased from the likelihood calculation result in order to erase the calculation term 600 for calculating the channel value. As described above, since the calculation result of the APP decoder 351 is randomized by the interleaver 353, the burst error is diffused when the burst noise is present.
In the embodiment, the calculation term 600 of the equation calculating the channel value in the APP decoding calculation which is presumed that the burst error is contained can be erased according to the detection of the burst noise. Therefore, the diffusion of the burst error can be prevented and the error can be localized.
In the embodiment, in the case where the burst noise is detected from the burst noise detector 34 (DF=1), the error correction unit 60 carries out erasure correction processing by using the detection flag information DF (DF=1) as the erasure pointer (STEP S14). Accordingly, in the HDC 6, the localized error can be corrected to the reproducing data decoded with the read channel.
In short, in the embodiment, the dispersion (diffusion) of the burst error can be prevented in the pre-step (interleaver) of the APP decoding processing of the outer code by the APP decoding processing for changing the likelihood equation according to the detection flag (DF) of the burst noise. Further, in the error correction unit 60, the localized error can be corrected by executing the erasure correction using the detection flag (DF) as the erasure pointer.
Though the specific example using the BCJR algorithm was described as the decoding processing of the APP decoder 351 in the embodiment, the invention is not limited to the embodiment. For example, the invention can be also applied to other APP decoding algorithms such as Max-Log-MAP and SOVA as an alternating method of the BCJR algorithm.
Though the concatenated turbo code method for concatenating the recursive convolutional code was assumed as the outer code in the read/write channel of the embodiment, the invention is not limited to the embodiment. The invention can be also applied to a concatenating code method for concatenating a low-density parity detection code, a parity detection code, or the like as the outer code.
As described above, according to the embodiment, in the disk drive adopting the data decoding method in which the PR method and the turbo coding/iterative decoding method are combined, particularly the error correction performance against the burst noise can be improved, as a result, good error rate characteristics can be realized.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2002-288908 | Oct 2002 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4922437 | Sakata et al. | May 1990 | A |
5243471 | Shinn | Sep 1993 | A |
5341249 | Abbott et al. | Aug 1994 | A |
6014411 | Wang | Jan 2000 | A |
6023386 | Reed et al. | Feb 2000 | A |
6023783 | Divsalar et al. | Feb 2000 | A |
6038091 | Reed et al. | Mar 2000 | A |
6043946 | Genheimer et al. | Mar 2000 | A |
6108388 | Douillard et al. | Aug 2000 | A |
6249398 | Fisher et al. | Jun 2001 | B1 |
6304985 | Sindhushayana et al. | Oct 2001 | B1 |
6334197 | Eroz et al. | Dec 2001 | B1 |
6389571 | Yang et al. | May 2002 | B1 |
6757117 | Livingston | Jun 2004 | B1 |
6826722 | Miyauchi et al. | Nov 2004 | B2 |
6986093 | Itakura | Jan 2006 | B2 |
7031090 | Ichihara et al. | Apr 2006 | B2 |
20030161062 | Akamatsu | Aug 2003 | A1 |
20030174426 | Akamatsu | Sep 2003 | A1 |
20040076245 | Okamoto et al. | Apr 2004 | A1 |
Number | Date | Country |
---|---|---|
08-306139 | Nov 1996 | JP |
10-255402 | Sep 1998 | JP |
11-185210 | Jul 1999 | JP |
2000-059236 | Feb 2000 | JP |
2001-127647 | May 2001 | JP |
2001-211411 | Aug 2001 | JP |
2001-344903 | Dec 2001 | JP |
2002-164946 | Jun 2002 | JP |
3318937 | Jun 2002 | JP |
2002-198827 | Jul 2002 | JP |
2004-086994 | Mar 2004 | JP |
Number | Date | Country | |
---|---|---|---|
20040061964 A1 | Apr 2004 | US |