IP Library Granted Patent US 11,797,183
Granted Patent B1
US 11,797,183 · App. 17/850,787 · Granted Oct 24, 2023

Host assisted application grouping for efficient utilization of device resources

Inventors: Dinesh Kumar Agarwal (Bangalore, IN); Amit Sharma (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0607G06F3/0631G06F3/0656G06F3/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,797,183
App. No.
17/850,787
Granted
Oct 24, 2023
Kind
B1
Abstract

Systems and methods are disclosed for providing utilization of device resources based on host assisted grouping of applications. In certain embodiments, a data storage device includes a non-volatile memory, a volatile memory, and a controller configured to: receive application group information associated with applications from a host, wherein the application group information indicates corresponding application groups for the applications on the host; receive a plurality of write requests associated with a plurality of applications from the host, wherein the plurality of applications is included in the same application group; write data for each write request of the plurality of write requests in parallel across a plurality of channels associated with a plurality of dies in the non-volatile memory such that the data for the plurality of write requests share a parity buffer; and generate parity data for the data for the plurality of write requests.

Claims (38)

1. A data storage device comprising:

a non-volatile memory;

a volatile memory; and

a controller configured to:

receive application group information associated with applications from a host, wherein the application group information indicates corresponding application groups for the applications on the host;

receive a plurality of write requests associated with a plurality of applications from the host, wherein the plurality of applications is included in the same application group;

write data for each write request of the plurality of write requests in parallel across a plurality of channels associated with a plurality of dies in the non-volatile memory such that the data for the plurality of write requests share a parity buffer; and

generate parity data for the data for the plurality of write requests.

2. The data storage device of claim 1 , wherein the application groups are determined by the host based on requirements, characteristics, or properties associated with the applications.

3. The data storage device of claim 2 , wherein the requirements, characteristics, or properties associated with the applications include one or more of: latency, fragmentation, randomness, data rate, access rate, workload, or amount of data.

4. The data storage device of claim 2 , wherein the plurality of applications satisfies a selected level of similarity or correlation based on the requirements, characteristics, or properties associated with the plurality of applications.

5. The data storage device of claim 1 , wherein each application group is associated with an application group identifier (ID).

6. The data storage device of claim 1 , wherein the parity buffer is cached in in the volatile memory for generating the parity data.

7. The data storage device of claim 1 , wherein the volatile memory includes one or more of: dynamic random-access memory (DRAM) or static random-access memory (SRAM).

8. The data storage device of claim 1 , wherein the controller is further configured to load or thrash parity buffers to and from a cache in the volatile memory based on the application groups of the applications.

9. The data storage device of claim 8 , wherein a parity buffer for an application group that is more frequently accessed remains in the cache in the volatile memory over a parity buffer for an application group that is less frequently accessed.

10. The data storage device of claim 1 , wherein the application group information is stored in the non-volatile memory or the volatile memory.

11. The data storage device of claim 1 , wherein an application group for an application is included in a write request.

12. The data storage device of claim 1 , wherein the controller is further configured to move or shuffle at least a portion of data of an application on the non-volatile memory based on an application group for the application.

13. A method of processing data requests in a data storage device, the method comprising:

receiving application group information associated with applications from a host, wherein the application group information indicates corresponding application groups for the applications on the host;

receiving a plurality of write requests associated with a plurality of applications from the host, wherein the plurality of applications is included in the same application group;

writing data for each write request of the plurality of write requests in parallel across a plurality of channels associated with a plurality of dies in a non-volatile memory such that the data for the plurality of write requests share a parity buffer; and

generating parity data for the data for the plurality of write requests.

14. The method of claim 13 , wherein the application groups are determined by the host based on requirements, characteristics, or properties associated with the applications.

15. The method of claim 14 , wherein the requirements, characteristics, or properties associated with the applications include one or more of: latency, fragmentation, randomness, data rate, access rate, workload, or amount of data.

16. The method of claim 14 , wherein the plurality of applications satisfies a selected level of similarity or correlation based on the requirements, characteristics, or properties associated with the plurality of applications.

17. The method of claim 13 , wherein the parity buffer is cached in in a volatile memory of the data storage device for generating the parity data.

18. The method of claim 13 , further comprising loading or thrashing parity buffers to and from a cache in a volatile memory of the data storage device based on the application groups of the applications.

19. The method of claim 18 , wherein a parity buffer for an application group that is more frequently accessed remains in the cache in the volatile memory over a parity buffer for an application group that is less frequently accessed.

20. A data storage device comprising:

a non-volatile memory;

a volatile memory; and

controller means configured to:

receive application group information associated with applications from a host, wherein the application group information indicates corresponding application groups for the applications on the host;

receive a plurality of write requests associated with a plurality of applications from the host, wherein the plurality of applications is included in the same application group;

write data for each write request of the plurality of write requests in parallel across a plurality of channels associated with a plurality of dies in the non-volatile memory such that the data for the plurality of write requests share a parity buffer; and

generate parity data for the data for the plurality of write requests.

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 Jun 27, 2022
From: AGARWAL, DINESH KUMAR; SHARMA, AMIT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060326/0172 →