Techniques for managing context information for a storage device while maintaining responsiveness

US10853199B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10853199-B2
Application numberUS-201816136189-A
CountryUS
Kind codeB2
Filing dateSep 19, 2018
Priority dateSep 19, 2018
Publication dateDec 1, 2020
Grant dateDec 1, 2020

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 are techniques for managing context information for data stored within a computing device. According to some embodiments, the method can include the steps of (1) loading, into a volatile memory of the computing device, the context information from a non-volatile memory of the computing device, where the context information is separated into a plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions, (2) writing transactions into a log stored within the non-volatile memory, and (3) each time a condition is satisfied: identifying a next sub-portion to be processed, where the next sub-portion is included in the plurality of sub-portions of a current portion being processed, identifying a portion of the context information that corresponds to the next sub-portion, converting the portion from a first format to a second format, and writing the portion into the non-volatile memory.

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, into a volatile memory of the computing device, the context information from the non-volatile memory, wherein the context information is separated into a plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions; writing transactions into a log stored within the non-volatile memory; and each time a condition is satisfied: identifying a next sub-portion to be processed, wherein the next sub-portion is included in the plurality of sub-portions of a current portion being processed, identifying a portion of the context information that corresponds to the next sub-portion, wherein the portion is encoded in a first format, converting the portion from the first format to a second format, and writing the portion into the non-volatile memory. 2. The method of claim 1 , wherein: the portion is written into a corresponding portion of second context information stored in the non-volatile memory, and the second context information corresponds to the context information. 3. The method of claim 1 , wherein the condition is satisfied when the transactions, if any, that are received subsequent to processing a previous sub-portion relative to the next sub-portion have been processed. 4. The method of claim 1 , wherein each sub-portion of the plurality of sub-portions of a given portion of the plurality of portions corresponds to a different, non-successive range of logical base addresses (LBAs) that are referenced by the context information. 5. The method of claim 1 , wherein the context information is separated into the plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions in accordance with a quality of service (QoS) metric to be satisfied by the computing device. 6. The method of claim 1 , wherein: the first format utilizes (1) a plurality of first-tier entries, and (2) a plurality of second-tier entries, and for a given portion of the plurality of portions: 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 of the plurality of second-tier entries, and 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 2 , further comprising, in response to identifying that all sub-portions of the current portion have been processed: writing, to the second context information, metadata information associated with the current portion, and writing, to the log stored in the non-volatile memory, an identifier associated with the current portion that indicates that all sub-portions of the current portion have been processed. 8. The method of claim 7 , further comprising, in response to identifying that all sub-portions of the current portion have been processed: identifying a next portion of the plurality of portions that succeeds the current portion, and assigning the next portion as the current portion. 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 restore context information when an inadvertent shutdown of the computing device occurs, by carrying out steps that include: identifying the context information within a non-volatile memory of the computing device, wherein the context information is separated into a plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions; accessing a log stored within the non-volatile memory; and for each portion of the plurality of portions: loading the plurality of sub-portions of the portion into a volatile memory of the computing device, and in response to identifying, within the log, that at least one transaction (i) applies to the portion, and (ii) occurred after a last write of the portion into the non-volatile memory: updating the portion to reflect the at least one transaction. 10. The at least one non-transitory computer readable storage medium of claim 9 , further comprising, for each portion of the plurality of portions, and subsequent to updating the portion to reflect the at least one transaction: writing the portion into the non-volatile memory. 11. The at least one non-transitory computer readable storage medium of claim 9 , wherein: each portion of the plurality of portions stored in the non-volatile memory is encoded in a first format, and each portion of the plurality of portions loaded into the volatile memory is encoded in a second format. 12. The at least one non-transitory computer readable storage medium of claim 11 , further comprising, for each portion of the plurality of portions: converting the portion from the first format to the second format prior to loading the portion into the volatile memory. 13. A mobile device configured to manage context information for data stored within a non-volatile memory of the mobile device, the mobile device comprising: the non-volatile memory; at least one processor; and a volatile memory storing instructions that, when executed by the at least one processor, cause the mobile device to: load, into the volatile memory, the context information from the non-volatile memory, wherein the context information is separated into a plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions; write transactions into a log stored within the non-volatile memory; and each time a condition is satisfied: identify a next sub-portion to be processed, wherein the next sub-portion is included in the plurality of sub-portions of a current portion being processed, identify a portion of the context information that corresponds to the next sub-portion, wherein the portion is encoded in a first format, convert the portion from the first format to a second format, and write the portion into the non-volatile memory. 14. The mobile device of claim 13 , wherein: the portion is written into a corresponding portion of second context information stored in the non-volatile memory, and the second context information corresponds to the context information. 15. The mobile device of claim 13 , wherein the condition is satisfied when the transactions, if any, that are received subsequent to processing a previous sub-portion relative to the next sub-portion have been processed. 16. The mobile device of claim 13 , wherein each sub-portion of the plurality of sub-portions of a given portion of the plurality of portions corresponds to a different, non-successive range of logical base addresses (LBAs) that are referenced by the context information. 17. The mobile device of claim 13 , wherein the context information is separated into the plurality of portions, and each portion of the plurality of portions is separated into a plurality of sub-portions in accordance with a quality of service (QoS) metric to be satisfied by the computing device. 18. The mobile device of claim 13 , wherein: the first format utilizes (1) a plurality of first-tier entries, and (2) a plurality of second-tier entries, and for a given portion of the plurality of portions: each first-tier entry of the plurality of first-tier entries refer

Assignees

Inventors

Classifications

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

  • management of metadata or control data · CPC title

  • in individual solid state devices (G06F11/1004 takes precedence) · CPC title

  • in block erasable memory, e.g. flash memory · 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 US10853199B2 cover?
Disclosed are techniques for managing context information for data stored within a computing device. According to some embodiments, the method can include the steps of (1) loading, into a volatile memory of the computing device, the context information from a non-volatile memory of the computing device, where the context information is separated into a plurality of portions, and each portion of…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1471. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 01 2020 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).