# US 12,001,359 B2 · Identification and classification of write stream priority

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

- Number: US 12,001,359 B2
- Document ID: US12001359B2
- Status: Granted
- Kind: B2
- Application number: 17/948,059
- Filed: 2022-09-19
- Published: 2023-01-19
- Granted: 2024-06-04
- Earliest claimed: 2020-10-16
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Oleg Kragel; Xiangyu Tang; Vijay Sivasankaran; Mikhail Palityka
- Web page: https://patentgrep.com/patent/US12001359B2

## CPC

- G06F 13/18: based on priority control (G06F13/1605 takes precedence)
- G06F 13/1668: {Details of memory controller}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Increases in efficiency of storage device operation may be realized if the limited number of available high-priority communication channels are better optimized and assigned among hosts that may best utilize them. This assignment can occur in response to an evaluation of the overall zone usage or by received metadata and/or indicia from the host. The storage device may periodically, or in response to a command, reevaluate the assigned priority status of each communication channel and associated host/zone pair. For example, the storage device may demote or remove a communication channel from high-priority to low-priority. This process can be continued during a preconfigured time window which can be adjusted before, during, or after priority evaluation. The continuous operation of this process can allow for adjustments being made to priority levels within the storage device that may further increase total operational efficiency.

## Claims

### Claim 1

A device comprising:
a processor;
a memory array comprising a plurality of memory devices, wherein the plurality of memory devices is grouped into a plurality of zones;
a plurality of communication channels configured to connect to a plurality of hosts, wherein:
each zone of the plurality of zones is configured to communicate with a single host; and
the plurality of communication channels comprises both high-priority communication channels and low-priority communication channels; and
a priority assignment logic, executed by the processor, configured to:
in response to a determination that data transmitted from a host of the plurality of hosts comprises indication signal indicative of a high-priority communication requirement, assign a high-priority communication channel to the host; and
provide a use of the high-priority communication channel to the host;
establish a time window-based analysis with respect to host data stream write patterns;
scan for one or more available zones within the storage device; and
determine an amount of storage device usage commands issued per zone.

### Claim 2 (depends on 1)

The device of claim 1, wherein the indication signal comprises zone data velocity toward the device.

### Claim 3 (depends on 2)

The device of claim 2, wherein the priority assignment logic is configured to:
determine an alternative data path for the transmitted data associated with the indication signal.

### Claim 4 (depends on 1)

The device of claim 1, wherein the device is a storage device.

### Claim 5 (depends on 4)

The device of claim 4, wherein the storage device is a flash-based storage device.

### Claim 6 (depends on 5)

The device of claim 5, wherein the flash-based storage device utilizes the non-volatile memory express (NVMe) protocol.

### Claim 7 (depends on 6)

The device of claim 6, wherein the plurality of zones are zoned namespaces.

### Claim 8 (depends on 1)

The device of claim 1, wherein the priority assignment logic is configured to receive metadata from the host.

### Claim 9 (depends on 8)

The device of claim 8, wherein the priority assignment logic is configured to analyze the received metadata and provide the use of the high-priority channel to the host based on the analyzed metadata.

### Claim 10 (depends on 9)

The device of claim 9, wherein the received metadata is transmitted from the host to the device during normal operations.

### Claim 11

A method for assigning zone priorities in a device comprising:
receiving data from a plurality of hosts;
determining whether the received data from a host of the plurality of hosts comprises indication signal indicative of a high-priority communication requirement;
assigning a high-priority communication channel to the host;
providing a use of the high-priority communication channel to the host,
wherein the device comprises a plurality of zones and a plurality of communication channels to connect to the plurality of hosts;
establishing a time window-based analysis with respect to host data stream write patterns;
scanning for one or more available zones within the storage device; and
determining an amount of storage device usage commands issued per zone.

### Claim 12 (depends on 11)

The method of claim 11, wherein the indication signal comprises zone data velocity toward the device.

### Claim 13 (depends on 12)

The method of claim 12, further comprising determining an alternative data path for the transmitted data associated with the indication signal.

### Claim 14 (depends on 11)

The method of claim 11, wherein the device is a storage device.

### Claim 15 (depends on 14)

The method of claim 14, wherein the storage device is a flash-based storage device.

### Claim 16 (depends on 15)

The method of claim 15, wherein the flash-based storage device utilizes the non-volatile memory express (NVMe) protocol.

### Claim 17 (depends on 16)

The method of claim 16, wherein the plurality of zones are zoned namespaces.

### Claim 18 (depends on 11)

The method of claim 11, further comprising receiving metadata from the host.

### Claim 19 (depends on 18)

The method of claim 18, further comprising analyzing the received metadata and providing the use of the high-priority channel to the host based on the analyzed metadata, wherein the received metadata is transmitted from the host to the device during normal operations.

### Claim 20

A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, direct the processor to perform operations comprising:
receiving data from a plurality of hosts;
determining whether the received data from a host of the plurality of hosts comprises indication signal indicative of a high-priority communication requirement;
assigning a high-priority communication channel to the host;
providing a use of the high-priority communication channel to the host;
establishing a time window-based analysis with respect to host data stream write patterns;
scanning for one or more available zones within the storage device; and
determining an amount of storage device usage commands issued per zone.
