US12547327B2ActiveUtilityA1

Program speed compensation for non-volatile memory cells

69
Assignee: SILICON STORAGE TECH INCPriority: Dec 4, 2023Filed: Feb 23, 2024Granted: Feb 10, 2026
Est. expiryDec 4, 2043(~17.4 yrs left)· nominal 20-yr term from priority
G06F 3/0659G06F 3/0673G06F 3/0625
69
PatentIndex Score
0
Cited by
20
References
22
Claims

Abstract

A method of programming memory cells that includes reading the memory cells to determine respective read currents for the memory cells. Respective ones of the memory cells are assigned to one of a plurality of groups of the memory cells, wherein respective ones of the plurality of groups of the memory cells are associated with a different range of read currents, such that the determined read current for a respective one of the memory cells is within the range of read currents for the group of the memory cells to which the memory cell is assigned. The memory cells are programmed using program currents that vary for respective ones of the memory cells depending upon the group of the memory cells to which the memory cell is assigned.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of programming memory cells, comprising:
 reading the memory cells to determine respective read currents for the memory cells;   assigning respective ones of the memory cells to one of a plurality of groups of the memory cells, wherein respective ones of the plurality of groups of the memory cells are associated with a different range of read currents, such that the determined read current for a respective one of the memory cells is within the range of read currents for the group of the memory cells to which the memory cell is assigned; and   programming the memory cells using program currents that vary for respective ones of the memory cells depending upon the group of the memory cells to which the memory cell is assigned.   
     
     
         2 . The method of  claim 1 , comprising:
 erasing the memory cells before the reading of the memory cells.   
     
     
         3 . The method of  claim 1 , comprising:
 pre-programming the memory cells before the reading of the memory cells.   
     
     
         4 . The method of  claim 1 , wherein:
 the plurality of groups of the memory cells comprises at least a first group, a second group and a third group;   the first group is associated with a range of read currents less than a first reference read current;   the second group is associated with a range of read currents greater than the first reference read current and less than a second reference read current;   the third group is associated with a range of read currents greater than the second reference read current;   the programming of the memory cells assigned to the first group comprising using a first program current;   the programming of the memory cells assigned to the second group comprising using a second program current;   the programming of the memory cells assigned to the third group comprising using a third program current;   the first program current is less than the second program current; and   the second program current is less than the third program current.   
     
     
         5 . The method of  claim 1 , wherein after the programming, the method comprising:
 reading the memory cells to determine respective second read currents for the memory cells;   programming those of the memory cells having a second read current greater than a reference read current using a first program current; and   programming those of the memory cells having a second read current less than the reference read current using a second program current that is less than the first program current.   
     
     
         6 . A method of programming memory cells, comprising:
 reading the memory cells to determine respective first read currents for the memory cells;   pre-programming the memory cells after the reading of the memory cells;   reading the memory cells after the pre-programming of the memory cells to determine respective second read currents for the memory cells;   assigning respective ones of the memory cells to one of a plurality of groups of the memory cells, wherein respective ones of the plurality of groups of the memory cells are associated with a different range of read current differentials, such that a read current differential between the first and second read currents and for a respective one of the memory cells is within the range of read current differentials for the group of the memory cells to which the memory cell is assigned; and   programming the memory cells using program currents that vary for respective ones of the memory cells depending upon the group of the memory cells to which the memory cell is assigned.   
     
     
         7 . The method of  claim 6 , comprising:
 erasing the memory cells before the reading of the memory cells.   
     
     
         8 . The method of  claim 6 , comprising:
 pre-programming the memory cells before the reading of the memory cells.   
     
     
         9 . The method of  claim 6 , wherein:
 the plurality of groups of the memory cells comprises at least a first group, a second group and a third group;   the first group is associated with a range of read current differentials greater than a first reference differential;   the second group is associated with a range of read current differentials greater than the first reference differential and less than a second reference differential;   the third group is associated with a range of read current differentials greater than the second reference differential;   the programming of the memory cells assigned to the first group comprising using a first program current;   the programming of the memory cells assigned to the second group comprising using a second program current;   the programming of the memory cells assigned to the third group comprising using a third program current;   the first program current is less than the second program current; and   the second program current is less than the third program current.   
     
     
         10 . The method of  claim 6 , wherein after the programming, the method comprising:
 reading the memory cells to determine respective second read currents for the memory cells;   programming those of the memory cells having a second read current greater than a reference read current using a first program current; and   programming those of the memory cells having a second read current less than the reference read current using a second program current that is less than the first program current.   
     
     
         11 . A method of programming memory cells, comprising:
 programming memory cells;   reading the memory cells to determine respective read currents for the memory cells relative to a target read current and a reference read current, wherein the reference read current is greater than the target read current;   programming those of the memory cells having a read current greater than a reference read current using a first program current;   programming those of the memory cells having a read current less than the reference read current and greater than the target read current using a second program current that is less than the first program current; and   ceasing programming those of the memory cells having a read current less than the target read current.   
     
     
         12 . A memory device, comprising:
 memory cells; and   a control circuitry to:
 read the memory cells to determine respective read currents for the memory cells; 
 assign respective ones of the memory cells to one of a plurality of groups of the memory cells, wherein respective ones of the plurality of groups of the memory cells are associated with a different range of read currents, such that the determined read current for a respective one of the memory cells is within the range of read currents for the group of the memory cells to which the memory cell is assigned; and 
 program the memory cells using program currents that vary for respective ones of the memory cells depending upon the group of the memory cells to which the memory cell is assigned. 
   
     
     
         13 . The memory device of  claim 12 , wherein the control circuitry to:
 erase the memory cells before the read of the memory cells.   
     
     
         14 . The memory device of  claim 12 , wherein the control circuitry to:
 pre-program the memory cells before the read of the memory cells.   
     
     
         15 . The memory device of  claim 12 , wherein:
 the plurality of groups of the memory cells comprises at least a first group, a second group and a third group;   the first group is associated with a range of read currents less than a first reference read current;   the second group is associated with a range of read currents greater than the first reference read current and less than a second reference read current;   the third group is associated with a range of read currents greater than the second reference read current;   the program of the memory cells assigned to the first group comprises using a first program current;   the program of the memory cells assigned to the second group comprises using a second program current;   the program of the memory cells assigned to the third group comprises using a third program current;   the first program current is less than the second program current; and   the second program current is less than the third program current.   
     
     
         16 . The memory device of  claim 12 , wherein after the program of the memory cells, the control circuitry to:
 read the memory cells to determine respective second read currents for the memory cells;   program those of the memory cells having a second read current greater than a reference read current using a first program current; and   program those of the memory cells having a second read current less than the reference read current using a second program current that is less than the first program current.   
     
     
         17 . A memory device, comprising:
 memory cells; and   a control circuitry to:
 read the memory cells to determine respective first read currents for the memory cells; 
 pre-program the memory cells after the read of the memory cells; 
 read the memory cells after the pre-program of the memory cells to determine respective second read currents for the memory cells; 
 assign respective ones of the memory cells to one of a plurality of groups of the memory cells, wherein respective ones of the plurality of groups of the memory cells are associated with a different range of read current differentials, such that a read current differential between the first and second read currents and for a respective one of the memory cells is within the range of read current differentials for the group of the memory cells to which the memory cell is assigned; and 
 program the memory cells using program currents that vary for respective ones of the memory cells depending upon the group of the memory cells to which the memory cell is assigned. 
   
     
     
         18 . The memory device of  claim 17 , wherein the control circuitry to:
 erase the memory cells before the read of the memory cells.   
     
     
         19 . The memory device of  claim 17 , wherein the control circuitry to:
 pre-program the memory cells before the read of the memory cells.   
     
     
         20 . The memory device of  claim 17 , wherein:
 the plurality of groups of the memory cells comprises at least a first group, a second group and a third group;   the first group is associated with a range of read current differentials greater than a first reference differential;   the second group is associated with a range of read current differentials greater than the first reference differential and less than a second reference differential;   the third group is associated with a range of read current differentials greater than the second reference differential;   the program of the memory cells assigned to the first group comprises using a first program current;   the program of the memory cells assigned to the second group comprises using a second program current;   the program of the memory cells assigned to the third group comprises using a third program current;   the first program current is less than the second program current; and   the second program current is less than the third program current.   
     
     
         21 . The memory device of  claim 17 , wherein after the program of the memory cells, the control circuitry to:
 read the memory cells to determine respective second read currents for the memory cells;   program those of the memory cells having a second read current greater than a reference read current using a first program current; and   program those of the memory cells having a second read current less than the reference read current using a second program current that is less than the first program current.   
     
     
         22 . A memory device, comprising:
 memory cells; and   a control circuitry to:
 program the memory cells; 
 read the memory cells to determine respective read currents for the memory cells relative to a target read current and a reference read current, wherein the reference read current is greater than the target read current; 
 program those of the memory cells having a read current greater than a reference read current using a first program current; 
 program those of the memory cells having a read current less than the reference read current and greater than the target read current using a second program current that is less than the first program current; and 
 cease programming those of the memory cells having a read current less than the target read current.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.