IP Library Granted Patent US 7,486,561
Granted Patent B2
US 7,486,561 · App. 11/425,790 · Granted Feb 3, 2009

Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages

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,486,561
App. No.
11/425,790
Granted
Feb 3, 2009
Kind
B2
Abstract

A set of non-volatile storage elements undergoes initial programming, after which a reprogramming, with higher verify levels, is performed in non-real time, such as when a control enters a standby mode, when no other read or write tasks are pending. The reprogramming can program pages in the set one at a time, stopping at a page boundary when another read or write task is pending, and restarting when the control become available again. Status flags can be provided to identify whether a page and/or the set has completed the reprogramming. In another aspect, a higher pass voltage is applied to unselected word lines during the reprogramming. In another aspect, an error count is determined using a default set of read voltages, and an alternative set of read voltages is selected if the count exceeds a threshold.

Claims (30)

1. A method for operating non-volatile storage, comprising:

programming a plurality of non-volatile storage elements via a plurality of word lines according to different target data states, in an initial programming, starting from a first of the plurality of word lines and proceeding successively to each next word line until a last of the plurality of word lines is reached, so that the plurality of non-volatile storage elements are programmed to associated threshold voltage distributions which correspond to the different target data states;

after the initial programming is completed, performing further programming of at least some of the plurality of non-volatile storage elements according to the different target data states to tighten the associated threshold voltage distributions; and

when programming non-volatile storage elements associated with a given one of the plurality of word lines, in the initial programming, applying a first pass voltage to at least one other word line of the plurality of word lines, and, in the further programming, applying a second pass voltage, different than the first pass voltage, to the at least one other word line.

2. The method of claim 1 , wherein:

the second pass voltage is higher than the first pass voltage.

3. A method for operating non-volatile storage, comprising:

reading at least a first portion of a plurality of non-volatile storage elements using first threshold voltage read levels which are associated with first threshold voltage verify levels for the plurality of non-volatile storage elements;

determining an error count from the reading; and

if the error count exceeds a threshold, re-reading the at least a first portion of the plurality of non-volatile storage elements using second threshold voltage read levels, which differ from the first threshold voltage read levels, and which are associated with second threshold voltage verify levels for the plurality of non-volatile storage elements.

4. The method of claim 3 , wherein:

the second threshold voltage read levels are higher than corresponding ones of the first threshold voltage read levels.

5. The method of claim 3 , wherein:

the second threshold voltage read levels are lower than corresponding ones of the first threshold voltage read levels.

6. The method of claim 3 , wherein:

the first portion stores at least one page of data.

7. The method of claim 3 , further comprising:

selecting the threshold voltage read levels with which the first portion of the plurality of non-volatile storage elements was most recently read to read a second portion of the plurality of non-volatile storage elements, in an initial read attempt.

8. The method of claim 3 , further comprising:

programming the plurality of non-volatile storage elements in an initial programming using the first threshold voltage verify levels and subsequently further programming at least some of the plurality of non-volatile storage elements using the second threshold voltage verify levels.

9. The method of claim 3 , further comprising:

programming the plurality of non-volatile storage elements in an initial programming using the second threshold voltage verify levels and subsequently further programming at least some of the plurality of non-volatile storage elements using the first threshold voltage verify levels.

10. A method for operating non-volatile storage, comprising:

programming a plurality of non-volatile storage elements via a plurality of word lines according to different target data states, in an initial programming, starting from a first of the plurality of word lines and proceeding successively to each next word line until a last of the plurality of word lines is reached, so that the plurality of non-volatile storage elements are programmed to associated threshold voltage distributions which correspond to the different target data states;

after the initial programming is completed, performing further programming of at least some of the plurality of non-volatile storage elements according to the different target data states to tighten the associated threshold voltage distributions; and

performing the further programming at different times after at least one circuit which manages programming of the plurality of non-volatile storage elements enters a standby mode.

11. A method for operating non-volatile storage, comprising:

programming a plurality of non-volatile storage elements via a plurality of word lines according to different target data states, in an initial programming, starting from a first of the plurality of word lines and proceeding successively to each next word line until a last of the plurality of word lines is reached, so that the plurality of non-volatile storage elements are programmed to associated threshold voltage distributions which correspond to the different target data states;

after the initial programming is completed, performing further programming of at least some of the plurality of non-volatile storage elements according to the different target data states to tighten the associated threshold voltage distributions; and

programming a portion of the plurality of non-volatile storage elements in the further programming when there is no other task of higher priority pending, subsequently suspending the further programming to service another task of higher priority, and subsequently resuming the further programming when there is again no other task of higher priority pending.

Assignments (6)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
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 1, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026368/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2006
From: MOKHLESI, NIMA
To: SANDISK CORPORATION
Reel/Frame 018022/0014 →
Continuity (1)
Related Publication 20070297226A1 · Dec 27, 2007