An apparatus and method implemented by a computer system of using data
copies of a volume for redundancy when data of the volume is rendered
corrupted or inaccessible. In one embodiment of the method a data volume
is created. The data volume comprises a plurality of data blocks
including a first data block. After creation of the data volume, a
point-in-time (PIT) copy or a replica copy of the data volume is created,
and a redirection map is created. The redirection map comprises a
plurality of entries, wherein each entry of the map indicates whether
memories allocated to store data of respective data blocks of the data
volume and the PIT copy or the replica copy, contain identical data. Data
of the data volume may become corrupt or inaccessible after creation of
the PIT copy or replica copy. For example, suppose an I/O transaction is
generated to read data from or write data to memory allocated to store
data of the first data block of the data volume, and it is discovered
that the memory allocated to store data of the first data block is
inaccessible as a result of physical damage to this memory. The
redirection map and the PIT copy or replica copy can be used to overcome
inaccessibility of memory allocated to the first block. If an entry in
the redirection map indicates that identical data is stored in memories
allocated to the first data block of the data volume and the first data
block of the PIT copy (or replica copy), respectively, data is read from
memory allocated to store data of a first block of the PIT copy or the
replica copy, and possibly stored in new memory allocated to store data
of the first data block of the data volume.