# US 11,307,925 B2 · Systems and methods for isolating an accelerated function unit and/or an accelerated function context

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

- Number: US 11,307,925 B2
- Document ID: US11307925B2
- Status: Granted
- Kind: B2
- Application number: 15/940,779
- Filed: 2018-03-29
- Published: 2019-02-07
- Granted: 2022-04-19
- Earliest claimed: 2018-03-29
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Sundar Nadathur; Pratik M. Marolia; Henry M. Mitchel; Joseph J. Grecco; Utkarsh Y. Kakaiya; David A. Munday
- Web page: https://patentgrep.com/patent/US11307925B2

## CPC

- G06F 1/24: Resetting means
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/0706: {the processing taking place on a specific hardware platform or in a specific software environment}
- G06F 11/0721: {within a central processing unit [CPU]}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 30/34: for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and devices for isolating a misbehaving accelerator circuit, such as an accelerator function unit or an accelerated function context, are provided. An integrated circuit may include a region that includes an accelerator circuit. When the accelerator circuit issues a request, another region of the integrated circuit or a processor connected to the integrated circuit may determine whether there is a misbehavior associated with the request and, in response to determining that there is a misbehavior associated with the request, may perform a misbehavior response to mitigate a negative impact of the misbehavior of the accelerator circuit.

## Claims

### Claim 1

An integrated circuit, comprising:
a first region that comprises first region logic, wherein the first region is configured not to be modified or reconfigured during runtime of the integrated circuit; and
a second region that comprises second region logic, wherein the second region is configured to be modified or reconfigured during runtime of the integrated circuit, wherein the second region logic comprises a plurality of accelerator function units, wherein an accelerator function unit of the plurality of accelerator function units comprises a plurality of accelerator function contexts, and wherein an accelerator function context of the plurality of accelerator function contexts is configured to send a request to the first region;
wherein the first region logic is configured to:
determine whether there is a misbehavior associated with the request;
determine that the accelerator function context sent the request;
categorize the misbehavior as one of at least two misbehavior types associated with the request;
perform a first misbehavior response on the accelerator function context in response to determining that the misbehavior is of a first of the at least two misbehavior types associated with the request, wherein the first misbehavior response is configured to mitigate a negative impact of the misbehavior; and
perform a second misbehavior response different from the first misbehavior response on the accelerator function context in response to determining that the misbehavior is of a second of the at least two misbehavior types associated with the request, wherein the second misbehavior response is configured to mitigate the negative impact of the misbehavior.

### Claim 2 (depends on 1)

The integrated circuit of claim 1, wherein the first region logic comprises an accelerated function context host interface (AHI), wherein the AHI comprises an AHI table of values, wherein each value of the AHI table is associated with each accelerator function context of the plurality of accelerator function contexts.

### Claim 3 (depends on 2)

The integrated circuit of claim 2, wherein the first region logic comprises an accelerated function context-AHI table, wherein each value of the accelerated function context-AHI table is associated with each accelerator function context of the plurality of accelerator function contexts.

### Claim 4 (depends on 3)

The integrated circuit of claim 3, wherein the first region logic is configured to determine that the accelerator function context sent the request at least in part by translating a value of the accelerated function context-AHI table associated with the accelerator function context into a value of the AHI table associated with the accelerator function context.

### Claim 5 (depends on 1)

The integrated circuit of claim 1, wherein the first misbehavior response comprises resetting at least one accelerator function unit of the plurality of accelerator function units without completely erasing logic of the at least one accelerator function unit, isolating the at least one accelerator function unit, sending an error response, or any combination thereof.

### Claim 6 (depends on 1)

The integrated circuit of claim 1, wherein the second misbehavior response comprises resetting at least one accelerator function unit of the plurality of accelerator function units, applying clock-gating to the at least one accelerator function unit, removing power to the at least one accelerator function unit, reprogramming the at least one accelerator function unit with a NULL accelerator function unit, isolating the at least one accelerator function unit, or any combination thereof.

### Claim 7

A system to secure an integrated circuit, comprising:
a processor communicatively coupled to the integrated circuit; and
the integrated circuit comprising:
a first region configured not to be modified or reconfigured during runtime of the integrated circuit; and
a second region comprising at least one accelerator, wherein the at least one accelerator is configured to send a request to the first region, and wherein the second region is configured to be modified or reconfigured during runtime of the integrated circuit;
wherein the processor is configured to:
determine whether there is a misbehavior associated with the request; and
perform a misbehavior response that mitigates a negative impact of the misbehavior in response to determining that there is a misbehavior associated with the request.

### Claim 8 (depends on 7)

The system of claim 7, wherein the processor is configured to categorize the misbehavior as one of at least two misbehavior types.

### Claim 9 (depends on 8)

The system of claim 8, wherein the misbehavior response varies depending on the categorization of the misbehavior.

### Claim 10 (depends on 7)

The system of claim 7, wherein the misbehavior response comprises resetting the at least one accelerator without completely erasing logic of the at least one accelerator, isolating the at least one accelerator, sending an error response, or any combination thereof.

### Claim 11 (depends on 7)

The system of claim 7, wherein the misbehavior response comprises resetting at least one accelerator, applying clock-gating to the at least one accelerator, removing power to the at least one accelerator, reprogramming the at least one accelerator with a NULL accelerator, isolating the at least one accelerator, or any combination thereof.

### Claim 12 (depends on 7)

The system of claim 7, wherein the request comprises a data packet that indicates that the accelerator is attempting to perform an activity that would negatively impact operation of the integrated circuit.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processor is configured to categorize the misbehavior as one of at least two misbehavior types based at least in part on an expected degree to which the activity that the accelerator is attempting to perform would negatively impact the operation of the integrated circuit.

### Claim 14 (depends on 7)

The system of claim 7, wherein the first region comprises a local memory table, wherein the request comprises a request to access an area of the local memory table that is not permitted by a privilege level of the accelerator.

### Claim 15 (depends on 7)

The system of claim 7, wherein the system comprises an accelerator circuit memory, wherein the request comprises reading an area of the accelerator circuit memory that is not permitted by a privilege level of the accelerator.

### Claim 16

A method to secure an integrated circuit, comprising:
observing a runtime behavior of an accelerator circuit programmed in a partial reconfiguration region of the integrated circuit, the partial reconfiguration region configured to be modified or reconfigured during runtime of the integrated circuit;
identifying the runtime behavior as a disallowed misbehavior; and
performing a misbehavior response on the accelerator circuit in response to determining that the runtime behavior is a disallowed misbehavior, wherein the misbehavior response is configured to mitigate a negative impact of the disallowed misbehavior.

### Claim 17 (depends on 16)

The method of claim 16, wherein the runtime behavior comprises transmission of one or more data packets by the accelerator circuit, wherein identifying the runtime behavior as the disallowed misbehavior comprises identifying that the one or more data packets indicate that the accelerator circuit is attempting to perform an activity not permitted by a specification.

### Claim 18 (depends on 16)

The method of claim 16, wherein the runtime behavior comprises one or more requests to access a platform resource, wherein identifying the runtime behavior as the disallowed misbehavior comprises identifying that access to the platform resource is not permitted by a privilege level of the accelerator circuit.

### Claim 19 (depends on 18)

The method of claim 18, wherein the platform resource comprises one or more of a local memory, a network component, and a storage component.

### Claim 20 (depends on 16)

The method of claim 16, wherein the misbehavior response comprises resetting the accelerator circuit, applying clock-gating to the accelerator circuit, removing power to the accelerator circuit, reprogramming the accelerator circuit with a NULL accelerator circuit, isolating the accelerator circuit, or any combination thereof.
