IP Library Granted Patent US 11,449,443
Granted Patent B2
US 11,449,443 · App. 17/187,046 · Granted Sep 20, 2022

Identification and classification of write stream priority

Inventors: Oleg Kragel (San Jose, CA); Xiangyu Tang (San Jose, CA); Vijay Sivasankaran (Dublin, CA); Mikhail Palityka (Oakville, CA)
Assignee: Western Digital Technologies, Inc.
G06F13/18G06F13/1668G06F13/4282
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,449,443
App. No.
17/187,046
Granted
Sep 20, 2022
Kind
B2
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 (50)

1. A device comprising:

a processor;

a memory array comprising a plurality of memory devices, wherein the plurality of memory devices are 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 communication channels comprise both high-priority channels and low-priority channels; and

priority assignment logic, executed by the processor, configured to:

analyze data transmitted over one or more communication channels, wherein the analysis of the transmitted data comprises evaluating received storage device usage commands during a determined period of time;

provide the use of a high-priority channel to one or more hosts based on the analyzed data;

generate ratio data corresponding to the evaluated received storage commands during the determined period of time; and

assign high-priority communication channels in response to the generated ratio data.

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

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

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

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

6. The device of claim 1 , wherein the analysis of the transmitted data comprises receiving metadata from at least one host of the plurality of hosts associated with at least one corresponding zone.

7. The device of claim 6 , wherein the priority assignment logic further generates ratio data corresponding to the evaluated received metadata.

8. The device of claim 7 , wherein the priority assignment logic is configured to assign high-priority communication channels in response to the generated ratio data.

9. The device of claim 1 , wherein the analysis of the transmitted data comprises both receiving metadata from at least one host of the plurality of hosts associated with at least one corresponding zone and evaluating received storage device usage commands during a determined period of time.

10. The device of claim 9 , wherein the priority assignment logic further, in response to having both received metadata and received storage commands during the determined period of time, generates ratio data corresponding to the evaluated received metadata.

11. A method of assigning zone priorities in a storage device, comprising:

monitoring a plurality of currently available zones over a period of time;

establishing a starting time and ending time within the monitored period of time as a time window;

determining storage device usage commands issued per zone within the time window;

generating a ratio corresponding with issued storage device usage commands per zone within the time window relative to other zones;

determining a number of available high-priority communication channels; and

assigning available high-priority communication channels to zones with the highest generated ratio.

12. The method of claim 11 , wherein, in response to continued usage of the storage device, the method further adjusts the starting time and ending time as a new time window such that an updated assignment of available high-priority communications channels may occur based on an updated ratio determined from storage device usage commands per zone during the adjusted time window.

13. A method of managing a pool of high-priority communication channels, comprising:

establishing a pool of zones comprising a plurality of high-priority zones and a plurality of low-priority zones, wherein the high-priority zones are allocated high-priority communication channel resources to communicate to a corresponding zone host;

analyzing the currently received storage device usage commands per host over a first period of time;

generating a ranking of zones and corresponding hosts based on the received storage device usage commands per host; and

assigning high-priority communication channels based on the generated ranking;

wherein the higher-ranking hosts and corresponding zones are assigned high-priority communication channels.

14. The method of claim 13 , wherein the assignment of high-priority communication channels is further based on a predetermined threshold being exceeded.

15. The method of claim 14 , wherein the method further comprises:

receiving a number of new communication channel resource requests for a zone from a plurality of new hosts;

analyzing storage device usage commands per new host over a second period of time;

generating a second ranking of zones and corresponding hosts based on the re-analysis; and

assigning updated high-priority communication channels based on the generated second ranking.

16. The method of claim 15 , wherein the method further comprises:

determining that an insufficient amount of high-priority communication channel resources are available to pair with each assignable high-ranking hosts and corresponding zones;

comparing the lowest-ranking high-priority zone and corresponding host against an assigned, high-priority communication channel based on the second ranking;

if, in response to the lowest-ranking high-priority zone having a lower ranking compared to the new host, changing the lowest-ranking high-priority zone to low-priority; and

repeating the comparison and updating the method with another assigned high-priority communication channel from the second ranking until all assigned high-priority communication channels have been compared.

17. The method of claim 15 , wherein the method further comprises:

determining that an insufficient amount of high-priority communication channel resources are available to pair with each assignable high-ranking hosts and corresponding zones;

comparing the lowest-ranking high-priority zone and corresponding host against an assigned high-priority communication channel based on the second ranking;

changing the current assigned high-priority communication channel to low-priority if the lowest-ranking high-priority zone having a higher ranking compared to the new host; and

repeating the comparison and updating the method with another assigned high-priority communication channel from the second ranking until all assigned high-priority communication channels have been compared.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2021
From: KRAGEL, OLEG; TANG, XIANGYU; SIVASANKARAN, VIJAY; PALITYKA, MIKHAIL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055430/0642 →