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, iii) a log-structured disk as a secondary level mirroring cache, and iv) a parity computation engine for determining 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 is computed based on the difference transferred from the primary storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method dramatically reduces the amount of data to be stored and transferred in a networked storage system. Preferably, the network storage system provides continued data protection through mirroring/replication, disk-to-disk backup, data archiving for future retrieval, and Information Lifecycle management (ILM). The idea is to leverage the parity computation that exists in RAID systems. By caching, transferring, and storing data parity or delta bytes of changes on a block as opposed to data block itself, substantial data reduction is possible without using sophisticated compression algorithms at the production side to minimize performance impacts upon production servers. Data can be computed using the parity/delta and previously existing data at mirror side, replication side, backup storage, or at retrieval time upon events such as failures or ILM operations.
179 Citations
21 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, iii) a log-structured disk as a secondary level mirroring cache, and iv) a parity computation engine for determining 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 is computed based on the difference transferred from the primary storage system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A storage architecture for data mirroring/replication, disk-to-disk backup, archiving, or ILM (information lifecycle management) 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 replicated to a remote site, stored in an archiving storage, or moved to an ILM storage, and iii) a parity computation engine for determining the difference; and
(c) a secondary storage system in communication with the primary storage system via the network, wherein the secondary storage system provides data mirroring storage for the primary storage system for data recovery and business continuity, a backup storage, archiving storage, or ILM storage, wherein the secondary storage system stores mirrored copy of data of the primary storage or the delta-parity of changed data blocks for saving storage space. - View Dependent Claims (7, 8, 9, 10, 11, 14)
-
-
12. 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, a RAM, and a log disk with functions for invocation by performing the steps of:
-
calculating a delta_parity;
caching the delta-parity and a data block; and
providing the delta_parity or the data block to a secondary storage system. - View Dependent Claims (13)
-
-
15. A method for asynchronous and real-time remote mirroring/replication of data, data backup, or archiving to a secondary 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, wherein calculating the difference is done by performing an EX-OR between the new parity and the old parity of a data stripe containing the data block, and the new parity is created by reading old data and the old parity, and performing an EX-OR with the changed data block; and
transferring the difference to the secondary site whenever bandwidth is available.
-
-
16. A system for storing data in a network comprising:
-
first means for calculating a delta_parity at a primary storage system;
second means for caching the delta_parity and data at the primary storage system; and
third means for transmitting the delta_parity. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification