A method for storing data across N storage devices S1 . . . SN, wherein at least one the storage devices has a storage capacity not equal to a storage capacity of others involves identifying a storage device SMAX having a largest capacity; encoding the data with an erasure encoder to produce F erasure codewords, where F=