Patent ID: 8464001

Claim:
A method for processing commands received by an intermediary cache unit from one or more clients, wherein the intermediary cache unit is coupled to an external memory via frame buffer logic, the method comprising the steps of: receiving a command from an arbiter unit in the intermediary cache unit, wherein the command has an associated memory address that includes a set identifier, a tag portion, and a sector identifier; extracting the set identifier, the tag portion, and the sector identifier from the associated memory address; determining whether one of a plurality of cache lines in a set included in a data cache unit in the intermediary cache unit is affirmatively associated with the tag portion included in the associated memory address; if one of the plurality of cache lines in the set is affirmatively associated with the tag portion included in the associated memory address, then causing data associated with the command to be written to or retrieved from a sector in an affirmatively associated cache line related to in the set in the data cache unit, wherein the sector corresponds to the sector identifier included in the associated memory address, and wherein the step of causing data associated with the command to be written to or read from the sector comprises transmitting a read fill request or a dirty data notification to the frame buffer logic, or if none of the plurality of cache lines in the set is affirmatively associated with the tag portion included in the associated memory address, then, determining that a number of dirty affirmatively associated cache lines in the set is less than a first threshold value, and affirmatively associating an available cache line in the set with the tag portion included in the associated memory address, wherein the frame buffer logic includes a dirty data notifications sorter configured to determine a number of dirty data notifications associated with each set and write data to the external memory when the number is above a threshold value; determining that a number of dirty affirmatively associated cache lines in the set is greater than a second threshold value; transmitting a high-priority clean notification to the frame buffer logic; and selecting either the high-priority clean notification, the read fill request or the dirty data notification from respective buffers for processing.