US2022413892A1PendingUtilityA1

Secure access of virtual machine memory suitable for ai assisted automotive applications

Assignee: NVIDIA CORPPriority: Aug 3, 2018Filed: Aug 30, 2022Published: Dec 29, 2022
Est. expiryAug 3, 2038(~12 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 2009/45583G06F 3/0662G06F 21/79G06F 21/53G06F 3/067G06F 3/0659G06F 3/0622G06F 2009/45587G06F 2009/45595G05D 1/0088B60W 60/001
61
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In various examples, access to VM memory by virtualization software is secured using a trusted firmware of a host controller to validate one or more of a command to read a VM's memory and/or the data read from VM memory in order to protect against improper access to data in VM memory. If validation fails, the firmware may refrain from reading the data and/or from providing the virtualization software with access to the data. The data may include a request command from a VM regarding establishing or modifying a connection using the host controller to another entity, such as another device within or outside of the virtualization environment. The virtualization software may use the request command to facilitate the connection. The host controller may provide an eXtensible Host Controller Interface (xHCI) or a different type of interface for the connection.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 recording information indicating receipt, by a host controller, of a notification that a virtual machine (VM) has stored data in memory allocated to the VM;   validating, by the host controller using the information indicating the receipt of the notification, a command from a virtual machine manager (VMM) to read the data in the memory; and   providing the VMM with access to the data read from the memory based at least on the command being validated by the host controller.   
     
     
         2 . The method of  claim 1 , wherein the notification is sent by the VM responsive to the VM storing the data in the memory. 
     
     
         3 . The method of  claim 1 , wherein the information corresponds to a quantity of at least one of:
 one or more notifications received by the host controller from the VM, wherein the validating is based at least on the quantity of notifications received by the host controller from the VM; or   one or more requests sent by the host controller to the VMM responsive to at least the notification from the VM, wherein the validating is based at least on the quantity of requests sent by the host controller to the VMM.   
     
     
         4 . The method of  claim 1 , wherein the host controller is comprised in at least one of:
 a control system for an autonomous or semi-autonomous machine;   a perception system for an autonomous or semi-autonomous machine;   a system for generating or presenting virtual reality (VR) content;   a system for generating or presenting augmented reality (AR) content;   a system implemented using a robot; or   a system incorporating one or more virtual machines (VMs).   
     
     
         5 . The method of  claim 1 , wherein the notification comprises one or more commands from the VM, and the method further includes sending, in response to the receipt of the notification, a request to the VMM to cause the VMM to perform processing of the one or more commands from the VM, wherein the command is sent from the VMM as part of the processing. 
     
     
         6 . The method of  claim 1 , wherein the information represents a virtual function identifier (VF ID), and the validating includes comparing, using the information, the VF ID to an identifier received in the command. 
     
     
         7 . The method of  claim 1 , wherein the information represents a slot identifier (ID), and the validating includes comparing, using the information, the slot ID to an identifier received in the command. 
     
     
         8 . The method of  claim 1 , wherein the command is a read command generated by the VMM and comprises a memory address and a data size to be read using the memory address, and the validating includes determining the data size matches a memory size indicated by the information. 
     
     
         9 . The method of  claim 1 , wherein the data comprises a request by the VM for connection capabilities of an entity based at least on a connection of the entity to the host controller, and the notification represents a doorbell event for the request. 
     
     
         10 . One or more processors comprising:
 one or more circuits to:
 generate, using a host controller, a record of an event, the event corresponding a virtual machine (VM) storing data in memory allocated to the VM; 
 validating, using the host controller corresponding to the record, a command from a virtual machine manager (VMM) to access the data from the memory; and 
 providing the WM with access to the data based at least on the command being validated using the host controller. 
   
     
     
         11 . The one or more processors of  claim 10 , wherein the generating of the record is in response to receiving a notification sent by the VM responsive to the storing of the data in the memory. 
     
     
         12 . The one or more processors of  claim 10 , wherein the record corresponds to a quantity of at least one of:
 one or more notifications of storage events received by the host controller from the VM, wherein the validating is based at least on the quantity of notifications of storage events received by the host controller from the VM; or one or more requests sent by the host controller to the WM for the WM to process one or more commands from the VM, wherein the validating is based at least on the quantity of requests sent by the host controller to the VMM.   
     
     
         13 . The one or more processors of  claim 10 , wherein the one or more circuits are comprised in at least one of:
 a control system for an autonomous or semi-autonomous machine;   a perception system for an autonomous or semi-autonomous machine;   a system for generating or presenting virtual reality (VR) content;   a system for generating or presenting augmented reality (AR) content;   a system implemented using a robot; or   a system incorporating one or more virtual machines (VMs).   
     
     
         14 . The one or more processors of  claim 10 , wherein the validating is based at least on the host controller determining at least one of a virtual function identifier in the record or a slot identifier in the record matches the command. 
     
     
         15 . The one or more processors of  claim 10 , wherein the data comprises a request by the VM for connection capabilities of an entity based at least on a connection of the entity to the host controller, and the record is generated in response to a doorbell event for the request. 
     
     
         16 . A system comprising:
 one or more processing units to provide a virtual machine manager (VMM) with access to data in memory allocated to a virtual machine (VM) based at least on using a host controller to validate a command from the VMM to access the data, wherein the host controller validates the command using information that includes a record of the VM storing the data in the memory.   
     
     
         17 . The system of  claim 16 , wherein the information is generated in response to the host controller receiving a notification sent by the VM responsive to the storing of the data in the memory. 
     
     
         18 . The system of  claim 16 , wherein the information corresponds to a quantity of at least one of:
 one or more notifications of storage events received by the host controller from the VM, wherein the validating is based at least on the quantity of notifications of storage events received by the host controller from the VM; or   one or more requests sent by the host controller to the VMM for the VMM to process one or more commands from the VM, wherein the validating is based at least on the quantity of requests sent by the host controller to the VMM.   
     
     
         19 . The system of  claim 16 , wherein the system comprises at least one of:
 a control system for an autonomous or semi-autonomous machine;   a perception system for an autonomous or semi-autonomous machine;   a system for generating or presenting virtual reality (VR) content;   a system for generating or presenting augmented reality (AR) content;   a system implemented using a robot; or   a system incorporating one or more virtual machines (VMs).   
     
     
         20 . The system of  claim 16 , wherein the data comprises a request by the VM for connection capabilities of an entity based at least on a connection of the entity to the host controller, and the information is generated in response to a doorbell event for the request.

Join the waitlist — get patent alerts

Track US2022413892A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.