A method, comprising: receiving, by a computing device, a request to create a snapshot of a primary storage and a secondary storage, wherein the primary and the secondary storage includes primary and secondary solid state devices (SSDs), respectively; quiescing, by the computing device, prior to creating the snapshot, all logical volumes requiring the snapshot on the primary storage and the secondary storage by allowing one or more outstanding input/output requests to be completed and queueing all the new input/output requests associated with the logical volumes; issuing, by the computing device, a command to create a snapshot to all the SSDs present in both the primary and the secondary storage, the SSDs using a flash translation layer to create, as a response to the command, a snapshot allocated capacity space in a virtual region, create and store a snapshot in the snapshot allocated capacity space, present a first original LUN to the computing device by presenting first LBA extents that have been written, along with second LBA extents that have not been written and a second snapshot LUN that provides data to the computing device reflected at the time the snapshot is going to be created; accessing, by the computing device the snapshot created by the SSDs; performing, by the computing device, a quiesce release operation by releasing the input/output queues that were being held such that all the new input/output operations can resume the operations on the primary and the secondary storage; initiating, by the computing device, a data transfer operation from the primary storage to the secondary storage, wherein the data transfer operation moves data from the snapshot LUN presented by the primary storage volume by reading third LBA extents from the snapshot LUN on the primary storage volume and writing these same LBA extents to the original LUN on the secondary storage volume, wherein, during the data transfer operation, the snapshot on the secondary device is accessed by local applications as required; determining, by the computing device, when the data transfer operation is completed; and deleting, by the computing device, the snapshot that was stored in the snapshot allocated capacity of the SSDs of both the primary and the secondary storage volumes, when the determination indicates the data transfer operation is completed. receiving, by a computing device, a request to create a snapshot of a primary storage and a secondary storage, wherein the primary and the secondary storage includes primary and secondary solid state devices (SSDs), respectively; quiescing, by the computing device, prior to creating the snapshot, all logical volumes requiring the snapshot on the primary storage and the secondary storage by allowing one or more outstanding input/output requests to be completed and queueing all the new input/output requests associated with the logical volumes; issuing, by the computing device, a command to create a snapshot to all the SSDs present in both the primary and the secondary storage, the SSDs using a flash translation layer to create, as a response to the command, a snapshot allocated capacity space in a virtual region, create and store a snapshot in the snapshot allocated capacity space, present a first original LUN to the computing device by presenting first LBA extents that have been written, along with second LBA extents that have not been written and a second snapshot LUN that provides data to the computing device reflected at the time the snapshot is going to be created; accessing, by the computing device the snapshot created by the SSDs; performing, by the computing device, a quiesce release operation by releasing the input/output queues that were being held such that all the new input/output operations can resume the operations on the primary and the secondary storage; initiating, by the computing device, a data transfer operation from the primary storage to the secondary storage, wherein the data transfer operation moves data from the snapshot LUN presented by the primary storage volume by reading third LBA extents from the snapshot LUN on the primary storage volume and writing these same LBA extents to the original LUN on the secondary storage volume, wherein, during the data transfer operation, the snapshot on the secondary device is accessed by local applications as required; determining, by the computing device, when the data transfer operation is completed; and deleting, by the computing device, the snapshot that was stored in the snapshot allocated capacity of the SSDs of both the primary and the secondary storage volumes, when the determination indicates the data transfer operation is completed.