Each time data is written to local disk, it is also written to disk at a remote site, and the write is not considered complete until a confirmation is sent from the remote site. This ensures that the two sites are identical at all times. Should the primary disk not be able to serve a request, data can then be retrieved from the remote site. In asynchronous mirroring, writes are considered complete before the remote write is confirmed. Over time, this can cause the data to become out of sync, which heightens the potential for data loss.
While synchronous mirroring provides greater protection, it also means writes take longer. The farther away the remote site is, the longer it takes to complete the write. For this reason, asynchronous mirroring is often used when the remote site is far away.