IP Library Granted Patent US 9,563,367
Granted Patent B2
US 9,563,367 · App. 14/469,225 · Granted Feb 7, 2017

Latency command processing for solid state drive interface protocol

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 9,563,367
App. No.
14/469,225
Granted
Feb 7, 2017
Kind
B2
Abstract

The present disclosure relates to methods, apparatuses, systems, and computer program products for processing commands for accessing solid state drives. Example methods can include receiving, from a host, a loaded command availability message. The loaded command availability message can indicate that a command associated with the loaded command availability message uses a low latency mode. The methods can further include executing the associated command.

Claims (45)

1. A method of processing a command for accessing a solid state device, the method comprising:

receiving, from a host, a loaded command availability message, wherein the loaded command availability message indicates that a command associated with the loaded command availability message uses a low latency mode, wherein the loaded command availability message includes fields for:

direct memory access (DMA) information,

a logical block address (LBA),

a completion address,

security information, and a length; and

executing the associated command.

2. The method of claim 1 , further comprising:

processing a completion of the executed command without generating a traditional interrupt and without writing a completion entry to a normal completion queue on the host; and

upon receiving, from the host, a subsequent command, presuming an acknowledgement by the host of the processed completion.

3. The method of claim 1 , further comprising fetching at least one of remaining physical region pages (PRP) and remaining scatter gather lists (SGL) upon a condition that the at least one of the remaining PRP and the remaining SGL exist.

4. The method of claim 1 , wherein the receiving the loaded command availability message further comprises polling by a latency command processing module substantially periodically and retrieving a remainder of the loaded command availability message for execution.

5. The method of claim 1 , further comprising classifying the associated command as at least one of a latency class command and a compact class command.

6. The method of claim 1 , wherein the accessing the solid state drive is according to a non-volatile memory express (NVMe) standard modified for latency command processing.

7. A controller comprising:

an interface; and

at least one processor in communication with the interface, the processor configured for:

receiving, over the interface, a loaded command availability message, wherein the loaded command availability message indicates that a command associated with the loaded command availability message uses a low latency mode, wherein the loaded command availability message includes fields for:

direct access memory (DMA) information,

a logical block address(LBA),

a completion address,

security information, and a length; and

executing the associated command.

8. The controller of claim 7 , wherein the processor is further configured for:

processing a completion of the executed command without generating an interrupt and without writing a completion entry to a normal completion queue on the host; and

upon receiving, over the interface, a subsequent command, presuming an acknowledgement by the host of the processed completion.

9. The controller of claim 7 , wherein the processor is further configured for fetching at least one of remaining physical region pages (PRP) and remaining scatter gather lists (SGL) upon a condition that the at least one of the remaining PRP and the remaining SGL exist.

10. The controller of claim 7 , wherein the processor configured for receiving the loaded command availability message further comprises the processor configured for polling by a latency command processing module substantially periodically and retrieving a remainder of the loaded command availability message for execution.

11. The controller of claim 7 , wherein the processor is further configured for classifying the associated command as at least one of a latency class command and a compact class command.

12. A computer program product for processing a command for accessing a solid state device, the computer program product tangibly embodied in a non-transitory computer-readable medium, the computer program product including instructions operable to cause a data processing apparatus to:

receive a loaded command availability message, wherein the loaded command availability message indicates that a command associated with the loaded command availability message uses a low latency mode, wherein the loaded command availability message includes fields for:

direct access memory (DMA) information,

a logical block address(LBA),

a completion address,

security information, and a length;

execute the associated command;

process a completion of the executed command without generating an interrupt and without writing a completion entry to a completion queue on the host; and

upon receiving a subsequent command, presume an acknowledgement by the host of the processed completion.

13. The computer program product of claim 12 , further comprising instructions operable to cause the data processing apparatus to:

process a completion of the executed command without generating an interrupt and without writing a completion entry to a normal completion queue on the host; and

upon receiving a subsequent command, presume an acknowledgement by the host of the processed completion.

14. The computer program product of claim 12 , further comprising instructions operable to cause the data processing apparatus to fetch at least one of remaining physical region pages (PRP) and remaining scatter gather lists (SGL) upon a condition that the at least one of the remaining PRP and the remaining SGL exist.

15. The computer program product of claim 12 , wherein the instructions operable to cause the data processing apparatus to receive the loaded command availability message further comprise instructions operable to cause the data processing apparatus to poll using a latency command processing module substantially periodically and retrieve a remainder of the loaded command availability message for execution.

16. The computer program product of claim 12 , further comprising instructions operable to cause the data processing apparatus to classify the associated command as at least one of a latency class command and a compact class command.

17. The computer program product of claim 12 , wherein the computer program product for accessing the solid state device accesses the solid state device according to a non-volatile memory express (NVMe) standard modified for latency command processing.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040829/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2014
From: CHU, FRANK; BANDIC, ZVONIMIR Z.; VUCINIC, DEJAN; GUYOT, CYRIL; WANG, QINGBO
To: HGST NETHERLANDS B.V.
Reel/Frame 033614/0182 →