Doorbell-less protocol for solid state drive interface

US9652199B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9652199-B2
Application numberUS-201414489994-A
CountryUS
Kind codeB2
Filing dateSep 18, 2014
Priority dateSep 18, 2013
Publication dateMay 16, 2017
Grant dateMay 16, 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 command request for an entry in a queue, wherein the entry in the queue represents a command inserted into the queue by the host, wherein submitting the command request for the entry comprises submitting the command request without receiving, from the host, a command availability signal prior to submitting the command request; receiving, by the target responsive to the command request, the entry in the queue, wherein the received entry in the queue comprises the command inserted into the queue by the host, and wherein the command comprises a request for data; and executing, by the target, the command to provide the requested data, responsive to the received entry in the queue. 2. The method of claim 1 , wherein the command availability signal indicates that the host has inserted the command into the queue for processing by the target. 3. The method of claim 2 , further comprising processing a completion of the entry in the queue without writing a completion entry to a completion queue on the host and without generating an interrupt. 4. The method of claim 2 , further comprising: determining a time for submitting a subsequent command request, based on predicting an arrival time of a subsequent command into the queue; and submitting, from the target at the determined time, a subsequent command request for a subsequent entry in the queue on the host without receiving, from the host, a subsequent command availability signal prior to submitting the subsequent command request. 5. The method of claim 4 , wherein predicting the arrival time of the subsequent command into the queue is based on predicting a latency of time elapsed between submitting the command request for the entry in the queue and receiving the requested entry in the queue; and wherein submitting the subsequent command request is interleaved with providing the requested data from the target. 6. 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 command request for an entry in a queue, wherein the entry in the queue represents a command inserted into the queue by the host; receiving, by the target responsive to the command request, the entry in the queue, wherein the received entry in the queue comprises the command inserted into the queue by the host, and wherein the command comprises a request for data; executing, by the target, the command to provide the requested data, responsive to the received entry in the queue; receiving, from the host, a command availability signal, wherein the command availability signal indicates that the host has inserted an initial command into the queue for processing by the target; submitting, from the target responsive to the command availability signal, an initial command request for an initial entry in the queue, wherein the initial entry in the queue represents the initial command inserted into the queue by the host; receiving, from the host responsive to the initial command request, the initial entry in the queue, wherein the received initial entry in the queue includes the initial command inserted into the queue by the host, and wherein the initial command includes an initial request for data stored at an initial device memory location; executing the initial command to provide the requested initial data from the target, responsive to the received entry in the queue; and receiving, from the host, a command to switch a communication mode based on a pre-determined measure of input/output operations per second (IOPS), wherein the communication mode causes the target to submit a subsequent command request for a subsequent entry in the queue without receiving, from the host, a subsequent command availability signal. 7. The method of claim 1 , wherein the operations in the communication protocol comprise read operations. 8. The method of claim 1 , wherein the communication protocol includes commands with command formats compatible with the Non-Volatile Memory Express standard. 9. The method of claim 1 , wherein the requested data is stored in a storage in communication with the target. 10. The method of claim 9 , wherein the storage comprises a phase-change memory. 11. 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 to the memory a command request for an entry in a queue, wherein the entry in the queue represents a command inserted into the queue by the host, wherein the target is configured to submit the command request for the entry by submitting the command request without receiving, from the host, a command availability signal prior to submitting the command request; receive, responsive to the command request, the entry in the queue, wherein the received entry in the queue comprises the command inserted into the queue by the host, and wherein the command comprises a request for data; and execute the command to provide the requested data from the target, responsive to the received entry in the queue. 12. The system of claim 11 , wherein the command availability signal indicates that the host has inserted the command into the queue for processing by the target. 13. The system of claim 12 , wherein the target is further configured to process a completion of the entry in the queue without writing a completion entry to a completion queue on the host and without generating an interrupt. 14. The system of claim 12 , the target is further configured to: determine a time for submitting a subsequent command request, based on predicting an arrival time of a subsequent command into the queue; and submit at the determined time, a subsequent command request for a subsequent entry in the queue on the host without receiving, from the host, a subsequent command availability signal prior to submitting the subsequent command request. 15. The system of claim 14 , wherein predicting the arrival time of the subsequent command into the queue is based on predicting a latency of time elapsed between submitting the command request for the entry in the queue and receiving the requested entry in the queue; and wherein the target is configured to submit the subsequent command request interleaved with providing the requested data from the target. 16. 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 to the memory a command request for an entry in a queue, wherein the entry in the queue represents a command inserted into the queue by the host; receive, responsive to the command request, the entry in the queue, wherein the received entry in the queue comprises the command inserted into the queue by the host, and wherein the command comprises a request for data; execute the command to provide the requested data from the target, responsive to the received entry in the queue; receive from the host, a command availability signal, wherein the command availability signal indicates that the host has inserted an initial command into

Assignees

Inventors

Classifications

  • G06F13/385Primary

    for adaptation of a particular data processing system to different peripheral devices · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Data buffering arrangements · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Improving I/O performance · 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 US9652199B2 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 G06F13/385. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 16 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).