Patent ID: 8924686

Claim:
A data processing apparatus comprising: a plurality of master devices configured to issue memory access requests including virtual addresses; and a memory management unit configured to receive said memory access requests and to translate a virtual address included in a memory access request from a requesting master device into a physical address indicating a storage location in memory, said memory management unit having an internal storage unit having a plurality of entries wherein indications of corresponding virtual address portions and physical address portions are stored, said memory management unit being configured to select a selected entry of said internal storage unit in dependence on said virtual address, wherein said memory management unit is configured, if a virtual address portion stored in said selected entry does not correspond to said virtual address, to retrieve from a page table stored in memory a replacement entry corresponding to said virtual address, said memory management unit further comprising an index generation unit configured to generate an index into said internal storage unit to select said selected entry in dependence on said virtual address and an identifier of said requesting master device, wherein said index generation unit is configured to generate said index into said internal storage unit using a hash function and to generate the same index for a plurality of different inputs, and wherein said index generation unit is configured to generate said index such that said hash function uses a different number of bits of said virtual address depending on said requesting master device.