IP Library Granted Patent US 9,965,354
Granted Patent B2
US 9,965,354 · App. 15/089,943 · Granted May 8, 2018

Distributed storage network for modification of a data object

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,965,354
App. No.
15/089,943
Granted
May 8, 2018
Kind
B2
Abstract

A method includes converting, by a first computing device of a DSN, a user virtual memory address of a data object identified in a data access request into a DSN virtual memory address. The method further includes processing, by at least one of the first computing device and a second computing device of the DSN, the DSN virtual address to determine that a first storage units of the storage units stores first encoded data slices of each set of at least some of the plurality of sets of encoded data slices; and a second storage units of the storage units stores second encoded data slices of each set of the at least some of the plurality of sets of encoded data slices. The method further includes converting, by the first storage unit, DSN virtual addresses of the first encoded data slices into physical addresses within the first storage unit.

Claims (48)

1. A method to access data in a dispersed storage network (DSN), the method comprises:

converting, by a first computing device of the DSN, a user virtual memory address of a data object identified in a data access request into a DSN virtual memory address, wherein the data is divided into a plurality of data segments, wherein the plurality of data segments is dispersed storage error encoded into a plurality of sets of encoded data slices that is stored in storage units of the DSN, wherein the converting further comprises identifying a vault associated with a user associated with the data access request, and wherein the vault is a logical storage space that spans the storage units, and wherein data objects are stored in the vault in accordance with operational parameters and, for each data object, includes data segment information and a read threshold value of a minimum number of slices required to reconstruct the data;

processing, by at least one of the first computing device and a second computing device of the DSN, the DSN virtual address to determine that:

a first storage unit of the storage units stores first encoded data slices of each set of at least some of the plurality of sets of encoded data slices; and

a second storage unit of the storage units stores second encoded data slices of each set of the at least some of the plurality of sets of encoded data slices; and

converting, by the first storage unit, DSN virtual addresses of the first encoded data slices into physical addresses within the first storage unit.

2. The method of claim 1 , wherein the processing the DSN virtual address comprises:

identifying a first pillar number associated with the first encoded data slices;

determining a first DSN memory identifier corresponding to the first pillar number; and

identifying the first storage unit based on the first DSN memory identifier.

3. The method of claim 1 further comprises:

when the data access request is a write request of the data object;

accessing vault information associated with a user associated with the data access request to determine operational parameters;

encoding the data object in accordance with the operational parameters to produce the plurality of sets of encoded data slices;

generating a plurality of sets of DSN addresses for the plurality of sets of encoded data slices; and

writing the plurality of sets of encoded data slices to the storage units in accordance with the plurality of sets of DSN addresses.

4. The method of claim 1 further comprises:

storing data object information regarding the data object, wherein the data object information includes one or more of: a data segment size, a data segment number, a segment revision level, a data object size, and a segmentation strategy indication.

5. The method of claim 4 further comprises:

dispersed storage error encoding the data object information to produce a set of encoded information slices; and

storing the set of encoded information slices in at least some of the storage units.

6. A non-transitory computer readable memory device comprises:

a first storage section for storing operational instructions that causes a first computing device of a dispersed storage network (DSN) to:

convert a user virtual memory address of a data object identified in a data access request into a DSN virtual memory address, wherein the data is divided into a plurality of data segments, wherein the plurality of data segments is dispersed storage error encoded into a plurality of sets of encoded data slices that is stored in storage units of the DSN, wherein the converting further comprises identifying a vault associated with a user associated with the data access request, and wherein the vault is a logical storage space that spans the storage units, and wherein data objects are stored in the vault in accordance with operational parameters and, for each data object, includes data segment information and a read threshold value of a minimum number of slices required to reconstruct the data;

a second storage section for storing operational instructions that causes at least one of the first computing device and a second computing device of the DSN to:

process the DSN virtual address to determine that:

a first storage unit of the storage units stores first encoded data slices of each set of at least some of the plurality of sets of encoded data slices; and

a second storage unit of the storage units stores second encoded data slices of each set of the at least some of the plurality of sets of encoded data slices; and

a third storage section for storing operational instructions that causes the first storage unit to:

convert DSN virtual addresses of the first encoded data slices into physical addresses within the first storage unit.

7. The non-transitory computer readable memory device of claim 6 , wherein the processing the DSN virtual address comprises:

identifying a first pillar number associated with the first encoded data slices;

determining a first DSN memory identifier corresponding to the first pillar number; and

identifying the first storage unit based on the first DSN memory identifier.

8. The non-transitory computer readable memory device of claim 6 further comprises:

when the data access request is a write request of the data object;

a fourth storage section for storing operational instructions that causes the at least one of the first computing device and the second computing device to:

access vault information associated with a user associated with the data access request to determine operational parameters;

encode the data object in accordance with the operational parameters to produce the plurality of sets of encoded data slices;

generate a plurality of sets of DSN addresses for the plurality of sets of encoded data slices; and

write the plurality of sets of encoded data slices to the storage units in accordance with the plurality of sets of DSN addresses.

9. The non-transitory computer readable memory device of claim 6 further comprises:

a fourth storage section for storing operational instructions that causes the at least one of the first computing device and the second computing device to:

store data object information regarding the data object, wherein the data object information includes one or more of: a data segment size, a data segment number, a segment revision level, a data object size, and a segmentation strategy indication.

10. The non-transitory computer readable memory device of claim 9 further comprises:

the fourth storage section for storing operational instructions that further cause the at least one of the first computing device and the second computing device to:

dispersed storage error encode the data object information to produce a set of encoded information slices; and

store the set of encoded information slices in at least some of the storage units.

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 Jan 10, 2018
From: RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 044587/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →