Pseudorandom data storage
First Claim
1. A method comprising:
- distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence that provides load balancing across the storage devices; and
determining current storage locations of the data blocks by reproducing the pseudorandom sequence.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and techniques to pseudorandomly place and redistribute data blocks in a storage system. In general, in one implementation, the techniques include: distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence that provides load balancing across the storage devices, and determining current storage locations of the data blocks by reproducing the pseudorandom sequence. The techniques may also include: distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence, in response to initiation of a storage scaling operation, pseudorandomly redistributing a selected subset of the data blocks and saving information describing the storage scaling operation, determining current storage locations based on the pseudorandom sequence and the saved scaling operation information, and accessing the data blocks according to the determined current storage locations.
-
Citations
40 Claims
-
1. A method comprising:
-
distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence that provides load balancing across the storage devices; and
determining current storage locations of the data blocks by reproducing the pseudorandom sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable medium embodying information indicative of instructions for causing one or more machines to perform operations comprising:
-
distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence that provides load balancing across the storage devices; and
determining current storage locations of the data blocks by reproducing the pseudorandom sequence. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method comprising:
-
distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence;
in response to initiation of a storage scaling operation, pseudorandomly redistributing a selected subset of the data blocks and saving information describing the storage scaling operation;
determining current storage locations based on the pseudorandom sequence and the saved scaling operation information; and
accessing the data blocks according to the determined current storage locations. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A machine-readable medium embodying information indicative of instructions for causing one or more machines to perform operations comprising:
-
distributing data blocks over multiple storage devices according to a reproducible pseudorandom sequence;
in response to initiation of a storage scaling operation, pseudorandomly redistributing a selected subset of the data blocks and saving information describing the storage scaling operation;
determining current storage locations based on the pseudorandom sequence and the saved scaling operation information; and
accessing the data blocks according to the determined current storage locations. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. A system comprising:
-
one or more storage devices; and
one or more controllers configured to pseudorandomly place data blocks on the one or more storage devices, to perform pseudorandom scaling of the one or more storage devices, and to access the data blocks based on information describing prior pseudorandom scaling. - View Dependent Claims (36, 37)
-
-
38. A system comprising:
-
means for randomized storing of data blocks without maintaining a directory system identifying locations of all the data blocks; and
means for randomized redistributing of the data blocks such that block movement is minimized. - View Dependent Claims (39, 40)
-
Specification