I/O device and computing host interoperation

US9389805B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9389805-B2
Application numberUS-201214237331-A
CountryUS
Kind codeB2
Filing dateAug 8, 2012
Priority dateAug 9, 2011
Publication dateJul 12, 2016
Grant dateJul 12, 2016

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.

An I/O device is coupled to a computing host. In some embodiments, the device is enabled to utilize memory of the computing host not directly coupled to the device to store information such as a shadow copy of a map of the device and/or state of the device. Storage of the shadow copy of the map enables one or both of the device and the computing host to utilize the shadow copy of the map, such as to decrease read latency. Storage of the state enables the device to save volatile state that would otherwise be lost when the device enters a low-power state. In some embodiments, the device implements one or more non-standard modifiers of standard commands. The non-standard modifiers modify the execution of the standard commands, providing features not present in a host protocol having only the standard commands.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: at a storage device and from a computing host, receiving a command comprising a specification, the specification comprising at least one of a plurality of non-standard specifications, the non-standard specifications comprising one or more non-standard command modifiers; and in response to the specification comprising a particular one of the non-standard command modifiers, executing the command according to the particular non-standard command modifier, and storing an indication of the particular non-standard command modifier in an entry of a map associated with a logical block address (LBA) of the command, wherein at least one of the non-standard specifications identifies a particular one of a plurality of data destinations, the data destinations comprising a plurality of data bands, wherein the data bands are dynamically changeable in number, arrangement, size and type and correspond to one or more of a database journal data band, a hot data band, and a cold data band, wherein the database journal data band is reserved for database journal type data, wherein in response to the computing host writing a relatively long sequential stream, the hot data band grows in size, and wherein a shadow copy of the map is stored in a memory of the computing host. 2. The method according to claim 1 , wherein the database journal data band is reserved for database journal type data. 3. The method according to claim 2 , wherein oldest data in the database journal data band is optionally and/or selectively automatically deleted. 4. The method according to claim 1 , wherein the cold data band is used at least for data from a recycler. 5. The method of claim 1 , further comprising: associating the LBA of the command with one of a plurality of entries of the map, each of the entries of the map including a location in a non-volatile memory (NVM) of the storage device and an indication whether data associated with the LBA is present in the NVM. 6. The method of claim 1 , wherein the storage device is coupled to an external memory, the external memory being utilized to: store a map of the storage device; store one or more levels of a multi-level map of the storage device; buffer write data sent to the storage device; and store internal state of the storage device. 7. The method of claim 1 , wherein the shadow copy of the map comprises at least one of all entries of the map, some entries of the map, entries that include a subset of corresponding entries of the map, entries corresponding to entries of a second level of a two-level map, entries corresponding to entries of a lowest level of a multi-level map, a page structure corresponding to a page structure of the map, and a structure that is logically consistent with the map. 8. A method comprising: at a storage device and from a computing host, receiving a command comprising a specification, the specification comprising at least one of a plurality of non-standard specifications, the non-standard specifications comprising one or more non-standard command modifiers; in response to the specification comprising a particular one of the non-standard command modifiers, executing the command according to the particular non-standard command modifier, the executing of the command according to the particular non-standard command modifier comprising storing an indication of the non-standard command modifier with data of the command in an entry of a map associated with a logical block address (LBA) of the command; and subsequent to the executing the command and without having received a trim command, accessing the indication to determine to trim, rather than to recycle, all or any portions of the data, wherein at least one of the non-standard specifications identifies a particular one of a plurality of data destinations, the data destinations comprising a plurality of data bands, wherein the data bands are dynamically changeable in number, arrangement, size and type and correspond to one or more of a database journal data band, a hot data band, and a cold data band, wherein the hot data band is used at least for data originating from the computing host, wherein in response to the computing host writing a relatively long sequential stream, the hot data band grows in size, and wherein a shadow copy of the map is stored in a memory of the computing host. 9. The method according to claim 8 , wherein receiving a mode-setting command comprising a mode-setting specification to enable a specific non-standard modifier results in a standard command received after the mode-setting command being optionally and/or selectively processed according to the specific non-standard modifier. 10. The method according to claim 8 , wherein at least one of the non-standard specifications specifies one or more of a type of data; a data access type; data sequencing; data relationship; and a command relationship. 11. The method according to claim 8 , wherein the command comprises location information obtained at least in part by the computing host from a memory device of an I/O card coupled to the computing host. 12. A storage device comprising: an external interface configured to receive a command from a computing host, the command comprising a specification, the specification comprising at least one of a plurality of non-standard specifications, the non-standard specifications comprising one or more non-standard command modifiers; and a storage controller configured to execute, in response to the specification comprising a particular one of the non-standard command modifiers, the command according to the particular non-standard command modifier, and to store an indication of the particular non-standard command modifier in an entry of a map associated with a logical block address (LBA) of the command, wherein at least one of the non-standard specifications identifies a particular one of a plurality of data destinations, the data destinations comprising a plurality of data bands, wherein the data bands are dynamically changeable in number, arrangement, size and type and correspond to one or more of a database journal data band, a hot data band, and a cold data band, wherein the hot data band is used at least for data originating from the computing host, wherein in response to the computing host writing a relatively long sequential stream, the hot data band grows in size, and wherein a shadow copy of the map is stored in a memory of the computing host. 13. The storage device of claim 12 , wherein the database journal data band is reserved for database journal type data. 14. The storage device of claim 13 , wherein oldest data in the database journal data band is optionally and/or selectively automatically deleted. 15. The storage device of claim 12 , wherein the cold data band is used at least for data from a recycler. 16. The storage device of claim 12 , wherein the storage controller is further configured to associate the LBA of the command with one of a plurality of entries of the map, each of the entries of the map including a location in a non-volatile memory (NVM) of the storage device and an indication whether data associated with the LBA is present in the NVM. 17. The storage device of claim 12 , wherein the storage device is coupled to an external memory, the external memory being utilized to: store a map of the storage device; store one or more levels of a multi-level map of the storage device; buffer write data sent to the storage device; and store internal state of the storage device.

Assignees

Inventors

Classifications

  • Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · CPC title

  • by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title

  • in relation to response time · CPC title

  • G06F3/0659Primary

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

  • using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · 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 US9389805B2 cover?
An I/O device is coupled to a computing host. In some embodiments, the device is enabled to utilize memory of the computing host not directly coupled to the device to store information such as a shadow copy of a map of the device and/or state of the device. Storage of the shadow copy of the map enables one or both of the device and the computing host to utilize the shadow copy of the map, such …
Who is the assignee on this patent?
Cohen Earl T, Canepa Timothy L, Raam Farbod Michael, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 12 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).