Patent ID: 7653831
Filing Date: 2010-01-26
Classification: G06F

Abstract:
1. A storage system having a storage apparatus that provides a storage extent for reading and writing data from and in a host system, and a storage controller for controlling said storage apparatus, comprising: a first generation unit for generating a guarantee number which guarantees the reliability of data to or from a host system to be stored in said storage apparatus; a second generation unit for generating a guarantee number which guarantees the reliability of parity data corresponding to data from said host system; and a verification unit for verifying the guarantee number which guarantees the reliability of data to or from said host system and the guarantee number which guarantees the reliability of said parity data, wherein upon a microprocessor, included in a disk adapter of said storage controller, receiving a read command from a channel adapter included in said storage controller, the microprocessor issues a command to a protocol chip included in the disk adapter to set an identification (ID), Logical Block Address (LBA) and transfer size of partitioned host data of a hard disk drive stored in the partitioned host data, wherein the microprocessor thereafter sets the LBA and transfer size of a cache memory as a transfer destination of the partitioned host data in a data transfer unit, wherein according to a command from the microprocessor, a protocol chip included in the disk adapter sets the ID, LBA and transfer size of the partitioned host data of the hard disk drive, and thereafter reads the partitioned host data and transfers the ID, LBA and transfer size of the partitioned host data to the data transfer unit, wherein the data transfer unit transfers the partitioned host data to the address of the cache memory, wherein the microprocessor issues a command to another microprocessor to read parity data from the hard disk drive and transfer the parity data to the cache memory, wherein the another microprocessor reads the parity data from the hard disk drive and transfers the parity data to the cache memory, wherein the microprocessor determines, based on the command, whether the parity data was transferred and read into the cache memory, and when the microprocessor determines that such parity data was not read into the cache memory, the microprocessor waits for the parity data to be read into the cache memory, wherein, when the microprocessor determines, based on the command, that the parity data has been read into the cache memory, the microprocessor issues a command to the verification unit to read the partitioned host data and the parity data from the cache memory into the disk adapter, wherein when the partitioned host data and the parity data are read into the disk adapter, the microprocessor issues a command to the verification unit to verify the guarantee code of the partitioned host data and the guarantee code of the parity data, wherein the microprocessor refers to a Redundant Array of Independent Disks (RAID) group information table in a configuration information area of a shared memory, and sets the number of hard disk drives configuring the RAID group in the verification unit, wherein the verification unit, according to a verify command from the microprocessor, verifies the guarantee code of the partitioned host data and the guarantee code of the parity data, and reports a result of the verification to the microprocessor, wherein when the microprocessor receives the verification result from the verification unit, the microprocessor determines based on the verification result whether the guarantee code of the partitioned host data and the guarantee code of the parity data coincides or not, wherein when the microprocessor determines that the guarantee code of the partitioned host data and the guarantee code of the parity data do not coincide, the microprocessor determines that one of the data is not guaranteed, and executes comparison abnormality processing, wherein when the microprocessor determines that the guarantee code of the partitioned host data and the guarantee code of the parity data coincide, the microprocessor sets a message indicating that the reading from the hard disk drive is complete in the message information table of the shared memory.