Systems and methods for managing reduced power failure energy requirements on a solid state drive

US11048312B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11048312-B2
Application numberUS-201916274755-A
CountryUS
Kind codeB2
Filing dateFeb 13, 2019
Priority dateFeb 13, 2019
Publication dateJun 29, 2021
Grant dateJun 29, 2021

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.

A system and method for controlling a SSD in response to a power failure event of a main power supply to the SSD. The method includes receiving and storing write commands and associated data payloads for execution on the SSD in volatile memory, detecting the power failure event on the SSD, supplying backup power to the SSD during the power failure event, and executing one or more write commands stored in the volatile memory by storing the associated data payloads in a non-volatile memory on the SSD using the backup power. In response to the execution, removing the one or more write commands from the cache such that one or more unexecuted write commands and the associated data payloads remain in the cache, and storing a list of the one or more unexecuted write commands, but not the associated data payloads, in non-volatile memory using the backup power.

First claim

Opening claim text (preview).

The listing of the claims: 1. A method for controlling a solid state drive (SSD) in response to a power failure event of a main power supply to the SSD, comprising: receiving, at a host interface of the SSD, a plurality of write commands and associated data payloads for execution on the SSD; storing in a volatile memory on the SSD the plurality of write commands and the associated data payloads; detecting the power failure event on the SSD; supplying power to the SSD from a backup power source on the SSD during the power failure event; executing one or more write commands stored in the volatile memory by storing the associated data payloads of the one or more write commands in a non-volatile memory on the SSD using the backup power source during the power failure event; in response to the execution, removing the one or more write commands from the volatile memory such that one or more unexecuted write commands and the associated data payloads remain in the volatile memory; and storing a list of the one or more unexecuted write commands, but not the associated data payloads, in the non-volatile memory on the SSD using the backup power source during the power failure event. 2. The method of claim 1 , further comprising: determining a first quantity of the plurality of write commands capable of being executed using a redundant power source during the power failure event, wherein a second quantity of the one or more write commands executed corresponds to the first quantity. 3. The method of claim 1 , wherein each of the one or more unexecuted write commands comprise at least one of: a destination logical block address and a number of logical blocks to be written addresses, a list of destination logical block addresses and a position, in a submission cache in the volatile memory. 4. The method of claim 3 , further comprising: in response to receiving power from the main power supply following the power failure event, reading the list of the one or more unexecuted write commands from the non-volatile memory and marking, in a logical to physical mapping table, the destination logical block addresses of the one or more unexecuted write commands as invalid. 5. The method for managing reduced power failure energy requirements on the SSD of claim 1 , further comprising: transmitting to the host interface the list of the one or more unexecuted write commands stored in the non-volatile memory on the SSD, in response to receiving power from the main power supply following the power failure event. 6. The method of claim 5 , further comprising: receiving, via the host interface, a read command; and determining whether the read command requests data corresponding to a data payload associated with an unexecuted write command in the list of the one or more unexecuted write commands. 7. The method of claim 6 , further comprising: in response to determining that the read command requests the data corresponding to the data payload associated with the unexecuted write command, sending an error message to the host interface. 8. The method of claim 1 , further comprising: receiving at the host interface a request for the list of the one or more unexecuted write commands stored in the non-volatile memory on the SSD; and transmitting the list of the one or more unexecuted write commands to the host interface. 9. The method of claim 1 , wherein a quantity of the plurality of write commands stored in the volatile memory is higher than a quantity of write commands capable of being executed by the SSD using the backup power source. 10. The method of claim 1 , wherein the backup power source is a finite power source. 11. A system for controlling a solid state drive (SSD) in response to a power failure event of a main power supply to the SSD, the SSD comprising: a controller; a backup power source, configured to supply power to the SSD during the power failure event; a non-volatile memory; a volatile memory; a host interface; the controller configured to: receive, at the host interface, a plurality of write commands and associated data payloads for execution; store, in the volatile memory, the plurality of write commands and associated data payloads; detect the power failure event; wherein, following detection of the power failure event, the controller configured to: execute one or more write commands stored in the volatile memory by storing the associated data payloads of the one or more commands in the non-volatile memory; in response to the execution, remove the one or more write commands from the volatile memory such that one or more unexecuted write commands and associated data payloads remain in the volatile memory; and store a list of the unexecuted one or more write commands, but not the associated data payloads, in the non-volatile memory. 12. The system of claim 11 , wherein the controller is further configured to determine a first quantity of the plurality of write commands capable of being executed using a redundant power source during the power failure event, wherein a second quantity of the one or more write commands executed corresponds to the first quantity. 13. The system of claim 11 , wherein the one or more unexecuted write commands comprise at least one of: a destination logical block address, a number of logical blocks to be written, a list of logical block addresses and numbers of blocks to be written, and a position, in a submission cache in the volatile memory. 14. The system of claim 13 , wherein the controller is further configured to: in response to receiving power from the main power supply following the power failure event, read the list of the one or more unexecuted write commands from the non-volatile memory; and mark, in a logical to physical mapping table, the at least one of a destination logical block address of the one or more unexecuted write commands as invalid. 15. The system of claim 14 , wherein the controller is further configured to: transmit, to the host interface the list of the one or more unexecuted write commands. 16. The system of claim 15 , wherein the controller is further configured to: receive a read command request from the host interface; and determine whether the read command requests data corresponding to a data payload associated with an unexecuted write command in the one or more unexecuted write commands. 17. The system of claim 16 , wherein the controller is further configured to, in response to determining that the read command requests the data corresponding to the data payload associated with the unexecuted write command, send an error message to the host interface. 18. The system of claim 11 , wherein a quantity of the plurality of write commands stored in the volatile memory is higher than a quantity of write commands capable of being executed by the SSD using the backup power source. 19. The system of claim 11 , wherein the backup power source is a finite power source.

Assignees

Inventors

Classifications

  • Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier · CPC title

  • Redundant power supplies (power supply failure G06F1/30) · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • with automatic change-over {, e.g. UPS systems} · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US11048312B2 cover?
A system and method for controlling a SSD in response to a power failure event of a main power supply to the SSD. The method includes receiving and storing write commands and associated data payloads for execution on the SSD in volatile memory, detecting the power failure event on the SSD, supplying backup power to the SSD during the power failure event, and executing one or more write commands…
Who is the assignee on this patent?
Toshiba Memory Corp
What technology area does this patent fall under?
Primary CPC classification G06F1/30. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 29 2021 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).