Claims
- 1. A data storage subsystem comprising:
- a plurality of data storage elements;
- a plurality of cluster controllers each connected to a subset of said plurality of data storage elements for storing information;
- means within at least one of said plurality of cluster controllers for controlling a first level redundancy group, wherein said first level redundancy group consists of the connected subset of data storage elements, and wherein N of said data storage elements of said connected subset are used by the connected cluster controller to store data, and wherein M of said data storage elements of said connected subset are used by the connected cluster controller to store redundancy information, and wherein at least one of said connected subset of data storage elements is used by the connected cluster controller as a spare data storage element;
- first level correction means within each of said at least one of said plurality of cluster controllers for correcting errors detected in said first level redundancy group by using data and redundancy information stored in said data storage elements of said connected subset;
- an array controller connected to said plurality of cluster controllers for controlling a second level redundancy group, wherein said second level redundancy group consists of said plurality of cluster controllers, wherein N of said plurality of cluster controllers are used by said array controller to store data, wherein M of plurality of cluster controllers are used by array controller to store redundancy information, and wherein at least one of said plurality of cluster controllers is used by array controller as a spare cluster controller; and
- second level correction means within said array controller for correcting errors detected in said second level redundancy group by using data and redundancy information stored in said plurality of cluster controllers.
- 2. The data storage subsystem of claim 1 wherein said first level correction means includes:
- means for determining that an error detected in said first level redundancy group corresponds to a failed data storage element;
- rebuild correction means, responsive to a determination that said errors do not correspond to a failed data storage element, for correcting errors detected in said first level redundancy group by rebuilding data corresponding to said detected errors; and
- replacement correction means, responsive to a determination that said errors correspond to a failed data storage element, for correcting errors detected in said first level redundancy group by replacement of said failed data storage element with a spare data storage element from said first level redundancy group and rebuilding of data on said spare data storage element.
- 3. The data storage subsystem of claim 1 wherein said second level correction means includes:
- means for determining that an error detected in said second level redundancy group corresponds to a failed cluster controller;
- rebuild correction means, responsive to a determination that said errors do not correspond to a failed cluster, for correcting errors detected in said second level redundancy group by rebuilding data corresponding to said detected errors; and
- replacement correction means, responsive to a determination that said errors correspond to a failed cluster controller, for correcting errors detected in said second level redundancy group by replacement of said failed cluster controller with a spare cluster controller from said second level redundancy group and rebuilding of data on said spare cluster controller.
Parent Case Info
This application is a file wrapper continuation of application Ser. No. 08/194,480, filed Feb. 10, 1994, now abandoned.
US Referenced Citations (9)
Foreign Referenced Citations (3)
Number |
Date |
Country |
0450801 |
Mar 1991 |
EPX |
0481759 |
Oct 1991 |
EPX |
0521630 |
Jun 1992 |
EPX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
194480 |
Feb 1994 |
|