Lazy deletion of vaults in packed slice storage (pss) and zone slice storage (zss)
Abstract
Methods and systems for compacting a storage structure or file include maintaining a vault byte count for each of a plurality of vaults, where encoded data slices of two or more vaults are stored in at least one common bin file within a storage unit, determining a normalized storage utilization level for the vault, updating a bin file utilization level based on the normalized storage utilization level for each vault and, when the updated bin file utilization level is less than a low bin file utilization threshold level, facilitating compaction of the at least one common bin file. For example, the processing module transfers remaining encoded data slices of other vaults to a new bin file, generates an indicator to indicate that 100% of the new bin file is utilized, and deletes the bin file associated with the encoded data slices of the vault to be deleted.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of compacting a bin file in a dispersed storage unit, the bin file storing a plurality of vaults, each respective vault of the plurality of vaults storing respective encoded data slices, the method comprising:
maintaining a respective vault byte counter for each respective vault of the plurality of vaults; determining a respective normalized storage utilization level for each respective vault of the plurality of vaults using the respective vault byte count for each respective vault of the plurality of vaults; updating a current bin file utilization level for the bin file based on the respective normalized storage utilization level for each respective vault of the plurality of vaults to produce an updated bin file utilization level; and compacting the bin file when the updated bin file utilization level is less than a threshold.
2 . The method of claim 1 , wherein the step of maintaining a respective vault byte counter for each respective vault of the plurality of vaults is based on receiving one of a write slice request and a delete slice request.
3 . The method of claim 2 , wherein the step of maintaining a respective vault byte counter for each respective vault of the plurality of vaults further includes lowing the respective vault byte counter of the respective vault in response to receiving the delete slice request, the delete slice request corresponding to the respective vault.
4 . The method of claim 1 , wherein the step of maintaining a respective vault byte counter for each respective vault of the plurality of vaults is based on receiving a delete vault request.
5 . The method of claim 4 , wherein the step of maintaining a respective vault byte counter for each respective vault of the plurality of vaults further includes lowing the respective vault byte counter of the respective vault in response to receiving the delete vault request, the delete vault request corresponding to the respective vault.
6 . The method of claim 1 , wherein the step of determining a respective normalized storage utilization level for each respective vault of the plurality of vaults using the respective vault byte count for each respective vault of the plurality of vaults includes determining a sum of the respective vault byte count for each respective vault of the plurality of vaults and dividing the sum of the respective vault byte count for each respective vault of the plurality of vaults by the respective vault byte count of the respective vault of the plurality of vaults.
7 . The method of claim 1 , wherein the step of updating a current bin file utilization level for the bin file based on the respective normalized storage utilization level for each respective vault of the plurality of vaults to produce an updated bin file utilization level includes retrieving a previous bin file utilization level for the bin file and adjusting the previous bin file utilization level based on the respective normalized storage utilization level for each respective vault of the plurality of vaults to produce an updated bin file utilization level.
8 . The method of claim 1 , wherein the step of compacting the bin file when the updated bin file utilization level is less than a threshold includes transferring the respective encoded data slices of each respective vault of the plurality of vaults that are not being deleted to a new bin file, generating a 100% bin file utilization level indicator for the new bin file, and deleting the respective encoded data slices of the respective vault of the plurality of vaults that is being deleted.
9 . A dispersed storage unit for compacting a bin file, the dispersed storage unit comprising:
a communications interface; a memory; and a computer processor; where the memory includes the bin file storing a plurality of vaults, each respective vault of the plurality of vaults storing respective encoded data slices, and instructions for causing the computer processor to:
maintain a respective vault byte counter for each respective vault of the plurality of vaults;
determine a respective normalized storage utilization level for each respective vault of the plurality of vaults using the respective vault byte count for each respective vault of the plurality of vaults;
update a current bin file utilization level for the bin file based on the respective normalized storage utilization level for each respective vault of the plurality of vaults to produce an updated bin file utilization level; and
compact the bin file when the updated bin file utilization level is less than a threshold.
10 . The dispersed storage unit of claim 9 , wherein the instructions for causing the computer processor to maintain a respective vault byte counter for each respective vault of the plurality of vaults are based on receiving one of a write slice request and a delete slice request.
11 . The dispersed storage unit of claim 10 , wherein the memory further includes instructions for causing the computer processor to lower the respective vault byte counter of the respective vault in response to receiving the delete slice request, the delete slice request corresponding to the respective vault.
12 . The dispersed storage unit of claim 9 , wherein the instructions for causing the computer processor to maintain a respective vault byte counter for each respective vault of the plurality of vaults are based on receiving a delete vault request.
13 . The dispersed storage unit of claim 12 , wherein the memory further includes instructions for causing the computer processor to lower the respective vault byte counter of the respective vault in response to receiving the delete vault request, the delete vault request corresponding to the respective vault.
14 . The dispersed storage unit of claim 9 , wherein the memory further includes instructions for causing the computer processor to determine a sum of the respective vault byte count for each respective vault of the plurality of vaults and divide the sum of the respective vault byte count for each respective vault of the plurality of vaults by the respective vault byte count of the respective vault of the plurality of vaults.
15 . The dispersed storage unit of claim 9 , wherein the memory further includes instructions for causing the computer processor to retrieve a previous bin file utilization level for the bin file and adjust the previous bin file utilization level based on the respective normalized storage utilization level for each respective vault of the plurality of vaults to produce an updated bin file utilization level.
16 . The dispersed storage unit of claim 9 , wherein the memory further includes instructions for causing the computer processor to transfer the respective encoded data slices of each respective vault of the plurality of vaults that are not being deleted to a new bin file, generate a 100% bin file utilization level indicator for the new bin file, and delete the respective encoded data slices of the respective vault of the plurality of vaults that is being deleted.
17 . A dispersed storage network comprising:
a plurality of dispersed storage units; at least one of the dispersed storage units including:
a communications interface;
a memory; and
a computer processor;
where the memory includes a bin file storing a plurality of vaults, each respective vault of the plurality of vaults storing respective encoded data slices, and instructions for causing the computer processor to:
maintain a respective vault byte counter for each respective vault of the plurality of vaults;
determine a respective normalized storage utilization level for each respective vault of the plurality of vaults using the respective vault byte count for each respective vault of the plurality of vaults;
update a current bin file utilization level for the bin file based on the respective normalized storage utilization level for each respective vault of the plurality of vaults to produce an updated bin file utilization level; and
compact the bin file when the updated bin file utilization level is less than a threshold.
18 . The dispersed storage network of claim 17 , wherein the instructions for causing the computer processor to maintain a respective vault byte counter for each respective vault of the plurality of vaults are based on receiving one of a write slice request and a delete slice request.
19 . The dispersed storage network of claim 18 , wherein the memory further includes instructions for causing the computer processor to lower the respective vault byte counter of the respective vault in response to receiving the delete slice request, the delete slice request corresponding to the respective vault.
20 . The dispersed storage network of claim 17 , wherein the instructions for causing the computer processor to maintain a respective vault byte counter for each respective vault of the plurality of vaults are based on receiving a delete vault request.Join the waitlist — get patent alerts
Track US2017192688A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.