US 11,755,485 B2
Snoop filter device
Thibaut Palfer-Sollier, Oslo (NO); Steffen Persvold, Oslo (NO); Helge Simonsen, Oslo (NO); Mario Lodde, Borore (IT); Thomas Moen, Oslo (NO); Kai Arne Midjås, Vinterbro (NO); Einar Rustad, Oslo (NO); and Goutam Debnath, Beaverton, OR (US)
Assigned to NUMASCALE AS, Oslo (NO)
Appl. No. 17/440,128
Filed by NUMASCALE AS, Oslo (NO)
PCT Filed Mar. 13, 2020, PCT No. PCT/NO2020/050070
§ 371(c)(1), (2) Date Sep. 16, 2021,
PCT Pub. No. WO2020/197404, PCT Pub. Date Oct. 1, 2020.
Claims priority of application No. 20190393 (NO), filed on Mar. 22, 2019.
Prior Publication US 2022/0156195 A1, May 19, 2022
Int. Cl. G06F 12/0831 (2016.01); G06F 12/0817 (2016.01); G06F 12/084 (2016.01); G06F 12/0846 (2016.01); G06F 12/0873 (2016.01)
CPC G06F 12/0833 (2013.01) [G06F 12/082 (2013.01); G06F 12/084 (2013.01); G06F 12/0846 (2013.01); G06F 12/0873 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A snoop filter device connectable with a plurality of cache elements, where each cache element includes a number of cache agents, the snoop filter device comprising:
a plurality of snoop filter storage locations, each configured to store a tag that identifies a cache line storable in a cache agent;
wherein each snoop filter storage location is mapped to one cache element, such that any one snoop filter storage location only contains information that relate to cache lines that are stored in the cache element to which that snoop filter storage location is mapped; and
wherein each snoop filter storage location is sectored into a plurality of snoop filter sectors; and
wherein the snoop filter sectors of a snoop filter storage location include:
a first snoop filter sector that is configured to store one tag or a fraction of one tag, and one presence bit; and
one or more consecutive snoop filter sectors, each configured to store zero tags and one presence bit;
wherein a presence bit stored in the first snoop filter sector and a presence bit in each one of the consecutive snoop filter sectors indicate the presence of separate cache lines in the same cache element.