IP Library Granted Patent US 9,632,860
Granted Patent B2
US 9,632,860 · App. 14/896,690 · Granted Apr 25, 2017

Multicore processor fault detection for safety critical software applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,632,860
App. No.
14/896,690
Granted
Apr 25, 2017
Kind
B2
Abstract

A method for multicore processor fault detection during execution of safety critical software applications in a multicore processor environment involves dedicating the complete resources of at least a part of at least one processor core to execution of diagnostics software application whilst dedicating remaining resources to execution of a safety-critical software application, thereby enabling parallel execution of the diagnostics software application and the safety-critical software application. There is also provided a controller for multicore processor fault detection during execution of safety critical software applications in a multicore processor environment. The controller includes a multicore processor environment. The controller may be part of a control system. The method may be provided as a computer program.

Claims (49)

1. A method for multicore processor fault detection during execution of safety critical software applications in a multicore processor environment, the method comprising:

partitioning processor cores of the multicore processor environment into at least two logical units;

dedicating all processing resources of one of the at least two logical units to execution of a diagnostics software application (DSA), the DSA being arranged for fault detection of a processor core of said one of the at least two logical units;

dedicating processor resources of at least one of the remaining logical units to execution of a safety-critical software application (SSA); and

executing the DSA by said one of the at least two logical units whilst in parallel executing the SSA by said at least one of the remaining logical units.

2. The method according to claim 1 , wherein executing the DSA further comprises:

labelling the logical unit on which the DSA is executed as healthy if passing the fault detection executed by the DSA and faulty otherwise; and

preventing the SSA from being executed on a logical unit labelled faulty.

3. The method according to claim 2 , further comprising:

preventing the SSA from being executed on a logical unit on which fault detection has not been performed at all or for a logical unit on which fault detection has been performed within a waiting time;

scheduling a logical unit denoted healthy for execution of the SSA; and

for said logical unit denoted healthy, performing additional fault detection until said logical unit denoted healthy is scheduled to execute the SSA.

4. The method according to claim 3 , wherein the fault detection is associated with a start-up operating mode and a running operating mode,

wherein in the start-up operating mode, fault detection is executed by, prior to the step of partitioning, performing initial diagnostics; and

wherein in the running operating mode, fault detection is executed as in any of the following steps:

performing fault detection of the logical unit on which the DSA is executed,

labelling the logical unit as healthy if passing the fault detection or faulty if failing the fault detection,

preventing execution of the SSA on a logical unit labelled faulty,

identifying on which of the processor cores the SSA is executed and executing the DSA on the identified processor cores,

preventing the SSA from being executed on a logical unit on which fault detection has not been performed within a predetermined duration of time,

scheduling a logical unit identified as healthy for execution of the SSA, or

for the logical unit identified as healthy, performing an additional faulty detection until the logical unit is scheduled to execute the SSA.

5. The method according to claim 1 , further comprising:

sharing first data relating to the execution of the DSA by a first logical unit with second data relating to the execution of the DSA by a second logical unit, wherein the first data and the second data are shared by means of a common data area; and

scheduling execution of the SSA based on said shared first and second data.

6. The method according to claim 1 , wherein partitioning processor cores further comprises:

defining a diagnostics model comprising at least one safety channel; and wherein the DSA is executed at least on all logical partitions associated with the at least one safety channel.

7. The method according to claim 1 , wherein executing the DSA further comprises: identifying all processor cores on which the SSA is executed and executing the DSA only on said identified processor cores.

8. The method according to claim 1 , wherein each logical unit corresponds to a fractional part of the processor core.

9. The method according to claim 1 , wherein each logical unit corresponds to an integer number of processor cores.

10. The method according to claim 1 , wherein the SSA is a control application of an industrial control system, the control application relating to on-line safety control of real-world control objects.

11. The method according to claim 10 , wherein the real-world control objects are sensors, actuators, valves, motors, drive systems, gas/smoke/fire detection systems, drilling equipment, pipes and pipelines, distillation columns, compressors, conveyor systems, boilers or turbines.

12. A controller for multicore processor fault detection during execution of safety critical software applications in a multicore processor environment, comprising:

the multicore processor environment arranged to

partition processor cores of the multicore processor environment into at least two logical units;

dedicate all processing resources of one of the at least two logical units to execution of a diagnostics software application (DSA), the DSA being arranged for fault detection of a processor core of said one of the at least two logical units;

dedicate processor resources of at least one of the remaining logical units to execution of a safety-critical software application (SSA), and

execute the DSA by said one of the at least two logical units whilst in parallel executing the SSA by said at least one of the remaining logical units.

13. A control system comprising at least one controller for multicore processor fault detection during execution of safety critical software applications in a multicore processor environment, said control system having:

the multicore processor environment arranged to

partition processor cores of the multicore processor environment into at least two logical units;

dedicate all processing resources of one of the at least two logical units to execution of a diagnostics software application (DSA), the DSA being arranged for fault detection of a processor core of said one of the at least two logical units;

dedicate processor resources of at least one of the remaining logical units to execution of a safety-critical software application (SSA), and

execute the DSA by said one of the at least two logical units whilst in parallel executing the SSA by said at least one of the remaining logical units.

14. A computer program product comprising a computer program for multicore processor fault detection during execution of safety critical software applications in a multicore processor environment, and a non-transitory computer readable medium on which the computer program is stored, the computer program when executed on a controller causes the controller to:

partition processor cores of the multicore processor environment into at least two logical units;

dedicate all processing resources of one of the at least two logical units to execution of a diagnostics software application (DSA), the DSA being arranged for fault detection of a processor core of said one of the at least two logical units;

dedicate processor resources of at least one of the remaining logical units to execution of a safety-critical software application (SSA); and

execute the DSA by said one of the at least two logical units whilst in parallel executing the SSA by said at least one of the remaining logical units.

Assignments (2)
MERGER Recorded Nov 15, 2016
From: ABB TECHNOLOGY LTD.
To: ABB SCHWEIZ AG
Reel/Frame 040621/0853 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2015
From: REICHENBACH, FRANK; VEFLING, HARALD; ENDRESEN, JAN; LOEKSTAD, TROND
To: ABB TECHNOLOGY LTD
Reel/Frame 037359/0899 →