A system and method for supporting cache coherency in a computing
environment having multiple processing units, each unit having an
associated cache memory system operatively coupled therewith. The system
includes a plurality of interconnected snoop filter units, each snoop
filter unit corresponding to and in communication with a respective
processing unit, with each snoop filter unit comprising a plurality of
devices for receiving asynchronous snoop requests from respective memory
writing sources in the computing environment; and a point-to-point
interconnect comprising communication links for directly connecting
memory writing sources to corresponding receiving devices; and, a
plurality of parallel operating filter devices coupled in one-to-one
correspondence with each receiving device for processing snoop requests
received thereat and one of forwarding requests or preventing forwarding
of requests to its associated processing unit. Each of the plurality of
parallel operating filter devices comprises parallel operating sub-filter
elements, each simultaneously receiving an identical snoop request and
implementing one or more different snoop filter algorithms for
determining those snoop requests for data that are determined not cached
locally at the associated processing unit and preventing forwarding of
those requests to the processor unit. In this manner, a number of snoop
requests forwarded to a processing unit is reduced thereby increasing
performance of the computing environment.