Storage controller redundancy using packet-based protocol to transmit buffer data over reflective memory channel
Abstract
A bi-directional reflective memory channel between a pair of storage controllers is used to maintain a mirrored copy of each storage controller's native buffer contents within the buffer of the other storage controller. To maintain such mirrored copies, buffer write operations that fall within a reflective memory segment of one storage controller are automatically reflected across this channel to the other storage controller for execution, and vice versa. The write operations are preferably transmitted across the reflective memory channel using a protocol that provides for error checking, acknowledgements, and retransmissions. This protocol is preferably implemented entirely in automated circuitry, so that the mirrored copies are maintained without any CPU intervention during error-free operation. When a failover occurs, the surviving storage controller uses the mirrored copy of the failed storage controller's native buffer contents to assume control over the failed storage controller's disk drives.
Claims
exact text as granted — not AI-modified1 . A method of maintaining a redundant copy of buffer contents of a first storage controller within a buffer of a second storage controller, the method comprising:
with the first storage controller:
accumulating buffer write data of first storage controller within at least one first-in-first-out buffer of the first storage controller, said buffer write data specifying storage operations;
packetizing accumulated buffer write data stored in the at least one first-in-first-out buffer to generate packets, said packets including error checking codes; and
transmitting the packets to the second storage controller over a reflective memory channel;
with the second storage controller:
receiving and error checking the packets transmitted by the first storage controller on the reflective memory channel;
transmitting packet acknowledgement data to the first storage controller over the reflective memory channel; and
writing the buffer write data contained in successfully received packets to a buffer of the second storage controller.
2 . The method of claim 1 , wherein the method is implemented entirely within automated circuitry of the first and second storage controllers.
3 . The method of claim 1 , wherein the method is performed by automated hardware without CPU intervention.
4 . The method of claim 1 , further comprising concurrently performing the method with roles of the first and second storage controllers reversed, such that each storage controller maintains a redundant copy of native buffer contents of the other storage controller.
5 . The method of claim 1 , wherein the buffer write data specifies the storage operations in accordance with the iSCSI protocol.
6 . The method of claim 1 , wherein the packets further include buffer metadata descriptive of reflected buffer data.
7 . The method of claim 1 , wherein the packets are transmitted to the second storage controller over the reflective memory channel at a rate of at least ten gigabits per second.
8 . A storage system that operates according to the method of claim 1.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.