IP Library Granted Patent US 8,014,209
Granted Patent B2
US 8,014,209 · App. 12/167,135 · Granted Sep 6, 2011

Programming and selectively erasing 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,014,209
App. No.
12/167,135
Granted
Sep 6, 2011
Kind
B2
Abstract

A non-volatile storage system performs programming for a plurality of non-volatile storage elements and selectively performs re-erasing of at least a subset of the non-volatile storage elements that were supposed to remain erased, without intentionally erasing programmed data.

Claims (99)

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

erasing non-volatile storage elements; and

performing programming for said non-volatile storage elements and selectively performing re-erasing of at least a subset of non-volatile storage elements that were supposed to remain erased without intentionally erasing programmed data.

2. A method according to claim 1 , wherein said selectively performing re-erasing of at least a subset of non-volatile storage elements that were supposed to remain erased comprises:

identifying which non-volatile storage elements that should remain erased;

testing whether said non-volatile storage elements that were supposed to remain erased appear to have been altered past a threshold; and

performing one or more erase operations for non-volatile storage elements that should remain erased and appear to have been altered past said threshold.

3. A method according to claim 1 , wherein:

said non-volatile storage elements are connected to a common control line.

4. A method according to claim 1 , wherein:

said non-volatile storage elements are NAND flash memory devices connected to a common word line.

5. A method according to claim 1 , wherein:

said performing programming for said non-volatile storage elements comprises receiving data to be stored by said non-volatile storage elements, said data indicates that a first set of said non-volatile storage elements are to be programmed and a second set of said non-volatile storage elements are to remain erased, said performing programming changes threshold voltages for said first set of said non-volatile storage elements and attempts to not change threshold voltages for said second set of said non-volatile storage elements.

6. A method according to claim 1 , wherein:

said selectively performing re-erasing of at least a subset of non-volatile storage elements that were supposed to remain erased comprises selectively lowering threshold voltages of said subset of non-volatile storage elements, said subset of non-volatile storage elements are flash memory devices that are connected to a common word line and are each part of a different NAND strings.

7. A method according to claim 1 , wherein said performing programming for said non-volatile storage elements and selectively performing re-erasing of at least said subset of non-volatile storage elements comprises:

performing a first pass of a first multi-pass programming process for non-volatile storage elements connected to a first control line;

performing a first pass of a second multi-pass programming process for non-volatile storage elements connected to a second control line;

after performing said first pass of said second multi-pass programming process, selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line that were supposed to remain erased;

selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line that were supposed to remain erased;

after selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line, performing a second pass of said first multi-pass programming process for at least some of said non-volatile storage elements connected to said first control line; and

performing a second pass of said second multi-pass programming process for at least some of said non-volatile storage elements connected to said second control line.

8. A method according to claim 7 , wherein:

said first pass of said first multi-pass programming process is a coarse stage of said first multi-pass programming; and

said second pass of said first multi-pass programming process is a fine stage of said first multi-pass programming.

9. A method according to claim 7 , wherein:

said first pass of said first multi-pass programming process causes said non-volatile storage elements connected to said first control line to be in a first number of data states; and

said second pass of said first multi-pass programming process causes said non-volatile storage elements connected to said first control line to be in a second number of data states, said second number of data states is greater than said first number of data states.

10. A method according to claim 7 , further comprising:

performing a first pass of a third multi-pass programming process on non-volatile storage elements connected to a third control line;

selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said third control line that were supposed to remain erased; and

performing a second pass of said third multi-pass programming process for said non-volatile storage elements connected to said third control line;

wherein said selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line is performed after performing said first pass of said third multi-pass programming process.

11. A method according to claim 7 , wherein:

said first pass of said first multi-pass programming process and said second pass of said first multi-pass programming process program a common set of data.

12. A method according to claim 1 , wherein said performing programming for said non-volatile storage elements and selectively performing re-erasing of at least a subset of non-volatile storage elements comprises:

performing a first pass of a first multi-pass programming process for said non-volatile storage elements connected to a first control line;

performing a first pass of a second multi-pass programming process for said non-volatile storage elements connected to a second control line after performing said first pass of said first multi-pass programming process;

after performing said first pass of said second multi-pass programming process, selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line that were supposed to remain erased;

after selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line, selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line that were supposed to remain erased;

after selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line, performing a second pass of said first multi-pass programming process for at least some of said non-volatile storage elements connected to said first control line; and

after performing said second pass of said first multi-pass programming process, performing a second pass of said second multi-pass programming process for at least some of said non-volatile storage elements connected to said second control line.

13. A method according to claim 1 , wherein:

said non-volatile storage elements are connected to a common word line;

said performing programming and said selectively performing re-erasing are performed on a word line basis; and

said erasing is performed on a block basis.

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

erasing a set of non-volatile storage elements, said non-volatile storage elements are flash memory devices connected to a common word line;

receiving data to be stored by said set of non-volatile storage elements, said data indicates that some of said non-volatile storage elements are to be programmed and some of said non-volatile storage elements are to remain erased; and

programming said data into said set of non-volatile storage elements and selectively performing re-erasing of at least a subset of non-volatile storage elements that were supposed to remain erased without intentionally erasing non-volatile storage element storing properly programmed data.

15. A method according to claim 14 , wherein:

said set of non-volatile storage elements include floating gates;

said programming said data into said set of non-volatile storage elements includes adding charge to floating gates indicated by said data to change state and not adding charge to floating gates indicated by said data to not change state.

16. A method according to claim 14 , wherein:

said selectively performing re-erasing comprises selectively lowering threshold voltages of said subset of non-volatile storage elements, said subset of non-volatile storage elements are each part of different NAND strings.

17. A method according to claim 14 , wherein programming said data into said set of non-volatile storage elements and selectively performing re-erasing comprises:

performing a first pass of a first multi-pass programming process for non-volatile storage elements connected to a first control line;

performing a first pass of a second multi-pass programming process for non-volatile storage elements connected to a second control line;

after performing said first pass of said second multi-pass programming process, selectively performing re-erasing of at least a first subset of said non-volatile storage elements connected to said first control line that were supposed to remain erased;

selectively performing re-erasing of at least a second subset of said non-volatile storage elements connected to said second control line that were supposed to remain erased;

after selectively performing re-erasing of at least said first subset of said non-volatile storage elements connected to said first control line, performing a second pass of said first multi-pass programming process for non-volatile storage elements connected to said first control line; and

performing a second pass of said second multi-pass programming process for non-volatile storage elements connected to said second control line.

18. A method according to claim 17 , wherein:

said first pass of said first multi-pass programming process is a coarse stage of said first multi-pass programming; and

said second pass of said first multi-pass programming process is a fine stage of said first multi-pass programming.

19. A method according to claim 17 , wherein:

said first pass of said first multi-pass programming process causes said non-volatile storage elements connected to said first control line to be in a first number of data states; and

said second pass of said first multi-pass programming process causes said non-volatile storage elements connected to said first control line to be in a second number of data states, said second number of data states is greater than said first number of data states.

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

erasing a set of non-volatile storage elements connected to a first control line and a set of non-volatile storage elements connected to a second control line;

performing a first pass of a first multi-pass programming process for non-volatile storage elements connected to said first control line;

performing a first pass of a second multi-pass programming process for said non-volatile storage elements connected to said second control line;

after performing said first pass of said second multi-pass programming process, selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line that were supposed to remain erased;

selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line that were supposed to remain erased;

after selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line, performing a second pass of said first multi-pass programming process for said non-volatile storage elements connected to said first control line; and

performing a second pass of said second multi-pass programming process for said non-volatile storage elements connected to said second control line.

21. A method according to claim 20 , wherein:

said first pass of said first multi-pass programming process is a coarse stage of said first multi-pass programming; and

said second pass of said first multi-pass programming process is a fine stage of said first multi-pass programming.

22. A method according to claim 20 , wherein:

said first pass of said first multi-pass programming process causes said non-volatile storage elements connected to said first control line to be in a first number of data states; and

said second pass of said first multi-pass programming process causes said non-volatile storage elements connected to said first control line to be in a second number of data states, said second number of data states is greater than said first number of data states.

23. A method according to claim 20 , further comprising:

performing a first pass of a third multi-pass programming process for non-volatile storage elements connected to a third control line;

selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said third control line that were supposed to remain erased; and

performing a second pass of said third multi-pass programming process for said non-volatile storage elements connected to said third control line;

wherein said selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line is performed after performing said first pass of said third multi-pass programming process.

24. A method according to claim 20 , wherein:

said first pass of said first multi-pass programming process and said second pass of said first multi-pass programming process program a common set of data.

25. A method according to claim 20 , wherein:

said first pass of said second multi-pass programming process is performed after said first pass of said first multi-pass programming process;

said selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said second control line is performed after said selectively performing re-erasing of at least a subset of said non-volatile storage elements connected to said first control line; and

said performing said second pass of said second multi-pass programming process is performed after selectively performing re-erasing of at least said subset of said non-volatile storage elements connected to said second control line.

26. A method according to claim 20 , wherein:

said first control line is adjacent to said second control line.

27. A method according to claim 26 , wherein:

said first control line and said second control line are word lines.

28. A method according to claim 27 , wherein:

set of non-volatile storage elements are NAND devices.

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 038809/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026280/0049 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2008
From: LUTZE, JEFFREY W; LI, YAN
To: SANDISK CORPORATION
Reel/Frame 021196/0249 →