IP Library › Granted Patent US 11,450,358
Granted Patent B2
US 11,450,358 · App. 17/075,502 · Granted Sep 20, 2022

On-the-fly programming and verifying method for memory cells based on counters and ECC feedback

Inventors: Riccardo Muzzetto (Arcore, IT); Ferdinando Bedeschi (Biassono, IT); Umberto Di Vincenzo (Capriate San Gervasio, IT)
Assignee: Micron Technology, Inc.
G11C7/1009G11C7/06G11C7/1012G11C16/10G11C16/26G11C29/42
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 11,450,358
App. No.
17/075,502
Granted
Sep 20, 2022
Kind
B2
Abstract

The present invention relates to a method of operating memory cells, comprising reading a previous user data from the memory cells; writing a new user data and merging the new user data with the previous user data into write registers; generating mask register information, and wherein the mask register information indicates bits of the previous user data stored in the memory cells to be switched or not to be switched in their logic values; counting numbers of a first logic value and a second logic value to be written using the mask register information, respectively; storing the numbers of the first logic value and the second logic value into a first counter and a second counter, respectively; and applying a programming pulse to the memory cells according to the mask register information.

Claims (55)

1. A method of operating memory cells, comprising:

reading a previous user data from the memory cells;

writing a new user data and merging the new user data with the previous user data into write registers;

generating mask register information, and wherein the mask register information indicates bits of the previous user data stored in the memory cells to be switched or not to be switched in their logic values;

counting numbers of a first logic value and a second logic value to be written using the mask register information, respectively;

storing the numbers of the first logic value and the second logic value into a first counter and a second counter, respectively; and

applying a programming pulse to the memory cells according to the mask register information: wherein:

the first logic value is programmed followed by programming the second logic value, when a number of the first logic value is greater than a number of the second logic value;

the second logic value is programmed followed by programming the first logic value, when the number of the second logic value is greater than the number of the first logic value; and

the first logic value and the second logic value are programmed at the same time, when there is only one bit per tile to be programmed.

2. The method of operating memory cells of claim 1 , further comprising, in the step of writing the new user data and merging the new user data with the previous user data into the write registers,

comparing a logic value of each bit in the new user data with that in the previous user data.

3. The method of operating memory cells of claim 1 , further comprising, in the step of applying the programming pulse to the memory cells according to the mask register information,

for a bit to be switched in its logic value, the programming pulse is stopped rising once the bit is switched in its logic value, and

for a bit not to be switched in its logic value, the programming pulse is shifted.

4. The method of operating memory cells of claim 1 , wherein,

each memory cell is programmed and sensed so that when a memory cell has not been programmed completely, an extra programming pulse is applied up to when the memory cell is switched to a desired logic value.

5. The method of operating memory cells of claim 1 , further comprising, in the step of writing the new user data and merging the new user data with the previous user data into the write registers comprises:

computing a new ECC parity.

6. The method of operating memory cells of claim 5 , further comprising:

counting a number of the memory cells which are triggered to be switched during the applying of the programming pulse; and

applying the programming pulse to the memory cells using counter information and an ECC feedback, and wherein the ECC feedback indicates information of comparison between a number of switched cells and the numbers of the first logic value and the second logic value.

7. The method of operating memory cells of claim 6 , wherein,

the new user data written into the memory cells is reparable according to the ECC feedback.

8. The method of operating memory cells of claim 1 , wherein, the programming pulse is less than a threshold.

9. The method of operating memory cells of claim 1 , wherein,

the programming pulse is selected from a ramp-shaped, a staircase, a variable slew-rate ramp, a variable step staircase, or any combinations thereof.

10. A circuit for operating memory cells, comprising:

an access circuitry configured to:

read a previous user data from the memory cells;

write a new user data and merge the new user data with the previous user data into write registers;

generate mask register information, and wherein the mask register information indicates bits of the previous user data stored in the memory cells to be switched or not to be switched in their logic values;

count numbers of a first logic value and a second logic value to be written using the mask register information, respectively;

store the numbers of the first logic value and the second logic value into a first counter and a second counter, respectively; and

apply a programming pulse to the memory cells according to the mask register information; wherein:

the first logic value is programmed followed by programming the second logic value, when a number of the first logic value is greater than a number of the second logic value;

the second logic value is programmed followed by programming the first logic value, when the number of the second logic value is greater than the number of the first logic value; and

the first logic value and the second logic value are programmed at the same time, when there is only one bit per tile to be programmed.

11. The circuit for operating memory cells of claim 10 , wherein, the access circuitry is to, in writing the new user data and merging the new user data with the previous user data into the write registers,

compare a logic value of each bit in the new user data with that in the previous user data.

12. The circuit for operating memory cells of claim 10 , wherein, the access circuitry is to, in applying the programming pulse to the memory cells according to the mask register information,

for a bit to be switched in its logic value, stop the programming pulse rising once the bit is switched in its logic value, and

for a bit not to be switched in its logic value, shift the programming pulse.

13. The circuit for operating memory cells of claim 10 , further comprising:

a sense circuitry to sense each memory cell so that when a memory cell has not been programmed completely, an extra programming pulse is applied up to when the memory cell is switched to a desired logic value.

14. The circuit for operating memory cells of claim 10 , wherein, the access circuitry is to, in writing the new user data and merging the new user data with the previous user data into the write registers,

compute a new ECC parity.

15. The circuit for operating memory cells of claim 14 , wherein the access circuitry is further configured to:

count a number of the memory cells which are triggered to be switched during the applying of the programming pulse; and

apply the programming pulse to the memory cells using counter information and an ECC feedback, and wherein the ECC feedback indicates information of comparison between a number of switched cells and the numbers of the first logic value and the second logic value.

16. The circuit for operating memory cells of claim 15 , wherein,

the new user data written into the memory cells is reparable according to the ECC feedback.

17. The circuit for operating memory cells of claim 10 , wherein, the programming pulse is less than a threshold.

18. The circuit for operating memory cells of claim 10 , wherein,

the programming pulse is selected from a ramp-shaped, a staircase, a variable slew-rate ramp, a variable step staircase, or any combinations thereof.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 054932 FRAME 0797. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 11, 2022
From: MUZZETTO, RICCARDO; BEDESCHI, FERDINANDO; DI VINCENZO, UMBERTO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059043/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: MUZZETTO, RICCARDO; BEDESCHI, FERDINANDO; VINCENZO, UMBERTO DI
To: MICRON TECHNOLOGY, INC
Reel/Frame 054932/0797 →
Priority Claims (1)
WO PCT/IB2020/000080 · Mar 3, 2020 · international
Continuity (1)
Related Publication 20210280223A1 · Sep 9, 2021