Redundant array of disks with improved data reconstruction
AssigneeMitsubishi Denki Kabushiki Kaisha
InventorsToshio Matsumoto, Hiroshi Baba, Kazuhiko Itoh, Shiro Ogura
Life of this patent
Estimating the term…
Abstract
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.
Claims10
A method of replacing faulty disks in a redundant array of disks having a standby disk, comprising the steps of:
- partitioning each disk in said redundant array into areas so that a disk in said redundant array includes a first area and a second area, and indicating in a usage status table that the first area and the second area of the disk are not in use;
- storing data in the first area, and updating the usage status table to indicate that the first area is in use and that the second area remains not in use;
- detecting failure of the disk that includes the first and second areas;
- determining that the first area was in use on the disk that failed and that the second area was not in use on the disk that failed according to the usage status table;
- reconstructing data of the first area which was determined to be in use on the disk that failed by reading data and check information from other disks in the redundant array, without reconstructing data of the second area which was determined not to be in use;
- and
- writing the data thus reconstructed on said standby disk.
A redundant array of disks, comprising:
- a plurality of disks partitioned into areas, certain areas being designated as data areas for storing data, and certain areas being designated as check areas for storing check information of corresponding data areas on different disks;
- a first semiconductor memory for storing new data received from a host computer;
- a second semiconductor memory for storing a usage status table indicating, for each disk in said redundant array, which areas are in use and which are not in use;
- a microprocessor coupled to said plurality of disks, said first semiconductor memory, and said second semiconductor memory, programmed to choose selected data areas for storing said new data, write said new data on said selected data areas, and write new check information on corresponding check areas;
- and
- a check processor coupled to said microprocessor, for generating said new check information from said new data, and from old data and old check information read from said disks as necessary according to information in said usage status table, said new check information pertaining only to areas indicated by said usage status table to be in use.
Dependencies are inferred from the claim text.