Parallel channel programming scheme for MLC flash memory
First Claim
1. A method of parallel programming flash multiple level cell (MLC) memory comprisinga) coupling a plurality of voltages simultaneously to both the bit line and the source line of a plurality of memory cells for a predetermined amount of time, b) coupling a high word line voltage to a word line connecting to said plurality of memory cells for said predetermined amount of time, c) programming said plurality of memory cells to a plurality of threshold voltages wherein said threshold voltage of said memory cell coupled to a larger bit line voltage is smaller than said threshold voltage of said memory cell coupled to a smaller bit line voltage, d) verifying the programming of said N memory cells.
3 Assignments
0 Petitions
Accused Products
Abstract
In the present invention programming a plurality of MLC flash memory cells is done in parallel using a channel programming operation by applying a high positive voltage to a word line and positive voltages to the bit lines connected to cells to be programmed. The positive bit line voltages combined with the word line voltage create a channel voltage that is sufficient to program a required Vt level into each cell in parallel during a predetermined amount of time. Using a high positive word line voltage turns on the channel of a cell being programmed and eliminates potential breakdown condition, band to band tunneling current, channel pinch through and hole injection into the gate insulator, while allowing a small symmetrical cell that has low power consumption and a higher endurance cycle.
153 Citations
36 Claims
-
1. A method of parallel programming flash multiple level cell (MLC) memory comprising
a) coupling a plurality of voltages simultaneously to both the bit line and the source line of a plurality of memory cells for a predetermined amount of time, b) coupling a high word line voltage to a word line connecting to said plurality of memory cells for said predetermined amount of time, c) programming said plurality of memory cells to a plurality of threshold voltages wherein said threshold voltage of said memory cell coupled to a larger bit line voltage is smaller than said threshold voltage of said memory cell coupled to a smaller bit line voltage, d) verifying the programming of said N memory cells.
-
4. A method of parallel programming four flash memory multiple level cells (MLC) comprising:
-
a) coupling a first voltage to both a bit line and a source line of a first memory cell, b) coupling a second voltage larger than said first voltage to both the bit line and the source line of a second memory cell, c) coupling a third voltage larger than said second voltage to both the bit line and the source line of a third memory cell, d) coupling a fourth voltage larger than said third voltage to both the bit line and the source line of a fourth memory cell, e) coupling a word line voltage of high value to a word line coupled to control gates of said first, second, third and fourth memory cells, f) programming said first memory cell to a first threshold voltage level, said second memory cell to a second threshold voltage level which is smaller than said first threshold voltage level, said third memory cell to a third threshold voltage level which is smaller than said second threshold voltage level, and said fourth memory cell to a fourth threshold voltage level which is smaller than said third threshold voltage level, g) verifying said first memory cell is programmed to said first threshold voltage level, said second memory cell is programmed to said second threshold voltage level, said third memory cell is programmed to said third threshold voltage level, and said forth memory cell is programmed to said fourth threshold voltage level. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
a) coupling a plurality of voltages to both the bit line and the source line of a plurality of memory cells, b) coupling a high word line voltage to a word line connecting to said N memory cells, c) programming said plurality of memory cells to a plurality of threshold voltages wherein said threshold voltage of said memory cell coupled to a larger bit line voltage is smaller than said threshold voltage of said memory cell coupled to a smaller bit line voltage, d) verifying the programming of said plurality of memory cells.
-
-
6. The method of claim 5, wherein programming the plurality of memory cells to the plurality of threshold voltages of predetermined values is accomplished simultaneously by coupling said plurality of voltages of a plurality of predetermined values to bit lines and source lines of said plurality of memory cells during said predetermined amount of time when said word line voltage is coupled to said word line.
-
7. The method of claim 4, wherein verifying the programming of said memory cells is done by checking the voltage threshold level of the cells, and changing a corresponding bit line voltage to a program inhibit voltage level when the cells have been detected to be programmed.
-
8. The method of claim 4, wherein said first and second source lines are floating.
-
9. The method of claim 4, wherein said word line voltage coupled to said word line varies from a low initial value to a high final value during parallel programming of said memory cells.
-
10. The method of claim 9, wherein said first voltage varies from a first low value to a first high value and said second voltage varies from a second low value to a second high value during parallel programming of said memory cells.
-
11. The method of claim 5, wherein programming the plurality of memory cells to the plurality of threshold voltage levels having predetermined values is accomplished simultaneously by coupling the plurality of voltages of a plurality of predetermined values to bit lines and source lines of said N memory cells during said predetermined amount of time when said word line voltage is coupled to said word line.
-
12. The method of claim 11, wherein said source lines are floating.
-
13. The method of claim 11, wherein said word line voltage coupled to said word line varies from a low initial value to a high final value during parallel programming of said memory cells.
-
14. The method of claim 13, wherein said plurality of voltages vary from an initial low value to a final high value during parallel programming of said memory cells.
-
15. The method of claim 4, wherein programming a plurality of memory cells to a same threshold voltage level is accomplished simultaneously by coupling the plurality of voltages of a same value to bit lines and source lines of said plurality of memory cells during said predetermined amount of time when said word line voltage is coupled to said word line.
-
16. The method of claim 15, wherein said source lines are floating.
-
17. The method of claim 15, wherein said word line voltage coupled to said word line varies from a low initial value to a high final value during parallel programming of said memory cells.
-
18. The method of claim 17, wherein said plurality of voltages vary from a same low value to a same high value during parallel programming of said memory cells.
-
19. A parallel programming means for a multiple level cell (MLC) flash memory array, comprising:
-
a) a means for coupling a first positive voltage to a first bit line connected to a first MLC flash memory cell to be programmed, b) a means for coupling a second positive voltage to a second bit line connected to a second MLC flash memory cell to be programmed, c) a means for coupling a third positive voltage of high value to a word line connected to said first and second MLC flash memory cells, d) a means for activating said first, second and third positive voltages simultaneously for a predetermined amount of time to program in parallel said first and second MLC flash memory cells, e) a means for verifying a threshold voltage level of said first and second flash MLC memory cells, and for inhibiting from further programming cells that have reach a predetermined threshold voltage level. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A means for programming an MLC memory array, comprising:
-
a) a means for coupling bit line voltages to cells to be programmed, b) a means for coupling a word line voltage of high positive value to said cells to be programmed, c) a means for programming said cells in parallel by activating simultaneously for a predetermined amount of time a plurality of said bit line voltages and said word line voltage, d) a means for verifying a threshold voltage level of said cells during programming and inhibiting said cells from programming. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A system for parallel programming a flash multiple level cell (MLC) memory, comprising:
-
a) a word line selected and coupled to a high positive voltage for a predetermined amount of time, b) a plurality of positive voltages, c) a first bit line data buffer connecting a first positive voltage of said plurality of positive voltages to a first bit line for said predetermined amount of time, d) a second bit line data buffer connecting a second positive voltage of said plurality of positive voltages to a second bit line for said predetermined amount of time, e) a first cell selected by said word line and said first bit line programmed to a first threshold voltage level, f) a second cell selected by said word line and said second bit line programmed to a second threshold voltage level. - View Dependent Claims (33, 34, 35, 36)
-
Specification