Patent ID: 6415355
Filing Date: 2002-07-02
Classification: G06F

Abstract:
A disk array controller comprising:main control means; external input/output means for controlling input/output with an external host apparatus; disk drive input/output means for connecting a group of disk drives which form a disk array for storing data from the host apparatus; a standard bus for data transfer, to which said external and disk drive input/output means, and disk cache means are connected; a plurality of register groups each including three registers in which a block address for designating a block in a cache memory where update data transferred from the host apparatus is stored, a block address for designating a block in the cache memory where data before update read from the disk drive is stored, and a block address for designating a block in the cache memory where parity data before update are stored so as to generate parity data using the update data; and said disk cache means having said cache memory which is managed in units of blocks to temporarily store transfer data between the disk drive and host apparatus, said disk cache means including: an EX-OR circuit for EX-ORing two data bit by bit; and cache control means for, when a specific cache read command appended with a request address, which includes a register designation field for designating one of said plurality of register groups, and an intra-cache address designation field indicating an address in a block of said cache memory, is received from one of said main control means and disk drive input/output means to generate parity data in correspondence with update data transferred from the host apparatus, sequentially reading out update data, data before update, and parity data before update stored at locations designated by the intra-cache address designation field of the request address from the blocks in said cache memory indicated by contents set in the register group designated by the register designation field of the request address, and making said EX-OR circuit EX-OR the readout data, so as to generate parity data as an EX-OR of the readout update data, data before update, and parity data before update.