Efficient mechanism to replicate data for multiple controllers
First Claim
1. A method comprising:
- sending, by a host processor, a write command to a storage controller;
transferring, by the host processor, write data via a first connection to the storage controller, the write data associated with the write command;
transferring, by the host processor, an electronic copy of the write data via a second connection to a backup storage controller providing redundancy for the storage controller;
determining, by the host processor, a failure associated with the write command sent to the storage controller; and
selecting, by the host processor, the backup storage controller to provide the redundancy in response to the failure associated with the write command.
6 Assignments
0 Petitions
Accused Products
Abstract
An information handling system and method allows implementation of fault-tolerant storage subsystems using multiple storage controllers not themselves originally designed to support the redundancy of such fault-tolerant storage subsystems. In accordance with one embodiment, uncommitted data is efficiently and rapidly replicated across multiple commodity storage controllers, enabling faster and less expensive fault-tolerant storage subsystems. A redundant storage controller system using non-redundant storage controllers can improve the efficiency of data replication while providing failure protection against controller failure. A redundant storage controller system using non-redundant storage controllers and shared memory commonly accessible to the storage controllers can be enhanced to replicate data within host memory regions to protect against non-volatile memory failure. In accordance with at least one embodiment, an efficient data replication mechanism can be provided between storage controllers using off-the-shelf hardware.
-
Citations
20 Claims
-
1. A method comprising:
-
sending, by a host processor, a write command to a storage controller; transferring, by the host processor, write data via a first connection to the storage controller, the write data associated with the write command; transferring, by the host processor, an electronic copy of the write data via a second connection to a backup storage controller providing redundancy for the storage controller; determining, by the host processor, a failure associated with the write command sent to the storage controller; and selecting, by the host processor, the backup storage controller to provide the redundancy in response to the failure associated with the write command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a hardware processor; and a memory device storing instructions that when executed cause the hardware processor to perform operations, the operations including; sending a write command to a storage controller; transferring write data via a first connection to the storage controller, the write data associated with the write command; transferring an electronic copy of the write data via a second connection to a backup storage controller providing redundancy for the storage controller; determining a failure associated with the write command sent to the storage controller; and selecting the backup storage controller to provide the redundancy in response to the failure associated with the write command. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A memory device storing instructions that when executed cause a hardware processor to perform operations, the operations comprising:
-
sending a write command to a storage controller; transferring write data via a first connection to the storage controller, the write data associated with the write command; transferring an electronic copy of the write data via a second connection to a backup storage controller providing redundancy for the storage controller; determining a failure associated with the write command sent to the storage controller; and selecting the backup storage controller to provide the redundancy in response to the failure associated with the write command. - View Dependent Claims (18, 19, 20)
-
Specification