US2013185532A1PendingUtilityA1

Apparatus, system, and method for log storage

Assignee: FUSION IO INCPriority: Dec 6, 2007Filed: Dec 4, 2012Published: Jul 18, 2013
Est. expiryDec 6, 2027(~1.4 yrs left)· nominal 20-yr term from priority
G06F 3/061G06F 3/0674G06F 11/1469G06F 11/1471H04L 67/1097G06F 2212/2022H05K 7/1444G06F 3/0655G06F 12/1081G06F 9/52G06F 12/1018G06F 3/0652G06F 3/0679
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A storage controller is configured to append data to a sequential log. The data may be appended sequentially within erase regions of the non-volatile storage medium. An order of the sequential log may be defined by, inter alia, the order in which the erase regions are filled and/or the sequential order of physical storage locations and/or addresses within the erase regions. The erase regions may comprise sequence information which may be applied in response to recovering the erase regions, appending data to the erase regions, or the like. Data appended to the sequential log may be associated with source parameters, which may include a virtual identifier of the data. The physical storage location of the data on the non-volatile storage medium may be independent of the source parameters. The sequential log may, therefore, comprise a set of mappings between virtual identifiers and physical storage locations.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 - 20 . (canceled) 
     
     
         21 . An apparatus, comprising:
 a request receiver module configured to receive storage requests pertaining to a non-volatile storage medium; and   a translation module configured to generate a command in response to a storage request, the command configured to cause storage of data on the non-volatile storage medium such that the stored data comprises a sequential log configured to associate data stored on physical storage locations of the non-volatile storage medium with respective virtual identifiers and to define a sequential order of physical storage locations based on an order of erase regions of the non-volatile storage medium.   
     
     
         22 . The apparatus of  claim 21 , wherein the erase regions comprise sequence information configured to define the order in which the erase regions were filled. 
     
     
         23 . The apparatus of  claim 22 , wherein the erase regions are marked with the sequence information in response to one or more of erasing the respective erase regions and appending data to the respective erase regions, and wherein the sequence information comprises one or more of a sequence number and a time stamp. 
     
     
         24 . The apparatus of  claim 22 , wherein the sequential order of physical storage locations is based on a sequential order of pages within the erase regions of the non-volatile storage medium. 
     
     
         25 . The apparatus of  claim 22 , further comprising an index rebuild module configured to determine an association between a virtual identifier and a physical storage location based on the sequential log stored on the non-volatile storage medium. 
     
     
         26 . The apparatus of  claim 25 , wherein the index rebuild module is configured to identify the physical storage location associated with the virtual identifier based on sequence information of an erase region of the physical storage location. 
     
     
         27 . The apparatus of  claim 21 , wherein the command comprises an append data command configured to provide for appending data of the storage request sequentially at an append point within an erase region of the non-volatile storage medium. 
     
     
         28 . The apparatus of  claim 27 , wherein the append data command is configured to provide for filling an erase region of the non-volatile storage medium according to a sequential order. 
     
     
         29 . The apparatus of  claim 27 , wherein the data is appended to the non-volatile storage medium in a packet format, the packet format configured to associate data of the storage request with the virtual identifier of the data on the non-volatile storage medium. 
     
     
         30 . The apparatus of  claim 21 , wherein the command comprises a first append data command configured to provide for appending a first portion of data of the storage request to a first erase region of the non-volatile storage medium and a second append data command configured to provide for appending a second portion of the data to a second erase region of the non-volatile storage medium. 
     
     
         31 . An apparatus, comprising:
 a storage controller configured to append data to a sequential log, the sequential log comprising data packets stored on physical storage locations contained within erase regions of a non-volatile storage medium, and wherein an order of data packets in the sequential log is based on a sequential order of the erase regions; and   an append module configured to append data to the sequential log in response to storage requests from one or more storage clients by use of the storage controller.   
     
     
         32 . The apparatus of  claim 31 , wherein the append module is configured to append data packets to the erase regions according to a sequential order of physical addresses within the erase regions. 
     
     
         33 . The apparatus of  claim 31 , wherein the order of a data packet in the sequential log is based on sequence information of an erase region of the physical storage location comprising the data packet and an offset of the physical storage location within the erase region. 
     
     
         34 . The apparatus of  claim 31 , further comprising a forward map embodied on a volatile memory, the forward map comprising associations between virtual addresses of a sparse virtual address space and references to physical storage locations of data packets stored on the non-volatile storage medium. 
     
     
         35 . The apparatus of  claim 34 , further comprising a rebuild module configured to rebuild the forward map based on the sequential log of data packets stored on the non-volatile storage medium. 
     
     
         36 . The apparatus of  claim 31 , wherein the append module is configured to invalidate a data packet associated with a virtual address in response to appending data to the sequential log that is associated with the same virtual address, wherein invalidating the data packet comprises marking a physical storage location comprising the data packet invalid in a reverse map, the reverse map configured to arrange physical storage locations by erase region. 
     
     
         37 . A system, comprising:
 means for receiving storage requests pertaining to virtual addresses in a sparsely populated virtual address space of a non-volatile storage device; and   means for appending data to a sequential log on the non-volatile storage device in response to one or more of the storage requests, the sequential log comprising an ordered sequence of physical addresses on the non-volatile storage device, wherein the ordered sequence of physical addresses is determined by sequence information on erase regions of the non-volatile storage device and a sequential order of the physical addresses within the respective erase regions.   
     
     
         38 . The system of  claim 37 , further comprising means for identifying a physical address corresponding to a virtual address by use of a forward map, the forward map configured to sparsely populate the virtual address space with physical addresses of the non-volatile storage medium. 
     
     
         39 . The system of  claim 37 , further comprising means for identifying valid data in an erase region by use of a reverse map, the reverse map arranged by erase region. 
     
     
         40 . The system of  claim 37 , further comprising means for rebuilding the forward map by use of the sequential log.

Join the waitlist — get patent alerts

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

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