Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of filtering memory snoops, the method comprising: receiving, by a home agent, a request for contents of a memory line; comparing an address of the memory line to a range of addresses in a set of adaptive ranges, wherein the set comprises memory addresses for which at least one input-output (I/O) agent asserts ownership, wherein further each of the adaptive ranges in the set comprises an upper address and a lower address which define the range limits of each of the adaptive ranges, wherein further the home agent is configured to change at least one of a first upper address and a first lower address of a first adaptive range to adapt to changes of assertions of ownership of the address of the memory line by the at least one I/O agent; and snooping one of the at least one I/O agent for the contents upon a match of the address of the memory line within the range of addresses.
2. The method of claim 1 , further comprising updating the set of adaptive ranges upon receipt of a second request from one of the at least one I/O agent.
3. The method of claim 2 , further comprising incrementing a counter associated with the range.
4. The method of claim 2 , further comprising setting a status bit when one of the at least one I/O agent asserts ownership.
5. The method of claim 2 , wherein updating the set of adaptive ranges comprises adjusting a second range.
6. The method of claim 5 , wherein adjusting the second range comprises changing one of a second upper address and a second lower address.
7. The method of claim 2 , wherein updating the set of adaptive ranges comprises adding a second range.
8. The method of claim 1 , further comprising decrementing a counter associated with a second range upon a write-back from one of the at least one I/O agent.
9. The method of claim 8 , further comprising changing a state of a status bit associated with the range.
10. A snoop filter apparatus, comprising: a range table configured to store adaptive ranges of memory lines, wherein an I/O agent asserts ownership of memory lines within the adaptive ranges, wherein further each of the adaptive ranges comprises an upper address and a lower address which define the range limits of each of the adaptive ranges; a table updater configured to update the adaptive ranges of the range table based upon assertions of ownership by the input-output (I/O) agent, wherein the table updater is configured to change at least one of a first upper address and a first lower address of a first adaptive range to adapt to changes of assertions of ownership of memory lines by the I/O agent; receiver module configured to receive a request for contents of a memory line; and a range comparator configured to compare a request address of the memory line request with a range address of the adaptive ranges, wherein the range comparator allows a snoop of the I/O agent upon a match of the request address and a range address.
11. The snoop filter apparatus of claim 10 , wherein the range table comprises status bits associated with the adaptive ranges to indicate I/O agent ownership.
12. The snoop filter apparatus of claim 11 , wherein the table updater updates the status bits.
13. The snoop filter apparatus of claim 10 , wherein the range table comprises counters associated with the adaptive ranges to indicate I/O agent ownership of multiple memory lines.
14. The snoop filter apparatus of claim 10 , wherein the table updater updates the adaptive ranges by adjusting one of a high address and a low address of an adaptive range.
15. The snoop filter apparatus of claim 10 , wherein the snoop filter apparatus is part of a multiple processor computing system.
Unknown
June 1, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.