In the design of a tiering solution, the first problem one encounters is the definition of an ideal end condition. As a first approximation, consider this:
Sort all files by (descending) time of last access. The hot tier should contain the files at the top of the list, up to capacity. The cold tier should contain everything else.
This definition practically requires two kinds of records, because crawling even the top tier alone - let alone both tiers - to get the same information would be prohibitively expensive and so slow that the answers would be wrong by the time you got them.