Fail-operational system design pattern based on software code migration
First Claim
1. A fail-operational control system comprising:
- a primary controller including a non-volatile memory and a central processing unit operable to execute a first software code stored in the non-volatile memory of the primary controller to control operation of a respective first system, wherein the first software code stored in the non-volatile memory of the primary controller includes non-critical software and fail-operational software code executed by the central processing unit of the primary controller during non-failed and failed states; and
a migrating controller including a non-volatile memory, a random access memory, and a central processing unit, the migrating controller including a second software code, distinct from the first software code, stored in the non-volatile memory of the migrating controller, wherein the second software code stored in the non-volatile memory of the migrating controller and executed by the central processing unit of the migrating controller is dedicated to controlling operation of a respective second system, distinct from the first system controlled by the primary controller, the respective second system being not under the control of the primary controller;
wherein the primary controller is operable, in response to an enablement of a system operation of the respective first system controlled by the primary controller that requires a backup controller during execution of the system operation, to transfer the fail-operational software code stored in the non-volatile memory of the primary controller to the random access memory of the migrating controller, andwherein the migrating controller is operable, in response to a failure occurring in the primary controller, to temporarily function as the backup controller and execute the transferred fail-operational software code during the execution of the system operation in the primary controller.
1 Assignment
0 Petitions
Accused Products
Abstract
A fail-operational control system includes a migrating controller having a non-volatile memory, a RAM, and a CPU. The migrating controller includes software code stored in the non-volatile memory of the migrating controller. The software code stored in the non-volatile memory of the migrating controller executed by the CPU of the migrating controller is dedicated to a respective system. The respective system is not under the control of a primary controller from another system. In response to an enablement of a system operation of the primary controller of another system that requires a backup controller during execution of the system operation, fail-operational software code stored in the non-volatile memory of the primary controller of the other system is transferred to the RAM of the migrating controller. The migrating controller temporarily functions as a backup controller during the execution of the system operation in the primary controller of the other system.
-
Citations
22 Claims
-
1. A fail-operational control system comprising:
-
a primary controller including a non-volatile memory and a central processing unit operable to execute a first software code stored in the non-volatile memory of the primary controller to control operation of a respective first system, wherein the first software code stored in the non-volatile memory of the primary controller includes non-critical software and fail-operational software code executed by the central processing unit of the primary controller during non-failed and failed states; and a migrating controller including a non-volatile memory, a random access memory, and a central processing unit, the migrating controller including a second software code, distinct from the first software code, stored in the non-volatile memory of the migrating controller, wherein the second software code stored in the non-volatile memory of the migrating controller and executed by the central processing unit of the migrating controller is dedicated to controlling operation of a respective second system, distinct from the first system controlled by the primary controller, the respective second system being not under the control of the primary controller; wherein the primary controller is operable, in response to an enablement of a system operation of the respective first system controlled by the primary controller that requires a backup controller during execution of the system operation, to transfer the fail-operational software code stored in the non-volatile memory of the primary controller to the random access memory of the migrating controller, and wherein the migrating controller is operable, in response to a failure occurring in the primary controller, to temporarily function as the backup controller and execute the transferred fail-operational software code during the execution of the system operation in the primary controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A fail-operational control system for a motor vehicle, the motor vehicle including a primary controller with a non-volatile memory and a central processing unit operable to execute a first software code stored in the non-volatile memory to control operation of a respective first system, the fail-operational control system comprising:
-
a migrating controller including a non-volatile memory, a random access memory, and a central processing unit, the migrating controller including a second software code, distinct from the first software code, stored in the non-volatile memory of the migrating controller, wherein the second software code stored in the non-volatile memory of the migrating controller and executed by the central processing unit of the migrating controller is dedicated to controlling operation of a respective second system, distinct from the first system controlled by the primary controller, the respective second system being not under the control of the primary controller; wherein, in response to an enablement of a system operation of the respective first system controlled by the primary controller that requires a backup controller during execution of the system operation, fail-operational software code stored in the non-volatile memory of the primary controller is transferred by the primary controller to the random access memory of the migrating controller, and wherein the migrating controller is operable, in response to a failure occurring in the primary controller, to temporarily function as the backup controller and execute the transferred fail-operational software code during the execution of the system operation in the primary controller. - View Dependent Claims (20, 21)
-
-
22. A method of operating a fail-operational control system, the method comprising the steps of:
-
detecting if a failure has occurred in a primary controller with a non-volatile memory (NVM) and a central processing unit (CPU), the CPU being operable to execute a first software code stored in the NVM of the primary controller to control operation of a respective first system, the first software code including non-critical software and fail-operational software code executed by the CPU of the primary controller during non-failed and failed states; selecting a migrating controller with a NVM, a random access memory (RAM), and a CPU, the migrating controller including a second software code, distinct from the first software code, stored in the NVM of the migrating controller, the second software code being executed by the CPU of the migrating controller to control operation of a respective second system, distinct from the first system and not controlled by the primary controller; transferring the fail-operational software code, from the NVM of the primary controller to the RAM of the migrating controller, responsive to the detected during a failure of the primary controller from another system, the migrating controller not under the control of the primary controller; enabling a system operation of the respective first system controlled by the primary controller requiring a backup controller during execution of the system operation in the primary controller; detecting a fault in the primary controller; and executing the fail-operational software code in the random access memory of the migrating controller in response to the detecting the fault in the primary controller.
-
Specification