Snoop filtering methods and apparatuses for systems utilizing memory are
contemplated. Method embodiments comprise receiving a request for
contents of a memory line by a home agent, comparing an address of the
memory line to a range in a set of adaptive ranges, and snooping an I/O
agent for the contents upon a match of the address within the range.
Apparatus embodiments comprise a range table, a table updater, a receiver
module, and a range comparator. The range tables allow for the tracking
of memory addresses as I/O agents assert ownership of the addresses.
Employing a range-based snoop filtering approach may allow home agents to
track a collection of addresses, in adaptable ranges, instead of tracking
precise addresses which may require large quantities of memory to
implement.