An apparatus and method provides the capability of mirroring storage from
a primary system to a mirrored system in a way that uses parallelism in
the mirrored system to maximize the efficiency of writing data to the
mirrored storage for operations that do not conflict while serializing
operations that do conflict. The mirroring of the present invention is
"logical mirroring", which does not require identical disk drives, and
which supports mirroring between geographically remote locations to
protect against catastrophic site failure. Parallelism is achieved in the
mirrored system by dividing the virtual address space into multiple
ranges, and by assigning a group of tasks to each range. When an
operation is received on the mirrored system, the virtual address range
that the operation affects is determined, and the operation is then
delegated to the task group that corresponds to the affected virtual
address range. By dividing the virtual address space into ranges, tasks
in different ranges (i.e., in different task groups) may execute in
parallel without any threat of conflict, and even tasks within the same
range may execute in parallel if they operate in different portions of
the range.