# US 2017/0286254 A1 · Method and apparatus for using target or unit under test (uut) as debugger

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

- Number: US 2017/0286254 A1
- Document ID: US20170286254A1
- Status: Published application
- Kind: A1
- Application number: 15/085,733
- Filed: 2016-03-30
- Published: 2017-10-05
- Earliest claimed: 2016-03-30
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Sankaran M. Menon; Rolf H. Kuehnis; William H. Penner; Pronay Dutta
- Web page: https://patentgrep.com/patent/US20170286254A1

## CPC

- G06F 11/34: Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment}
- G06F 11/364: {tracing values on a bus}
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/3656: {using a specific debug interface}
- G06F 11/366: {using diagnostics (G06F11/0703 takes precedence)}
- 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

A method and apparatus for collecting debug and crash information are described. In one embodiment, a system comprises one or more compute engines an external interface; a non-volatile memory coupled to the external interface and operable to store captured information, wherein the captured information comprises one or both of debug information and crash information; a first trace aggregator coupled to the non-volatile memory and the one or more compute engines to capture the one or both of debug information and crash information from at least one of the one or more compute engines in response to a crash of the system; and a controller, coupled to the non-volatile memory and the first trace aggregator, to cause captured information to be sent from the first trace aggregator to the non-volatile memory and to subsequently control transfer of the captured information stored in the non-volatile memory to the external interface.

## Claims

### Claim 1

A system comprising:
one or more compute engines;
an external interface;
a non-volatile memory coupled to the external interface and operable to store captured information, wherein the captured information comprises one or both of debug information and crash information;
a first trace aggregator coupled to the non-volatile memory and the one or more compute engines to capture the one or both of debug information and crash information from at least one of the one or more compute engines in response to a crash of the system; and
a controller, coupled to the non-volatile memory and the first trace aggregator, to cause captured information to be sent from the first trace aggregator to the non-volatile memory and to subsequently control transfer of the captured information stored in the non-volatile memory to the external interface.

### Claim 2 (depends on 1)

The system defined in claim 1 wherein the first trace aggregator operates independently of an operating system that is to run on the system.

### Claim 3 (depends on 1)

The system defined in claim 1 further comprising a second trace aggregator to capture one or both of debug and crash information generated by at least one compute engine operating in a reduced power consumption state.

### Claim 4 (depends on 1)

The system defined in claim 1 further comprising an external interface controller coupled to control the external interface, and wherein the external interface and the external interface controller are powered during an initial boot process of the system and remain powered when the system is in a warm reset state.

### Claim 5 (depends on 4)

The system defined in claim 4 wherein the external interface operable to output the captured information captured during an early boot process.

### Claim 6 (depends on 1)

The system defined in claim 1 wherein the first trace aggregator is operable to execute a script to cause a portion of the captured information to be designated for different post-processing than a remainder of the captured information.

### Claim 7 (depends on 6)

The system defined in claim 6 wherein the portion of the captured information is vendor specific information.

### Claim 8 (depends on 1)

The system defined in claim 1 wherein the captured information is encrypted.

### Claim 9 (depends on 1)

The system defined in claim 1 wherein the non-volatile memory is operable as a circular buffer when storing the captured information.

### Claim 10 (depends on 1)

The system defined in claim 1 further comprising a second memory coupled between the first trace aggregator and the non-volatile memory, wherein the controller is operable to cause the captured information to be sent from the trace aggregator to the second memory and then from the second memory to the non-volatile memory.

### Claim 11 (depends on 10)

The system defined in claim 10 wherein the second memory is a reduced power consumption memory.

### Claim 12 (depends on 1)

The system defined in claim 1 wherein the debug information comprises debug firmware traces.

### Claim 13 (depends on 1)

The system defined in claim 1 wherein the external interface comprises a Type-C connector.

### Claim 14 (depends on 1)

The system defined in claim 1 wherein the external interface is a wireless interface.

### Claim 15 (depends on 1)

The system defined in claim 1 further comprising a second memory coupled to the external interface to store the stored information received through the external interface from the non-volatile memory.

### Claim 16 (depends on 15)

The system defined in claim 15 wherein the second memory comprises a flash memory drive, a thumb drive, or a hard drive.

### Claim 17

A method comprising:
capturing and aggregating, using a trace aggregator, information from at least one of a plurality of compute engines in a system in response to a crash, the information being one or both of information and crash information;
storing the captured debug information in a non-volatile memory in the system; and
causing the captured information to be sent from the non-volatile memory to an external interface of the system for storage in an external memory via an external interface of the system.

### Claim 18 (depends on 17)

The method defined in claim 17 wherein capturing and aggregating the information is performed independently of an operating system running on the system.

### Claim 19 (depends on 17)

The method defined in claim 17 further comprising capturing low-power information generated by at least one compute engine operating in a reduced power consumption state.

### Claim 20 (depends on 17)

The method defined in claim 17 wherein the information is captured during an early boot process.

### Claim 21 (depends on 17)

The method defined in claim 17 further comprising executing a script to cause a portion of the captured information to be sent for different post-processing than a remainder of the captured information.

### Claim 22 (depends on 21)

The method defined in claim 21 wherein the portion of the captured information is vendor specific information.

### Claim 23 (depends on 17)

The method defined in claim 17 further comprising sending the captured information to a second memory and then from the second memory to the non-volatile memory, wherein the second memory is a reduced power consumption memory.

### Claim 24 (depends on 17)

The method defined in claim 17 wherein the external interface comprises a Type-C connector.

### Claim 25

An article of manufacture having one or more non-transitory computer readable media storing instructions which, when executed by a system, cause the system to perform a method comprising:
capturing and aggregating, using a trace aggregator, information from at least one of a plurality of compute engines in a system in response to a crash, the information being one or both of debug information and crash information;
storing the captured information in a non-volatile memory in the system; and
causing the captured information to be sent from the non-volatile memory to an external interface of the system for storage in an external memory via an external interface of the system.

### Claim 26 (depends on 25)

The article of manufacture defined in claim 25 wherein capturing and aggregating the information is performed independently of the operating system.

### Claim 27 (depends on 25)

The article of manufacture defined in claim 25 wherein the debug information comprises debug firmware traces.
