IP Library Patent Application 18461777
Patent Application
App. No. 18/461,777

HMB Random and Sequential Access Coherency Approach

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 None
App. No.
18/461,777
Abstract

Read commands and write commands are issued by a data storage device, but sometimes a read command can begin execution prior to the data for the write command having been written to the memory device (or HMB DRAM). In such a scenario, the data for the read command is not in the memory device, but rather, is in cache waiting to be written to the memory device in a write cache operation. In order to ensure the correct data is read, the cache write operation can be paused so that the data can be retrieved from cache rather than the memory device. Alternatively, a placeholder can be used for the read command until the write cache operation has occurred.

Claims (59)

1 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

initiate a read command to a direct memory access (DMA) module;

pause writing to the memory device from a cache;

retrieve data associated with the read command from cache; and

return the retrieved data as read data of the read command.

2 . The data storage device of claim 1 , wherein the cache is a host memory buffer (HMB).

3 . The data storage device of claim 1 , wherein the data storage device does not include dynamic random access memory (DRAM).

4 . The data storage device of claim 1 , wherein the controller is configured to read data from the memory device and substitute the read data with the retrieved data.

5 . The data storage device of claim 1 , wherein the DMA is configured to request the cache to pause writing.

6 . The data storage device of claim 5 , wherein the controller is configured to:

scan overlapping lines in the cache in response to the request;

reply to the DMA that the pause has occurred; and

generate a sorted list of address and data from the overlapping lines.

7 . The data storage device of claim 6 , wherein the controller is configured to determine whether the sorted list is empty.

8 . The data storage device of claim 7 , wherein in response to determining that the sorted list is not empty, provide a head of the sorted list to the DMA.

9 . The data storage device of claim 8 , wherein the DMA is configured to:

perform a read from the memory device; and

determine whether data associated with the read from the memory device belongs to a same address as the head of the sorted list.

10 . The data storage device of claim 9 , wherein the DMA is configured to:

replace the data associated with the read from the memory device with the data from the sorted list; and

return the data from the sorted list to a destination that instructed the read command.

11 . The data storage device of claim 10 , wherein the controller is configured to pop the data from the sorted list from the sorted list.

12 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

pause a cache operation of writing data to the memory device;

substitute data from the memory device with data from the cache; and

resume the cache operation after the substituting.

13 . The data storage device of claim 12 , wherein short accesses utilize cache.

14 . The data storage device of claim 13 , wherein input/output (I/O) operations utilize DMA.

15 . The data storage device of claim 14 , wherein short accesses include physical region page (PRP), scatter gather list (SGL), submission queues (SQ), and completion queues (CQ).

16 . The data storage device of claim 15 , wherein the short accesses are through a controller memory buffer (CMB) controller.

17 . The data storage device of claim 12 , wherein the controller is configured to:

generate a sorted list of address plus data from overlapping lines in cache;

provide the sorted list to DMA;

determine that data associated with a read command is in the sorted list; and

perform the substituting based upon the determining.

18 . A data storage device, comprising:

means for storing data; and

a controller coupled to the means for storing data, wherein the controller is configured to:

initiate a read command;

determine that an address associated with the read command overlaps with an address in cache;

prioritize a direct memory access (DMA) operation over a cache read operation; and

execute the read command using data from the cache and not from the means for storing data.

19 . The data storage device of claim 18 , wherein the controller is configured to:

read data for a first address associated with the read command from the means for storing data;

skip reading data for a second address associated with the read command from the means for storing data; and

read data for a third address associated with the read command from the means for storing data.

20 . The data storage device of claim 19 , wherein the controller is configured to:

return the data associated with the first address;

insert a placeholder for data associated with the second address;

return data associated with the third address;

retrieve data associated with the second address;

replace the placeholder with the data associated with the second address;

deliver the data associated with the first address;

deliver the data associated with the second address; and

deliver the data associated with the third address after delivering the data associated with the second address.

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 Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
PATENT COLLATERAL AGREEMENT- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2023
From: SEGEV, AMIR; BENISTY, SHAY; BLUM, ADI
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 064814/0983 →