| US 7,603,523 B2 | ||
| Method and apparatus for filtering snoop requests in a point-to-point interconnect architecture | ||
| Matthias A. Blumrich, Ridgefield, Conn. (US); Dong Chen, Croton On Hudson, N.Y. (US); Alan G. Gara, Mount Kisco, N.Y. (US); Mark E. Giampapa, Irvington, N.Y. (US); Philip Heidelberger, Cortlandt Manor, N.Y. (US); Dirk I. Hoenicke, Ossining, N.Y. (US); Martin Ohmacht, Yorktown Heights, N.Y. (US); Valentina Salapura, Chappaqua, N.Y. (US); and Pavlos M. Vranas, Bedford Hills, N.Y. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Feb. 21, 2008, as Appl. No. 12/35,085. | ||
| Application 12/035085 is a continuation of application No. 11/093131, filed on Mar. 29, 2005, granted, now 7,386,683. | ||
| Prior Publication US 2008/0133845 A1, Jun. 05, 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/131; 711/154] | 9 Claims |

| 1. A system for supporting cache coherency in a multiprocessor computing environment having multiple processing units, each
processing unit having one or more local cache memories associated therewith and operatively connected via a first communications
means, said system comprising:
a plurality of snoop filter devices in 1:1 correspondence with an associated processing unit, each said snoop filter device
having a plurality of dedicated input ports for receiving snoop requests from dedicated memory writing sources in said multiprocessor
computing environment;
a point-to-point interconnect means comprising communication links for directly connecting said memory writing sources to
the dedicated input ports of all other snoop filter devices associated with all other processing units of said multiprocessor
computing environment;
each of said plurality of snoop filter devices further having a plurality of parallel operating port snoop filters in 1:1
correspondence with said plurality of dedicated input ports, each said plurality of parallel operating port snoop filters
having a corresponding snoop cache adapted for tracking snoop requests from a corresponding one of said dedicated memory writing
sources and recording an address of each snoop request from its corresponding memory writing source; and, and having a corresponding
snoop cache logic means for comparing a received snoop request address against all addresses recorded in said corresponding
snoop cache,
said plurality of port snoop filter devices concurrently filter snoop requests received from respective said dedicated memory
writing sources and forward a subset of those requests to its associated processing unit,
whereby a number of snoop requests forwarded to a processing unit is reduced thereby increasing performance of said computing
environment.
|