IP Library Granted Patent US 10,133,635
Granted Patent B2
US 10,133,635 · App. 15/817,427 · Granted Nov 20, 2018

Low-width vault in distributed storage system

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 10,133,635
App. No.
15/817,427
Granted
Nov 20, 2018
Kind
B2
Abstract

A method includes storing a first set of data slices in a standard-width vault using a first group of DS units of a distributed storage network (DSN). The first set of data slices corresponds to a first representation of a data object, and includes a first write-threshold number of data slices encoded using a first set of dispersal parameters specifying first write and read widths associated with the standard-width vault. A second set of data slices, corresponding to a second representation of the data object, is stored in a low-width vault using a second group of DS units. The second set of data slices includes at least a second write-threshold number of data slices encoded using a second set of dispersal parameters specifying second write and read widths associated with the low-width vault. The low-width vault has a lower width read and/or write width than the standard-width vault.

Claims (69)

1. A method for use in a distributed storage network (DSN) including a plurality of distributed storage (DS) units configured to store encoded data slices, the method comprising:

storing, in a standard-width vault including a first plurality of DS units, a first set of data slices corresponding to a first representation of a data object, the first set of data slices including at least a first write-threshold number of data slices encoded using a first set of dispersal parameters, wherein the first set of dispersal parameters specifies a first write-width and a first read-width associated with the standard-width vault;

storing, in a low-width vault including a second plurality of DS units, a second set of data slices corresponding to a second representation of the data object, the second set of data slices including at least a second write-threshold number of data slices encoded using a second set of dispersal parameters, wherein:

the second set of dispersal parameters specifies a second write-width and a second read-width associated with the low-width vault;

at least one of the second write-width or the second read-width associated with the low-width vault is less than a corresponding first write-width or first read-width associated with the standard-width vault;

receiving a read request associated with the data object;

determining that the first representation of the data object is stored in the standard-width vault;

determining that the second representation of the data object is stored in the low-width vault;

selecting between retrieving either the first representation of the data object from the standard-width vault or the second representation of the data object from the low-width vault, wherein the selecting is based on a performance associated with at least one of the standard-width vault or the low-width vault; and

retrieving the first representation of the data object or the second representation of the data object in accordance with the selecting.

2. The method of claim 1 , further comprising:

determining that the second representation of the data object is not retrievable from the low-width vault; and

retrieving the first representation of the data object from the standard-width vault in response to determining that the second representation of the data object is not retrievable.

3. The method of claim 1 , wherein the selecting to retrieve includes:

determining expected performance levels of the standard-width vault and the low-width vault; and

selecting between retrieving either the first representation of the data object from the standard-width vault or the second representation of the data object from the low-width vault based, at least in part, on the expected performance levels.

4. The method of claim 1 , further comprising:

deriving the second representation of the data object from the first representation of the data object, wherein the second representation is a reduced-size version of the first representation.

5. The method of claim 1 , further comprising:

receiving a write request associated with a particular data object; and

in response to receiving the write request, determining which of the standard-width vault and the low-width vault to use for storage of the particular data object based, at least in part, on indicators associated with the particular data object.

6. The method of claim 5 , wherein the indicators associated with the particular data object include at least one of: an object size, an object fidelity, an expected frequency of write operations, or a flag passed from a requester.

7. A computing device for use in a distributed storage network (DSN) including a plurality of distributed storage (DS) units configured to store encoded data slices, the computing device including:

a processor and associated memory configured to:

store, in a standard-width vault including a first plurality of DS units, a first set of data slices corresponding to a first representation of a data object, the first set of data slices including at least a first write-threshold number of data slices encoded using a first set of dispersal parameters, wherein the first set of dispersal parameters specifies a first write-width and a first read-width associated with the standard-width vault;

store, in a low-width vault including a second plurality of DS units, a second set of data slices corresponding to a second representation of the data object, the second set of data slices including at least a second write-threshold number of data slices encoded using a second set of dispersal parameters, wherein:

the second set of dispersal parameters specifies a second write-width and a second read-width associated with the low-width vault;

at least one of the second write-width or the second read-width associated with the low-width vault is less than a corresponding first write-width or first read-width associated with the standard-width vault;

receive a read request associated with the data object;

determine that the first representation of the data object is stored in the standard-width vault;

determine that the second representation of the data object is stored in the low-width vault;

select, based on a performance associated with at least one of the standard-width vault or the low-width vault, between retrieving either the first representation of the data object from the standard-width vault or the second representation of the data object from the low-width vault; and

retrieve the first representation of the data object or the second representation of the data object in accordance with the selecting.

8. The computing device of claim 7 , the processor and associated memory further configured to:

determine that the second representation of the data object is not retrievable from the low-width vault; and

retrieve the first representation of the data object from the standard-width vault in response to determining that the second representation of the data object is not retrievable.

9. The computing device of claim 7 , the processor and associated memory further configured to:

determine expected performance levels of the standard-width vault and the low-width vault; and

select between receiving either the first representation of the data object from the standard-width vault or the second representation of the data object from the low-width vault based, at least in part, on the expected performance levels.

10. The computing device of claim 7 , the processor and associated memory further configured to:

derive the second representation of the data object from the first representation of the data object, wherein the second representation is a reduced-size version of the first representation.

11. The computing device of claim 7 , the processor and associated memory further configured to:

receive a write request associated with a particular data object; and

in response to receiving the write request, determine which of the standard-width vault and the low-width vault to use for storage of the particular data object based, at least in part, on indicators associated with the particular data object.

12. The computing device of claim 11 , wherein the indicators associated with the particular data object include at least one of: an object size, an object fidelity, an expected frequency of write operations, or a flag passed from a requester.

13. A distributed storage network (DSN) comprising:

a plurality of distributed storage (DS) units configured to store and retrieve encoded data slices;

a computing device coupled to the plurality of DS units via a communications network, the computing device including a processor and memory configured to implement a storage module, the storage module configured to:

store, in a standard-width vault including a first plurality of DS units, a first set of data slices corresponding to a first representation of a data object, the first set of data slices including at least a first write-threshold number of data slices encoded using a first set of dispersal parameters, wherein the first set of dispersal parameters specifies a first write-width and a first read-width associated with the standard-width vault;

store, in a low-width vault including a second plurality of DS units, a second set of data slices corresponding to a second representation of the data object, the second set of data slices including at least a second write-threshold number of data slices encoded using a second set of dispersal parameters, wherein:

the second set of dispersal parameters specifies a second write-width and a second read-width associated with the low-width vault;

at least one of the second write-width or the second read-width associated with the low-width vault is less than a corresponding first write-width or first read-width associated with the standard-width vault;

the processor and associated memory further configured to implement a retrieve module, the retrieve module configured to:

receive a read request associated with the data object;

determine that the first representation of the data object is stored in the standard-width vault;

determine that the second representation of the data object is stored in the low-width vault;

select, based on a performance associated with at least one of the standard-width vault or the low-width vault, between retrieving either the first representation of the data object from the standard-width vault or the second representation of the data object from the low-width vault; and

retrieve the first representation of the data object or the second representation of the data object in accordance with the selecting.

14. The distributed storage network (DSN) of claim 13 , the retrieve module further configured to:

determine that the second representation of the data object is not retrievable from the low-width vault; and

retrieve the first representation of the data object from the standard-width vault in response to determining that the second representation of the data object is not retrievable.

15. The distributed storage network (DSN) of claim 13 , the retrieve module further configured to:

determine expected performance levels of the standard-width vault and the low-width vault; and

select to retrieve either the first representation of the data object from the standard-width vault or the second representation of the data object from the low-width vault based, at least in part, on the expected performance levels.

16. The distributed storage network (DSN) of claim 13 , the computing device further configured to:

derive the second representation of the data object from the first representation of the data object, wherein the second representation is a reduced-size version of the first representation.

17. The distributed storage network (DSN) of claim 13 , the storage module further configured to:

receive a write request associated with a particular data object; and

in response to receiving the write request, determine which of the standard-width vault and the low-width vault to use for storage of the particular data object based, at least in part, on at least one of: an object size, an object fidelity, an expected frequency of write operations, or a flag passed from a requester.

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 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 Nov 20, 2017
From: ALNAFOOSI, AHMAD; BAPTIST, ANDREW D.; LEGGETTE, WESLEY B.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044174/0889 →