IP Library Granted Patent US 8,782,493
Granted Patent B2
US 8,782,493 · App. 13/964,682 · Granted Jul 15, 2014

Correcting data in a memory

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,782,493
App. No.
13/964,682
Granted
Jul 15, 2014
Kind
B2
Abstract

Methods of correcting data in a memory, and memories adapted to correct data, include prioritizing error correction of the read data in response to locations and likely states of known bad or questionable data positions of a segment of a memory array selected for reading.

Claims (47)

1. A memory comprising:

a memory array containing a plurality of memory cells arranged into a plurality of segments; and

a record of locations and likely states of known bad or questionable data positions in the plurality of segments;

wherein the memory is adapted to read data and associated ECC codes from a selected segment of the memory array, and to error check the read data utilizing the associated ECC codes; and

wherein the memory is adapted, when the error check detects an error in the read data, to prioritize error correction of the read data in response to the locations and likely states of the known bad or questionable data positions of the selected segment.

2. The memory of claim 1 , wherein prioritizing the error correction of the read data comprises evaluating versions of the read data with states of the known bad or questionable data positions having a higher probability of generating a correction before evaluating other versions of the read data.

3. The memory of claim 2 , wherein when a particular version of the read data checked with those states of the known bad or questionable data positions having a higher probability of generating a correction evaluates as correct, the memory is adapted to select that version of the read data of the selected segment for transfer from the memory.

4. The memory of claim 1 , wherein a state of a particular known bad or questionable data position having a higher probability of generating a correction comprises one or more states of two or more possible states of the particular known bad or questionable data position other than the likely state of the particular known bad or questionable data position.

5. The memory of claim 1 , wherein the memory is adapted to invoke an ECC data correction algorithm to include evaluation of data positions of the selected segment other than the known bad or questionable data positions when no version of the read data checked with those states of the known bad or questionable data positions having a higher probability of generating a correction evaluates as correct.

6. The memory of claim 1 , wherein error correction comprises evaluating, in parallel, different versions of the read data utilizing the associated ECC codes.

7. The memory of claim 1 , wherein error correction comprises iteratively evaluating different versions of the read data utilizing the associated ECC codes.

8. A memory comprising:

a memory array containing a plurality of memory cells arranged into a plurality of segments; and

a record of locations and likely states of known bad or questionable data positions in the plurality of segments;

wherein the memory is adapted to read data and associated ECC codes from a selected segment of the memory array, and to error check the read data utilizing the associated ECC codes; and

when the error check detects an error in the read data:

wherein the memory is adapted to evaluate versions of the read data with states of the known bad or questionable data positions other than their likely states against the associated ECC codes until a particular version of the read data evaluates as correct; and

wherein the memory is adapted, when no version of the read data with states of the known bad or questionable data positions other than their likely states evaluates as correct, to invoke error correction to include evaluation of data positions of the selected segment other than the known bad or questionable data positions.

9. A method of correcting data in a memory, comprising:

reading data and associated ECC codes from a selected memory segment of a memory;

reading locations and likely states of any known bad or questionable data positions of the selected memory segment;

checking the read data utilizing the associated ECC codes; and

when an error is detected in the read data:

prioritizing error correction of the read data in response to the locations and likely states of the known bad or questionable data positions of the selected segment.

10. The method of claim 9 , wherein prioritizing the error correction of the read data comprises evaluating versions of the read data with states of the known bad or questionable data positions having a higher probability of generating a correction before evaluating other versions of the read data.

11. The method of claim 9 , wherein a state of a particular known bad or questionable data position having a higher probability of generating a correction comprises one or more states of two or more possible states of the particular known bad or questionable data position other than the likely state of the particular known bad or questionable data position.

12. The method of claim 9 , wherein error correction comprises:

error checking versions of the read data by evaluating different versions of the read data in one or more ECC checks for one or more states of two or more possible data states of each of the known bad or questionable data positions of the selected segment;

selecting particular states of the known bad or questionable data positions when those particular states result in a particular version of the read data that correctly evaluates in an ECC check with the associated ECC codes; and

correcting the read data to correspond to the particular version of the read data prior to transferring the read data from the memory.

13. The method of claim 12 , wherein evaluating different versions of the read data in one or more ECC checks for one or more states of two or more possible data states of each of the known bad or questionable data positions of the selected segment comprises evaluating versions of the read data containing states of the known bad or questionable data positions of the selected segment other than their likely states.

14. The method of claim 9 , further comprising:

storing the locations and the likely states of the known bad or questionable data positions of the selected memory segment to a record of the memory.

15. The method of claim 9 , further comprising invoking error correction to include evaluation of data positions of the selected segment other than the known bad or questionable data positions when no states of the known bad or questionable data positions result in a version of the read data that correctly evaluates in an ECC check with the associated ECC codes.

16. The method of claim 9 , wherein evaluating the different versions of the read data comprises evaluating the different versions of the read data in parallel.

17. The method of claim 9 , wherein evaluating the different versions of the read data comprises evaluating the different versions of the read data iteratively.

18. A method of correcting data in a memory, comprising:

reading data and associated ECC codes from a selected memory segment of a memory;

reading locations and likely states of any known bad or questionable data positions of the selected memory segment;

checking the read data utilizing the associated ECC codes; and

when an error is detected in the read data:

error checking versions of the read data by evaluating different versions of the read data in one or more ECC checks with the associated ECC codes for one or more states of two or more possible data states of each of the known bad or questionable data positions of the selected segment other than the corresponding likely state of each of the known bad or questionable data positions of the selected segment;

when particular states of the known bad or questionable data positions result in a particular version of the read data that correctly evaluates in an ECC check with the associated ECC codes, correcting the read data to correspond to the particular version of the read data prior to transferring the read data from the memory; and

when no states of the known bad or questionable data positions result in a version of the read data that correctly evaluates in an ECC check with the associated ECC codes, invoking error correction to include evaluation of data positions of the selected segment other than the known bad or questionable data positions.

19. The method of claim 18 , wherein evaluating different versions of the read data in one or more ECC checks for one or more states of two or more possible data states of each of the known bad or questionable data positions of the selected segment comprises evaluating versions of the read data containing states of the known bad or questionable data positions of the selected segment other than their likely states.

20. The method of claim 18 , further comprising:

storing the locations and the likely states of the known bad or questionable data positions of the selected memory segment to a record of the memory.

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