Patent ID: 7467169

Claim:
A method of mirroring data, comprising the steps of: in a first receiving step, receiving, at least one data write request at a source storage server; storing, in a first cache on said source storage server, said at least one data write request received in said first receiving step; writing, by said source storage server into at least one first log file of a plurality of log files on a destination storage server, information about said at least one data write request received in said first receiving step; in at least one cache flush operation performed on said source storage server, flushing said first cache on said source storage server, and, responsive to receiving at least one next data write request at said source storage server, beginning to write information about said at least one next data write request into at least one second log file of said plurality of log files on said destination storage server by said source storage server, wherein, each time said first cache is flushed, said source storage server begins writing information about at least one next data write request to a different one of said plurality of log files on said destination storage server; in a second receiving step, receiving at least one data write request at said destination storage server; storing, in a second cache on said destination storage server, said at least one data write request received in said second receiving step; in at least one cache flush operation performed on said destination storage server, flushing said second cache on said destination storage server; and responsive to said flushing of said second cache, performing one of deallocating and overwriting said at least one first log file, wherein a total number of said plurality of log files on said destination storage server is greater than or equal to a number of cache flush operations performed on said source storage server between cache flush operations performed on said destination storage server.