Remote copy and replication protect data by making duplicate copies in a different array or location.
Remote copy makes mirror copy of the data at a block level. Replication duplicates data at a file or element level.
Remote copy can be implemented at a host level or storage system level. New forms of remote copy will allow duplication to occur at the network level.
The most difficult part of remote copy design is balancing bandwidth, network latency, and cost requirements. Bunkering and asynchronous remote copy are two ways of achieving this balance.
Replication is application or file specific. There is no guarantee that all data will be duplicated exactly. Instead, important data is duplicated in a usable form.