Patent ID: 7865691

Claim:
A virtual address cache comprising: a memory, adapted to store virtual addresses, task identifiers and data associated with the virtual addresses and the task identifiers; wherein only a value of a task identifier is indicative whether data associated with the task identifier is shared between tasks; and wherein the task identifier lacks a portion that is allocated only for indicating whether data is shared between tasks; and a comparator, coupled to the memory, adapted to determine that data associated with a received virtual address and a received task identifier is stored in the memory if a first criteria is fulfilled or a second criteria is fulfilled; wherein the first criteria is fulfilled if at least a portion of the received virtual address equals at least a corresponding portion of a certain stored virtual address and a stored task identifier associated with the certain stored virtual address indicates that the data is shared between multiple tasks; wherein the second criteria is fulfilled if at least the portion of the received virtual address equals the at least corresponding portion of the certain stored virtual address and the received task identifier equals a stored task identifier.