Memory management

US2016259731A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016259731-A1
Application numberUS-201615054866-A
CountryUS
Kind codeA1
Filing dateFeb 26, 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 method of operation of a host data processing system which provides a virtual operating environment for one or more guest data processing systems comprises: initiating a transaction for translation of a guest system memory address to a host system physical address in response to a transaction request from a device overseen by a guest system for access to system memory at that guest system memory address; storing identification information relating to that transaction including at least data identifying device which requested the transaction; detecting a translation error condition in respect of that transaction; and handling a detected error condition by: (i) providing information indicative of the translation error condition to the guest system overseeing the device which requested the transaction; (ii) receiving a command from the guest system in respect of that transaction, the command from the guest system comprising information identifying the device which requested the transaction; and (iii) validating the received command for execution, by comparing the stored identification information for that transaction with at least the identity of the device identified by the command.

First claim

Opening claim text (preview).

1 . A method of operation of a host data processing system which provides a virtual operating environment for one or more guest data processing systems, the method comprising: initiating a transaction for translation of a guest system memory address to a host system physical address in response to a transaction request from a device overseen by a guest system for access to system memory at that guest system memory address; storing identification information relating to that transaction including at least data identifying the device which requested the transaction; detecting a translation error condition in respect of that transaction; and handling a detected error condition by: (i) providing information indicative of the translation error condition to the guest system overseeing the device which requested the transaction; (ii) receiving a command from the guest system in respect of that transaction, the command from the guest system comprising information identifying the device which requested the transaction; and (iii) validating the received command for execution, by comparing the stored identification information for that transaction with at least the identity of the device identified by the command. 2 . A method according to claim 1 , in which the identification information comprises information identifying that transaction amongst other transactions being handled by the host system. 3 . A method according to claim 1 , in which the providing step comprises: providing information identifying the transaction and information identifying the device which requested the transaction. 4 . A method according to claim 3 , in which the command from the guest system comprises information identifying the transaction. 5 . A method according to claim 1 , in which the detecting step comprises: detecting an error type, from a set or two or more error types, in respect of the translation error condition; for a first subset of error types, terminating the transaction; and for error types other than those in the first subset of error types, performing the handling step. 6 . A method according to claim 1 , in which the providing step comprises: generating transaction identifier data comprising: an identifier of the device which requested the transaction, an identifier of the transaction amongst other transactions being handled by the host system, data defining an error type, a guest system memory address relating to the transaction, and data defining a type of memory access requested by the device; and providing the transaction identifier data to the guest system overseeing the device which requested the transaction. 7 . A method according to claim 6 , in which the providing step comprises adding the transaction identifier data to an event queue associated with the guest system overseeing the device which requested the transaction. 8 . A method according to claim 7 , in which the providing step comprises: adding the transaction identifier data to an event queue associated with the host system; and copying the transaction identifier data from the event queue associated with the host system to the event queue associated with the guest system overseeing the device which requested the transaction. 9 . A method according to claim 8 , in which the copying step comprises modifying the data defining an error type prior to copying the transaction identifier data to the event queue associated with the guest system overseeing the device which requested the transaction. 10 . A method according to claim 8 , in which the copying step comprises modifying the data identifying the device which requested the transaction prior to copying the transaction identifier data to the event queue associated with the guest system overseeing the device which requested the transaction. 11 . A method according to claim 7 , in which the command from the guest system comprises the transaction identifier data. 12 . A method according to claim 11 , in which the receiving step comprises: detecting a command issued by the guest system in a command queue associated with the guest system overseeing the device which requested the transaction; and copying the command from the command queue associated with the guest system overseeing the device which requested the transaction to a command queue associated with the host system. 13 . A method according to claim 1 , in which the validating step comprises verifying that the guest system originating the command is overseeing the device identified by the command. 14 . A method according to claim 1 , in which the validating step comprises preventing execution of the command if the stored identification information for that transaction does not correspond to the device identified by the command. 15 . A host data processing system configured to provide a virtual operating environment for one or more guest data processing systems, the host data processing system comprising: a memory management unit configured to initiate a transaction for translation of a guest system memory address to a host system physical address in response to a transaction request from a device overseen by a guest system for access to system memory at that guest system memory address; a transaction buffer configured to store identification information relating to that transaction including at least data identifying the device which requested the transaction; an error detector configured to detect a translation error condition in respect of that transaction; and error handling logic configured to handle a detected error condition by: (i) providing information indicative of the translation error condition to the guest system overseeing the device which requested the transaction; (ii) receiving a command from the guest system in respect of that transaction, the command from the guest system comprising information identifying the device which requested the transaction; and (iii) validating the received command for execution, by comparing the stored identification information for that transaction with at least the identity of the device identified by the command. 16 . A host data processing system operable to provide a virtual operating environment for one or more guest data processing systems, the host data processing system comprising: means for initiating a transaction for translation of a guest system memory address to a host system physical address in response to a transaction request from a device overseen by a guest system for access to system memory at that guest system memory address; means for storing identification information relating to that transaction including at least data identifying the device which requested the transaction; means for detecting a translation error condition in respect of that transaction; means for providing information indicative of the translation error condition to the guest system overseeing the device which requested the transaction; means for receiving a command from the guest system in respect of that transaction, the command from the guest system comprising information identifying the device which requested the transaction; and means for validating the received command for execution, by comparing the stored identification information for that transaction with at least the identity of the device identified by the command.

Assignees

Inventors

Classifications

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • Details of virtual memory and virtual address translation · CPC title

  • G06F12/10Primary

    Address translation · CPC title

  • Correctness of operation, e.g. memory ordering · 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 US2016259731A1 cover?
A method of operation of a host data processing system which provides a virtual operating environment for one or more guest data processing systems comprises: initiating a transaction for translation of a guest system memory address to a host system physical address in response to a transaction request from a device overseen by a guest system for access to system memory at that guest system mem…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F21/53. 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).