US12515681B2 - System on chip automotive safety monitoring - Google Patents
System on chip automotive safety monitoringInfo
- Publication number
- US12515681B2 US12515681B2 US18/208,189 US202318208189A US12515681B2 US 12515681 B2 US12515681 B2 US 12515681B2 US 202318208189 A US202318208189 A US 202318208189A US 12515681 B2 US12515681 B2 US 12515681B2
- Authority
- US
- United States
- Prior art keywords
- external system
- metrics
- values
- soc
- chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/023—Avoiding failures by using redundant parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
Definitions
- Universal Chiplet Interconnect Express provides an open specification for an interconnect and serial bus between chiplets, which enables the production of large system on chip (SoC) packages with intermixed components from different silicon manufacturers.
- SoC system on chip
- Autonomous vehicle computing systems may operate using chiplet arrangements that follow the UCIe specification.
- One goal of creating such computing systems is to achieve the robust safety integrity levels of other important electrical and electronic (E/E) automotive components of the vehicle.
- An on-board, vehicle computing system includes a system on chip (SoC) with a number of specialized chiplets to take data from sensors in the vehicle and make decisions for autonomous driving in a functionally safe manner.
- SoC system on chip
- SoC system on chip
- the main advantage of an SoC is its compactness and reduced complexity, since all the components are integrated onto a single chip. This reduces the need for additional circuit boards and other components, which can save space, reduce power consumption, and reduce overall cost.
- the components of an SoC are often referred to as chiplets, which are small, self-contained semiconductor components that can be combined with other chiplets to form the SoC.
- Chiplets are designed to be highly modular and scalable, allowing for the creation of complex systems from smaller, simpler components and are typically designed to perform specific functions or tasks, such as memory, graphics processing, or input/output (I/O) functions. They are usually interconnected with each other and with a main processor or controller using high-speed interfaces. Chiplets offer increased modularity, scalability, and manufacturing efficiency compared to traditional monolithic chip designs, as well as the ability to be tested individually before being combined into the larger system.
- a computer monitoring system receives, through a preemptive mechanism of an operating system running on an external system, recent values for a set of system health indicators for the external system.
- the recent values are compared to calibrated values for the set of system health indicators, and normal operation of the external system is verified based on whether the comparison of the recent values to the calibrated values are within predetermined error thresholds.
- FIG. 2 is a block diagram depicting an example computing system implementing a multiple system-on-chip (SoC), in accordance with examples described herein;
- SoC system-on-chip
- ASIL automotive safety integrity level Rating
- autonomous driving features continue to advance (e.g., beyond Level 3 autonomy), and autonomous vehicles begin operating more commonly on public road networks, the qualification and certification of E/E components related to autonomous operation of the vehicle will be advantageous to ensure operational safety of these vehicles.
- novel methods for qualifying and certifying hardware, software, and/or hardware/software combinations will also be advantageous in increasing public confidence and assurance that autonomous driving systems are safe beyond current standards.
- certain safety standards for autonomous driving systems include safety thresholds that correspond to average human abilities and care.
- these statistics include vehicle incidences involving impaired or distracted drivers and do not factor in specified time windows in which vehicle operations are inherently riskier (e.g., inclement weather conditions, late night driving, winding mountain roads, etc.).
- Automotive safety integrity level is a risk classification scheme defined by ISO 26262 (the functional safety for road vehicles standard), and is typically established for the E/E components of the vehicle by performing a risk analysis of potential hazards, which involves determining respective levels of severity (i.e., the severity of injuries the hazard can be expected to cause; classified between S0 (no injuries) and S3 (life-threatening injuries)), exposure (i.e., the relative expected frequency of the operational conditions in which the injury can occur; classified between E0 (incredibly unlikely) and E4 (high probability of injury under most operating conditions)), and controllability (i.e., the relative likelihood that the driver can act to prevent the injury; classified between C0 (controllable in general) and C3 difficult to control or uncontrollable)) of the vehicle operating scenario.
- the safety goal(s) for any potential hazard event includes a set of ASIL requirements.
- QM quality management
- these QM hazards may be any combination of low probability of exposure to the hazard, low level of severity of potential injuries resulting from the hazard, and a high level of controllability by the driver in avoiding the hazard and/or preventing injuries.
- Other hazard events are classified as ASIL-A, ASIL-B, ASIL-C, or ASIL-D depending on the various levels of severity, exposure, and controllability corresponding to the potential hazard.
- ASIL-D events correspond to the highest integrity requirements (ASIL requirements) on the safety system or E/E components of the safety system, and ASIL-A comprises the lowest integrity requirements.
- the ASIL may refer to both risk and risk-dependent requirements, where the various combinations of severity, exposure, and controllability are quantified to form an expression of risk (e.g., an airbag system of a vehicle may have a relatively low exposure classification, but high values for severity and controllability).
- the quantities for severity, exposure, and controllability for a given hazard are traditionally determined using values for severity (e.g., S0 through S3), exposure (e.g., E0 through E4), and controllability (e.g., C0 through C3) in the ISO 26262 series, where these values are then utilized to classify the ASIL requirements for the components of a particular safety system.
- certain safety systems can perform variable mitigation measures, which can range from alerts (e.g., visual, auditory, or haptic alerts), minor interventions (e.g., brake assist or steer assist), major interventions and/or avoidance maneuvering (e.g., taking over control of one or more control mechanisms, such as the steering, acceleration, or braking systems), and full autonomous control of the vehicle.
- alerts e.g., visual, auditory, or haptic alerts
- minor interventions e.g., brake assist or steer assist
- major interventions and/or avoidance maneuvering e.g., taking over control of one or more control mechanisms, such as the steering, acceleration, or braking systems
- Non-deterministic inference models in which the system executes one or more perception, object detection, object classification, motion prediction, motion planning, and vehicle control techniques based on, for example, two-dimensional image data, to perform all autonomous driving tasks. It is contemplated that such implementations may be difficult or impossible to certify and provide an ASIL rating for the overall autonomous driving system.
- an autonomous driving system is provided herein that may perform deterministic, reflexive inference operations on specified hardware arrangements that allow for the certification and ASIL grading of various components, software aspects of the system, and/or the entire autonomous driving system itself.
- the first option is to test, adapt (where necessary) and document the software in order to demonstrate compliance with the standard (see ISO 26262-8:2018, Clause 12). For a very large code base such as the Linux operating system, this is simply not a practical option.
- the second option is to develop an appropriate monitoring system for the operating system component. Therefore, through the use of runtime program verification, the software running the compute chiplets of the SoC architecture can be certified when they otherwise would not meet a required level of safety requirements (e.g., ASIL-D) without such runtime program verification.
- ASIL-D required level of safety requirements
- the use of a dual SoC arrangement in which each SoC in the pair alternates between primary and backup responsibilities can facilitate in the overall certification and ASIL grade of the autonomous driving system of the vehicle.
- the first SoC and second SoC utilize isolated power sources and can be electrically coupled to each other by way of eFuses (e.g., active circuit protection devices with integrated field-effect transistors (FETs) used to limit currents and voltages to safe levels during fault conditions), which can further bolster the ASIL grade of the arrangement.
- Fuses e.g., active circuit protection devices with integrated field-effect transistors (FETs) used to limit currents and voltages to safe levels during fault conditions
- FETs integrated field-effect transistors
- the SoCs may have direct memory access to each other (e.g., via a functional safety component of each SoC), which can facilitate dynamic health monitoring, error checks, and seamless transitions between primary and backup status.
- the computing system can perform one or more functions described herein using a learning-based approach, such as by executing an artificial neural network (e.g., a recurrent neural network, convolutional neural network, etc.) or one or more machine-learning models.
- an artificial neural network e.g., a recurrent neural network, convolutional neural network, etc.
- Such learning-based approaches can further correspond to the computing system storing or including one or more machine-learned models.
- the machine-learned models may include an unsupervised learning model.
- the machine-learned models may include neural networks (e.g., deep neural networks) or other types of machine-learned models, including non-linear models and/or linear models.
- Neural networks may include feed-forward neural networks, recurrent neural networks (e.g., long short-term memory recurrent neural networks), convolutional neural networks or other forms of neural networks.
- Some example machine-learned models may leverage an attention mechanism such as self-attention.
- some example machine-learned models may include multi-headed self-attention models (e.g., transformer models).
- a “network” or “one or more networks” can comprise any type of network or combination of networks that allows for communication between devices.
- the network may include one or more of a local area network, wide area network, the Internet, secure network, cellular network, mesh network, peer-to-peer communication link or some combination thereof and may include any number of wired or wireless links. Communication over the network(s) may be accomplished, for instance, via a network interface using any type of protocol, protection scheme, encoding, format, packaging, etc.
- an “autonomy map” or “autonomous driving map” comprises a ground truth map recorded by a mapping vehicle using various sensors (e.g., LIDAR sensors and/or a suite of cameras or other imaging devices) and labeled to indicate traffic and/or right-of-way rules at any given location.
- a given autonomy map can be human labeled based on observed traffic signage, traffic signals, and lane markings in the ground truth map.
- reference points or other points of interest may be further labeled on the autonomy map for additional assistance to the autonomous vehicle.
- Autonomous vehicles or self-driving vehicles may then utilize the labeled autonomy maps to perform localization, pose, change detection, and various other operations required for autonomous driving on public roads.
- an autonomous vehicle can reference an autonomy map for determining the traffic rules (e.g., speed limit) at the vehicle's current location, and can dynamically compare live sensor data from an on-board sensor suite with a corresponding autonomy map to safely navigate along a current route.
- traffic rules e.g., speed limit
- the examples described herein achieve a technical effect of providing redundancy and functional safety monitoring for SoCs to, for example, increase the safety integrity level of an autonomous vehicle computing system.
- One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer implemented method.
- Programmatically means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device.
- a programmatically performed step may or may not be automatic.
- a programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions.
- a module or component can exist on a hardware component independently of other modules or components.
- a module or component can be a shared element or process of other modules, programs, or machines.
- Some examples described herein can generally require the use of computing devices, including processing and memory resources.
- one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers and/or personal computers using network equipment (e.g., routers).
- Network equipment e.g., routers.
- Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
- one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a non-transitory computer-readable medium.
- Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples disclosed herein can be carried and/or executed.
- the numerous machines shown with examples of the invention include processors and various forms of memory for holding data and instructions.
- Examples of non-transitory computer-readable media include permanent memory storage devices, such as hard drives on personal computers or servers.
- Other examples of computer storage media include portable storage units, such as flash memory or magnetic memory.
- Computers, terminals, network-enabled devices are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable media. Additionally, examples may be implemented in the form of computer programs.
- FIG. 1 is a block diagram depicting an example computing system 100 in which embodiments described herein may be implemented, in accordance with examples described herein.
- the computing system 100 can include one or more control circuits 110 that may include one or more processors (e.g., microprocessors), one or more processing cores, a programmable logic circuit (PLC) or a programmable logic/gate array (PLA/PGA), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), systems on chip (SoCs), or any other control circuit.
- processors e.g., microprocessors
- PLC programmable logic circuit
- PLA/PGA programmable logic/gate array
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- SoCs systems on chip
- the control circuit(s) 110 and/or computing system 100 may be part of, or may form, a vehicle control unit (also referred to as a vehicle controller) that is embedded or otherwise disposed in a vehicle (e.g., a Mercedes-Benz® car, truck, or van).
- vehicle controller may be or may include an infotainment system controller (e.g., an infotainment head-unit), a telematics control unit (TCU), an electronic control unit (ECU), a central powertrain controller (CPC), a central exterior & interior controller (CEIC), a zone controller, an autonomous vehicle control system, or any other controller (the term “or” is used herein interchangeably with “and/or”).
- the non-transitory computer-readable medium 120 may form, for example, a computer diskette, a hard disk drive (HDD), a solid state drive (SDD) or solid state integrated memory, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), dynamic random access memory (DRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), and/or a memory stick.
- the non-transitory computer-readable medium 120 may store computer-executable instructions or computer-readable instructions.
- the computing system 100 can include a communication interface 140 that enables communications over one or more networks 150 to transmit and receive data.
- the computing system 100 can communicate, over the one or more networks 150 , with fleet vehicles using the communication interface 140 to receive sensor data and implement the intersection classification methods described throughout the present disclosure.
- the communication interface 140 may be used to communicate with one or more other systems.
- the communication interface 140 may include any circuits, components, software, etc. for communicating via one or more networks 150 (e.g., a local area network, wide area network, the Internet, secure network, cellular network, mesh network, and/or peer-to-peer communication link).
- the communication interface 140 may include for example, one or more of a communications controller, receiver, transceiver, transmitter, port, conductors, software and/or hardware for communicating data/information.
- the control circuit(s) 110 of the computing system 100 can include a dual SoC arrangement that facilitates the various methods and techniques described throughout the present disclosure.
- the SoCs can perform a set of tasks in a primary SoC and backup SoC arrangement, where the primary SoC performs the set of tasks, and the backup SoC maintains a standby state and monitors the status and/or state of the primary SoC.
- the set of tasks can comprise a set of autonomous driving tasks, such as perception, object detection and classification, grid occupancy determination, sensor data fusion and processing, motion prediction (e.g., of dynamic external entities), motion planning, and vehicle control tasks for autonomously operating a vehicle along a travel route.
- multiple dual SoC arrangements may be implemented for performing these tasks, with each SoC pair being configured in the manner described in detail below.
- FIG. 2 is a block diagram depicting an example multiple system on chip (MSoC), in accordance with examples described herein.
- the MSoC 200 can include a first SoC 210 having a first memory 215 and a second SoC 220 having a second memory 225 coupled by an interconnect 240 (e.g., an ASIL-D rated chip-to-chip interconnect) that enables each of the first SoC 210 and second SoC 220 to read each other's memories 215 , 225 .
- an interconnect 240 e.g., an ASIL-D rated chip-to-chip interconnect
- the first SoC 210 and the second SoC 220 may alternate roles, between a primary SoC and a backup SoC.
- the primary SoC can perform various autonomous driving tasks, such as perception, object detection and classification, grid occupancy determination, sensor data fusion and processing, motion prediction (e.g., of dynamic external entities), motion planning, and vehicle control tasks.
- the backup SoC can maintain a set of computational components (e.g., CPUs, ML accelerators, and/or memory chiplets) in a low power state, and continuously or periodically read the memory of the primary SoC.
- the first SoC 210 performs a set of autonomous driving tasks and publishes state information corresponding to these tasks in the first memory 215 .
- the second SoC 220 reads the published state information in the first memory 215 to continuously check that the first SoC 210 is operating within nominal thresholds (e.g., temperature thresholds, voltage thresholds, bandwidth and/or memory thresholds, etc.), and that the first SoC 210 is performing the set of autonomous driving tasks free from error.
- the nominal thresholds may be taken from manufacturers' specifications or determined through testing processes of the underlying hardware.
- the second SoC 220 performs health monitoring (i.e., comparing recent values from the first SoC 210 to the nominal thresholds) and error management tasks for the first SoC 210 and takes over control of the set of autonomous driving tasks when a triggering condition is met.
- the triggering condition can correspond to a fault, failure, or other error experienced, such as exceeding one of the nominal thresholds, by the first SoC 210 that may affect the performance of the set of tasks by the first SoC 210 .
- the second SoC 220 can publish state information corresponding to its computational components being maintained in a standby state (e.g., a low power state in which the second SoC 220 maintains readiness to take over the set of tasks from the first SoC 210 ).
- the first SoC 210 can monitor the state information of the second SoC 220 by continuously or periodically reading the memory 225 of the second SoC 220 to also perform health check monitoring and error management on the second SoC 220 . For example, if the first SoC 210 detects a fault, failure, or other error in the second SoC 220 , the first SoC 210 can trigger the second SoC 220 to perform a system reset or reboot.
- the first SoC 210 and the second SoC 220 can each include a functional safety (FuSa) component that performs the health monitoring and error management tasks.
- the FuSa component can be maintained in a powered state for each SoC, whether the SoC operates in a primary or backup manner.
- the backup SoC may maintain its other components in a low powered state, with its FuSa component being powered up and performing the heath monitoring and error management tasks described herein.
- the state information published in the first memory 215 can correspond to the set of tasks being performed by the first SoC 210 .
- the first SoC 210 can publish any information corresponding to the surrounding environment of the vehicle (e.g., any external entities identified by the first SoC 210 , their locations, and predicted trajectories, detected objects, such as traffic signals, signage, lane markings, and crosswalk, and the like).
- the state information can further include the operating temperatures of the computational components of the first SoC 210 , bandwidth usage and available memory of the chiplets of the first SoC 210 , and/or any faults or errors, or information indicating faults or errors in these components.
- the state information published in the second memory 225 can correspond to the state of each computational component of the second SoC 220 .
- these components may operate in a low power state in which the components are ready to take over the set of tasks being performed by the first SoC 210 .
- the state information can include whether the components are operating within nominal temperatures and other nominal ranges (e.g., available bandwidth, power, memory, etc.).
- the first SoC 210 and the second SoC 220 can switch between operating as the primary SoC and the backup SoC (e.g., each time the system 200 is rebooted). For example, in a computing session subsequent to a session in which the first SoC 210 operated as the primary SoC and the second SoC 220 operated as the backup SoC, the second SoC 220 can assume the role of the primary SoC and the first SoC 210 can assume the role of the backup SoC. It is contemplated that this process of switching roles between the two SoCs can provide substantially even wear of the hardware components of each SoC, which can prolong the lifespan of the computing system 200 as a whole.
- the MSoC arrangement of the computing system 200 can be provided to increase the safety integrity level (e.g., ASIL rating) of the computing system 200 and the overall autonomous driving system of the vehicle.
- the autonomous driving system can include any number of dual SoC arrangements, each of which can perform a set of autonomous driving tasks.
- the backup SoC dynamically monitors the health of the primary SoC in accordance with a set of functional safety operations, such that when a fault, failure, or other error is detected, the backup SoC can readily power up its components and take over the set of tasks from the primary SoC. Further description of the SoCs and their computational components is provided below with respect to FIG. 3 .
- FIG. 3 is a block diagram illustrating an example system on chip 300 , in accordance with examples described herein.
- the system on chip 300 can comprise either the first SoC 210 or the second SoC 220 as shown and described in connection with FIG. 2 .
- the example system on chip 300 shown in FIG. 3 can include additional components, and the components of system on chip 300 may be arranged in various alternative configurations other than the example shown.
- the system on chip 300 of FIG. 3 is described herein as an example arrangement for illustrative purposes and is not intended to limit the scope of the present disclosure in any manner.
- a sensor data input chiplet 310 of the system on chip 300 can receive sensor data from various vehicle sensors 305 of the vehicle.
- vehicle sensors 305 can include any combination of image sensors (e.g., single cameras, binocular cameras, fisheye lens cameras, etc.), LIDAR sensors, radar sensors, ultrasonic sensors, proximity sensors, and the like.
- the sensor data input chiplet 310 can automatically dump the received sensor data as it's received into a cache memory 331 of the central chiplet 320 .
- the sensor data input chiplet 310 can also include an image signal processor (ISP) responsible for capturing, processing, and enhancing images taken from the various vehicle sensors 305 .
- ISP image signal processor
- the ISP takes the raw image data and performs a series of complex image processing operations, such as color, contrast, and brightness correction, noise reduction, and image enhancement, to create a higher-quality image that is ready for further processing or analysis by the other chiplets of the SoC 300 .
- the ISP may also include features such as auto-focus, image stabilization, and advanced scene recognition to further enhance the quality of the captured images.
- the ISP can then store the higher-quality images in the cache memory 331 .
- the sensor data input chiplet 310 publishes identifying information for each item of sensor data (e.g., images, point cloud maps, etc.) to a shared memory 330 of a central chiplet 320 , which acts as a central mailbox for synchronizing workloads for the various chiplets.
- the identifying information can include details such as an address in the cache memory 331 where the data is stored, the type of sensor data, which sensor captured the data, and a timestamp of when the data was captured.
- Interconnects 311 a - f each represent die-to-die (D2D) interfaces between the chiplets of the SoC 300 .
- the interconnects include a high-bandwidth data path used for general data purposes to the cache memory 331 and a high-reliability data path to transmit functional safety and scheduler information to the shared memory 330 .
- Network on chip (NoC) network interface units (NIU) on the chiplets can be configured to generate error-correcting code (ECC) data on both the high-bandwidth and high-reliability data paths.
- NNIU network interface units
- Each corresponding NIU on its pairing die has the same ECC configuration, which generates and checks the ECC data to ensure end to end error correction coverage.
- the NIUs can transmit the functional safety and scheduler information in two redundant transactions, with the second transaction ordering the bits in reverse (e.g., from bit 31 to 0 on a 32-bit bus) of the order of the first transaction.
- the NIUs can reduce the transmission rate to improve reliability.
- an interconnect may include more than one die-to-die interface.
- interconnect 311 a can include two interfaces to support higher bandwidth communications between the sensor data input chiplet 310 and the central chiplet 320 .
- the interconnects 311 a - f implement the Universal Chiplet Interconnect Express (UCIe) standard and communicate through an indirect mode to allow each of the chiplet host processors to access remote memory as if it were local memory.
- UCIe Universal Chiplet Interconnect Express
- NoC NIUs that provide hardware-level support for remote direct memory access (RDMA) operations.
- RDMA remote direct memory access
- UCIe indirect mode the host processor sends requests to the NIU, which then accesses the remote memory and returns the data to the host processor. This approach allows for efficient and low-latency access to remote memory, which can be particularly useful in distributed computing and data-intensive applications.
- UCIe indirect mode provides a high degree of flexibility, as it can be used with a wide range of different network topologies and protocols.
- the system on chip 300 can include additional chiplets that can store, alter, or otherwise process the sensor data cached by the sensor data input chiplet 310 .
- the system on chip 300 can include an autonomous drive chiplet 340 that can perform operations to determine the physical characteristics of the environment around the sensors. These operations can include perception, sensor fusion, trajectory prediction, and/or other autonomous driving algorithms of an autonomous vehicle.
- the autonomous drive chiplet 340 can include specialized hardware such as digital signal processors (DSP), a direct memory access (DMA) engine, and neural network (NN) accelerators.
- DSP digital signal processors
- DMA direct memory access
- NN neural network accelerators.
- the autonomous drive chiplet 340 can be connected to a dedicated HBM-RAM chiplet 335 in which the autonomous drive chiplet 340 can publish all status information, variables, statistical information, and/or processed sensor data as processed by the autonomous drive chiplet 340 .
- the system on chip 300 can further include a machine-learning (ML) accelerator chiplet 340 that is specialized for accelerating AI workloads, such as image inferences or other sensor inferences using machine learning, in order to achieve high performance and low power consumption for these workloads.
- the ML accelerator chiplet 340 can include an engine designed to efficiently process graph-based data structures, which are commonly used in AI workloads, and a highly parallel processor, allowing for efficient processing of large volumes of data.
- the ML accelerator chiplet 340 can also include specialized hardware accelerators for common AI operations such as matrix multiplication and convolution as well as a memory hierarchy designed to optimize memory access for AI workloads, which often have complex memory access patterns.
- the general compute chiplets 345 can provide general purpose computing for the system on chip 300 .
- the general compute chiplets 345 can comprise high-powered central processing units and/or graphical processing units that can support the computing tasks of the central chiplet 320 , autonomous drive chiplet 340 , and/or the ML accelerator chiplet 350 .
- the shared memory 330 can store programs and instructions for performing autonomous driving tasks.
- the shared memory 330 of the central chiplet 320 can further include a reservation table that provides the various chiplets with the information needed (e.g., sensor data items and their locations in memory) for performing their individual tasks. Further description of the shared memory 330 in the context of the dual SoC arrangements described herein is provided below with respect to FIG. 4 .
- the central chiplet 320 also includes the large cache memory 331 , which supports invalidate and flush operations for stored data.
- HBM-RAM RAM chiplet 355 connected to the central chiplet 320 .
- the HBM-RAM chiplet 355 can include status information, variables, statistical information, and/or sensor data for all other chiplets.
- the information stored in the HBM-RAM chiplet 355 can be stored for a predetermined period of time (e.g., ten seconds) before deleting or otherwise flushing the data.
- the information stored in the HBM-RAM chiplet 355 can include all information necessary to diagnose and resolve the fault.
- Cache memory 331 keeps fresh data available with low latency and less power required compared to accessing data from the HBM-RAM chiplet 355 .
- FIG. 4 is a block diagram depicting an example external system and a central chiplet with a health monitor.
- a health monitor 440 on a central chiplet 420 receives recent values for a set of system health indicators for an external system 410 .
- the recent values are compared to calibrated values for the set of system health indicators, and normal operation of the external system 440 is verified based on whether the comparison of the recent values to the calibrated values are within predetermined error thresholds.
- the external system 410 is one of the general compute chiplets 345 as described in context with FIG. 3 .
- the operating system 412 acts as an intermediary between the hardware components, such as the memory 416 and the processors 412 .
- the operating system 412 handles memory management tasks like allocating and deallocating memory, managing virtual memory, and implementing memory protection mechanisms to prevent unauthorized access.
- the memory management aspect involves various software components such as the stack, heap, and operating system-managed memory.
- the stack is a region of memory used for managing function calls, local variables, and storing return addresses.
- the operating system 412 maintains a stack pointer, which keeps track of the current position within the stack. It ensures proper stack frame creation and destruction during function calls.
- the heap is a dynamically allocated memory region used for managing dynamic memory requests made by processes executing on the external system 410 .
- the operating system 412 facilitates heap allocation by providing system calls or memory management functions that allow these processes to request and release memory blocks on the heap.
- the operating system 412 manages the processors 418 by scheduling and allocating their resources to different processes. It ensures fairness and efficiency by employing scheduling algorithms to determine which processes receive CPU time, switching between them through context switching, and providing mechanisms for process synchronization and intercommunication through the use of an operating system (OS) scheduler 414 .
- OS operating system
- the OS scheduler 414 initiates a context switch. During this switch, the OS scheduler 414 saves the current process's context, including register values program counters, onto its process control block (PCB). It then selects the next process to run from the scheduling queue, restores its context from its PCB, and transfers control to it.
- This process switching is achieved through a combination of hardware support (such as the context-switching instructions provided by the processors 418 ) and the scheduler's management of the scheduling queues and process states.
- the OS scheduler 414 includes functionality to report values for a set of health indicators to a separate system, such as the central chiplet 420 .
- the OS scheduler 414 determines values for at least some of the set of health indicators for the first program and transmits those values to the central chiplet 420 .
- the health indicators are selected metrics that, when compared with predetermined calibrated values or input into a trained machine learning model, can indicate normal or abnormal operation of the software and hardware components of the external system 410 . These health indicators can include the amount of memory allocated, program runtime, stack pointer changes, and heap values for the first program.
- the central chiplet 420 stores the values for the set of health indicators in an external OS status buffer 435 within the shared memory 430 .
- the buffer can include identifying metadata such as the source of the values (i.e., external system 410 ), the program or process associated with the values (i.e., a process ID), a timestamp of when the values were recorded, etc.
- the health monitor 440 reads the health indicator values from the external OS status buffer 435 on a regular schedule. The health monitor 440 then compares each of the values to their corresponding calibrated values to determine whether the software and hardware of the external system 410 is functioning properly. If the comparison indicates that the health indicator values are each within the error thresholds, then the health monitor 440 has verified normal operation of the external system 410 . However, if the comparison indicates that one or more of the health indicator values deviates from its calibrated value by more than the allowed error threshold, the health monitor 440 can determine that the external system 410 is not performing normally. For example, the health monitor 440 may detect that a program on the external system 410 is using more memory than normal, taking longer to execute than normal, or that its stack or heap pointers are behaving erratically compared to the calibrated values.
- the calibrated values and error thresholds are predetermined values that are loaded and stored in the shared memory 430 .
- the calibrated values can be determined by rigorous testing of the external system 410 hardware and software (e.g., at a factory prior to sale of the system to customers).
- the error thresholds can similarly be determined through testing and manufacturer guidelines (e.g., temperature and voltage guidelines for the processor 418 , such as not exceeding 100 degrees Celsius or 1.5 volts at a site where a probe is located).
- the calibrated values are determined by a machine learning model trained through a machine learning process.
- a labeled dataset that includes examples of both normal and abnormal behavior can be prepared that covers a broad range of potential anomalies that may occur in the external system 410 .
- a machine learning model e.g., a support vector machine, autoencoder, Bayesian network, etc.
- the calibrated values comprise the patterns and characteristics of normal behavior learned by the model.
- the performance of the trained model can be assessed using evaluation metrics such as precision, recall, F1-score, area under the receiver operating characteristic curve, etc.
- the machine learning model uses the recent values, in combination with the patterns and characteristics of normal behavior (i.e., the calibrated values) determined during the training process, to verify normal operation of the external system.
- the recent values may be input into the model to detect anomalies (i.e., unusual values or events that deviate from normal operation) that would indicate abnormal operation.
- the model's predication scores or an analysis of the distribution of normal and abnormal instances is used to determine the error thresholds that delineate the difference between normal and abnormal operation of the external system 410 .
- the external system 410 operating system 412 includes a testing driver 415 to execute a testing program on the processors 418 .
- the testing program runs a demanding test task on the processors 418 in order to stress the processors 418 to determine whether the processors 418 are capable of correct operation when under heavy load.
- the testing program can read voltage and temperature values from probes placed on the processors 418 .
- the testing driver 415 reports these values back to the health monitor 440 (which may store the values in the external OS status buffer 435 ), which can then compare the values to calibrated values and error thresholds to determine the status of the processors 418 .
- the status can include information such as whether the processors 418 are in working order and a prediction on the useful life remaining on the processors 418 before they have degraded to a state that may create a safety concern.
- the health monitor 440 can detect software faults or bugs, though the comparison of the health indicator values to the calibrated values can also determine whether a program on the external system 410 has been tampered with. For example, malicious code injected into one of the programs running on the operating system 412 of the external system 410 may result in that program's runtime execution taking longer than the calibrated value for that program's runtime, using more memory, or otherwise manipulating stack pointer and register values in an unexpected way, which the health monitor 440 can detect.
- FIG. 5 is a flow chart describing a method of verifying normal operation of an external system.
- the scheduler receives a preemptive switch ( 510 ).
- the external system operating system transmits a snapshot of recent values for system health indicators of the external system ( 520 ).
- the operating system scheduler then switches tasks ( 525 ).
- a health monitor running on a separate system e.g., a separate chiplet within a system on chip architecture
- receives the snapshot of the recent values for the system health indicators sent from the external system 530 .
- the health monitor compares the recent values for each of the system health indicators to stored calibrated values ( 540 ).
- the health monitor verifies normal operation of the external system by determining whether each of the recent values is within an error threshold of the calibrated values ( 550 ). If the comparison of one of the recent values to its calibrated value is determined to be outside its predetermined error threshold, the health monitor can alert a functional safety program ( 560 ).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Computer Hardware Design (AREA)
- Traffic Control Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Claims (20)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/208,189 US12515681B2 (en) | 2023-06-09 | 2023-06-09 | System on chip automotive safety monitoring |
| PCT/EP2024/059477 WO2024251413A1 (en) | 2023-06-09 | 2024-04-08 | System on chip automotive safety monitoring |
| KR1020257040663A KR20260001128A (en) | 2023-06-09 | 2024-04-08 | System-on-Chip Automotive Safety Monitoring |
| CN202480038261.4A CN121263781A (en) | 2023-06-09 | 2024-04-08 | System-on-chip automobile safety monitoring |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/208,189 US12515681B2 (en) | 2023-06-09 | 2023-06-09 | System on chip automotive safety monitoring |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240409106A1 US20240409106A1 (en) | 2024-12-12 |
| US12515681B2 true US12515681B2 (en) | 2026-01-06 |
Family
ID=90720141
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/208,189 Active 2043-11-21 US12515681B2 (en) | 2023-06-09 | 2023-06-09 | System on chip automotive safety monitoring |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12515681B2 (en) |
| KR (1) | KR20260001128A (en) |
| CN (1) | CN121263781A (en) |
| WO (1) | WO2024251413A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4155926A1 (en) * | 2021-09-28 | 2023-03-29 | Bayerische Motoren Werke Aktiengesellschaft | Method and device for sequence monitoring of multiple threads |
Citations (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080163255A1 (en) * | 2006-12-29 | 2008-07-03 | Munoz Alberto J | Core sparing on multi-core platforms |
| US20100162383A1 (en) * | 2008-12-19 | 2010-06-24 | Watchguard Technologies, Inc. | Cluster Architecture for Network Security Processing |
| US7933850B1 (en) * | 2006-11-13 | 2011-04-26 | Oracle America, Inc. | Method and apparatus for functional relationship approximation through nonparametric regression using R-functions |
| US20160306700A1 (en) * | 2015-04-17 | 2016-10-20 | Microsoft Technology Licensing, Llc | Restoring service acceleration |
| US20160357647A1 (en) * | 2014-02-10 | 2016-12-08 | Hitachi, Ltd. | Computer, hypervisor, and method for allocating physical cores |
| US10445197B1 (en) * | 2017-05-25 | 2019-10-15 | Amazon Technologies, Inc. | Detecting failover events at secondary nodes |
| US20190391855A1 (en) | 2019-04-30 | 2019-12-26 | Intel Corporation | Technologies for providing efficient access to data in an edge infrastructure |
| US20200017114A1 (en) | 2019-09-23 | 2020-01-16 | Intel Corporation | Independent safety monitoring of an automated driving system |
| CN110879546A (en) | 2019-10-30 | 2020-03-13 | 西安海云物联科技有限公司 | Method for realizing double-chip power supply management by combining software and hardware |
| US20200125722A1 (en) | 2018-10-18 | 2020-04-23 | Denso International America, Inc. | Systems and methods for preventing runaway execution of artificial intelligence-based programs |
| CN112149369A (en) | 2020-09-21 | 2020-12-29 | 交叉信息核心技术研究院(西安)有限公司 | Multicore Package Level System Based on Chip Architecture and Its Chip-Oriented Task Mapping Method |
| US20210019214A1 (en) * | 2019-07-19 | 2021-01-21 | Samsung Electronics Co., Ltd. | System-on-chip and method of operating the same |
| KR20210015472A (en) | 2019-08-02 | 2021-02-10 | 엘아이지넥스원 주식회사 | Circuit redundancy system and method |
| US10992257B2 (en) | 2017-03-16 | 2021-04-27 | Solarcity Corporation | State of health mechanisms for energy generation systems |
| US20210182132A1 (en) * | 2019-12-12 | 2021-06-17 | EMC IP Holding Company LLC | Method, device and computer program product for error management |
| US20210192867A1 (en) | 2019-09-20 | 2021-06-24 | Sonatus, Inc. | System, method, and apparatus for managing vehicle data collection |
| US20210240560A1 (en) * | 2019-09-04 | 2021-08-05 | Amazon Technologies, Inc. | Block-storage service supporting multi-attach and health check failover mechanism |
| US11144027B2 (en) | 2019-06-29 | 2021-10-12 | Intel Corporation | Functional safety controls based on soft error information |
| US11269799B2 (en) | 2019-05-03 | 2022-03-08 | Arm Limited | Cluster of processing elements having split mode and lock mode |
| US20220114028A1 (en) | 2021-12-20 | 2022-04-14 | Yang Peng | Dynamic safety awareness task distribution |
| US11360846B2 (en) | 2019-09-27 | 2022-06-14 | Intel Corporation | Two die system on chip (SoC) for providing hardware fault tolerance (HFT) for a paired SoC |
| US11388054B2 (en) | 2019-04-30 | 2022-07-12 | Intel Corporation | Modular I/O configurations for edge computing using disaggregated chiplets |
| CN114780227A (en) | 2022-06-20 | 2022-07-22 | 中国人民解放军国防科技大学 | A task scheduling and mapping method and system based on core-granular network processor architecture |
| US11410266B2 (en) * | 2019-03-15 | 2022-08-09 | Intel Corporation | Disaggregation of System-On-Chip (SOC) architecture |
| US20220283971A1 (en) | 2021-03-05 | 2022-09-08 | Samsung Electronics Co., Ltd. | System-on-chip and an interconnect bus included in the system on chip |
| US20230024607A1 (en) * | 2019-12-23 | 2023-01-26 | Telechips Inc. | System-on-chip for sharing graphics processing unit that supports multimaster, and method for operating graphics processing unit |
| US11565606B2 (en) | 2020-02-28 | 2023-01-31 | Honda Motor Co., Ltd. | Diagnostic device, diagnostic system, diagnostic method, and diagnostic program |
| US20230036117A1 (en) | 2021-07-30 | 2023-02-02 | Nvidia Corporation | Isolating a region of a system on a chip for safety critical operations |
| US20230032305A1 (en) | 2021-07-30 | 2023-02-02 | Nvidia Corporation | Communicating faults to an isolated safety region of a system on a chip |
| CN115688093A (en) | 2021-07-30 | 2023-02-03 | 辉达公司 | Isolated safe area for fault delivery to system on chip |
| US11573856B1 (en) | 2021-07-30 | 2023-02-07 | Nvidia Corporation | Transmitting data between regions of varying safety integrity levels in a system on a chip |
| US20230063601A1 (en) | 2021-09-01 | 2023-03-02 | Ford Global Technologies, Llc | Methods and systems for anomaly detection of a vehicle |
| US11636063B2 (en) | 2021-08-02 | 2023-04-25 | Nvidia Corporation | Hardware accelerated anomaly detection using a min/max collector in a system on a chip |
| US20230176577A1 (en) | 2017-11-10 | 2023-06-08 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
| US20230342161A1 (en) | 2022-04-26 | 2023-10-26 | Motional Ad Llc | Boot process system-on-chip node configuration |
| US20240089181A1 (en) * | 2022-04-26 | 2024-03-14 | Motional Ad Llc | Software-defined compute nodes on multi-soc architectures |
| US20240375670A1 (en) | 2023-05-10 | 2024-11-14 | Mercedes-Benz Group AG | Autonomous vehicle system on chip |
| US20240378090A1 (en) | 2023-05-10 | 2024-11-14 | Mercedes-Benz Group AG | Out-of-order workload execution |
| US20250042418A1 (en) | 2023-08-02 | 2025-02-06 | Mercedes-Benz Group AG | Adapting performance level of runnables based on safety ratings |
| US12229079B2 (en) | 2023-05-10 | 2025-02-18 | Mercedes-Benz Group AG | Multiple system-on-chip arrangement for vehicle computing systems |
| US12276963B2 (en) | 2022-03-31 | 2025-04-15 | Intel Corporation | Apparatus, system, and method of functional safety |
-
2023
- 2023-06-09 US US18/208,189 patent/US12515681B2/en active Active
-
2024
- 2024-04-08 KR KR1020257040663A patent/KR20260001128A/en active Pending
- 2024-04-08 WO PCT/EP2024/059477 patent/WO2024251413A1/en active Pending
- 2024-04-08 CN CN202480038261.4A patent/CN121263781A/en active Pending
Patent Citations (42)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7933850B1 (en) * | 2006-11-13 | 2011-04-26 | Oracle America, Inc. | Method and apparatus for functional relationship approximation through nonparametric regression using R-functions |
| US20080163255A1 (en) * | 2006-12-29 | 2008-07-03 | Munoz Alberto J | Core sparing on multi-core platforms |
| US20100162383A1 (en) * | 2008-12-19 | 2010-06-24 | Watchguard Technologies, Inc. | Cluster Architecture for Network Security Processing |
| US20160357647A1 (en) * | 2014-02-10 | 2016-12-08 | Hitachi, Ltd. | Computer, hypervisor, and method for allocating physical cores |
| US20160306700A1 (en) * | 2015-04-17 | 2016-10-20 | Microsoft Technology Licensing, Llc | Restoring service acceleration |
| US10992257B2 (en) | 2017-03-16 | 2021-04-27 | Solarcity Corporation | State of health mechanisms for energy generation systems |
| US10445197B1 (en) * | 2017-05-25 | 2019-10-15 | Amazon Technologies, Inc. | Detecting failover events at secondary nodes |
| US20230176577A1 (en) | 2017-11-10 | 2023-06-08 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
| US20200125722A1 (en) | 2018-10-18 | 2020-04-23 | Denso International America, Inc. | Systems and methods for preventing runaway execution of artificial intelligence-based programs |
| US11410266B2 (en) * | 2019-03-15 | 2022-08-09 | Intel Corporation | Disaggregation of System-On-Chip (SOC) architecture |
| US20190391855A1 (en) | 2019-04-30 | 2019-12-26 | Intel Corporation | Technologies for providing efficient access to data in an edge infrastructure |
| US11388054B2 (en) | 2019-04-30 | 2022-07-12 | Intel Corporation | Modular I/O configurations for edge computing using disaggregated chiplets |
| US11269799B2 (en) | 2019-05-03 | 2022-03-08 | Arm Limited | Cluster of processing elements having split mode and lock mode |
| US11144027B2 (en) | 2019-06-29 | 2021-10-12 | Intel Corporation | Functional safety controls based on soft error information |
| US20210019214A1 (en) * | 2019-07-19 | 2021-01-21 | Samsung Electronics Co., Ltd. | System-on-chip and method of operating the same |
| KR20210015472A (en) | 2019-08-02 | 2021-02-10 | 엘아이지넥스원 주식회사 | Circuit redundancy system and method |
| US20210240560A1 (en) * | 2019-09-04 | 2021-08-05 | Amazon Technologies, Inc. | Block-storage service supporting multi-attach and health check failover mechanism |
| US20210192867A1 (en) | 2019-09-20 | 2021-06-24 | Sonatus, Inc. | System, method, and apparatus for managing vehicle data collection |
| US20200017114A1 (en) | 2019-09-23 | 2020-01-16 | Intel Corporation | Independent safety monitoring of an automated driving system |
| US11360846B2 (en) | 2019-09-27 | 2022-06-14 | Intel Corporation | Two die system on chip (SoC) for providing hardware fault tolerance (HFT) for a paired SoC |
| CN110879546A (en) | 2019-10-30 | 2020-03-13 | 西安海云物联科技有限公司 | Method for realizing double-chip power supply management by combining software and hardware |
| US20210182132A1 (en) * | 2019-12-12 | 2021-06-17 | EMC IP Holding Company LLC | Method, device and computer program product for error management |
| US20230024607A1 (en) * | 2019-12-23 | 2023-01-26 | Telechips Inc. | System-on-chip for sharing graphics processing unit that supports multimaster, and method for operating graphics processing unit |
| US11565606B2 (en) | 2020-02-28 | 2023-01-31 | Honda Motor Co., Ltd. | Diagnostic device, diagnostic system, diagnostic method, and diagnostic program |
| CN112149369A (en) | 2020-09-21 | 2020-12-29 | 交叉信息核心技术研究院(西安)有限公司 | Multicore Package Level System Based on Chip Architecture and Its Chip-Oriented Task Mapping Method |
| US20220283971A1 (en) | 2021-03-05 | 2022-09-08 | Samsung Electronics Co., Ltd. | System-on-chip and an interconnect bus included in the system on chip |
| US20230036117A1 (en) | 2021-07-30 | 2023-02-02 | Nvidia Corporation | Isolating a region of a system on a chip for safety critical operations |
| US20230032305A1 (en) | 2021-07-30 | 2023-02-02 | Nvidia Corporation | Communicating faults to an isolated safety region of a system on a chip |
| CN115688093A (en) | 2021-07-30 | 2023-02-03 | 辉达公司 | Isolated safe area for fault delivery to system on chip |
| US11573856B1 (en) | 2021-07-30 | 2023-02-07 | Nvidia Corporation | Transmitting data between regions of varying safety integrity levels in a system on a chip |
| US11636063B2 (en) | 2021-08-02 | 2023-04-25 | Nvidia Corporation | Hardware accelerated anomaly detection using a min/max collector in a system on a chip |
| US20230063601A1 (en) | 2021-09-01 | 2023-03-02 | Ford Global Technologies, Llc | Methods and systems for anomaly detection of a vehicle |
| US20220114028A1 (en) | 2021-12-20 | 2022-04-14 | Yang Peng | Dynamic safety awareness task distribution |
| US12276963B2 (en) | 2022-03-31 | 2025-04-15 | Intel Corporation | Apparatus, system, and method of functional safety |
| US20230342161A1 (en) | 2022-04-26 | 2023-10-26 | Motional Ad Llc | Boot process system-on-chip node configuration |
| US20240089181A1 (en) * | 2022-04-26 | 2024-03-14 | Motional Ad Llc | Software-defined compute nodes on multi-soc architectures |
| US12199838B2 (en) | 2022-04-26 | 2025-01-14 | Motional Ad Llc | Software-defined compute nodes on multi-SoC architectures |
| CN114780227A (en) | 2022-06-20 | 2022-07-22 | 中国人民解放军国防科技大学 | A task scheduling and mapping method and system based on core-granular network processor architecture |
| US20240375670A1 (en) | 2023-05-10 | 2024-11-14 | Mercedes-Benz Group AG | Autonomous vehicle system on chip |
| US20240378090A1 (en) | 2023-05-10 | 2024-11-14 | Mercedes-Benz Group AG | Out-of-order workload execution |
| US12229079B2 (en) | 2023-05-10 | 2025-02-18 | Mercedes-Benz Group AG | Multiple system-on-chip arrangement for vehicle computing systems |
| US20250042418A1 (en) | 2023-08-02 | 2025-02-06 | Mercedes-Benz Group AG | Adapting performance level of runnables based on safety ratings |
Non-Patent Citations (12)
| Title |
|---|
| Abella, Jaume et al. "Envisioning a Safety Island to Enable HPC Devices in Safety-Critical Domains" Hardware and Architecture (cs.AR), Cornell University, submitted Jul. 21, 2023. 9 pages. |
| Avani, Dave, "A Study of AI-Based Smart Chiplets and Interconnects for Vehicles", North American Jorunal of Engineeribg; Research, vol. 2, No. 4, Nov. 2021, Accessed: Nov. 20, 2025 [Online]. Available: https://najer.org/najer/article/view/64. |
| Guangbao, Shan et al. "Architecture of Computing System Based on Chiplet" Micromachines: Jan. 29, 2022; found online at https://doi.org.10.3390/mi13020205. |
| International Search Report and Written Opinion issued by the International Searching Authority on Nov. 15, 2025 for PCT Application No. PCT/EP2024/025229. 10 pages. |
| International Search Report with Written Opinion of the International Searching Authority for the Application No. PCT/EP2024/059477 mailed Jul. 8, 2024. |
| Ma, Yenai et al "Tap-2.5D: A Thermally-Aware Chiplet Placement Methodology for 2.5D Systems" ResearchGate, Conference Paper, Feb. 2021. 7 pages. |
| Abella, Jaume et al. "Envisioning a Safety Island to Enable HPC Devices in Safety-Critical Domains" Hardware and Architecture (cs.AR), Cornell University, submitted Jul. 21, 2023. 9 pages. |
| Avani, Dave, "A Study of AI-Based Smart Chiplets and Interconnects for Vehicles", North American Jorunal of Engineeribg; Research, vol. 2, No. 4, Nov. 2021, Accessed: Nov. 20, 2025 [Online]. Available: https://najer.org/najer/article/view/64. |
| Guangbao, Shan et al. "Architecture of Computing System Based on Chiplet" Micromachines: Jan. 29, 2022; found online at https://doi.org.10.3390/mi13020205. |
| International Search Report and Written Opinion issued by the International Searching Authority on Nov. 15, 2025 for PCT Application No. PCT/EP2024/025229. 10 pages. |
| International Search Report with Written Opinion of the International Searching Authority for the Application No. PCT/EP2024/059477 mailed Jul. 8, 2024. |
| Ma, Yenai et al "Tap-2.5D: A Thermally-Aware Chiplet Placement Methodology for 2.5D Systems" ResearchGate, Conference Paper, Feb. 2021. 7 pages. |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121263781A (en) | 2026-01-02 |
| US20240409106A1 (en) | 2024-12-12 |
| KR20260001128A (en) | 2026-01-05 |
| WO2024251413A1 (en) | 2024-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11693753B2 (en) | Enhanced in-system test coverage based on detecting component degradation | |
| US20240375670A1 (en) | Autonomous vehicle system on chip | |
| US11962664B1 (en) | Context-based data valuation and transmission | |
| US12229079B2 (en) | Multiple system-on-chip arrangement for vehicle computing systems | |
| US20240430125A1 (en) | Functional safety for system-on-chip arrangements | |
| JP2023024931A (en) | Propagation of Faults to Isolated Safe Areas of System-on-Chip | |
| US20240378090A1 (en) | Out-of-order workload execution | |
| Chitnis et al. | Enabling functional safety ASIL compliance for autonomous driving software systems | |
| US20210316742A1 (en) | Error handling in an autonomous vehicle | |
| US12515681B2 (en) | System on chip automotive safety monitoring | |
| US20250042418A1 (en) | Adapting performance level of runnables based on safety ratings | |
| US20240411606A1 (en) | Autonomous vehicle system on chip mailbox architecture | |
| US12522228B2 (en) | Workload execution in deterministic pipelines | |
| KR20260012260A (en) | Functional Safety for System-on-Chip Arrays | |
| JP2024536672A (en) | Isolating System-on-Chip Areas for Safety-Critical Operation | |
| TWI913103B (en) | Method for executing multiple workload pipelines with interference prevention and system-on-chip | |
| WO2025078035A1 (en) | Mechanisms for reporting data over die-to-die interfaces | |
| CN113687980B (en) | Abnormal data self-recovery method, system, electronic device and readable storage medium | |
| WO2025190594A1 (en) | Interconnect providing freedom from interference | |
| CN120609397A (en) | Health and Error Monitoring of Sensor Fusion Systems | |
| TW202534521A (en) | Simultaneous multi-threaded processing for executing multiple workloads with interference prevention | |
| CN119496748A (en) | Ethernet data transmission for autonomous and semi-autonomous systems and applications | |
| CN119496749A (en) | Ethernet transmission of image data for autonomous and semi-autonomous systems and applications | |
| CN119728145A (en) | Protecting Controller Area Network (CAN) messages in autonomous systems and applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: MERCEDES-BENZ GROUP AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PIEDNOEL, FRANCOIS;REEL/FRAME:064653/0394 Effective date: 20230622 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ALLOWED -- NOTICE OF ALLOWANCE NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |