IP Library Granted Patent US 11,321,172
Granted Patent B1
US 11,321,172 · App. 16/840,196 · Granted May 3, 2022

Vault transformation within a storage network

Inventors: Adam M. Gray (Chicago, IL); Greg R. Dhuse (Chicago, IL); Andrew D. Baptist (Mt. Pleasant, WI); Ravi V. Khadiwala (Bartlett, IL); Wesley B. Leggette (Chicago, IL); Scott M. Horan (Clarendon Hills, IL); Franco V. Borich (Naperville, IL); Bart R. Cilfone (Marina del Rey, CA); Daniel J. Scholl (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F11/1076G06F3/064G06F3/065G06F3/0607G06F3/067G06F3/0619G06F3/0631
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 11,321,172
App. No.
16/840,196
Granted
May 3, 2022
Kind
B1
Abstract

A method includes identifying an existing logical storage vault having existing dispersed storage coding properties for vault transformation, where a first set of storage units support the existing logical storage vault, and a data object of first data objects stored within the first set of storage units is stored as a first plurality of sets of encoded data slices in accordance with the existing dispersed storage coding properties. The method includes identifying a new logical storage vault having new dispersed storage coding properties, wherein storage units support the new logical storage vault. The method includes transforming the first data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed first data objects. The method includes storing the transformed first data objects in the new logical storage vault supported by the storage units.

Claims (59)

1. A method for execution by a computing device of a storage network, the method comprises:

identifying an existing logical storage vault that has existing dispersed storage coding properties for vault transformation, wherein the existing logical storage vault is a portion of a namespace of the storage network, wherein a first set of storage units of the storage network supports the existing logical storage vault, and wherein a data object of first data objects stored within the first set of storage units is stored as a first plurality of sets of encoded data slices in accordance with the existing dispersed storage coding properties;

identifying a new logical storage vault having new dispersed storage coding properties, wherein storage units of the storage network support the new logical storage vault, and wherein at least one property of the new dispersed storage coding properties is different from a corresponding property of the existing dispersed storage coding properties;

transforming the first data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed first data objects; and

storing the transformed first data objects in the new logical storage vault supported by the storage units.

2. The method of claim 1 further comprises:

after the transformed first data objects have been stored in the new logical storage vault, re-purposing storage space of the first set of storage units that were storing the first data objects.

3. The method of claim 1 , wherein the existing dispersed storage coding properties comprises:

for the first data objects, a first pillar width number, a first decode threshold number, and a first error encoding function; and

for second data objects, a second pillar width number, a second decode threshold number, and a second error encoding function.

4. The method of claim 3 further comprises:

selecting a second set of storage units of the storage network supporting the existing logical storage vault based on the second data objects stored within the second set of storage units;

transforming, by the computing device, the second data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed second data objects; and

storing the transformed second data objects into the new logical storage vault supported by the storage units.

5. The method of claim 4 further comprises:

after the transformed second data objects have been stored in the new logical storage vault, re-purposing storage space of the second set of storage units that were storing the second data objects.

6. The method of claim 4 further comprises:

allocating at least a portion of storage space of the first set of storage units to the new logical storage vault for storing at least some of the transformed second data objects.

7. The method of claim 1 , wherein the identifying the existing logical storage vault comprises one or more of:

receiving a message that identifies a specific logical storage vault as the existing logical storage vault;

determining to update or upgrade the existing logical storage vault; and

determining a storage tier status change for the existing logical storage vault.

8. The method of claim 1 , wherein the transforming the one of the first data objects comprises:

retrieving, by the computing device, a plurality of sets of a decode threshold number of encoded data slices from a decode threshold number of storage units of the first set of storage units;

decoding, by the computing device, the plurality of sets of the decode threshold number of encoded data slices in accordance with the existing dispersed storage coding properties to recover the one of the first data objects; and

encoding, by the computing device, the recovered one of the first data objects in accordance with the new dispersed storage coding properties to produce a new plurality of sets of encoded data slices.

9. The method of claim 8 , wherein the existing dispersed storage coding properties includes a first decode threshold number and the new dispersed storage coding properties includes a second decode threshold number, wherein a first decode threshold number and the second decode threshold number are different numbers.

10. The method of claim 1 , wherein the existing dispersed storage coding properties and the new dispersed storage coding properties includes one or more of: a data segment sizing, a pillar width number, a decode threshold number, a read threshold number, a write threshold number, an error encoding function, a data codec, a slice-level codec, and a storage unit type.

11. A computing device of a storage network comprises:

an interface;

memory; and

a processing module operably coupled to the interface and to the memory, wherein the processing module is operable to:

identify an existing logical storage vault that has existing dispersed storage coding properties for vault transformation, wherein the existing logical storage vault is a portion of a namespace of the storage network, wherein a first set of storage units of the storage network supports the existing logical storage vault, and wherein a data object of first data objects stored within the first set of storage units is stored as a first plurality of sets of encoded data slices in accordance with the existing dispersed storage coding properties;

identify a new logical storage vault having new dispersed storage coding properties, wherein storage units of the storage network support the new logical storage vault, and wherein at least one property of the new dispersed storage coding properties is different from a corresponding property of the existing dispersed storage coding properties;

transform the first data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed first data objects; and

store the transformed first data objects in the new logical storage vault supported by the storage units.

12. The computing device of claim 11 , wherein the processing module is further operable to:

after the transformed first data objects have been stored in the new logical storage vault, re-purpose storage space of the first set of storage units that were storing the first data objects.

13. The computing device of claim 11 , wherein the existing dispersed storage coding properties comprises:

for the first data objects, a first pillar width number, a first decode threshold number, and a first error encoding function; and

for second data objects, a second pillar width number, a second decode threshold number, and a second error encoding function.

14. The computing device of claim 13 , wherein the processing module is further operable to:

select a second set of storage units of the storage network supporting the existing logical storage vault based on the second data objects stored within the second set of storage units;

transform the second data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed second data objects; and

store the transformed second data objects into the new logical storage vault supported by the storage units.

15. The computing device of claim 14 , wherein the processing module is further operable to:

after the transformed second data objects have been stored in the new logical storage vault, re-purpose storage space of the second set of storage units that were storing the second data objects.

16. The computing device of claim 14 , wherein the processing module is further operable to:

allocate at least a portion of storage space of the first set of storage units to the new logical storage vault for storing at least some of the transformed second data objects.

17. The computing device of claim 11 , wherein the processing module is operable to identify the existing logical storage vault by one or more of:

receiving a message that identifies a specific logical storage vault as the existing logical storage vault;

determining to update or upgrade the existing logical storage vault; and

determining a storage tier status change for the existing logical storage vault.

18. The computing device of claim 11 , wherein the processing module is operable to transform one of the first data objects by:

retrieving a plurality of sets of a decode threshold number of encoded data slices from a threshold number of storage units of the first set of storage units;

decoding the plurality of sets of the decode threshold number of encoded data slices in accordance with the existing dispersed storage coding properties to recover the one of the first data objects; and

encoding the recovered one of the first data objects in accordance with the new dispersed storage coding properties to produce a new plurality of sets of encoded data slices.

19. The computing device of claim 18 , wherein the existing dispersed storage coding properties includes a first decode threshold number and the new dispersed storage coding properties includes a second decode threshold number, wherein a first decode threshold number and the second decode threshold number are different numbers.

20. The computing device of claim 11 , wherein the existing dispersed storage coding properties and the new dispersed storage coding properties includes one or more of: a data segment sizing, a pillar width number, a decode threshold number, a read threshold number, a write threshold number, an error encoding function, a data codec, a slice-level codec, and a storage unit type.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2020
From: GRAY, ADAM M.; DHUSE, GREG R.; BAPTIST, ANDREW D.; KHADIWALA, RAVI V.; LEGGETTE, WESLEY B.; HORAN, SCOTT M.; BORICH, FRANCO V.; CILFONE, BART R.; SCHOLL, DANIEL J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052326/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052327/0062 →
Continuity (3)
Continuation 15844299 · Dec 15, 2017
Continuation In Part 14926891 · Oct 29, 2015
Provisional Application 62089414 · Dec 31, 2014
Cited By (1)
US 12,656,964