Efficiency for erasure encoding
First Claim
1. A method for erasure coding data using a network computer that performs actions, comprising:
- determining a smallest integer in a set based on a number of storage devices in a storage system, wherein the determined integer is greater or equal to the number of storage devices;
determining a number of columns that is equal to a value of the determined integer;
determining a number of rows that is equal to a value of the number of columns plus a number of global repair symbol devices and plus a number of virtual repair symbol devices in the storage system;
generating a generator matrix in two dimensions based on the number of columns and the number of rows, wherein one or more rows of the generator matrix corresponds to one or more virtual repair symbol devices;
generating the contents of the one or more virtual repair symbol devices based on two or more other repair symbol devices;
encoding data that is provided for storage using at least the contents of the one or more virtual repair symbol devices and the generator matrix; and
storing the encoded data in the storage system without the contents of the one or more virtual repair symbol devices.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are directed towards efficient erasure coding for storage systems. A smallest integer in a set may be determined based on a number of storage devices in the storage system such that the determined integer is greater or equal to the number of storage devices. The smallest integer in the set may be determined from the set {2N−1} where N is an integer based on the number of storage devices. A matrix may be generated based on a number of columns equal to the determined integer and a number of rows equal to the number of columns plus a number of global repair symbol devices and plus a number of virtual repair symbol devices. Each virtual repair symbol device enables an additional of level of protection against failures in the storage system.
-
Citations
30 Claims
-
1. A method for erasure coding data using a network computer that performs actions, comprising:
-
determining a smallest integer in a set based on a number of storage devices in a storage system, wherein the determined integer is greater or equal to the number of storage devices; determining a number of columns that is equal to a value of the determined integer; determining a number of rows that is equal to a value of the number of columns plus a number of global repair symbol devices and plus a number of virtual repair symbol devices in the storage system; generating a generator matrix in two dimensions based on the number of columns and the number of rows, wherein one or more rows of the generator matrix corresponds to one or more virtual repair symbol devices; generating the contents of the one or more virtual repair symbol devices based on two or more other repair symbol devices; encoding data that is provided for storage using at least the contents of the one or more virtual repair symbol devices and the generator matrix; and storing the encoded data in the storage system without the contents of the one or more virtual repair symbol devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for erasure coding data, comprising:
-
a network computer comprising; a transceiver that communicates over a network; a memory that stores at least instructions; and a processor device that executes instructions that enable actions, including; determining a smallest integer in a set based on a number of storage devices in a storage system, wherein the determined integer is greater or equal to the number of storage devices; determining a number of columns that is equal to a value of the determined integer; determining a number of rows that is equal to a value of the number of columns plus a number of global repair symbol devices and plus a number of virtual repair symbol devices in the storage system; generating a generator matrix in two dimensions based on the number of columns and the number of rows, wherein one or more rows of the generator matrix corresponds to one or more virtual repair symbol devices; generating the contents of the one or more virtual repair symbol devices based on two or more other repair symbol devices; encoding data that is provided for storage using at least the contents of the one or more virtual repair symbol devices and the generator matrix; and storing the encoded data in the storage system without the contents of the one or more virtual repair symbol devices; and a client computer comprising; a transceiver that communicates over a network; a memory that stores at least instructions; and a processor device that executes instructions that enable actions, including; providing the data to the network computer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A processor readable non-transitory storage media that includes instructions for erasure coding data, wherein execution of the instructions by a processor device enables actions, comprising:
-
determining a smallest integer in a set based on a number of storage devices in a storage system, wherein the determined integer is greater or equal to the number of storage devices; determining a number of columns that is equal to a value of the determined integer; determining a number of rows that is equal to a value of the number of columns plus a number of global repair symbol devices and plus a number of virtual repair symbol devices in the storage system; generating a generator matrix in two dimensions based on the number of columns and the number of rows, wherein one or more rows of the generator matrix corresponds to one or more virtual repair symbol devices; generating the contents of the one or more virtual repair symbol devices based on two or more other repair symbol devices; encoding data that is provided for storage using at least the contents of the one or more virtual repair symbol devices and the generator matrix; and storing the encoded data in the storage system without the contents of the one or more virtual repair symbol devices. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A network computer that performs erasure coding data, comprising:
-
a transceiver that communicates over a network; a memory that stores at least instructions; and a processor device that executes instructions that enable actions, including; determining a smallest integer in a set based on a number of storage devices in a storage system, wherein the determined integer is greater or equal to the number of storage devices; determining a number of columns that is equal to a value of the determined integer; determining a number of rows that is equal to a value of the number of columns plus a number of global repair symbol devices and plus a number of virtual repair symbol devices in the storage system; generating a generator matrix in two dimensions based on the number of columns and the number of rows, wherein one or more rows of the generator matrix corresponds to one or more virtual repair symbol devices; generating the contents of the one or more virtual repair symbol devices based on two or more other repair symbol devices; encoding data that is provided for storage using at least the contents of the one or more virtual repair symbol devices and the generator matrix; and storing the encoded data in the storage system without the contents of the one or more virtual repair symbol devices. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification