IP Library Granted Patent US 8,122,321
Granted Patent B2
US 8,122,321 · App. 12/852,923 · Granted Feb 21, 2012

Methods of data handling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,122,321
App. No.
12/852,923
Granted
Feb 21, 2012
Kind
B2
Abstract

Methods of data handling include receiving data having a previously-generated error correction code and generating one or more error correction codes for the data, with each error correction code corresponding to the data having one or more particular bits of the data in differing data states. Such methods further include comparing the generated one or more error correction codes to the previously-generated error correction code, and if a particular one of the generated one or more error correction codes matches the previously-generated error correction code, transmitting the data having its one or more particular bits in the data states corresponding to that particular one of the generated one or more error correction codes. Methods of data handling may further include prioritizing the error correction in response to at least locations of known bad or questionable bits of the data.

Claims (47)

1. A method of data handling, comprising:

receiving data having a previously-generated error correction code;

generating a plurality of error correction codes for the data, with each error correction code corresponding to the data having one or more particular bits of the data in differing data states;

comparing the generated plurality of error correction codes to the previously-generated error correction code;

if a particular one of the generated plurality of error correction codes matches the previously-generated error correction code, transmitting the data having its one or more particular bits in the data states corresponding to that particular one of the generated plurality of error correction codes.

2. The method of claim 1 , further comprising:

if none of the generated plurality of error correction codes matches the previously-generated error correction code, performing error correction on the data using the previously-generated error correction code in an error correction algorithm; and

transmitting the data corrected by the error correction algorithm.

3. The method of claim 2 , wherein performing error correction on the data prior to transmitting the data comprises performing the error correction on the data using the previously-generated error correction code.

4. The method of claim 2 , further comprising:

reading locations of the one or more particular bits within the data from a record of known bad or questionable bits; and

prioritizing performing the error correction on the data in response to at least the locations of the one or more particular bits within the data.

5. The method of claim 4 , wherein prioritizing performing the error correction on the data in response to at least the locations of the one or more particular bits within the data further comprises prioritizing performing the error correction on the data in response to the locations and likely data states of the one or more particular bits within the data.

6. The method of claim 1 , wherein receiving data having a previously-generated error correction code and generating a plurality of error correction codes for the data comprises:

receiving the data having the previously-generated error correction code selected from the group consisting of a Hamming code, a Reed-Solomon (R-S) code, a Bose-Chaudhuri-Hochquenghem (BCH) code, a circular redundancy check code (CRC-32), a Golay code, a Reed-Muller code, a Goppa code, and a Denniston code; and

generating the plurality of error correction codes for the data selected from the group consisting of a Hamming code, a Reed-Solomon (R-S) code, a Bose-Chaudhuri-Hochquenghem (BCH) code, a circular redundancy check code (CRC-32), a Golay code, a Reed-Muller code, a Goppa code, and a Denniston code;

wherein the previously-generated error correction code and the plurality of error correction codes are all the same type of error correction code.

7. The method of claim 1 , wherein generating a plurality of error correction codes for the data comprises generating each of the plurality of error correction codes using a separate error correction code generator.

8. The method of claim 1 , wherein generating a plurality of error correction codes for the data comprises iteratively generating each of the plurality of error correction codes using a single error correction code generator.

9. The method of claim 1 , wherein receiving data having a previously-generated error correction code comprises receiving data serially from a memory device.

10. The method of claim 9 , further comprising receiving the previously-generated error correction code after receiving the data.

11. The method of claim 1 , further comprising reading locations of the one or more particular bits within the data from a record of known bad or questionable bits.

12. The method of claim 1 , wherein generating a plurality of error correction codes for the data, with each error correction code corresponding to the data having one or more particular bits of the data in differing data states, comprises generating an error correction code corresponding to the data as received.

13. A method of data handling, comprising:

receiving data having a previously-generated error correction code;

evaluating the data using the previously-generated error correction code to determine if the data is corrupted; and

if the data is corrupted, performing error correction on the corrupted data, wherein the error correction is prioritized in response to at least locations of known bad or questionable bits of the data.

14. The method of claim 13 , wherein, if the data is corrupted, the method further comprises performing the error correction of the corrupted data further prioritized in response to likely data states of the known bad or questionable bits.

15. The method of claim 13 , further comprising reading the locations of the known bad or questionable bits of the data from a record of the known bad or questionable bits of the data.

16. The method of claim 15 , further comprising:

reading likely data states of the known bad or questionable bits of the data from the record of the known bad or questionable bits of the data; and

if the data is corrupted, performing the error correction of the corrupted data prioritized in response to the locations and the likely data states of the known bad or questionable bits.

17. The method of claim 16 , wherein performing the error correction of the corrupted data prioritized in response to the locations and the likely data states of the known bad or questionable bits comprises first performing error correction with the known bad or questionable bits in the data states that have a higher probability of generating a correction.

18. The method of claim 13 , wherein evaluating the data using the previously-generated error correction code to determine if the data is corrupted comprises:

generating one or more error correction codes for the data, with each error correction code corresponding to the data having the known bad or questionable bits of the data in differing data states, and with one of the error correction codes corresponding to the data as received;

comparing the generated one or more error correction codes to the previously-generated error correction code; and

determining that the data is corrupted if the generated error correction code corresponding to the data as received does not match the previously-generated error correction code.

19. The method of claim 18 , wherein performing error correction on the corrupted data comprises modifying the data to have the known bad or questionable bits of the data in the data states corresponding to a particular one of the generated one or more error correction codes if that particular one of the generated one or more error correction codes matches the previously-generated error correction code.

20. The method of claim 19 , wherein performing error correction on the corrupted data further comprises performing error correction on the corrupted data using the previously-generated error correction code in an error correction algorithm if none of the generated one or more error correction codes matches the previously-generated error correction code.

21. A method of data handling, comprising:

receiving data having a previously-generated error correction code;

loading locations of known bad or questionable bits of the data;

generating a plurality of error correction codes for the data, with a first one of the plurality of error correction codes corresponding to the data as received and with each remaining error correction code of the plurality of error correction codes corresponding to the data modified to have the known bad or questionable bits of the data in differing data states;

comparing the generated plurality of error correction codes to the previously-generated error correction code;

if the first one of the error correction codes matches the previously-generated error correction code, transmitting the data as received;

if a particular one of the remaining of error correction codes matches the previously-generated error correction code, transmitting the data modified to have the known bad or questionable bits in the data states corresponding to that particular one of the remaining error correction codes; and

if none of the generated plurality of error correction codes matches the previously-generated error correction code, performing error correction on the data using the previously-generated error correction code in an error correction algorithm prior to transmitting the corrected data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: MICRON TECHNOLOGY, INC
To: OVONYX MEMORY TECHNOLOGY, LLC
Reel/Frame 039974/0496 →