# US 10,372,491 B2 · Execution context migration method and apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,491 B2
- Document ID: US10372491B2
- Status: Granted
- Kind: B2
- Application number: 15/553,481
- Filed: 2015-03-23
- Published: 2018-02-15
- Granted: 2019-08-06
- Earliest claimed: 2015-03-23
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Vincent J. Zimmer; Jiewen Yao; Sarathy Jayakumar; Robert C. Swanson; Rajesh Poornachandran; Gopinatth Selvaraje; Mingqiu Sun; John S. Howard; Eugene Gorbatov
- Web page: https://patentgrep.com/patent/US10372491B2

## CPC

- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 1/1632: {External expansion units, e.g. docking stations}
- G06F 1/3215: Monitoring of peripheral devices
- G06F 1/3287: by switching off individual functional units in the computer system
- G06F 1/3293: by switching to a less power-consuming processor, e.g. sub-CPU
- G06F 9/46: Multiprogramming arrangements
- G06F 9/4812: {by interrupt, e.g. masked}
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Methods, apparatuses and storage medium associated with migration between processors by a computing device are disclosed. In various embodiments, a portable electronic device having an internal processor and internal memory may be attached to a dock. The dock may include another processor as well other memory. The attachment of the dock to the portable electronic device may cause an interrupt. In response to this interrupt, a state associated with the internal processor may be copied to the other memory of the dock. Instructions for the computing device may then be executed using the other processor of the dock. Other embodiments may be disclosed or claimed.

## Claims

### Claim 1

A computing device with migration of execution context, the computing device comprising:
one or more first processors;
first physical memory, coupled with the one or more processors, to store an operating system to be loaded into the physical memory for execution by the one or more processors; and
an execution management module, to be loaded into the physical memory and operated by the one or more processors, to:
detect an interrupt associated with coupling a hardware component with the computing device, the hardware component having one or more additional processors and additional physical memory coupled with the one or more additional processors;
initialize the one or more additional processors based on the detected interrupt; and
copy at least part of a state associated with the one or more first processors from the first physical memory to the additional physical memory based on the detected interrupt.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the computing device is a portable electronic device.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the one or more first processors consume less power during operation relative to the one or more additional processors.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the hardware component comprises a base adapted to have the computing device docked thereto.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the first physical memory comprises first Double-Data-Rate (DDR) Synchronous Dynamic Random Access Memory (SDRAM) and the additional physical memory comprises additional DDR SDRAM.

### Claim 6 (depends on 1)

The computing device claim 1, wherein the execution management module is further to:
copy one or more instructions from the first physical memory to the additional physical memory based on the detected interrupt.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the execution management module is further to:
switch one or more first memory banks associated with the first physical memory to one or more additional memory banks associated with the additional physical memory; and
switch address mapping from the one or more first memory banks to the one or more additional memory banks.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein the execution management module is further to:
cause at least one of the one or more first processors and the first physical memory to transition to a low-power state.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the execution management module is further to:
detect a CPUID request from the operating system; and
respond to the CPUID request with a first indication of the one or more first processors and a second indication of resources available through the one or more additional processors.

### Claim 10 (depends on 1)

The computing device of claim 1, wherein the execution management module is further to:
detect another interrupt associated with uncoupling the hardware component from the computing device;
initialize the one or more first processors based on the detected other interrupt; and
copy at least part of a state associated with the one or more additional processors from the additional physical memory to the first physical memory based on the detected other interrupt.

### Claim 11 (depends on 1)

The computing device of claim 1, wherein the execution management module is further to:
cause one or more instructions associated with trusted execution context to be loaded only into the first physical memory and executed only by the one or more first processors.

### Claim 12 (depends on 1)

The computing device of claim 1, wherein the one or more first processors include at least one core associated with execution of a system management mode, and the at least one core associated with execution of the system management mode is to operate the execution management module.

### Claim 13

A computer-implemented method for migrating execution context associated with a portable electronic device, the method comprising:
receiving, by the portable electronic device, an interrupt associated with coupling the portable electronic device with a dock, the dock having at least one processor and physical memory coupled with the at least one processor;
activating, by the portable electronic device, the at least one dock processor based on the receiving of the interrupt;
loading, by the portable electronic device, a processor state associated with a first processor of the portable electronic device from a first physical memory of the portable electronic device to the dock physical memory based on the receiving of the interrupt; and
causing, by the portable electronic device, execution of instructions for the portable electronic device using the at least one dock processor.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein the portable electronic device is a tablet or a smartphone.

### Claim 15 (depends on 13)

The computer-implemented method of claim 13, further comprising:
detecting, by the portable electronic device, one or more secure mode instructions; and
executing, by the portable electronic device, the one or more secure mode instructions using the first processor of the portable electronic device.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15, further comprising:
causing, by the portable electronic device, a system management interrupt based on the detecting of the one or more secure mode instructions; and
switching, by the portable electronic device, from the at least one dock processor to the first processor based on the system management interrupt.

### Claim 17 (depends on 13)

The computer-implemented method of claim 13, further comprising:
issuing, by the portable electronic device, a challenge to the dock;
receiving, by the portable electronic device, a response to the challenge; and
determining, by the portable electronic device, that the dock is verified for the executing of the one or more instructions based on the response.

### Claim 18 (depends on 13)

The computer-implemented method of claim 13, further comprising:
swapping, by the portable electronic device, a first memory bank associated with the first physical memory into a second memory bank associated with the dock physical memory; and
updating, by the portable electronic device, one or more address mapping from the first memory bank to the second memory bank based on the swapping.

### Claim 19 (depends on 13)

The computer-implemented method of claim 13, further comprising:
receiving, by the portable electronic device, a CPUID instruction from an operating system of the portable electronic device; and
responding, by the portable electronic device, to the CPUID instruction based on the activating of the at least one dock processor.

### Claim 20 (depends on 13)

The computer-implemented method of claim 13, further comprising:
updating, by the portable electronic device, one or more advanced configuration and power interface (ACPI) tables associated with an operating system of the portable electronic device based on the activating of the at least one dock processor.
