US2025029667A1PendingUtilityA1

Programming memory devices

Assignee: MACRONIX INT CO LTDPriority: Aug 5, 2021Filed: Oct 4, 2024Published: Jan 23, 2025
Est. expiryAug 5, 2041(~15 yrs left)· nominal 20-yr term from priority
G11C 16/3409G11C 16/102G11C 16/26G11C 29/028G11C 16/20G11C 11/5642G11C 11/5628G11C 16/10G11C 16/3459
68
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A memory controller receives a command to program information to a memory storage array controlled by the memory controller. The memory controller determines a target memory state to store the information, and a target threshold voltage level corresponding to the target memory state. Based at least on the target memory state, the memory controller determines one or more program pulses for a pre-program cycle, including voltage levels for the one or more program pulses based at least on the target threshold voltage level. The memory controller selects a memory location in the memory storage array to program the information, and pre-programs the selected memory location by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations. Following the pre-programming, the memory controller programs the information to the selected memory location.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method performed by a memory controller, the method comprising:
 receiving a command to program information to a memory storage array;   determining at least a first memory state and a second memory state to store the information;   determining a combined program pulse for pre-programming the first memory state and the second memory state;   computing a first voltage level for the combined program pulse;   selecting a memory location in the memory storage array to program the information, wherein the selected memory location includes a first memory block associated with a first word line and a second memory block associated with a second word line; and   pre-programming the selected memory location and programming the information to the selected memory location, comprising:
 pre-programming one or more first memory units in the first memory block by applying the combined program pulse at the first voltage level to pre-program the first memory block for the first memory state and the second memory state, the combined program pulse applied without program verify operations; 
 following pre-programming the one or more first memory units in the first memory block, programming the information to the one or more first memory units in first memory block; 
 pre-programming one or more second memory units in the second memory block by applying the combined program pulse at the first voltage level to pre-program the second memory block for the first memory state and the second memory state, the combined program pulse applied without program verify operations; and 
 following pre-programming the one or more second memory units in the second memory block, programming the information to the one or more second memory units in the second memory block. 
   
     
     
         2 . The method of  claim 1 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming the one or more first memory units by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the one or more first memory units, programming the information to the one or more first memory units;   following programming the one or more first memory units, pre-programming the one or more second memory units by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level; and   following pre-programming the one or more second memory units, programming the information to the one or more second memory units.   
     
     
         3 . The method of  claim 1 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming the one or more first memory units by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the one or more first memory units, pre-programming the one or more second memory units by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the one or more second memory units, programming the information to the one or more first memory units; and   following programming the information to the one or more first memory units, programming the information to the one or more second memory units.   
     
     
         4 . The method of  claim 1 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming a first memory unit of the one or more first memory units in the first memory block by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the first memory unit, programming the information to the first memory unit;   following programming the first memory unit, pre-programming a second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level; and   following pre-programming the second memory unit, programming the information to the second memory unit.   
     
     
         5 . The method of  claim 4 , further comprising:
 following programming the second memory unit, pre-programming another first memory unit of the one or more first memory units in the first memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the another first memory unit, programming the information to the another first memory unit;   following programming the another first memory unit of the one or more first memory units, pre-programming another second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level; and   following pre-programming the another second memory unit, programming the information to the another second memory unit.   
     
     
         6 . The method of  claim 1 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming a first memory unit of the one or more first memory units in the first memory block by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the first memory unit, pre-programming another first memory unit of the one or more first memory units in the first memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the another first memory unit, programming the information to the first memory unit;   following programming the information to the first memory unit, programming the information to the first memory unit;   following pre-programming and programming the one or more first memory units, pre-programming a second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the second memory unit, pre-programming another second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the another second memory unit, programming the information to the second memory unit; and   following programming the information to the second memory unit, programming the information to the another second memory unit.   
     
     
         7 . The method of  claim 1 , wherein determining the combined program pulse for pre-programming the first memory state and the second memory state comprises;
 determining a first target voltage level corresponding to the first memory state and a second target voltage level corresponding to the second memory state, the second target voltage level being higher than the first target voltage level;   determining, based at least on the first and second memory states, one or more program pulses for a pre-program cycle, the one or more program pulses including the combined program pulse for pre-programming the first memory state and the second memory state; and   computing, based at least on the first target voltage level and the second target voltage level, voltage levels for the one or more program pulses, comprising determining the first voltage level for the combined program pulse to be within a specified range of the first target voltage level that is less than the first target voltage level such that a threshold voltage of a selected memory location upon completion of the pre-programming is less than the first target voltage level and within the specified range of the first target voltage level.   
     
     
         8 . The method of  claim 7 , wherein programming the information to the one or more first memory units in first memory block comprises applying one or more additional program pulses to the one or more first memory units to reach the second target voltage level, the one or more additional program pulses applied with respective program verify operations, and
 wherein programming the information to the one or more second memory units in second memory block comprises applying one or more additional program pulses to the one or more second memory units to reach the second target voltage level, the one or more additional program pulses applied with respective program verify operations.   
     
     
         9 . A memory device comprising:
 a memory storage array including at least a first memory block comprising one or more first memory units and a second memory block comprising one or more second memory units; and   a memory controller to manage access to the memory storage array, wherein the memory controller executes instructions stored in computer memory to perform operations comprising:
 receiving a command to program information to the memory storage array; 
 determining at least a first memory state and a second memory state to store the information; 
 determining a combined program pulse for pre-programming the first memory state and the second memory state; 
 computing a first voltage level for the combined program pulse; 
 selecting a memory location in the memory storage array to program the information, wherein the selected memory location includes a first memory block associated with a first word line and a second memory block associated with a second word line; and 
 pre-programming the selected memory location and programming the information to the selected memory location, comprising:
 pre-programming one or more first memory units in the first memory block by applying the combined program pulse at the first voltage level to pre-program the first memory block for the first memory state and the second memory state, the combined program pulse applied without program verify operations; 
 following pre-programming the one or more first memory units in the first memory block, programming the information to the one or more first memory units in first memory block; 
 pre-programming one or more second memory units in the second memory block by applying the combined program pulse at the first voltage level to pre-program the second memory block for the first memory state and the second memory state, the combined program pulse applied without program verify operations; and 
 following pre-programming the one or more second memory units in the second memory block, programming the information to the one or more second memory units in the second memory block. 
 
   
     
     
         10 . The memory device of  claim 9 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming the one or more first memory units by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the one or more first memory units, programming the information to the one or more first memory units;   following programming the one or more first memory units, pre-programming the one or more second memory units by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level; and   following pre-programming the one or more second memory units, programming the information to the one or more second memory units.   
     
     
         11 . The memory device of  claim 9 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming the one or more first memory units by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the one or more first memory units, pre-programming the one or more second memory units by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the one or more second memory units, programming the information to the one or more first memory units; and   following programming the information to the one or more first memory units, programming the information to the one or more second memory units.   
     
     
         12 . The memory device of  claim 9 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming a first memory unit of the one or more first memory units in the first memory block by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the first memory unit, programming the information to the first memory unit;   following programming the first memory unit, pre-programming a second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level; and   following pre-programming the second memory unit, programming the information to the second memory unit.   
     
     
         13 . The memory device of  claim 12 , the operations further comprising:
 following programming the second memory unit, pre-programming another first memory unit of the one or more first memory units in the first memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the another first memory unit, programming the information to the another first memory unit;   following programming the another first memory unit of the one or more first memory units, pre-programming another second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level; and   following pre-programming the another second memory unit, programming the information to the another second memory unit.   
     
     
         14 . The memory device of  claim 9 , wherein pre-programming and programming the one or more first memory units in the first memory block and the one or more second memory units in the second memory block comprises:
 pre-programming a first memory unit of the one or more first memory units in the first memory block by applying one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the first memory unit, pre-programming another first memory unit of the one or more first memory units in the first memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the another first memory unit, programming the information to the first memory unit;   following programming the information to the first memory unit, programming the information to the first memory unit;   following pre-programming and programming the one or more first memory units, pre-programming a second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the second memory unit, pre-programming another second memory unit of the one or more second memory units in the second memory block by applying the one or more program pulses at respective voltage levels, the one or more program pulses applied without program verify operations and comprising the combined program pulse applied at the first voltage level;   following pre-programming the another second memory unit, programming the information to the second memory unit; and   following programming the information to the second memory unit, programming the information to the another second memory unit.   
     
     
         15 . The memory device of  claim 9 , wherein determining the combined program pulse for pre-programming the first memory state and the second memory state comprises;
 determining a first target voltage level corresponding to the first memory state and a second target voltage level corresponding to the second memory state, the second target voltage level being higher than the first target voltage level;   determining, based at least on the first and second memory states, one or more program pulses for a pre-program cycle, the one or more program pulses including the combined program pulse for pre-programming the first memory state and the second memory state; and   computing, based at least on the first target voltage level and the second target voltage level, voltage levels for the one or more program pulses, comprising determining the first voltage level for the combined program pulse to be within a specified range of the first target voltage level that is less than the first target voltage level such that a threshold voltage of a selected memory location upon completion of the pre-programming is less than the first target voltage level and within the specified range of the first target voltage level.   
     
     
         16 . The memory device of  claim 15 , wherein programming the information to the one or more first memory units in first memory block comprises applying one or more additional program pulses to the one or more first memory units to reach the second target voltage level, the one or more additional program pulses applied with respective program verify operations, and
 wherein programming the information to the one or more second memory units in second memory block comprises applying one or more additional program pulses to the one or more second memory units to reach the second target voltage level, the one or more additional program pulses applied with respective program verify operations.

Join the waitlist — get patent alerts

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

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