IP Library › Granted Patent US 12,731,652
Granted Patent B2
US 12,731,652 · App. 18/906,735 · Granted Sep 8, 2026

Memory programming operation comprising preprogramming memory cells

Inventors: Che-Ping Chen (Taipei, TW); Ya-Jui Lee (Taichung, TW)
Assignee: Macronix International Co., Ltd.
G11C16/3459G11C16/102G11C16/26G11C16/3409
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,731,652
App. No.
18/906,735
Granted
Sep 8, 2026
Kind
B2
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 (94)

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 other first memory unit, programming the information to the other first memory unit;

following programming the other 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 other second memory unit, programming the information to the other 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 other 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 other 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 other 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 other first memory unit, programming the information to the other first memory unit;

following programming the other 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 other second memory unit, programming the information to the other 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 other 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 other 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 other 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2024
From: CHEN, CHE-PING; LEE, YA-JUI
To: MACRONIX INTERNATIONAL CO., LTD.
Reel/Frame 069302/0177 →
Continuity (2)
Continuation 17394850 · Aug 5, 2021
Related Publication 20250029667A1 · Jan 23, 2025
References Cited (15)
US 6807100B2 · Tanaka · 2004 [cited by applicant]
US 8854879B2 · Shim et al. · 2014 [cited by applicant]
US 8923046B2 · Noh · 2014 [cited by applicant]
US 9224478B2 · Eguchi · 2015 [cited by applicant]
US 9916900B2 · Kim · 2018 [cited by applicant]
US 10147491B2 · Lee · 2018 [cited by applicant]
US 10163511B2 · Nam et al. · 2018 [cited by applicant]
US 12136461B2 · Chen · 2024 [cited by examiner]
US 20090080263A1 · Lee et al. · 2009 [cited by applicant]
US 20130155773A1 · Miyamoto · 2013 [cited by applicant]
US 20160092130A1 · Choi et al. · 2016 [cited by applicant]
US 20160148693A1 · Lee · 2016 [cited by applicant]
US 20210134359A1 · Park et al. · 2021 [cited by applicant]
TW I650769B · 2019 [cited by applicant]
TW I704455B · 2020 [cited by applicant]