# US 2023/0273669 A1 · Hierarchical power management in artificial reality systems

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

- Number: US 2023/0273669 A1
- Document ID: US20230273669A1
- Status: Published application
- Kind: A1
- Application number: 18/312,404
- Filed: 2023-05-04
- Published: 2023-08-31
- Earliest claimed: 2019-11-22
- Assignees: Meta Platforms Technologies, LLC
- Applicants: Meta Platforms Technologies, LLC
- Inventors: Shrirang Madhav Yardi; Alok Kumar Mathur
- Web page: https://patentgrep.com/patent/US20230273669A1

## CPC

- G06F 1/3287: by switching off individual functional units in the computer system
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/325: {Power saving in peripheral device}
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/013: {Eye tracking input arrangements (G06F3/015 takes precedence)}
- G06F 3/014: {Hand-worn input/output arrangements, e.g. data gloves}
- G06F 3/017: {Gesture based interaction, e.g. based on a set of recognized hand gestures (interaction based on gestures traced on a digitiser G06F3/04883)}
- 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

The disclosure describes artificial reality (AR) systems and techniques that enable hierarchical power management of multiple devices within a multi-device AR system. For example, a multi-device AR system includes a device comprising one of a peripheral device configured to generate artificial reality content for display or a head-mounted display unit (HMD) configured to output artificial reality content. The device comprises a System on a Chip (SoC) that includes a host subsystem and plurality of subsystems. Each subsystem includes a child energy processing unit configured to manage power states for the subsystem. The host subsystem includes a parent energy processing unit configured to direct power management of each of the child energy processing units of the plurality of subsystems.

## Claims

### Claim 1

An artificial reality system comprising:
a device comprising one of a peripheral device configured to generate artificial reality content for display or a head-mounted display unit (HMD) configured to output artificial reality content,
wherein the device comprises a host subsystem and a plurality of non-host subsystems,
wherein each non-host subsystem of the plurality of non-host subsystems includes a local processor and a child energy processing unit (EPU) connected to the local processor, and
wherein the host subsystem comprises a parent EPU and is configured to:
determine and indicate a non-host subsystem of the plurality of non-host subsystems is to be powered up,
in response to a determination a corresponding power domain of the determined non-host subsystem is awake, generate a reset vector and release, and
send the generated reset vector and release to the corresponding non-host subsystem to cause the local processor of the non-host subsystem to initiate a cold boot sequence.

### Claim 2 (depends on 1)

The artificial reality system of claim 1, wherein the host subsystem further includes a control and status register, and the parent EPU of the host subsystem is configured to write values to the control and status register indicative of the non-host subsystem to be powered up.

### Claim 3 (depends on 1)

The artificial reality system of claim 1, wherein each of the non-host subsystems are split into a plurality of power domains.

### Claim 4 (depends on 3)

The artificial reality system of claim 3, wherein in response to the determination the non-host subsystem of the plurality of non-host subsystems is to be powered up, the parent EPU is configured to turn on a first power domain of the non-host subsystem to power up the child EPU of the non-host subsystem.

### Claim 5 (depends on 4)

The artificial reality system of claim 4, wherein the host subsystem further includes a top-level clock,
wherein the child EPU of the non-host subsystem is configured to request a default clock from the top-level clock of the host subsystem, and
the top-level clock of the host subsystem is configured to send a clock acknowledgement to the child EPU in response to receiving the request for the default clock.

### Claim 6 (depends on 5)

The artificial reality system of claim 5, wherein the child EPU of the non-host subsystem is further configured to turn on a second power domain of the non-host subsystem in response to receiving the clock acknowledgement.

### Claim 7 (depends on 6)

The artificial reality system of claim 6, wherein to determine the corresponding power domain of the determined non-host subsystems is awake, the host subsystem is further configured to determine the second power domain of the non-host subsystem is awake.

### Claim 8 (depends on 6)

The artificial reality system of claim 6, wherein the host subsystem is further configured to:
read a power status of a local processor of the child EPU; and
determine the second power domain is ungated based on reading the power status of the local processor of the child EPU.

### Claim 9 (depends on 1)

The artificial reality system of claim 1, wherein the local processor of the non-host subsystem is configured to:
hold in a reset; and
in response to receiving the generated reset vector and release, initiate the cold boot sequence.

### Claim 10

A method comprising:
determining and indicating, by a host subsystem of an artificial reality system, a non-host subsystem of a plurality of non-host subsystems is to be powered up;
in response to a determination a corresponding power domain of the determined non-host subsystems is awake, generating, by the host subsystem, a reset vector and release; and
sending, by the host subsystem, the generated reset vector and release to the corresponding non-host subsystem to cause a local processor of the non-host subsystem to initiate a cold boot sequence.

### Claim 11 (depends on 10)

The method of claim 10, wherein determining and indicating, by the host subsystem, the non-host subsystem of the plurality of non-host subsystems is to be powered up further includes writing values to a control and status register, of the host subsystem, indicative of the non-host subsystem to be powered up.

### Claim 12 (depends on 10)

The method of claim 10, wherein each of the non-host subsystems are split into a plurality of power domains.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
in response to the determination the non-host subsystem of the plurality of non-host subsystems is to be powered up, turning on, by parent energy processing unit (EPU) of the host subsystem, a first power domain of the non-host subsystem to power up a child EPU of the non-host subsystem.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
requesting, by the child EPU, a default clock from a top-level clock of the host subsystem; and
sending, by the top-level clock of the host subsystem, a clock acknowledgement to the child EPU.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
in response to receiving the clock acknowledgement, turning on, by the child EPU of the non-host subsystem, a second power domain of the non-host subsystem.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
determining the second power domain of the non-host subsystem is awake to determine the corresponding power domain of the determined non-host subsystems is awake.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
reading, by the host subsystem, a power status of a local processor of the child EPU; and
determining, by the host subsystem, the second power domain is ungated based on reading the power status of the local processor of the child EPU.

### Claim 18 (depends on 10)

The method of claim 10, further comprising:
in response to receiving the generated reset vector and release, initiating, by the local processor of the child EPU, the cold boot sequence.

### Claim 19 (depends on 10)

The method of claim 10, wherein the artificial reality system comprises one of a peripheral device configured to generate artificial reality content for display or a head-mounted display unit (HMD) configured to output artificial reality content.

### Claim 20

A non-transitory computer-readable storage medium comprising instructions that, when executed, configure processing circuitry of an artificial reality system to:
determine and indicate, by a host subsystem of the artificial reality system, a non-host subsystem of a plurality of non-host subsystems of the artificial reality system is to be powered up;
in response to a determination a corresponding power domain of the determined non-host subsystems is awake, generate, by the host subsystem, a reset vector and release; and
send, by the host subsystem, the generated reset vector and release to the corresponding non-host subsystem to cause a local processor of the non-host subsystem to initiate a cold boot sequence.
