Patent ID: 8112553

Claim:
A method for distributing data among a plurality of storage devices, comprising the steps of: assigning a first identifier to a first storage device; assigning a second identifier to a second storage device; randomly assigning the first identifier or the second identifier to each of a plurality of logical addresses in a first iteration such that each logical address is randomly assigned the first identifier or the second identifier in the first iteration; transferring the data to the logical addresses in accordance with the random assignment in the first iteration; adding a third storage device to increase the number of storage devices after the random assignment in the first iteration; assigning a third identifier to the third storage device; randomly assigning the first identifier, the second identifier, or the third identifier to each of the plurality of logical addresses in a second iteration occurring at a time subsequent to the first time; if the randomly assigned identifier in the second iteration is the third identifier, transferring the logical address and its associated data to the third storage device; if the randomly assigned identifier in the second iteration is the first identifier or the second identifier, leaving the logical address and its associated data in the first storage device or the second storage device in accordance with the random assignment in the first iteration; creating a copy of the data; randomly assigning the first identifier, the second identifier, or the third identifier to each of the plurality of logical addresses in a third iteration; and transferring the copy of the data to the logical addresses in accordance with the random assignment in the third iteration such that the data and the copy of the data are stored on different storage devices, wherein: a storage device storing the data in accordance with the first iteration and the second iteration is functioning and available, but is treated as unavailable when randomly assigning the first identifier, the second identifier, or the third identifier to each of the plurality of logical addresses in the third iteration for each respective copy of the data, and the storage device is treated as available after randomly assigning the first identifier, the second identifier, or the third identifier to each of the plurality of logical addresses in the third iteration.