High reliability in storage array systems
First Claim
1. A system comprising:
- a first controller having a first timer and a first drive interface;
a second controller having a second timer and second drive interface; and
a set of dual channel drives electrically coupled to both the first drive interface and the second drive interface, wherein the first controller writes a controller status to a status area on one or more of the set of dual channels drives based on at least the first timer, and the second controller reads the status area based on at least the second timer to determine if the first controller reported operational status during a first time period of the first timer corresponding to a second time period of the second timer.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage system for providing zero data loss during failover and failback. A storage system comprises a dual controller that includes a first controller to process a first set of storage I/O operations and a first hardware timer. Redundancy is provided by a second controller that processes a second set of storage I/O operations. The second controller has a corresponding second hardware timer. Both the first controller and second controller each employ respective dual channel drive interfaces. The dual channel drives are arranged in an array. Each controller executes instructions to access at least two different portions of any one of the plurality of dual channel drives. In a failover scenario, when a controller suspects failure of a peer, a lockless signaling protocol is invoked. After a delay for a hardware timer timeout period, the protocol signals an intention to take over resources as soon as mutual exclusion is guaranteed.
-
Citations
20 Claims
-
1. A system comprising:
-
a first controller having a first timer and a first drive interface; a second controller having a second timer and second drive interface; and a set of dual channel drives electrically coupled to both the first drive interface and the second drive interface, wherein the first controller writes a controller status to a status area on one or more of the set of dual channels drives based on at least the first timer, and the second controller reads the status area based on at least the second timer to determine if the first controller reported operational status during a first time period of the first timer corresponding to a second time period of the second timer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
writing a controller state to a status area on one or more of a set of dual channel drives based on at least a first timer by a first controller having a first drive interface electrically coupled to the set of dual channel drives; reading a controller state from the status area on one or more of the set of dual channel drives based on at least a second timer by a second controller having a second drive interface electrically coupled to the set of dual channel drives; and determining if the first controller reported operational status during a first time period of the first timer corresponding to a second time period of the second timer. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor performs a set of acts comprising:
-
writing a controller state to a status area on one or more of a set of dual channel drives based on at least a first timer by a first controller having a first drive interface electrically coupled to the set of dual channel drives; reading a controller state from the status area on one or more of the set of dual channel drives based on at least a second timer by a second controller having a second drive interface electrically coupled to the set of dual channel drives; and determining if the first controller reported operational status during a first time period of the first timer corresponding to a second time period of the second timer. - View Dependent Claims (20)
-
Specification