Techniques for managing context information for a storage device

US11579789B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11579789-B2
Application numberUS-201715721081-A
CountryUS
Kind codeB2
Filing dateSep 29, 2017
Priority dateSep 29, 2017
Publication dateFeb 14, 2023
Grant dateFeb 14, 2023

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.

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

  • G06F3/065Primary

    Replication mechanisms · CPC title

  • Disk arrays, e.g. RAID, JBOD · 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 US11579789B2 cover?
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 …
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/065. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 2023 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).