System and Method for Erase Detection before Programming of a Storage Device
First Claim
1. A method for operating a storage device comprising:
- determining to program multiple bits into cells of a section of memory, the multiple bits being represented by at least an erase state, a first programmed state and a second programmed state, wherein the first programmed state and the second programmed state are different from the erase state;
determining an indication of program disturb in the section of memory in the storage device;
determining, based on the indication, an adjusted programming voltage for programming the second programmed state in the section of memory, the adjusted programming voltage for programming the second programmed state being offset from a programming voltage for programming the second programmed state in an absence of detectable program disturb in the section of memory;
determining a programming voltage for programming the first programmed state in the section of memory in the absence of detectable program disturb in the section of memory;
programming data into the section of memory based on the determined adjusted programming voltage for programming the second programmed state and based on the determined programming voltage for programming the first programmed state; and
responsive to a command to read part or all of the data programmed into the section of memory, reading, using a read voltage adjusted based on the determined adjusted programming voltage for programming the programming state and the determined programming voltage for programming the first programming state, the data from the section of memory.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for detecting program disturb and for programming/reading based on the detected program disturb are disclosed. Program disturb comprises unintentionally programming an unselected section of memory during the program operation of the selected section of memory. To reduce the effect of program disturb, the section of memory is analyzed in a predetermined state (such as the erase state) for program disturb. In response to identifying signs of program disturb, the voltages used to program the section of memory (such as the program verify levels for programming data into the cells of the section of memory) may be adjusted. Likewise, when reading data from the section of memory, the read voltages may be adjusted based on the adjusted voltages used for programming. In this way, using the adjusted programming and reading voltages, the effect of program disturb may be reduced.
-
Citations
30 Claims
-
1. A method for operating a storage device comprising:
-
determining to program multiple bits into cells of a section of memory, the multiple bits being represented by at least an erase state, a first programmed state and a second programmed state, wherein the first programmed state and the second programmed state are different from the erase state; determining an indication of program disturb in the section of memory in the storage device; determining, based on the indication, an adjusted programming voltage for programming the second programmed state in the section of memory, the adjusted programming voltage for programming the second programmed state being offset from a programming voltage for programming the second programmed state in an absence of detectable program disturb in the section of memory; determining a programming voltage for programming the first programmed state in the section of memory in the absence of detectable program disturb in the section of memory; programming data into the section of memory based on the determined adjusted programming voltage for programming the second programmed state and based on the determined programming voltage for programming the first programmed state; and responsive to a command to read part or all of the data programmed into the section of memory, reading, using a read voltage adjusted based on the determined adjusted programming voltage for programming the programming state and the determined programming voltage for programming the first programming state, the data from the section of memory. - View Dependent Claims (2, 4, 5, 6, 9)
-
-
3. A method for operating a storage device comprising:
-
accessing a table comprises entries correlating groups of blocks to groups of wordlines, wherein a first correlated program disturb for a group of blocks to a first group of wordlines comprises no indication of program disturb and wherein a second correlated program disturb for the first correlated group of blocks to a second group of wordlines comprises an indication of program disturb; determining programming voltages in an absence of detectable program disturb for programming the first group of wordlines; determining, based on the indication of program disturb, adjusted programming voltages for programming the second group of wordlines in the group of blocks of memory, the adjusted programming voltages being different from the programming voltages in the absence of detectable program disturb in the group of blocks of memory; programming data into the first group of wordlines and second group of wordlines in a block of memory based on the programming voltages and the adjusted programming voltages, respectively; and responsive to a command to read part or all of the data programmed into the first group of wordlines and second group of wordlines of the block of memory, reading, based on the programming voltages and the adjusted programming voltages, respectively, the data from the first group of wordlines and second group of wordlines in the block of memory. - View Dependent Claims (22, 23, 25, 28)
-
-
7-8. -8. (canceled)
-
10-11. -11. (canceled)
-
12. A storage device comprising:
-
erase state analysis circuitry configured to analyze an erase state of at least a part of a wordline in the storage device in order to determine an indication of program disturb in the at least a part of the wordline, wherein the wordline has multiple bits therein being represented by at least an erase state, a first programmed state and a second programmed state; programming determination circuitry configured to determine programming voltages for programming multiple bits into the storage device, the programming determination circuitry configured to determine; a programming voltage for programming the first programmed state in the section of memory in the absence of detectable program disturb in the section of memory; and an adjusted programming voltage, based on the determined indication of the program disturb, for programming the second programmed state, the adjusted programming voltage being offset from programming the second programming state in an absence of the indication of program disturb; programming circuitry configured to program the wordline based on the programming voltage for programming the first programmed state and the adjusted programming voltage for programming the second programmed state; and read circuitry configured to read using a read voltage based on the determined programming voltage for programming the first programmed state and the adjusted programming voltage for programming the second programmed state. - View Dependent Claims (13)
-
-
14. (canceled)
-
15. A storage device comprising:
-
erase state analysis circuitry configured to analyze an erase state of at least a part of memory in the storage device in order to determine an indication of program disturb in the at least a part of the memory; programming adjustment circuitry configured to adjust program verify voltage levels, based on the determined indication of the program disturb, for all of a plurality of states except for an erase state; programming circuitry configured to program the part of memory based on the adjusted program verify voltage levels for all of the plurality of states except for the erase state; and read circuitry configured to read using a read voltage adjusted based on the adjusted program verify voltage levels.
-
-
16. (canceled)
-
17. A storage device comprising:
-
a memory; and a controller in communication with the memory, the controller configured to; determine to program multiple bits of data in cells in a section of memory, the multiple bits of data being represented by an erase state and additional states; determine program disturb for the section of the memory; adjust program verify voltage levels for each of the additional states based on the determined program disturb without adjusting the erase state; program, using the adjusted program verify voltage levels for each of the additional states without adjusting the erase state, data in the section of the memory; and read, using a read voltage based on the program verify voltage levels for each of the additional states without adjusting the erase state, the data from the section of memory. - View Dependent Claims (18, 19, 20, 21, 29, 30)
-
-
24. (canceled)
-
26. (canceled)
-
27. (canceled)
Specification