Patent ID: 7822715

Claim:
A method for mirroring data and preparing for failover, comprising: intercepting a first data operation with a kernel module in a first storage unit prior to processing by the first storage unit and logging the first data operation in a buffer on a card with a central processing unit on the first storage unit when the first data operation modifies data in the first storage unit; executing the first data operation on a first storage array in the first storage unit; when the first data operation modifies data in the first storage unit: transmitting the first data operation to a second storage unit from the buffer when the first data operation modifies data in the first storage unit, executing the first data operation on a storage array in the second storage unit, and receiving a confirmation from the second storage unit that the first data operation has been executed; intercepting a second data operation with the kernel module and logging the second data operation in the buffer when the second data operation modifies data in the first storage unit; and executing a subsequent data operation on the first storage array in the first storage unit; wherein the buffer and the first storage array in the first storage unit provide two discrete communication paths for data operations to travel where one communication path is between the kernel module through the buffer on the first storage unit to the second storage unit and the second communication path is from the kernel module to the first storage array, wherein the communication path between the kernel module and the buffer is on a dedicated connection isolated from the second communication path.