US 12,204,452 B2
Systems and methods to generate a miss ratio curve for a cache with variable-sized data blocks
Sari Sultan, Toronto (CA); Kia Shakiba, Toronto (CA); Albert Lee, Toronto (CA); Michael Stumm, Toronto (CA); Ming Chen, Kanata (CA); and Chung-Man Abelard Chow, Kanata (CA)
Assigned to HUAWEI TECHNOLOGIES CANADA CO., LTD., Kanata (CA); and THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO, Toronto (CA)
Filed by HUAWEI TECHNOLOGIES CANADA CO., LTD., Kanata (CA); and The Governing Council of the University of Toronto, Toronto (CA)
Filed on Nov. 7, 2022, as Appl. No. 17/982,070.
Prior Publication US 2024/0160572 A1, May 16, 2024
Int. Cl. G06F 12/0815 (2016.01)
CPC G06F 12/0815 (2013.01) [G06F 2212/6042 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method comprising: receiving, at each of a plurality of time steps, a respective one or more plurality of requests each requesting access to a respective cached data block having a respective specified size; generating, for each time step, a respective set of counters, each set of counters including a respective plurality of counters and corresponding to a same set of block sizes, the same set of block sizes including a plurality of unique block sizes, all the sets of counters generated before and at each time step defining, for the respective time step, a respective counter stack; setting, for each time step, each counter of the respective counter stack in accordance with a respective set of unique requests for the respective counter, each set of unique requests only including requests received inclusively between the generation of the respective counter and the respective time step, each set of unique requests further only including requests requesting access to different cached data blocks having specified sizes matching the block size corresponding to the respective counter; determining, for each time step, a respective stack distance for at least one set of counters of the respective counter stack, all of the stack distances defining a frequency distribution of stack distances; generating a miss ratio curve from the frequency distribution of stack distances; determining a cache size in accordance with the miss ratio curve; and allocating a cache having a respective size corresponding to the cache size to satisfy a given performance requirement.