IP Library Granted Patent US 8,285,878
Granted Patent B2
US 8,285,878 · App. 11/973,613 · Granted Oct 9, 2012

Block based access to a dispersed data storage network

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 8,285,878
App. No.
11/973,613
Granted
Oct 9, 2012
Kind
B2
Abstract

A block-based interface to a dispersed data storage network is disclosed. The disclosed interface accepts read and write commands from a file system resident on a user's computer and generates network commands that are forwarded to slice servers that form the storage component of the dispersed data storage network. The slice servers then fulfill the read and write commands.

Claims (33)

1. A method of reading data from a dispersed data network, said method operating on at least one computer and comprising the steps of:

identifying a data segment that includes a plurality of blocks of data, wherein the plurality of blocks of data is encoded using an information dispersal algorithm to produce a plurality of “n” number of data slices, wherein one of the plurality of blocks of data is encoded into one of the plurality of “n” number of data slices, and wherein data slices of the plurality of “n” number of data slices are grouped to produce “n” number of data slice groups which is stored in the dispersed data network, and wherein the data segment is divided into the plurality of blocks of data in accordance with the block-based file system;

assembling a list of slice servers, wherein each slice server on said list stores one of the “n” number of data slice groups;

issuing read requests for at least “m” number of data slice groups to at least “m” number of the slice servers of the list of slice servers, wherein “m” is less than “n” and represents a minimum number of data slices to recover the one of the plurality of blocks of data from the one of the plurality of “n” number of data slices;

when at least “m” number of data slice groups have been received from the at least “m” number of slice servers:

decoding the at least “m” number of data slice groups in accordance with the information dispersal algorithm to reproduce the plurality of blocks of data; and

reconstructing the data segment from the reproduced plurality of blocks of data.

2. The method of claim 1 , wherein said one of the plurality of blocks of data is encrypted and further comprising the step of decrypting said one of the plurality of blocks of data.

3. The method of claim 1 , further comprising the steps of calculating a first checksum for said one of the plurality of blocks of data, and comparing said first checksum to a second checksum appended to said one of the plurality of blocks of data.

4. The method of claim 1 , further comprising the steps of calculating a first checksum for a received data slice, and comparing said first checksum to a second checksum appended to said received data slice.

5. The method of claim 1 , wherein the block-based file system comprises at least one of:

an iSCSI protocol;

an FCP protocol; and

an ATA protocol.

6. A computer comprising:

a network interface for interfacing with a dispersed data storage network; and

a software component operable to:

receive a request for a data segment that includes a plurality of blocks of data, wherein the plurality of blocks of data is encoded using an information dispersal algorithm to produce a plurality of “n” number of data slices, wherein one of the plurality of blocks of data is encoded into one of the plurality of “n” number of data slices, and wherein data slices of the plurality of “n” number of data slices are grouped to produce “n” number of data slice groups which is stored in the dispersed data network and wherein the data segment is divided into the plurality of blocks of data in accordance with the block-based file system;

assemble a list of slice servers, wherein each slice server on said list stores one of the “n” number of data slice groups;

issue, via the network interface, read requests for at least “m” number of data slice groups to at least “m” number of the slice servers of the list of slice servers, wherein “m” is less than “n” and represents a minimum number of data slices to recover the one of the plurality of blocks of data from the one of the plurality of “n” number of data slices;

when at least “m” number of data slice groups have been received from the at least “m” number of slice servers:

decode the at least “m” number of data slice groups in accordance with the information dispersal algorithm to reproduce the plurality of blocks of data; and

reconstruct the data segment from the reproduced plurality of blocks of data.

7. The computer of claim 6 , wherein said software component is implemented as an iSCSI target.

8. The computer of claim 7 , wherein the decoding the at least “m” number of data slice groups further comprises at least one of:

applying a first data transformation on data slices of the at least “m” number of data slices groups to produce a plurality of at least “m” number of data slices;

applying the information dispersal algorithm on the plurality of at least “m” number of data slices to produce recovered plurality of data blocks; and

applying a second data transformation on the recovered plurality of data blocks to produce the reproduced plurality of blocks of data.

9. The computer of claim 6 , wherein said software component is implemented as a device driver.

10. The computer of claim 9 , wherein the block-based file system comprises at least one of:

an iSCSI protocol;

an FCP protocol; and

an ATA protocol.

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 20, 2013
From: SILICON VALLEY BANK
To: CLEVERSAFE, INC.
Reel/Frame 031058/0255 →
FIRST AMENDMENT TO IPSA Recorded Dec 31, 2012
From: CLEVERSAFE, INC.
To: SILICON VALLEY BANK
Reel/Frame 029555/0356 →
CHANGE OF NAME Recorded Mar 1, 2010
From: CLEVERSAFE LLC
To: CLEVERSAFE, INC.
Reel/Frame 024009/0386 →
RE-RECORD TO REPLACE UNSIGNED ASSIGNMENT PAGES REEL/FRAME 020015/0585 Recorded Nov 28, 2007
From: GLADWIN, S. CHRISTOPHER; DHUSE, GREG; THORNTON, VANCE; MOTWANI, MANISH; RESCH, JASON; VOLVOVSKI, ILYA; BELLANCA, JAMIE; QUIGLEY, JOHN
To: CLEVERSAFE, LLC
Reel/Frame 020190/0983 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2007
From: GLADWIN, S. CHRISTOPHER; DHUSE, GREG; THORNTON, VANCE; MOTWANI, MANISH; RESCH, JASON; VOLVOVSKI, ILYA; BELLANCA, JAMIE; QUIGLY, JOHN
To: CLEVERSAFE, LLC
Reel/Frame 020015/0585 →