US 7,603,524 B2
Method and apparatus for filtering snoop requests using multiple snoop caches
Matthias A. Blumrich, Ridgefield, Conn. (US); Alan G. Gara, Mount Kisco, N.Y. (US); and Valentina Salapura, Chappaqua, N.Y. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Mar. 05, 2008, as Appl. No. 12/42,958.
Application 12/042958 is a continuation of application No. 11/093154, filed on Mar. 29, 2005, granted, now 7,386,685.
Prior Publication US 2008/0155201 A1, Jun. 26, 2008
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/08 (2006.01); G06F 13/00 (2006.01)
U.S. Cl. 711—146  [711/100; 711/118; 711/144] 17 Claims
OG exemplary drawing
 
1. A snoop filter apparatus associated with a processing unit of a computing environment having multiple processing units, each processing unit having one or more cache memories associated therewith, said snoop filter apparatus comprising:
a plurality of dedicated inputs for receiving snoop requests from a corresponding plurality of memory writing sources, each said snoop request comprising an address to be snooped;
a plurality of snoop caches, each snoop cache adapted for tracking snoop requests from a corresponding one of said plurality of memory writing sources and recording an address of each snoop request from its corresponding memory writing source;
a plurality of snoop cache logic means in one to one correspondence with a respective snoop cache for comparing a received snoop request address against all addresses recorded in said corresponding snoop cache; and,
means, responsive to said comparing, for either forwarding said received snoop request to its associated processing unit when an address does not match in said respective snoop cache, or discarding said snoop request when an address match is found in said respective snoop cache,
whereby a number of snoop requests forwarded to a processing unit is reduced thereby increasing performance of said computing environment.