A method and apparatus for supporting cache coherency in a multiprocessor
computing environment having multiple processing units, each processing
unit having one or more local cache memories associated and operatively
connected therewith. The method comprises providing a snoop filter device
associated with each processing unit, each snoop filter device having a
plurality of dedicated input ports for receiving snoop requests from
dedicated memory writing sources in the multiprocessor computing
environment. Each of the memory writing sources is directly connected to
the dedicated input ports of all other snoop filter devices associated
with all other processing units in a point-to-point interconnect fashion.
Each snoop filter device includes a plurality of parallel operating port
snoop filters in correspondence with the plurality of dedicated input
ports that are adapted to concurrently filter snoop requests received
from respective dedicated memory writing sources and forward a subset of
those requests to its associated processing unit.