A device controller and method for performing a plurality of write transactions atomically within a nonvolatile data storage device
US-2017160933-A1 · Jun 8, 2017 · US
US10152247B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10152247-B2 |
| Application number | US-201415113824-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 23, 2014 |
| Priority date | Jan 23, 2014 |
| Publication date | Dec 11, 2018 |
| Grant date | Dec 11, 2018 |
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 technique includes acquiring a plurality of write requests from at least one memory controller and logging information associated with the plurality of write requests in persistent storage. The technique includes applying the plurality of write requests atomically as a group to persistent storage.
Opening claim text (preview).
What is claimed is: 1. A method comprising: acquiring, by a log accelerator of an apparatus, a plurality of write requests from at least one memory controller of the apparatus; logging, by the log accelerator, information associated with the plurality of write requests in persistent storage of the apparatus; and applying, by the log accelerator, the plurality of write requests atomically as a group to the persistent storage. 2. The method of claim 1 , further comprising generating the plurality of write requests by executing machine executable instructions by at least one processor, wherein the logging is performed transparently with respect to the operations of the at least one processor. 3. The method of claim 1 , wherein the acquiring comprises probing a queue of the at least one memory controller. 4. The method of claim 1 , further comprising: applying, by the log accelerator, the plurality of requests in response to a commit signal. 5. The method of claim 1 , wherein acquiring the plurality of write requests comprises accumulating write requests associated with a memory region associated with an atomic unit. 6. The method of claim 1 , wherein the logging comprises redo logging or undo logging. 7. An apparatus comprising: at least one processor to issue write requests; at least one memory controller to process the write requests; a log accelerator to: acquire the write requests; identify a plurality of the write requests as being commonly associated with an atomic unit; perform logging of information associated with the plurality of write requests; and apply the plurality of write requests atomically to commit the plurality of write requests to persistent storage. 8. The apparatus of claim 7 , wherein the log accelerator performs the logging transparently with respect to the operations of the at least one processor. 9. The apparatus of claim 7 , wherein the log accelerator applies the plurality of write requests atomically in a process that comprises writing and flushing at least one commit record to a non-volatile memory. 10. The apparatus of claim 7 , wherein the log accelerator uses an associated logging memory space for the logging of the plurality of write requests and reuses the logging space after commitment of the plurality of write requests. 11. The apparatus of claim 7 , wherein the log accelerator comprises hardware separate from the at least one memory controller. 12. The apparatus of claim 7 , wherein: the at least one processor, the at least one memory controller and the log accelerator being associated with a first node; the log accelerator further performs redo logging; and the at least one processor further communicates data associated with the redo logging to a second node other than the first node to maintain a consistent state of the data on the second node. 13. A system comprising: a persistent storage; a processor to generate a plurality of write requests; a log accelerator to acquire the write requests, and log information about the write requests in the persistent storage without intervention by the processor, wherein the processor is to signal the log accelerator to apply the write requests atomically as a group to the persistent storage. 14. The system of claim 13 , wherein the log accelerator is to log the write requests transparently with respect to operations of at the processor in generating the plurality of write requests. 15. The system of claim 13 , further comprising a memory controller having a queue in which the write requests are stored upon generation by the processor, wherein the log accelerator is to acquire the plurality of write requests by probing the queue. 16. The system of claim 13 , wherein the log accelerator is further to apply the plurality of write requests in response to a commit signal. 17. The system of claim 13 , wherein the log accelerator is to acquire the plurality of write requests by accumulating the write requests associated with a memory region associated with an atomic unit. 18. The system of claim 13 , wherein the log accelerator is to log the information by redoing logging or undoing logging.
Real-time · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Monitoring, i.e. supervising the progress of recording or reproducing {(for digital recording G11B20/00 and s.gr.; for monitoring, testing or measuring of TV recorders of the type covered by H04N5/76 and subgroups, see H04N17/06)} · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.