1. An apparatus, comprising: a processor configured to detect an input/output operation associated with a virtual machine running on a hypervisor; a first interface to a de-duplication storage device that stores de-duplicated data associated with the virtual machine; a second interface to a first non-de-duplication storage device that stores a first snapshot associated with the virtual machine; an identification logic configured to select a target device from which the input/output operation should be satisfied, the target device being selected from the de-duplication storage device and the first non-de-duplication storage device, the target device being selected as a function of an efficiency condition; and an operation logic configured to satisfy the input/output operation from the target device.