A method of data exchange between volumes without using any unnecessary
resource in a storage system includes allocating cache areas for data
exchange on a memory, determining the location of data to be exchanged,
reading out data from the determined location in source and destination
volumes and storing data in their respective caches, and writing data
stored in the cache to thus determined location of the volume different
from the one that the data was read out.