Disk array controller having distributed parity generation...

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S006130, C711S114000

Reexamination Certificate

active

06701452

ABSTRACT:

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 11-217146, filed Jul. 30, 1999, the entire contents of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION
The present invention relates to a disk array controller for controlling access to a disk array comprised of a plurality of disk drives and, more particularly, to a disk array controller having a distributed parity generation function.
A disk array system known as an external storage system comprising a plurality of disk drives and a disk array controller for controlling access to the disk drives. In this system, to shorten the access period, the disk array controller accesses each disk device in parallel.
The disk array controller generates parity data by exclusive OR operation for reconstructing data from host computer and stored the parity data in a disk drive or disk drives.
When one of the disk devices has failed, the disk controller reconstructs the data on that disk device by exclusive OR operation using the parity data and the data from remaining disk devices.
A RAID (Redundant Arrays of Inexpensive Disks) is known as a data redundancy system using a parity data or the like. The RAID system is characterized in various architectures. Some popular RAID architectures are RAID3 and RAID5.
A RAID3 architecture suitable for sequential access (or a job requiring sequential access) is for transferring a large amount of data. A RAID5 architecture suitable for random access (or a job requiring random access) is for frequently read/write-accessing a small amount of data.
A disk array controller generally includes a cache memory (disk cache) for temporarily storing transfer data between a disk drive and a host computer.
With the above arrangement, when data to be read out is stored in the cache memory, the data can be accessed from this cache memory at high speed without accessing disk drives (accompanying mechanical access operation) regardless of the RAID level such as RAID3 or RAID5.
In the RAID3, update data transferred from the host computer is segmented, and the segmented update data are exclusively ORed to generate an update parity.
In the RAID5, update data transferred from the host computer, data prior to updating and stored in a disk drive area serving as the storage destination of the update data, and parity (parity data) prior to updating and stored in another disk drive area corresponding to the storage destination of the update data are exclusively ORed to generate an update parity.
In a conventional disk array controller, a single dedicated circuit or software (firmware program in the controller) generally generates the update parity described above.
According to this conventional parity generation technique, however, parity data cannot be executed in parallel, and data update processing or data restoration (data reconstruction) processing caused by the failure of a disk drive is time-consuming.
BRIEF SUMMARY OF THE INVENTION
The present invention has been made in consideration of the above situation, and has as its object to provide a disk array controller wherein parity generation is distributed in units of stripes, and parity data are generated by a plurality of parity generators in parallel to allow an increase in speed in data update processing and then data restoration processing caused by the failure of a disk drive.
According to the present invention, there is provided a disk array controller for controlling access to a disk array made up of a plurality of disk drives which store data, transferred from a host computer, to be distributed in units of strips forming stripes, comprising: a plurality of disk cache means arranged in units of striping groups each made up of predetermined stripes, wherein each of the plurality of disk cache means comprises a cache memory for temporarily storing in units of blocks stripes belonging to a corresponding striping group and a parity generator having an exclusive OR operation function of generating parity data for an externally designated stripe in units of blocks; and main controller for determining disk cache memory unique to a striping group to which the stripe serving as a parity generation target belongs, and causing a parity generator in the corresponding disk cache memory to read, via the cache memory in the determined disk cache memory, block data necessary for generating updated parity data for the stripe in units of blocks, thereby generating the corresponding parity data by the corresponding parity generator.
Parity data are generated by cache memories and parity generators (i.e., disk cache means having the parity generators) different in units of striping groups made up of predetermined stripes. The parity data can be generated in parallel for a plurality of stripes.
Letting i be the identification number of the strip as the parity generation target, and N be the number of disk cache means, the disk cache means unique to the striping group represented by a remainder of i/N is used. Assume that the number of stripes serving as the parity generation targets is N. In this case, when the striping groups to which the N stripes belong are different from each other, the parity data for the N stripes can be generated in parallel using different cache disk means.
This arrangement can be applied when one of the plurality of disk drives has failed and the data of the failed disk drive is restored using the data of the remaining disk drives. More specifically, when the disk cache means determined by the striping groups to which the stripes of the disk drives except the failed disk drive belong exclusively OR, in units of blocks (at identical bit positions), the strips (excluding the strips of the failed disk drive) constructing the stripes, the data can be restored in parallel using the plurality of disk cache means.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.


REFERENCES:
patent: 5522065 (1996-05-01), Neufeld
patent: 6018778 (2000-01-01), Stolowitz
patent: 6154854 (2000-11-01), Stallmo
patent: 6185697 (2001-02-01), Shiraishi
patent: 6237052 (2001-05-01), Stolowitz
patent: 6256749 (2001-07-01), Kakuta et al.
patent: 6397347 (2002-05-01), Masuyama et al.
patent: 6415355 (2002-07-01), Hirofuji
patent: 6421760 (2002-07-01), McDonald et al.
patent: 6463505 (2002-10-01), Katsuragi et al.
patent: 6480969 (2002-11-01), Hitz et al.
patent: 6523087 (2003-02-01), Busser
patent: 6553509 (2003-04-01), Hanson et al.
patent: 6601138 (2003-07-01), Otterness et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Disk array controller having distributed parity generation... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Disk array controller having distributed parity generation..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Disk array controller having distributed parity generation... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3229052

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.