Apparatus and method for data check in storage system
First Claim
1. An apparatus for data checking in a storage system which includes a plurality of storage devices, and which operates the respective storage devices in parallel, the apparatus receiving write data as data blocks each including a data of an error detecting code generated in a host device, said apparatus comprising:
- means for transferring write data to said respective storage devices in a write operation or transferring read data therefrom in a read operation;
means for checking data in the storage system, said data checking means being operative to execute both a write data checking process when the write data are transferred to said respective storage devices in said write operation, and a read data checking process that will be executed in said read operation;
first data transfer paths for transferring said write data;
second data transfer paths for transferring said read data, and wherein said data checking means is operative to execute the write data checking process by utilizing said second data transfer paths, which are out of use during said write operation, as well as said first data transfer paths;
means for checking and storing the data of error detecting codes from said host device;
means for dividing said data blocks so as to be written in said plurality of storage devices simultaneously;
means for combining said data transferred to said second data transfer paths into data which are to be transferred to said host device;
means for generating data of an error detecting code again for said host device for each of said combined data; and
means for comparing each of the data of error detecting codes generated again for said host device, with each of the data of error detecting codes stored previously, so as to check whether or not said two kinds of data correspond to each other and to check whether or not said write data have been correctly written in said respective storage devices.
1 Assignment
0 Petitions
Accused Products
Abstract
In an apparatus and method for data checking in a storage system such as a disk array system which includes a plurality of storage devices, the write data have error detecting codes for a host device thereof checked and stored in a register unit, the write data are divided, error detecting codes for storage devices are generated, and the write data are written in the storage devices are simultaneously transferred through paths used for the read data. The write data are combined into host data, error detecting codes for the host device are generated, and the generated codes are compared with the codes stored in the register unit so as to check whether they correspond to each other. Alternatively, the read data have error detecting codes for the storage devices thereof checked and stored in a register unit. In that case the read data are combined into host data to be transferred through the host device, the combined data is transferred through the paths used for the write data, the data are divided into storage device data, error detecting codes for storage devices are generated, and the generated codes are compared with the codes stored in the register unit so as to check whether they correspond to each other.
-
Citations
12 Claims
-
1. An apparatus for data checking in a storage system which includes a plurality of storage devices, and which operates the respective storage devices in parallel, the apparatus receiving write data as data blocks each including a data of an error detecting code generated in a host device, said apparatus comprising:
-
means for transferring write data to said respective storage devices in a write operation or transferring read data therefrom in a read operation; means for checking data in the storage system, said data checking means being operative to execute both a write data checking process when the write data are transferred to said respective storage devices in said write operation, and a read data checking process that will be executed in said read operation; first data transfer paths for transferring said write data; second data transfer paths for transferring said read data, and wherein said data checking means is operative to execute the write data checking process by utilizing said second data transfer paths, which are out of use during said write operation, as well as said first data transfer paths; means for checking and storing the data of error detecting codes from said host device; means for dividing said data blocks so as to be written in said plurality of storage devices simultaneously; means for combining said data transferred to said second data transfer paths into data which are to be transferred to said host device; means for generating data of an error detecting code again for said host device for each of said combined data; and means for comparing each of the data of error detecting codes generated again for said host device, with each of the data of error detecting codes stored previously, so as to check whether or not said two kinds of data correspond to each other and to check whether or not said write data have been correctly written in said respective storage devices. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus for data checking in a storage system which includes a plurality of storage devices, and which operates the respective storage devices in parallel, and which transfers write data to said respective storage devices in a write operation or transfers read data therefrom in a read operation, wherein said apparatus receives said read data as data blocks each including a data of an error detecting codes read from said respective storage devices, said apparatus comprising;
-
first data transfer paths for transferring said write data; second data transfer paths for transferring said read data, wherein said apparatus is operative to execute the read data check processing by utilizing said first data transfer paths, which are out of use during said read operation, as well as said second data transfer paths; means for checking and storing the data of error detecting codes for said respective storage devices; means for combining said data blocks into data which are to be transferred to a host device; means for generating data of an error detecting code for said host device for each of said combined data blocks, so that said combined data blocks, to which the respectively corresponding generated data of the error detecting codes are added, can be transferred to said host device, and simultaneously transferred to said first data transfer paths; means for generating data of an error detecting code again for each of said storage devices for each of said divided data; and means for comparing each of the data of error detecting codes generated again for each of said storage devices, with each of the data of error detecting code stored previously, so as to check whether or not said two kinds of data correspond to each other and to check whether or not said read data have been correctly read from said respective storage devices. - View Dependent Claims (6, 7)
-
-
8. A method for data checking in a storage system which includes a plurality of storage devices, and which operates the respective storage devices in parallel, the method receiving write data as data blocks each including a data of an error detecting code generated in a host device, the method comprising the steps of;
-
transferring write data to said respective storage devices in a write operation or transferring read data therefrom in a read operation; executing a write data checking process when the write data are transferred to the respective storage devices in the write operation, and executing the same data checking process in a read operation; executing the write data checking process by utilizing second data transfer paths for transferring said read data, which are out of use during said write operation, as well as first data transfer paths for transferring said write data; checking the data of error detecting codes for said host device and storing said data in a register unit provided inside said storage system; dividing said data blocks so as to be written in said plurality of storage devices simultaneously; combining said data transferred to said second data transfer paths into data which are to be transferred to said host device; generating data of an error detecting code again for said host device for each of said combined data; and comparing each of the data of error detecting codes generated again for said host device, with each of the data of error detecting codes stored in said register unit, so as to check whether or not said two kinds of data correspond to each other and to check whether or not said write data have been correctly written in said respective storage devices. - View Dependent Claims (9, 10)
-
-
11. A method for data checking in a storage system which includes a plurality of storage devices, and which operates the respective storage devices in parallel, said method comprising the steps of:
-
transferring write data to said respective storage devices in a write operation or transferring read data therefrom in a read operation, wherein said method receives said read data as data blocks each including a data of an error detecting codes lead from said respective storage devices; executing the read data checking process by utilizing first data transfer paths for transferring said write data, which are out of use during said read operation, as well as second data transfer paths for transferring said read data; checking the data of error detecting codes for said respective storage devices, and storing said data in a register unit provided inside said storage system; combining said data blocks into data which are to be transferred to a host device; generating data of an error detecting code for said host device for each of said combined data blocks, so that said combined data blocks, to which the respectively corresponding generated data of the error detecting codes are added, can be transferred to said host device, and simultaneously transferred to said first data transfer paths; generating data of an error detecting code again for each of said storage devices for each of said divided data; and comparing each of the data of error detecting codes generated again for said each of storage devices, with each of the data of error detecting codes stored in said register unit, so as to check whether or not said two kinds of data correspond to each other and to check whether or not said read data have been correctly read from said respective storage devices. - View Dependent Claims (12)
-
Specification