# US 11,907,056 B2 · Runtime fault detection testing in data processing system

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

- Number: US 11,907,056 B2
- Document ID: US11907056B2
- Status: Granted
- Kind: B2
- Application number: 17/455,609
- Filed: 2021-11-18
- Published: 2022-06-02
- Granted: 2024-02-20
- Earliest claimed: 2020-11-27
- Assignees: Arm Limited
- Applicants: Arm Limited
- Inventors: Eamonn Quigley; Nicholas John Nelson Murphy; Jussi Tuomas Pennala; Henrik Nils-Sture Olsson
- Web page: https://patentgrep.com/patent/US11907056B2

## CPC

- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/27: Built-in tests
- G06F 11/0766: {Error or fault reporting or storing}
- G06F 11/1479: Generic software techniques for error detection or fault masking
- G06F 11/2242: {in multi-processor systems, e.g. one processor becoming the primary tester (G06F11/2736 takes precedence)}
- G06F 11/3668: Testing of software
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Disclosed herein is a data processing system comprising a processing unit operable to process data to generate a sequence of outputs, wherein the processing unit is configurable, when generating a sequence of outputs, such that the data processing for generating an output in the sequence of outputs will be performed within a respective processing period for the output. A controller for the processing unit is configured to cause the processing unit, when generating a sequence of outputs, during a respective processing period for at least one output in the sequence of outputs, to also undergo one or more fault detection test(s) such that both processing of data for the output and fault detection testing is performed during the respective processing period for the output.

## Claims

### Claim 1

A data processing system comprising:
a processing unit operable to process data to generate a sequence of outputs, wherein the processing unit is configurable, when generating the sequence of outputs, such that data processing for generating each output in the sequence of outputs will be performed within a respective processing period for the output; and
a controller for the processing unit, wherein the controller is configured to cause the processing unit, when generating the sequence of outputs, during respective processing periods for a plurality of outputs in the sequence of outputs, to also undergo one or more fault detection tests such that, for at least one output of the plurality of outputs, both processing of data for the at least one output and fault detection testing is performed during respective processing periods for the at least one output;
wherein performing fault detection testing comprises performing a diagnostic test sequence comprising a plurality of the fault detection tests, wherein the fault detection tests are distributed across the processing periods for multiple outputs in the sequence of outputs such that the diagnostic test sequence is completed within a defined diagnostic test interval;
wherein the controller is configured to dynamically control the processing unit to perform processing work or fault detection testing to ensure that the diagnostic test sequence is completed within the defined diagnostic test interval;
wherein the controller is configured to initially control the processing unit to prioritise processing work, and further configured to prioritise fault detection testing over the processing work to ensure the diagnostic test sequence is completed within the defined diagnostic test interval; and
wherein, in order to prioritise fault detection testing, the controller is configured to accelerate the processing work.

### Claim 2 (depends on 1)

The data processing system of claim 1, wherein the fault detection tests comprise: built-in self-testing fault detection tests or software library testing fault detection tests.

### Claim 3 (depends on 1)

The data processing system of claim 1, wherein for each processing period, the controller is configured to estimate a time required to complete the fault detection testing and to compare the estimated time against a remaining time until the diagnostic test interval expires, and to schedule a number of fault detection tests for the processing period accordingly based on this comparison.

### Claim 4 (depends on 3)

The data processing system of claim 3, wherein the controller is configured to determine, for each processing period, a fault detection testing window required to complete the fault detection testing, and wherein when the time remaining in a current processing period is equal to or less than the determined fault detection testing window for the processing period, the controller gives priority to fault detection testing work.

### Claim 5 (depends on 1)

The data processing system of claim 1, including a plurality of processing units, and wherein when the controller causes processing work for a particular one of the processing units to be interrupted so that the processing unit can perform fault detection testing, the processing work for the processing unit that is performing the fault detection testing is moved to another processing unit.

### Claim 6 (depends on 1)

The data processing system of claim 1, including a plurality of processing units arranged in a group, wherein the plurality of processing units arranged in the group are themselves able to be configured as respective partitions of processing units within the group, with each partition comprising a subset of one or more of the processing units of the group, and wherein the data processing system is operable to move processing from a first partition to another partition to allow the first partition to undergo fault detection testing.

### Claim 7 (depends on 1)

The data processing system of claim 1, wherein the processing unit is a graphics processing unit that is operable to render a sequence of frames, and wherein the respective processing periods correspond to a desired refresh rate at which the frames are to be updated.

### Claim 8

A data processing system comprising:
a plurality of processing units, wherein each of the plurality of processing units is operable to process data to generate a sequence of outputs, wherein the processing units are configurable, when generating the sequence of outputs, such that data processing for generating each output in the sequence of outputs will be performed within a respective processing period for the output; and
a controller for the processing unit, wherein the controller is configured to cause the processing unit of the plurality of processing units, when generating the sequence of outputs, during respective processing periods for a plurality of outputs in the sequence of outputs, to also undergo one or more fault detection tests such that, for at least one output of the plurality of outputs, both processing of data for the at least one output and fault detection testing is performed during respective processing period for the at least one output;
wherein performing fault detection testing comprises performing a diagnostic test sequence comprising a plurality of the fault detection tests, wherein the fault detection tests are distributed across the processing periods for multiple outputs in the sequence of outputs such that the diagnostic test sequence is completed within a defined diagnostic test interval;
wherein the controller is configured to dynamically control the processing unit to perform processing work or fault detection testing to ensure that the diagnostic test sequence is completed within the defined diagnostic test interval;
wherein the controller is configured to initially control the processing unit to prioritise processing work, but is operable to prioritise fault detection testing over the processing work to ensure the diagnostic test sequence is completed within the defined diagnostic test interval; and
wherein the controller is configured to interrupt processing work for the processing unit to perform fault detection testing to ensure the diagnostic test sequence is completed within the defined diagnostic test interval, and
wherein when the controller is further configured to cause processing work for a particular one of the processing units to be interrupted so that the processing unit can perform fault detection testing, the controller is configured to move the processing work for the processing unit that is performing the fault detection testing to another processing unit of the plurality of processing units.

### Claim 9

A data processing system comprising:
a processing unit operable to process data to generate a sequence of outputs, wherein the processing unit is configurable, when generating the sequence of outputs, such that data processing for generating each output in the sequence of outputs will be performed within a respective processing period for the output; and
a controller for the processing unit, wherein the controller is configured to cause the processing unit, when generating the sequence of outputs, during respective processing periods for a plurality of outputs in the sequence of outputs, to also undergo one or more fault detection tests such that, for at least one output of the plurality of outputs, both processing of data for the at least one output and fault detection testing is performed during respective processing period for the at least one output;
wherein performing fault detection testing comprises performing a diagnostic test sequence comprising a plurality of the fault detection tests, wherein the fault detection tests are distributed across the processing periods for multiple outputs in the sequence of outputs such that the overall diagnostic test sequence is completed within a defined diagnostic test interval; and
wherein a fixed testing window is defined for each processing period, such that if processing of data for an output has not completed before a start of the fixed testing window defined for the output's processing period, the processing for the output is interrupted such that the processing unit can undergo the one or more fault detection tests.
