Latency command processing for solid state drive interface protocol
US-2016062669-A1 · Mar 3, 2016 · US
US9778859B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9778859-B2 |
| Application number | US-201514631187-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 25, 2015 |
| Priority date | Sep 18, 2013 |
| Publication date | Oct 3, 2017 |
| Grant date | Oct 3, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure relates to methods and systems for performing operations in a communications protocol. An example method can include submitting, from a device, a request for a queue entry representing a command from a host comprising a request for data stored at a device memory location; receiving the command from the host; and executing the command. An example method can also include selecting a bit string representing whether a requested data stream has been received, and storing the bit string into a memory buffer portion to mark the buffer portion. The method can include receiving, into the memory buffer, the stream. The method can include retrieving contents of the buffer portion, and determining whether the contents contain the bit string. If so, the method can include determining that portions of the stream have not been received. Otherwise, the method can include determining that the stream has been received.
Opening claim text (preview).
What is claimed is: 1. A method of performing operations in a communications protocol, the method comprising: submitting, from a target in communication with a host via the communications protocol, a first command request for a first entry in a queue, wherein the first entry in the queue represents a first command inserted into the queue by the host, wherein the target submits the first command request without receiving, from the host, a first command availability signal prior to submitting the first command request and the first command availability signal indicates that the host has inserted the first command into the queue for processing by the target; submitting, from the target, a second command request for a second entry in the queue, wherein the second entry in the queue represents a second command inserted into the queue by the host, before receiving the first entry in the queue; receiving, by the target responsive to the first command request, the first entry in the queue, wherein the first received entry in the queue comprises the first command inserted into the queue by the host, and wherein the first command comprises a request for first data; executing, by the target, the first command to provide the requested first data, responsive to the received first entry in the queue, and processing a completion of the first entry in the queue without writing a first completion entry to a completion queue on the host and without generating an interrupt; receiving, by the target responsive to the second command request, the second entry in the queue, wherein the second received entry in the queue comprises the second command inserted into the queue by the host, and wherein the second command comprises a request for second data; and executing, by the target, the second command to provide the requested second data, responsive to the received second entry in the queue. 2. The method of claim 1 , further comprising: determining that the target is capable of handling new commands; and wherein the second command request for the second entry in the queue is submitted after determining that the target is capable of handling new commands. 3. The method of claim 1 , further comprising submitting the second command request before submitting the first command request; and wherein the second command request is received by the host before the first command request is received by the host. 4. The method of claim 3 , further comprising receiving the second entry in the queue before receiving the first entry in the queue; and executing the second command before executing the first command. 5. The method of claim 1 , wherein the operations in the communication protocol comprise read operations. 6. The method of claim 1 , wherein the communication protocol includes commands with command formats compatible with the Non-Volatile Memory Express standard. 7. The method of claim 1 , wherein the requested first data and requested second data is stored in a storage in communication with the target. 8. The method of claim 7 , wherein the storage comprises at least one of a phase-change memory, magnetoresistive read only memory, and resistive read only memory. 9. A system for performing operations in a communications protocol, the system comprising: a host in communication with a memory; and a target in communication with the host via the communication protocol, for transmitting a requested data; wherein the target is configured to: submit a first command request for a first entry in a queue, wherein the first entry in the queue represents a first command inserted into the queue by the host, wherein the target submits the first command request without receiving, from the host, a first command availability signal prior to submitting the first command request and the first command availability signal indicates that the host has inserted the first command into the queue for processing by the target; submit a second command request for a second entry in the queue, wherein the second entry in the queue represents a second command inserted into the queue by the host, before receiving the first entry in the queue; receive the first entry in the queue, wherein the first received entry in the queue comprises the first command inserted into the queue by the host, and wherein the first command comprises a request for first data; execute the first command to provide the requested first data, responsive to the received first entry in the queue, and processing a completion of the first entry in the queue without writing a first completion entry to a completion queue on the host and without generating an interrupt; receive the second entry in the queue, wherein the second received entry in the queue comprises the second command inserted into the queue by the host, and wherein the second command comprises a request for second data; and execute the second command to provide the requested second data, responsive to the received second entry in the queue. 10. The system of claim 9 , the target is further configured to: determine that the target is capable of handling new commands; and wherein the second command request for the second entry in the queue is submitted after determining that the target is capable of handling new commands. 11. The system of claim 9 , wherein the target is further configured to submit the second command request before submitting the first command request; and wherein the second command request is received by the host before the first command request is received by the host. 12. The system of claim 11 , wherein the target is further configured to: receive the second entry in the queue before receiving the first entry in the queue; and execute the second command before executing the first command. 13. The system of claim 9 , wherein the operations in the communication protocol comprise read operations. 14. The system of claim 9 , wherein the communication protocol includes commands with command formats compatible with the Non-Volatile Memory Express standard. 15. The system of claim 9 , wherein the requested first data and request second data is stored in a storage in communication with the target. 16. The system of claim 15 , wherein the storage comprises at least one of a phase-change memory, magnetoresistive read only memory, and resistive read only memory.
in relation to throughput · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
One time programmable [OTP] memory, e.g. PROM, WORM · CPC title
Format or protocol conversion arrangements · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.