US 7,603,529 B1
Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
Earle MacHardy, Durham, N.C. (US); David Harvey, Newton, Mass. (US); and Dennis Duprey, Raleigh, N.C. (US)
Assigned to EMC Corporation, Hopkinton, Mass. (US)
Filed on Mar. 22, 2006, as Appl. No. 11/387,129.
Int. Cl. G06F 12/02 (2006.01); G06F 12/16 (2006.01)
U.S. Cl. 711—162  [711/114; 711/170; 707/204] 43 Claims
OG exemplary drawing
 
22. A system for mapped logical unit (MLU) replication, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment, the system comprising:
(a) a first data storage extent pool representing at least a portion of a RAID array and including at least one data storage extent;
(b) a replica vault including a second data storage extent pool including at least one data storage extent and representing at least a portion of a RAID array; and
(c) a first mapped logic unit (MLU) for dynamically allocating contiguous or non-contiguous data storage extents in a data storage extent pool, wherein the first MLU is adapted to:
(i) allocate, in response to a data write operation, a first data storage extent from the first data storage extent pool;
(ii) store data associated with the first data write operation in the first data storage extent; and
(iii) replicate the first MLU to create a second MLU by allocating a second data storage extent in a second data storage extent pool in the replica vault and copying the data stored in the first data storage extent to the second data storage extent,
wherein, after a change to the first MLU, the replica vault is adapted to replicate the second MLU to create a third MLU by allocating a third data storage extent in the second data storage extent pool in the replica vault and storing in the third data storage extent the changed portions and not the unchanged portions of the first MLU, wherein the second MLU and the third MLU both point to the data storage extent in the second data storage extent pool that contains unchanged portions of the data from the first write operation.