US2022066786A1PendingUtilityA1

Pre-scanned data for optimized boot

Assignee: PURE STORAGE INCPriority: Jan 21, 2015Filed: Nov 9, 2021Published: Mar 3, 2022
Est. expiryJan 21, 2035(~8.5 yrs left)· nominal 20-yr term from priority
G06F 9/4401G06F 2212/1024G06F 2212/7205G06F 9/4408G06F 12/02G06F 2212/7204G06F 2212/7208G06F 12/0246
66
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for efficiently starting up a plurality of solid-state storage devices. A computing system includes one or more storage devices storing data in multiple allocation units (AUs). In a boot region, a data storage controller maintains an AU management set that identifies a state of various AUs in the system. In various embodiments, the management set includes an identification of a subset of free AUs, transitional AU, unincorporated AUs, and speculative AUs. At various times, information corresponding to the AU management set is stored to non-volatile storage. During a boot sequence, the AU management set information is accessed and the identified AUs are searched to identify allocated AUs rather than performing a search of all of the AUs in the system.

Claims

exact text as granted — not AI-modified
1 . A computing system comprising:
 one or more storage devices comprising a plurality of allocation units (AUs) configured to store data; and   a data storage controller coupled to the storage devices;   wherein the data storage controller is configured to:
 build a free list identifying free AUs of the plurality of AUs; 
 build a management set comprising a subset of the free list; 
 in response to detecting a bootup sequence:
 identify a given AU identified as most recently allocated; and 
 identify all AUs allocated after the given AU based on a search of one or more AUs identified by the management set. 
 
   
     
     
         2 . The system as recited in  claim 1 , wherein the given AU identified as most recently allocated corresponds to a last AU whose identification was stored to persistent storage before the bootup sequence. 
     
     
         3 . The system as recited in  claim 2 , wherein the data storage controller is further configured to store an indication of allocated AUs in the system responsive to detecting a condition. 
     
     
         4 . The system as recited in  claim 1 , wherein the storage controller is configured to use an indication of allocated AUs stored in persistent storage with said one or more AUs allocated after the given AU to identify all allocated AUs in the system and all free AUs in the system without a search of AUs other than AUs identified by the management set. 
     
     
         5 . The system as recited in  claim 1 , wherein the data storage controller is further configured to allocate only AUs of the plurality of AUs identified in the subset of AUs. 
     
     
         6 . The system as recited in  claim 1 , wherein the management set identifies one or more of free AUs, transitional AUs, unincorporated AUs, and speculative AUs. 
     
     
         7 . The system as recited in  claim 1 , wherein the data storage controller is further configured to store an identification of AUs in the free sublist to persistent memory responsive to detecting a condition. 
     
     
         8 . A method for use in a storage system, the method comprising:
 storing data in one or more storage devices comprising a plurality of allocation units (AUs);   building a free list identifying one or more free AUs of the plurality of AUs;   building a management set comprising a subset of the free list;   in response to detecting a bootup sequence:
 identifying a given AU identified as most recently allocated; and 
 identifying all AUs allocated after the given AU based on a search of one or more AUs identified by the management set. 
   
     
     
         9 . The method as recited in  claim 8 , wherein the given AU identified as most recently allocated corresponds to a last AU whose identification was stored to persistent storage before the bootup sequence. 
     
     
         10 . The method as recited in  claim 9 , further comprising storing an indication of allocated AUs in the system responsive to detecting a condition. 
     
     
         11 . The method as recited in  claim 10 , further comprising using an indication of allocated AUs stored in persistent storage with said one or more AUs allocated after the given AU to identify all allocated AUs in the system and all free AUs in the system without a search of AUs other than AUs identified by the management set. 
     
     
         12 . The method as recited in  claim 8 , further comprising allocating only AUs of the plurality of AUs identified in the subset of AUs. 
     
     
         13 . The method as recited in  claim 8 , wherein the management set identifies one or more of free AUs, transitional AUs, unincorporated AUs, and speculative AUs. 
     
     
         14 . The method as recited in  claim 13 , further comprising storing an identification of AUs in the free sublist to persistent memory responsive to detecting a condition. 
     
     
         15 . A non-transitory computer readable storage medium storing program instructions executable by a processor to:
 store data in one or more storage devices comprising a plurality of allocation units (AUs);   build a free list identifying one or more free AUs of the plurality of AUs;   build a management set using only a subset of the free list;   in response to detecting a bootup sequence:
 identify a given AU identified as most recently allocated; and 
 identify all AUs allocated after the given AU based on a search of one or more AUs identified by the free sublist. 
   
     
     
         16 . The non-transitory computer readable storage medium as recited in  claim 15 , wherein the given AU identified as most recently allocated corresponds to a last AU whose identification was stored to persistent storage before the bootup sequence. 
     
     
         17 . The non-transitory computer readable storage medium as recited in  claim 16 , wherein the program instructions are further executable to store an indication of allocated AUs in the system responsive to detecting a condition. 
     
     
         18 . The non-transitory computer readable storage medium as recited in  claim 17 , wherein the program instructions are further executable to use an indication of allocated AUs stored in persistent storage with said one or more AUs allocated after the given AU to identify all allocated AUs in the system and all free AUs in the system without a search of AUs other than AUs identified by the management set. 
     
     
         19 . The non-transitory computer readable storage medium as recited in  claim 15 , wherein the instructions are further executable to allocate only AUs of the plurality of AUs identified in the subset of AUs. 
     
     
         20 . The non-transitory computer readable storage medium as recited in  claim 15 , wherein the management set identifies one or more of free AUs, transitional AUs, unincorporated AUs, and speculative AUs.

Join the waitlist — get patent alerts

Track US2022066786A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.