IP Library › Granted Patent US 8,416,623
Granted Patent B2
US 8,416,623 · App. 13/447,789 · Granted Apr 9, 2013

Reference voltage optimization for flash memory

Inventor: Xueshi Yang (Cupertino, CA)
Assignee: Marvell World Trade Ltd.
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,416,623
App. No.
13/447,789
Filed
Apr 16, 2012
Granted
Apr 9, 2013
Kind
B2
Art Unit
2827
USPC
365/185.18
Abstract

A system includes a voltage generator and a reference voltage setting module. The voltage generator is configured to generate K voltages to be applied to memory cells. The K voltages are used to determine a reference voltage used to read the memory cells, where K is an integer greater than 1. The reference voltage setting module is configured to selectively set the reference voltage to a value between two adjacent ones of the K voltages or one of the two adjacent ones of the K voltages.

Claims (77)

1. A system comprising:

a reference voltage setting module configured to set a reference voltage that is to be used to read a plurality of memory cells, wherein the reference voltage is set based on

(i) applying a plurality of voltages to the plurality of memory cells, and

(ii) sensing currents through the plurality of memory cells in response to applying each of the plurality of voltages to the plurality of memory cells; and

a counting module configured to generate, based on the currents sensed through the plurality of memory cells, counts of memory cells having threshold voltages between pairs of the plurality of voltages,

wherein the reference voltage setting module is configured to

select a first pair of voltages having a smallest of the counts from the pairs of the plurality of voltages; and

set the reference voltage to (i) a first voltage between the first pair of voltages or (ii) one of the first pair of voltages.

2. The system of claim 1 , wherein:

the counting module is configured to generate average counts for the pairs of the plurality of voltages by averaging the counts generated for a plurality of the pairs of the plurality of voltages; and

the reference voltage setting module is configured to

select a second pair of voltages having a smallest of the average counts from the pairs of the plurality of voltages, and

set the reference voltage to (i) a second voltage between the second pair of voltages or (ii) one of the second pair of voltages.

3. The system of claim 1 , wherein the counting module is configured to generate:

a first count of memory cells having threshold voltages less than a first one of the plurality of voltages in response to applying the first one of the plurality of voltages to the plurality of memory cells,

a second count of memory cells having threshold voltages less than a second one of the plurality of voltages in response to applying the second one of the plurality of voltages to the plurality of memory cells, and

generate one of the counts based on a difference between the first count and the second count.

4. The system of claim 1 , wherein:

each of the plurality of memory cells includes a flash memory cell capable of storing a plurality of bits, and

the reference voltage is (i) one of a plurality of reference voltages and (ii) determined independently of others of the plurality of reference voltages.

5. A system comprising:

a reference voltage setting module configured to set a reference voltage that is to be used to read a plurality of memory cells, wherein the reference voltage is set based on

(i) applying a plurality of voltages to the plurality of memory cells, and

(ii) sensing currents through the plurality of memory cells in response to applying each of the plurality of voltages to the plurality of memory cells; and

a counting module configured to generate, based on the currents sensed through the plurality of memory cells, counts of 1's or 0's detected for pairs of the plurality of voltages,

wherein the reference voltage setting module is configured to

select a pair of voltages having a smallest of the counts from the pairs of the plurality of voltages, and

set the reference voltage to (i) a value between the selected pair of voltages or (ii) one of the selected pair of voltages.

6. The system of claim 5 , wherein the counting module is configured to generate:

a first count of the 1's or 0's in response to applying the first one of the plurality of voltages to the plurality of memory cells,

a second count of the 1's or 0's in response to applying the second one of the plurality of voltages to the plurality of memory cells, and

generate one of the counts based on a difference between the first count and the second count.

7. The system of claim 5 , wherein when (i) each of the plurality of the memory cells stores 3-bits, the reference voltage being one of seven reference voltages, and (ii) Gray mapping is used to map states of the memory cells, the system further comprising a selector module configured to select:

a most significant bit (MSB) page comprising MSB's of the memory cells when the reference voltage being determined is fourth of the seven reference voltages;

a least significant bit (LSB) page comprising LSB's of the memory cells when the reference voltage being determined is one of first, third, fifth, and seventh of the seven reference voltages; and

a central significant bit (CSB) page comprising CSB's of the memory cells when the reference voltage being determined is one of second and sixth of the seven reference voltages.

8. A method comprising:

applying a plurality of voltages to a plurality of memory cells;

sensing currents through the plurality of memory cells in response to applying each of the plurality of voltages to the plurality of memory cells;

generating, based on the currents sensed through the plurality of memory cells, counts of 1's or 0's detected for pairs of the plurality of voltages;

selecting a pair of voltages having a smallest of the counts from the pairs of the plurality of voltages; and

setting the reference voltage to (i) a value between the selected pair of voltages or (ii) one of the selected pair of voltages.

9. The method of claim 8 , further comprising:

generating a first count of the 1's or 0's in response to applying the first one of the plurality of voltages to the plurality of memory cells;

generating a second count of the 1's or 0's in response to applying the second one of the plurality of voltages to the plurality of memory cells; and

generating one of the counts based on a difference between the first count and the second count.

10. The method of claim 8 , wherein when (i) each of the plurality of the memory cells stores 3-bits, the reference voltage being one of seven reference voltages, and (ii) Gray mapping is used to map states of the memory cells, the method further comprising:

selecting a most significant bit (MSB) page comprising MSB's of the memory cells when the reference voltage being determined is fourth of the seven reference voltages;

selecting a least significant bit (LSB) page comprising LSB's of the memory cells when the reference voltage being determined is one of first, third, fifth, and seventh of the seven reference voltages; and

selecting a central significant bit (CSB) page comprising CSB's of the memory cells when the reference voltage being determined is one of second and sixth of the seven reference voltages.

11. The system of claim 1 , further comprising:

a threshold voltage module configured to determine threshold voltages of the plurality of memory cells based on the currents; and

a read module configured to read data stored in the plurality of memory cells by comparing the threshold voltages to the reference voltage.

12. The system of claim 1 , further comprising an optimization module configured to determine when to optimize the reference voltage based on at least one of:

a number of erase/program cycles performed on the plurality of memory cells;

a number of read errors detected over a period of time when reading the memory cells;

and a period of time elapsed since a prior optimization of the reference voltage.

13. A method comprising:

applying a plurality of voltages to a plurality of memory cells;

sensing currents through the plurality of memory cells in response to applying each of the plurality of voltages to the plurality of memory cells;

generating, based on the currents sensed through the plurality of memory cells, counts of memory cells having threshold voltages between pairs of the plurality of voltages;

selecting a first pair of voltages having a smallest of the counts from the pairs of the plurality of voltages; and

setting a reference voltage to read the plurality of memory cells to (i) a first voltage between the first pair of voltages or (ii) one of the first pair of voltages.

14. The method of claim 13 , further comprising:

generating average counts for the pairs of the plurality of voltages by averaging the counts generated for a plurality of the pairs of the plurality of voltages;

selecting a second pair of voltages having a smallest of the average counts from the pairs of the plurality of voltages; and

setting the reference voltage to (i) a second voltage between the second pair of voltages or (ii) one of the second pair of voltages.

15. The method of claim 13 , further comprising:

generating a first count of memory cells having threshold voltages less than a first one of the plurality of voltages in response to applying the first one of the plurality of voltages to the plurality of memory cells,

generating a second count of memory cells having threshold voltages less than a second one of the plurality of voltages in response to applying the second one of the plurality of voltages to the plurality of memory cells, and

generating one of the counts based on a difference between the first count and the second count.

16. The method of claim 13 , further comprising:

determining threshold voltages of the plurality memory cells based on the currents; and

reading data stored in the plurality of memory cells by comparing the threshold voltages to the reference voltage.

17. The method of claim 13 , further comprising determining when to optimize the reference voltage based on at least one of:

a number of erase/program cycles performed on the memory cells;

a number of read errors detected over a period of time when reading the memory cells; and a period of time elapsed since a prior optimization of the reference voltage.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
Continuity (3)
Continuation 12791430 · Jun 1, 2010
Provisional Application 61183859 · Jun 3, 2009
Related Publication 20120236655A1 · Sep 20, 2012