IP Library Patent Application 16247991
Patent Application
App. No. 16/247,991

COMPACTING DISPERSED STORAGE SPACE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
16/247,991
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 (51)

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.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2019
From: VOLVOVSKI, ILYA; BAPTIST, ANDREW; DHUSE, GREG; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048012/0398 →