IP Library Granted Patent US 11,782,849
Granted Patent B2
US 11,782,849 · App. 17/367,349 · Granted Oct 10, 2023

Processors, methods, systems, and instructions to support live migration of protected containers

Inventors: Carlos V. Rozas (Portland, OR); Mona Vij (Hillsboro, OR); Rebekah M. Leslie-Hurd (Portland, OR); Krystof C. Zmudzinski (Forest Grove, OR); Somnath Chakrabarti (Portland, OR); Francis X. Mckeen (Portland, OR); Vincent R. Scarlata (Beaverton, OR); Simon P. Johnson (Beaverton, OR); Ilya Alexandrovich (Yokneam Illit, IL); Gilbert Neiger (Portland, OR); Vedvyas Shanbhogue (Austin, TX); Ittai Anati (Ramat Hasharon, IL)
Assignee: Intel Corporation
G06F12/1408G06F8/41G06F9/30145G06F9/45558G06F12/1441G06F12/1483G06F21/53G06F21/602G06F2009/4557G06F2009/45587G06F2212/1052
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,782,849
App. No.
17/367,349
Granted
Oct 10, 2023
Kind
B2
Abstract

A processor includes a decode unit to decode an instruction that is to indicate a page of a protected container memory, and a storage location outside of the protected container memory. An execution unit, in response to the instruction, is to ensure that there are no writable references to the page of the protected container memory while it has a write protected state. The execution unit is to encrypt a copy of the page of the protected container memory. The execution unit is to store the encrypted copy of the page to the storage location outside of the protected container memory, after it has been ensured that there are no writable references. The execution unit is to leave the page of the protected container memory in the write protected state, which is also valid and readable, after the encrypted copy has been stored to the storage location.

Claims (22)

1. An apparatus including at least one chip, the apparatus comprising:

decode circuitry to decode an instruction;

circuitry, based on the instruction, to access a control structure, the control structure to store a plurality of cryptographic keys capable of being migrated from a source computer system to a destination computer system;

cryptographic circuitry, based on the instruction, to:

decrypt a copy of data with a first cryptographic key, the data to be within an encrypted portion of a virtual machine, wherein the apparatus is to protect the data within the encrypted portion of the virtual machine from being disclosed to a virtual machine monitor; and

generate encrypted data, based on the decrypted copy of the data, with a second, different cryptographic key; and

a memory controller, based on the instruction, to store the encrypted data generated by the cryptographic circuitry to a memory location outside of the encrypted portion of the virtual machine,

wherein the apparatus is to leave the data within the encrypted portion of the virtual machine valid and readable, after the encrypted data has been stored to the memory location outside of the encrypted portion of the virtual machine.

2. The apparatus of claim 1 , wherein the decode circuitry is to decode the instruction that is to implicitly indicate a register, the register to store instruction specification information for the instruction.

3. The apparatus of claim 1 , wherein the memory controller, based on the instruction, is to store the encrypted data generated by the cryptographic circuitry to the memory location outside of the encrypted portion of the virtual machine, as part of a migration of the virtual machine from the source computer system to the destination computer system.

4. The apparatus of claim 1 , wherein the second cryptographic key is one of the plurality of cryptographic keys capable of being migrated from the source computer system to the destination computer system.

5. An apparatus including at least one chip, the apparatus comprising:

a decode unit to decode an instruction;

a circuit to access a control structure in response to the instruction, the control structure to store a second cryptographic key capable of being migrated from a source computer system to a destination computer system;

a cryptographic circuitry, in response to the instruction, to:

decrypt a copy of data with a first cryptographic key, the data to be within an encrypted portion of a virtual machine, wherein the apparatus is to protect the data within the encrypted portion of the virtual machine from being disclosed to a virtual machine monitor; and

generate encrypted data based on the decrypted copy of the data with the second cryptographic key; and

a memory controller, in response to the instruction, to store the encrypted data generated by the cryptographic circuitry to a memory location outside of the encrypted portion of the virtual machine,

wherein the apparatus is to leave the data within the encrypted portion of the virtual machine valid and readable after the encrypted data has been stored to the memory location outside of the encrypted portion of the virtual machine.

6. The apparatus of claim 5 , wherein the decode unit is to decode the instruction that is to implicitly indicate a register, the register to store instruction specification information for the instruction.

7. The apparatus of claim 5 , wherein the apparatus is to perform message authentication code computations based on the copy of the data in response to the instruction.

8. The apparatus of claim 5 , wherein the memory controller, in response to the instruction, is to store the encrypted data generated by the cryptographic circuitry to the memory location outside of the encrypted portion of the virtual machine, as part of a migration of the virtual machine from the source computer system to the destination computer system.

Continuity (4)
Continuation 16729251 · Dec 27, 2019
Continuation 15651771 · Jul 17, 2017
Continuation 14752227 · Jun 26, 2015
Related Publication 20210406201A1 · Dec 30, 2021
Cited By (2)
US 12,468,644 US 12,487,927