Automatic fault tolerance in a computing system providing concurrent access to shared computing resource objects
US-10474532-B1 · Nov 12, 2019 · US
US11048312B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11048312-B2 |
| Application number | US-201916274755-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 13, 2019 |
| Priority date | Feb 13, 2019 |
| Publication date | Jun 29, 2021 |
| Grant date | Jun 29, 2021 |
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.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.