1. A method for a storage system, the storage system including a storage controller, a flash-based cache and a disk-based storage unit, the storage controller communicatively coupled to the flash-based cache and the disk-based storage unit, the method comprising: receiving, by the storage controller and from a user of the storage system, information regarding a dataset; based on the information regarding the dataset, determining by the storage controller whether or not the dataset should be cached; and if the dataset should be cached, writing by the storage controller the dataset to both the flash-based cache and the disk-based storage unit; otherwise, writing by the storage controller the dataset only to the disk-based storage unit.