Doorless protocol having multiple queue read requests in flight

US9778859B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9778859-B2
Application numberUS-201514631187-A
CountryUS
Kind codeB2
Filing dateFeb 25, 2015
Priority dateSep 18, 2013
Publication dateOct 3, 2017
Grant dateOct 3, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F3/0613Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9778859B2 cover?
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 se…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0613. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).