Storage device array architecture with solid-state redundancy unit
First Claim
1. A fault-tolerant storage device array including:
- a. a plurality of failure independent data storage units for storing data as blocks;
b. at least one solid state device storage unit for storing a plurality of redundancy blocks, each redundancy block corresponding to a plurality of data blocks stored in the plurality of failure independent data storage units, and wherein the solid state device storage unit has Read and Write cycle times substantially less than the Read and Write cycle times of the plurality of failure independent data storage units; and
c. a storage unit controller, coupled to the plurality of failure independent data storage units and to the at least one solid state device storage unit, comprising control means for modifying a data block including means for;
(1) reading a data block to be modified from one of the failure independent data storage units;
(2) reading a redundancy block, corresponding to the read data block, from at least one solid state device storage unit;
(3) generating a new redundancy block from the read data block, the read redundancy block, and a new data block; and
(4) writing the new redundancy block to the at least one solid state device storage unit.
0 Assignments
0 Petitions
Accused Products
Abstract
A fault-tolerant storage device array using a solid-state storage unit for storage of redundancy information. The invention solves the redundancy bottleneck inherent in a RAID 4 architecture by replacing the electro-mechanical redundancy storage unit with a solid-state device (SSD). The present invention requires reading an old data block from a storage unit and an old redundancy data block from the SSD, then combining the old data block, a new data block, and the old redundancy data block to generate a new redundancy data block, and thereafter writing the new data block to a storage unit and the new redundancy data block to the SSD. However, reading the old redundancy data block from the SSD and writing the new redundancy data block to the SSD at electronic speeds takes a negligible amount of time compared to the Read and Write times of a typical rotating disk storage unit. While the storage unit on which a new data block will be stored is involved for the duration of each data modification operation, the involvement of the SSD in the operation ceases upon writing the new redundancy data block. Thereafter, the SSD is available for updating a redundancy data block for a next storage unit.
117 Citations
18 Claims
-
1. A fault-tolerant storage device array including:
-
a. a plurality of failure independent data storage units for storing data as blocks; b. at least one solid state device storage unit for storing a plurality of redundancy blocks, each redundancy block corresponding to a plurality of data blocks stored in the plurality of failure independent data storage units, and wherein the solid state device storage unit has Read and Write cycle times substantially less than the Read and Write cycle times of the plurality of failure independent data storage units; and c. a storage unit controller, coupled to the plurality of failure independent data storage units and to the at least one solid state device storage unit, comprising control means for modifying a data block including means for; (1) reading a data block to be modified from one of the failure independent data storage units; (2) reading a redundancy block, corresponding to the read data block, from at least one solid state device storage unit; (3) generating a new redundancy block from the read data block, the read redundancy block, and a new data block; and (4) writing the new redundancy block to the at least one solid state device storage unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A fault-tolerant storage device array including:
-
a. a plurality of failure independent data storage units for storing a plurality of data blocks; b. at least one solid state device storage unit for storing at least one redundancy block, each redundancy block corresponding to a portion of the plurality of data blocks, wherein the solid state device storage unit has Read and Write cycle times substantially less than the Read and Write cycle times of the plurality of failure independent data storage units; and c. a storage unit controller, coupled to the plurality of failure independent data storage units and to the at least one solid state device storage unit, wherein the controller generates a new redundancy block corresponding to a new data block which is to replace an old data block stored on the plurality of failure independent data storage units, and wherein the new redundancy block is a function of the old data block, an old redundancy block corresponding to the old data block, and the new data block.
-
-
16. A fault-tolerant storage device array including:
-
a. a plurality of failure independent data storage units for storing a plurality of data blocks; b. at least one solid state device storage unit for storing at least one redundancy block, each redundancy block corresponding to a portion of the plurality of data blocks, wherein the solid state device storage unit has Read and Write cycle times substantially less than the Read and Write cycle times of the plurality of failure independent data storage units; and c. a storage unit controller, coupled to the plurality of failure independent data storage units and to the at least one solid state device storage unit, wherein the controller generates a new redundancy block each time an old data block stored on the plurality of failure independent data storage units is modified, and wherein the new redundancy block is a function of the old data block, an old redundancy block corresponding to the old data block, and a new data block.
-
-
17. A method of storing a new block of data in a fault-tolerant storage device array including:
-
a. selecting one of a plurality of failure independent data storage units for storing the new data block; b. reading an old data block, corresponding to the new data block, from one of the failure independent data storage units; c. reading an old redundancy block, corresponding to the old data block, from at least one solid state device storage unit, wherein the solid state device storage unit has Read and Write cycle times substantially less than the Read and Write cycle times of the plurality of failure independent data storage units; d. generating a new redundancy block from the old data block, the old redundancy block, and the new data block; e. writing the new redundancy block to at least one solid state device storage unit; and f. writing the new data block to the selected one of the plurality of failure independent data storage units.
-
-
18. A method of storing a new block of data in a fault-tolerant storage device array including:
-
a. selecting one of a plurality of failure independent data storage units for storing the new data block; b. reading an old data block, corresponding to the new data block, from the selected failure independent data storage unit; c. reading an old redundancy block, corresponding to the old data block, from at least one solid state device storage unit, wherein the solid state device storage unit has Read and Write cycle times substantially less than the Read and Write cycle times of the plurality of failure independent data storage units; d. generating a new redundancy block, wherein the new redundancy block is a function of the old data block, the old redundancy block, and the new data block; e. writing the new redundancy block to the at least one solid state device storage unit; and f. writing the new data block to the selected one of the plurality of failure independent data storage units.
-
Specification