Patent ID: 8234542

Claim:
A storage controller adapted to control input and output of data between a storage apparatus handling the data by a first block and a host computer handling the data by the first block, the storage controller comprising: a first communication control device adapted to transmit and receive the data with the host computer; an address data appending device adapted, with respect to the data, which is received by the first communication control device, and composed of one or more said first blocks, to append predetermined address data generated based on a logical address of each of the first blocks to said each of the first blocks, thereby generating data composed of one or more second blocks with a size larger than the size of the first block as much as the size of the predetermined address data; a memory device adapted to store the data composed of the second blocks appended with the predetermined address data; a second communication control device adapted to store the data, which is received from the memory device, in the storage apparatus, and to transfer the data, which is read out from the storage apparatus, to the memory device; and a checking device adapted to check correspondence between the logical address and the address data, wherein the second communication control device, when transferring the data from the memory device to the storage apparatus, generates another logical address different from the logical address of each of the first blocks based on a predetermined rule, makes said another logical address correspond to each of the second blocks of the data received from the memory device, transfers the data, which is received from the memory device, to the storage apparatus so as to be stored in the storage apparatus at a position corresponding to said another logical address, and stores correspondence between the logical address and said another logical address in a management table, wherein the checking device, when transferring the data from the storage apparatus to the memory device, based on the correspondence obtained from the management table, reads out the data composed of the second blocks from the storage apparatus at the position corresponding to said another logical address, compares the logical address corresponding to each of the second blocks and the address data included in each of the second blocks with respect to the data composed of the second blocks and read out from said another logical address, transfers the data from the storage apparatus to the memory device in the case in which the logical address and the address data match with each other, and detects occurrence of an error in the case in which the logical address and the address data fail to match with each other, and wherein the predetermined rule includes dividing the data composed of the second blocks at a divisional position designated, and counterchanging the order of the divided data.