Promotion of ERAT cache entries

US11221957B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11221957-B2
Application numberUS-201816119013-A
CountryUS
Kind codeB2
Filing dateAug 31, 2018
Priority dateAug 31, 2018
Publication dateJan 11, 2022
Grant dateJan 11, 2022

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 method, computer program product, and a computer system are disclosed for processing information in a processor that in one or more embodiments includes receiving a request for an Effective Address to Real Address Translation (ERAT); determining whether there is a permissions miss; changing, in response to determining there is a permission miss, permissions of an ERAT cache entry; and providing a Real Address translation. The method, computer program product, and computer system may optionally include providing a promote checkout request to a memory management unit (MMU).

First claim

Opening claim text (preview).

What is claimed is: 1. A method of processing information in a processor of a computer system, wherein the processor comprises: a memory management unit (MMU) configured to translate an effective address to a real address, the MMU having a translation-lookaside-buffer (TLB) having a plurality of TLB entries for storing a plurality of Effective Address to Real Address Translations (ERATs); and an acceleration unit configured to provide an interface between elements on the processor and processing elements external to the processor, the acceleration unit in communication with the MMU and having an ERAT cache having a plurality of ERAT cache entries for storing a plurality of ERATs provided by the MMU, wherein each ERAT cache entry has a corresponding ERAT in an entry in the TLB, the method comprising: receiving by the ERAT cache a request for an Effective Address to Real Address Translation (ERAT); determining whether there is a matching ERAT cache entry in the plurality of ERAT entries in the ERAT cache; determining whether, in response to there being a matching ERAT cache entry in the ERAT cache, there is an access permissions miss for the matching ERAT cache entry in the ERAT cache; providing, in response to determining there is an access permissions miss for the matching ERAT cache entry, a promote checkout request to the MMU; determining whether, in response to providing a promote checkout request to the MMU unit, a promotion of the access permissions for the matching ERAT cache entry is allowed; and providing, in response to determining the promotion of the access permissions for the matching ERAT entry is not allowed, a promote checkout response containing a fault status to the matching ERAT cache entry; changing, in response to determining the promotion of the access permissions for the matching ERAT cache entry is allowed, the access permissions of the matching ERAT cache entry in the ERAT cache for which there was the access permissions miss; and providing a Real Address translation from the matching ERAT cache entry with the changed access permissions in the ERAT cache. 2. The method of claim 1 , wherein the access permission miss occurs when the matching ERAT cache entry is established with read permissions for an Effective Address and a write permission for the Effective Address is received in the request. 3. The method of claim 1 , wherein the request received by the ERAT cache for the ERAT comprises a request for establishing write permission for the ERAT cache entry. 4. The method of claim 1 , wherein the fault status is invoked when the matching ERAT cache entry indicates a write request is not permitted, and the processor sends an interrupt to an operating system of the computer system. 5. The method of claim 1 , wherein changing the access permissions of the ERAT cache entry further comprises changing permissions in the MMU by changing a C bit of a page table entry corresponding to the matching ERAT cache entry, where the C bit indicates the access permissions. 6. The method of claim 1 , wherein changing the permissions of the matching ERAT cache entry further comprises updating the permissions of the matching ERAT cache entry by changing a C bit, where the C bit indicates access permissions. 7. The method of claim 1 , wherein changing the permissions of the matching ERAT cache entry further comprises updating the access permissions of the matching ERAT cache entry from read permission to include either write permission or read/write permission. 8. The method of claim 1 , wherein receiving the request for the ERAT comprises receiving a read request to an address translated by the MMU. 9. The method of claim 1 , further comprising marking an entry in the TLB as in use in response to a translation in the TLB entry residing in an entry in the ERAT cache. 10. A computer program product for a processor, the processor comprising: a memory management unit (MMU) configured to translate an effective address to a real address, the MMU having a translation-lookaside-buffer (TLB) having a plurality of TLB entries for storing a plurality of Effective Address to Real Address Translations (ERATs); and an acceleration unit configured to provide an interface between elements on the processor and processing elements external to the processor, the acceleration unit in communication with the MMU and having an ERAT cache having a plurality of ERAT cache entries for storing a plurality of ERATs provided by the MMU, wherein each ERAT cache entry has a corresponding ERAT in an entry in the TLB, the computer program product comprising: a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by the processor, the program instructions when executed by the processor cause the processor to: receive by the ERAT cache a request for an Effective Address to Real Address Translation (ERAT); determine whether there is a matching ERAT cache entry in the ERAT cache storing the plurality of ERATs; determine whether, in response to there being a matching ERAT cache entry in the ERAT cache, there is an access permissions miss for the matching ERAT cache entry; determine, in response to determining there is an access permissions miss for the matching ERAT cache entry, whether a promotion of the access permission for the matching ERAT cache entry is allowed; and changing, in response to determining promotion of the access permission for the matching ERAT cache entry is allowed, the access permissions of the matching ERAT cache entry for which there was the access permission miss without creating a new ERAT cache entry; and providing a Real Address translation from the matching ERAT cache entry with the changed access permissions in the ERAT cache, provide, in response to determining the promotion of the access permissions for the matching ERAT cache entry is not allowed, a promote checkout response containing a fault status to the matching ERAT cache entry. 11. The computer program product of claim 10 , further comprising instructions that when executed by the processor cause the processor to: provide, in response to determining there is an access permission miss for the matching ERAT cache entry, a promote checkout request to the MMU; and determine whether, in response to providing a promote checkout request to the MMU, a promotion of the access permission for the matching ERAT cache entry is allowed. 12. The computer program product of claim 10 , wherein the request for the ERAT received by the ERAT cache comprises a request for establishing write permission for the ERAT cache entry. 13. The computer program product of claim 10 , wherein changing the access permissions of the matching ERAT cache entry further comprises updating the access permissions of the matching ERAT cache entry from read permission to include either write permission or read/write permission. 14. The computer program product of claim 10 , further comprising instructions that when executed by the processor cause the processor to mark an entry in the TLB as in use in response to a translation in the TLB entry residing in an entry in the ERAT cache. 15. An information handling system comprising: one or more processors having one or more acceleration units and one or more memory management units (MMUs) wherein at least one of the MMUs is configured to translate an effective address to a real address, the MMU having at least one translation-lookaside-buffer (TLB) having a plurality of TLB entries for storing a plurality of Effective Address to Real Address Translations (ERATs)

Assignees

Inventors

Classifications

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

  • Virtual address space management · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • Free address space management · CPC title

  • using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · 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 US11221957B2 cover?
A method, computer program product, and a computer system are disclosed for processing information in a processor that in one or more embodiments includes receiving a request for an Effective Address to Real Address Translation (ERAT); determining whether there is a permissions miss; changing, in response to determining there is a permission miss, permissions of an ERAT cache entry; and providi…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/1009. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 11 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).