STORAGE CONTROLLER, AND STORAGE DEVICE FAILURE DETECTION METHOD
First Claim
1. A storage controller which inputs/outputs data to/from a storage device in accordance with a request from a computer, comprising:
- a check data setting unit, which creates a first check data and second check data on the basis of a first data, and which associates the first check data with the first data and stores the associated first check data in a first storage area in which the first data is stored, and associates the second check data with a second data, which is associated to the first data, and stores the associated second check data in a second storage area; and
a checking unit which, if the first data is read out from the first storage area, checks whether or not the first check data read but from the first storage area matches the second check data read out from the second storage area, and which, if the first check data matches the second check data, determines that the first data is correctly read out from the first storage area, and if the first check data and the second check data do not match, detects an occurrence of a failure;
if.
5 Assignments
0 Petitions
Accused Products
Abstract
Even when a failure incapable of being detected by a single guarantee code occurs in data, a storage controller of the present invention can detect and restore this failure. The controller, upon receiving a write command from a host, establish a first data guarantee code in the write data, and establish a second data guarantee code in the parity related to the write data. Upon receiving a read command from the host, the controller determines the correctness of the data based on the first data guarantee code, and also detects the presence or absence of a failure by comparing the first data guarantee code with the second data guarantee code. When a failure is detected, the controller restores the failure on the basis of RAID technology.
32 Citations
17 Claims
-
1. A storage controller which inputs/outputs data to/from a storage device in accordance with a request from a computer, comprising:
-
a check data setting unit, which creates a first check data and second check data on the basis of a first data, and which associates the first check data with the first data and stores the associated first check data in a first storage area in which the first data is stored, and associates the second check data with a second data, which is associated to the first data, and stores the associated second check data in a second storage area; and a checking unit which, if the first data is read out from the first storage area, checks whether or not the first check data read but from the first storage area matches the second check data read out from the second storage area, and which, if the first check data matches the second check data, determines that the first data is correctly read out from the first storage area, and if the first check data and the second check data do not match, detects an occurrence of a failure;
if. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A storage device failure detection method, which detects and restores a failure of data stored in a storage device, comprising the steps of:
-
creating a first check data on the basis of a first data if the first data received from a computer is written to the storage device, associating this first check data correspondent to the first data, and storing the associated first check data in a first storage area; creating a second check data which is associated with the first check data, associating this second check data with a second data associated with the first data, and storing the associated second check data in a second storage area; checking whether or not the first check data read out from the first storage area matches the second check data read out from the second storage area if the first data is read out from the first storage area; determining that the first data was correctly read out from the first storage area if the first check data matches the second check data; detecting an occurrence of a failure if the first check data does not match the second check data. - View Dependent Claims (15, 16)
-
-
17. A storage controller which operates in accordance with a request from a computer, comprising:
-
a controller for controlling a plurality of storage devices in accordance with a request from the computer, the controller comprising; a first communication control unit for communicating with the computer; a second communication control unit for communicating with the respective storage devices which provide respective storage areas; a check data setting unit which creates a first check data and a second check data on the basis of a first data received via the first communication control unit from the computer, and which associates the first check data with the first data and stores the associated first check data via the second communication control unit in a first storage area in which the first data is stored, and associates the second check data with parity data which is created based on the first data and other first data in the same stripe, and stores the second check data via the second communication control unit in a second storage area; a checking unit which checks whether or not the first check data corresponding to the first data read out via the second communication control unit from the first storage area matches the second check data read out via the second communication control unit from the second storage area, and which, if the first check data matches the second check data, determines that the first data was read out correctly from the first storage area, and if the first check data and the second check data do not match, detects an occurrence of a failure; and a restore unit which restores the failure if the checking unit detects the failure, and which, if the failure can be restored on the basis of RAID, restores the first data, in which the failure occurred, on the basis of other first data and parity data in the same stripe, and if the failure cannot be restored on the basis of RAID, stores a new first data received from the computer in the first storage area until all new first data are assembled in the same stripe, and if all the new first data have been assembled in the same stripe, creates a new parity data on the basis of these respective first data.
-
Specification