Patent ID: 7779224

Claim:
A method for storing data, comprising: distributing a first plurality of groups of logical addresses among one or more storage devices; receiving a second plurality of data-sets containing the data to be stored; assigning each data-set among the plurality of data-sets a number chosen from a first plurality of different numbers; partitioning each data-set into multiple partitions, so that each partition among the multiple partitions receives a sequential partition number; assigning each partition within each data-set to be stored at a specific group of logical addresses in accordance with the sequential partition number of the partition and the number assigned to the data-set; and storing each partition at the assigned specific group of logical addresses; wherein: the first plurality of groups comprises s groups, each having a different integral group number between 1 and s, the number comprises an integer r randomly chosen from and including integers between 0 and s−1, the sequential partition number comprises a positive integer p, and the group number of the assigned specific group is (r+p)modulo(s) if (r+p)modulo(s)≠0, and s if (r+p)modulo(s)=0.