Methods And Apparatus For Providing User Level DMA And Memory Access Management
AssigneeSony Computer Entertainment Inc.
InventorKatsushi Otsuka
Life of this patent
Estimating the term…
Abstract
A memory access control apparatus receives from a DMA requestor an access request command, which contains an IOID, for a DMA address space that is a memory area used for a DMA transfer, and determines whether the access is permitted or not and executes the access if it is permitted. The operating system on the PU sets in MMU the correspondence relationship between the logical address space of a user process and the DMA address space. When the user process instructs to access the DMA address space by specifying a logical address, the MMU translates the logical address into a physical address of the DMA address space.
Claims8
A memory access control system, comprising an I/O access control apparatus and a process control apparatus, wherein
- the I/O access control apparatus comprises:
- a command receiver which receives from an external DMA transfer requesting entity a control command that contains an address to be accessed and an ID for identifying the DMA transfer requesting entity, the address to be accessed being in a DMA address space that is a memory area used for a DMA transfer;
- an access decision unit which determines whether access of the DMA transfer requesting entity is permitted or not, by referring to an access permission/denial determination table that associates an address in the DMA address space with the ID of the DMA transfer requesting entity which is to be permitted to access the area specified by the address;
- and
- an access processing unit which executes access of the DMA transfer requesting entity to the DMA address space, on the condition that the access has been permitted by said access decision unit, and wherein
- the process control apparatus comprises:
- a mapping unit which sets a mapping table that associates a logical address space of a user process with the DMA address space;
- and
- an address translation unit which translates a logical address into a physical address in the DMA address space when the user process instructs to access the DMA address space by specifying the logical address, so as to allow the user process to directly access the DMA address space.
A method for controlling memory access, comprising:
- receiving from an external DMA transfer requesting entity a control command that contains an address to be accessed and an ID for identifying the DMA transfer requesting entity, the address to be accessed being in a DMA address space that is a memory area used for a DMA transfer;
- determining whether access of the DMA transfer requesting entity is permitted or not, by referring to an access permission/denial determination table that associates an address in the DMA address space with the ID of the DMA transfer requesting entity which is to be permitted to access the area specified by the address;
- executing access of the DMA transfer requesting entity to the DMA address space, on the condition that the access has been permitted by said determining step;
- setting a mapping table that associates a logical address space of a user process with the DMA address space;
- and
- translating a logical address into a physical address in the DMA address space when the user process instructs to access the DMA address space by specifying the logical address, so as to allow the user process to directly access the DMA address space.
A computer program product embodied on computer readable recording medium having a computer program for controlling memory access, the program comprising:
- a code module for mapping an address space of a DMA transfer requesting entity to a predetermined memory area;
- a code module for further mapping an address space of a user process, to which a privilege of controlling the DMA transfer requesting entity is given, to the same predetermined memory area;
- and
- a code module for performing data exchange via the predetermined area that has been mapped from both the user process and the DMA transfer requesting entity, without relying on any process other than the user process and the process of the DMA transfer requesting entity, when the access of the user process to the DMA transfer requesting entity occurs.
Dependencies are inferred from the claim text.