US 12,436,890 B2
Snoop filter with disaggregated vector table
Jason Lawrence Panavich, Raleigh, NC (US); and Eric Francis Robinson, Raleigh, NC (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 16, 2023, as Appl. No. 18/336,694.
Prior Publication US 2024/0419594 A1, Dec. 19, 2024
Int. Cl. G06F 12/0817 (2016.01)
CPC G06F 12/0828 (2013.01) [G06F 2212/621 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving a request from an agent for accessing a coherence granule (cogran) and for allocating an agent ID to one of a plurality of SFT entries in a snoop filter (SFT);
performing a tag lookup function for a tag of the cogran in the SFT to find a matched SFT entry, wherein the matched SFT entry is tracking the tag of the cogran;
determining the number n of agents being tracked by the matched SFT entry;
in response to determining that the number n of agents being tracked by the matched entry is above a threshold, storing a DVT index in the tracking_info field of the matched SFT entry, wherein the DVT index selects a DVT entry in a disaggregated vector table (DVT), wherein the selected DVT entry is configured to hold a tracking vector for tracking the agents that have cached the cogran for the matched SFT entry;
and in response to storing a DVT index in the tracking_info field of the matched SFT entry changing a value of a tracking_mode field of the matched SFT entry to DVT.