IP Library Granted Patent US 8,108,580
Granted Patent B1
US 8,108,580 · App. 12/104,129 · Granted Jan 31, 2012

Low latency synchronous replication using an N-way router

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,108,580
App. No.
12/104,129
Granted
Jan 31, 2012
Kind
B1
Abstract

Technologies for efficient synchronous replication across heterogeneous storage nodes can provide the performance of high-speed storage units while leveraging low-cost and high-capacity backup storage units within the same system. The performance of low-cost, high-capacity hard disks may be improved by initially storing data into sequential physical locations. A sequential journal of I/Os may be used in a replicated secondary node to allow for rapid completion of I/Os. A separate background process can later scatter the sequentially logged I/O data into its proper location for storage. A programmable n-way router can be configured to route I/Os as needed to improve overall performance of the storage unit. A secondary node log device can also be used to provide continuous data protection (CDP). Lastly, packetizing together I/Os prior to delivery to a secondary node may reduce interrupts and context switches in the primary node, thereby improving performance of the storage system.

Claims (33)

1. A method for routing an Input/Output operation (I/O) to support low latency synchronous replication among heterogeneous storage nodes, the method comprising:

receiving the I/O from a source;

routing, within a primary storage node, the I/O to a first data volume manager for local storage;

routing, within the primary storage node, the I/O to a replicating module;

routing, within a secondary storage node, the I/O to a journaling module; and

routing, within the secondary storage node, the I/O from the journaling module to a second data volume manager for local storage, wherein the replicating module is operable to serialize a plurality of I/Os into a sequential journal structure prior to transmitting the sequential journal structure to the secondary storage node.

2. The method of claim 1 , wherein the primary storage node has a lower latency than the secondary storage node.

3. The method of claim 1 , wherein the primary storage node comprises an SAS hard drive and the secondary storage node comprises a SATA hard drive.

4. The method of claim 1 , wherein the replicating module is operable to packetize a plurality of I/Os into an aggregate I/O prior to transmitting the aggregate I/O to the secondary storage node.

5. The method of claim 1 , further comprising routing the I/O to a sequential log volume in response to the I/O being a sequential I/O.

6. A method for replicating an Input/Output operation (I/O) from a first storage node to a second storage node, the method comprising:

receiving the I/O at the first storage node;

processing the I/O at the first storage node to store data from the I/O in the first storage node;

replicating the I/O to the second storage node from the first storage node;

storing the operation I/O to a sequential journal in the second storage node; and

retrieving the I/O from the sequential journal to store the data from the I/O in the second storage node, wherein replicating the I/O to the second storage node comprises packetizing a plurality of I/Os into an aggregate I/O prior to transmitting the aggregate I/O to the second storage node.

7. The method of claim 6 , wherein the first storage node has a lower latency than the second storage node.

8. The method of claim 6 , wherein the first storage node comprises an SAS hard drive and the second storage node comprises a SATA hard drive.

9. The method of claim 6 , wherein replicating the I/O to the second storage node comprises serializing a plurality of I/Os into a sequential journal block prior to transmitting the sequential journal block to the second storage node.

10. The method of claim 6 , wherein retrieving the I/O from the sequential journal to store the data from the I/O in the second storage node is performed as a background operation.

11. The method of claim 6 , further comprising providing continuous data protection to the first storage node by logging, to the second storage node, a data modification made on the first storage node.

12. A non-transitory computer storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to:

determine if execution is on a primary storage node or a secondary storage node;

receive an Input/Output operation from a source;

route the I/O to a first data volume manager for local storage in response to determining that execution is on the primary storage node;

route the I/O to a replicating module in response to determining that execution is on the primary storage node;

route the I/O to a journaling module in response to determining that execution is on the secondary storage node; and

route the I/O from the journaling module to a second data volume manager for local storage in response to determining that execution is on the secondary storage node, wherein the replicating module is operable to packetize a plurality of I/Os into an aggregate I/O prior to transmitting the aggregate I/O to the secondary storage node.

13. The tangible computer storage medium of claim 12 , wherein the primary storage node has a lower latency than the secondary storage node.

14. The tangible computer storage medium of claim 12 , wherein the primary storage node comprises an SAS hard drive and the secondary storage node comprises a SATA hard drive.

15. The tangible computer storage medium of claim 12 , wherein the replicating module is operable to serialize a plurality of I/Os into a sequential journal structure prior to transmitting the sequential journal structure to the secondary storage node.

16. The tangible computer storage medium of claim 12 , wherein routing the I/O from the journaling module to the local data volume manager for local storage is performed as an asynchronous I/O.

17. The tangible computer storage medium of claim 12 , further causing the computer system to provide continuous data protection to the primary storage node by logging, to the secondary storage node, a data modification made on the primary storage node.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2008
From: CHATTERJEE, PARESH; RANGANATHAN, LOGANATHAN; BALAKRISHNAN, NARAYANAN; SUBRAMANIAN, SRIKUMAR
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 020813/0375 →