Provision of access control data within a data processing system

US9639484B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9639484-B2
Application numberUS-201113881113-A
CountryUS
Kind codeB2
Filing dateSep 27, 2011
Priority dateOct 26, 2010
Publication dateMay 2, 2017
Grant dateMay 2, 2017

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 data processing system ( 2 ) includes memory protection circuitry ( 10 ) storing access control data for controlling accesses to data at memory addresses within a main memory ( 16 ). An access control cache ( 14 ) may, in one embodiment, store access control data when the access control data is indicated by the memory protection circuitry ( 10 ) to be cachable. In another embodiment access control data is stored within the access control cache with determined address range data for reach determination of access control data by the memory protection circuitry. If the access control cache ( 14 ) is storing access control data for a memory access request, then the access control data stored within the access control cache ( 14 ) is used in place of access control data retrieved form the memory protection circuitry ( 10 ). In the first embodiment, access control data may be determined to be cachable is if is associated with a region of memory addresses within a plurality of hierarchically ordered memory addresses that is a highest order region which encompasses all the memory addresses within that region.

First claim

Opening claim text (preview).

The invention claimed is: 1. Apparatus for processing data comprising: memory protection circuitry configured to store access control data for a plurality of regions of memory address space within a memory, said plurality of regions having a hierarchical ordering there between, said memory protection circuitry: (i) determining, in response to a memory access request to a target memory address received by said memory protection circuitry, a controlling region within said plurality of regions, said controlling region having a highest position within said hierarchical ordering of any of said plurality of regions encompassing said target address; and (ii) returning access control data for said controlling region for controlling access to said memory by said memory access request; and an access control cache coupled to said memory protection circuitry and configured to store access control data returned from said memory protection circuitry and to provide said access control data for said memory access request in place of said memory protection circuitry when said access control cache is storing said access control data for said memory access request, wherein said memory protection circuitry when returning said access control data also generates: (a) a cachability signal indicative of whether or not said access control data is eligible to be stored in said access control cache; and (b) at least when said cachability signal indicates said access control data is eligible to be stored in said access control cache, address range defining signals for defining a range of memory address space within said memory for which said access control data controls access to said memory by memory access requests, and wherein said memory protection circuitry: generates said cachability signal with a value indicating said access control is eligible to be stored in said access control cache when said controlling region does not encompass any memory addresses that are encompassed within one or more other regions of said plurality of regions having a higher position within said hierarchical ordering than said controlling region; and generates said cachability signal with a value indicating said access control is not eligible to be stored in said access control cache when said controlling region encompasses at least one memory address that is encompassed within one or more other regions of said plurality of regions having a higher position within said hierarchical ordering than said controlling region. 2. Apparatus as claimed in claim 1 , wherein said memory protection unit is configured to store cachability data for each region of said plurality of regions, said cachability data indicating of whether or not access control data for said region is eligible to be stored in said access control cache, said memory protection unit generating said cachability signal for said controlling region in dependence upon said cachability data for said controlling region. 3. Apparatus as claimed in claim 2 , wherein said memory protection circuitry includes analysis circuitry, said analysis circuitry determining said cachability data for each region of said plurality of regions. 4. Apparatus as claimed in claim 3 , wherein said analysis circuitry is powered down when not determining said cachability data. 5. Apparatus as claimed in claim 3 , wherein said analysis circuitry determines said cachability data asynchronously to said memory protection circuitry responding to received memory access requests. 6. Apparatus as claimed in claim 3 , wherein said analysis circuitry is a non-programmable finite state machine circuitry. 7. Apparatus as claimed in claim 3 , wherein said analysis circuitry compares each of region of said plurality of regions with, in turn, all other regions of said plurality of regions to determine said cachability data for said region. 8. Apparatus as claimed in claim 2 , wherein said access control cache is flushed whenever any of said access control data stored by said memory protection circuitry is written. 9. Apparatus for processing data comprising: memory protection circuitry configured to store access control data for a plurality of regions of memory address space within a memory, said plurality of regions having a hierarchical ordering there between, said memory protection circuitry being configured to: (i) determine, in response to a memory access request to a target memory address received by said memory protection circuitry, a controlling region within said plurality of regions, said controlling region having a highest position within said hierarchical ordering of any of said plurality of regions encompassing said target address; and (ii) return access control data for said controlling region for controlling access to said memory by said memory access request; and an access control cache coupled to said memory protection circuitry and configured to store access control data returned from said memory protection circuitry and to provide said access control data for said memory access request in place of said memory protection circuitry when said access control cache is storing said access control data for said memory access request; wherein said memory protection circuitry when returning said access control data also generates: (a) a cachability signal indicative of whether or not said access control data is eligible to be stored in said access control cache; and (b) at least when said cachability signal indicates said access control data is eligible to be stored in said access control cache, address range defining signals for defining a range of memory address space within said memory for which said access control data controls access to said memory by memory access requests; and wherein: said plurality of regions include one or more non-contiguous regions, each non-contiguous region encompassing a plurality discrete ranges of memory addresses; and said memory protection circuitry generates said cachability signal with a value indicating said access control is not eligible to be stored in said access control cache when said controlling region is a non-contiguous region. 10. Apparatus as claimed in claim 9 , wherein said cachability data is determined whenever any of said access control data stored by said memory protection circuitry is written. 11. Apparatus as claimed in claim 9 , wherein address defining signals specify one of: (i) a base address of said controlling region and a size of said controlling region; and (ii) a base address of said controlling region and a mask value for applying to a memory address to determine in conjunction with said base address if said memory address is within said controlling region. 12. Apparatus as claimed in claim 9 , comprising a cache memory configured to store program instructions from a main memory, said memory access request being a cache fetch from said main memory to said cache memory and said access control cache being coupled to said cache memory so as to provide said access control data for said cache fetch in place of said memory protection circuitry when said access control cache is storing said access control data for said cache fetch. 13. Apparatus as claimed in claim 9 , wherein said apparatus operates in a plurality of hardware modes and said access control data indicates for each region of said plurality of regions data specifying in which of said plurality of hardware modes a memory access request to a memory address within said region is permitted. 14. Apparatus as claimed in claim 9 , wherein said access control data indicates for each region of said plurality of regions data speci

Assignees

Inventors

Classifications

  • for a range · CPC title

  • by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights (G06F12/1458 takes precedence) · CPC title

  • the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism · CPC title

  • Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title

  • by checking the subject access rights · 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 US9639484B2 cover?
A data processing system ( 2 ) includes memory protection circuitry ( 10 ) storing access control data for controlling accesses to data at memory addresses within a main memory ( 16 ). An access control cache ( 14 ) may, in one embodiment, store access control data when the access control data is indicated by the memory protection circuitry ( 10 ) to be cachable. In another embodiment access co…
Who is the assignee on this patent?
Craske Simon John, Teyssier Melanie Emanuelle Lucie, Huot Nicolas Jean Phillippe, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F12/1441. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 02 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).