Components of storage data caching
The caching software consists of cache management and cache engine components.
- To create and partition a cache pool.
- To assign the cache partition to a target device or the AIX logical partition (LPAR) as a virtual Small Computer System Interface (vSCSI) device.
- To start and stop the caching operation.
The cache engine is the most essential part of the caching software. The cache engine decides which blocks in the storage must be cached, and whether the data must be retrieved from the cache or the primary storage.
The caching algorithm is based on a populate-on-read mechanism that fills the cache with data that has spatial locality (near other blocks that are read recently). The caching algorithm fills data in the cache more quickly when the cache is empty.
All the blocks in the cache are monitored to check how often they are read, and a heat map is generated. The heat map considers both frequency and recentness of access. When the cache is fully populated, new entries are added to the cache only if the new block is warmer than the coldest block in the cache. The coldest block is removed from the cache, and the new entry is added.
The aggressive population ensures short warm-up times that make the cache effective as soon as it is enabled. The removal policy, which is based on the heat map, ensures that the caching is dynamic and adjusts to changing workload patterns.