Patent ID: 9256542
Filing Date: 2016-02-09
CPC Classification: G06F

Claim Text:
1. A storage controller, comprising: a cache memory configured to store data blocks; data transfer logic defined to enable block level data transfer between the storage controller and multiple types of storage media within a storage volume, the multiple types of storage media include a rotating disk data storage device and a solid-state data storage device, wherein at least one of the multiple types of storage media within the storage volume is a shared storage medium in use by multiple storage volumes, wherein the storage controller is defined to control a unique one of the multiple storage volumes and wherein the storage controller is configured to hide sharing of the shared storage medium from different entities accessing data on the shared storage medium; and adaptive logic defined to collect data blocks that are smaller than an optimal write size for the solid-state data storage device in the cache memory until an aggregate size of the data blocks collected in the cache memory satisfies the optimal write size for the solid-state data storage device, the adaptive logic defined to direct writing of the aggregate size of the data blocks as collected in the cache memory to the solid-state data storage device within the storage volume, the adaptive logic defined to generate and maintain metadata for each data block transferred through the storage controller to the storage volume including the data blocks collected in the cache memory, the metadata for a given data block providing a mapping of the given data block as written within the storage volume to the given data block as collected in the cache memory, the metadata for each data block including an access counter, the adaptive logic defined to increment the access counter within the metadata for a given data block each time the storage controller is directed to access the given data block, the adaptive logic defined to monitor the access counter in the metadata of the given data block in real-time to determine whether or not the access counter is above or below a threshold value, the adaptive logic defined to maintain storage of the given data 5 block in the solid-state data storage device when the access counter is above the threshold value, the adaptive logic defined to move the given data block from the solid-state storage device to the rotating disk data storage device when the access counter is below the threshold value.