IP Library Granted Patent US 12,505,013
Granted Patent B1
US 12,505,013 · App. 18/668,457 · Granted Dec 23, 2025

Efficient safety mechanism selection for achieving functional safety

Inventors: Darren S. Engelkemier (Menlo Park, CA); Roy T. Myers, Jr. (Morgan City, CA); Hossein Sedarat (San Jose, CA); Ramin Shirani (Morgan Hill, CA)
Assignee: Ethernovia Inc.
G06F11/1068G05B23/021G05B23/0237G05B23/0275G05B23/0297G06F3/0619G06F3/0659G06F3/0679G06F11/076G06F11/0772G06F11/263G06F11/267G06F11/27G07C5/0808
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 12,505,013
App. No.
18/668,457
Granted
Dec 23, 2025
Kind
B1
Abstract

Disclosed are systems, methods, and non-transitory computer-readable media for efficient safety mechanism selection for achieving functional safety. A functional safety system automates the process of achieving a target diagnostic coverage level using recursive method to sequentially analyze each layer of a target environment and add additional safety mechanisms if a target diagnostic coverage level is not met. The functional safety system implements the additional safety mechanisms based on a ranking determined based on one or more selected parameters. The parameters may indicate a preference for achieving specified goals, such as higher efficiency, increased coverage, reduced cost, reduced area, and the like. The functional safety system adds the additional safety mechanisms based on the ranking, such as by adding the highest ranked safety mechanism, followed by subsequently ranked safety mechanism.

Claims (87)

1 . A method comprising:

determining a first realized diagnostic coverage level of a target environment based on a first set of data describing a first layer of the target environment implemented with a set of existing safety mechanisms that each implement an electronic function or element to either detect a fault or control a failure, the first set of data comprising a hardware description language (HDL) description of various electronic circuits in the first layer of the target environment, the determining of the first realized diagnostic coverage level of the target environment comprising using the first set of data to perform an automated analysis and simulation of the various electronic circuits in the first layer of the target environment, the automated analysis and simulation comprising inserting faults to determine whether the set of existing safety mechanisms can detect inserted faults, the first realized diagnostic coverage level comprising a value representing a percentage of faults that were detectable by the set of existing safety mechanisms;

determining that the first realized diagnostic coverage level is less than a target diagnostic coverage level for the target environment;

identifying a first set of additional safety mechanisms that can be implemented at the first layer of the target environment;

ranking the first set of additional safety mechanisms; and

selecting a first additional safety mechanism from the first set of additional safety mechanisms based on the ranking of the first set of additional safety mechanisms.

2 . The method of claim 1 , further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and with the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

selecting a second additional safety mechanism from the first set of additional safety mechanisms based on the ranking of the first set of additional safety mechanisms; and

determining a third realized diagnostic coverage level of the target environment based on a third set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms, with the first additional safety mechanism, and with the second additional safety mechanism.

3 . The method of claim 1 , further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

determining that the first set of additional safety mechanisms have been exhausted; and

determining a third realized diagnostic coverage level of the target environment based on a third set of data describing a second layer of the target environment and based on first fault data describing residual faults of the first layer implemented with the set of existing safety mechanisms and with the first additional safety mechanism, the second layer being higher than the first layer in the target environment.

4 . The method of claim 3 , further comprising:

determining that the third realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

identifying a second set of additional safety mechanisms that can be implemented at the second layer of the target environment;

ranking the second set of additional safety mechanisms;

selecting a second additional safety mechanism from the second set of additional safety mechanisms based on the ranking of the second set of additional safety mechanisms; and

determining a fourth realized diagnostic coverage level of the target environment based on a fourth set of data describing the second layer of the target environment implemented with the second additional safety mechanism and the first fault data describing residual faults of the first layer implemented with the set of existing safety mechanisms and the first additional safety mechanism.

5 . The method of claim 1 , further comprising:

ranking the set of existing safety mechanisms based on a respective coverage level and a respective cost of each safety mechanism in the set of existing safety mechanisms; and

removing at least one safety mechanism from the set of existing safety mechanisms based on the ranking of the set of existing safety mechanisms, yielding a modified set of existing safety mechanisms implemented at the first layer, wherein the first realized diagnostic coverage level of the target environment is determined based on the modified set of existing safety mechanisms.

6 . The method of claim 1 , wherein identifying the first set of additional safety mechanisms that can be implemented at the first layer of the target environment comprises:

determining, based on the first set of data describing the first layer of the target environment, a set of components included in the first layer of the target environment; and

for each respective component in the set of components, identifying a set of safety mechanisms mapped to the respective component.

7 . The method of claim 6 , wherein ranking the first set of additional safety mechanisms comprises:

ranking a first set of safety mechanisms mapped to a first component from the set of components included in the first layer of the target environment, yielding a first ranking; and

ranking a second set of safety mechanisms mapped to a second component from the set of components included in the first layer of the target environment, yielding a second ranking.

8 . The method of claim 7 , further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and with the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

determining that the first set of safety mechanisms have been exhausted; and

applying a second additional safety mechanisms from the second set of safety mechanisms based on the second ranking.

9 . The method of claim 1 , wherein the target environment includes at least one Safety Element out of Context (SEooC) component.

10 . A system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising:

determining a first realized diagnostic coverage level of a target environment based on a first set of data describing a first layer of the target environment implemented with a set of existing safety mechanisms that each implement an electronic function or element to either detect a fault or control a failure, the first set of data comprising a hardware description language (HDL) description of various electronic circuits in the first layer of the target environment, the determining of the first realized diagnostic coverage level of the target environment comprising using the first set of data to perform an automated analysis and simulation of the various electronic circuits in the first layer of the target environment, the automated analysis and simulation comprising inserting faults to determine whether the set of existing safety mechanisms can detect inserted faults, the first realized diagnostic coverage level comprising a value representing a percentage of faults that were detectable by the set of existing safety mechanisms;

determining that the first realized diagnostic coverage level is less than a target diagnostic coverage level for the target environment;

identifying a first set of additional safety mechanisms that can be implemented at the first layer of the target environment;

ranking the first set of additional safety mechanisms; and

selecting a first additional safety mechanism from the first set of additional safety mechanisms based on the ranking of the first set of additional safety mechanisms.

11 . The system of claim 10 , the operations further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and with the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

selecting a second additional safety mechanism from the first set of additional safety mechanisms based on the ranking of the first set of additional safety mechanisms; and

determining a third realized diagnostic coverage level of the target environment based on a third set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms, with the first additional safety mechanism, and with the second additional safety mechanism.

12 . The system of claim 10 , the operations further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and with the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

determining that the first set of additional safety mechanisms have been exhausted; and

determining a third realized diagnostic coverage level of the target environment based on a third set of data describing a second layer of the target environment and based on first fault data describing residual faults of the first layer implemented with the set of existing safety mechanisms and with the first additional safety mechanism, the second layer being higher than the first layer in the target environment.

13 . The system of claim 12 , the operations further comprising:

determining that the third realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

identifying a second set of additional safety mechanisms that can be implemented at the second layer of the target environment;

ranking the second set of additional safety mechanisms;

selecting a second additional safety mechanism from the second set of additional safety mechanisms based on the ranking of the second set of additional safety mechanisms; and

determining a fourth realized diagnostic coverage level of the target environment based on a fourth set of data describing the second layer of the target environment implemented with the second additional safety mechanism and the first fault data describing residual faults of the first layer implemented with the set of existing safety mechanisms and the first additional safety mechanism.

14 . The system of claim 10 , the operations further comprising:

ranking the set of existing safety mechanisms based on a respective coverage level and a respective cost of each safety mechanism in the set of existing safety mechanisms; and

removing at least one safety mechanism from the set of existing safety mechanisms based on the ranking of the set of existing safety mechanisms, yielding a modified set of existing safety mechanisms implemented at the first layer, wherein the first realized diagnostic coverage level of the target environment is determined based on the modified set of existing safety mechanisms.

15 . The system of claim 10 , wherein identifying the first set of additional safety mechanisms that can be implemented at the first layer of the target environment comprises:

determining, based on the first set of data describing the first layer of the target environment, a set of components included in the first layer of the target environment; and

for each respective component in the set of components, identifying a set of safety mechanisms mapped to the respective component.

16 . The system of claim 15 , wherein ranking the first set of additional safety mechanisms comprises:

ranking a first set of safety mechanisms mapped to a first component from the set of components included in the first layer of the target environment, yielding a first ranking; and

ranking a second set of safety mechanisms mapped to a second component from the set of components included in the first layer of the target environment, yielding a second ranking.

17 . The system of claim 16 , the operations further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and with the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

determining that the first set of safety mechanisms have been exhausted; and

applying a second additional safety mechanisms from the second set of safety mechanisms based on the second ranking.

18 . The system of claim 10 , wherein the target environment includes at least one Safety Element out of Context (SEooC) component.

19 . A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations comprising:

determining a first realized diagnostic coverage level of a target environment based on a first set of data describing a first layer of the target environment implemented with a set of existing safety mechanisms that each implement an electronic function or element to either detect a fault or control a failure, the first set of data comprising a hardware description language (HDL) description of various electronic circuits in the first layer of the target environment, the determining of the first realized diagnostic coverage level of the target environment comprising using the first set of data to perform an automated analysis and simulation of the various electronic circuits in the first layer of the target environment, the automated analysis and simulation comprising inserting faults to determine whether the set of existing safety mechanisms can detect inserted faults, the first realized diagnostic coverage level comprising a value representing a percentage of faults that were detectable by the set of existing safety mechanisms;

determining that the first realized diagnostic coverage level is less than a target diagnostic coverage level for the target environment;

identifying a first set of additional safety mechanisms that can be implemented at the first layer of the target environment;

ranking the first set of additional safety mechanisms; and

selecting a first additional safety mechanism from the first set of additional safety mechanisms based on the ranking of the first set of additional safety mechanisms.

20 . The non-transitory computer-readable medium of claim 19 , the operations further comprising:

determining a second realized diagnostic coverage level of the target environment based on a second set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms and with the first additional safety mechanism;

determining that the second realized diagnostic coverage level is less than the target diagnostic coverage level for the target environment;

selecting a second additional safety mechanism from the first set of additional safety mechanisms based on the ranking of the first set of additional safety mechanisms; and

determining a third realized diagnostic coverage level of the target environment based on a third set of data describing the first layer of the target environment implemented with the set of existing safety mechanisms, with the first additional safety mechanism, and with the second additional safety mechanism.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2025
From: ENGELKEMIER, DARREN S.; MYERS, ROY T., JR.; SEDARAT, HOSSEIN; SHIRANI, RAMIN
To: ETHERNOVIA INC.
Reel/Frame 070662/0639 →
Continuity (2)
Continuation 17451046 · Oct 15, 2021
Provisional Application 63092246 · Oct 15, 2020
References Cited (7)
US 11520963B2 · Strasser · 2022 [cited by examiner]
US 11777835B1 · Sedarat · 2023 [cited by examiner]
US 11803180B2 · Engelkemier · 2023 [cited by examiner]
US 12025977B1 · Engelkemier · 2024 [cited by examiner]
US 2022/0035363 A1, 02/2022, Engelkemier et al. (withdrawn) [cited by applicant]
“U.S. Appl. No. 17/451,046, Corrected Notice of Allowability mailed Jun. 3, 2024”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/451,046, Notice of Allowance mailed Feb. 20, 2024”, 10 pgs. [cited by applicant]