1. A system for replicating data between a first storage location and a second storage location, the system comprising: a data communication network having an interface for receiving data access requests from one or more host systems; a first storage location comprising a controller having at least two ports to the data communication network and a first pool of storage; a second storage location comprising a controller having at least two ports to the data communication network and a second pool of storage; wherein both of the at least two ports communicate both with the one or more host systems to handle host data operations and with each other and to handle data replication operations.