US2023142948A1PendingUtilityA1

Techniques for managing context information for a storage device

Assignee: APPLE INCPriority: Sep 29, 2017Filed: Jan 5, 2023Published: May 11, 2023
Est. expirySep 29, 2037(~11.2 yrs left)· nominal 20-yr term from priority
G06F 13/28G06F 3/065G06F 3/0689G06F 3/0619G06F 3/064G06F 2213/28G06F 3/0613G06F 3/0647G06F 3/068
67
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.