A computing system comprising: memory comprising a plurality of memory blocks and including a plurality of distinct memory types each assigned to a respective memory tier of a plurality of memory tiers based on a read latency of the memory type; a plurality of caching modules, each caching module of the plurality of caching modules configured to govern data caching for a respective memory type of the plurality of distinct memory types; and a read tracker module coupled to the memory and the plurality of caching modules, the read tracker module configured to: obtain physical read addresses for data read requests to the memory; identify, based on the data read requests, sets of related data by determining whether memory blocks of the plurality of memory blocks are being read close in time and are physically located close to one another within the memory; identify a plurality of extents, including a first extent, each of the extents comprising a respective identified set of related data stored within the memory; determine a first read frequency for the first extent; update a read frequency of the first extent using the first read frequency; update an extent map, the extent map including a ranking of the plurality of extents according to read frequency, wherein updating the extent map comprises re-ranking the plurality of extents within the extent map to reflect the updated read frequency for the first extent; and govern caching of the plurality of extents within the memory, including directing a particular caching module of the plurality of caching modules to store the first extent within a corresponding memory tier of the plurality of distinct memory tiers based on the first read frequency. memory comprising a plurality of memory blocks and including a plurality of distinct memory types each assigned to a respective memory tier of a plurality of memory tiers based on a read latency of the memory type; a plurality of caching modules, each caching module of the plurality of caching modules configured to govern data caching for a respective memory type of the plurality of distinct memory types; and a read tracker module coupled to the memory and the plurality of caching modules, the read tracker module configured to: obtain physical read addresses for data read requests to the memory; identify, based on the data read requests, sets of related data by determining whether memory blocks of the plurality of memory blocks are being read close in time and are physically located close to one another within the memory; identify a plurality of extents, including a first extent, each of the extents comprising a respective identified set of related data stored within the memory; determine a first read frequency for the first extent; update a read frequency of the first extent using the first read frequency; update an extent map, the extent map including a ranking of the plurality of extents according to read frequency, wherein updating the extent map comprises re-ranking the plurality of extents within the extent map to reflect the updated read frequency for the first extent; and govern caching of the plurality of extents within the memory, including directing a particular caching module of the plurality of caching modules to store the first extent within a corresponding memory tier of the plurality of distinct memory tiers based on the first read frequency. obtain physical read addresses for data read requests to the memory; identify, based on the data read requests, sets of related data by determining whether memory blocks of the plurality of memory blocks are being read close in time and are physically located close to one another within the memory; identify a plurality of extents, including a first extent, each of the extents comprising a respective identified set of related data stored within the memory; determine a first read frequency for the first extent; update a read frequency of the first extent using the first read frequency; update an extent map, the extent map including a ranking of the plurality of extents according to read frequency, wherein updating the extent map comprises re-ranking the plurality of extents within the extent map to reflect the updated read frequency for the first extent; and govern caching of the plurality of extents within the memory, including directing a particular caching module of the plurality of caching modules to store the first extent within a corresponding memory tier of the plurality of distinct memory tiers based on the first read frequency.