# US 12,223,175 B1 · Cache writing to zones to maximize write bandwidth

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

- Number: US 12,223,175 B1
- Document ID: US12223175B1
- Status: Granted
- Kind: B1
- Application number: 18/464,503
- Filed: 2023-09-11
- Granted: 2025-02-11
- Earliest claimed: 2023-09-11
- Assignees: SanDisk Technologies LLC
- Applicants: Western Digital Technologies, Inc.
- Inventors: Liam Parker; Alan D. Bennett
- Web page: https://patentgrep.com/patent/US12223175B1

## CPC

- G06F 3/0613: {in relation to throughput}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0658: {Controller construction arrangements}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0875: with dedicated cache, e.g. instruction or stack
- G06F 2212/1016: Performance improvement
- G06F 2212/7203: Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
- G06F 2212/7207: management of metadata or control data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Instead of having all zones open across all dies, optimizing caching of non-direct write active zones using a host append point (HAP) for maximum write bandwidth is sufficient. The controller will calculate the write rate for a jumbo device (JD). Based on the JD with lowest total write rate, the controller will assign the JD a new zone. The controller will then determine whether the write rate is either appropriate for a cache write or for a direct write. Based on the determination, the controller will write data to the new zone. If the controller direct writes to the new zone, then the controller will close the zone when the zone is full. If the controller cache writes the data to the new zone, then the controller will copy the zone to the direct write area and return the cache write zone to a zone pool. The controller will reclassify the zone if the initial classification is incorrect.

## Claims

### Claim 1

A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, wherein the controller is configured to:
open a zone in a zoned namespace (ZNS) drive, wherein the zone has an estimated write rate equal to the write rate of a most recently closed zone;
calculate a total write rate for each jumbo device of a plurality of jumbo devices, wherein each jumbo device includes a plurality of zones; and
place the opened zone in a jumbo device having a lowest total write rate.

### Claim 2 (depends on 1)

The data storage device of claim 1, wherein the controller is configured to sort the plurality of jumbo devices based upon total write rates.

### Claim 3 (depends on 1)

The data storage device of claim 1, wherein the controller is configured to determine which die of the memory device to select for opening the zone.

### Claim 4 (depends on 3)

The data storage device of claim 3, wherein the selecting is based upon a fullness of the die.

### Claim 5 (depends on 4)

The data storage device of claim 4, wherein the selected die has a lowest fullness of available dies.

### Claim 6 (depends on 1)

The data storage device of claim 1, wherein the controller is configured to classify the zone as either a direct write zone or a cache write zone.

### Claim 7 (depends on 6)

The data storage device of claim 6, wherein the controller is configured to write metadata to the zone when the zone is classified as a cache write zone.

### Claim 8 (depends on 6)

The data storage device of claim 6, wherein the controller is configured to write user data to the zone when the zone is classified as a direct write zone.

### Claim 9 (depends on 6)

The data storage device of claim 6, wherein a cache write zone has a lower write rate than a direct write zone.

### Claim 10 (depends on 6)

The data storage device of claim 6, wherein the controller is configured to reclassify the zone from being a direct write zone to being a cache write zone.

### Claim 11

A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, wherein the controller is configured to:
classify newly opened zones based upon write rate, wherein the classifying comprises placing the newly opened zones into either a direct write classification or a cache write classification;
write data to the newly opened zones;
determine that at least one zone of the newly opened zones is misclassified;
close another zone; and
reclassify the at least one zone.

### Claim 12 (depends on 11)

The data storage device of claim 11, wherein the determining comprises determining that the at least one zone is misclassified as a direct write zone.

### Claim 13 (depends on 12)

The data storage device of claim 12, wherein the another zone is classified as a cache write zone.

### Claim 14 (depends on 12)

The data storage device of claim 12, wherein zones in a direct write classification have a higher write rate than zones in a cache write classification.

### Claim 15 (depends on 11)

The data storage device of claim 11, wherein the controller is configured to rewrite data from a zone classified as a cache write zone to a zone classified as a direct write zone.

### Claim 16 (depends on 11)

The data storage device of claim 11, wherein the determining comprises determining that the at least one zone is misclassified as a cache write zone, and wherein the another zone is classified as a direct write zone.

### Claim 17 (depends on 11)

The data storage device of claim 11, wherein the controller is configured to assign an estimated write rate to the newly opened zones and wherein the estimated write rate is equal to an actual write rate of a most recently closed zone.

### Claim 18

A data storage device, comprising:
means to store data; and
a controller coupled to the means to store data, wherein the controller is configured to:
estimate a write rate for newly opened zones;
categorize the newly opened zones based upon the write rate;
analyze correctness of the categorizing after beginning a write process; and
re-categorize the newly opened zones after beginning the write process and before filling the newly opened zones.

### Claim 19 (depends on 18)

The data storage device of claim 18, wherein the estimating comprises estimating the write rate to be equal to a write rate of a most recently closed zone.

### Claim 20 (depends on 18)

The data storage device of claim 18, wherein the controller is configured to:
calculate a total write rate for each jumbo device of a plurality of jumbo devices, wherein each jumbo device includes a plurality of zones; and
place the opened zone in a jumbo device having a lowest total write rate.
