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 snoop filter device includes a plurality of parallel
operating port snoop filters in correspondence with the plurality of
dedicated input ports, each port snoop filter implementing one or more
parallel operating sub-filter elements 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.