Methods and apparatus for managing error codes for storage systems coupled with external storage systems
First Claim
Patent Images
1. A system comprising:
- a first storage system including;
a first port to receive I/O operations from host computers;
a first storage controller including a first processor and first memory; and
a plurality of first storage devices, which stores data received from said host computers, anda second storage system including;
a second port to receive I/O operations from said host computers via said first storage controller;
a second storage controller including a second processor and second memory; and
a plurality of second storage devices, which stores data received from said host computers,wherein error check codes corresponding to data stored in said plurality of second storage devices are stored in said first storage system,wherein, in response to I/O operations from said host computers to read data of a virtual volume, where the data are stored in said second storage system, check codes of the data stored are calculated and compared with corresponding error check codes for the data of the virtual volume and the corresponding error check codes are stored in said first storage system, andwherein, if the result of the comparison indicates that the check codes and corresponding error check codes match, the data stored in said second storage system are transferred to said host computers.
3 Assignments
0 Petitions
Accused Products
Abstract
A system comprising a plurality of storage systems, which uses storage devices of multiple levels of reliability. The reliability as a whole system is increased by keeping the error code for the relatively low reliability storage disks in the relatively high reliability storage system. The error code is calculated using hash functions and the value is used to compare with the hash value of the data read from the relatively low reliability storage disks.
21 Citations
15 Claims
-
1. A system comprising:
-
a first storage system including; a first port to receive I/O operations from host computers; a first storage controller including a first processor and first memory; and a plurality of first storage devices, which stores data received from said host computers, and a second storage system including; a second port to receive I/O operations from said host computers via said first storage controller; a second storage controller including a second processor and second memory; and a plurality of second storage devices, which stores data received from said host computers, wherein error check codes corresponding to data stored in said plurality of second storage devices are stored in said first storage system, wherein, in response to I/O operations from said host computers to read data of a virtual volume, where the data are stored in said second storage system, check codes of the data stored are calculated and compared with corresponding error check codes for the data of the virtual volume and the corresponding error check codes are stored in said first storage system, and wherein, if the result of the comparison indicates that the check codes and corresponding error check codes match, the data stored in said second storage system are transferred to said host computers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a first storage system including; a first port to receive I/O operations from host computers; a first storage controller including a first processor and first memory; and a plurality of first storage devices, which stores data received from said host computers, a second storage system including; a second port to receive I/O operations from said host computers via said first storage controller; a second storage controller including a second processor and second memory; and a plurality of second storage devices, which stores data received from said host computers, and a third storage system including; a third port to receive I/O operations from host computers; a third storage controller including a third processor and third memory; and a plurality of third storage devices, which stored data received from said host computers, wherein error check codes corresponding to data stored in said plurality of second storage devices are stored in said first storage system, wherein error check codes corresponding to data stored in said plurality of third storage devices are stored in said first storage system, wherein said plurality of third storage devices stores duplicate data of said plurality of second storage devices, wherein, in response to I/O operations from said host computers to read data of a virtual volume, where the data are stored in said second storage system, check codes of the data stored are calculated and compared with corresponding error check codes for the data of the virtual volume and the corresponding error check codes are stored in said first storage system, and wherein, if the result of the comparison indicates that the check codes and corresponding error check codes do not match, the data stored in said third storage system are transferred to said host computers via said third and first ports. - View Dependent Claims (8, 9)
-
-
10. A method for controlling an external storage system coupled to a first storage system comprising the steps of:
-
receiving a write I/O operation, for writing data to a virtual volume, which is sent from a host computer to said external storage via said first storage system; calculating error check codes of data to be written by the write I/O operation by a first storage controller of said first storage system; storing said error check codes to said first storage system; storing said data to be written by the write I/O operation to a volume in said external storage system; receiving a read I/O operation, for reading the data of the virtual volume, which is sent from a host computer to said external storage system via said first storage system; calculating check code of data subject to the read I/O operation by said first storage system; comparing said calculated check code with the corresponding error check codes stored in said first storage system; and transferring said data subject to the read I/O operation from said external storage system to said host computer if the result of the comparison indicates that the check codes and corresponding error check codes match. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification