Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
First Claim
Patent Images
1. A method of storing data in a set of storage devices, the set having at least one storage device, the method comprising:
- automatically determining a mixture of redundancy schemes, from among a plurality of redundancy schemes, for storing the data in the set of storage devices in order to provide fault tolerance and, when the set of storage devices happens to include a plurality of devices of different storage capacities, enhanced storage efficiency; and
storing the data in the set of storage devices using the mixture of redundancy schemes.
16 Assignments
0 Petitions
Accused Products
Abstract
A dynamically expandable and contractible fault-tolerant storage system permits variously sized storage devices. Data is stored redundantly across one or more storage devices if possible. The layout of data across the one or more storage devices is automatically reconfigured as storage devices are added or removed in order to provide an appropriate level of redundancy for the data to the extent possible. A hash-based compression technique may be used to reduce storage consumption. Techniques for freeing unused storage blocks are also disclosed.
186 Citations
43 Claims
-
1. A method of storing data in a set of storage devices, the set having at least one storage device, the method comprising:
-
automatically determining a mixture of redundancy schemes, from among a plurality of redundancy schemes, for storing the data in the set of storage devices in order to provide fault tolerance and, when the set of storage devices happens to include a plurality of devices of different storage capacities, enhanced storage efficiency; and
storing the data in the set of storage devices using the mixture of redundancy schemes. - View Dependent Claims (2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
3. A method of storing data in a set of storage devices in a manner permitting dynamic expansion and contraction of the set, the set having at least one storage device, the method comprising:
-
storing data on the set of storage devices using a first redundancy scheme; and
upon a change in the composition of the set of storage devices, automatically reconfiguring the data on the set of storage devices using one of (a) a second redundancy scheme on the same arrangement of storage devices, (b) a second redundancy scheme on a different arrangement of storage devices, and (c) the same redundancy scheme on a different arrangement of storage devices.
-
-
22. A method of storing data in a set of storage devices, the method comprising:
-
storing data on the set of storage devices using at least one redundancy scheme;
detecting removal of a storage device from the set;
reconfiguring a portion of the data from the removed storage device using the remaining storage devices;
detecting reinsertion of the removed storage device into the set;
freeing regions of the reinserted storage device corresponding to said portion; and
refreshing any remaining regions of the reinserted storage device that may have been modified between removal and reinsertion.
-
-
23. A system for storing data, the system comprising:
-
a set of storage devices, the set having at least one storage device; and
a storage manager for storing the data in the set of storage devices using a mixture of redundancy schemes, the storage manager automatically determining the mixture of redundancy schemes, from among a plurality of redundancy schemes, for storing the data in the set of storage devices in order to provide fault tolerance and, when the set of storage devices happens to include a plurality of devices of different storage capacities, enhanced storage efficiency. - View Dependent Claims (24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
25. A system for storing data, the system comprising:
-
a set of storage devices, the set having at least one storage device; and
a storage manager for storing the data in the set of storage devices, the storage manager storing data on the set of storage devices using a first redundancy scheme and, upon a change in the composition of the set of storage devices, automatically reconfiguring the data on the set of storage devices using one of (a) a second redundancy scheme on the same arrangement of storage devices, (b) a second redundancy scheme on a different arrangement of storage devices, and (c) the same redundancy scheme on a different arrangement of storage devices.
-
-
40. A method for freeing unused storage blocks in a storage system, the method comprising:
-
identifying a free block;
determining a logical sector address for the free block;
identifying a cluster access table entry for the free block based on the logical sector address;
decrementing a reference count associated with the cluster access table entry; and
freeing the block if the decremented reference count is zero. - View Dependent Claims (41, 42, 43)
-
Specification