Methods and apparatus for providing independent logical address space and access management
AssigneeSony Computer Entertainment Inc.
InventorKatsushi Otsuka
Life of this patent
Estimating the term…
Abstract
A command receiver receives, from an external access requesting entity, a command with which to access data, together with an address to be accessed and IOID to identify the access requesting entity. Based on the IOID, the access decision unit determines whether or not an access is one that is to be permitted for an access requesting entity to access a region of access destination. The access decision unit determines whether access of the access requesting entity is permitted or not, for each page that serves as the basic management unit of logical address in the processor space.
Claims22
An I/O access control apparatus, comprising:
- a command receiver which receives, from an external access requesting entity, a command for controlling data in a memory space of a processor, together with address information used to specify an address to be accessed and ID information used to identify the access requesting entity;
- an access decision unit which determines whether access of the access requesting entity to an address specified by the address information is permitted or not, by referring to an access permission/denial determination table that associates an address in the memory space with ID information on an access requesting entity which is to be permitted to access a region specified by the address;
- and
- an access processing unit which executes access of the access requesting entity to the memory space, on the condition that the access has been permitted by said access decision unit,
- wherein said access decision unit determines, per page which is a unit of basic management in the memory space, whether access of the access requesting entity is permitted or not, and
- wherein in a case where plurality of access requesting entities transmit commands to access different pages, said access processing unit is capable of executing accesses to the different pages by the plurality of access requesting entities parallely in time.
An I/O access control apparatus, comprising:
- a command receiver which receives, from an external access requesting entity, a command for controlling data in a memory space of a processor, together with address information used to specify an address to be accessed and ID information used to identify the access requesting entity;
- an access decision unit which determines whether access of the access requesting entity to an address specified by the address information is permitted or not, by referring to an access permission/denial determination table that associates an address in the memory space with ID information on an access requesting entity which is to be permitted to access a region specified by the address;
- an access processing unit which executes access of the access requesting entity to the memory space, on the condition that the access has been permitted by said access decision unit;
- an address translation table storage which stores an address translation table to translate a logical address into a physical address, wherein the address information is information indicative of the logical address which is a virtual address converted from an address of the memory space into a predetermined format;
- an address translation unit which translates the logical address specified by the address information into a physical address by referring to the address translation table;
- and
- a cache processing unit which loads beforehand a partial translation table which is a part corresponding to a predetermined logical address range in the address translation table, into a cache memory from said address translation table storage, prior to address translation by said address translation unit,
- wherein said access processing unit executes the access of the access requesting entity based on the physical address identified by said address translation unit,
- wherein when data necessary for converting a logical address specified by the address information into a physical address is contained in the loaded partial translation table, said address translation unit performs address translation by referring to the partial translation table, and
- wherein when the data necessary for converting a logical address specified by the address information into a physical address is not contained in the loaded partial translation table, said cache processing unit loads a new partial translation table into the cache memory from said address translation table storage.
A command transmit auxiliary apparatus, comprising:
- an ID adding unit which assigns ID information to identify a predetermined access requesting entity, to a command for controlling data, in a memory space of a processor, sent from the access requesting entity together with address information used to specify an address to be accessed in the memory space of a processor;
- a command transmitter which transmits the command to which the ID information has been assigned, to an external device, wherein the external device determines whether access of the access requesting entity to the address specified by the address information is to be permitted or not, by referring to an access permission/denial determination table that associates an address of the memory space and ID information on an access requesting entity whose access to a region specified by said address of the memory space is permitted;
- and
- a segment address generator which generates a segment address in a manner that a unique ID for the access requesting entity is converted by use of a predetermined segment generation table,
- wherein said ID adding unit produces the ID information in a manner that a unique ID for the access requesting entity is converted by use of a predetermined ID generation table, and
- wherein said command transmitter transmits the command in a manner that the segment address is contained in part of the address information.
A method for controlling I/O access, comprising:
- receiving, from an external access requesting entity, a command for controlling data in a memory space of a processor, together with address information used to specify an address to be accessed and ID information used to identify the access requesting entity;
- determining whether access of the access requesting entity to an address specified by the address information is permitted or not, by referring to an access permission/denial determination table that associates an address in the memory space with ID information on an access requesting entity which is to be permitted to access a region specified by the address;
- executing access of the access requesting entity to the memory space, on the condition that the access has been permitted by said determining;
- translating a logical address specified by the address information into a physical address by referring to an address translation table to translate the logical address into the physical address wherein the address information is information indicative of the logical address which is a virtual address converted from an address of the memory space into a predetermined format;
- and
- loading beforehand a partial translation table which is a part corresponding to a predetermined logical address range in the address translation table, into a cache memory, prior to the execution of address translation,
- wherein said determining is such that whether access of the access requesting entity is permitted or not is determined per page which is a unit of basic management in the memory space,
- wherein the access of the access requesting entity is executed based on the physical address identified by the address translation table,
- wherein when data necessary for converting a logical address specified by the address information into a physical address is contained in the loaded partial translation table, the address translation is performed by referring to the partial translation table, and
- wherein when the data necessary for converting a logical address specified by the address information into a physical address is not contained in the loaded partial translation table, a new partial translation table is loaded into the cache memory.
A command transmit auxiliary method, comprising:
- assigning ID information to identify a predetermined access requesting entity, to a command for controlling data, in a memory space of a processor, sent from the access requesting entity together with address information used to specify an address to be accessed in the memory space of a processor;
- transmitting the command to which the ID information has been assigned, to an external device, wherein the external device determines whether access of the access requesting entity to the address specified by the address information is to be permitted or not, by referring to an access permission/denial determination table that associates an address of the memory space and ID information on an access requesting entity whose access to a region specified by said address of the memory space is permitted, and
- generating a segment address in a manner that a unique ID for the access requesting entity is converted by use of a predetermined segment generation table,
- wherein the ID information is produced in a manner that a unique ID for the access requesting entity is converted by use of a predetermined ID generation table, and
- wherein the command is transmitted in a manner that the segment address is contained in part of the address information.
A computer-readable recording medium which stores a computer product for controlling I/O access, the product comprising:
- a receiving code module for receiving, from an external access requesting entity, a command for controlling data in a memory space of a processor, together with address information used to specify an address to be accessed and ID information used to identify the access requesting entity;
- a determining code module for determining whether access of the access requesting entity to an address specified by the address information is permitted or not, by referring to an access permission/denial determination table that associates an address in the memory space with ID information on an access requesting entity which is to be permitted to access a region specified by the address;
- and
- an accessing code module for executing access of the access requesting entity to the memory space, on the condition that the access has been permitted by the determining code module,
- wherein the determining code module determines, per page which is a unit of basic management in the memory space, whether access of the access requesting entity is permitted or not, and
- wherein in a case where a plurality of access requesting entities transmit commands to access different pages, the accessing code module is capable of executing accesses to the different pages by the plurality of access requesting entities parallely in time.
A computer-readable recording medium which stores a computer product for assisting the transmission of commands, the product including:
- a assigning code module for assigning ID information to identify a predetermined access requesting entity, to a command for controlling data, in a memory space of a processor, sent from the access requesting entity together with address information used to specify an address to be accessed in the memory space of a processor;
- a transmitting code module for transmitting the command to which the ID information has been assigned, to an external device, wherein the external device determines whether access of the access requesting entity to the address specified by the address information is to be permitted or not, by referring to an access permission/denial determination table that associates an address of the memory space and ID information on an access requesting entity whose access to a region specified by said address of the memory space is permitted;
- and
- a segment-address-generating code module which generates a segment address in a manner that a unique ID for the access requesting entity is converted by use of a predetermined segment generation table,
- wherein the ID information is produced in a manner that a unique ID for the access requesting entity is converted by use of a predetermined ID generation table, and
- wherein said transmitting code module transmits the command in a manner that the segment address is contained in part of the address information.
Dependencies are inferred from the claim text.