# US 12,222,800 B2 · Write and retire pages in QLC NAND blocks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,222,800 B2
- Document ID: US12222800B2
- Status: Granted
- Kind: B2
- Application number: 18/348,416
- Filed: 2023-07-07
- Published: 2024-09-05
- Granted: 2025-02-11
- Earliest claimed: 2023-03-02
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Nikolaos Papandreou; Timothy J. Fisher; Roman Alexander Pletka; Charalampos Pozidis; Radu Ioan Stoica; Aaron Daniel Fry; Andrew D. Walls
- Web page: https://patentgrep.com/patent/US12222800B2

## CPC

- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 3/0616: {in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 2201/81: Threshold
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A technique for writing data to pages in a QLC block of a QLC NAND flash memory device, where the device comprises a plurality of SLC pages organized in SLC blocks and a plurality of QLC pages organized in QLC blocks. The technique comprises storing received data in SLC pages, dividing equally a QLC block in a predefined number of sub-blocks according to a corresponding QLC page health status of the pages of the QLC block. Upon determining that SLC pages are to be copied from SLC pages to QLC pages, copying device-internal the respective SLC pages to the sub-blocks of the QLC block using device-internal cache registers, where the copying is based on an error-count aware scheme.

## Claims

### Claim 1

A computer-implemented method for writing data to pages in a QLC block of a QLC NAND flash memory device, said device comprising a plurality of SLC pages organized in SLC blocks and a plurality of QLC pages organized in QLC blocks, said method comprising:
storing received data in SLC pages,
dividing equally a QLC block in a predefined number of sub-blocks according to a corresponding QLC page health status of said pages of said QLC block, and
upon determining that SLC pages are to be copied from SLC pages to QLC pages; copying device-internal said respective SLC pages to said sub-blocks of said QLC block using device-internal cache registers, wherein said copying is based on an error-count aware scheme.

### Claim 2 (depends on 1)

The method according to claim 1, wherein a determined health status for an SLC block is selected out of said group comprising a highest raw bit error rate, a highest retention rate and a lowest write heat of said respective SLC pages to be copied.

### Claim 3 (depends on 1)

The method according to claim 1, wherein said error-count aware scheme comprises;
mapping an SLC block with a highest raw bit error rate to QLC pages that form a QLC sub-block which exhibits a lowest raw bit error rate in said QLC block, and copying said SLC block to said QLC sub-block using a device-internal copyback scheme.

### Claim 4 (depends on 1)

The method according to claim 1, wherein said error-count aware scheme comprises;
copying SLC blocks with a highest write heat index value to QLC pages that exhibit a highest raw bit error rate in said QLC block, and
copying SLC blocks with a lowest write heat index value to QLC pages that exhibit a lowest raw bit error rate in said QLC block.

### Claim 5 (depends on 1)

The method according to claim 1, also comprising:
retiring a first sub-block of a QLC block if a page of said respective sub-block hits a first error count threshold value.

### Claim 6 (depends on 5)

The method according to claim 5, also comprising:
continuing using non-retired sub-blocks of said QLC block for copying data from SLC pages QLC block, and
writing dummy data to said retired page of said respective QLC block.

### Claim 7 (depends on 5)

The method according to claim 5, also comprising:
retiring a second sub-block of said QLC block if a page of said sub-block hits a second error count threshold value.

### Claim 8 (depends on 7)

The method according to claim 7, also comprising:
converting said QLC block into SLC mode if a page in said sub-block still in use hits a third error count threshold value.

### Claim 9 (depends on 5)

The method according to claim 5, also comprising:
continuing said error-count aware scheme when copying said respective SLC pages to said sub-blocks of said QLC block using device-internal cache registers.

### Claim 10 (depends on 1)

The method according to claim 1, wherein said copying SLC pages to a QLC block comprises;
copying four pages from one SLC block to write one QLC set of shared pages, or
copying four pages from four SLC blocks to write one QLC set of shared pages.

### Claim 11

An integrated QLC NAND flash memory system for writing data to pages in a QLC block of said QLC NAND flash memory device, said device comprising a plurality of SLC pages organized in SLC blocks and a plurality of QLC pages organized in QLC blocks, said system comprising:
one or more processors and a memory operatively coupled to said one or more processors, wherein said memory stores program code portions which, when executed by said one or more processors, enable said one or more processors to;
store received data in SLC pages,
divide equally a QLC block in a predefined number of sub-blocks according to a corresponding QLC page health status of said pages of said QLC block, and
upon determining that SLC pages are to be copied from SLC pages to QLC pages; copy device-internal said respective SLC pages to said sub-blocks of
said QLC block using device-internal cache registers,
wherein said copying is based on an error-count aware scheme.

### Claim 12 (depends on 11)

The system according to claim 11, wherein a determined health status for an SLC block is selected out of said group comprising a highest raw bit error rate, a highest retention rate and a lowest write heat of said respective SLC pages to be copied.

### Claim 13 (depends on 11)

The system according to claim 11, wherein said one or more processors executing said error-count aware scheme is also enabled to; map an SLC block with a highest raw bit error rate to QLC pages that form a QLC sub-block which exhibits a lowest raw bit error rate in said QLC block, and copy said SLC block to said QLC sub-block using a device-internal copyback scheme.

### Claim 14 (depends on 11)

The system according to claim 11, wherein said one or more processors executing said error-count aware scheme is also enabled to;
copy SLC blocks with a highest write heat index value to QLC pages that exhibit a worst raw bit error rate in said QLC block, and
copy SLC blocks with a lowest write heat index value to QLC pages that exhibit a best raw bit error rate in said QLC block.

### Claim 15 (depends on 11)

The system according to claim 11, wherein one or more processors is also enabled to
retire a first sub-block of a QLC block if a page of said sub-block hits a first error count threshold value.

### Claim 16 (depends on 15)

The system according to claim 15, wherein said one or more processors are also enabled to;
continue using non-retired sub-blocks of said QLC block for copying data from SLC pages QLC block, and
write dummy data to said retired page of said QLC block.

### Claim 17 (depends on 15)

The system according to claim 15, wherein said one or more processors are also enabled to;
retire a second sub-block of said QLC block if a page of said sub-block hits a second error count threshold value.

### Claim 18 (depends on 17)

The system according to claim 17, wherein said one or more processors are also enabled to;
convert said QLC block into SLC mode if a page in said sub-block still in use hits a third error count threshold value.

### Claim 19 (depends on 15)

The system according to claim 15, wherein said one or more processors are also enabled to;
continue said error-count aware scheme when copying said respective SLC pages to said sub-blocks of said QLC block using device-internal cache registers.

### Claim 20

A computer program product for writing data to pages in a QLC block of said QLC NAND flash memory device, said device comprising a plurality of SLC pages organized in SLC blocks and a plurality of QLC pages organized in QLC blocks, said computer program product comprising a computer readable storage medium having program instructions embodied therewith, said program instructions being executable by one or more computing systems or controllers to cause said one or more computing systems to:
store received data in SLC pages,
divide equally a QLC block in a predefined number of sub-blocks according to a corresponding QLC page health status of said pages of said QLC block, and
upon determining that SLC pages are to be copied from SLC pages to QLC pages copy device-internal said respective SLC pages to said sub-blocks of
said QLC block using device-internal cache registers,
wherein said copying is based on an error-count aware scheme.
