METHOD OF IMPROVING READ CURRENT STABILITY IN ANALOG NON-VOLATILE MEMORY BY POST-PROGRAM TUNING FOR MEMORY CELLS EXHIBITING RANDOM TELEGRAPH NOISE
20220392543 · 2022-12-08
Assignee
Inventors
Cpc classification
G11C16/0425
PHYSICS
G11C16/3431
PHYSICS
G11C16/3459
PHYSICS
G11C16/14
PHYSICS
International classification
G11C16/14
PHYSICS
Abstract
A memory device and method for a non-volatile memory cell having a gate that includes programming the memory cell to an initial program state corresponding to a target read current and a threshold voltage, including applying a program voltage having a first value to the gate, storing the first value in a memory, reading the memory cell in a first read operation using a read voltage applied to the gate that is less than the target threshold voltage to generate a first read current, and subjecting the memory cell to additional programming in response to determining that the first read current is greater than the target read current. The additional programming includes retrieving the first value from the memory, determining a second value greater than the first value, and programming the selected non-volatile memory cell that includes applying a program voltage having the second value to the gate.
Claims
1. A memory device, comprising: a plurality of non-volatile memory cells each comprising a first gate; and a control circuitry configured to: program a selected non-volatile memory cell of the plurality of non-volatile memory cells to an initial program state that corresponds to a threshold voltage for the first gate of the selected non-volatile memory cell meeting or exceeding a target threshold voltage for the first gate of the selected non-volatile memory cell, wherein the target threshold voltage for the first gate corresponds to a target read current, wherein the programing of the selected non-volatile memory cell includes apply a program voltage having a first value to the first gate, store the first value in a memory, read the selected non-volatile memory cell in a first read operation using a read voltage applied to the first gate of the selected non-volatile memory cell that is less than the target threshold voltage for the first gate to generate a first read current, and subject the selected non-volatile memory cell to additional programming in response to a determination that the first read current is greater than the target read current, wherein the additional programming comprises: retrieve the first value from the memory, determine a second value greater than the first value, and program the selected non-volatile memory cell that includes applying a program voltage having the second value to the first gate.
2. The memory device of claim 1, wherein the control circuitry is configured to store the second value in the memory.
3. The memory device of claim 1, wherein each of the plurality of non-volatile memory cells comprises: spaced apart source and drain regions formed in a semiconductor substrate, with a channel region of the substrate extending there between; a floating gate disposed vertically over and insulated from a first portion of the channel region; and a select gate disposed vertically over and insulated from a second portion of the channel region; wherein for each of the plurality of non-volatile memory cells, the first gate is disposed vertically over and insulated from the floating gate.
4. The memory device of claim 3, wherein each of the plurality of non-volatile memory cells comprises: an erase gate disposed over and insulated from the source region.
5. The memory device of claim 1, wherein the control circuitry is configured to program of the selected non-volatile memory cell to the initial program state by: apply at least one first pulse of programming voltages to the selected non-volatile memory cell; read the selected non-volatile memory cell using a read voltage applied to the first gate of the selected non-volatile memory cell that is equal to the target threshold voltage for the first gate to generate a second read current; and apply at least one second pulse of programming voltages to the selected non-volatile memory cell in response to a determination that the second read current is not less than or equal to the target read current.
6. The memory device of claim 5, wherein the at least one first pulse of programming voltages includes a first program voltage applied to the first gate, and the at least one second pulse of programming voltages includes a second program voltage applied to the first gate that is greater than the first program voltage.
7. The memory device of claim 1, wherein the control circuitry is configured to: read the selected non-volatile memory cell in a second read operation performed, in response to a determination that the first read current is not greater than the target read current in the first read operation, using a read voltage applied to the first gate of the selected non-volatile memory cell that is less than the target threshold voltage to generate a second read current, and subject the selected non-volatile memory cell to the additional programming in response to a determination that the second read current is greater than the target read current; and not subject the selected non-volatile memory cell to the additional programming in response to a determination that the second read current is not greater than the target read current.
8. The memory device of claim 1, wherein the control circuitry is configured to apply a negative voltage to a non-floating gate of the selected non-volatile memory cell after the programming of the selected non-volatile memory cell to the initial program state and before the first read operation.
9. The device of claim 1, wherein the control circuitry is configured to apply a negative voltage to the first gate of the one non-volatile memory cell after the programming of the one non-volatile memory cell to the initial program state and before the first read operation.
10. The memory device of claim 7, wherein the control circuitry is configured to: apply a negative voltage to the first gate of the selected non-volatile memory cell after the programming of the selected non-volatile memory cell to the initial program state and before the first read operation; and apply a negative voltage to the first gate of the selected non-volatile memory cell after the determining that the first read current is not greater than the target read current in the first read operation and before the second read operation.
11. A method of programming a selected non-volatile memory cell of a plurality of non-volatile memory cells, wherein each of the plurality of non-volatile memory cells includes a first gate, the method comprising: programming the selected non-volatile memory cell to an initial program state that corresponds to meeting or exceeding a target threshold voltage for the first gate of the selected non-volatile memory cell, wherein the target threshold voltage corresponds to a target read current, wherein the programing includes applying a program voltage having a first value to the first gate, storing the first value in a memory, reading the selected non-volatile memory cell in a first read operation using a read voltage applied to the first gate of the selected non-volatile memory cell that is less than the target threshold voltage to generate a first read current, and subjecting the selected non-volatile memory cell to additional programming in response to determining that the first read current is greater than the target read current, wherein the additional programming comprises: retrieving the first value from the memory, determining a second value greater than the first value, and programming the selected non-volatile memory cell that includes applying a program voltage having the second value to the first gate.
12. The method of claim 11, comprising: storing the second value in the memory.
13. The method of claim 11, wherein each of the plurality of non-volatile memory cells further comprises: spaced apart source and drain regions formed in a semiconductor substrate, with a channel region of the substrate extending there between; a floating gate disposed vertically over and insulated from a first portion of the channel region; and a select gate disposed vertically over and insulated from a second portion of the channel region; wherein for each of the plurality of non-volatile memory cells, the first gate is disposed vertically over and insulated from the floating gate.
14. The method of claim 13, wherein each of the plurality of non-volatile memory cells further comprises: an erase gate disposed over and insulated from the source region.
15. The method of claim 11, wherein the programming of the selected non-volatile memory cell to the initial program state comprises: applying at least one first pulse of programming voltages to the selected non-volatile memory cell; reading the selected non-volatile memory cell using a read voltage applied to the first gate of the selected non-volatile memory cell that is equal to the target threshold voltage to generate a second read current; and applying at least one second pulse of programming voltages to the selected non-volatile memory cell in response to determining that the second read current is greater than the target read current.
16. The method of claim 15, wherein the at least one first pulse of programming voltages includes a first program voltage applied to the first gate, and the at least one second pulse of programming voltages includes a second program voltage applied to the first gate that is greater than the first program voltage.
17. The method of claim 11, comprising: reading the selected non-volatile memory cell in a second read operation performed, in response to determining that the first read current is not greater than the target read current in the first read operation, using a read voltage applied to the first gate of the selected non-volatile memory cell that is less than the target threshold voltage to generate a second read current, and subjecting the selected non-volatile memory cell to the additional programming in response to determining that the second read current is greater than the target read current; and not subjecting the selected non-volatile memory cell to the additional programming in response to determining that the second read current is not greater than the target read current.
18. The method of claim 11, further comprising: applying a negative voltage to a non-floating gate of the selected non-volatile memory cell after the programming of the selected non-volatile memory cell to the initial program state and before the first read operation.
19. The method of claim 11, further comprising: applying a negative voltage to the first gate of the one non-volatile memory cell after the programming of the one non-volatile memory cell to the initial program state and before the first read operation.
20. The method of claim 17, comprising: applying a negative voltage to the first gate of the selected non-volatile memory cell after the programming of the selected non-volatile memory cell to the initial program state and before the first read operation; and applying a negative voltage to the first gate of the selected non-volatile memory cell after the determining that the first read current is not greater than the target read current in the first read operation and before the second read operation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0027]
[0028]
[0029]
[0030]
[0031]
DETAILED DESCRIPTION OF THE INVENTION
[0032] The present examples illustrate a technique for compensating RTN after programming of non-volatile memory cells, such as the split gate memory cell 10 of
[0033] The memory cell programming and post-program tuning techniques are implemented as part of the configuration of the control circuitry 66, which controls the various device elements for the memory array, which can be better understood from the architecture of an example memory device as illustrated in
[0034] The post-program tuning technique involves the control circuitry 66 implementing memory cell initial programming, followed by post-program tuning for memory cells that exhibit an intolerable level of read current instability after initial programming. Memory cell programming is described first, followed by post-program tuning. Thus, control circuitry 66 may be loaded with software, i.e. non-transitory electronically readable instructions, or firmware, to perform the methods described below in relation to
[0035] Memory cell programming involves programming a selected memory cell to an initial programming state using programming voltage pulses, with intervening read operations to measure a threshold voltage parameter (i.e., a minimum voltage applied to the split gate memory cell 10 to achieve a predetermined level of source/drain current, referred to as a target current I.sub.target) for the memory cell. The threshold voltage parameter is a control gate threshold voltage Vtcg, which is the threshold voltage of the memory cell as viewed from the control gate 22 (also referred to herein as the first gate). Specifically, the control gate threshold voltage Vtcg is the voltage placed on the control gate 22 that results in the channel region 18 being a conducting path, and therefore results in a read current through the channel of the predetermined level of source/drain current, also known as the target current (I.sub.target) (e.g., 1 μA) to consider the memory cell turned on when the read potentials of a read operation are applied to the select gate 24 and drain region 16. The control gate threshold voltage Vtcg varies as a function of programming state of the split gate memory cell 10, but it is desired that once the split gate memory cell 10 is programmed to a particular programming state, any variation of control gate threshold voltage Vtcg over time be below a predetermined amount.
[0036] Initial memory cell programming is illustrated as Steps 1-4 in
[0037] However, if the programmed memory cell exhibits RTN after programming is completed, then electron(s) captured in interface trap(s) contribute to the measured control gate threshold voltage Vtcg of the memory cell as part of programming. If/when the electron(s) are emitted from the interface trap(s) after programming has ended, then the control gate threshold voltage Vtcg could drop by more than ΔVtcg.sub.max below the target control gate threshold voltage Vtcg.sub.target, where ΔVtcg.sub.max is the maximum tolerable read error in terms of control gate threshold voltage Vtcg variation. A control gate threshold voltage drop by more than ΔVtcg.sub.max is considered to be an intolerable error during subsequent read operations. Therefore, post-program tuning begins with Step 5 in
[0038] In Step 6, the split gate memory cell 10 is read (also referred to herein as a first read operation) using a control gate voltage Vcg that is less than the target control gate threshold voltage Vtcg.sub.target used in Step 2. Specifically, the control gate voltage Vcg used for this read operation is Vtcg.sub.target−ΔV.sub.tcg, where ΔV.sub.tcg can be, but need not be, the maximum tolerable deviation of control gate threshold voltage (ΔVtcg.sub.max). As a non-limiting example, ΔV.sub.tcg can be, for example, 20 mV. In Step 7, it is determined from the read operation of Step 6 whether or not the read current Lead is greater than the target read current I.sub.target. Read current I.sub.read for Step 6 is also referred to herein as the first read current. If the memory cell does not exhibit post-program intolerable RTN, then the small decrease in control gate voltage Vcg by ΔV.sub.tcg during the read operation of Step 6 should lower the read current Lead below, or further below, I.sub.target, and the determination of Step 7 should be no, i.e. negative. In that case, the memory cell can be considered properly programmed and no post-program tuning is needed. However, as indicated in optional Step 8, Steps 6 and 7 can be repeated one or more times (where the repeated read operation is also referred to herein as a second read operation), whereby the memory cell will be subjected to another round of programming, as will be described below, if there is a positive determination in Step 7 no matter how many previous negative determinations occurred. Repeating Steps 6-7 even if the result in Step 7 is initially negative is advantageous because an electron may not necessarily be emitted from the trap before the first read, but could be emitted from the trap after the first read, and a yes, or positive, determination in Step 7 can occur in subsequent read operations if there is an electron emission after the first read operation.
[0039] If the memory cell does exhibit intolerable RTN, and if before or during this read operation there is interface trap electron emission, then the control gate threshold voltage V.sub.tcg of the memory cell will drop, resulting in a rise in read current I.sub.read. If that rise in current exceeds I.sub.target, then the determination of Step 7 will be yes, i.e. positive, and the selected split gate memory cell 10 is subjected to another round of programming starting at Step 9, where the maximum control gate program voltage Vcg.sub.program ram value stored in Step 5, i.e. in RAM 70 (or other memory) is retrieved. The retrieved control gate program voltage Vcg.sub.program ram value is increased in preparation for use in programming (see Step 10) (e.g., by determining a control gate program voltage Vcg.sub.program ram of increased value, also referred to herein as the second value), and the determined increased control gate program voltage Vcg.sub.program ram value is stored in RAM 70 (or other memory) (see Step 11). The memory cell is then programmed in Step 12 (similar to Step 1 described above) using the increased control gate program voltage Vcg.sub.program ram value. The process then reverts back to Step 6, where the memory cell is once again read as described above with respect to Step 6, followed by the determination of Step 7 as described above. If the subsequent determination in Step 7 is yes, i.e. positive, Steps 9-12 are performed again, followed by another read in Step 6 and determination in Step 7. If the subsequent determination in Step 7 is no, i.e. negative, post program tuning can end, or, steps 6-7 can be repeated one or more times as indicated in optional Step 8, even though Steps 9-12 may have been performed one or more times. There is no limitation on the number of read and determination operations (Steps 6-7) and on the number of rounds of programming (Steps 9-12). The number of times that Steps 6-7 and 9-12 are repeated can be user defined by taking into account desired programming time. The post-programing tuning process can also be repeated at a time after a previous instance of post-programming tuning, in which case the increased control gate program voltage Vcg.sub.program ram value can be stored in a more permanent memory such as a hard drive or other non-volatile storage, accessible by control circuitry 66, for longer term storage.
[0040] The advantage of the above described technique is that if the memory cell exhibits intolerable RTN after programming is initially completed, then it will still end up being more deeply programmed (i.e. exhibit a higher control gate threshold voltage V.sub.tcg) than would otherwise be the case, so that the control gate threshold voltage V.sub.tcg will not vary from the target control gate threshold voltage Vtcg.sub.target by an undesired amount. By utilizing the above described technique, even if electron emission occurs, it is less likely that the control gate threshold voltage Vtcg of the split gate memory cell 10 will drop below the target control gate threshold voltage Vtcg.sub.target by an amount exceeding the tolerance level of ΔV.sub.tcg. This is because the split gate memory cell 10 is more deeply programmed above Vtcg.sub.target and future read operations will more accurately reflect the desired programming state of the memory cell within the tolerance level of ΔVtcg variations.
[0041]
[0042] It is to be understood that the above is not limited to the examples(s) described above and illustrated herein but encompasses any and all variations falling within the scope of any claims. For example, any references to the examples or invention herein are not intended to limit the scope of any claim or claim term, but instead merely relate to one or more features that may be covered by one or more of the claims. Materials, processes and numerical examples described above are examples only, and should not be deemed to limit the claims. Further, as is apparent from any claims and the specification, not all method steps need be performed in the exact order illustrated or claimed unless specified. The example of threshold voltage Vtcg used in the above described techniques is the threshold voltage of the memory cell as viewed from the control gate 22. However, the above described techniques could be implemented with respect to threshold voltage Vt as viewed from any one or more gates in the split gate memory cell 10 that is not floating. Additionally, the descriptions above could be implemented in an array of memory cells with fewer gates than those in