IP Library Granted Patent US 12,093,548
Granted Patent B2
US 12,093,548 · App. 17/741,213 · Granted Sep 17, 2024

Stream oriented writing for improving sequential write and read performance

Inventors: Sridhar Prudviraj Gunda (Karnataka, IN); Kalpit Bordia (Karnataka, IN)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/064G06F3/0604G06F3/0659G06F3/0679G06F12/123G11C7/1039G06F2212/7201
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 12,093,548
App. No.
17/741,213
Granted
Sep 17, 2024
Kind
B2
Abstract

Aspects of a storage device are provided that optimize stream oriented writing of sequential data streams for improved read and write performance. The storage device includes a non-volatile memory including a plurality of blocks, and a controller configured to receive a plurality of host write commands each including a sequential data stream. In response to determining the host write commands include sequential data streams, the controller writes each of the sequential data streams respectively to different sequential open blocks, where the blocks are respectively associated with the sequential data streams. The controller may afterwards read each of the sequential data streams respectively from the different blocks. As a result, sequential data from multiple streams may not be stored in a mixed pattern in a same sequential block, thereby allowing the controller to issue fewer read or relocate commands in a block for a given sequential data stream.

Claims (30)

1. A storage device, comprising:

a volatile memory;

a non-volatile memory including a plurality of blocks; and

a controller configured to:

determine a number of blocks of the plurality of blocks for which to write sequential data associated with parallel host write commands, wherein the number of blocks is determined based on an average value associated with previously received sequential data streams and a size of the volatile memory;

receive a plurality of parallel host write commands, each of the plurality of parallel host write commands including a sequential data stream; and

write each of the sequential data streams to a different one of the number of blocks in response to the parallel host write commands.

2. The storage device of claim 1 ,

wherein the number of blocks is indicative of a maximum number of sequential data streams to be allocated to individual ones of the number of blocks,

wherein the controller is further configured to obtain the maximum number of sequential data streams, and

wherein the controller is further configured to write each of the sequential data streams to the different one of the number blocks in response to a number of the sequential data streams being at most equal to the maximum number of sequential data streams.

3. The storage device of claim 2 , wherein the maximum number of sequential data streams is based on a write amplification limit for sequential data swaps between the volatile memory and the non-volatile memory.

4. The storage device of claim 1 , wherein the controller is further configured to:

receive another host write command including another sequential data stream;

determine a least recently used (LRU) block from the number of blocks; and

write the other sequential data stream to the LRU block in response to the determination.

5. The storage device of claim 4 , wherein the LRU block indicates an end of one of the sequential data streams and a beginning of the other sequential data stream.

6. The storage device of claim 4 , wherein the other sequential data stream is written to the LRU block while each of the sequential data streams are being written in parallel to the different one of the number of blocks.

7. A storage device, comprising:

a volatile memory;

a non-volatile memory including a plurality of blocks; and

a controller configured to:

determine a number of blocks of the plurality of blocks for which to write sequential data associated with parallel host write commands, wherein the number of blocks is determined based on an average value associated with previously received sequential data streams and a size of the volatile memory;

receive a plurality of host write commands, each of the plurality of host write commands including a sequential data stream;

write each of the sequential data streams to a different one of the number of blocks in response to the host write commands; and

read each of the sequential data streams respectively from different ones of the number of blocks.

8. The storage device of claim 7 , wherein the controller is further configured to relocate one of the sequential data streams from a least recently used (LRU) block including another sequential data stream.

9. The storage device of claim 7 , wherein in response to an invalidation of one of the sequential data streams in one of the blocks, the controller is further configured to erase the one of the blocks without performing a data relocation.

10. The storage device of claim 7 , wherein the host write commands are received in parallel from a host device.

11. The storage device of claim 7 , wherein the host write commands are received serially from a host device.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: GUNDA, SRIDHAR PRUDVIRAJ; BORDIA, KALPIT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060627/0181 →