Patent ID: 7596672

Claim:
A method for mirroring data comprising: receiving at a first storage server a data access request from a client coupled to the first storage server; writing the data access request to a first non-volatile log in a first non-volatile random access memory in the first storage server, to prevent a loss of the data access request; transmitting the data access request from the first storage server to a second storage server, wherein the second storage server writes the data access request to a second non-volatile log in a second non-volatile random access memory in the second storage server and into a file stored in a mass storage device managed by the second storage server; and when the first non-volatile log in the first storage server becomes full, writing the data access request stored in the first non-volatile log to a first volume managed by the first storage server, and causing the second storage server to write the data access request stored in the file to a second volume managed by the second storage server, wherein the second volume is an image volume of the first volume, wherein the second storage server uses the file to recover data in the image volume if a disaster occurs.