Storage device array architecture with solid-state redundancy unit
First Claim
1. A fault tolerant storage subsystem comprising:
- a first tier of failure independent data storage units coupled to a storage controller; and
a second tier of at least one failure independent data storage units coupled to at least one of said failure independent data storage units in said first tier for providing further fault tolerance thereto.
0 Assignments
0 Petitions
Accused Products
Abstract
A fault tolerant storage subsystem includes a first tier of failure independent data storage units coupled to a storage controller, and a second tier, including at least one failure independent data storage unit, coupled to at least one of the failure independent data storage units in the first tier for providing further fault tolerance thereto. The first tier of failure independent data storage units may include a partially heterogeneous group of data storage units, which may include a solid state data storage unit. Data blocks representative of data received from the storage controller are stored on at least a first subset of the first tier of failure independent data storage units and associated redundancy blocks representative of redundancy information associates with the data blocks are stored on a second subset of the first tier of failure independent data storage units.
79 Citations
65 Claims
-
1. A fault tolerant storage subsystem comprising:
-
a first tier of failure independent data storage units coupled to a storage controller; and
a second tier of at least one failure independent data storage units coupled to at least one of said failure independent data storage units in said first tier for providing further fault tolerance thereto. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
at least one redundancy block calculation circuit coupled to said first subset of said first tier of failure independent data storage units for calculating said associated redundancy blocks for storage on said second subset of said first tier of failure independent data storage units.
-
-
8. The fault tolerant storage subsystem of claim 6 wherein said associated redundancy blocks stored on said second subset of said first tier of failure independent data storage units are computed based upon said data blocks in said first subset of said first tier of failure independent data storage units.
-
9. The fault tolerant storage subsystem of claim 6 wherein said second tier of at least one failure independent data storage units coupled to at least one of said failure independent data storage units in said first tier comprises a mirrored storage unit.
-
10. The fault tolerant storage subsystem of claim 6 further comprising a buffer memory associated with at least said first subset of said first tier of failure independent data storage units for temporary storage of said data stored on said first subset of said first tier of failure independent data storage units.
-
11. The fault tolerant storage subsystem of claim 6 further comprising a buffer memory associated with at least said second subset of said first tier of failure independent data storage units for temporary storage of said data stored on said second subset of said first tier of failure independent data storage units.
-
12. A storage subsystem comprising:
-
a storage controller coupling a central processing unit to a plurality of failure independent data storage units, at least one of said plurality of failure independent data storage units comprising a solid state data storage unit; and
a non-volatile solid state buffer memory associated with at least said solid state data storage unit to provide a data cache;
wherein said plurality of failure independent data storage units comprises a first tier of failure independent data storage units coupled to said storage controller and a second tier of at least one failure independent data storage units coupled to at least one of said failure independent data storage units in said first tier for providing further fault tolerance thereto. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
at least one redundancy block calculation circuit coupled to said first subset of failure independent data storage units for calculating said associated redundancy blocks for storage on said second subset of said failure independent data storage units.
-
-
18. The storage subsystem of claim 17 wherein said associated redundancy blocks stored on said second subset of said failure independent data storage units are computed based upon said data blocks in said first subset of said failure independent data storage units.
-
19. The storage subsystem of claim 12 wherein said second tier of at least one failure independent data storage units coupled to at least one of said failure independent data storage units in said first tier comprises a mirrored storage unit.
-
20. The subsystem of claim 16 further comprising a buffer memory associated with at least said first subset of failure independent data storage units for temporary storage of said data stored on said first subset of failure independent data storage units.
-
21. The storage subsystem of claim 16 further comprising a buffer memory associated with at least said second subset of failure independent data storage units for temporary storage of said data stored on said second subset of failure independent data storage units.
-
22. A storage subsystem comprising:
-
a storage controller coupling a central processing unit to a plurality of data storage units in a redundant array, at least one of said data storage units having an access time that is different from at least another of said storage units, said storage controller operative for placing primarily accessed data on a fastest one of said failure independent data storage units. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
at least one redundancy block calculation circuit coupled to said first subset of failure independent data storage units for calculating said associated redundancy blocks for storage on said second subset of failure independent data storage units.
-
-
30. The storage subsystem of claim 28 wherein said associated redundancy blocks stored on said second subset of failure independent data storage units are computed based upon said data blocks in said first subset of failure independent data storage units.
-
31. The storage subsystem of claim 28 further comprising a buffer memory associated with at least said first subset of said failure independent data storage units for temporary storage of said data stored on said first subset of failure independent data storage units.
-
32. The storage subsystem of claim 28 further comprising a buffer memory associated with at least said second subset of failure independent data storage units for temporary storage of said data stored on said second subset of failure independent data storage units.
-
33. A fault tolerant storage subsystem comprising:
-
a plurality of failure independent data storage units for storing a plurality of data blocks and at least one associated redundancy block, at least one of said plurality of failure independent data storage units comprising a solid state data storage unit having a Read and Write cycle time substantially lesser than a Read and Write cycle time of each other of said failure independent data storage units and wherein selected ones of said plurality of said data blocks and said at least one associated redundancy block which are most frequently accessed during a data modification operation are stored on said at least one solid state data storage unit to decrease Read and Write operation times of said frequently accessed data to that of said solid state data storage unit. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
at least one redundancy block calculation circuit coupled to said first subset of failure independent data storage units for calculating said associated redundancy blocks for storage on said second subset of said failure independent data storage units.
-
-
40. The fault tolerant storage subsystem of claim 39 wherein said associated redundancy blocks stored on said second subset of said failure independent data storage units are computed based upon said data blocks in said first subset of said failure independent data storage units.
-
41. The fault tolerant storage subsystem of claim 33 wherein data blocks representative of data received from a storage controller are stored on at least a first subset of said failure independent data storage units and associated redundancy blocks representative of redundancy information associated with said data blocks are stored on a second subset of said failure independent data storage units.
-
42. The fault tolerant storage subsystem of claim 41 further comprising a buffer memory associated with at least said first subset of said failure independent data storage units for temporary storage of said data stored on said first subset of failure independent data storage units.
-
43. The fault tolerant storage subsystem of claim 41 further comprising a buffer memory associated with at least said second subset of failure independent data storage units for temporary storage of said data stored on said second subset of failure independent data storage units.
-
44. A computer comprising:
-
a central processing unit;
a storage subsystem controller coupled to said central processing unit;
a plurality of first tier failure independent data storage units coupled to said controller in a redundant array, at least one of said plurality of failure independent data storage units having a Read and Write cycle time substantially differing from at least one other of said failure independent data storage units. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51)
at least one redundancy block calculation circuit coupled to said first subset of said plurality of failure independent data storage units for calculating said associated redundancy blocks for storage on said second subset of said plurality of failure independent data storage units.
-
-
51. The computer system of claim 50 wherein said associated redundancy blocks stored on said second subset of said plurality of failure independent data storage units are computed based upon said data blocks in said first subset of said plurality of failure independent data storage units.
-
52. A fault tolerant storage subsystem comprising:
-
a plurality of failure independent data storage units coupled to a storage controller in a redundant array, said plurality of failure independent data storage units comprising at least first and second data storage units having substantially differing Read and Write cycle times. - View Dependent Claims (53, 54, 55, 56, 57, 58)
at least one redundancy block calculation circuit coupled to said first subset of said plurality of failure independent data storage units for calculating said associated redundancy blocks for storage on said second subset of said plurality of failure independent data storage units.
-
-
58. The fault tolerant storage subsystem of claim 57 wherein said associated redundancy blocks stored on said second subset of said plurality of failure independent data storage units are computed based upon said data blocks in said first subset of said plurality of failure independent data storage units.
-
59. A method for increasing performance of a fault tolerant storage subsystem comprising the steps of:
-
providing a plurality of failure independent data storage units for storing a plurality of data blocks and at least one associated redundancy block, at least one of said plurality of failure independent data storage units comprising at least one data storage unit having a Read and Write cycle time substantially lesser than a Read and Write cycle time of at least one other of said failure independent data storage units;
determining which of said plurality of data blocks and said at least one associated redundancy block are most frequently accessed during a data modification operation; and
storing said most frequently accessed ones of said plurality of data blocks and said at least one associated redundancy block on said at least one data storage unit. - View Dependent Claims (60, 61, 62, 63, 64, 65)
coupling a buffer memory between at least said solid state data storage unit and a storage controller.
-
-
62. The method of claim 59 further comprising the step of:
additionally providing at least one failure independent data storage unit coupled to at least one of said plurality of failure independent data storage units for providing further fault tolerance thereto.
-
63. The method of claim 62 further comprising the step of:
additionally providing a second storage subsystem to couple at least one additional failure independent storage unit to at least one of said plurality of failure independent data storage units for providing further fault tolerance thereto.
-
64. The method of claim 62 wherein said step of additionally providing is carried out by at least one solid state data storage unit.
-
65. The method of claim 62 wherein said step of additionally providing is carried out by at least one pair of mirrored failure independent data storage units.
Specification