IP Library Granted Patent US 7,453,731
Granted Patent B2
US 7,453,731 · App. 11/531,227 · Granted Nov 18, 2008

Method for non-volatile memory with linear estimation of initial programming voltage

Assignee: Sandisk Corporation
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 7,453,731
App. No.
11/531,227
Granted
Nov 18, 2008
Kind
B2
Abstract

In a non-volatile memory, a selected page on a word line is successively programmed by a series of voltage pulses of a staircase waveform with verifications in between the pulses until the page is verified to a designated pattern. The programming voltage at the time the page is programmed verified will be to estimate the initial value of a starting programming voltage for the page. The estimation is further refined by using the estimate from a first pass in a second pass. Also, when the test is over multiple blocks, sampling of word lines based on similar geometrical locations of the blocks can yield a starting programming voltage optimized for faster programming pages.

Claims (41)

1. In a non-volatile memory having an array of memory cells that is organized into erasable blocks, each erasable block containing a block of word lines for accessing memory cells that are erasable together, and each word line containing at least one page of memory cells that are programmable together, a method of determining a starting programming voltage for a given page, comprising:

(a) selecting a sample of pages representative of the given page;

(b) providing a programming voltage for programming each page of the sample, the programming voltage having a staircase waveform with an initial value and a predetermined maximum voltage limit;

(c) erasing the sample of pages;

(d) for every page in the sample, programming and verifying the page step by step of the staircase waveform until either the maximum voltage limit has been reached or the page has been programmed to a target pattern and in which case a final programming voltage is accumulated as part of a gathered statistics; and

(e) computing an average final programming voltage for the sample from the gathered statistics to derive a starting programming voltage for the page.

2. The method as in claim 1 , wherein:

the starting programming voltage for the page is derived by negatively offsetting the average final voltage programming voltage for the sample of the page by a predetermined number of steps.

3. The method as in claim 1 , wherein

the step of the staircase waveform is commensurate that of another staircase waveform applied to the memory during a normal program operation.

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

repeating (b) to (e) with the initial value being set to the derived starting programming voltage.

5. The method as in claim 1 , wherein:

the sample is part of larger sample taken from a plurality of blocks in the memory array; and

the gathered statistics includes accumulated initial values associated with programmable pages from the plurality of blocks.

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

(g) providing an associated programming voltage for programming each page of the sample, the associated programming voltage having a staircase waveform with an associated initial value and a predetermined number of steps;

(h) setting the associated initial value to the average starting programming voltage for the page determined in (a)-(f);

(i) erasing the block containing the sample of pages;

(j) determining for every page in the sample if the page is programmable to a target pattern using the associated programming voltage with the associated initial value; and if programmable, excluding the page from further processing after accumulating the associated initial value as part of a gathered statistics, otherwise, incrementing the associated initial value by a predetermined step;

(k) repeating (i) to (j) until all pages in the sample has either been determined to be programmable or the associated initial value has been incremented to a predetermined maximum voltage;

(f) computing an average starting programming voltage for the sample from the gathered statistics to derive a starting programming voltage for the page.

7. The method as in claim 2 , wherein the predetermined number of steps is fifteen or less.

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

repeating (b) to (e) with the initial value being set to the derived starting programming voltage.

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

repeating (b) to (e) with the initial value being set to the derived starting programming voltage.

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

repeating (b) to (e) with the initial value being set to the derived starting programming voltage.

11. The method as in claim 5 , further comprising:

forming a set of samples by selecting a page from each block, the page being located in a geometrically similar location of each block;

obtaining a statistical estimation of a programming voltage from each sample of the set; and

wherein the step of computing an average starting programming voltage for the sample is by selecting a minimum statistical estimation among the set.

12. In a non-volatile memory having an array of memory cells that are organized into blocks, each block containing a block of word lines for accessing memory cells that are erasable together, and each word line containing at least one page of memory cells that are programmable together, a method of determining a starting programming voltage for a page, comprising:

selecting a group of pages representative of the page within a block;

selecting a set of blocks;

forming a set of samples by selecting a page from each block, the page being located in a geometrically similar location of each block;

obtaining a statistical estimation of a programming voltage from each sample of the set; and

determining the starting programming voltage for the page by selecting a minimum statistical estimation among the set.

13. The method as in any one of claims 1 - 12 , wherein individual memory cells each stores one bit of data.

14. The method as in any one of claims 1 - 12 , wherein individual memory cells each stores more than one bit of data.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2021
From: SANDISK TECHNOLOGIES LLC
To: WODEN TECHNOLOGIES INC.
Reel/Frame 058871/0928 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038809/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026382/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2006
From: TU, LOC; HOOK, CHARLES MOANA; LI, YAN
To: SANDISK CORPORATION
Reel/Frame 018402/0524 →
Continuity (1)
Related Publication 20080062765A1 · Mar 13, 2008