IP Library Granted Patent US 11,360,677
Granted Patent B2
US 11,360,677 · App. 16/948,305 · Granted Jun 14, 2022

Selective partitioning of sets of pages programmed to memory device

Inventors: Kishore Kumar Muchherla (Fremont, CA); Karl D. Schuh (Santa Cruz, CA); Jiangang Wu (Milpitas, CA); Mustafa N. Kaynak (San Diego, CA); Devin M. Batutis (San Jose, CA); Xiangang Luo (Fremont, CA)
Assignee: MICRON TECHNOLOGY, INC.
G06F3/0631G06F3/0604G06F3/0679
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,360,677
App. No.
16/948,305
Granted
Jun 14, 2022
Kind
B2
Abstract

A system includes a memory device having multiple of dice and a processing device operatively coupled to the memory device. The processing device performs operations including receiving memory operations to program sets of pages of data across at least a subset of the plurality of dice and identifying a plurality of the sets of pages experiencing a variation in a data state metric satisfying a threshold criterion. The operations further include partitioning, into a set of partitions, a set of pages of the plurality of the sets of pages, programming the set of partitions to the plurality of dice, and storing, in a metadata table, at least one bit to indicate that the first set of pages is partitioned.

Claims (68)

1. A system comprising:

a memory device comprising a plurality of dice; and

a processing device, operatively coupled to the memory device, the processing device to perform operations, comprising:

receiving memory operations to program sets of pages of data across at least a subset of the plurality of dice;

identifying, while programming the sets of pages to the plurality of dice, a plurality of the sets of pages experiencing a variation in a data state metric satisfying a threshold criterion;

partitioning, into a set of partitions, a set of pages of the plurality of the sets of pages;

storing, in a metadata table, at least one bit to indicate that the set of pages is partitioned; and

wherein, for each set of pages of the plurality of the sets of pages:

removing the at least one bit from the metadata table for the set of pages in response to the set of pages reaching a threshold time after program (TAP);

merging the set of partitions into a merged set of pages;

selecting a block family for the merged set of pages; and

consolidating, within the metadata table, a single entry for the merged set of pages, wherein the single entry is associated with the block family.

2. The system of claim 1 , wherein the identifying further comprises determining that the plurality of the sets of pages takes more than a threshold time period to completely program, wherein the operations further comprise:

partitioning, into a further set of partitions, each set of pages of the plurality of the sets of pages in addition to the set of pages; and

programming each further set of partitions to the plurality of dice.

3. The system of claim 1 , wherein, for each set of pages of the plurality of the sets of pages, each partition of the set of partitions is of a fixed length, and wherein the operations further comprise storing, in the metadata table, a value indicative of the fixed length.

4. The system of claim 3 , wherein the operations further comprise:

receiving a read operation directed at a page of the set of pages;

determining, based on a logical block address of the read operation and on the value indicative of the fixed length, a partition of the set of partitions to which the read operation corresponds; and

searching, using a first value associated with the set of pages and a second value associated with the partition, the metadata table to identify a block family to which the partition is assigned.

5. The system of claim 1 , wherein each partition is a numbered portion of the set of pages, the set of partitions comprises a maximum number of variable-length partitions, and the operations further comprise storing, in the metadata table in association with the set of pages, an address of a last valid page that was written for each numbered portion of the set of pages.

6. The system of claim 5 , wherein the operations further comprise:

receiving a read operation directed at a page of the set of pages;

searching through a plurality of last valid pages of the metadata table to determine a partition of the set of partitions corresponding to a logical block address of the read operation; and

searching, using a first value associated with the set of pages and a second value associated with the partition, the metadata table to identify a block family to which the partition is assigned.

7. The system of claim 1 , wherein, for each set of pages of the plurality of the sets of pages, the set of partitions comprises a variable number of fixed-length and variable-length partitions, and wherein the operations further comprise storing a value identifying each variable-length partition in an array with a multiple-linked list structure of tracking the variable-length partitions.

8. A method comprising:

receiving, by a memory sub-system of a memory device, memory operations to program sets of pages of data across at least a subset of a plurality of dice;

identifying, by a processing device of the memory sub-system and while programming the sets of pages to the plurality of dice, a plurality of the sets of pages experiencing a variation in temporal voltage shift satisfying a threshold criterion;

partitioning, by the processing device, a set of pages of the plurality of the sets of pages into a set of fixed-length partitions, wherein each fixed-length partition is a numbered sub-group of the set of pages;

storing, by the processing device in a metadata table, a value to indicate a size of each fixed-length partition, and

wherein, for each set of pages of the plurality of the sets of pages:

removing the value from the metadata table for the set of pages in response to the set of fixed-length partitions being assigned to an identical threshold voltage offset bin;

merging the set of fixed-length partitions into a merged set of pages;

selecting a block family for the merged set of pages; and

consolidating, within the metadata table, a single entry for the merged set of pages, wherein the single entry is associated with the block family.

9. The method of claim 8 , wherein the identifying further comprises determining that the plurality of the sets of pages takes more than a threshold time period to completely program, the method further comprising:

partitioning, into a further set of partitions, each set of pages of the plurality of the sets of pages in addition to the set of pages; and

programming each further set of partitions to the plurality of dice.

10. The method of claim 8 , wherein the method further comprises:

receiving a read operation directed at a page of the set of pages;

determining, based on a logical block address of the read operation and on the value that indicates the size of each fixed-length partition, a partition of the set of fixed-length partitions to which the read operation corresponds; and

searching within the metadata table to determine a block family to which the partition is assigned, wherein the searching is based on a first value associated with the set of pages and a second value associated with the partition.

11. The method of claim 10 , further comprising:

searching a block family table, using an identifier for the block family, to identify a threshold voltage offset bin to which the block family is assigned;

searching a threshold voltage offset table using a bin number for the threshold voltage offset bin to determine one or more threshold voltage offsets value for use in performing the read operation; and

reading data from the page via application of the one or more threshold voltage offset value to a base read level.

12. A method comprising:

receiving, by a memory sub-system of a memory device, memory operations to program sets of pages of data across at least a subset of a plurality of dice;

identifying, by a processing device of the memory sub-system and while programming the sets of pages to the plurality of dice, a plurality of the sets of pages experiencing a variation in temporal voltage shift satisfying a threshold criterion;

partitioning, by the processing device, a set of pages of the plurality of the sets of pages into a set of variable-length partitions, wherein each variable-length partition is a numbered sub-group of the set of pages;

storing, by the processing device in a metadata table, an address of a last valid page that was written for each numbered sub-group of the set of pages;

receiving a read operation directed at a page of the set of pages;

searching through a plurality of last valid pages of the metadata table to determine a partition of the set of variable-length partitions corresponding to a logical block address of the read operation; and

searching within the metadata table to determine a block family to which the partition is assigned, wherein the searching is based on a first value associated with the set of pages and a second value associated with the partition.

13. The method of claim 12 , wherein the identifying further comprises determining that the plurality of the sets of pages takes more than a threshold time period to completely program, the method further comprising:

partitioning, into a further set of partitions, each set of pages of the plurality of the sets of pages in addition to the set of pages; and

programming each further set of partitions to the plurality of dice.

14. The method of claim 12 , wherein, for each set of pages of the plurality of the set of pages, the method further comprises:

removing the address of the last valid page from the metadata table for the set of pages in response to the set of pages reaching a threshold time after program (TAP);

merging the set of variable-length partitions into a merged set of pages;

selecting a block family for the merged set of pages; and

consolidating, within the metadata table, a single entry for the merged set of pages, wherein the single entry is associated with the block family.

15. The method of claim 12 , wherein, for each set of pages of the plurality of the sets of pages, the method further comprising:

removing the address of the last valid page from the metadata table for the set of variable-length partitions are assigned to an identical threshold voltage offset bin;

merging the set of variable-length partitions into a merged set of pages;

selecting a block family for the merged set of pages; and

consolidating, within the metadata table, a single entry for the merged set of pages, wherein the single entry is associated with the block family.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2020
From: MUCHHERLA, KISHORE KUMAR; SCHUH, KARL D.; WU, JIANGANG; KAYNAK, MUSTAFA N.; BATUTIS, DEVIN M.; LUO, XIANGANG
To: MICRON TECHNOLOGY, INC.
Reel/Frame 053751/0708 →
Continuity (1)
Related Publication 20220083243A1 · Mar 17, 2022