IP Library Granted Patent US 11,853,595
Granted Patent B2
US 11,853,595 · App. 17/723,887 · Granted Dec 26, 2023

Adaptive multi-stream classification for data storage systems

Inventors: Einav Zilberstein (Hod Hasharon, IL); Matar Krizhak (Raanana, IL); Stella Achtenberg (Netanya, IL); Hadas Oshinsky (Hod Hasharon, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0655G06F3/0604G06F3/0679
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,853,595
App. No.
17/723,887
Granted
Dec 26, 2023
Kind
B2
Abstract

A stream set classification process may be implemented to classify streams opened by a host device on a data storage device. The data storage device may internally classify the streams into different stream classifications using a set of performance metrics. Stream classifications that cause the data storage device to show the greatest gains when compared with a set of baseline performance metrics for the data storage device and/or when compared with other stream classifications, may be selected by the data storage device and/or the host device for subsequent write operations.

Claims (54)

1. A method for classifying streams for a data storage device, comprising:

receiving a plurality of streams from a host device;

determining a performance metric for each stream in the plurality of streams, each performance metric being associated with a performance parameter from a set of predefined performance parameters;

classifying the plurality of streams into a stream classification based, at least in part, on each performance metric, the stream classification including a first stream set and a second stream set, the first stream set including a first stream from the plurality of streams and the second stream set including a second stream from the plurality of streams;

determining a gain measurement associated with the stream classification, the gain measurement being associated with a set of predefined gain criteria; and

performing a write operation on a storage block of the data storage device using the stream classification based, at least in part, on the gain measurement.

2. The method of claim 1 , wherein the storage block is associated with the first stream set.

3. The method of claim 1 , further comprising comparing the gain measurement associated with the stream classification to a baseline efficiency score associated with the data storage device, the baseline efficiency score providing performance information of the data storage device prior to the data storage device performing the write operation using the stream classification.

4. The method of claim 1 , further comprising comparing the gain measurement associated with the stream classification to an expected gain measurement threshold.

5. The method of claim 4 , further comprising identifying a different stream classification when the gain measurement associated with the stream classification is below the expected gain measurement threshold.

6. The method of claim 1 , further comprising comparing the gain measurement associated with the stream classification to a gain measurement associated with a different stream classification.

7. The method of claim 6 , further comprising causing the data storage device to use the different stream classification when the gain measurement associated with the different stream classification exceeds the gain measurement associated with the stream classification.

8. A method for classifying streams for a data storage device, comprising:

storing a first performance metric for a first stream in a plurality of streams associated with a host device, the first performance metric being associated with a performance parameter;

storing a second performance metric for a second stream in the plurality of streams associated with the host device, the second performance metric being associated with the performance parameter;

providing information corresponding to the first performance metric for the first stream in the plurality of streams to a remote device;

providing information corresponding to the second performance metric for the second stream in the plurality of streams to the remote device;

receiving a stream classification from the remote device, the stream classification including one or more stream sets, wherein:

at least one of the one or more stream sets includes the first stream and the second stream; and

the first stream and the second stream are included in the at least one of the one or more stream sets based, at least in part, on the first performance metric and the second performance metric; and

performing a write operation on a storage block of the data storage device using the stream classification.

9. The method of claim 8 , wherein the information corresponding to the first performance metric and the information corresponding to the second performance metric are provided to the remote device via an application programming interface.

10. The method of claim 8 , wherein the performance parameter is selected from a group of performance parameters that includes one or more of:

an amount of write operations and invalidations for a stream;

an amount of rewrite invalidations and discard invalidations for a stream;

a valid count percentage for a stream;

an invalidated valid count percentage for a stream;

a determined pattern of a stream;

a determined number of free storage blocks associated with a stream; and

a determined sequential read and sequential write ratio associated with a stream.

11. The method of claim 8 , further comprising providing a maximum number of streams supported by the data storage device to the remote device via an application programming interface.

12. The method of claim 11 , wherein a maximum number of stream sets in the stream classification is less than or equal to the maximum number of streams supported by the data storage device.

13. The method of claim 12 , wherein a maximum number of streams in each stream set is less than or equal to the maximum number of streams supported by the data storage device.

14. A data storage device, comprising:

a controller; and

a memory communicatively coupled to the controller and storing instructions which, when executed by the controller, perform operations, comprising:

performing one or more write operations on storage blocks associated with the data storage device using a first stream classification, the first stream classification including a first stream set having one or more streams associated with a host device and a second stream set having one or more streams associated with the host device;

determining a gain measurement associated with the first stream classification;

comparing the gain measurement associated with the first stream classification to an expected gain measurement threshold; and

performing subsequent write operations on the storage blocks associated with the data storage device using a second stream classification based on the gain measurement associated with the first stream classification falling below the expected gain measurement threshold.

15. The data storage device of claim 14 , wherein the expected gain measurement threshold is associated with a workload.

16. The data storage device of claim 14 , wherein the expected gain measurement threshold is associated with a profile.

17. The data storage device of claim 14 , wherein the gain measurement associated with the first stream classification is based, at least in part, on one or more gain criteria, the one or more gain criteria including one or more of:

a ratio of released storage blocks versus new storage blocks that are allocated for write operations;

a determined valid count distribution spread over all storage blocks in the data storage device;

a determined count of free storage blocks in the data storage device;

a determined frequency of garbage collection activities performed by the data storage device;

a determined number of sequential read operations performed by the data storage device; and

a determined write amplification factor associated with the data storage device.

18. The data storage device of claim 14 , wherein:

each of the one or more streams in the first stream set have a performance metric that falls within a first specified range of a performance parameter; and

each of the one or more streams in the second stream set have a performance metric that falls within a second specified range of the performance parameter.

19. The data storage device of claim 14 , further comprising instructions for performing the comparison of the gain measurement of the first stream classification to the expected gain measurement threshold in response to a command received from the host device.

20. The data storage device of claim 14 , further comprising instructions for generating a new stream classification based, at least in part on, the gain measurement associated with the first stream classification falling below the expected gain measurement threshold.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2022
From: ZILBERSTEIN, EINAV; KRIZHAK, MATAR; ACHTENBERG, STELLA; OSHINSKY, HADAS
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059637/0036 →
Continuity (1)
Related Publication 20230333772A1 · Oct 19, 2023