In a redundant array of disks, the disks are divided into areas of different sizes, so that small amounts of data can be stored in an area of an appropriate size on a single disk, instead of being spread over multiple disks. A usage status table indicates which areas are in use. Check information is generated and stored only for areas indicated to be in use. When new check information is generated, it is therefore possible to omit the reading of unnecessary old data and old check information. When a disk fails and is replaced with a standby disk, only the data in areas indicated to be in use are reconstructed. Check information can be stored on a solid-state disk.
This application is a division of application Ser. No. 08/110,423, filed Aug. 23, 1993, entitled REDUNDANT ARRAY OF DISKS WITH IMPROVED STORAGE AND RECOVERY SPEED and now U.S. Pat. No. 5,517,632.
A data processing system incorporating the invention hereof, includes a host processor or server, connected to an array of disk drives which are further interconnected via a network. Each disk drive is logically divided into plural logical memory segments and, in the preferred embodiment, corresponding logical memory segments in each disk drive are arranged as a parity set in a RAID fashion. The host processor includes a driver which generates read and write commands to the array of disk drives. The commands include addresses which are in accord with ranges of addresses assigned to logical memory segments in each disk drive. Each disk drive stores an array configuration page which includes data that identifies a logical memory segment size; a first identifier for the disk drive that incorporates the respective memory segment; and a second identifier for the last disk drive which stores parity for the parity set including the logical memory segment. Each disk drive includes a controller for determining from the logical memory segment size and the second identifier, which logical memory segment in the respective memory stores parity data. The controller responds to an address accompanying a read or write command by mapping the address to a logical memory segment, other than the logical memory segment in the respective memory which stores parity data. Further, the controller, upon performing a write action to a logical memory segment, communicates directly with the disk drive that stores parity for the parity set of which the logical memory segment is a part and causes an update of that parity segment in accordance with the write action.
An apparatus, system, and method are disclosed for rebuilding only changed stripes of an offline member disk in a RAID array that is configured with redundancy and no hot standby disk. A work-in-progress ("WIP") map tracks the changed stripes of the offline member disk prior to a reactivation and records the completion of the differential rebuilding ("DR") process on the stripes. The DR process shortens the duration of a degraded mode of operation entered into by a logical drive formed when the RAID array experiences a member disk failure that results in one member disk being designated as offline.
A computer storage system includes a controller and a storage device array. The storage device array may include a first sub-array and a fast storage device sub-array. The first sub-array includes one or more first storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.
A disk array storage system and error recovery method wherein recovery from disk errors is achieved using automated selective power cycling. Initially, identification is made of a faulty disk drive in the array that exhibits an error condition in which the drive fails to perform a requested operation. The faulty disk drive is selectively power cycled while power to other disk drives in the array is maintained. Following the power cycling sequence, the requested operation is retried.
A computer storage system includes a controller and a storage device array. The storage device array may include a first sub-array and a fast storage device sub-array. The first sub-array includes one or more first storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.