Patent US6003151A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6003151A Expired / Lapsed US ⏱️ 0.0 years remaining

Error correction and detection system for mass storage controller

Assignee: MediaTek Inc
•
Filing: 1997-03-24
•
Granted: 1999-12-14
•
Expires: 2017-03-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Data read out from a mass storage unit are provided as a serial data stream in parallel to both a buffer memory and an error detection circuit. The read out data are stored within the buffer memory. At the same time, the error detection circuit performs an error detection operation on the serial data stream read out from the mass storage unit. The error detection operation consists of dividing a segment of the serial data stream corresponding to a data block by the error check polynomial and determining the remainder of the division operation. The remainder from this initial error division operation is stored. Error correction is then performed on the data stored in the buffer memory, for example using a Reed-Solomon code. When erroneous bytes are identified by the error correction circuitry, the error equations are solved to determine the error pattern and then the erroneous byte is overwritten in the buffer memory. The location of the erroneous byte within the serial data stream, along with the error pattern of the byte, are then used to calculate a correction to the remainder from the initial error division by the error check polynomial on the read in data stream. Error correction continues until the remainder is reduced to a zero value. At this point, it is assumed that all of the errors have been corrected and the data stored in the buffer memory is provided to the data bus of the host computer.

Inventors

  • 👤 Cheng-Te Chuang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 18:38
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 196 words
A method of transferring data between an optical disk mass storage system and a host computer, the method comprising the steps of: retrieving a data string from the digital storage system and converting the retrieved data string to a form compatible with storage in a digital memory; providing the retrieved and converted data string into a buffer memory for storage therein, while concurrently providing the retrieved data string to a first error detection circuit; performing a first error detection operation with the first error detection circuit on the retrieved data string to determine if any errors exist within the retrieved data string, with at least a portion of the error detection operation performed while the retrieved data string is being stored into the buffer memory; transferring the retrieved and converted data string from the buffer memory to the host computer system if the first error detection operation determines that no errors are present in the retrieved data string; and performing an error correction operation on the retrieved data string if the first error detection operation determines that errors are present in the retrieved data string prior to transferring the retrieved data string to the host computer.
Claim 2
Independent Claim 196 words
A method of transferring data between an optical disk mass storage system and a host computer, the method comprising the steps of: retrieving a data string from the digital storage system and converting the retrieved data string to a form compatible with storage in a digital memory; providing the retrieved and converted data string into a buffer memory for storage therein, while concurrently providing the retrieved data string to a first error detection circuit; performing a first error detection operation with the first error detection circuit on the retrieved data string to determine if any errors exist within the retrieved data string, with at least a portion of the error detection operation performed while the retrieved data string is being stored into the buffer memory; transferring the retrieved and converted data string from the buffer memory to the host computer system if the first error detection operation determines that no errors are present in the retrieved data string; and performing an error correction operation on the retrieved data string if the first error detection operation determines that errors are present in the retrieved data string prior to transferring the retrieved data string to the host computer.
Claim 3
Dependent Claim 93 words
The method of claim 1, further comprising the following steps when the error correction operation is performed: correcting an error within the retrieved data string; performing a second error detection operation to determine if additional errors remain within the retrieved data string, the second error detection operation generating a no error signal if the second error detection operation indicates that no uncorrected errors remain within the retrieved data string; and providing the corrected data string to the host computer in response to the no error signal generated by the second error detection operation.
Claim 4
Dependent Claim 40 words
The method of claim 2, wherein the step of performing the first error detection operation produces a first error detection value which is characteristic of the errors present in the retrieved data string, the first error detection value being stored.
Claim 5
Dependent Claim 44 words
The method of claim 3, wherein the step of performing the second error detection operation comprises the steps of calculating a correction to the first error detection value, correcting the first error detection value and determining whether the corrected error detection value is non-zero.
Claim 6
Dependent Claim 44 words
The method of claim 4, wherein the first error detection operation includes dividing the retrieved data string by an error check polynomial and wherein the first error detection value is a remainder calculated by dividing the retrieved data string by the error check polynomial.
Claim 7
Dependent Claim 27 words
The method of claim 5, wherein the second error detection operation is responsive to an error pattern and an error location derived by the error correction operation.
Claim 8
Dependent Claim 28 words
The method of claim 1, wherein the step of converting the retrieved data string includes operations performed by a digital signal processor and operations performed by a descrambler.
Claim 9
Dependent Claim 31 words
The method of claim 7, wherein the descrambler provides data to the first error detection circuit and to a data organizer which stores the retrieved data string into the buffer memory.
Claim 10
Dependent Claim 18 words
The method of claim 8, wherein the retrieved data string is encoded with a double interleaved Reed-Solomon code.
Claim 11
Dependent Claim 17 words
The method of claim 1, wherein the first error detection circuit is a cyclic redundancy code checker.
Claim 12
Dependent Claim 26 words
The method of claim 1, wherein the error correction operation identifies the first error in the retrieved and converted data string with a Reed-Solomon code decoder.
Claim 13
Dependent Claim 18 words
The method of claim 1, wherein the error correction operation includes adding an error pattern to erroneous data.
Claim 14
Dependent Claim 72 words
The method of claim 1, wherein the first error detection operation determines the existence of one or more errors in the retrieved data string, using the error detection circuit, and wherein the error correction operation includes identifying and correcting errors in the data stored in the buffer memory using an error correction circuit, only after the error detection operation determines the existence of one or more errors in the retrieved data string.
Claim 15
Independent Claim 185 words
A method of transferring data between an optical disk mass storage system and a host computer, the method comprising the steps of: retrieving a data string from the optical storage disk and storing the retrieved data string into a buffer memory; concurrently with said storing, providing the retrieved data string to a first error detection circuit; transferring the retrieved data string out of the buffer memory if the first error detection operation determines that no errors are present in the retrieved data string, if any errors exist with the retrieved data string, then performing a first error detection operation on the retrieved data string to determine if errors exist within the retrieved data string and determining a first error detection value characteristic of the errors present within the retrieved data string; performing an error correction operation on the retrieved data string, identifying a first error in the retrieved data string and determining an error pattern for the first error; correcting the first error in the retrieved data string; and performing a second error detection operation to determine if errors remain in the corrected data string.
Claim 16
Independent Claim 185 words
A method of transferring data between an optical disk mass storage system and a host computer, the method comprising the steps of: retrieving a data string from the optical storage disk and storing the retrieved data string into a buffer memory; concurrently with said storing, providing the retrieved data string to a first error detection circuit; transferring the retrieved data string out of the buffer memory if the first error detection operation determines that no errors are present in the retrieved data string, if any errors exist with the retrieved data string, then performing a first error detection operation on the retrieved data string to determine if errors exist within the retrieved data string and determining a first error detection value characteristic of the errors present within the retrieved data string; performing an error correction operation on the retrieved data string, identifying a first error in the retrieved data string and determining an error pattern for the first error; correcting the first error in the retrieved data string; and performing a second error detection operation to determine if errors remain in the corrected data string.
Claim 17
Dependent Claim 37 words
The method of claim 14, wherein the step of performing a second error detection operation includes calculating a correction to the first error detection value on the basis of the error pattern determined for the first error.
Claim 18
Dependent Claim 41 words
The method of claim 15, further comprising the steps of correcting the first error detection value and storing the corrected first error detection value as a second error detection value and then determining whether the second error detection value is non-zero.
Claim 19
Dependent Claim 26 words
The method of claim 16, wherein the second error detection value is determined by a second error detection circuit distinct from the first error detection circuit.
Claim 20
Dependent Claim 26 words
The method of claim 16, further comprising the step after the error correction operation is performed, of providing the corrected data string to the host computer.
Claim 21
Dependent Claim 30 words
The method of claim 14, wherein the retrieved data string is provided to the first error detection circuit while the retrieved data string is being stored in the buffer memory.
Claim 22
Dependent Claim 37 words
The method of claim 14, further comprising the step of transferring the retrieved data string to the host computer system if the first error detection operation determines that no errors are present in the retrieved data string.
Claim 23
Dependent Claim 21 words
The method of claim 14, wherein no error correction operation is performed until after the first error detection value is stored.
Claim 24
Dependent Claim 44 words
The method of claim 14, wherein the first error detection operation includes dividing the retrieved data string by an error check polynomial and wherein the first error detection value is a remainder calculated by dividing the retrieved data string by the error check polynomial.
Claim 25
Dependent Claim 27 words
The method of claim 22, wherein the second error detection operation is responsive to an error pattern and an error location derived by the error correction operation.
Claim 26
Dependent Claim 18 words
The method of claim 14, wherein the retrieved data string is encoded with a double interleaved Reed-Solomon code.
Claim 27
Dependent Claim 19 words
The method of claim 14, wherein the first error detection operation is performed with a cyclic redundancy code checker.
Claim 28
Dependent Claim 26 words
The method of claim 14, wherein the error correction operation identifies the first error in the retrieved and converted data string with a Reed-Solomon code decoder.
Claim 29
Dependent Claim 18 words
The method of claim 14, wherein the error correction operation includes adding an error pattern to erroneous data.
Claim 30
Dependent Claim 75 words
The method of claim 14, wherein the error detection operation determines the existence of one or more errors in the retrieved and converted data string, using the error detection circuit, and wherein the error correction operation includes identifying and correcting errors in the data stored in the buffer memory using an error correction circuit, only after the error detection operation determines the existence of one or more errors in the retrieved and converted data string.

References Cited (Backward Citations)

US4413340A Cited
US4646303A Cited
US4680764A Cited
US4802152A Cited
US4730321A Cited
US5563896A Cited
US5241546A Cited
US5379305A Cited
US5604753A Cited
US5617384A Cited
US5581715A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-13 2003-06-14 2003-12-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-13 2007-06-14 2007-12-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-13 2011-06-14 2011-12-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag