IP Library Granted Patent US 8,605,513
Granted Patent B2
US 8,605,513 · App. 13/622,230 · Granted Dec 10, 2013

Detecting the completion of programming for non-volatile storage

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,605,513
App. No.
13/622,230
Granted
Dec 10, 2013
Kind
B2
Abstract

A set of non-volatile storage elements are subjected to a programming process in order to store data. During the programming process, one or more verification operations are performed to determine whether the non-volatile storage elements have reached their target condition to store the appropriate data. Programming can be stopped when all non-volatile storage elements have reached their target level or when the number of non-volatile storage elements that have not reached their target level is less than a number or memory cells that can be corrected using an error correction process during a read operation (or other operation). The number of non-volatile storage elements that have not reached their target level can be estimated by counting the number of non-volatile storage elements that have not reached a condition that is different (e.g., lower) than the target level.

Claims (64)

1. An non-volatile storage apparatus, comprising:

a first set of non-volatile storage elements;

one or more managing circuits in communication with the first set of non-volatile storage elements, the one or more managing circuits applying a programming signal to the first set of non-volatile storage elements to program the first set of non-volatile storage elements to a first target condition;

the one or more managing circuits determining whether a number of non-volatile storage elements of the first set that have not yet reached an intermediate condition during the programming process, the intermediate condition is different than the first target condition, is less than a compare value; and

the one or more managing circuits concluding programming of the first set of non-volatile storage elements in response to determining that the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition is less than the compare value.

2. The non-volatile storage apparatus of claim 1 , further comprising:

the programming signal includes a set of pulses;

the one or more managing circuits in communication with the first set of non-volatile storage elements verifying whether the first set of non-volatile storage elements have reached the first target condition further comprises the one or more managing circuits performing one or more verifying processes between pulses; and

the one or more managing circuits determining whether the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition during the programming process, the intermediate condition is different than the first target condition, is less than a compare value further comprises the one or more managing circuits counting non-volatile storage elements of the first set that have not yet reached the intermediate condition during at least some of the pulses.

3. The non-volatile storage apparatus of claim 1 , further comprising:

the programming signal includes a set of pulses;

the one or more managing circuits in communication with the first set of non-volatile storage elements verifying whether the first set of non-volatile storage elements have reached the first target condition further comprises the one or more managing circuits performing one or more verifying processes between pulses; and

the one or more managing circuits determining whether the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition during the programming process, the intermediate condition is different than the first target condition, is less than a compare value further comprises the one or more managing circuits counting non-volatile storage elements of the first set that have not yet reached the intermediate condition between pulses.

4. The non-volatile storage apparatus of claim 1 , wherein the one or more managing circuits determining whether the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition during the programming process, the intermediate condition is different than the first target condition, is less than a compare value further comprises:

the first target condition is a threshold voltage range; and

the intermediate condition is a threshold voltage level that is a lower voltage level than the first target condition.

5. The non-volatile storage apparatus of claim 1 , wherein the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition is proportional to how many non-volatile storage elements of the first set have not yet reached the target condition.

6. The non-volatile storage apparatus of claim 1 , wherein:

the one or more managing circuits applying a programming signal to the first set of non-volatile storage elements to program the first set of non-volatile storage elements to a first target condition is part of a programming process that programs a plurality of non-volatile storage elements to different target conditions, the different target conditions include a lowest target condition and a highest target condition, the plurality of non-volatile storage elements include the first set of non-volatile storage elements, the first target condition is the highest target condition.

7. The non-volatile storage apparatus of claim 1 , wherein:

the one or more managing circuits applying a programming signal to the first set of non-volatile storage elements to program the first set of non-volatile storage elements to a first target condition concurrently programs a plurality of non-volatile storage elements to different target conditions, the different target conditions include a lowest target condition and a highest target condition, the plurality of non-volatile storage elements include the first set of non-volatile storage elements, the first target condition is the highest target condition.

8. The non-volatile storage apparatus of claim 1 , wherein:

the first set of non-volatile storage elements are associated with a set of data states,

the first target condition is one of the set of data states, and

the intermediate condition is a verify value for a different data state of the set of data states.

9. The non-volatile storage apparatus of claim 1 , wherein:

the programming signal includes a set of pulses;

the first set of non-volatile storage elements are associated with a set of data states, the first target condition is one of the set of data states, the intermediate condition is a verify value for a different data state of the set of data states;

the apparatus further includes the one or more managing circuits applying a predetermined number of one or more pulses to the first set of non-volatile storage elements in response to determining that the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition is less than the compare value; and

the one or more managing circuits concluding programming of the first set of non-volatile storage elements in response to determining that the number of non-volatile storage elements of the first set that have not yet reached the intermediate condition is less than the compare value further comprising the one or more managing circuits concluding the programming of the first set of non-volatile storage elements after the applying the predetermined number of one or more pulses to the first set of non-volatile storage elements.

10. The non-volatile storage apparatus of claim 1 , wherein:

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

11. A non-volatile storage apparatus, comprising:

a plurality of non-volatile storage elements;

one or more managing circuits in communication with the plurality of non-volatile storage elements;

the one or more managing circuits applying a programming signal to the plurality of non-volatile storage elements in order to concurrently program the non-volatile storage elements to different target conditions, the different target conditions include a lowest target condition and a highest target condition, the programming signal includes a set of pulses, the plurality of non-volatile storage elements includes a first subset of non-volatile storage elements being programmed to the highest target condition;

the one or more managing circuits verifying whether the non-volatile storage elements have reached their respective target conditions, the verifying includes performing one or more verifying processes between pulses;

the one or more managing circuits counting non-volatile storage elements of the first subset that have not yet reached an intermediate condition with respect to the highest target condition, non-volatile storage elements reaching the highest target condition pass through the intermediate condition; and

the one or more managing circuits concluding programming of the non-volatile storage elements in response to counting less than a predetermined number of the non-volatile storage elements of the first subset to have not yet reached the intermediate condition and the one or more managing circuits determining that other non-volatile storage elements intended for other target conditions of the different target conditions are sufficiently programmed.

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

the one or more managing circuits counting non-volatile storage elements of the first subset that have not yet reached an intermediate condition with respect to the highest target condition is performed during pulses.

13. The non-volatile storage apparatus of claim 11 , wherein:

the one or more managing circuits counting non-volatile storage elements of the first subset that have not yet reached an intermediate condition with respect to the highest target condition is performed between pulses.

14. The non-volatile storage apparatus of claim 11 , further comprising:

the one or more managing circuits applying a predetermined number of one or more pulses to the first subset of non-volatile storage elements in response to counting less than the predetermined number of the non-volatile storage elements of the first subset to have not yet reached the intermediate condition, and the one or more managing circuits concluding programming after the applying the predetermined number of one or more pulses.

15. The non-volatile storage apparatus of claim 11 , wherein:

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

16. A non-volatile storage apparatus, comprising:

a plurality of non-volatile storage elements;

one or more managing circuits in communication with the plurality of non-volatile storage elements;

the one or more managing circuits applying a programming signal to the plurality of non-volatile storage elements in order to program the non-volatile storage elements to different target conditions, the programming signal includes a set of pulses, the different target conditions include a first target condition and a second target condition, the plurality of non-volatile storage elements includes a first subset of non-volatile storage elements being programmed to the first target condition and a second subset of non-volatile storage elements being programmed to the second target condition;

the one or more managing circuits verifying whether the second subset of non-volatile storage elements have sufficiently reached the second target condition;

the one or more managing circuits applying a predetermined number of one or more pulses to the first subset of non-volatile storage elements in response to determining that the second subset of non-volatile storage elements have sufficiently reached the second target condition; and

the one or more managing circuits concluding programming of the first subset of non-volatile storage elements in response to and after applying the predetermined number of one or more pulses to the first subset of non-volatile storage elements.

17. The non-volatile storage apparatus of claim 16 , wherein:

the first subset of non-volatile storage elements and the second subset of non-volatile storage elements are multi-state flash memory devices connected to a common word line.

18. The non-volatile storage apparatus of claim 16 , wherein:

the one or more managing circuits verifying whether the second subset of non-volatile storage elements have sufficiently reached the second target condition is performed multiple times, each time between a pair of consecutive pulses; and

the different target conditions are threshold voltage ranges.

19. The non-volatile storage apparatus of claim 16 , wherein:

the one or more managing circuits applying the programming signal to the plurality of non-volatile storage elements further comprises the one or more managing circuits concurrently programs the first subset of non-volatile storage elements and the second subset of non-volatile storage elements.

20. The non-volatile storage apparatus of claim 16 , wherein:

the first target condition is a higher threshold voltage range; and

the second target condition is a lower threshold voltage range.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070778/0175 →
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 038807/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2012
From: HEMINK, GERRIT JAN
To: SANDISK CORPORATION
Reel/Frame 028981/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2012
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 028981/0467 →