Data replication method over a limited bandwidth network by mirroring parities
First Claim
1. A storage architecture for mirroring data comprising:
- (a) a network;
(b) a primary storage system for serving storage requests, wherein the primary storage system has i) a central processing unit (CPU), ii) a random access memory (RAM) operatively connected to the CPU and segmented into a parity cache for storing a difference between an old parity and a new parity of each data block until the difference is mirrored to a remote site, and iii) a parity computation engine for determing the difference; and
(c) a mirror storage system in communication with the primary storage system via the network, wherein the mirror storage system provides data mirroring storage for the primary storage system for data recovery and business continuity, wherein the mirror storage system stores a mirrored copy of data of the primary storage system that iscomputed based on the difference transferred from the primary storage system.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage architecture provides efficient remote mirroring of data in RAID storage or like to a remote storage through a network connection. The storage architecture mirrors only a delta_parity. A parity cache keeps the delta_parity of each data block until the block is mirrored to the remote site. Whenever network bandwidth is available, the parity cache performs a cache operation to mirror the delta_parity to the remote site. If a cache miss occurs, i.e. the delta_parity is not found in the parity cache, computation of the data parity creates the delta_parity. For RAID architectures, reading old data and old parity is a necessary step of computing new parity for every write operation. Thus, no additional operation is needed to compute the delta_parity for mirroring. At the remote site, the delta_parity is used to generate the new parity and the new data using the old data and parity and, in turn, WAN traffic is substantially reduced.
128 Citations
17 Claims
-
1. A storage architecture for mirroring data comprising:
-
(a) a network;
(b) a primary storage system for serving storage requests, wherein the primary storage system has i) a central processing unit (CPU), ii) a random access memory (RAM) operatively connected to the CPU and segmented into a parity cache for storing a difference between an old parity and a new parity of each data block until the difference is mirrored to a remote site, and iii) a parity computation engine for determing the difference; and
(c) a mirror storage system in communication with the primary storage system via the network, wherein the mirror storage system provides data mirroring storage for the primary storage system for data recovery and business continuity, wherein the mirror storage system stores a mirrored copy of data of the primary storage system that iscomputed based on the difference transferred from the primary storage system. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable medium whose contents cause a computer system to perform a method for replicating, mirroring, and archiving data, the computer system having a CPU and a RAM with functions for invocation by performing the steps of:
-
calculating a delta_parity; and
providing the delta_parity to a mirror storage system. - View Dependent Claims (6, 7, 11)
-
-
8. A method for mirroring and archiving data comprising the steps of:
-
computing parity data based upon a delta_parity at a mirror storage system; and
deriving new data based upon the parity and existing data. - View Dependent Claims (9, 10)
-
-
12. A method for asynchronous and real-time remote mirroring of data to a remote storage through a limited bandwidth network connection comprising the steps of:
-
calculating a difference between an old parity and a new parity of a data block being changed; and
mirroring the difference to the remote site whenever bandwidth is available. - View Dependent Claims (13, 14)
-
-
15. A system for storing data in a network comprising:
-
first means for calculating a delta_parity; and
second means for transmitting the delta_parity. - View Dependent Claims (16, 17)
-
Specification