# US 10,768,684 B2 · Reducing power by vacating subsets of CPUs and memory

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

- Number: US 10,768,684 B2
- Document ID: US10768684B2
- Status: Granted
- Kind: B2
- Application number: 16/222,834
- Filed: 2018-12-17
- Published: 2019-04-25
- Granted: 2020-09-08
- Earliest claimed: 2015-05-08
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Vishal Sharda; Bruce Lee Worthington
- Web page: https://patentgrep.com/patent/US10768684B2

## CPC

- G06F 1/3234: Power saving characterised by the action undertaken
- G06F 1/32: Means for saving power
- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system has one or more primary power regions having restrictions indicating that the primary power regions are not to be placed in an offline state. The system also includes one or more secondary power region that can either be parked or off-lined into a limited state having limited functionality in that functionality is removed from the one or more secondary power regions when placed in a limited state. At least one interrupt is allocated to one of the primary power regions, based on interrupt characteristics.

## Claims

### Claim 1

In a computing environment, a method of allocating resources to one or more power regions, the method comprising:
identifying a primary power region having restrictions indicating that the primary power region is not to be placed in an offline state, wherein the primary power region comprises one or more first processors and a first attached memory;
identifying a secondary power region that can either be parked or off-lined into a limited state having limited functionality in that functionality is removed from the secondary power region when placed in the limited state, wherein the secondary power region comprises one or more second processors and a second attached memory having a memory page containing page content that is movable to another memory page; and
upon receiving an indication that the page content in the memory page of the second attached memory is to be unmovable, copying the page content from the memory page of the second attached memory to a memory page of the first attached memory in the identified primary power region and marking the memory page of the first attached memory as unmovable.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
subsequent to copying the page content from the memory page of the second attached memory to the memory page of the first attached memory, instructing the secondary power region to enter the limited state.

### Claim 3 (depends on 2)

The method of claim 2, further comprising bringing the secondary power region back from the limited state based on an anticipated future need for additional computing resources.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
bringing the secondary power region back from the limited state; and
allocating the memory page of the second attached memory to additional page content that is movable.

### Claim 5 (depends on 1)

The method of claim 1, further comprising allocating an additional memory page to the primary or secondary power region based on load-balancing criteria.

### Claim 6 (depends on 1)

The method of claim 1, further comprising allocating an additional memory page to the primary or secondary power region to group related threads.

### Claim 7 (depends on 1)

The method of claim 1, further comprising allocating an additional memory page based on the at least one interrupt changing from a movable resource to an unmovable resource.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
upon receiving an indication that the page content in the memory page of the first attached memory is to be movable, copying the page content from the memory page of the first attached memory to a memory page of the second attached memory in the identified secondary power region and marking the memory page of the second attached memory as movable.

### Claim 9 (depends on 1)

The method of claim 1, further comprising allocating one or more memory pages to both the primary power region and the secondary power regions.

### Claim 10 (depends on 1)

The method of claim 1, wherein one or more of the primary or secondary power region comprises a package having a processor and associated memory.

### Claim 11

In a computing environment, a computer system for allocating resources to one or more power regions, the system comprising:
one or more computer processors; and
a memory containing instructions executable by the one or more computer processors to cause the computer system to:
identify one or more primary power regions having restrictions indicating that the primary power regions are not to be placed in an offline state;
identify one or more secondary power region that can either be parked or off-lined into a limited state having limited functionality in that functionality is removed from the one or more secondary power regions when placed in a limited state, the one or more secondary power regions include a memory page containing page content that is movable to another memory page;
upon receiving an indication that the page content in the memory page of the one or more secondary power regions is to be unmovable, copying the page content from the memory page of the one or more secondary power regions to a memory page of the one or more primary power regions and marking the memory page of the one or more primary power regions as unmovable.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the memory contains additional instructions executable by the one or more primary power regions to bring one of the one or more secondary power regions back from a limited state.

### Claim 13 (depends on 12)

The computer system of claim 12, wherein the memory contains additional instructions executable by the one or more primary power regions to bring one of the one or more secondary power regions back from a limited state based on an anticipated future need for additional computing resources.

### Claim 14 (depends on 12)

The computer system of claim 12, wherein the memory contains additional instructions executable by the one or more primary power regions to move one of the one or more the secondary power regions to a limited state subsequent to copying the page content from the memory page of the one or more secondary power regions to the memory page of the one or more primary power regions.

### Claim 15 (depends on 12)

The computer system of claim 12, wherein the memory contains additional instructions executable by the one or more primary power regions to allocate at least one memory page to one of the primary or secondary power region based on load-balancing criteria.

### Claim 16 (depends on 12)

The computer system of claim 12, wherein the memory contains additional instructions executable by the one or more primary power regions to allocate at least one memory page to the primary or secondary power region to group related threads.

### Claim 17 (depends on 12)

The computer system of claim 12, wherein the memory contains additional instructions executable by the one or more primary power regions to allocate at least one memory page based on the memory content changing from a movable resource to an unmovable resource or from an unmovable resource to a movable resource.

### Claim 18 (depends on 12)

The computer system of claim 12, wherein the memory contains additional instructions executable by the one or more primary power regions to allocate one or more memory pages to both the one or more primary power regions and one or more secondary power regions.

### Claim 19

In a computing environment, a computer system comprising:
a primary power region having restrictions indicating that the primary power region is not to be placed in an offline state;
a secondary power region that can either be parked or off-lined into a limited state having limited functionality in that functionality is removed from the secondary power region when placed in a limited state; and
a memory page allocated to one of the primary power region or secondary power region based on whether memory content in the allocated memory page is movable or unmovable, wherein the memory page is dynamically relocatable when the memory content changes from being movable to being unmovable.

### Claim 20 (depends on 19)

The computer system of claim 19, wherein the primary or secondary power region comprises a package.
