Apparatus for recording and/or reproducing user data recorded on a record medium. The apparatus includes record encoder for converting original user data into encoded user data of a predetermined record code and as error correcting code generator for generating original error correcting code data for correcting an error with respect to the encoded user data. A write unit records the encoded user data and the error correcting code on the record medium. A read unit reads the recorded data and the reproduced data is error corrected so as to provide the original user data.
|
8. A method of correcting an error in a recording and reproducing apparatus for recording user data to be recorded on a record medium, comprising the steps of:
converting original use data into an encoded user data of a predetermined record code;
generating an original error correcting code data for correcting an error with respect to the encoded user data;
converting the generated error correcting code data into an encoded error correcting code data adapted to the predetermined record code;
writing the encoded user data and the encoded error correcting code data on the record medium;
reading the encoded user data and the encoded error correcting code data from the record medium;
inversely converting the read encoded error correcting code data to the original error correcting code data;
correcting an error with respect to the read encoded user data based on the original error correcting code data; and
decoding the encoded user data having errors which have been corrected by error correction to the original user data.
0. 19. An apparatus for reproducing user data from a recording medium, comprising:
a read head;
a reproducing circuit block which reproduces encoded user data and encoded error correcting code data from a signal read from said recording medium by said read head, said encoded user data being data obtained by converting the user data in accordance with a restriction of a predetermined record code, and said encoded error correcting code data being data obtained by converting an original error correcting code data generated from the original data in accordance with the restriction of the predetermined record code;
an inverse converting circuit block which inversely converts the encoded error correcting code data read by the reproducing circuit into the original error correcting code data;
an error checking circuit block which checks the encoded user data utilizing the original error correcting code data whether or not an error with respect to the encoded user data has occurred; and
a decoding circuit block which decodes the encoded user data, which has been checked by the error checking circuit block, to the original user data.
0. 9. A storage device for at least recording user data to be recorded on a recording medium, comprising:
a record encoder which converts original user data into encoded user data of a predetermined record code;
an error correcting code generator which generates original error correcting code for correcting an error with respect to the encoded user data;
a convertor which converts the error correcting code data into encoded correcting code data adapted to the predetermined record code;
a recorder including a writer which writes data including the encoded record data and encoded error correcting code data on the record medium;
a reproducer including a reader which reads data from the record medium including the encoded user data and the encoded error correcting code data;
an inverse convertor which inversely converts the encoded error correcting code data read by the reader into the original error correcting code data;
an error corrector which corrects an error with respect to the encoded user data read by the reading means based on the original error correcting code data; and
a decoder which decodes the encoded user data which have been corrected by the error corrector to the original user data.
0. 17. An apparatus for reproducing original user data from a medium utilizing a signal read from said medium which is indicative of information including encoded user data of a predetermined record code representing the original user data and an encoded error correcting code which is converted in accordance with restriction of the predetermined record code from an original error correcting code which corrects an error of the encoded user data, said information being written on said medium, comprising:
a read head which obtains a signal indicative of the information written on said medium from said medium;
a reproducing circuit which reproduces the encoded user data and the encoded error correcting code data from the signal read from said medium by said read head;
an inverse converting circuit which inversely converts the encoded error correcting code data read by the reproducing circuit into the original error correcting code data;
an error correcting circuit which corrects an error with respect to the encoded user data reproduced by said reproducing circuit based on the original error correcting code data; and
a decoding circuit which decodes the encoded user data which have been corrected by the error correcting circuit to the original user data.
1. Apparatus us or at least recording user data to be recorded on a record medium, comprising:
record encoding means for converting original user data into encoded user data of a predetermined record code;
error correcting code generating means for generating original error correcting code data for correcting an error with respect to the encoded user data;
converting means for converting the error correcting code data into encoded correcting code data adapted to the predetermined record code, the recording means recording the encoded record data and the encoded correcting code data on the recording medium ;
recording means including mesas for writing data including the encoded record data and encoded error correcting code data on the record medium; and
reproducing means including reading means for reading data from the record medium including the encoded user data and the encoded error correcting code data;
inverse converting means for inversely converting the encoded error correcting code data read by the reading means into the original error correcting code data;
error correcting means for correcting an error with respect to the encoded user data read by the reading means based on the original error correcting code data; and
decoding means for decoding the encoded user data having errors which have been corrected by the error correcting means to the original user data.
0. 10. A data storage device, for recording data on a record medium, comprising:
a recording medium;
a write head;
a read head;
an interface circuit;
a record encoding circuit which converts original data which is provided through said interface circuit, into encoded data of a predetermined record code;
an error correcting code generating circuit which generates original error correcting code data for correcting an error with respect to the encoded data;
a converting circuit which converts the original error correcting code data into encoded error correcting code data adapted to the predetermined record code;
a recording circuit which generates a signal with respect to the encoded data and the encoded error correcting code data which is provided to the write head;
a reproducing circuit which reproduces the encoded user data and the encoded error correcting code data from a signal read from said recording medium by said read head;
an inverse converting circuit which inversely converts the encoded error correcting code data reproduced by said reproducing circuit into the original error correcting code data;
an error correcting circuit which corrects an error with respect to the encoded data read by the reproducing circuit based on the original error correcting code data; and
a decoding circuit which decodes the encoded data which have been corrected by the error correcting circuit to the original data.
0. 13. A data storage device for recording data on a record medium, comprising:
a recording medium;
a write head;
a read head;
an interface circuit;
a record encoding circuit which converts original data, which is provided through said interface circuit, into encoded data of a predetermined record code;
an error correcting code generating circuit which generates original error correcting code data for correcting an error with respect to the encoded data;
a converting circuit which converts the original error correcting code data into encoded error correcting code data adapted to the predetermined record code;
a recording circuit which generates a signal with respect to the encoded data and the encoded error correcting code data, and provides the signal to said write head;
a reproducing circuit which reproduces the encoded data and the encoded error correcting code data from a signal read from said recording medium by said read head;
an inverse converting circuit which inversely converts the encoded error correcting data reproduced by said reproducing circuit into the original error correcting code data;
an error checking circuit which checks the encoded data reproduced by said reproducing circuit utilizing the original error correcting code data obtained by said inverse converting circuit whether or not an error with respect to the encoded user data has occurred; and
a decoding circuit which decodes the encoded data, which has been checked by the error checking circuit, to the original user data.
2. Apparatus according to
3. Apparatus according to
PRML (Partial Response Maximum Likelihood) processing means performing decoding by a PRML using a PR (Partial Response) Class 4;
pre-coding means for pre-coding the encoded user data and the encoded error correcting code data so that the encoded error correcting code data is adapted to the record code;
the writing means writing the encoded user data and the encoded error correcting code data on the recording medium after pre-coding by the pre-coding means;
the PRML processing means decoding each of the encoded user data and the encoded error correcting code data read by the reading means and encoded by the pre-coding means with respect to every dual series of an odd number series and an even number series;
the converting means rearranging the odd number series and the even number series of the error correcting code data which has been generated by the error correcting code generating means at every insertion of the value other than the predetermined value; and
the inverse converting means deleting the value which has been inserted by the converting means from the encoded error correcting code data which has been decoded by the PRML processing means and rearranging the odd number series and the even number series of the error correcting code data at every deletion of the inserted value other than the predetermined value.
4. Apparatus according to
5. Apparatus according to
writing means for writing a synchronization pattern which is a pattern for previously determined data on the record medium;
synchronization detecting means for comparing the previously determined synchronization pattern with a pattern of data in a data series of the data read by the reading means in an order and determining a pattern of data which is in agreement with the data of the synchronization pattern by at least a predetermined bit number as the synchronization pattern; and
wherein the synchronization pattern is a pattern of data which is not in agreement with a pattern of arbitrary data other than the pattern of the data corresponding to the synchronization pattern included in the data series of the data written on the record medium by at least the predetermined bit number and the pattern of the arbitrary data includes the pattern of the data including the data forming the portion of the pattern of the data corresponding to the synchronization pattern.
6. Apparatus according to
the decoding means decoding the encoded user data read by the reading means and converted by the record encoding means before correction by the error correcting means; the apparatus further comprising:
storing means for temporarily storing the decoded user data decoded by the decoding means; and
control means for reading the user data stored by the storing means and corresponding to tbe encoded user data in which an error has been detected when the error is detected by the error correcting means, reconverting the read user data into reconverted encoded user data of the record code, and transmitting the reconverted encoded user data to the error correcting means for correcting the error;
the decoding means redecoding the reconverted encoded user data having the error corrected by the error correcting means to the original user data.
7. Apparatus according to
0. 11. A data storage device according to
0. 12. A data storage device according to
a PRML (Partial Response Maximum Likelihood) processing circuit which performs decoding by a PRML using a PR (Partial Response) class 4; and
a pre-coding circuit which pre-codes the encoded user data and the encoded error correcting code data so that the encoded error correcting code data is adapted to the record code.
0. 14. A data storage device according to
0. 15. A data storage device according to
0. 16. A data storage device according to
a PRML (Partial Response Maximum Likelihood) processing circuit which performs decoding by a PRML using a PR (Partial Response) class 4; and
a pre-coding circuit which pre-codes the encoded data and the encoded error correcting code data so that the encoded error correcting code data is adapted to the record code.
0. 18. An apparatus according to
0. 20. An apparatus according to
0. 21. An apparatus according to
|
The present invention relates to encoding/decoding in a recording and reproducing apparatus using a disk type record medium such as a magnetic disk, and particularly to a technology of error correction.
A conventional magnetic disk device has a construction as shown in Japanese Unexamined Patent Publication No. 345967/1992.
In
In
Further, in reading data from the disk, the magnetic information written on the disk 109 is converted into an electric signal by the head 108, the voltage thereof is amplified by the R/W AMP 107, the analog signal is converted into a digital signal by the read control unit 110, and the run length limited code is converted into the NRZ code by the ENDEC 106. Next, error detection is performed by the ECC circuit 105, the error is corrected when it occurs in the read data, and the corrected data is stored in the data buffer 111. The data stored in the data buffer 111 is transferred to the host computer 101 through the HDC 104, the interface controller 103 and the interface bus 102.
Recently, PRML (Partial Response Maximum Likelihood) has been used as a next generation signal processing technology, as described in Japanese Unexamined Patent Publication No. 190934/1987, “Viterbi Detection of Class IV Partial Response on a Magnetic Recording Channel”, IEEE Transaction on Communications, vol. Com-34, No. 5, May, 1986, pps. 454-461, “Signal Processing System PRML Supports a Large Scale Memory Device of Next Generation”, Nikkei Electronics, Jan. 17, 1994 (No. 599), pps. 71-97 and the like. The PRML system detects the most likely data series (bit series of the maximum likelihood) among all the occurrable signal series by using the PR (Partial Response) system which performs an effective transfer by allowing inter-code interference of data and by using a decoding method called Viterbi algorithm. There are a number of systems in the PR system depending on what kind of inter-code interference is provided. For instance, PR (1,0;−1) (=PR4) is a system of providing a characteristic of (1D) (1+D) to a recording and reproducing system. In using the PRML system; There are many cases wherein (0,4,4) GCR (Group Coded Recording), or 8-9 conversion code is employed as the run length limited code, as shown in Japanese Examined Patent Publication No. 6699/1991. The (0,4,4) GCR signifies that the run is not smaller than 0 and not larger than 4, and in which the last numeral 4 signifies that the maximum value of the run is 4 in view of every other bit of a data series after encoding. Further, the 8-9 conversion Code is one of codes called block code, which signifies that an 8 bits data is converted into a 9 bits data. The block code converts m bits of an original data series into data having a bits (m≦n). It maps combinations suitable for the recording and reproducing characteristic in the a bits data from all the combinations of the m bits data.
With the larger capacity and higher density of a magnetic disk, the S/N is deteriorated, as described in “Design Acknowledging Medium Defect in Small Scale HDD Starts. Importance of Error Correction Using ECC Enhances”. Nikkei Electronics, Aug. 5, 1991 (No. 533), pps. 141-146. As a remedy for the deterioration of the S/N, a method has been used wherein redundancy bits of the error correcting code are increased and a strong error correcting code is added. As such an error correcting code, for instance, an error correcting code called BCH Code (Bose-Chaudbun-Hocquenghem Code) or Read-Solomon Code has been commercialized. In such an error correcting code, the redundancy bits should be increased in accordance with an increase in the number of error bits to be corrected.
Further, in
Reference is made to
Further, in the conventional technology, as shown in FIG. 28(d), the error correcting code (ECC) is added only to the write date, and no consideration is given to a case wherein an error occurs in a BYTESYNC region of a synchronization signal, or an identification portion including an area for storing an identification number that is identification information of each sector, or the like. At present, the BYTE-SYNC is provided with about 1 byte. However, when an error resistance function is to be provided to the NRZ signal in adopting the PRML or the 8-8 converting code, a BYTE-SYNC region of 5 bytes or more is necessary by adding redundant bits, which very much deteriorates a format efficiency (a ratio of a data capacity as compared with all the memory capacity). Similarly, at present, a CRC (error check code) of 2 bytes is added to the identification portion. However, to provide an error correction capability, a ECC of 4 bytes or more is necessary by adding redundant bits, which very much deteriorates the format efficiency.
Generally, in performing the error correction, the number of the redundant bits of the ECC is necessary to be two times or more of the number of bits to be corrected. The larger the size of error to be corrected, the more it is necessary to increase the redundant bits, which deteriorates the format efficiency.
As stated above, in the conventional technology, writing is performed by converting a data series into the run length limited code after providing the error correcting code thereto in encoding. Conversely, a decoding is performed by the PRML at the signal processing circuit 110 in decoding, and the error correction is performed by the error correcting code after inversely convening the run length limited code. Then, in occurrence of an error, an error occurs which has a regularity specific to a signal processing system that is carried out in the signal processing circuit 110, and the number of bits having the error is increased. Further, in converting it into the NRZ signal in the ENDEC 106, the size of error is further magnified. When the size of error to be corrected is magnified, it is necessary to increase redundant bits.
Further, as mentioned above, in the conventional technology, no consideration has been given to the occurrence of an error in the BYTESYNC region, the identification portion or the like, and it is desirable to provide the error correction capability to these regions.
It is an object of the present invention for resolving the above problem to provide a recording and reproducing apparatus, a digital signal processing apparatus and a method of correcting an error capable of correcting an error with a fewer number of redundant bits.
It is another object of the present invention to provide a recording and reproducing apparatus and method capable of correcting an error with a fewer number of redundant bits while satisfying a regulation of record encoding.
A recording and reproducing apparatus for recording record or user data to be recorded on a record medium by converting the user data into a predetermined record code, according to the present invention is composed of a record encoding unit for converting the user data into encoded user data of the predetermined record code; an error correcting code generating unit for generating error correcting code data for correcting an error with respect to the encoded user data which has been converted by the record encoding unit; a converting unit for converting the error correcting code data which has been generated by the error correcting code generating unit into encoded correcting code data adapted to the record code; a writing unit for writing a write data including the encoded user data which has been converted by the record encoding unit and the encoded error correcting code data which has been converted by the converting unit such that the encoded error correcting code data is adapted to the record code; a reading unit for reading read data including the encoded user data and the encoded error correcting code data which have been written on the record medium; an inverse converting unit for inversely converting the encoded error correcting code data which has been read by the reading unit into the original error correcting code; an error correcting unit for correcting an error with respect to the encoded user data which has been read by the reading unit based on the original error correcting code data which has been inversely converted by the inverse converting unit with respect to the encoded user data; and a decoding unit for decoding the encoded user data having an error corrected by the error correcting unit to the original user data.
According to the recording and reproducing apparatus of the present invention as mentioned above, the record encoding unit converts the data to be recorded into the encoded user data of the record code in accordance with the characteristic of a recording and reproducing system. As the record code, there are (0,4,4) GCR of the run length limited code, (1,7) code, (2,7) code and the like.
The error correcting code generating unit generates the error correcting code data for correcting an error with respect to the encoded user data which bas been converted into the record code by the record coding unit. As the error correcting code, there are BCH code (Bose-Chaudhuri-Hocquenghem Code), Read-Solomon code and the like.
The converting unit converts the error correcting code data which has been generated by the error correcting code generating unit to adapt to the record code thereby generating the encoded error correcting code data. The conversion may be performed by encoding the error correcting code data by the above-mentioned record encoding unit. Or, in case of using (0,4,4) GCR (Group Coded Recording) as the run length limited code, “1” may be inserted at every 4 bits.
The writing unit writes the encoded user data which has been converted by the record encoding unit and the encoded error correcting code data which has been converted by the converting unit to adapt to the record code, on the record medium.
The reading unit reads the encoded user data and the encoded error correcting code data which have been written on the record medium.
The inverse converting unit inversely converts the encoded error correcting code data which has been read by the reading unit, from the record medium into the original error correcting code data. When the (0,4,4) GCR (Group Coded Recording) is used as the run length limited code, as mentioned above, the inserted code “1” may be deleted at every 4 bits.
The error correcting unit corrects an error of the encoded user data based on the original error correcting code data which has been inversely converted by the inverse converting means, with respect to the encoded user data that has been read by the reading unit.
The decoding unit decodes the encoded user data having an error corrected by the error correcting unit, to the original user data.
According to the recording and reproducing apparatus of this invention, the error can be corrected on the run length limited code by using the error correcting code data. Accordingly, the cumber of bits to be corrected can be restrained to a small value, and the number of redundant bits to be added can be restrained and also the format efficiency can be improved. Further, it is possible to perform a correction in consideration of the characteristic of error concurrence in the Partial Response Maximum Likelihood decoding which has been performed in the earlier stage of operation. Thus, efficient correction can be performed, the number of redundant bits to be added can be minimized and the format efficiency can be improved.
FIGS. 2(a) and 2(b) are flowcharts in accordance with FIG. 1.
FIGS. 3(a), 3(b), 3(c) and 3(d) are explanatory diagrams showing a record format of a magnetic disk in accordance with the invention.
FIGS. 4(a), 4(b) and 4(c) are explanatory diagrams showing a record format of an identification portion and a data portion of the record format in accordance with the invention.
FIGS. 5(a) and 5(b) are explanatory diagrams of an 8-8 conversion code.
Referring now to the drawings wherein like reference numerals are utilized to designate like parts, first an explanation will be given of a system of applying a recording and reproducing apparatus according to the present invention to a magnetic disk device as a first example. In this example, in a magnetic disk device using the run length limited code complying with the characteristic of a magnetic disk, an encoder/decoder of an error correcting code is disposed between an encoder/decoder of the run length limited code and a disk type record medium, and error correction using error correcting code data is performed on the run length limited code. To achieve this operation, redundant bits of the generated error correcting code data satisfies the run length limitation by periodically inserting “1” or “0” to the redundant bits of the error correcting code data which has been generated by an error correcting code generating circuit.
FIGS. 2(a) and 2(b) are flowcharts, wherein in writing data as shown in FIG. 2(a), the operation performs encoding in which a write data is converted into a run length limited code (S2811). Next, the operation generates an error correcting code (ECC code) (S2812). Then, the operation inserts “1”, “0” to satisfy the run length limitation with respect to the error correcting code (S2813). The operation performs a pre-coding processing with respect to the write data and the error correcting code (S2814). Further, the operation writes data on a disk medium (S2815). In reading data as shown in FIG. 2(b), firstly, the operation reads data from the disk medium (S2820). The operation performs a signal processing of decoding (S2821). The operation deletes “1”, “0” which have been inserted in writing, with respect to the error correcting code (S2822). The operation performs the error correction using the error correcting code (S2823). The operation performs decoding from the run length limited code to the NRZ signal (S2824). The operation then transfers the NRZ signal to the host computer.
Further, in this example, another error correcting code is added also to the identification portion to provide an error correction capability. An explanation will be given of a format of the magnetic disk used in the first example referring to FIGS. 3(a)-3(d) which illustrate the format of the magnetic disk utilized. As shown in FIG. 3(c), each track is divided into a plurality of sectors. Each sector is provided with an identification portion and a data portion. As shown in FIG. 3(d), the identification portion is divided into regions of PROSYNC, BYTESYNC, C, H, S, F, ECC, and GAP. Further, the data portion is divided into regions of PROSYNC, BYTESYNC, DATA, ECC and GAP. PROSYNC is a region for recording a signal for synchronization, and BYTESYNC is a region for recording a signal for byte synchronization. Notation C signifies a cylinder number, H signifies a head number, S signifies a sector number, F signifies a flag showing whether the sector is effective or not, ECC signifies a region for recording an error correcting code and GAP signifies an ineffective region of the identification portion.
These DATA, ID and the like are written in a run length limited code called an 8-8 converting code. The 8-8 converting code is also called (0,4,4) GCR, which is a code that is constructed such that 0 bit or more and 4 bits or less “0” are always interposed between “1” and “1”, as shown in FIG. 5(a). Further, as shown in FIG. 5(b), the (0,4,4) GCR is a code which is constructed such that 4 bits or less of “0” are always inserted between “1” and “1” in the respective one or two data (an odd number series and an even number series) which is generated by dividing the original series of data bit by bit. As mentioned later, in this example, in order not to destruct the series of the odd number series and the even number series by inserting “l”, the portion of series of bits after inserting “1” are rearranged.
FIGS. 4(a)-4(c) show the portions of ID, DATA and ECC in more detail. FIG. 4(a) shows the identification portion, and FIGS. 4(b) and 4(c) show the DATA portion. Each of the identification portion and the DATA portion is divided into two bits series of an odd number series and an even number series and different error correcting codes are calculated for the respective ones of the odd number series and even number series. AS shown in FIG. 4(b), each bits series of the data portion is divided into code languages of 486 bits (54 words) for each series, and an error correcting code of 23 or 22 bits is added to each code language. AS shown in FIG. 4(c), each error correcting code (aE1 through aE18/bE1 through bE18) is arranged to each series similar to the data, and in this example, “1” is inserted at a rate of once per 4 bits to satisfy the run length limitation of the (0,4,4) GCR. Further, in this example, the order of data of the odd number series “a” and the even number series “b” is rearranged or switched, between before and after the insertion of “1”, so that each of the data series of the odd number series “a” and the even number series “b” is processed by the same interleaved series. Further, the bits series of the identification portion is divided into 23 bits and 22 bits. The error in the identification portion can be corrected by adding the error correcting codes of 45 bits as in the data portion.
In this example, a case is adopted as an example in which the generally well-known BCH code is employed as the error correcting code. The BCH code used here, employs a primitive polynomial of 9 degree x9+x4+1, and the generating function employs G(x)=(x9+x4+1) (X9+X6+X4+X3+1)=x18+x15+x12+x10+x8+x7+x6+x3+1. The calculation used in the error correction is a modal calculation of 2, and “+” signifies an exclusive OR. Hereinafter, an exclusive OR is shown by “+”. The BCH code is a code which can correct a random error of 2 bits or less , and which has α, α2, α3 and α4 as roots, by putting a root of x9+x4+1=0 as α. Using data as D(x), the code language C(x) is expressed as,
C(x)=D(x)·x18+D(x)modG(x) (1),
which is constructed as,
C(α)=0, C(α2)=0, C(α3)=0, C(α4)=0 (2).
As shown in FIG. 5(b), the signal processing circuit 110 divides data into an even number series and an odd number series and respectively and independently perform the maximum likelihood decoding by an even number series decoder 603 and an odd number series decoder 604, independently, as shown in FIG. 1. As a characteristic of the PRML processing of class 4, an error pattern that is present on a signal line 605 has a property as shown in FIG. 6. The error bits are present in a pair of two bits in either the odd number series or the even number series. Further, the number of normal bits between the pair of two bits is 4 or less .
In
The RILL encoding circuit 803 may be replaced by a circuit so far as it converts the error correcting code to adapt to the run length limited code, and may use the 8-9 encoder 609 which converts data of 8 bits into data of 9 bits and encodes it.
The operation of the ECC generating circuit 616 will be described with reference 10 FIG. 8 and
At this instance, the RLL encoding circuit 803 operates as shown in FIG. 9. The error correcting code which is outputted via the signal line 902 and the signal line 903, is latched by the latches 1001 and 1002 in accordance with the control signal of the latch timing control circuit 1004, and “1” is inserted when the count value of the counter 1005 is 1. The flag 1006 is used for rearranging the order of data of the odd number series “a” and the even number series “b”, and the flag is set/reset when the value of the counter 1005 becomes 1 from 5, such that the flag 1006 is set when the error correcting code of the even number series “b” is outputted prior to the error correcting code of the odd number series “a” after inserting “1”. The multiplexer circuit 1003 selects “1” when the count value of the counter 1005 is 1, selects firstly the odd number series “a” which has been latched in the latch 1001, in case wherein the flag 1006 is not set when the count value of the counter 1005 is 2 through 5, and next, selects the even number series “b” which has been latched in the latch 1002, thereby alternately outputting the odd number series and the even number series. When the flag 1006 is set, the multiplexer circuit 1003 selects the even number series “b” which has been latched in the latch 1002, and next, selects the odd number series “a” which has been latched in the latch 1001.
In this way, in the BCH code generating circuit 802 and the RLL encoding circuit 803, the error correcting code is generated and “1” is inserted such that the odd number series and the even number series are alternately outputted so that the series are not destructed, and such that the run length limitation is maintained. The error correcting code is added to the write data by the multiplexer 804 that is outputted to the PRML 110 shown in FIG. 1. Thereby, the error correcting code (aE1 through aE18/bE1 through bE18) of 18 bits is generated for each of the “a” series and “b” series, “1” of 9 bits are inserted then into, and a total of 45 bits are stored in the ECC portion. Further, the error correcting code is generated to each of data in the data portion and the identification portion. The error correcting code in the identification portion is generated and added to the identification portion in formatting the magnetic disk, and is recorded on the magnetic disk after the pre-coding.
The operation of the on-the-fly error correcting circuit 613 for correcting an error in decoding will be described with reference to
In
In
As shown in
In
When an error of 1 bit occurs in the code language C(x), the following relationship is established.
S1≠0, s1·S3+S22=0,
S33+S1·S42+S22·S5+S1·S3·S5=0
When an error of 2 bits occurs in the code language C(x), the following relationship is established.
S1·S3+S22≠0,
S33+S1·S42+S22·S5+S1·S3·S5=0
When an error of 3 bits occurs in the code language C(x), the following relationship is established.
S33+S1·S42+S22·S5+S1·S3·S5≠0
The error position calculating circuit 1105 performs the correction by using the above property as shown in
In
The error correction method is performed in accordance with a flowchart shown in FIG. 12. In
Assuming an example in which an error of 2 bits occurs in the data series of a as shown in FIG. 16. That is, assuming that original data am and an at positions i1 and i2, are respectively added with an error value “1”, and become am+1 and an+1. In this case, the syndrome values S1, S2, S3, S4 and S5 are expressed as follows.
[Equation 1]
S1 = ai1 + ai2
S2 = a2i1 + a2i2
S3 = a3i1 + a3i2
S4 = a4i1 + a4i2
S5 = a5i1 + a5i2
At this instance, the following relationship is established.
S1 · S3 + S22 ≠ 0
(the output of the “0” detector 1117)
S33 + S1 · S42 + S22 · S5 + S1 · S3 · S5 = 0
(the output of the “0” detector 1118)
Accordingly, the above case is not that the “0” detector 1117≠0, and the “0” detector 1116=0 (S1204), and therefore, the operation defines that detector A=“0” detector 1117, and detector B=“0” detector 1118 and performs the checking thereafter (S1205).
The operation performs similarly with respect to the “b” series (S1208, S1209). In this case, there is no error in the “b” series.
Next, the operation shifts the shift register by 15 times (S1210). The operation processes the data of the “a” series once per every two times, and therefore, S1, through S5 are multiplied by α8, α16, α24, α32 and α40, respectively, and the values of S′1, S′2, S′3, S′4, and S′5 which are inputted to the first stage of the syndrome circulators 1111 through 1115, are as follows.
[Equation 2]
S′1 = ai1+8 + ai2+8
S′2 = a2(i1+8) + a2(i2+8)
S′3 = a3(i1+8) + a3(i2+8)
S′4 = a4(i1+8) + a4(i2+8)
S′5 = a5(i1+8) + a5(i2+8)
At this instance, the operation sets the switch to the side of “1” (S1210), and using S″1=S′1+1, S″2=S′2+1, S″3=S′3+1, S″4=S′4+1 and S″5=S′5+1, the operation checks the value of the detector A, S″22+S″1·S″3 and the value of the detector B, S″33+S″1·S″42+S″22·S″5+S″1·S″3·S″5 (S1212). At this moment, the operation controls the output of the FIFO such that a first bit a1 of the a series is outputted. In the above example, the value of the detector A, or the “0” defector 1117, is not 0. Further, the value of the detector B, or the “0” detector 1118, is not 0.
Further, the operation shifts the register by 2(503-i2) times (S1213, S1214, S1223, S1224 and S1225). Then, the values of S′1, S′2, S′3, S′4 and S′5 are as follows.
[Equation 3]
S′1 = ai1+8+500−i2 + ai2+8+500−i2 + ai1+511−i2 + 1
S′2 = a2(i1+8+500−i2) + a2(i2+8+500−i2) + a2(i1+511−i2) + 1
S′3 = a3(i1+8+500−i2) + a3(i2+8+500−i2) + a3(i1+511−i2) + 1
S′4 = a4(i1+8+500−i2) + a4(i2+8+500−i2) + a4(i1+511−i2) + 1
S′5 = a5(i1+8+500−i2) + a5(i2+8+500−i2) + a5(i1+511−i2) + 1
At this moment, the operation sets the switch to the side of “1”, and using S″1=S′1+1, S″2=S′2+1, S″3=S′3+1, S″4=S′4+1, and S″=S′5+1, the checks the value of the detector A, S″22+S″1·S″3 and the value of the detector B. S″33+S″1·S″42+S″22·S″5+S″1·S″3·S″5 (S1212). At this instance, the value of the detector A, or the “0” detector 1117 and the value of the detector B, or the “0” detector 1118 are 0. Accordingly, the operation corrects the output of the FIFO am+1 to am+1+1=am and outputs it (S1216). Next, the operation controls the multiplexers 1116 through 1120, and stores S″1, S″2, S″3, S″4 and S″5 to the syndrome circulators 1111 through 1115 (S1217). Therefore, the following values are stored in the syndrome circulators 1111 through 1115.
[Equation 4]
S″1 = ai1+511−i2
S″2 = a2(i1+511−i2)
S″3 = a3(i1+511−i2)
S″4 = a4(i1+511−i2)
S″5 = a5(i1+511−i2)
Since the correction of 1 bit is finished, and the residual error bit is 1 bit, the operation defines as the defector A=“0” detector 1116 and the detector B=“0” detector 1117 hereinafter and performs the checking similarly. When the operation shifts the register by 2(i2-il), the values of S′1, S′2, S′3, S′4 and S′5 are as follows.
[Equation 5]
S′1 = ai1+511−i2−i1+i2 = 1
S′2 = a2(i1+511−i2−i1+i2) = 1
S′3 = a3(i1+511−i2−i1+i2) = 1
S′4 = a4(i1+511−i2−i1+i2) = 1
S′5 = a5(i1+511−i2−i1+i2) = 1
At this instance, using S″1=S′1, S″2=S′2+1, S″3=S′3+1, S″4=S′4+1 and S″5=S′5+1, the operation checks the value of the detector A, or S″1 and the value of the detector B, or S″22+S″1·S″3. In this case, the value of the detector A or the value of the “0” detector 1116 is 0 Further, the value of the detector B or the value of the “0” detector 1117 is 0 (S1212). Accordingly, the operation corrects the output of the FIFO am+1 to an+1+1=an (S1216). Next, the operation controls the multiplexers 1116 through 1120 and stores S″1, S″2, S″3, S″4 and S″5 to the syndrome circulators 1111 through 1115 (S1217). Therefore, the following values are stored in the syndrome circulators 1111 through 1115.
S″1 = 0
S″2 = 0
S″3 = 0
S″4 = 0
S″5 = 0
The correction is finished at this point. The residual data is outputted to the buffer successively through the FIFO. In this way, the on-the-fly error correcting circuit 613 can correct an error of 2 bits or less with respect to one code language.
As stated above, the error correction can be performed in decoding after deleting the inserted “1”.
As shown in
The BYTESYNC is a pattern of 2 words which has previously been calculated by simulation, as shown in FIG. 17.
In
According to this example, the synchronization can be detected by the pattern of the BYTESYNC before performing the 8-8 conversion, and further the synchronization can be performed even when an error of several bits occurs with respect to the pattern of the BYTESYNC.
The writing and reading operations of data to and from the magnetic disk in this example, will now be described with reference to
In
First, the signal processing circuit 110 reads the identification portion of the magnetic disk and sends the BYTESYNC pattern in the BYTESYNC region to the HDC 104 when the synchronization of data is established in the PROSYNC region. In
Through this operation, in the magnetic disk device of this example, the error correcting code is added after the 8-8 encoding, and the data can be written on the magnetic disk while satisfying the run length limitation.
In reading data from the disk, the magnetic information written on the magnetic disk 109 is converted into an electric signal by the head 108, the voltage thereof is amplified by the R/W AMP 107, and decoded by the PRML 110. In the PRML 110, the decoding is performed respectively at the even number series decoder 603 for decoding the even number series and the odd number series decoder 604 for decoding the odd number series.
Next, the HDC 104 performs a control as shown in the flowchart of FIG. 23. First, the signal processing circuit 110 reads the identification portion of the magnetic disk, and sends the BYTESYNC pattern of the BYTESYNC region to the HDC 104 when the synchronization of data is established in the PROSYNC region. In
By this operation, in the magnetic disk device of this example, the operation can perform the on-the-fly error correction in a state in which the data is encoded by the 8-8 encoder, by which the data can be read from the magnetic disk. Accordingly, the number of bits to be corrected can be restrained to a small value, and the number of redundant bits to be added can be restrained to a small value, thereby making it possible to improve the formal efficiency. Further, by correcting an error using the error correcting code on the run length limited code, the correction in consideration of the error occurrence characteristic of the Partial Response Maximum Likelihood decoding that is performed in the earlier stage, can be performed, whereby an efficient correction can be performed, the number of redundant bits to be added can be rendered small, and the format efficiency can be improved.
In this example, the FIFO is used for temporarily storing data during the on-the-fly error correction. However, the 8-8 conversion code data may be stored in the buffer by providing an exclusive area therein. The following procedure may be performed. The data is convened into the NRZ data and stored in the buffer before the error correction, only a byte thereof to be corrected are again encoded by the 8-8 conversion when the error position is detected, and is convened into the NRZ data and stored in the buffer after the error correction. Thereby, the capacity of the buffer can be made smaller than that when the 8-8 conversion code data is stored therein, since the NRZ data is stored in the buffer. Further, the construction can be generated without the FIFO, by which the amount of hardware can be reduced.
Although the BCH code is employed as the error correcting code in the above example, other error codes such as a Read-Solomon code or the like may be employed.
An ECC generating circuit and an on-the-fly error correcting circuit when using a Read-Solomon code are shown in
In decoding, as shown in
Although the 8-8 conversion code is employed as the run length limited code in this example, the (1,7) code or the like may similarly be used.
According to this example, through the construction as stated above, as shown in
In accordance with the present invention, when providing the data portion with the error correcting capability of approximately 10 portions, the format efficiency can be increased by approximately 5%.
As indicated with respect to the conventional technology, when the PRML of class 4 is used as the signal processing system and the 8-8 conversion code is used as the run length limited code, in correcting an error of 1 bit among data read from the disk medium, redundant bits of 48 bits (54 bits in can of converting it into the 8-9 conversion code) at minimum are necessary on the NRZ signal in can wherein the correction is performed by using Read-Solomon code on the NRZ code, and 1 symbol includes 8 bits and under 3 interleaved construction. By contrast, in accordance with the present invention, in performing the correction on the 8-9 conversion code, in case wherein 1 symbol includes 13 bits, the correction can be performed by redundant bytes of 33 bits that is consisted of 26 redundant bits and 7 bits of “1” to be inserted. According to this example, the size of the redundant bits is thus about ⅔ of that in the conventional technology.
Further, according to this example, by using the above-mentioned BYTESYNC pattern, the BYTESYNC can be provided with the error resistance function and several bits of error can be allowed.
The number of bits of error occurrence in correcting and detecting can be reduced by providing the HDC with the 8-6 conversion code decoder. Then the error resistance function of the BYTESYNC the identification portion or the like can be achieved in a simple way and the number of retrials can be reduced.
As explained above, according to the present invention, more redundant bits can be deleted. Accordingly, the format efficiency can be promoted. Further, the correction can be performed in consideration of the occurrence tendency of an error which occurs in the signal processing or the like, and therefore, a very efficient correction can be performed
The number of bits of error occurrence in correcting and detecting can be reduced by providing the HDC with the 8-9 conversion encoder/decoder. Therefore, the error resistance function of the BYTESYNC, the identification portion or the like can be achieved in a simple way and the number of retrials can be reduced.
Further, the above examples may be applied to a digital processing device.
According to the present invention, an error can be corrected before propagation of the error which occurs in decoding the run length limited code to the NRZ data by correcting the error on the run length limited code. The number of bits to be corrected can be therefore reduced and the redundant bits coo be reduced.
Further, according to the present invention, the redundant bits of the error correcting code can be reduced in view of the correction capability and the run length limitation can be satisfied in a recording and reproducing device using the run length limited code and using a disk type record medium.
While we have shown and described several embodiments in accordance with the present invention, it is understood that the same is not limited thereto but is susceptible of numerous changes and modifications as known to those skilled in the art, and we therefore do not wish to be limited to the details shown and described herein but intend to cover all such changes and modifications as are encompassed by the scope of the appended claims.
Ogawa, Hitoshi, Nishina, Masatoshi, Katayama, Yukari, Miyazawa, Yukie
Patent | Priority | Assignee | Title |
8719659, | Dec 04 2008 | Fujitsu Limited | Storage apparatus and fault diagnosis method |
Patent | Priority | Assignee | Title |
5257270, | Dec 26 1990 | EASTMAN KODAK COMPANY, A CORP OF NJ | Shift-correction code rate-enhancing parity encoding/decoding |
5511078, | Nov 30 1992 | International Business Machines Corporation | Method and apparatus for correction errors in a memory |
5586127, | Nov 30 1993 | Fujitsu Semiconductor Limited | Apparatus and method for correcting error in data read from recording medium |
5598422, | Apr 30 1990 | Dell USA, L.P. | Digital computer having an error correction code (ECC) system with comparator integrated into re-encoder |
EP243708, | |||
EP503859, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 22 2000 | Hitachi, Ltd. | (assignment on the face of the patent) | / | |||
Nov 20 2003 | Hitachi, LTD | Hitachi Global Storage Technologies Japan, Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014788 | /0751 |
Date | Maintenance Fee Events |
Apr 26 2007 | ASPN: Payor Number Assigned. |
Jan 25 2010 | REM: Maintenance Fee Reminder Mailed. |
Jun 20 2010 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 29 2009 | 4 years fee payment window open |
Mar 01 2010 | 6 months grace period start (w surcharge) |
Aug 29 2010 | patent expiry (for year 4) |
Aug 29 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 29 2013 | 8 years fee payment window open |
Mar 01 2014 | 6 months grace period start (w surcharge) |
Aug 29 2014 | patent expiry (for year 8) |
Aug 29 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 29 2017 | 12 years fee payment window open |
Mar 01 2018 | 6 months grace period start (w surcharge) |
Aug 29 2018 | patent expiry (for year 12) |
Aug 29 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |