BlockCache simulates Segmented LRU on a block level to handle cache hits/misses/evictions. When an item gets hit in BlockCache, the whole block is promoted even though the rest of the items in it might be rarely accessed, resulting in a divergence of priorities of items within a block. Later when a block is evicted from the queue tail, many items in that block may belong to higher levels in the exact Segmented LRU algorithm, decreasing the approximation fidelity.