Error correction device
AssigneeMatsushita Electric Industrial Co., Ltd.
InventorsToshinori Maeda, Toru Kakiage
Life of this patent
Estimating the term…
Abstract
In order to reduce the time required for error correction in the error correction device, data are transferred from the buffer memory not only to the syndrome calculator but also to the error detector at the same time, and until the syndrome calculator detects an error-containing code, the error detector performs error detection in parallel with the syndrome calculation done by the syndrome calculator. In the error detection after the error corrector corrects the error, the mid-term results of the error detection obtained before the error-containing code is detected are used. Consequently, it becomes unnecessary to transfer all data from the buffer memory to the error detector, thereby making it possible to execute error detection process at a halfway point.
Claims10
An error correction device comprising:
- a buffer memory for storing at least one sector of data having a structure where each of N words of error correcting code comprises a data unit, an inner code parity unit, and one error detecting code;
- a syndrome calculating means for generating syndrome for data read from said buffer memory;
- an error correcting means for correcting error-containing data in said buffer memory by detecting an error position from the syndrome generated by said syndrome calculating means and by calculating an error value;
- an error detecting means for detecting an error, one sector at a time, in error-corrected data generated by said error correcting means;
- a storing means for storing mid-term results, in code word units, of an error detecting process in said error detecting means;
- a bus control means for controlling data transfer between said buffer memory, said syndrome calculating means, said error correcting means, and said error detecting means;
- and a system control means for performing various processes for error correction in predetermined procedures a necessary number of times, wherein
- said bus control means comprises:
- a before-syndrome data transfer sub means for transferring data to be corrected from said buffer memory to said syndrome calculating means and to said error detecting means concurrently in code word units until said syndrome calculating means detects an error-containing code;
- an after-syndrome data transfer sub means for, when said syndrome calculating means detects an error-containing code, transferring subsequent data in said buffer memory only to said syndrome calculating means in code word units;
- and
- an error-detecting data transfer sub means for, after said error correcting means corrects an error contained in data in said buffer memory based on the syndrome transmitted by said syndrome calculating means, transferring error-corrected data which include the code word from which the error-containing code has been detected up to and including a final code word from said buffer memory to said error detecting means in code word units for error detection;
- said error detecting means comprises:
- a parallel process sub means for, until said syndrome calculating means detects an error-containing code, storing the mid-term results of the error detecting process to said storing means in code word units, and executing error detection of a code word transmitted from said buffer memory in parallel with syndrome calculation done by said syndrome calculating means;
- and
- an after-correction error detecting sub means for, after said syndrome calculating means detects an error-containing code, executing error detection for data transferred from said buffer memory after the error correction done by said error correcting means, following a code word which has previous contents before the occurrence of an error and which is already stored in said storing means.
An error correction device comprising:
- a buffer memory for storing at least one sector of data having a structure where each of N words of error correcting code comprises a data unit, an inner code parity unit, and one error detecting code;
- a syndrome calculating means for generating syndrome for data read from said buffer memory;
- an error correcting means for correcting error-containing data in said buffer memory by detecting an error position from the syndrome generated by said syndrome calculating means and by calculating an error value;
- an error detecting means for detecting an error, one sector at a time, in error-corrected data generated by said error correcting means;
- a bus control means for controlling data transfer between said buffer memory, said syndrome calculating means, said error correcting means, and said error detecting means;
- and a system control means for performing various processes for error correction in predetermined procedures a necessary number of times;
- wherein
- said bus control means comprises:
- a concurrent data transfer sub means for transferring data to be corrected from said buffer memory to said syndrome calculating means and to said error detecting means concurrently in code word units until said syndrome calculating means detects an error-containing code;
- and
- an error-detecting data transfer sub means for, only when said syndrome calculating means has detected an error-containing code, after the error correction done by said error correcting means, transferring data in a sector containing error-corrected data in and after the code word from which the error-containing code has been detected, from said buffer memory to said error detecting means for error detection,
- said error detecting means comprises:
- a parallel error detecting sub means for executing error detection for a code word transmitted from said buffer memory, in parallel with the syndrome calculation done by said syndrome calculating means;
- and
- an error re-detecting sub means for, only when said syndrome calculating means has detected an error-correcting code, executing error detection one more time for the error-corrected data.
An error correction device comprising:
- a buffer memory for storing at least one sector of data having a structure where each of N words of error correcting code comprises a data unit, an inner code parity unit, and one error detecting code;
- a syndrome calculating means for generating syndrome for data read from said buffer memory;
- an error correcting means for correcting error-containing data in said buffer memory by detecting an error position from the syndrome generated by said syndrome calculating means and by calculating an error value;
- an error detecting means for detecting an error, one sector at a time, in error-corrected data generated by said error correcting means;
- a storing means for storing mid-term results, in code word units, of an error detecting process in said error detecting means;
- a bus control means for controlling data transfer between said buffer memory, said syndrome calculating means, said error correcting means, and said error detecting means;
- and a system control means for performing various processes for error correction in predetermined procedures a necessary number of times, wherein
- said bus control means comprises:
- a first transfer sub means for executing a first transfer where data to be corrected are transferred in code word units from said buffer memory concurrently to said syndrome calculating means and to said error detecting means until said syndrome calculating means detects an error-containing code, and for suspending the first transfer when said syndrome calculating means has detected an error-containing code;
- and
- a second transfer sub means for executing a second transfer where a code word from which an error has been detected and corrected is transferred from said buffer memory to said error detecting means after the error correction done by said error correcting means, based on the syndrome transmitted from said syndrome calculating means;
- and
- a first transfer resuming sub means for, after the completion of the second transfer, making the first transfer sub means resume the first transfer for subsequent code words including the code word which has been subjected to the second transfer, and
- said error detecting means comprises:
- a first error detecting sub means for, until said syndrome calculating means detects an error-containing code, executing a first error detection where error detection is performed for a code word transmitted from said buffer memory in parallel with the syndrome calculation done by said syndrome calculating means, while storing mid-term results of the error detection in code word units to said storing means;
- a second error detecting sub means for, after said syndrome calculating means detects an error-containing code, executing a second error detection where error detection is resumed for code words whose errors have been detected and corrected by said error correcting means, starting at a code word which has previous contents before the occurrence of an error and which is already stored in said storing means;
- and
- a first error detection resuming sub means for, after the completion of the second error detection for the error-corrected code word, making the first error detecting sub means resume the first error detection for subsequent code words.
An error correction device comprising;
- a buffer memory for storing at least one ECC block of data having a structure where a plurality of error correcting code words each comprising a data unit and a parity unit are arranged in vertical direction and horizontal direction so as to repeat error correction a plurality of number of times, and where predetermined data composed of a predetermined number of code words in the vertical direction or the horizontal direction (data in the horizontal direction are referred to as sector) as a unit are subjected to error correction;
- a syndrome calculating means for generating syndrome for data read from said buffer memory;
- an error correcting means for correcting error-containing data in said buffer memory by detecting an error position from the syndrome generated by said syndrome calculating means and by calculating an error value;
- an error detecting means for detecting an error in error-corrected data generated by said error correcting means;
- a bus control means for controlling data transfer between said buffer memory, said syndrome calculating means, said error correcting means, and said error detecting means;
- and a system control means for performing various processes for error correction in predetermined procedures a necessary number of times, wherein
- said system control means comprises:
- a first-time error correction sub means for reading data from said buffer memory in a same direction as calculation for an error detecting code as a first-time error correction;
- for transferring the read data to said syndrome calculating means and to said error detecting means concurrently until said syndrome calculating means detects an error-containing code;
- for making said syndrome calculating means execute syndrome calculation and said error detecting means execute error detection in parallel;
- for making said error correcting means execute error correction when said syndrome calculating means has detected an error-containing code;
- and for making one of said syndrome calculating means and said error correcting means provide the system control means with information which designates a code word containing the error-containing code;
- an even-numbered error correction sub means for reading a code word in a different direction from a preceding odd-numbered error correction;
- for transferring the code word to said syndrome calculating means and to said error detecting means concurrently until said syndrome calculating means detects an error-containing code;
- for making said syndrome calculating means execute syndrome calculation and said error detecting means execute error detection in parallel;
- for making said error correcting means execute error correction when said syndrome calculating means detects an error-containing code;
- and for making said error correcting means provide said system control means with information which designates the position of the error-containing code in an error correcting code word obtained in the error correction;
- a non-error range designating sub means for designating, one sector at a time, a range from which an error-containing code has not been detected at the odd-numbered error correction or the subsequent even-numbered error correction, based on said information that designates the code word including the error-containing code and said information that designates the position of the error-containing code in the error correcting code word;
- an odd-numbered error correction sub means for, as an odd-numbered error correction as a third-time or later error correction, providing concurrently said syndrome calculating means and said error detecting means with a code in the same direction as in the previous odd-numbered error correction except for a sector in one ECC block which has been designated by said non-error range designating sub means as the range from which an error-containing code has not been detected in and before the preceding even-numbered error correction until said syndrome calculating means detects an error-containing code;
- for making said syndrome calculating means execute syndrome calculation and said error detecting means execute error detection in parallel;
- for making said error correcting means execute error correction when said syndrome calculating means detects an error-containing code;
- and for making one of said syndrome calculating means and said error correcting means provide said system control means with information which designates the code word including the error-containing code;
- and
- a number-of-times control sub means for repeating the odd-numbered error correction and the even-numbered error correction a predetermined number of times.
Dependencies are inferred from the claim text.