Patent ID: 6886068
Filing Date: 2005-04-26
Classification: G06F

Abstract:
1. A disk array apparatus including a disk array constituted by a plurality of disk drives, and wherein data designated by a write request supplied from a host computer is divided into blocks and accumulated in a write buffer, a one-data-stripe data block including logical blocks corresponding to one data stripe is written in physically-consecutive areas of free areas that are different from areas in which to-be-updated data in the disk drives of the disk array is stored, the one-data-stripe data block being written when data containing logical blocks corresponding in number to the one data stripe is accumulated in the write buffer, and the disk drives are accessed, referring to an address translation table used for translating logical addresses into physical addresses, said disk array apparatus comprising: tag generation means for generating logical address tag blocks containing logical addresses corresponding to all logical blocks included in the data blocks corresponding to one data stripe written in the disk array; a tag buffer for storing the logical address tag blocks generated by the tag generation means; parity generation means for, when the disk array is configured to use parity data and logical address tag blocks of stripe units which are smaller in number than the disk drives constituting the disk array by one are stored in said tag buffer, generating parity data containing parity blocks of one stripe unit on the basis of the logical address tag blocks corresponding to the stripe units; storage means for collectively storing (i) one-stripe-unit parity data generated by the parity generation means and (ii) one-logical-address-tag-stripe data blocks containing logical address tag blocks of stripe units which are smaller in number than the disk drives constituting the disk array by one and which are stored in said tag buffer, said one-stripe-unit parity data and said one-logical-address-tag-stripe data blocks being collectively stored in physically consecutive blocks of the disk drives constituting the disk array, the physically consecutive blocks being included in the logical address tag block areas of the disk array; acquiring means for, when the logical address tag blocks of one logical address tag stripe have not been stored in the tag buffer after a predetermined time, acquiring parity block data from the logical address tag stripe of the logical address tag blocks corresponding to new logical address tag blocks, the parity block data being acquired by using the logical address tag blocks stored in the tag buffer until the predetermined time as the new logical address tag blocks; new parity generation means for generating new parity block data on the basis of the parity block data acquired by the acquiring means and data on the new logical address tag blocks; and update means for updating data of the logical address tag stripe corresponding to the new logical address tag blocks and included in the logical address tag block area of the disk array on the basis of the data of the logical address tag blocks and the new parity block data generated by the new parity block generation means.