IP Library › Granted Patent US 11,699,491
Granted Patent B2
US 11,699,491 · App. 17/247,643 · Granted Jul 11, 2023

Double interleaved programming of a memory device in a memory sub-system

Inventors: Phong Sy Nguyen (Livermore, CA); James Fitzpatrick (Laguna Niguel, CA); Kishore Kumar Muchherla (Fremont, CA)
Assignee: Micron Technology, Inc.
G11C16/20G11C16/26G11C16/30G11C2211/561
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,699,491
App. No.
17/247,643
Granted
Jul 11, 2023
Kind
B2
Abstract

Control logic in a memory device identifies a first plurality of groups of programming distributions, wherein each group comprises a subset of programming distributions associated with a portion of a memory array of the memory device configured as quad-level (QLC) memory. During a first pass of a multi-pass programming operation, the control logic coarsely programs memory cells in the portion configured as QLC memory to initial values representing a second plurality of pages of host data and stores, in a portion of the memory array of the memory device configured as single-level cell (SLC) memory, an indicator of the first plurality of groups of programming distributions with which each of the coarsely programmed memory cells is associated. During a second pass of the multi-pass programming operation, the control logic reads the coarsely programmed initial values from the first pass based on the indicator of the first plurality of groups of programming distributions and finely programs the memory cells in the portion configured as QLC memory to final values representing the second plurality of pages of host data.

Claims (55)

1. A memory device comprising:

a memory array comprising a first portion configured as single-level cell (SLC) memory and a second portion configured as quad-level cell (QLC) memory; and

control logic, operatively coupled with the memory array, to perform operations comprising:

identifying a first plurality of groups of programming distributions, wherein each group comprises a subset of programming distributions associated with the second portion configured as QLC memory;

during a first pass of a multi-pass programming operation, coarsely programming memory cells in the second portion configured as QLC memory to initial values representing a second plurality of pages of host data;

storing, in the first portion configured as SLC memory and in response to completion of the first pass of the multi-pass programming operation, a respective indicator for each memory cell of the coarsely programmed memory cells to indicate a respective associated one of the first plurality of groups of programming distributions; and

during a second pass of the multi-pass programming operation, reading the coarsely programmed initial values from the first pass based on the indicator of the first plurality of groups of programming distributions and finely programming the memory cells in the second portion configured as QLC memory to final values representing the second plurality of pages of host data.

2. The memory device of claim 1 , wherein the control logic is to perform further operations comprising:

receiving, from a requestor, a request to program the second plurality of pages of host data to the memory array.

3. The memory device of claim 1 , wherein the indicator of the first plurality of groups comprises a third plurality of pages of group indicator data, wherein the third plurality of pages of group indicator data is less than the second plurality of pages of host data.

4. The memory device of claim 3 , wherein the programming distributions associated with the second portion configured as QLC memory comprises 16 distributions,

wherein the first plurality of groups of programming distributions comprises four groups,

wherein the second plurality of pages of host data comprises four pages, and

wherein the third plurality of pages of group indicator data comprises two pages.

5. The memory device of claim 3 , wherein the control logic is to perform further operations comprising:

reading the third plurality of pages of group indicator data from the first portion configured as SLC memory; and

identifying a subset of the coarsely programmed memory cells associated with each of the first plurality of groups of programming distributions based on the third plurality of pages of group indicator data.

6. The memory device of claim 5 , wherein the control logic is to perform further operations comprising:

identifying respective read voltage levels associated with each of the first plurality of groups of programming distributions,

wherein reading the coarsely programmed initial values from the first pass based on the indicator of the first plurality of groups of programming distributions comprises causing the respective read voltage levels to be applied to each of the first plurality of groups of programming distributions.

7. The memory device of claim 1 , wherein finely programming the memory cells in the second portion configured as QLC memory to final values representing the second plurality of pages of host data comprises causing one or more programming voltage pulses to be applied to the memory cells in the second portion configured as QLC memory to increase the initial values to the final values.

8. A method comprising:

identifying a first plurality of groups of programming distributions, wherein each group comprises a subset of programming distributions associated with a portion of a memory array of a memory device configured as quad-level (QLC) memory;

during a first pass of a multi-pass programming operation, coarsely programming memory cells in the portion configured as QLC memory to initial values representing a second plurality of pages of host data;

storing, in a portion of the memory array of the memory device configured as single-level cell (SLC) memory and in response to completion of the first pass of the multi-pass programming operation, a respective indicator for each memory cell of the coarsely programmed memory cells to indicate a respective associated one of the first plurality of groups of programming distributions; and

during a second pass of the multi-pass programming operation, reading the coarsely programmed initial values from the first pass based on the indicator of the first plurality of groups of programming distributions and finely programming the memory cells in the portion configured as QLC memory to final values representing the second plurality of pages of host data.

9. The method of claim 8 , further comprising:

receiving, from a requestor, a request to program the second plurality of pages of host data to the memory array.

10. The method of claim 8 , wherein the indicator of the first plurality of groups comprises a third plurality of pages of group indicator data, wherein the third plurality of pages of group indicator data is less than the second plurality of pages of host data.

11. The method of claim 10 , wherein the programming distributions associated with the portion configured as QLC memory comprises 16 distributions,

wherein the first plurality of groups of programming distributions comprises four groups,

wherein the second plurality of pages of host data comprises four pages, and

wherein the third plurality of pages of group indicator data comprises two pages.

12. The method of claim 10 , further comprising:

reading the third plurality of pages of group indicator data from the portion configured as SLC memory; and

identifying a subset of the coarsely programmed memory cells associated with each of the first plurality of groups of programming distributions based on the third plurality of pages of group indicator data.

13. The method of claim 12 , further comprising:

identifying respective read voltage levels associated with each of the first plurality of groups of programming distributions,

wherein reading the coarsely programmed initial values from the first pass based on the indicator of the first plurality of groups of programming distributions comprises causing the respective read voltage levels to be applied to each of the first plurality of groups of programming distributions.

14. The method of claim 8 , wherein finely programming the memory cells in the portion configured as QLC memory to final values representing the second plurality of pages of host data comprises causing one or more programming voltage pulses to be applied to the memory cells in the portion configured as QLC memory to increase the initial values to the final values.

15. A method comprising:

identifying four groups of programming distributions, wherein each group comprises four of 16 programming distributions associated with a first portion of a memory array of a memory device storing multiple bits of data per memory cell;

during a first pass of a multi-pass programming operation, coarsely programming memory cells in the first portion of the memory array to initial values representing four pages of host data;

in response to completion of the first pass of the multi-pass programming operation, storing, in a second portion of the memory array of the memory device storing one bit of data per cell, a respective indicator for each memory cell of the coarsely programmed memory cells to indicate a respective associated one of the four groups of programming distributions; and

during a second pass of the multi-pass programming operation, reading the coarsely programmed initial values from the first pass based on the indicator of the four groups of programming distributions and finely programming the memory cells in the first portion of the memory array to final values representing the second plurality of pages of host data.

16. The method of claim 15 , further comprising:

receiving, from a requestor, a request to program the four pages of host data to the memory array.

17. The method of claim 15 , wherein the indicator of the four groups comprises two pages of group indicator data.

18. The method of claim 17 , further comprising:

reading the two pages of group indicator data from the second portion of the memory array; and

identifying a subset of the coarsely programmed memory cells associated with each of the four groups of programming distributions based on the two pages of group indicator data.

19. The method of claim 18 , further comprising:

identifying respective read voltage levels associated with each of the four groups of programming distributions,

wherein reading the coarsely programmed initial values from the first pass based on the indicator of the four groups of programming distributions comprises causing the respective read voltage levels to be applied to each of the four groups of programming distributions.

20. The method of claim 15 , wherein finely programming the memory cells in the first portion of the memory array to final values representing the four pages of host data comprises causing one or more programming voltage pulses to be applied to the memory cells in the first portion memory array to increase the initial values to the final values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: NGUYEN, PHONG SY; FITZPATRICK, JAMES; MUCHHERLA, KISHORE KUMAR
To: MICRON TECHNOLOGY, INC.
Reel/Frame 054696/0808 →
Continuity (1)
Related Publication 20220199165A1 · Jun 23, 2022