IP Library Granted Patent US 11,500,581
Granted Patent B2
US 11,500,581 · App. 17/183,203 · Granted Nov 15, 2022

Efficient TLP fragmentations in extended LBA environment

Inventors: Shay Benisty (Beer Sheva, IL); Amir Segev (Meiter, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0656G06F3/067G06F3/0619G06F3/0631G06F12/0238G06F2212/1021
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,500,581
App. No.
17/183,203
Granted
Nov 15, 2022
Kind
B2
Abstract

The present disclosure generally relates to efficient transfer layer packet (TLP) fragmentation in a data storage device. For an unaligned read from host flow, an amount of data sufficient to be aligned is transferred to the memory device from the host while the remainder of the data is stored in cache of the data storage device to be delivered to memory device at a later time. For an unaligned write to host flow, the unaligned data is written to cache and at a later time the cache will be flushed to the host device. In both cases, while the total data would be unaligned, a portion of the data is placed in cache so that the data not placed in cache is aligned. The data in cache is delivered at a later point in time.

Claims (45)

1. A data storage device, comprising:

one or more memory devices; and

a controller coupled to the one or more memory devices, wherein the controller is configured to:

receive a read from host request;

determine that the read from host request exceeds a maximum payload size (MPS);

align an address and size of the request to the MPS to create an aligned request;

allocate cache buffer storage space for the read from host request;

send the aligned request to a host device;

receive returned data associated with the aligned request from the host device, wherein the returned data exceeds the MPS, and wherein the returned data is contiguous; and

store the returned data in the allocated cache buffer storage space.

2. The data storage device of claim 1 , wherein the controller is further configured to deliver the returned data to the one or more memory devices from the allocated cache storage space.

3. The data storage device of claim 2 , wherein the controller is further configured to request the returned data from the allocated cache buffer storage space.

4. The data storage device of claim 3 , wherein the returned data is delivered to the one or more memory devices in response to the request.

5. The data storage device of claim 1 , wherein the controller is further configured to determine whether the read from host request is a cache hit.

6. The data storage device of claim 5 , wherein the controller is further configured to read data from the allocated cache when the read from host request is a cache hit.

7. The data storage device of claim 1 , wherein the controller is further configured to determine whether the read from host request is a cache line granularity.

8. The data storage device of claim 7 , wherein the controller is further configured to process the read from host request without using the cache buffer storage when a determination is made that the read from host request is a cache line granularity.

9. A data storage device, comprising:

one or more memory devices;

an interface module; and

a controller coupled to the one or more memory devices, wherein the controller is configured to:

receive a host request through the interface module;

determine that the host request is unaligned, wherein the host request is greater than a maximum payload size (MPS); and

retrieve data from cache, wherein the data stored in the cache is associated with a previous unaligned host request that is greater than the MPS, and wherein the data associated with the previous unaligned host request is contiguous.

10. The data storage device of claim 9 , wherein the host request is a write to host request.

11. The data storage device of claim 9 , wherein the controller is further configured to determine whether the host request is a cache hit.

12. The data storage device of claim 11 , wherein the controller is further configured to write data to the cache in response to determining that the host request is a cache hit.

13. The data storage device of claim 9 , wherein the controller is further configured to determine whether there is a cache line granularity in the host request.

14. The data storage device of claim 13 , wherein the controller is further configured to interact directly with the host upon determining that there is a cache line granularity.

15. The data storage device of claim 9 , wherein the controller is further configured to allocate cache buffer storage and write data to the allocated cache buffer storage.

16. The data storage device of claim 9 , wherein the controller further comprises a random access memory (RAM) controller coupled to the interface module.

17. The data storage device of claim 16 , further comprising a RAM device coupled to the RAM controller, wherein the cache is in the RAM device.

18. A data storage device, comprising:

one or more memory means; and

a controller coupled to the one or more memory means, wherein the controller is configured to:

determine that a request from a host device is an unaligned access request, wherein the unaligned access request is greater than a maximum payload size (MPS);

request data associated with the unaligned access request, wherein an address and a size of the requested data is aligned to the MPS;

receive the requested data from either the host device or the one or more memory means, wherein the received requested data is greater than the MPS, and wherein the received requested data is contiguous; and

store the received requested data in an allocated cache buffer for data greater than the MPS.

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

receive a request to post a completion entry to the host device; and

flush all cache buffers associated with a command and post a completion entry to the host device.

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

release relevant cache buffers; and

post a completion entry to the host device.

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 Mar 1, 2021
From: BENISTY, SHAY; SEGEV, AMIR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055442/0325 →