IP Library Patent Application 15823865
Patent Application
App. No. 15/823,865

MODIFYING INFORMATION DISPERSAL ALGORITHM (IDA) THRESHOLDS BY SPLITTING EXISTING SLICES

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.
15/823,865
Abstract

A storage unit (SU) includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The SU stores a slice associated with a data object. The SU splits the slice into at least two new slices in accordance with second dispersed error encoding parameters. The SU then transmits a first new slice to a first other SU and a second new slice to a second other SU of a second SU set to be stored therein. The SU generates a first combined partial slice associated with a third new slice of the plurality of new slices to be stored in a third other SU of the second SU set and transmits it to the third other SU to be used to generate the third new slice.

Claims (75)

1 . A storage unit (SU) comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

store a slice associated with a data object, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with first dispersed error encoding parameters that includes a systematic encoding matrix to produce a decode threshold number of slices that corresponds to the data segment and a plurality of coded slices;

receive a first split command of a plurality of split commands issued from a computing device to a first storage unit (SU) set that includes the SU;

split the slice associated with the data object into at least two new slices of a plurality of new slices in accordance with second dispersed error encoding parameters;

transmit a first new slice of the at least two new slices of the plurality of new slices to a first other SU of a second SU set to be stored therein;

transmit a second new slice of the at least two new slices of the plurality of new slices to a second other SU of the second SU set to be stored therein;

generate a first partial slice based on the first new slice of the at least two new slices of the plurality of new slices and a second encoding matrix based on the second dispersed error encoding parameters;

generate a second partial slice based on the second new slice of the at least two new slices of the plurality of new slices and the second encoding matrix based on the second dispersed error encoding parameters;

combine the first partial slice and the second partial slice to generate a first combined partial slice associated with a third new slice of the plurality of new slices to be stored in a third other SU of the second SU set; and

transmit the first combined partial slice to the third other SU of the second SU set to undergo combination, by the third other SU of the second SU set, with a second combined partial slice that is provided from another SU of the first SU set to generate the third new slice of the plurality of new slices.

2 . The SU of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

combine the first partial slice and the second partial slice to generate a third combined partial slice associated with a fourth new slice of the plurality of new slices to be stored in a fourth other SU of the second SU set; and

transmit the third combined partial slice to the fourth other SU of the second SU set to undergo combination, by the fourth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set to generate the fourth new slice of the plurality of new slices.

3 . The SU of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

combine the first partial slice and the second partial slice to generate a fourth combined partial slice associated with a fifth new slice of the plurality of new slices to be stored in a fifth other SU of the second SU set; and

transmit the fourth combined partial slice to the fifth other SU of the second SU set to undergo combination, by the fifth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set and also with a fifth combined partial slice that is provided from at least one other SU of the first SU set to generate the fifth new slice of the plurality of new slices.

4 . The SU of claim 1 , wherein:

the first split command includes the second dispersed error encoding parameters that include the second encoding matrix;

the first dispersed error encoding parameters include a first pillar number that is based on the decode threshold number of slices that corresponds to the data segment and the plurality of coded slices; and

the second first dispersed error encoding parameters include a second pillar number that is double the first pillar number.

5 . The SU of claim 1 , the combination of the first combined partial slice and the second combined partial slice as performed by the third other SU of the second SU set is based on an exclusive OR operation.

6 . The SU of claim 1 , wherein the SU is located at a first premises that is remotely located from a second premises of at least one other SU of the first SU set of the second SU set.

7 . The SU of claim 1 , wherein the computing device includes the another SU of the first SU set, at least one other SU of the second SU set, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

8 . The SU of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

9 . A storage unit (SU) comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

store a slice associated with a data object, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with first dispersed error encoding parameters that includes a systematic encoding matrix to produce a decode threshold number of slices that corresponds to the data segment and a plurality of coded slices;

receive a first split command of a plurality of split commands issued from a computing device to a first storage unit (SU) set that includes the SU;

split the slice associated with the data object into at least two new slices of a plurality of new slices in accordance with second dispersed error encoding parameters;

transmit a first new slice of the at least two new slices of the plurality of new slices to a first other SU of a second SU set to be stored therein;

transmit a second new slice of the at least two new slices of the plurality of new slices to a second other SU of the second SU set to be stored therein;

generate a first partial slice based on the first new slice of the at least two new slices of the plurality of new slices and a second encoding matrix based on the second dispersed error encoding parameters;

generate a second partial slice based on the second new slice of the at least two new slices of the plurality of new slices and the second encoding matrix based on the second dispersed error encoding parameters;

combine the first partial slice and the second partial slice to generate a first combined partial slice associated with a third new slice of the plurality of new slices to be stored in a third other SU of the second SU set;

transmit the first combined partial slice to the third other SU of the second SU set to undergo combination, by the third other SU of the second SU set, with a second combined partial slice that is provided from another SU of the first SU set to generate the third new slice of the plurality of new slices;

combine the first partial slice and the second partial slice to generate a third combined partial slice associated with a fourth new slice of the plurality of new slices to be stored in a fourth other SU of the second SU set; and

transmit the third combined partial slice to the fourth other SU of the second SU set to undergo combination based on an exclusive OR operation, by the fourth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set to generate the fourth new slice of the plurality of new slices.

10 . The SU of claim 9 , wherein the processing circuitry is further configured to execute the operational instructions to:

combine the first partial slice and the second partial slice to generate a fourth combined partial slice associated with a fifth new slice of the plurality of new slices to be stored in a fifth other SU of the second SU set; and

transmit the fourth combined partial slice to the fifth other SU of the second SU set to undergo combination, by the fifth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set and also with a fifth combined partial slice that is provided from at least one other SU of the first SU set to generate the fifth new slice of the plurality of new slices.

11 . The SU of claim 9 , wherein:

the first split command includes the second dispersed error encoding parameters that include the second encoding matrix;

the first dispersed error encoding parameters include a first pillar number that is based on the decode threshold number of slices that corresponds to the data segment and the plurality of coded slices; and

the second first dispersed error encoding parameters include a second pillar number that is double the first pillar number.

12 . The SU of claim 9 , wherein the computing device includes the another SU of the first SU set, at least one other SU of the second SU set, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

13 . The SU of claim 9 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

14 . A method for execution by a storage unit (SU), the method comprising:

storing a slice associated with a data object, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with first dispersed error encoding parameters that includes a systematic encoding matrix to produce a decode threshold number of slices that corresponds to the data segment and a plurality of coded slices;

receiving, via an interface of the SU that is configured to interface and communicate with a dispersed or distributed storage network (DSN), a first split command of a plurality of split commands issued from a computing device to a first storage unit (SU) set that includes the SU;

splitting the slice associated with the data object into at least two new slices of a plurality of new slices in accordance with second dispersed error encoding parameters;

transmitting, via the interface, a first new slice of the at least two new slices of the plurality of new slices to a first other SU of a second SU set to be stored therein;

transmitting, via the interface, a second new slice of the at least two new slices of the plurality of new slices to a second other SU of the second SU set to be stored therein;

generating a first partial slice based on the first new slice of the at least two new slices of the plurality of new slices and a second encoding matrix based on the second dispersed error encoding parameters;

generating a second partial slice based on the second new slice of the at least two new slices of the plurality of new slices and the second encoding matrix based on the second dispersed error encoding parameters;

combining the first partial slice and the second partial slice to generate a first combined partial slice associated with a third new slice of the plurality of new slices to be stored in a third other SU of the second SU set; and

transmitting, via the interface, the first combined partial slice to the third other SU of the second SU set to undergo combination, by the third other SU of the second SU set, with a second combined partial slice that is provided from another SU of the first SU set to generate the third new slice of the plurality of new slices.

15 . The method of claim 14 further comprising:

combining the first partial slice and the second partial slice to generate a third combined partial slice associated with a fourth new slice of the plurality of new slices to be stored in a fourth other SU of the second SU set; and

transmitting, via the interface, the third combined partial slice to the fourth other SU of the second SU set to undergo combination, by the fourth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set to generate the fourth new slice of the plurality of new slices.

16 . The method of claim 14 further comprising:

combining the first partial slice and the second partial slice to generate a fourth combined partial slice associated with a fifth new slice of the plurality of new slices to be stored in a fifth other SU of the second SU set; and

transmitting, via the interface, the fourth combined partial slice to the fifth other SU of the second SU set to undergo combination, by the fifth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set and also with a fifth combined partial slice that is provided from at least one other SU of the first SU set to generate the fifth new slice of the plurality of new slices.

17 . The method of claim 14 further comprising:

combining the first partial slice and the second partial slice to generate a fourth combined partial slice associated with a fifth new slice of the plurality of new slices to be stored in a fifth other SU of the second SU set; and

transmitting, via the interface, the fourth combined partial slice to the fifth other SU of the second SU set to undergo combination, by the fifth other SU of the second SU set, with the second combined partial slice that is provided from the another SU of the first SU set and also with a fifth combined partial slice that is provided from at least one other SU of the first SU set to generate the fifth new slice of the plurality of new slices.

18 . The method of claim 14 , wherein:

the first split command includes the second dispersed error encoding parameters that include the second encoding matrix;

the first dispersed error encoding parameters include a first pillar number that is based on the decode threshold number of slices that corresponds to the data segment and the plurality of coded slices; and

the second first dispersed error encoding parameters include a second pillar number that is double the first pillar number.

19 . The method of claim 14 , wherein the computing device includes the another SU of the first SU set, at least one other SU of the second SU set, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20 . The method of claim 14 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

Assignments (3)
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 Nov 28, 2017
From: LEGGETTE, WESLEY B.; BAPTIST, ANDREW D.; DHUSE, GREG R.; RESCH, JASON K.; GRUBE, GARY W.; GLADWIN, S. CHRISTOPHER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044237/0589 →