Dual cast mirroring from host devices
AssigneeEMC IP Holding Company LLC
InventorsJason J Duquette, James M Guyer, Thomas Mackintosh, Earl Medeiros
Life of this patent
Estimating the term…
Abstract
Mirrored volatile memory in a storage system is configured with a dual cast region of addresses. Buffers in the dual cast region are allocated for data associated with a received Write IO. A host IO device associates the dual cast addresses with the data. A switch or CPU complex recognizes the dual cast addresses associated with the data and, in response, creates and sends a first copy of the data to a first volatile memory mirror and creates and sends a second copy of the data to a second volatile memory mirror. The second copy may be sent via PCIe NTB between switches or CPU complexes.
Claims20
A storage system comprising:
- a first compute node comprising at least one processor;
- a first mirrored volatile memory in communication with the first compute node;
- a second compute node comprising at least one processor, the second compute node configured in a failover relationship with the first compute node;
- a second mirrored volatile memory in communication with the first compute node and configured to mirror the first volatile memory;
- a host IO device in communication with a host and the first compute node;
- and
- dual casting logic configured to create and send a first copy of data associated with a write command to the first mirrored volatile memory and send a second copy of the data to the second mirrored volatile memory before the first copy of the data is written to the first mirrored volatile memory and without reading the data from either the first mirrored volatile memory or the second mirrored volatile memory.
A mirroring method implemented in a storage system that includes a first compute node, a first mirrored volatile memory in communication with the first compute node, a second compute node configured in a failover relationship with the first compute node, a second mirrored volatile memory in communication with the first compute node and configured to mirror the first mirrored volatile memory, and a host IO device in communication with a host and the first compute node, the method comprising:
- allocating buffers in a region of dual cast addresses of the first mirrored volatile memory and the second mirrored volatile memory;
- associating the dual cast addresses with received Write IO data;
- and
- responsive to recognition that the data is associated with dual cast addresses, creating and sending a first copy of the data to the first mirrored volatile memory and creating and sending a second copy of the data to the second mirrored volatile memory before the first copy of the data is written to the first volatile memory and without reading the data from either the first mirrored volatile memory or the second mirrored volatile memory.
A non-transitory computer-readable storage medium storing instructions that when executed by a storage system cause the storage system to perform a method for mirroring, the method comprising:
- allocating buffers in a region of dual cast addresses of a first mirrored volatile memory and a second mirrored volatile memory configured to mirror the first mirrored volatile memory;
- associating the dual cast addresses with received Write IO data;
- and
- responsive to recognition that the data is associated with dual cast addresses, creating and sending a first copy of the data to the first mirrored volatile memory and creating and sending a second copy of the data to the second mirrored volatile memory before the first copy of the data is written to the first mirrored volatile memory and without reading the data from either the first mirrored volatile memory or the second mirrored volatile memory.
Dependencies are inferred from the claim text.