IP Library Granted Patent US 9,053,819
Granted Patent B2
US 9,053,819 · App. 13/546,553 · Granted Jun 9, 2015

Programming method to tighten threshold voltage width with avoiding program disturb

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 9,053,819
App. No.
13/546,553
Granted
Jun 9, 2015
Kind
B2
Abstract

A non-volatile storage system that performs a multi-stage programming process to program non-volatile storage to a set of data threshold voltage distributions. The multi-stage programming process includes performing a first stage of the multi-stage programming process to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions, performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions, and performing a later stage of the multi-stage programming process, after performing the intermediate stage of the multi-stage programming process, to tighten only a subset of the data threshold voltage distributions.

Claims (83)

1. A method for programming non-volatile storage to a set of data threshold voltage distributions, comprising:

performing a first stage of a multi-stage programming process for a set of non-volatile storage elements connected to a common word line to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions;

performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions; and

performing a later stage of the multi-stage programming process, after the intermediate stage, that tightens only lower state data threshold voltage distributions without tightening upper state data threshold voltage distributions.

2. The method of claim 1 , wherein:

the performing the intermediate stage comprises programming non-volatile storage elements to all distributions of the data threshold voltage distributions.

3. The method of claim 1 , wherein:

the performing the intermediate stage comprises first programming a first subset of the non-volatile storage elements to upper state data threshold voltage distributions and subsequently programming a second subset of the non-volatile storage elements to lower state data threshold voltage distributions.

4. The method of claim 3 , wherein:

the upper state data threshold voltage distributions are not tightened after the programming of the second subset of the non-volatile storage elements to the lower state data threshold voltage distributions.

5. A method for programming non-volatile storage to a set of data threshold voltage distributions, comprising:

performing a first stage of a multi-stage programming process for a set of non-volatile storage elements connected to a common word line to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions;

performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions; and

performing a later stage of the multi-stage programming process, after the intermediate stage, that tightens only a subset of the data threshold voltage distributions,

wherein:

the performing the intermediate stage comprises programming non-volatile storage elements to upper state data threshold voltage distributions and a first set of lower state data threshold voltage distributions without programming non-volatile storage elements to a second set of the lower state data threshold voltage distributions; and

the performing the later stage of the multi-stage programming process comprises:

tightening the upper state data threshold voltage distributions,

tightening the first set of the lower state data threshold voltage distributions after tightening the upper state data threshold voltage distributions, and

programming non-volatile storage elements into the second set of the lower state data threshold voltage distributions.

6. A method for programming non-volatile storage to a set of data threshold voltage distributions, comprising:

performing a first stage of a multi-stage programming process for a set of non-volatile storage elements connected to a common word line to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions;

performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions; and

performing a later stage of the multi-stage programming process, after the intermediate stage, that tightens only a subset of the data threshold voltage distributions,

wherein:

the performing the intermediate stage comprises programming non-volatile storage elements to multiple distributions of the data threshold voltage distributions;

the performing the later stage of the multi-stage programming process comprises first tightening upper state data threshold voltage distributions and subsequently tightening lower state data threshold voltage distributions;

programming non-volatile storage elements to multiple distributions of the data threshold voltage distributions comprises programming non-volatile storage elements to the upper state data threshold voltage distributions and a first set of the lower state data threshold voltage distributions; and

the performing the later stage of the multi-stage programming process comprises subsequently programming non-volatile storage elements into a second set of the lower state data threshold voltage distributions after the tightening of the upper state data threshold voltage distributions.

7. The method of claim 6 , wherein:

the performing the intermediate stage comprises programming non-volatile storage elements to upper state data threshold voltage distributions without programming non-volatile storage elements to lower state data threshold voltage distributions; and

the performing the later stage of the multi-stage programming process comprises tightening the upper state data threshold voltage distributions and subsequently programming non-volatile storage elements into the lower state data threshold voltage distributions.

8. The method of claim 7 , wherein:

non-volatile storage elements are not programmed to the upper state data threshold voltage distributions and the upper state data threshold voltage distributions are not tightened after the programming of the non-volatile storage elements to the lower state data threshold voltage distributions.

9. A non-volatile storage system, comprising:

a plurality of non-volatile storage elements; and

one or more managing circuits in communication with the non-volatile storage elements, said one or more managing circuits program the non-volatile storage elements to a set of data threshold voltage distributions by performing a multi-stage programming process including performing a first stage of the multi-stage programming process to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions, performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions, and performing a later stage of the multi-stage programming process, after performing the intermediate stage of the multi-stage programming process, by tightening only lower state data threshold voltage distributions without tightening upper state data threshold voltage distributions.

10. The non-volatile storage system of claim 9 , wherein:

the one or more managing circuits perform the intermediate stage of the multi-stage programming process by programming non-volatile storage elements to all distributions of the data threshold voltage distributions.

11. The non-volatile storage system of claim 9 , wherein:

the one or more managing circuits perform the intermediate stage of the multi-stage programming process by first programming a first subset of the non-volatile storage elements to upper state data threshold voltage distributions and subsequently programming a second subset of the non-volatile storage elements to lower state data threshold voltage distributions.

12. The non-volatile storage system of claim 11 , wherein:

the upper state data threshold voltage distributions are not tightened after the programming of the second subset of the non-volatile storage elements to the lower state data threshold voltage distributions.

13. The non-volatile storage system of claim 9 , wherein:

the one or more managing circuits perform the intermediate stage by programming non-volatile storage elements to upper state data threshold voltage distributions without programming non-volatile storage elements to lower state data threshold voltage distributions; and

the one or more managing circuits perform the later stage of the multi-stage programming process by tightening the upper state data threshold voltage distributions and subsequently programming non-volatile storage elements into the lower state data threshold voltage distributions.

14. The non-volatile storage system according to claim 9 , wherein:

the plurality of non-volatile storage elements are flash memory devices.

15. The non-volatile storage system according to claim 9 , wherein:

the plurality of non-volatile storage elements are multi-state flash memory devices.

16. The non-volatile storage system according to claim 9 , wherein:

the plurality of non-volatile storage elements are NAND multi-state flash memory devices.

17. The non-volatile storage system according to claim 9 , wherein:

the one or more managing circuits include any one or a combination of a controller, a state machine, a power control circuit, a command circuit, a control circuit and a decoder circuit.

18. A non-volatile storage system, comprising:

a plurality of non-volatile storage elements; and

one or more managing circuits in communication with the non-volatile storage elements, said one or more managing circuits program the non-volatile storage elements to a set of data threshold voltage distributions by performing a multi-stage programming process including performing a first stage of the multi-stage programming process to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions, performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions, and performing a later stage of the multi-stage programming process, after performing the intermediate stage of the multi-stage programming process, to tighten only a subset of the data threshold voltage distributions,

wherein:

the one or more managing circuits perform the intermediate stage by programming non-volatile storage elements to upper state data threshold voltage distributions and a first set of lower state data threshold voltage distributions without programming non-volatile storage elements to a second set of the lower state data threshold voltage distributions; and

the one or more managing circuits perform the later stage of the multi-stage programming process by first tightening the upper state data threshold voltage distributions, and subsequently tightening the first set of the lower state data threshold voltage distributions and programming non-volatile storage elements into the second set of the lower state data threshold voltage distributions after tightening the upper state data threshold voltage distributions.

19. A non-volatile storage system, comprising:

a plurality of non-volatile storage elements; and

one or more managing circuits in communication with the non-volatile storage elements, said one or more managing circuits program the non-volatile storage elements to a set of data threshold voltage distributions by performing a multi-stage programming process including performing a first stage of the multi-stage programming process to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to one or more intermediate distributions, performing an intermediate stage of the multi-stage programming process to change threshold voltages of at least some of the non-volatile storage elements to appropriate distributions of the data threshold voltage distributions, and performing a later stage of the multi-stage programming process, after performing the intermediate stage of the multi-stage programming process, to tighten only a subset of the data threshold voltage distributions,

wherein:

the one or more managing circuits program non-volatile storage elements to multiple distributions of the data threshold voltage distributions by programming non-volatile storage elements to upper state data threshold voltage distributions and the first set of the lower state data threshold voltage distributions;

the one or more managing circuits perform the later stage of the multi-stage programming process by subsequently programming non-volatile storage elements into a second set of the lower state data threshold voltage distributions after the tightening of the upper state data threshold voltage distributions;

the one or more managing circuits perform the intermediate stage by programming non-volatile storage elements to multiple distributions of the data threshold voltage distributions; and

the one or more managing circuits perform the later stage of the multi-stage programming process by first tightening upper state data threshold voltage distributions and subsequently tightening a first set of lower state data threshold voltage distributions.

20. A method for programming non-volatile storage to a set of data threshold voltage distributions, comprising:

performing a first stage of a multi-stage programming process for a set of non-volatile storage elements connected to a common word line to change threshold voltages of at least a subset of the non-volatile storage elements from an erased distribution to multiple intermediate distributions;

performing an intermediate stage of the multi-stage programming process to change threshold voltages of the non-volatile storage elements to lower state data threshold voltage distributions and upper state data threshold voltage distributions; and

performing a later stage of the multi-stage programming process, after the intermediate stage, that tightens only the lower state data threshold voltage distributions without tightening the upper state data threshold voltage distributions.

21. The method of claim 20 , wherein:

performing the intermediate stage of the multi-stage programming process comprises:

programming a first subset of the non-volatile storage elements to the upper state data threshold voltage distributions, and

subsequently programming a second subset of the non-volatile storage elements to the lower state data threshold voltage distributions after the programming of the first subset of the non-volatile storage elements to the upper state data threshold voltage distributions;

performing the later stage of the multi-stage programming process comprises tightening the lower state data threshold voltage distributions without tightening the upper state data threshold voltage distributions.

22. The method of claim 21 , wherein:

the upper state data threshold voltage distributions are not tightened after the programming of the second subset of the non-volatile storage elements to the lower state data threshold voltage distributions.

23. A method for programming a set of non-volatile storage elements, comprising:

performing a first stage of a multi-stage programming process to program non-volatile storage elements from an erased distribution to multiple intermediate distributions;

performing an intermediate stage of the multi-stage programming process to program non-volatile storage elements to multiple distributions of a set of data threshold voltage distributions; and

performing a later stage of the multi-stage programming process, after the intermediate stage, by first tightening upper state data threshold voltage distributions and subsequently tightening lower state data threshold voltage distributions.

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 Jul 13, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 039336/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2012
From: KAMEI, TERUHIKO; TRINH, CUONG
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 028577/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2012
From: INOUE, ATSUSHI; TAKAHASHI, TOSHIYUKI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 028577/0405 →