Patent ID: 8285956

Claim:
A non-transitory computer-readable storage medium comprising program instructions for replicating data, wherein the program instructions are executable to: receive a write request to write data to a location in a volume; store metadata associated with the write request; maintain information indicating locations of earlier write requests to the volume that have not yet been replicated to a secondary storage; determine if the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume that have not yet been replicated to the secondary storage; store the data in a replication log in response to determining that the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume; wherein the data is not stored in the replication log in response to determining that the write request does not overlap with one or more locations indicated by the information indicating locations of earlier write requests to the volume; write the data to the location in the volume in response to the write request; and periodically replicate changes to the volume to the secondary storage using the replication log.