# US 11,907,757 B2 · Method for controlling a multicore-processor engine control unit

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

- Number: US 11,907,757 B2
- Document ID: US11907757B2
- Status: Granted
- Kind: B2
- Application number: 17/312,490
- Filed: 2019-12-12
- Published: 2022-04-28
- Granted: 2024-02-20
- Earliest claimed: 2018-12-12
- Assignees: Vitesco Technologies GmbH
- Applicants: Vitesco Technologies GmbH
- Inventors: Nicolas Romea; Denis Claraz; Olivier Spuig
- Web page: https://patentgrep.com/patent/US11907757B2

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 9/3836: {Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution}
- G06F 9/3877: {using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12)}
- G06F 9/5066: {Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451)}
- G06F 9/5088: {involving task migration}
- G06F 11/004: {Error avoidance (G06F11/07 and subgroups take precedence)}
- G06F 11/3013: {where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems (testing or monitoring of control systems or parts thereof G05B23/02)}
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3065: {Monitoring arrangements determined by the means or processing involved in reporting the monitored data (error or fault reporting or logging G06F11/0766)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed is a method for controlling an engine control unit which includes at least two microprocessor cores, including steps of executing a parent subtask and at least one child subtask. The method includes the following steps: —determining the number of executables which remain to be executed in the last child subtask of the first period when the parent subtask of the second period starts; and—determining the number of executables already executed in the parent subtask of the second period when the last child subtask of the first period finishes.

## Claims

### Claim 1

A method for controlling an engine control unit which is connected to sensors and actuators associated with the internal combustion engine of a vehicle, the engine control unit comprising at least two microprocessor cores the control method comprising steps of executing a cyclic task, the execution of this task being triggered by a recurrent event which repeats with a period linked to the rotation of the engine, wherein the cyclic task is composed of executables divided into a parent subtask, triggered by the recurrent event and executed by one microprocessor core, and at least one child subtask executed after the parent subtask by another microprocessor core, the method comprising the following steps, during a concatenation of the task of a first period and of the task of a second period which follows the first period: determining the number of executables which remain to be executed in the last child subtask of the first period when the parent subtask of the second period starts; determining the number of executables-already executed in the parent subtask of the second period when the last child subtask of the first period finishes.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein, after the step of determining the number of executables which remain to be executed in the last child subtask of the first period, the method further comprises the step of storing this number of executables in a memory.

### Claim 3 (depends on 2)

The method as claimed in claim 2, wherein, after the step of determining the number of executables already executed in the parent subtask of the second period, the method further comprises the step of storing this number of executables in a memory.

### Claim 4 (depends on 3)

The method as claimed in claim 3, wherein the number of executables stored in a memory is furthermore saved in a diagnostic memory.

### Claim 5 (depends on 4)

The method as claimed in claim 4, further comprising a diagnostic step consisting in reading the diagnostic memory.

### Claim 6 (depends on 5)

The method as claimed in claim 5, wherein the step of determining the number of executables which remain to be executed in the last child subtask of the first period comprises the implementation of a counter of executables in the child subtask.

### Claim 7 (depends on 5)

The method as claimed in claim 5, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 8 (depends on 4)

The method as claimed in claim 4, wherein the step of determining the number of executables which remain to be executed in the last child subtask of the first period comprises the implementation of a counter of executables in the child subtask.

### Claim 9 (depends on 4)

The method as claimed in claim 4, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 10 (depends on 3)

The method as claimed in claim 3, wherein the step of determining the number of executables which remain to be executed in the last child subtask of the first period comprises the implementation of a counter of executables in the child subtask.

### Claim 11 (depends on 3)

The method as claimed in claim 3, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 12 (depends on 2)

The method as claimed in claim 2, wherein the step of determining the number of executables which remain to be executed in the last child subtask of the first period comprises the implementation of a counter of executables in the child subtask.

### Claim 13 (depends on 2)

The method as claimed in claim 2, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 14 (depends on 1)

The method as claimed in claim 1, wherein the step of determining the number of executables which remain to be executed in the last child subtask of the first period comprises the implementation of a counter of executables in the child subtask.

### Claim 15 (depends on 14)

The method as claimed in claim 14, wherein an initial value of the counter of executables in the child subtask corresponds to the total number of executables in the child subtask, this counter being decremented upon the execution of each executable of the child subtask.

### Claim 16 (depends on 15)

The method as claimed in claim 15, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 17 (depends on 14)

The method as claimed in claim 14, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 18 (depends on 1)

The method as claimed in claim 1, wherein the step of determining the number of executables already executed in the parent subtask of the second period comprises the implementation of a counter of executables in the parent subtask.

### Claim 19 (depends on 18)

The method as claimed in claim 18, wherein an initial value of the counter of executables in the parent subtask is zero, this counter being incremented upon the execution of each executable.

### Claim 20 (depends on 1)

The method as claimed in claim 1, wherein, after the step of determining the number of executables already executed in the parent subtask of the second period, the method further comprises the step of storing this number of executables in a memory.
