IP Library Granted Patent US 8,422,302
Granted Patent B2
US 8,422,302 · App. 13/488,625 · Granted Apr 16, 2013

Programming non-volatile memory with variable initial programming pulse

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,422,302
App. No.
13/488,625
Granted
Apr 16, 2013
Kind
B2
Abstract

Multiple programming processes are performed for a plurality of non-volatile storage elements. Each of the programming process operates to program at least a subset of the non-volatile storage elements to a set of target conditions using programming pulses. For at least a subset of the programming processes, a programming pulse associated with achieving an intermediate result for a respective programming process is identified, a pulse increment between programming pulses is decreased for the respective programming process while continuing the respective programming process to program non-volatile storage elements to the respective one or more targets and the identified programming pulse is used to adjust a starting programming voltage for a subsequent programming process.

Claims (14)

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

performing multiple programming processes for a plurality of non-volatile storage elements, each of the programming processes operate to program at least a subset of the non-volatile storage elements to a respective set of target conditions using programming pulses; and

for at least a subset of the programming processes: identifying a programming pulse associated with achieving an intermediate result for a respective programming process, decreasing a pulse increment between programming pulses for the respective programming process while continuing the respective programming process to program non-volatile storage elements to respective one or more target conditions, and using the identified programming pulse to adjust a starting program voltage for a subsequent programming process for the non-volatile storage elements.

2. The method of claim 1 , wherein:

once started, each programming process for a particular set of non-volatile storage elements is completed prior to programming other non-volatile storage elements.

3. The method of claim 1 , wherein:

the intermediate result is an intermediate threshold voltage level that is lower than threshold voltage levels used to lockout non-volatile storage elements from programming due to respective programming pulses.

4. The method of claim 1 , wherein:

the respective programming process is performed for first user data; and

the subsequent programming process is performed for second user data.

5. The method according to claim 1 , wherein:

the respective programming process is an earlier stage of a multi-stage programming process for a first group of non-volatile storage elements;

the subsequent programming process is a later stage of the multi-stage programming process; and

the method further includes programming non-volatile storage elements other than the first group of non-volatile storage elements subsequent to the earlier stage of the multi-stage programming process and prior to the later stage of the multi-stage programming process.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2025
From: SANDISK TECHNOLOGIES LLC
To: PALISADE TECHNOLOGIES, LLP
Reel/Frame 071435/0463 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: HEMINK, GERRIT JAN
To: SANDISK CORPORATION
Reel/Frame 028319/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 028319/0847 →