Patent ID: 6901479

Claim:
A disk array apparatus with a disk array which has a redundant disk configuration composed of a plurality of disk drives and is recognized as a single logical disk drive by a host computer, the disk array apparatus comprising: an address translation table which has address translation information set therein, the address translation information being used to translate the logical address of an effective logical block used by the host computer into a physical address in the disk array in which the logical block is stored; means for updating the address translation table when the disk array is written into in stripes; means for generating a copy of the address translation table at the time of a storage capacity expanding process of expanding the storage capacity of the disk array by adding a disk drive to the disk array; a write buffer in which the data to be written into the disk array is stored temporarily and which is secured on a nonvolatile memory; means for restructuring the write buffer so that the write buffer may have a size corresponding to the stripe size after the expansion of the storage capacity of the disk array, at the time of the storage capacity expanding process; means for retrieving an effective logical address according to the copy of the address translation table; means for reading the data in a physical stripe from the disk array, the physical stripe including a data block with a physical address corresponding to the effective logical address retrieved by the retrieving means; means for storing the data in the logical blocks corresponding to all of the effective addresses included in the physical stripe read by the reading means into the restructured write buffer; and means for writing one stripe worth of data blocks corresponding to the stripe size after the expansion of the storage capacity into the disk array, the one stripe worth of data blocks including one stripe worth of logical blocks corresponding to the stripe size after the expansion of the storage capacity, and the one stripe worth of data blocks being written into an empty area different from an area in which the data to be updated has been stored, each time the one stripe worth of logical blocks of data is accumulated in the restructured write buffer.