Handling address translation requests

US2016259735A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016259735-A1
Application numberUS-201615019069-A
CountryUS
Kind codeA1
Filing dateFeb 9, 2016
Priority dateMar 2, 2015
Publication dateSep 8, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A memory management unit comprises an interface for receiving an address translation request from a device, the address translation request specifying a virtual request to be translated. Translation circuitry translates the virtual address into an intermediate address different from a physical address directly specifying a memory location. The interface provides an address translation response specifying the intermediate address to the device in response to the address translation request. This improves security by avoiding exposure of physical addresses to the device.

First claim

Opening claim text (preview).

I claim: 1 . A memory management unit comprising: an interface configured to receive an address translation request from a device, the address translation request specifying a virtual address to be translated; and translation circuitry configured to translate the virtual address specified by the address translation request into an intermediate address different from a physical address directly specifying a memory location; wherein the interface is configured to provide an address translation response comprising the intermediate address to the device in response to the address translation request. 2 . The memory management unit according to claim 1 , wherein in response to a translated access request received by the interface from the device, the translated access request specifying the intermediate address, the translation circuitry is configured to translate the intermediate address into a corresponding physical address. 3 . The memory management unit according to claim 1 , wherein in response to a non-translated access request received by the interface from the device, the non-translated access request specifying a virtual address, the translation circuitry is configured to translate the virtual address into a corresponding physical address. 4 . The memory management unit according to claim 3 , wherein in response to the non-translated access request, the translation circuitry is configured to perform a first translation to translate the virtual address into a corresponding intermediate address, and to perform a second translation to translate the intermediate address into said corresponding physical address. 5 . The memory management unit according to claim 4 , wherein the translation circuitry is configured to perform the first translation based on first control data set under control of a first control program executed by a processing unit, and to perform the second translation based on second control data set under control of a second control program executed by the processing unit. 6 . The memory management unit according to claim 1 , comprising control circuitry configured to control processing of a memory access using the physical address obtained by the translation circuitry. 7 . The memory management unit according to claim 1 , wherein in a first address translation mode, in response to the address translation request the translation circuitry is configured to translate the virtual address into the intermediate address and the interface is configured to provide the address translation response specifying the intermediate address; and in a second address translation mode, in response to the address translation request the translation circuitry is configured to translate the virtual address into the physical address and the interface is configured to provide the address translation response specifying the physical address. 8 . The memory management unit according to claim 7 , wherein the translation circuitry is configured to select whether to use the first address translation mode or the second address translation mode in dependence on control information accessible to the translation circuitry. 9 . The memory management unit according to claim 8 , wherein the control information specifies, separately for each of a plurality of devices or contexts, whether to use the first address translation mode or the second address translation mode for requests received from that device or context. 10 . The memory management unit according to claim 1 , wherein in the first address translation mode, in response to a translated access request received by the interface, the translation circuitry is configured to translate an intermediate address specified by the translated access request into a corresponding physical address to be used for a memory access; and in the second address translation mode, in response to a translated access request received by the interface, the memory management unit is configured to provide the physical address specified by the translated access request to be used for a memory access. 11 . The memory management unit according to claim 10 , wherein the memory management unit has a plurality of operating modes including: a performance mode in which, in response to a translated access request received by the interface, the memory management unit is configured to allow a memory access to proceed using an address specified by the translated access request without checking whether to use the first address translation mode or the second address translation mode; and a safety mode in which, in response to a translated access request received by the interface, the translation circuitry is configured to check whether to use the first address translation mode or the second address translation mode for the translated access request before allowing any memory access to proceed in response to the translated access request. 12 . The memory management unit according to claim 11 , wherein the memory management unit is configured to prohibit use of the first address translation mode when the memory management unit is in the performance mode. 13 . The memory management unit according to claim 1 , comprising a control storage element configured to store control information indicating whether the memory management unit is in the performance mode or the safety mode. 14 . A data processing apparatus comprising a memory management unit according to claim 1 . 15 . A memory management unit comprising: means for receiving an address translation request from a device, the address translation request specifying a virtual address to be translated; means for translating the virtual address specified by the address translation request into an intermediate address different from a physical address directly specifying a memory location; and means for providing an address translation response comprising the intermediate address to the device in response to the address translation request. 16 . A method comprising: receiving an address translation request from a device, the address translation request specifying a virtual address to be translated; translating the virtual address specified by the address translation request into an intermediate address different from a physical address directly specifying a memory location; and providing an address translation response to the device, the address translation response comprising the intermediate address.

Assignees

Inventors

Classifications

  • Virtualized environment, e.g. logically partitioned system · CPC title

  • for multiple virtual address spaces, e.g. segmentation (G06F12/1045 takes precedence) · CPC title

  • Details of translation look-aside buffer [TLB] · CPC title

  • using page tables, e.g. page table structures · CPC title

  • G06F12/10Primary

    Address translation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016259735A1 cover?
A memory management unit comprises an interface for receiving an address translation request from a device, the address translation request specifying a virtual request to be translated. Translation circuitry translates the virtual address into an intermediate address different from a physical address directly specifying a memory location. The interface provides an address translation response …
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F12/1036. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).