US2019163647A1PendingUtilityA1

Compacting dispersed storage space

Assignee: IBMPriority: Feb 27, 2010Filed: Jan 15, 2019Published: May 30, 2019
Est. expiryFeb 27, 2030(~3.6 yrs left)· nominal 20-yr term from priority
G06F 16/11H04L 67/1097H04L 41/06G06F 12/1408G06F 16/1734G06F 16/50G06F 2212/7205G06F 16/2365G06F 16/113G06F 3/0652
64
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method includes a storage unit receiving an encoded data slice for storage in memory that is organized as log files. The method further includes the storage unit identifying a first log file of the log files for storing the encoded data slice based on one or more of: the first DSN virtual address and the first size information. The method further includes the storage unit comparing storage parameters of the first log file with desired storage parameters associated with the encoded data slice. When the storage parameters of the identified log file compare unfavorably with the desired storage parameters, the storage unit identifies a second log file, stores the encoded data slice in the second log file, and updates a slice location table.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for execution by a storage unit of a dispersed storage network (DSN), the method comprises:
 receiving a first encoded data slice for storage in memory that is organized as a plurality of log files, wherein the first encoded data slice includes a first DSN virtual address and first size information, wherein a log file of the plurality of log files corresponds to a block of the memory that includes a plurality of data blocks, wherein the plurality of data blocks is addressable based on a log file identifier of the log file and offset values, wherein a first data block of the plurality of data blocks includes an address of the log file identifier and a first offset value;   identifying a first log file of the plurality of log files for storing the first encoded data slice based on one or more of: the first DSN virtual address and the first size information, wherein the first log file is currently storing a second encoded data slice having a second DSN virtual address, wherein the second DSN virtual address is related to the first DSN virtual address;   comparing storage parameters of the first log file with desired storage parameters associated with the first encoded data slice; and   when the storage parameters of the identified log file compare unfavorably with the desired storage parameters:
 attempting to identify a second log file of the plurality of log files based on an alternate log file storage protocol; 
 when the second log file is identified, storing the first encoded data slice in one or more data blocks of the second log file; and 
 updating a slice location table to include storage of the first encoded data slice in the one or more data blocks of the second log file, wherein the first encoded data slice is identified in the slice location table based on the first DSN virtual address, the log file identifier of the second log file, and an offset value corresponding to the one or more data blocks of the second log file. 
   
     
     
         2 . The method of  claim 1 , wherein the storage parameters of the first log file comprise one or more of:
 a number of storage gaps within the first log file;   compacting status of the first log file;   available storage space of the first log file; and   storage balance indicator that indicates storage balance between the first and second log files.   
     
     
         3 . The method of  claim 1 , wherein the identifying a first log file comprises one or more of:
 identifying the first log file based on the slice location table based on the first DSN virtual address being related to the second DSN virtual address;   identifying the first log file based on a predetermined selection process for storing encoded data slices in the plurality of log files; and   identifying the first log file as being a most recently compacted log file, wherein compacting of the first log file includes removing storage gaps.   
     
     
         4 . The method of  claim 1  further comprises:
 when the storage parameters of the identified log file compare favorably with the desired storage parameters:
 storing the first encoded data slice in one or more data blocks of the first log file; and 
 updating the slice location table to include storage of the first encoded data slice in the one or more data blocks of the first log file. 
 
 
     
     
         5 . The method of  claim 1 , wherein the desired storage parameters associated with the first encoded data slice comprises one or more of:
 storage in a log file of the plurality of log files in which a related encoded data slice is stored, wherein a related encoded data slice is of a different set of encoded data slices than the first encoded data slice but is of the same plurality of sets of encoded data slices, wherein a data object is dispersed storage error encoded into the plurality of sets of encoded data slices; and   the size information of the first encoded data slice corresponds to data block size of a log file of the plurality of log files.   
     
     
         6 . A computer readable memory device comprises:
 a first memory section that stores operational instructions that, when executed by a storage unit of a dispersed storage network (DSN), causes the storage unit to:
 receive a first encoded data slice for storage in memory that is organized as a plurality of log files, wherein the first encoded data slice includes a first DSN virtual address and first size information, wherein a log file of the plurality of log files corresponds to a block of the memory that includes a plurality of data blocks, wherein the plurality of data blocks is addressable based on a log file identifier of the log file and offset values, wherein a first data block of the plurality of data blocks includes an address of the log file identifier and a first offset value; 
   a second memory section that stores operational instructions that, when executed by the storage unit, causes the storage unit to:
 identify a first log file of the plurality of log files for storing the first encoded data slice based on one or more of: the first DSN virtual address and the first size information, wherein the first log file is currently storing a second encoded data slice having a second DSN virtual address, wherein the second DSN virtual address is related to the first DSN virtual address; and 
   a third memory section that stores operational instructions that, when executed by the storage unit, causes the storage unit to:
 compare storage parameters of the first log file with desired storage parameters associated with the first encoded data slice; and 
 when the storage parameters of the identified log file compare unfavorably with the desired storage parameters:
 attempt to identify a second log file of the plurality of log files based on an alternate log file storage protocol; 
 when the second log file is identified, store the first encoded data slice in one or more data blocks of the second log file; and 
 update a slice location table to include storage of the first encoded data slice in the one or more data blocks of the second log file, wherein the first encoded data slice is identified in the slice location table based on the first DSN virtual address, the log file identifier of the second log file, and an offset value corresponding to the one or more data blocks of the second log file. 
 
   
     
     
         7 . The computer readable memory device of  claim 6 , wherein the storage parameters of the first log file comprise one or more of:
 a number of storage gaps within the first log file;   compacting status of the first log file;   available storage space of the first log file; and   storage balance indicator that indicates storage balance between the first and second log files.   
     
     
         8 . The computer readable memory device of  claim 6 , wherein the second memory section further stores operational instructions that, when executed by the storage unit, causes the storage unit to identify the first log file by one or more of:
 identifying the first log file based on the slice location table based on the first DSN virtual address being related to the second DSN virtual address;   identifying the first log file based on a predetermined selection process for storing encoded data slices in the plurality of log files; and   identifying the first log file as being a most recently compacted log file, wherein compacting of the first log file includes removing storage gaps.   
     
     
         9 . The computer readable memory device of  claim 6 , wherein the third memory section further stores operational instructions that, when executed by the storage unit, causes the storage unit to:
 when the storage parameters of the identified log file compare favorably with the desired storage parameters:
 store the first encoded data slice in one or more data blocks of the first log file; and 
 update the slice location table to include storage of the first encoded data slice in the one or more data blocks of the first log file. 
   
     
     
         10 . The computer readable memory device of  claim 6 , wherein the desired storage parameters associated with the first encoded data slice comprises one or more of:
 storage in a log file of the plurality of log files in which a related encoded data slice is stored, wherein a related encoded data slice is of a different set of encoded data slices than the first encoded data slice but is of the same plurality of sets of encoded data slices, wherein a data object is dispersed storage error encoded into the plurality of sets of encoded data slices; and   the size information of the first encoded data slice corresponds to data block size of a log file of the plurality of log files.

Join the waitlist — get patent alerts

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

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