Techniques for managing context information for a storage device while maintaining responsiveness
US-2020089580-A1 · Mar 19, 2020 · US
US11579789B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11579789-B2 |
| Application number | US-201715721081-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2017 |
| Priority date | Sep 29, 2017 |
| Publication date | Feb 14, 2023 |
| Grant date | Feb 14, 2023 |
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.
Disclosed herein are techniques for managing context information for data stored within a non-volatile memory of a computing device. According to some embodiments, the method can include (1) loading, into a volatile memory of the computing device, the context information from the non-volatile memory, where the context information is separated into a plurality of silos, (2) writing transactions into a log stored within the non-volatile memory, and (3) each time a condition is satisfied: (i) identifying a next silo of the plurality of silos to be written into the non-volatile memory, (ii) updating the next silo to reflect the transactions that apply to the next silo, and (iii) writing the next silo into the non-volatile memory. In turn, when an inadvertent shutdown of the computing device occurs, the silos of which the context information is comprised can be sequentially accessed and restored in an efficient manner.
Opening claim text (preview).
What is claimed is: 1. A method for managing context information for data stored within a non-volatile memory of a computing device, the method comprising, at the computing device: loading, from the non-volatile memory into a volatile memory of the computing device, the context information in its entirety, wherein: the non-volatile memory is associated with a logical base address (LBA) range, the context information, in its entirety, is segmented into a plurality of silos, and each silo of the plurality of silos corresponds to a respective and distinct contiguous range of the LBA range such that the plurality of silos, in their entirety, correspond to the LBA range; writing transactions into a transaction log stored within the non-volatile memory, wherein the transaction log is isolated from the context information; and each time a condition is satisfied to perform a context save: identifying a last silo of the plurality of silos that was updated and written to the non-volatile memory, identifying a next silo of the plurality of silos that is contiguous to the last silo, updating the next silo to reflect any transactions that apply to the next silo, and writing the next silo into the non-volatile memory, wherein the next silo is an only silo of the plurality of silos that is written in conjunction with the context save, such that the plurality of silos are written to the non-volatile memory in a round-robin manner. 2. The method of claim 1 , wherein direct memory access (DMA) is utilized to write the plurality of silos into the non-volatile memory. 3. The method of claim 1 , wherein: a number of the transactions is maintained, the condition is satisfied each time the number satisfies a particular threshold, and the number is reset each time the condition is satisfied. 4. The method of claim 1 , wherein each silo of the plurality of silos includes: metadata associated with the silo; a first memory structure that includes a plurality of first-tier entries; and a second memory structure that includes a plurality of second-tier entries. 5. The method of claim 4 , wherein, for a given silo of the plurality of silos, each first-tier entry of the plurality of first-tier entries references (1) an area of memory within the non-volatile memory, or (2) at least one second-tier entry within the second memory structure. 6. The method of claim 5 , wherein, for a given silo of the plurality of silos, each second-tier entry of the plurality of second-tier entries references an area of memory within the non-volatile memory. 7. The method of claim 4 , wherein the first memory structure and the second memory structure are not contiguously stored within the volatile memory and/or the non-volatile memory. 8. The method of claim 1 , wherein each silo of the plurality of silos is locked prior to updating the silo. 9. At least one non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor of a computing device, cause the computing device to manage context information for data stored within a non-volatile memory of the computing device, by carrying out steps that include: loading, from the non-volatile memory into a volatile memory of the computing device, the context information in its entirety, wherein: the non-volatile memory is associated with a logical base address (LBA) range, the context information, in its entirety, is segmented into a plurality of silos, and each silo of the plurality of silos corresponds to a respective and distinct contiguous range of the LBA range such that the plurality of silos, in their entirety, correspond to the LBA range; writing transactions into a transaction log stored within the non-volatile memory, wherein the transaction log is isolated from the context information; and each time a condition is satisfied to perform a context save: identifying a last silo of the plurality of silos that was updated and written to the non-volatile memory, identifying a next silo of the plurality of silos that is contiguous to the last silo, updating the next silo to reflect any transactions that apply to the next silo, and writing the next silo into the non-volatile memory, wherein the next silo is an only silo of the plurality of silos that is written in conjunction with the context save, such that the plurality of silos are written to the non-volatile memory in a round-robin manner. 10. The at least one non-transitory computer readable storage medium of claim 9 , wherein: a number of the transactions is maintained, the condition is satisfied each time the number satisfies a particular threshold, and the number is reset each time the condition is satisfied. 11. The at least one non-transitory computer readable storage medium of claim 9 , wherein each silo of the plurality of silos includes: metadata associated with the silo; a first memory structure that includes a plurality of first-tier entries; and a second memory structure that includes a plurality of second-tier entries. 12. The at least one non-transitory computer readable storage medium of claim 11 , wherein, for a given silo of the plurality of silos, each first-tier entry of the plurality of first-tier entries references (1) an area of memory within the non-volatile memory, or (2) at least one second-tier entry within the second memory structure. 13. The at least one non-transitory computer readable storage medium of claim 12 , wherein, for a given silo of the plurality of silos, each second-tier entry of the plurality of second-tier entries references an area of memory within the non-volatile memory. 14. A computing device configured to manage context information, comprising: at least one non-volatile memory; at least one volatile memory; and at least one processor configured to: load, from the at least one non-volatile memory into the at least one volatile memory of the computing device, the context information in its entirety, wherein: the at least one non-volatile memory is associated with a logical base address (LBA) range, the context information, in its entirety, is segmented into a plurality of silos, and each silo of the plurality of silos corresponds to a respective and distinct contiguous range of the LBA range such that the plurality of silos, in their entirety, correspond to the LBA range; write transactions into a transaction log stored within the at least one non-volatile memory, wherein the transaction log is isolated from the context information; and each time a condition is satisfied to perform a context save: identifying a last silo of the plurality of silos that was updated and written to the at least one non-volatile memory, identifying a next silo of the plurality of silos that is contiguous to the last silo, updating the next silo to reflect any transactions that apply to the next silo, and writing the next silo into the at least one non-volatile memory, wherein the next silo is an only silo of the plurality of silos that is written in conjunction with the context save, such that the plurality of silos are written to the at least one non-volatile memory in a round-robin manner. 15. The computing device of claim 14 , wherein direct memory access (DMA) is utilized to write the plurality of silos into the at least one non-volatile memory. 16. The computing device of claim 14 , wherein: a number of the transactions is maintained, the condition is satisfied each time the number satisfies a particular threshold, and the number is reset each time the condition is satisfied.
in relation to data integrity, e.g. data losses, bit errors · CPC title
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
Management of blocks · CPC title
Replication mechanisms · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.