# US 12,112,062 B2 · Write performance by relocation during sequential reads

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

- Number: US 12,112,062 B2
- Document ID: US12112062B2
- Status: Granted
- Kind: B2
- Application number: 17/356,999
- Filed: 2021-06-24
- Published: 2022-12-29
- Granted: 2024-10-08
- Earliest claimed: 2021-06-24
- Assignees: SanDisk Technologies LLC
- Applicants: Western Digital Technologies, Inc.
- Inventors: Sridhar Prudviraj Gunda; Yarriswamy Chandranna
- Web page: https://patentgrep.com/patent/US12112062B2

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0611: {in relation to response time}
- G06F 3/064: {Management of blocks}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G11C 16/10: Programming or data input circuits
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 2211/5641: Multilevel memory having cells with different number of storage levels
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A data storage device includes a non-volatile memory device including a memory block including a number of memory dies, and a controller coupled to the non-volatile memory device. A read command is received from an external device and the controller determines whether a read operation associated with the read command is a sequential read operation. One or more relocation operations are performed in response to determining that the read operation is a sequential read operation. The one or more relocation operations are executed in an order based on a priority associated with each of the one or more relocation operations.

## Claims

### Claim 1

A data storage device, comprising:
a non-volatile memory device including a plurality of memory blocks, the memory blocks including a plurality of memory dies; and
a controller coupled to the non-volatile memory device and configured to:
receive a read command from an external device,
determine whether a read operation associated with the read command is a sequential read operation, and
in response to determining that the read operation is the sequential read operation, executing one or more relocation operations, wherein the one or more relocation operations are executed in an order based on a priority order associated with each of the one or more relocation operations,
wherein the priority is based on a type of relocation operation associated with the each of the one or more relocation operations,
wherein the one or more relocation operations comprise one or more of a Quad Level Cell (“QLC”)-QLC compaction operation type, a Single Level Cell (“SLC”)-SLC compaction operation type, and an SLC-QLC folding operation type, and
wherein the QLC-QLC compaction operation type has a higher priority order than the SLC-SLC compaction operation type and the SLC-QLC folding operation type.

### Claim 2 (depends on 1)

The data storage device of claim 1, wherein the read operation is determined to be the sequential read operation based on a consecutive quantity of memory blocks being accessed and exceeding a predetermined threshold.

### Claim 3 (depends on 1)

The data storage device of claim 1, wherein the SLC-SLC compaction operation type has a higher priority order than the SLC-QLC folding operation type.

### Claim 4 (depends on 1)

The data storage device of claim 1, wherein the priority order associated with each of the one or more relocation operations is based on a time period required to complete the each of the one or more relocation operations.

### Claim 5 (depends on 4)

The data storage device of claim 4, wherein a first time period has a higher priority order than a second time period, where the first time period is greater than the second time period.

### Claim 6

A method performed by data storage device having a controller coupled to a non-volatile memory device, the method comprising:
receiving a read command from an external device;
determining whether a read operation associated with the read command is a sequential read operation; and
executing one or more relocation operations in response to determining that the read operation is the sequential read operation, wherein the one or more relocation operations are executed in an order based on a priority order associated with each of the one or more relocation operations, wherein the priority order is associated with a type of the each of the one or more relocation operations, and wherein the one or more relocation operations comprise one or more of a Quad Level Cell (“QLC”)-QLC compaction operation type, a Single Level Cell (“SLC”)-SLC compaction operation type, and an SLC-QLC folding operation type;
wherein the QLC-QLC compaction operation type has a higher priority order than the SLC-SLC compaction operation type and the SLC-QLC folding operation type.

### Claim 7 (depends on 6)

The method of claim 6, wherein the read operation is determined to be the sequential read operation based on a consecutive quantity of memory blocks being accessed and exceeding a predetermined threshold.

### Claim 8 (depends on 6)

The method of claim 6, wherein the SLC-SLC compaction operation type has a higher priority order than the SLC-QLC folding operation type.

### Claim 9 (depends on 6)

The method of claim 6, wherein the priority order associated with each of the one or more relocation operations is based on a time period required to complete the each of the one or more relocation operations.

### Claim 10 (depends on 9)

The method of claim 9, wherein a first time period has a higher priority order than a second time period, where the first time period is greater than the second time period.

### Claim 11

A data storage device, comprising:
a non-volatile memory device including a memory block, the memory block including a plurality of memory dies and at least one flash management unit; and
a controller coupled to the non-volatile memory device and configured to:
receive a read command from an external device;
determine whether a read operation associated with the read command is a sequential read operation based on a consecutive quantity of flash management units being accessed and exceeding a predetermined threshold; and
in response to determining that the read operation is the sequential read operation, executing one or more relocation operations, wherein the one or more relocation operations are executed in an order based on a priority order associated with a type of each of the one or more relocation operations,
wherein the priority order is based on a time period required to complete the each of the one or more relocation operation types,
wherein the one or more relocation operations comprise one or more of a Quad Level Cell (“QLC”)-QLC compaction operation type, a Single Level Cell (“SLC”)-SLC compaction operation type, and an SLC-QLC folding operation type, and
wherein the QLC-QLC compaction operation type has a higher priority order than the SLC-SLC compaction operation type and the SLC-QLC folding operation type.

### Claim 12 (depends on 11)

The data storage device of claim 11, wherein the predetermined threshold is 100 kb.

### Claim 13 (depends on 11)

The data storage device of claim 11, wherein the SLC-SLC compaction operation type has a higher priority order than the SLC-QLC folding operation type.

### Claim 14 (depends on 11)

The data storage device of claim 11, wherein a first time period has a higher priority order than a second time period, where the first time period is greater than the second time period.
