9824015

Providing Memory Management Unit (mmu) Partitioned Translation Caches, and Related Apparatuses, Methods, and Computer-Readable Media

PublishedNovember 21, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
33 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus comprising a memory management unit (MMU) for providing partitioned translation caches, comprising: a translation cache configured to provide a plurality of translation cache entries each defining an address translation mapping; a partition descriptor table configured to provide a plurality of partition descriptors defining a corresponding plurality of partitions of the translation cache, each partition of the plurality of partitions comprising one or more translation cache entries of the plurality of translation cache entries; and a partition translation circuit configured to: receive a memory access request from a requestor; determine a translation cache partition identifier (TCPID) of the memory access request; identify one or more partitions of the plurality of partitions based on the TCPID; and perform a cache operation on a translation cache entry of the one or more translation cache entries of the one or more partitions.

2

2. The apparatus of claim 1 , wherein the partition descriptor table is configured to provide the plurality of partition descriptors each comprising: a start pointer to a starting translation cache entry of a corresponding partition defined by the partition descriptor; and an end pointer to an ending translation cache entry of the corresponding partition.

3

3. The apparatus of claim 1 , wherein the partition descriptor table is configured to provide the plurality of partition descriptors each comprising: a start pointer to a starting translation cache entry of a corresponding partition defined by the partition descriptor; and a count indicator indicative of a count of the one or more translation cache entries of the corresponding partition.

4

4. The apparatus of claim 1 , wherein the partition translation circuit is configured to determine the TCPID by deriving the TCPID based on an attribute of the memory access request.

5

5. The apparatus of claim 1 , wherein the partition translation circuit is configured to determine the TCPID by retrieving a requestor-supplied TCPID provided by the memory access request.

6

6. The apparatus of claim 1 , further comprising a partition remapping table configured to provide a plurality of remapping entries each defining a remapping of an input TCPID to an output TCPID; wherein the partition translation circuit is configured to: determine the TCPID by identifying a remapping entry of the plurality of remapping entries, in which the input TCPID of the remapping entry corresponds to the TCPID of the memory access request; and identify the one or more partitions of the plurality of partitions based on the output TCPID of the remapping entry.

7

7. The apparatus of claim 1 , wherein: the memory access request comprises a source indicator indicating a source type of the requestor; and the partition translation circuit is configured to determine the TCPID by deriving the TCPID based on the source indicator.

8

8. The apparatus of claim 1 , further comprising a partition selection table comprising a plurality of partition selection entries, each defining at least one of a search control indicator and an eviction control indicator, and each corresponding to one or more partitions of the plurality of partitions; and wherein the partition translation circuit is configured to identify the one or more partitions of the plurality of partitions based on a partition selection entry of the plurality of partition selection entries.

9

9. The apparatus of claim 8 , wherein the partition translation circuit is configured to perform the cache operation by determining that the one or more translation cache entries of the one or more partitions are eligible for searching based on the search control indicator of the partition selection entry for the one or more partitions.

10

10. The apparatus of claim 8 , wherein the partition translation circuit is configured to perform the cache operation by determining that the one or more translation cache entries of the one or more partitions are eligible for eviction based on the eviction control indicator of the partition selection entry for the one or more partitions.

11

11. The apparatus of claim 1 integrated into an integrated circuit (IC).

12

12. The apparatus of claim 1 integrated into a device selected from a group consisting of a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a music player, and a video player.

13

13. A memory management unit (MMU) comprising: a means for providing a plurality of translation cache entries each defining an address translation mapping; a means for providing a plurality of partition descriptors defining a corresponding plurality of partitions of a translation cache of the MMU, each partition of the plurality of partitions comprising one or more translation cache entries of the plurality of translation cache entries; a means for receiving a memory access request from a requestor; a means for determining a translation cache partition identifier (TCPID) of the memory access request; a means for identifying one or more partitions of the plurality of partitions based on the TCPID; and a means for performing a cache operation on a translation cache entry of the one or more translation cache entries of the one or more partitions.

14

14. A method for providing partitioned translation caches, comprising: receiving, by a memory management unit (MMU), a memory access request from a requestor; determining a translation cache partition identifier (TCPID) of the memory access request; identifying, based on the TCPID, one or more partitions of a plurality of partitions of a translation cache of the MMU; and performing a cache operation on a translation cache entry of one or more translation cache entries of the one or more partitions.

15

15. The method of claim 14 , wherein identifying the one or more partitions of the plurality of partitions is further based on a corresponding plurality of partition descriptors each comprising: a start pointer to a starting translation cache entry of a corresponding partition defined by the partition descriptor; and an end pointer to an ending translation cache entry of the corresponding partition.

16

16. The method of claim 14 , wherein identifying the one or more partitions of the plurality of partitions is further based on a corresponding plurality of partition descriptors each comprising: a start pointer to a starting translation cache entry of a corresponding partition defined by the partition descriptor; and a count indicator indicative of a count of the one or more translation cache entries of the corresponding partition.

17

17. The method of claim 14 , wherein determining the TCPID comprises deriving the TCPID based on an attribute of the memory access request.

18

18. The method of claim 14 , wherein determining the TCPID comprises retrieving a requestor-supplied TCPID provided by the memory access request.

19

19. The method of claim 14 , comprising: determining the TCPID by identifying a remapping entry among a plurality of remapping entries each defining a remapping of an input TCPID to an output TCPID, in which the input TCPID of the remapping entry corresponds to the TCPID of the memory access request; and identifying the one or more partitions of the plurality of partitions based on the output TCPID of the remapping entry.

20

20. The method of claim 14 , wherein: the memory access request comprises a source indicator indicating a source type of the requestor; and determining the TCPID comprises deriving the TCPID based on the source indicator.

21

21. The method of claim 14 , further comprising identifying the one or more partitions of the plurality of partitions based on a partition selection entry of a plurality of partition selection entries, each defining at least one of a search control indicator and an eviction control indicator and corresponding to one or more partitions of the plurality of partitions.

22

22. The method of claim 21 , wherein performing the cache operation based on the partition selection entry for the one or more partitions comprises determining that the one or more translation cache entries of the one or more partitions are eligible for searching based on the search control indicator of the partition selection entry for the one or more partitions.

23

23. The method of claim 21 , wherein performing the cache operation based on the partition selection entry for the one or more partitions comprises determining that the one or more translation cache entries of the one or more partitions are eligible for eviction based on the eviction control indicator of the partition selection entry for the one or more partitions.

24

24. A non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a processor, cause the processor to: receive a memory access request from a requestor; determine a translation cache partition identifier (TCPID) of the memory access request; identify, based on the TCPID, one or more partitions of a plurality of partitions of a translation cache of a memory management unit (MMU); and perform a cache operation on a translation cache entry of one or more translation cache entries of the one or more partitions.

25

25. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to identify the one or more partitions of the plurality of partitions based a corresponding plurality of partition descriptors each comprising: a start pointer to a starting translation cache entry of a corresponding partition defined by the partition descriptor; and an end pointer to an ending translation cache entry of the corresponding partition.

26

26. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to identify the one or more partitions of the plurality of partitions based a corresponding plurality of partition descriptors each comprising: a start pointer to a starting translation cache entry of a corresponding partition defined by the partition descriptor; and a count indicator indicative of a count of the one or more translation cache entries of the corresponding partition.

27

27. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to determine the TCPID by deriving the TCPID based on an attribute of the memory access request.

28

28. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to determine the TCPID by retrieving a requestor-supplied TCPID provided by the memory access request.

29

29. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to: determine the TCPID by identifying a remapping entry among a plurality of remapping entries each defining a remapping of an input TCPID to an output TCPID, in which the input TCPID of the remapping entry corresponds to the TCPID of the memory access request; and identify the one or more partitions of the plurality of partitions based on the output TCPID of the remapping entry.

30

30. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to determine the TCPID by deriving the TCPID based on a source indicator of the memory access request indicating a source type of the requestor.

31

31. The non-transitory computer-readable medium of claim 24 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to identify the one or more partitions of the plurality of partitions based on a partition selection entry of a plurality of partition selection entries, each defining at least one of a search control indicator and an eviction control indicator and corresponding to one or more partitions of the plurality of partitions.

32

32. The non-transitory computer-readable medium of claim 31 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to perform the cache operation based on the partition selection entry for the one or more partitions by determining that the one or more translation cache entries of the one or more partitions are eligible for searching based on the search control indicator of the partition selection entry for the one or more partitions.

33

33. The non-transitory computer-readable medium of claim 31 having stored thereon computer-executable instructions which, when executed by the processor, further cause the processor to perform the cache operation based on the partition selection entry for the one or more partitions by determining that the one or more translation cache entries of the one or more partitions are eligible for eviction based on the eviction control indicator of the partition selection entry for the one or more partitions.

Patent Metadata

Filing Date

Unknown

Publication Date

November 21, 2017

Inventors

Jason Edward Podaima
Bohuslav Rychlik
Carlos Javier Moreira
Serag Monier GadelRab
Paul Christopher John Wiercienski
Alexander Miretsky
Kyle John Ernewein

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “PROVIDING MEMORY MANAGEMENT UNIT (MMU) PARTITIONED TRANSLATION CACHES, AND RELATED APPARATUSES, METHODS, AND COMPUTER-READABLE MEDIA” (9824015). https://patentable.app/patents/9824015

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.