Peripheral device with resource isolation
AssigneeMicrosoft Technology Licensing, LLC
InventorsStavros VOLOS, Kapil Vaswani
Life of this patent
Estimating the term…
Abstract
A peripheral device package for use in a host computing device has a plurality of compute elements and a plurality of resources shared by the plurality of compute elements. A datastructure is stored in a hidden memory of the peripheral device package. The data structure holds metadata about ownership of resources of the peripheral device package by a plurality of user runtime processes of the host computing device which use the compute elements. At least one of the user runtime processes is a secure user runtime process. The peripheral device package has a command processor configured to use the datastructure to enforce isolation of the resources used by the secure user runtime process.
Claims20
At least one non-transitory machine readable medium including instructions, which when executed by processing circuitry, cause the processing circuitry to perform operations to:
- receive, at a device driver from at least one secure user runtime process, a secure channel request for a peripheral device, the secure channel request including a public key;
- determine resource allocation for device memory based on the secure channel request;
- in response to determining the resource allocation, send, from the device driver, a secure channel create command over a non-secure channel to a command processor, the secure channel create command including the public key;
- and
- use the secure channel, via the at least one secure user runtime process, to receive data executed on the peripheral device.
A method comprising:
- receiving, at a device driver from at least one secure user runtime process, a secure channel request for a peripheral device, the secure channel request including a public key;
- determining, using processing circuitry, resource allocation for device memory based on the secure channel request;
- in response to determining the resource allocation, sending, from the device driver, a secure channel create command over a non-secure channel to a command processor, the secure channel create command including the public key;
- and
- using the secure channel, via the at least one secure user runtime process, to receive data executed on the peripheral device.
Dependencies are inferred from the claim text.