| 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 |

| 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
![]() c) defining a maximum total number of fountain codewords
![]() 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
![]() h) allocating fountain codewords, and storing data to the storage devices S1 . . . SN in proportion to the estimated values of F1 . . . FN.
|