IP Library Granted Patent US 8,782,495
Granted Patent B2
US 8,782,495 · App. 12/978,348 · Granted Jul 15, 2014

Non-volatile memory and methods with asymmetric soft read points around hard read points

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,495
App. No.
12/978,348
Granted
Jul 15, 2014
Kind
B2
Abstract

A non-volatile memory has its cells' thresholds programmed within any one of a first set of voltage bands partitioned by a first set of reference thresholds across a threshold window. The cells are read at a higher resolution relative to a second set of reference thresholds so as to provide additional soft bits for error correction. The reference thresholds of the second set are set up to be non-uniformly distributed on the threshold window so as to provide higher resolution at designated regions. At the same time they are conducive to be read in groups for soft bits to be read bit-by-bit systematically with a simple algorithm and read circuit and using a minimum of data latches. This is accomplished by relaxing the requirement that the first set of reference threshold is a subset of the second set and that the resulting soft bits are symmetrically distributed about the hard bits.

Claims (66)

1. A method of reading a cell of a non-volatile memory, the cell having a threshold window demarcated by a first set of (L−1) reference thresholds into a first set of L bands, with L being an integer >1, and the cell having being programmed with a threshold among one of the L bands, said method comprising:

setting a first portion of a second set of reference thresholds, the first portion having L−1 reference thresholds that corresponds to the first set;

setting a second portion of additional M reference thresholds for the second set, with M being an integer, the additional M reference thresholds being distributed non-uniformly in the threshold window with a higher density clustering asymmetrically around each of the second set of L−1 demarcation thresholds;

the first and second portions of the second set of L+M−1 reference thresholds demarcating the threshold window into L+M bands; and

reading the cell by locating a band containing the programmed threshold among the L+M bands of the second set.

2. The method as in claim 1 , further comprising:

designating a different code word having x bits, with x being an integer, for each of the L bands of the first portion of the second set, where 2 x >=L;

designating a different code word having x+y bits, with y being an integer, for each of the (L+M) bands of the second set, where 2 (x+y) >=L+M; and

reading out each bit of the code word having (x+y) bits for the band containing the programmed threshold among the L+M bands of the second set.

3. The method as in claim 2 , wherein:

the bits of the code word having (x+y) bits are read bit-by-bit by successively binary chopping on the threshold window into successive bands using the second set of reference thresholds and determining the programmed threshold among each of the successive bands.

4. The method as in claim 2 , further comprising:

processing the read-out code word having (x+y) bits with an error correcting code (ECC) decoder to obtain an error-corrected x-bit code word for the cell.

5. The method as in claim 4 , wherein:

said setting of reference thresholds of the second set is distributed across the threshold window non-uniformly to optimize the ECC decoder processing of the code word having (x+y) bits.

6. The method as in claim 4 , further comprising:

predetermining an expected cell error rate (CER) for the cell; and

employing sufficiently large values of M and y for the ECC decoder to correct the predetermined CER.

7. The method as in claim 4 , further comprising:

determining sufficient values for M and y by trial and error, by progressively increasing M and y until the ECC decoder is able to obtain the error-corrected code word having x bits for the cell; and

employing the determined sufficient values of M and y for subsequent reading of the cell.

8. The method as in claim 1 , wherein:

the cell is connected to a first word line and is also affected by a voltage on an adjacent word line; and

said setting of reference thresholds of the second set is by permuting a first set of voltages on the first word line and a second set of voltages on the adjacent word line.

9. The method as in claim 1 , wherein:

the second set of reference thresholds are divided into multiple groups each having substantially similar number of reference thresholds; and

reading the cell bit-by-bit by sensing the cell relative to each of the multiple groups of reference thresholds.

10. The method as in claim 9 , further comprising:

providing an additional dummy read at a dummy reference threshold of no consequence so as to make the number reference thresholds in a group identical to the other groups.

11. The method as in claim 1 , wherein:

the cell is one of a group of memory cells of the non-volatile memory that are operated on in parallel.

12. A non-volatile memory, comprising:

a cell having a threshold window demarcated by a first set of (L−1) reference thresholds into a first set of L bands, with L being an integer >1, said cell having being programmed with a threshold among one of the L bands;

a first portion of a second set of reference thresholds, the first portion having L−1 reference thresholds that corresponds to the first set;

a second portion of additional M reference thresholds for the second set, with M being an integer, the additional M reference thresholds being distributed non-uniformly in the threshold window with a higher density clustering asymmetrically around each of the second set of L−1 demarcation thresholds;

said first and second portions of the second set of L+M−1 reference thresholds demarcating the threshold window into L+M bands; and

a read circuit for reading the cell by locating a band containing the programmed threshold among the L+M bands of the second set.

13. The non-volatile memory as in claim 12 , further comprising:

a different code word having x bits, with x being an integer, for each of the L bands of the first portion of the second set, where 2 x >=L;

a different code word having x+y bits, with y being an integer, for each of the (L+M) bands of the second set, where 2 (x+y) >=L+M; and

wherein said read circuit for reading out each bit of the code word having (x+y) bits.

14. The non-volatile memory as in claim 13 , wherein:

the bits of the code word having (x+y) bits are read bit-by-bit by successively binary chopping on the threshold window into successive bands using the second set of reference thresholds to determine the programmed threshold among each of the successive bands.

15. The non-volatile memory as in claim 13 , further comprising:

an error correcting code (ECC) decoder;

said ECC decoder processing the read-out code word having (x+y) bits with an error correcting code (ECC) decoder to obtain an error-corrected x-bit code word for the cell.

16. The non-volatile memory as in claim 15 , wherein:

said reference thresholds of the second set are distributed non-uniformly across the threshold window to optimize the ECC decoder processing of the code word having (x+y) bits.

17. The non-volatile memory as in claim 15 , further comprising:

a predetermined expected cell error rate (CER) for the cell; and

wherein said different code word having (x+y) bits for each of the (L+M) bands of the second set having sufficiently large values for M and y for the ECC decoder to correct the predetermined CER.

18. The non-volatile memory as in claim 15 , wherein:

said different code word having (x+y) bits for each of the (L+M) bands of the second set having sufficiently large values for M and y are determined by trial and error, progressively with increasing M and y at each trail until the ECC decoder is able to obtain the error-corrected code word having x bits for the cell; and

said reading circuit is responsive to the determined sufficiently large values of M and y for subsequent reading of the cell.

19. The non-volatile memory as in claim 12 , further comprising:

a first word line connected to the cell;

an adjacent word line having a voltage that affects the cell; and

wherein said setting of reference thresholds of the second set is formed by permuting a first set of voltages on the first word line and a second set of voltages on the adjacent word line.

20. The non-volatile memory as in claim 12 , wherein:

the second set of reference thresholds consists of multiple groups each having substantially similar number of reference thresholds; and

said read circuit reading the cell bit-by-bit by sensing the cell relative to each of the multiple groups of reference thresholds.

21. The non-volatile memory as in claim 20 , further comprising:

an additional dummy reference threshold included in a group in said second set, thereby making the number of reference thresholds in each group identical; and

wherein said read circuit reading relative to the group including or not including the dummy reference threshold yields the same result.

22. The non-volatile memory as in claim 12 , wherein:

the cell is one of a group of memory cells of the non-volatile memory that are operated on in parallel.

Assignments (3)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →