1. A method for presenting virtual disks to devices, the method comprising: presenting the virtual disks to the devices; providing an instance of a common portion of data and device-specific portions of data that are accessible in response to transactions directed to the virtual disks by the devices, wherein the instance of the common portion of data is implemented as underlying data for each of the virtual disks, and the device-specific portions of data are respectively implemented as underlying data for modifications to the common portion of data for respective ones of the virtual disks; and maintaining respective caches for the common portion of data and the device-specific portions of data, such that the instance of the common portion of data is accessible for the transactions directed to any of the virtual disks without requiring replication of the common portion of data, while modifications to the common portion of data are respectively maintained for the device-specific portions of data.