Block based access to a dispersed data storage network
AssigneeCleversafe, Inc.
InventorsS. Christopher Gladwin, Greg Dhuse, Vance Thornton, Manish Motwani, Jason Resch, Ilya Volvovski, Jamie Bellanca, John Quigley
Life of this patent
Estimating the term…
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.
Claims10
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.
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.
Dependencies are inferred from the claim text.