US2023368011A1PendingUtilityA1

Programming of a selected non-volatile memory cell

Assignee: SILICON STORAGE TECH INCPriority: Nov 11, 2019Filed: Jul 27, 2023Published: Nov 16, 2023
Est. expiryNov 11, 2039(~13.3 yrs left)· nominal 20-yr term from priority
G06N 3/063G11C 16/14G11C 16/3459G11C 16/10G11C 11/54G06N 3/0464G06N 3/0442G06N 3/065G06F 17/16G11C 16/0425G11C 16/26G11C 11/5628G11C 11/5635G06N 3/044G11C 2216/04G06N 3/048G06N 3/045
74
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In one example, a method comprises performing a first programming process on a selected non-volatile memory cell, the first programming process comprising a plurality of program-verify cycles, wherein a programming voltage duration of increasing period is applied to one of a floating gate, a control gate terminal, an erase gate terminal, and a source line terminal of the selected non-volatile memory cell in each program-verify cycle after the first program-verify cycle.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 performing a first programming process on a selected non-volatile memory cell, the first programming process comprising a plurality of program-verify cycles, wherein a programming voltage duration of increasing period is applied to one of a floating gate, a control gate terminal, an erase gate terminal, and a source line terminal of the selected non-volatile memory cell in each program-verify cycle after the first program-verify cycle.   
     
     
         2 . The method of  claim 1 , wherein each program-verify cycle comprises verifying that a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value. 
     
     
         3 . The method of  claim 1 , wherein each program-verify cycle comprises:
 applying a first voltage to one of the erase gate terminal and the control gate terminal of the selected non-volatile memory cell;   measuring a first current that results through the selected non-volatile memory cell;   applying a second voltage to the one of the erase gate terminal and the control gate terminal of the selected non-volatile memory cell;   measuring a second current that results through the selected non-volatile memory cell;   determining a slope value based on the first voltage, the second voltage, the first current, and the second current;   determining a next programming duration of the programming durations of increasing duration based on the slope value;   programming the non-volatile memory cell with the next programming duration; and   repeating the steps of determining a next programming duration and programming the non-volatile memory cell with the next programming duration until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value.   
     
     
         4 . The method of  claim 1 , further comprising:
 when a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value, performing a second programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a second threshold current value.   
     
     
         5 . The method of  claim 1 , wherein the performing a first programming process further comprises:
 when a current through the selected non-volatile memory cell is less than or equal to a third threshold current value, erasing the selected non-volatile memory cell and repeating the first programming process.   
     
     
         6 . The method of  claim 4 , further comprising:
 performing a third programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a fourth threshold current value.   
     
     
         7 . The method of  claim 4 , wherein the second programming process comprises applying voltage pulses of increasing duration to the control gate of the selected non-volatile memory cell. 
     
     
         8 . The method of  claim 7 , wherein the second programming process further comprises applying voltage pulses of increasing duration to the erase gate of the selected non-volatile memory cell. 
     
     
         9 . The method of  claim 7 , wherein the second programming process further comprises applying voltage pulses of decreasing duration to the erase gate of the selected non-volatile memory cell. 
     
     
         10 . The method of  claim 1 , wherein the selected non-volatile memory cell is a split-gate flash memory cell. 
     
     
         11 . The method of  claim 1 , wherein the selected non-volatile memory cell is in a vector-by-matrix multiplication array in an analog neural network. 
     
     
         12 . A method comprising:
 performing a first programming process comprising multiple program-verify cycles, wherein a first programming voltage of increasing magnitude is applied to a control gate terminal of a selected non-volatile memory cell and a second programming voltage of decreasing magnitude is applied to an erase gate terminal of the selected non-volatile memory cell during the programming process, and when a current through the selected non-volatile memory cell is less than or equal to a third threshold current value, erasing the selected non-volatile memory cell and repeating the first programming process.   
     
     
         13 . A method comprising:
 performing a first programming process comprising multiple program-verify cycles, wherein a first programming voltage of increasing magnitude is applied to a control gate of a selected non-volatile memory cell and a second programming voltage of decreasing magnitude is applied to an erase gate of the selected non-volatile memory cell during the programming process;   performing a second programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a second threshold current value; and   performing a third programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a fourth threshold current value.   
     
     
         14 . A method comprising:
 performing a first programming process comprising multiple program-verify cycles, wherein a first programming voltage of increasing duration is applied to a control gate terminal of a selected non-volatile memory cell and a second programming voltage of decreasing duration is applied to an erase gate terminal of the selected non-volatile memory cell in the programming process.   
     
     
         15 . The method of  claim 14 , wherein each program-verify cycle comprises verifying that a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value. 
     
     
         16 . The method of  claim 14 , wherein each program-verify cycle comprises:
 applying a first voltage to one of the erase gate and the control gate of the selected non-volatile memory cell;   measuring a first current that results through the selected non-volatile memory cell;   applying a second voltage to the one of the erase gate and the control gate of the selected non-volatile memory cell;   measuring a second current that results through the selected non-volatile memory cell;   determining a slope value based on the first voltage, the second voltage, the first current, and the second current;   determining a next programming duration of the programming voltage of increasing and decreasing durations, respectively, based on the slope value;   programming the non-volatile memory cell with the next programming duration; and   repeating the steps of determining a next programming duration and programming the non-volatile memory cell with the next programming duration until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value.   
     
     
         17 . The method of  claim 14 , further comprising:
 performing a second programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a second threshold current value.   
     
     
         18 . The method of  claim 14 , wherein the performing a first programming process further comprises:
 when a current through the selected non-volatile memory cell is less than or equal to a third threshold current value, erasing the selected non-volatile memory cell and repeating the first programming process.   
     
     
         19 . The method of  claim 17 , further comprising:
 performing a third programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a fourth threshold current value.   
     
     
         20 . A method comprising:
 performing a first programming process comprising multiple program-verify cycles, wherein a first programming voltage of increasing magnitude is applied to an erase gate terminal of a selected non-volatile memory cell and a second programming voltage of decreasing magnitude is applied to a control gate terminal of the selected non-volatile memory cell in the programming process.   
     
     
         21 . The method of  claim 20 , wherein each program-verify cycle comprises verifying that a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value. 
     
     
         22 . The method of  claim 20 , wherein each program-verify cycle comprises:
 applying a first voltage to one of the erase gate and the control gate of the selected non-volatile memory cell;   measuring a first current that results through the selected non-volatile memory cell;   applying a second voltage to the one of the erase gate and the control gate of the selected non-volatile memory cell;   measuring a second current that results through the selected non-volatile memory cell;   determining a slope value based on the first voltage, the second voltage, the first current, and the second current;   determining a next programming voltage of the programming voltages of increasing and decreasing magnitude, respectively, based on the slope value;   programming the non-volatile memory cell with the next programming voltage; and   repeating the steps of determining a next programming voltage and programming the non-volatile memory cell with the next programming voltage until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value.   
     
     
         23 . The method of  claim 22 , further comprising:
 performing a second programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a second threshold current value.   
     
     
         24 . The method of  claim 22 , wherein the performing a first programming process further comprises:
 when a current through the selected non-volatile memory cell is less than or equal to a third threshold current value, erasing the selected non-volatile memory cell and repeating the first programming process.   
     
     
         25 . The method of  claim 23 , further comprising:
 performing a third programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a fourth threshold current value.   
     
     
         26 . A method comprising:
 performing a first programming operation comprising multiple program-verify cycles, wherein a first programming voltage of increasing duration is applied to an erase gate terminal of a selected non-volatile memory cell and a second programming voltage of decreasing duration is applied to a control gate terminal of the selected non-volatile memory cell in the programming operation.   
     
     
         27 . The method of  claim 26 , wherein each program-verify cycle comprises verifying that a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value. 
     
     
         28 . The method of  claim 27 , wherein each program-verify cycle comprises:
 applying a first voltage to one of the erase gate and the control gate of the selected non-volatile memory cell;   measuring a first current that results through the selected non-volatile memory cell;   applying a second voltage to the one of the erase gate and the control gate of the selected non-volatile memory cell;   measuring a second current that results through the selected non-volatile memory cell;   determining a slope value based on the first voltage, the second voltage, the first current, and the second current;   determining a next programming duration of the programming voltage of increasing and decreasing durations, respectively based on the slope value;   programming the non-volatile memory cell with the next programming duration; and   repeating the steps of determining a next programming duration and programming the non-volatile memory cell with the next programming duration until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a first threshold current value.   
     
     
         29 . The method of  claim 26 , further comprising:
 performing a second programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a second threshold current value.   
     
     
         30 . The method of  claim 26 , wherein the performing a first programming process further comprises:
 when a current through the selected non-volatile memory cell is less than or equal to a third threshold current value, erasing the selected non-volatile memory cell and repeating the first programming process.   
     
     
         31 . The method of  claim 29 , further comprising:
 performing a third programming process until a current through the selected non-volatile memory cell during a read or verify operation is less than or equal to a fourth threshold current value.   
     
     
         32 . A method of programming a logical multi-bit cell comprising i physical non-volatile memory cells each capable of storing one of n possible values, where i is an integer greater than 1 and n is an integer greater than 1, the method comprising:
 performing a programming operation on j of the i physical non-volatile memory cells, where j is less than or equal to i until a coarse current target for the logical multi-bit cell is achieved; and   performing a programming operation on k of the j physical non-volatile memory cells, where k is less than or equal to j until a precision current target for the logical multi-bit cell is achieved.   
     
     
         33 . The method of  claim 32 , wherein the i physical non-volatile memory cells have a uniform width. 
     
     
         34 . The method of  claim 32 , wherein the i physical non-volatile memory cells have a non-uniform-width. 
     
     
         35 . A method of programming a logical multi-bit cell comprising i physical non-volatile memory cells of non-uniform width, each of the i cells capable of storing one of n possible values, where i is an integer greater than 1 and n is an integer greater than 1, the method comprising:
 performing a programming operation on j of the i physical non-volatile memory cells containing the largest width, where j is less than or equal to i until a coarse current target for the logical multi-bit cell is achieved; and   performing a programming operation on k of the j physical non-volatile memory cells containing the smallest width, where k is less than or equal to j until a precision current target for the logical multi-bit cell is achieved.

Join the waitlist — get patent alerts

Track US2023368011A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.