Techniques for managing context information for a storage device
Abstract
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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for restoring context information when an inadvertent shutdown of a computing device occurs, the method comprising, at the computing device:
identifying context information within a non-volatile memory, wherein the context information is separated into a plurality of silos, and each silo of the plurality of silos consists of a respective and distinct range of contiguous logical base addresses (LBAs) associated with the non-volatile memory; accessing a transaction log that is isolated from the context information, wherein the transaction log is stored within the non-volatile memory; and for each silo of the plurality of silos:
loading the silo into a volatile memory, and
in response to identifying, within the transaction log, that at least one transaction (i) applies to the silo, and (ii) occurred after a last write of the silo into the non-volatile memory:
updating the silo to reflect the at least one transaction.
2 . The method of claim 1 , further comprising, for each silo of the plurality of silos, and subsequent to updating the silo to reflect the at least one transaction:
writing the silo into the non-volatile memory.
3 . The method of claim 1 , wherein direct memory access (DMA) is utilized to write the plurality of silos between the volatile memory and the non-volatile memory.
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 . A non-transitory computer readable storage medium configured to store instructions that, when executed by a processor included in 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 context information within a non-volatile memory, wherein the context information is separated into a plurality of silos, and each silo of the plurality of silos consists of a respective and distinct range of contiguous logical base addresses (LBAs) associated with the non-volatile memory; accessing a transaction log that is isolated from the context information, wherein the transaction log is stored within the non-volatile memory; and for each silo of the plurality of silos:
loading the silo into a volatile memory, and
in response to identifying, within the transaction log, that at least one transaction (i) applies to the silo, and (ii) occurred after a last write of the silo into the non-volatile memory:
updating the silo to reflect the at least one transaction.
9 . The non-transitory computer readable storage medium of claim 8 , wherein the steps further include, for each silo of the plurality of silos, and subsequent to updating the silo to reflect the at least one transaction:
writing the silo into the non-volatile memory.
10 . The non-transitory computer readable storage medium of claim 8 , wherein direct memory access (DMA) is utilized to write the plurality of silos between the volatile memory and the non-volatile memory.
11 . The non-transitory computer readable storage medium of claim 8 , 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 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 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 . The non-transitory computer readable storage medium of claim 11 , wherein the first memory structure and the second memory structure are not contiguously stored within the volatile memory and/or the non-volatile memory.
15 . A computing device configured to restore context information when an inadvertent shutdown of the computing device occurs, the computing device comprising a processor configured to cause the computing device to carry out steps that include:
identifying context information within a non-volatile memory, wherein the context
information is separated into a plurality of silos, and each silo of the plurality of silos consists of a respective and distinct range of contiguous logical base addresses (LBAs) associated with the non-volatile memory;
accessing a transaction log that is isolated from the context information, wherein the transaction log is stored within the non-volatile memory; and for each silo of the plurality of silos:
loading the silo into a volatile memory, and
in response to identifying, within the transaction log, that at least one transaction (i) applies to the silo, and (ii) occurred after a last write of the silo into the non-volatile memory:
updating the silo to reflect the at least one transaction.
16 . The computing device of claim 15 , wherein the steps further include, for each silo of the plurality of silos, and subsequent to updating the silo to reflect the at least one transaction:
writing the silo into the non-volatile memory.
17 . The computing device of claim 15 , wherein direct memory access (DMA) is utilized to write the plurality of silos between the volatile memory and the non-volatile memory.
18 . The computing device of claim 15 , 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.
19 . The computing device of claim 18 , 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.
20 . The computing device of claim 19 , 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.Join the waitlist — get patent alerts
Track US2023142948A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.