US 7,596,673 B2
Failure tolerant data storage
Christopher Jensen Read, San Diego, Calif. (US)
Assigned to Sony Corporation, Tokyo (Japan); and Sony Electronics Inc., Park Ridge, N.J. (US)
Filed on Dec. 08, 2005, as Appl. No. 11/297,271.
Prior Publication US 2007/0136525 A1, Jun. 14, 2007
Int. Cl. G06F 12/16 (2006.01)
U.S. Cl. 711—170  [711/114; 711/161] 12 Claims
OG exemplary drawing
 
1. A method of allocating storage for storing data across a plurality of N storage devices S1 . . . SN, wherein at least one of the storage devices has a storage capacity that is not equal to a storage capacity of others of the storage devices, the method comprising:
a) determining a maximum capacity CMAX of a storage device SMAX having a largest capacity of the plurality of storage devices S1 . . . SN;
b) determining a total storage capacity C of all of the plurality of storage devices

OG Complex Work Unit Drawing
where K is a counting integer;
c) defining a maximum total number of fountain codewords

OG Complex Work Unit Drawing
that could be stored in the plurality of storage devices S1 . . . SN;
d) defining FMAX as a maximum number of fountain codewords that would be lost if the data in SMAX is lost;
e) estimating a target ratio of capacity to fountain codewords V as V≈C/F≈(C−CMAX)/(F−FMAX)≈(C−CMAX)/R, where R is a number of fountain codewords required to recover CMAX if the data in SMAX is lost;
f) using the estimate of the value of V to estimate the values of F1 . . . FN as FK=Int(CK/V);
g) adjusting the estimated values of F1 . . . FN by addition of a rounding factor FK=Int(CK/V+L) to assure that

OG Complex Work Unit Drawing
and
h) allocating fountain codewords, and storing data to the storage devices S1 . . . SN in proportion to the estimated values of F1 . . . FN.