IP Library Granted Patent US 9,135,115
Granted Patent B2
US 9,135,115 · App. 14/454,852 · Granted Sep 15, 2015

Storing data in multiple formats including a dispersed storage format

View Patent ↗
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 9,135,115
App. No.
14/454,852
Granted
Sep 15, 2015
Kind
B2
Abstract

A method begins by a processing module of a dispersed storage network (DSN) receiving data in a redundant array of independent disks (RAID) format and converting from the RAID format to an original format of the data. The method continues with the processing module dispersed storage error encoding a data segment of the data in the original format to produce a set of encoded data slices, where a set of encoded data slices includes a decode threshold sub-set of encoded data slices and an error correcting sub-set of encoded data slices. The method continues with the processing module converting the decode threshold sub-set of encoded data slices into a RAID formatted data segment, storing the RAID formatted data segment in RAID memory, and storing at least the error correcting sub-set of encoded data slices in DSN memory.

Claims (98)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

receiving data in a redundant array of independent disks (RAID) format;

converting from the RAID format to an original format of the data;

dispersed storage error encoding a data segment of the data in the original format to produce a set of encoded data slices, wherein the set of encoded data slices includes a decode threshold sub-set of encoded data slices and an error correcting sub-set of encoded data slices;

converting the decode threshold sub-set of encoded data slices into a RAID formatted data segment;

storing the RAID formatted data segment in RAID memory; and

storing at least the error correcting sub-set of encoded data slices in DSN memory.

2. The method of claim 1 further comprises:

storing the set of encoded data slices in the DSN memory.

3. The method of claim 1 , wherein the converting the decode threshold sub-set of encoded data slices into the RAID formatted data segment comprises:

generating data blocks from the decode threshold sub-set of encoded data slices; and

generating a parity data block from the data blocks.

4. The method of claim 3 further comprises:

detecting a failure within the RAID memory that adversely affects storage of one or more of the data blocks and the parity data block;

determining whether to repair the one or more of the data blocks and the parity data block using RAID rebuilding or DSN rebuilding;

when the DSN rebuilding is determined:

retrieving the data blocks from the RAID memory that were not adversely affected;

retrieving the at least the error correcting sub-set of encoded data slices from the DSN memory; and

recovering the data segment having the original format of the data from the data blocks from the RAID memory that were not adversely affected and the at least the error correcting sub-set of encoded data slices.

5. The method of claim 4 further comprises:

converting the recovered data segment having the original format of the data into the RAID formatted data segment; and

storing the RAID formatted data segment in the RAID memory.

6. The method of claim 4 further comprises:

dispersed storage error encoding the recovered data segment having the original format of the data to produce one or more new encoded data slices; and

storing the one or more new encoded data slices in the DSN memory, wherein a new set of encoded data slices includes the one or more new encoded data slices and wherein the data segment is recoverable from a decode threshold number of encoded data slices of the new set of encoded data slices.

7. The method of claim 1 further comprises:

storing the set of encoded data slices in the DSN memory; and

for a read request of the data segment:

retrieving from the RAID memory while RAID memory failures are below a first level; and

retrieving from the DSN memory when the RAID memory failures are above a second level.

8. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

receive data in a redundant array of independent disks (RAID) format;

convert from the RAID format to an original format of the data;

dispersed storage error encode a data segment of the data in the original format to produce a set of encoded data slices, wherein the set of encoded data slices includes a decode threshold sub-set of encoded data slices and an error correcting sub-set of encoded data slices;

convert the decode threshold sub-set of encoded data slices into a RAID formatted data segment;

store the RAID formatted data segment in RAID memory; and

store at least the error correcting sub-set of encoded data slices in DSN memory.

9. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

store the set of encoded data slices in the DSN memory.

10. The non-transitory computer readable storage medium of claim 8 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to convert the decode threshold sub-set of encoded data slices into the RAID formatted data segment by:

generating data blocks from the decode threshold sub-set of encoded data slices; and

generating a parity data block from the data blocks.

11. The non-transitory computer readable storage medium of claim 10 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

detect a failure within the RAID memory that adversely affects storage of one or more of the data blocks and the parity data block;

determine whether to repair the one or more of the data blocks and the parity data block using RAID rebuilding or DSN rebuilding;

when the DSN rebuilding is determined:

retrieve the data blocks from the RAID memory that were not adversely affected;

retrieve the at least the error correcting sub-set of encoded data slices from the DSN memory; and

recover the data segment having the original format of the data from the data blocks from the RAID memory that were not adversely affected and the at least the error correcting sub-set of encoded data slices.

12. The non-transitory computer readable storage medium of claim 11 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

convert the recovered data segment having the original format of the data into the RAID formatted data segment; and

store the RAID formatted data segment in the RAID memory.

13. The non-transitory computer readable storage medium of claim 11 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

dispersed storage error encode the recovered data segment having the original format of the data to produce one or more new encoded data slices; and

store the one or more new encoded data slices in the DSN memory, wherein a new set of encoded data slices includes the one or more new encoded data slices and wherein the data segment is recoverable from a decode threshold number of encoded data slices of the new set of encoded data slices.

14. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

store the set of encoded data slices in the DSN memory; and

for a read request of the data segment:

retrieve from the RAID memory while RAID memory failures are below a first level; and

retrieve from the DSN memory when the RAID memory failures are above a second level.

15. A computing device of a dispersed storage network (DSN), the computing device comprises:

an interface; and

a processing module operably coupled to the interface, wherein the processing module functions to:

receive data in a redundant array of independent disks (RAID) format;

convert from the RAID format to an original format of the data;

dispersed storage error encode a data segment of the data in the original format to produce a set of encoded data slices, wherein the set of encoded data slices includes a decode threshold sub-set of encoded data slices and an error correcting sub-set of encoded data slices;

convert the decode threshold sub-set of encoded data slices into a RAID formatted data segment;

store the RAID formatted data segment in RAID memory; and

store, via the interface, at least the error correcting sub-set of encoded data slices in DSN memory.

16. The computing device of claim 15 , wherein the processing module further functions to:

store, via the interface, the set of encoded data slices in the DSN memory.

17. The computing device of claim 15 , wherein the processing module functions to convert the decode threshold sub-set of encoded data slices into the RAID formatted data segment by:

generating data blocks from the decode threshold sub-set of encoded data slices; and

generating a parity data block from the data blocks.

18. The computing device of claim 17 , wherein the processing module further functions to:

detect a failure within the RAID memory that adversely affects storage of one or more of the data blocks and the parity data block;

determine whether to repair the one or more of the data blocks and the parity data block using RAID rebuilding or DSN rebuilding;

when the DSN rebuilding is determined:

retrieve the data blocks from the RAID memory that were not adversely affected;

retrieve the at least the error correcting sub-set of encoded data slices from the DSN memory; and

recover the data segment having the original format of the data from the data blocks from the RAID memory that were not adversely affected and the at least the error correcting sub-set of encoded data slices.

19. The computing device of claim 18 , wherein the processing module further functions to:

convert the recovered data segment having the original format of the data into the RAID formatted data segment; and

store the RAID formatted data segment in the RAID memory.

20. The computing device of claim 18 , wherein the processing module further functions to:

dispersed storage error encode the recovered data segment having the original format of the data to produce one or more new encoded data slices; and

store, via the interface, the one or more new encoded data slices in the DSN memory, wherein a new set of encoded data slices includes the one or more new encoded data slices and wherein the data segment is recoverable from a decode threshold number of encoded data slices of the new set of encoded data slices.

21. The computing device of claim 15 , wherein the processing module further functions to:

store, via the interface, the set of encoded data slices in the DSN memory; and

for a read request of the data segment:

retrieve from the RAID memory while RAID memory failures are below a first level; and

retrieve, via the interface, from the DSN memory when the RAID memory failures are above a second level.

Assignments (6)
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 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2014
From: GRUBE, GARY W.; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 033828/0637 →