Data storage system using 3-party hand-off protocol to facilitate failure recovery
First Claim
1. A data storage system comprising:
- a first type processing module for partially executing a first group of data storage operations;
a second type processing module for partially executing a second group of data storage operations; and
a third type processing module for partially executing a third group of data storage operations, wherein at least two of said first, second, and third type processing modules are required to cooperate in a hand-off manner to fully execute any one of said data storage operations, and wherein if an abnormal state arises when attempting to fully execute a particular data storage operation, a particular module of said first, second, and third type processing modules involved in executing said particular data storage operation detects said abnormal state and proceeds to recover from said abnormal state.
2 Assignments
0 Petitions
Accused Products
Abstract
A data storage system is disclosed in which a 3-party hand-off protocol is utilized to maintain a single coherent logical image. In particular, the functionality of the data storage system is separated into distinct processing modules. Each processing module is implemented in a distinct central processing unit (CPU). Alternatively, the first type processing module and the third type processing module can be implemented in a common CPU. Isolating the different functions of the data storage system into distinct CPUs facilitates failure recovery. A characteristic of the 3-party hand-off protocol is that, if an abnormal state occurs, a surviving module has sufficient information to proceed to recover from said abnormal state after detecting the abnormal state, without depending on a failing module, by retrying the data storage operation with another processing module or the failing module or cleaning up after the failed data storage operation, resulting in improved failure recovery.
-
Citations
24 Claims
-
1. A data storage system comprising:
-
a first type processing module for partially executing a first group of data storage operations;
a second type processing module for partially executing a second group of data storage operations; and
a third type processing module for partially executing a third group of data storage operations, wherein at least two of said first, second, and third type processing modules are required to cooperate in a hand-off manner to fully execute any one of said data storage operations, and wherein if an abnormal state arises when attempting to fully execute a particular data storage operation, a particular module of said first, second, and third type processing modules involved in executing said particular data storage operation detects said abnormal state and proceeds to recover from said abnormal state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage system comprising:
-
a) a disk drive for storing a plurality of data;
b) a first memory for storing a plurality of cache data;
c) a second memory for storing metadata associated with stored data including said cache data and said data;
d) a first type processing module for partially executing a first group of data storage operations and for handling said cache data;
e) a second type processing module for partially executing a second group of data storage operations and for managing said metadata; and
f) a third type processing module for partially executing a third group of data storage operations and for handling said data and said cache data, wherein at least two of said first, second, and third type processing modules are required to cooperate in a hand-off manner to fully execute any one of said data storage operations, and wherein if an abnormal state arises when attempting to fully execute a particular data storage operation, a particular module of said first, second, and third type processing modules involved in executing said particular data storage operation detects said abnormal state and proceeds to recover from said abnormal state. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of responding to a plurality of requests from one or more external systems received by a data storage system, comprising:
-
a) accessing each request at said data storage system comprising a first type processing module for partially executing a first group of data storage operations, a second type processing module for partially executing a second group of data storage operations, and a third type processing module for partially executing a third group of data storage operations;
b) in response to each request, fully executing a corresponding one of said data storage operations by using at least two of said first, second, and third type processing modules cooperating in a hand-off manner; and
c) if an abnormal state arises during said b), detecting said abnormal state and proceeding to recover from said abnormal state by using a particular module of said first, second, and third type processing modules involved in executing said corresponding data storage operation. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification