WRITE PROCESS FOR A NON VOLATILE MEMORY DEVICE
An apparatus is described. The apparatus includes a non volatile memory device that includes a controller to implement a coarse write process for the non volatile memory device. The non volatile memory device includes storage cells to store more than two logic states, wherein, the coarse write process is to perform a verify operation early in the coarse write process to identify less responsive storage cells and provide additional charge to the less responsive storage cells as compared to non less responsive storage cells that are to be programmed to a same logical state as the less responsive storage cells without performing a following verify operation after each pulse of charge applied during the coarse write process.
The field of invention pertains generally to semiconductor devices, and, more specifically, to an improved write process for a non volatile memory device.
BACKGROUNDAccess times are critical performance parameters of memory and storage devices. As such, engineers are highly motivated to reduce the write and/or read times of such devices.
A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:
The storage cells of traditional semiconductor memories, such as dynamic random access memory (DRAM) and static random access memory (SRAM), are only capable of storing two different logic states: a logical 1 or a logical 0. Here, such storage cells are designed to hold only two different voltage levels, one of which corresponds to a logical 1, the other of which corresponds to a logical 0. The individual storage cells of a NAND flash memory, by contrast, are able to store more than two voltage levels. As such, NAND flash memory cells are able to store more than two logic states per storage cell.
As observed in
As is understood in the art, a FLASH memory array is designed as a plurality of rows (also referred to as word lines) and a plurality of orthogonally oriented columns (also referred to as bit lines) in accordance with embodiments. A read address activates one of the word lines which couples the storage cells of the activated word line to the bit lines that cross the activated word line (the bit lines also cross other word lines in the array but they are not activated). Each of the storage cells that are coupled to the activated word line places its stored charge onto its respective bit line. The amount of charge is then interpreted as one of the four logic states.
Write operations are traditionally performed by activating a word line and then storing an appropriate amount of charge into those cells being written to (e.g., those cells that need to store a different logic state than what is currently being stored). Here, those of the cells that are to store logic state 104 are provided more charge than those of the cells that are to store logic state 103, and, those of the cells that are to store logic state 103 are provided more charge than those of the cells that are to store logic state 102. After the correct amount of charge has been written into all the cells on the activated word line that need to be written to, the write process moves to a next word line in the array and repeats the process. After all word lines have been activated and had their corresponding cells written to the write process is complete.
As a consequence, e.g., of manufacturing tolerances, etc., the various cells that are being written to along the word line respond differently to the pulse of charge that they received. More specifically, some cells are less efficient or responsive than other cells (the more responsive/efficient cells charge faster while the less responsive/efficient cells charge slower). Referring briefly back to
After the first pulse of charge 201_1 is transferred to the cells being written to, a first verify operation (Verify_1) is performed. A verify operation reads each storage cell that was just written to by the prior charge pulse (in this case, pulse 201_1) and compares it against a minimum required voltage threshold for the particular logic state that the cell is being programmed to store. Here, referring to
As observed in
After the second pulse 201_2 is applied and another verify operation is performed (VERIFY_2), once again, often, none of the cells have sufficient charge when measured against their respective thresholds. As such, a third pulse 201_3 is applied having a next V_PRGM amplitude increment over and above that of the second pulse 201_2. The process of applying an incremented pulse followed by a verify operation repeats. Eventually, typically, some of the cells that are to be written to with the lowest voltage logic state 102 are determined to surpass the TH_L1 threshold. As such, these cells are marked to no longer receive any more pulses.
As such, after the charge distribution state of
Over the successive following iterations, more and more cells will surpass their appropriate threshold and will no longer receive any more pulses.
Once all the cells to be programmed on the particular row have surpassed their appropriate threshold, the write process moves from a coarse phase to a fine phase for the same word line.
The fine phase, which may also be referred to as selective slow program convergence (SSPV) process, is depicted in
Thus, the purpose of the smaller V_PRGM fine phase is to convert the overlapping distributions that exist at the end of the coarse phase (as depicted in
The same process then continues to complete the writing for the middle and higher voltage logic states 103, 104. Typically, after the last cell to be written into the highest voltage logic state 104 surpasses the TH_L3_f threshold, the fine phase is completed which completes the writing process for the row. Here, as depicted in
The above described prior art programming processes is somewhat inefficient in that the total amount of time consumed performing the process is dictated by the responsivity of the slowest cells. That is, for both the coarse and fine phases, it is not until the verify operations reveal that the slowest cells have reached a threshold level of stored charge is the overall phase deemed complete. Said another way, typically, the slowest cell that is to be written into the highest voltage logic state 104 stretches the coarse phase to consume M iterations and the fine phase to consume N iterations. That is, the single slowest cell amongst the cells that are to be programmed into highest voltage logic state dictates the total time consumed to write to the entire row.
Referring to
A second pulse 602 is then applied to the cells that are to be programmed into the middle and highest voltage logic states 103, 104 and those of the cells that are to be programmed into the lowest voltage logic state 102 that were identified as slowest (i.e., all cells are written to with pulse 602 except the cells that are to be programmed into the lowest voltage logic state 102 and that were not identified as slowest). Referring to
That is, the application of the second pulse 602 causes the cells that are to be programmed into the middle and highest voltage logic states 103, 104 to further increase their stored charge, and the application of the second pulse 602 to the slowest of the cells that are to be programmed into the lowest voltage logic state 102 narrows the distribution for the cells that are to be programmed into the lowest voltage logic state 102. With respect to the later point, distribution 702 essentially corresponds to the elimination of the lower tail of the initial distribution (the charge of the slower cells is increased to be more comparable to at least the average of those cells that are to be written to the lowest voltage logic state). In an embodiment, note that a verify operation is not performed after the second pulse 602 is applied.
After the second pulse 602 is applied, a third pulse 603 is applied only to those cells that are to be programmed into the highest voltage logic state 104 and those cells that were identified as slowest that are to be programmed into the middle voltage logic state 103 (i.e., none of the cells that are to be programmed into the lowest voltage logic state 102 receive the third pulse 603 nor any of the cells that are to be programmed into the middle voltage logic state 103 that were not identified as slowest). Referring to
That is, the application of the third pulse 603 causes the cells that are to be programmed into the highest voltage logic state 104 to further increase their stored charge, and the application of the third pulse 603 to the slowest of the cells that are to be programmed into the middle voltage logic state 103 narrows the distribution for the cells that are to be programmed into the middle voltage logic state 103. With respect to the later point, distribution 704 essentially corresponds to the elimination of the lower tail of the original distribution (the charge of the slower cells is increased to be more comparable to at least the average of those cells that are to be written to the middle voltage logic state 103). In an embodiment, a verify operation is also not performed after the third pulse 603 is applied.
In an embodiment the coarse phase is deemed complete after the third pulse 603. That is, the distributions of
Note that the coarse phase of the improved approach of
Although the ability to complete the course phase after only three charge pulses 601, 602, 603 and one verify operation may at first seem counter-intuitive, it is pertinent to point out that the extra charge transfers that are provided to the slower cells in the improved approach of
By contrast, the extra charge that the slower cells are given in the improved coarse phase approach narrows the distributions as compared to the prior art approach. The narrowed distribution (more specifically, the eliminated lower end of the distribution) has the effect of reducing the amount of time that the fine phase will need to fully charge the cells. Thus the total amount of time consumed by the entire write process (both coarse and fine phases) can be reduced.
Note that the general improved coarse phase approach of
In one alternate embodiment, the additional boost that is given to the slower cells may be something other than the full charge transfer that is given to cells being programmed to a higher voltage logic state. For example, the slower cells that are to be programmed to the lowest voltage logic state 102 may receive an extra boost that is less than the full L2 charge transfer 602 that is transferred to the cells that are being programmed into the middle and highest voltage logic states 103, 104.
In yet another alternate embodiment, SSPV is applied to the slower cells to boost them. This particular alternative embodiment can be seen as a form of interlacing the coarse and fine phases. For instance, after the first charge transfer 601 and verify operation, rather than apply the second pulse 602 to the slower cells that are being programmed to the lowest voltage logic state 102, instead, an SSPV process (a fine phase writing process) is applied to the slower cells.
After the slower cells are sufficiently charged by the SSPV process, the second pulse 602 is applied to the cells that are being programmed into the middle and highest voltage logic states 103, 104 which is essentially a reversion back to a coarse phase process. After the second pulse 602 is applied, the slower cells that are being programmed to the middle voltage logic state 103 are boosted with another SSPV process (which can be seen as reversion back again to a fine phase process). The process then repeats for the third pulse 603 and the highest voltage logic state 103. The nominal fine phase may commence after completion of the interlaced coarse and fine phase.
Still other embodiments may have more than one basic charge transfer per logic level and corresponding verify operation. For example, although the particular embodiment of
It is also pertinent to point out that although the discussion above has been directed to an mlc device having four different possible logic states per storage cell, other embodiments may have more than four possible logic states (e.g., tlc (“triple level cell” having eight possible logic states) or qlc (“quad level cell” having sixteen possible logic states)). Here, for memory devices having more logic states than an mlc device, a corresponding extra number of charge transfers may take place for each of the coarse and fine phases, etc.
As observed in
An applications processor or multi-core processor 1050 may include one or more general purpose processing cores 1015 within its CPU 1001, one or more graphical processing units 1016, a memory management function 1017 (e.g., a memory controller) and an I/O control function 1018. The general purpose processing cores 1015 typically execute the operating system and application software of the computing system. The graphics processing units 1016 typically execute graphics intensive functions to, e.g., generate graphics information that is presented on the display 1003. The memory control function 1017 interfaces with the system memory 1002. The system memory 1002 may be a multi-level system memory.
Each of the touchscreen display 1003, the communication interfaces 1004-1007, the GPS interface 1008, the sensors 1009, the camera 1010, and the speaker/microphone codec 1013, 1014 all can be viewed as various forms of I/O (input and/or output) relative to the overall computing system including, where appropriate, an integrated peripheral device as well (e.g., the camera 1010). Depending on implementation, various ones of these I/O components may be integrated on the applications processor/multi-core processor 1050 or may be located off the die or outside the package of the applications processor/multi-core processor 1050. Non volatile storage 1020 may hold the BIOS and/or firmware of the computing system. Non volatile storage 1020 and possibly even system memory 1002 may be implemented with a non volatile memory device having the coarse and fine writing processes described at length above.
Embodiments of the invention may include various processes as set forth above. The processes may be embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor to perform certain processes. Alternatively, these processes may be performed by specific hardware components that contain hardwired logic for performing the processes, or by any combination of programmed computer components and custom hardware components.
Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, FLASH memory, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
An apparatus has been described. The apparatus includes a non volatile memory device that includes a controller to implement a coarse write process for the non volatile memory device. The non volatile memory device includes storage cells to store more than two logic states, wherein, the coarse write process is to perform a verify operation early in the coarse write process to identify less responsive storage cells and provide additional charge to the less responsive storage cells as compared to non less responsive storage cells that are to be programmed to a same logical state as the less responsive storage cells without performing a following verify operation after each pulse of charge applied during the coarse write process.
In various embodiments coarse write process is to apply one additional charge transfer to the less responsive storage cells than the non less responsive cells. In extended embodiments the one additional charge transfer is also used to program other ones of the storage cells that are being programmed to a higher voltage logical state than the logical state that the less responsive storage cells are being programmed to.
In various embodiments, the write process further comprises a number of charge transfers that is equal to a number of different logical states being programmed. In various embodiments the additional charge produces a narrowed charge distribution for the logical state to which the less responsive storage cells are being programmed, the narrowed charge distribution characterized by an eliminated lower tail. In various embodiments the verify operation is performed and the additional charge is provided during a coarse phase of a write process that precedes a fine phase of the write process. In various embodiments the non volatile memory device is a FLASH device.
A computing system having the memory device has been described. A method for performing a coarse write process for a non volatile memory device has been described. The method includes performing a verify operation early in the coarse write method to identify less responsive storage cells. The method also includes providing additional charge to the less responsive storage cells as compared to non less responsive storage cells that are being programmed to a same logical state as the less responsive storage cells without performing a following verify operation after each pulse of charge applied during the coarse write process.
In various embodiments the write method is to apply one additional charge transfer to the less responsive storage cells than the non less responsive cells. In various embodiments the one additional charge transfer is also used to program other ones of the storage cells that are being programmed to a higher voltage logical state than the logical state that the less responsive storage cells are being programmed to. In various embodiments the coarse write method further comprises a number of charge transfers that is equal to a number of different logical states being programmed. In various embodiments the additional charge produces a narrowed charge distribution for the logical state to which the less responsive storage cells are being programmed, the narrowed charge distribution characterized by an eliminated lower tail. In various embodiments the verify operation is performed and the additional charge is provided during a coarse phase of a write method that precedes a fine phase of the write process.
The machine readable medium that stores program code that when executed implements the method has also been described.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims
1. An apparatus, comprising:
- a non volatile memory device comprising a controller to implement a coarse write process for the non volatile memory device, the non volatile memory device comprising storage cells to store more than two logic states, wherein, the coarse write process is to perform a verify operation after an initial charge pulse to identify less responsive storage cells and transfer additional charge to the less responsive storage cells as compared to non less responsive storage cells that are to be programmed to a same logical state as the less responsive storage cells without performing a following verify operation after each pulse of charge applied during the coarse write process.
2. The apparatus of claim 1 wherein the coarse write process is to apply one additional charge transfer to the less responsive storage cells than the non less responsive cells.
3. The apparatus of claim 2 wherein the one additional charge transfer is also used to program other ones of the storage cells that are being programmed to a higher voltage logical state than the logical state that the less responsive storage cells are being programmed to.
4. The apparatus of claim 1 wherein the write process further comprises a number of charge transfers that is equal to a number of different logical states being programmed.
5. The apparatus of claim 1 where the additional charge produces a narrowed charge distribution for the logical state to which the less responsive storage cells are being programmed, the narrowed charge distribution characterized by an eliminated lower tail.
6. The apparatus of claim 1 wherein the verify operation is performed and the additional charge is provided during a coarse phase of a write process that precedes a fine phase of the write process.
7. The apparatus of claim 1 wherein the non volatile memory device is a FLASH device.
8. A computing system, comprising: a display;
- a plurality of processing cores;
- a main memory;
- a main memory controller coupled between the plurality of processing cores and the main memory; and,
- a non volatile memory device comprising a controller to implement a coarse write process for the non volatile memory device, the non volatile memory device comprising storage cells to store more than two logic states, wherein, the coarse write process is to perform a verify operation after an initial charge pulse to identify less responsive storage cells and transfer additional charge to the less responsive storage cells as compared to non less responsive storage cells that are to be programmed to a same logical state as the less responsive storage cells without performing a following verify operation after each pulse of charge applied during the coarse write process.
9. The computing system of claim 8 wherein the coarse write process is to apply one additional charge transfer to the less responsive storage cells than the non less responsive cells.
10. The computing system of claim 9 wherein the one additional charge transfer is also used to program other ones of the storage cells that are being programmed to a higher voltage logical state than the logical state that the less responsive storage cells are being programmed to.
11. The computing system of claim 8 wherein the coarse write process further comprises a number of charge transfers that is equal to a number of different logical states being programmed.
12. The computing system of claim 8 where the additional charge produces a narrowed charge distribution for the logical state to which the less responsive storage cells are being programmed, the narrowed charge distribution characterized by an eliminated lower tail.
13. The computing system of claim 8 wherein the verify operation is performed and the additional charge is provided during a coarse phase of a write process that precedes a fine phase of the write process.
14. The computing system of claim 13 wherein the coarse phase is followed by a fine phase of the write process.
15. A machine readable storage medium containing program code that when processed by a processor of a non volatile storage device causes a coarse write method to be performed, the non volatile storage device comprising storage cells that are able to store more than two logic states, the coarse write method comprising:
- performing a verify operation after an initial charge pulse to identify less responsive storage cells; and,
- transferring additional charge to the less responsive storage cells as compared to non less responsive storage cells that are being programmed to a same logical state as the less responsive storage cells without performing a following verify operation after each pulse of charge applied during the coarse write process.
16. The machine readable storage medium of claim 15 wherein the write method is to apply one additional charge transfer to the less responsive storage cells than the non less responsive cells.
17. The machine readable storage medium of claim 16 wherein the one additional charge transfer is also used to program other ones of the storage cells that are being programmed to a higher voltage logical state than the logical state that the less responsive storage cells are being programmed to.
18. The machine readable storage medium of claim 15 wherein the coarse write method further comprises a number of charge transfers that is equal to a number of different logical states being programmed.
19. The machine readable storage medium of claim 15 where the additional charge produces a narrowed charge distribution for the logical state to which the less responsive storage cells are being programmed, the narrowed charge distribution characterized by an eliminated lower tail.
20. The machine readable storage medium of claim 15 wherein the verify operation is performed and the additional charge is provided during a coarse phase of a write method that precedes a fine phase of the write process.
Type: Application
Filed: Mar 31, 2017
Publication Date: Oct 4, 2018
Inventors: Tommaso VALI (Marine), Violante MOSCHIANO (Bacoli), Andrea D'ALESSANDRO (Avezzano), Pranav KALAVADE (San Jose, CA)
Application Number: 15/476,654