Data processing system for efficiently communicating large amounts of data

By providing a shared memory area in the data processing system, the data processing module allows data exchange directly in memory, solving the problem of low data transmission performance in the prior art and achieving efficient and stable large-scale data processing.

JP2025515059AInactive Publication Date: 2025-05-13ROBERT BOSCH GMBH
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024564757
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-06
Filing Date
2023-03-22
Publication Date
2025-05-13
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing data processing systems have low performance when processing large-scale data, especially when processing large amounts of data, which may lead to performance degradation and system crashes.

Method used

By providing a shared memory area in the data processing system, the data processing module allows data exchange directly in memory without the need to pass through the operating system interface, which can improve the efficiency of data transmission.

Benefits of technology

This method can significantly improve the performance of the data processing system, especially when processing large-scale data, avoiding performance bottlenecks in data copying and operating system interfaces, ensuring the stability and efficiency of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025515059000001_ABST
    Figure 2025515059000001_ABST
Patent Text Reader

Abstract

A data processing system (1) for processing data (2), comprising a data processing device (3) with at least one processor (4) and at least one main memory (5), on which at least one operating system (6) and a number of data processing modules (7) are operated to perform data processing tasks, the operating system (6) being adapted to manage the data processing modules (7) and to provide interfaces (8) respectively enabling communication of the data processing modules (7) via the operating system (6), and the data processing device (3) storing, on the main memory (5), A data processing system (1), further comprising an exchange memory (9) on which at least two of the data processing modules (7) are directly accessible so that these data processing modules (7) can communicate with each other without the cooperation of an operating system (6), and which provides at least one exclusive zone (10) for each of these data processing modules (7), within which each data processing module (7) has exclusive write privileges so as to be able to communicate messages to the other data processing modules (7) without any write access conflicts being able to occur.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The invention described herein relates to a data processing system for efficiently processing large amounts of data, in particular for processing data in motor vehicles, which data processing is used in particular for the functionality of highly automated and possibly even autonomous driving. [Background technology]

[0002] Data processing for highly automated or autonomous driving necessarily involves the processing of extremely large amounts of data generated by environmental sensors, such as cameras. Cameras as environmental sensors are typical sources of very large data flows that can be used for the functionality of highly automated driving.

[0003] Processing of such data flows is usually done by a cascade of filters. Considered purely from the data storage point of view, the amount of data gets smaller and smaller from filter to filter, starting from the data source (e.g. camera) until finally substantial information is synthesized from the data, for example for highly automated driving functions. An example could be a function for traffic sign recognition based on camera data, which recognizes traffic signs in the field of view of the vehicle and which should be taken into account during driving operations. For example, one filter could recognize chromaticity in the camera image. Another filter finds edges. A further filter performs recognition of objects in the camera image, and a further filter matches the objects, for example, in a data bank of known traffic signs.

[0004] Such filters are necessarily implemented as independent programs, which may be referred to as, for example, data processing modules, and which operate "side-by-side" on hardware managed by the operating system.

[0005] The control of the individual data processing modules is usually carried out via the interfaces of these programs to the operating system. Via such interfaces, monitoring parameters are often also communicated by the data processing modules etc. However, such interfaces to the operating system often do not have sufficient performance to transmit the data to be processed from data processing module to data processing module. This is especially true in the case of large data volumes, which are output data of a data processing module and are provided to another data processing module for further processing and are further processed by this other data processing module as input data.

[0006] The reduced performance of such interfaces to operating systems is often at least partially due to the fact that the operating systems form a performance-loss-inducing abstraction level between the underlying hardware and the data processing modules. This can be for example due to the fact that data is copied during transmission via such interfaces. Moreover, updates (especially operating system updates) can also cause unexpected performance-deteriorating changes in such interfaces. This is particularly unacceptable if the performance of data transmission from data processing module to data processing module is a critical parameter for the functioning scheme of the data processing system as a whole.

[0007] In light of this and to improve performance, the operating system may allocate a common memory area to a number of data processing modules, over which the data processing modules may communicate with each other directly (i.e. without going through the operating system) and exchange data. Such an exchange memory is preferably provided by the operating system, with the operating system possibly not monitoring / checking which data processing modules have access to this memory at all or only to a limited extent.

[0008] Such an exchange memory violates the principle of separation of individual programs (data processing modules) from one another. This principle is usually implemented when several programs are operated on an operating system and serves safety, especially when incompatibilities of the individual programs (data processing modules) may occur. In the application case considered here of highly automated operation of automobiles, this principle is in part not as important as it is for example for desktop PCs, since the individual data processing modules are preferably designed and tested at least in part directly and exclusively for direct interaction in the overall system. The need for protection of programs from one another, as is necessary for example when software from completely different manufacturers runs on a desktop PC, is not necessarily necessary here to the same extent, and the requirements for process separation for highly automated operation will in future be closer to the requirements for other data processing devices, for example desktop PCs.

[0009] However, as soon as the software used becomes more sophisticated, the principle of separation of individual programs (data processing modules) comes into focus again. The more various functions are realized in a vehicle, the sooner parallel utilization of the data processing resources of these various functions becomes necessary. Especially when ASIL data [ASIL=Automotive Safety and Security] are also processed or generated in a memory, memory protection mechanisms often have to be applied to prevent the overwriting of ASIL data.

[0010] Basically, it can be assumed that the larger the domain controller (i.e. the more different functions it realizes), the greater the need for mutual protection. The occurrence of a violation of the defined mechanisms of isolation of individual programs from each other usually results in an unclear memory state, which is usually manifested by a full reboot of the current system with all the different programs / functions realized on this system. During the reboot, none of the functions offered by the rebooting controller are available. The larger the current controller (the more functions it provides), the more important it is to avoid the need for a possible reboot, since the reboot will take longer, more functions will be paused during the reboot, and in this case the reboot will be very expensive / slow (a full-fledged machine will be started, not just one small controller), and during this time none of the functions running on it will be available.

[0011] Nevertheless, protection against collisions during accesses to the exchange memory, for example read and write accesses, is useful. This protection can be realized, for example, by the self-management of the individual data processing modules when accessing the exchange memory. For this purpose, the data processing modules must obtain information about the read and write accesses of the other data processing modules and, based on this information, take the other data processing modules into account when accessing. Summary of the Invention

[0012] In summary, there is still room for improvement here, and new architectures for such data processing systems should be proposed along with the data processing systems described herein. Here, a data processing system for processing data is described, having a data processing device with at least one processor and at least one main memory, on which at least one operating system and a number of data processing modules are operated to fulfill data processing tasks, the operating systems being adapted for managing the data processing modules and for providing respective operating system interfaces enabling communication of the data processing modules via the operating systems, the data processing device further providing an exchange memory on the main memory, on which at least two direct accesses of the data processing modules are possible, such that these data processing modules can communicate with each other without the cooperation of the operating system, and the exchange memory providing at least one exclusion zone for each of these data processing modules, within which each data processing module has exclusive write authority so as to be able to communicate messages to other data processing modules without potential write access conflicts occurring.

[0013] The data processing device is the hardware on which the described data processing system operates. This hardware has a number of individual processor cores, and preferably, the main memory of such a data processing device also consists of a number of single memories. The totality of all elements, such as processors, main memory, etc., is also referred to here as "system resources". The individual processors and processor cores may be optimized for different tasks. The same applies to the main memory, which does not have to have a monolithic structure but may have different memory types for different tasks. In some cases, individual processors or processor cores and / or memories or memory areas may be reserved for specific data processing tasks and / or for the operation of specific data processing modules. System resources may also be used for inspection functions that may be running in the background.

[0014] The operating system is preferably responsible for managing and allocating the individual system resources to the data processing modules. The operating system is preferably specifically adapted for the type of data processing performed by the described data processing system. The operating system and the individual data processing modules together preferably constitute a data processing structure, which enables the data processing device to perform the respective data processing tasks. Preferably, no installation is performed apart from the installation of the data processing modules required for the performance of the data processing tasks. Rather, the data processing structure is a self-contained system as a whole. For this reason, the provision of an exchange memory that violates the separation principle can also be performed without the overriding concern of system safety being thereby compromised.

[0015] Data processing systems are essentially suitable for processing very different kinds of data, in this case focusing on the processing of large amounts of data by a cascade of modules (filters) for processing the data, as already discussed above.

[0016] The operational system interfaces are used for access to the individual data processing modules during operation of the entire system. Access to the data processing modules via the operational system interfaces can be understood, for example, as a "frontal" access or as an "official" access to the data processing modules.

[0017] The exchange memory is a kind of background channel for high-speed communication between data processing modules, which is preferably not provided for external (from the operating system) access to the data / information provided by the data processing modules, but where data exchange (storage of output data by a data processing module and reading this data as input data by other data processing modules) takes place in the background with particularly good performance.

[0018] A particularity of the data processing system described here is that in the exchange memory, respectively, exclusive zones are provided for the individual data processing modules, in which the respective data processing modules have exclusive write access. These exclusive zones are preferably provided (assigned) by the operating system, which in particular preferably further monitors these exclusive zones against unauthorized write accesses by other data processing modules. In some cases, such unauthorized write accesses are only located and an error procedure is initiated in the event of such an unauthorized write access. Such an error procedure may, as a reaction, include, for example, a restart of the data processing system. In other cases, a positive prevention of such unauthorized write accesses may also be performed. This applies in particular when the data processing system has a high ASIL level. In this case, it is often desired that unauthorized write accesses are completely avoided and that a restart is not required at all at all.

[0019] The exclusive zone can preferably be read by other data processing modules having access to the exchange memory (particularly preferably by all data processing modules having access to the exchange memory), i.e. these data processing modules have read rights to the exclusive zone. The exclusive zone allows the data processing modules to reliably transmit information to other data processing modules, which information cannot be compromised. For this purpose, the exclusive zone is monitored by other data processing modules which further process the information of the respective data processing module. This can be done in a time-controlled manner (for example regularly) and / or in an event-controlled manner (by a certain message or a certain event).

[0020] By providing the described exclusion zone, on the one hand, the positive effects of the high performance of the described exchange memory can be fully utilized, and on the other hand, data collisions in the exchange memory can be efficiently avoided.

[0021] It is particularly preferred if the exchange memory has a processing data area for providing output data and a control data area for providing control data, the exclusion zones each comprising a part of the control data area.

[0022] In a preferred variant, the exclusion zone may also include a part of the process data area. Additional exclusion zones may also be provided in the process data area. This may be advantageous, inter alia, to protect the process data from erroneous reading processes.

[0023] In the processed data area the data itself processed by the described data processing system is preferably stored. This includes, for example, camera image data, data relating to edges found in such image data, etc. In the control data area data serving communication between the data processing modules is stored, such as flags, triggers, status messages, etc. The processed data area is preferably larger than the control data area (i.e. adapted to store significantly larger amounts of data). In a variant, the processed data area and the control data area may be provided on different hardware (on different hardware memory elements).

[0024] It is particularly preferred if at least one data processing module is adapted to provide output data in the exchange memory, which output data are taken from the exchange memory as input data by a number of further data processing modules.

[0025] That is to say, it is particularly preferred that at least one place in the data processing system is a 1:n communication from one data processing module to a number of other data processing modules, which is an essential advantage of using switched memories for communication between data processing modules.

[0026] It is particularly preferred if the output data is further processed by a number of further data processing modules directly from the processed data area as input data and preferably no copies of the output data are made.

[0027] That is, the output data is read as input data directly at the hardware-based storage location of the output data, and in particular, no copying of output data to input data is performed. Such copying is necessarily part of the communication that takes place over the operating system interface, and such communication typically ties up a lot of resources, e.g., bandwidth and full utilization of processor cores.

[0028] It is particularly preferred if at least one data processing module is adapted to provide output data in a processing data area and pointers to the output data as control data in a control data area, which pointers can be used by further data processing modules to access the output data.

[0029] That is to say, preferably, via the control data area, access points are provided to the data stored in the process data area, the access points being realized as pointers. The term "pointer" is used here as a generic concept. A pointer contains, among other things, an address by means of which specific data can be accessed. A pointer may, among other things, be multi-stage, thus enabling efficient access to relatively large data structures in the process data area. More complex indexes (indexed access) can also be understood under the term "pointer". Pointers can also be defined relatively, for example defining the spacing of data relative to one another in a storage location.

[0030] It is particularly preferred if the pointer to the output data is provided by the data processing module within an exclusion zone assigned to this data processing module. That is, it is preferable that such pointers cannot be compromised by write accesses of other data processing modules.

[0031] It is particularly preferred if the data processing module is adapted to store the status messages in the respectively assigned exclusion zone. It is particularly preferred if a data processing module adapted to receive output data of another data processing module is further adapted to issue a status message confirming receipt of the output data when receipt of the output data has been completed within the respective exclusive zone assigned to the data processing module.

[0032] A status message may serve, for example, to signal that a particular data processing task (e.g. the reading of particular data) by a particular data processing module has been completed. By providing the status message within an exclusive zone, it may be ensured that such a status message may also be received by other data processing modules.

[0033] It is particularly preferred when the exchange memory with the exclusion zone is provided by an operating system on the data processing device. By providing an exclusion zone by the operating system, a high degree of safety against the compromise of data exchanged via the exchange memory can be guaranteed.

[0034] It is particularly preferred if at least one data processing module is adapted to monitor the exclusion zones of other data processing modules in order to receive status messages of the other data processing modules.

[0035] It is particularly preferred if the data processing system is adapted to perform data processing tasks for the operation of a motor vehicle. However, the described data processing system can also be used for entirely different tasks, for example for checking and monitoring production processes.

[0036] It is further preferred if the data processing system is adapted to perform data processing tasks for processing environmental data of the motor vehicle. The data processing system is suitable, inter alia, for carrying out data processing tasks for highly automated, possibly autonomous, operation of motor vehicles.

[0037] The described data processing system and technical environment are described in more detail below with reference to the figures, which show one preferred exemplary embodiment. [Brief description of the drawings]

[0038] [Figure 1] 1 is a schematic diagram of an illustrative data processing system 1, illustrating various aspects of the processing of data 2 by such data processing system 1; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0039] The data processing of the data 2 by the data processing system 1 is preferably carried out by sequential processing of the data 2 in a number of data processing modules 7. The data 2 are, for example, surrounding environment data 22, which are acquired, for example, in the surrounding environment of the motor vehicle 18 with surrounding environment sensors 21 and are processed by the data processing system 1 to generate system output data 23, which are used in the motor vehicle 18, for example to ensure the autonomous driving operation of the motor vehicle 18. Each data processing module 7 preferably fulfills one partial task of data processing in order to generate the desired system output data 23 on the basis of the provided data (for example surrounding environment data 22). If the surrounding environment data 22 are, for example, camera data of a camera and the data processing system 1 is to ensure, for example, traffic sign recognition, the system output data 23 are, for example, data 2 on the recognized traffic signs. In this case, a particular data processing module 7 performs, for example, feature registration in the camera data. Other data processing modules 7 match the processed camera data with available map data and / or with a data bank in which information about traffic signs is stored. The above data processing tasks are presented as examples. In practice, often many further data processing tasks are necessary in order to finally generate the desired system output data 23. The individual data processing tasks are preferably each executed by one data processing module 7, and in order to permanently provide the system output data 23, it is particularly preferred that a permanent processing of always new available input data (in this case camera data) takes place, so that the desired information (e.g. information on traffic signs captured by the camera) is permanently provided with high up-to-dateness. Each data processing module 7 thus preferably repeatedly executes the data processing task to which it is adapted, in this connection generating in each case new output data 12 which are then processed as input data 15 by the other data processing module 7 which executes the next data processing task.

[0040] The data processing system 1 is operated on a data processing device 3 having at least one processor 4 and at least one main memory 5. Since the figures selected here show components on the functional system level (data processing system 1) together with hardware components (data processing device 3 with processor 4 and main memory 5), the data processing device 3 is shown here diagrammatically as a connecting line between the processor 4 and the main memory 5. The at least one processor 4 provides computing power that can be utilized for very different processes, and in the at least one main memory 5 the variables underlying the processes, the system state and program components can be stored. The representation of the data processing device 3 is here very simplified and schematic. The illustrated data processing system 1 preferably includes, inter alia, a large number of processors 4, by means of which numerous data processing tasks for processing large data volumes can be performed in parallel. A plurality of main memories 5 or a plurality of main memory modules may be provided.

[0041] An operating system 6 operates on the data processing device 3 and manages and provides system resources of the data processing device 3 (in particular the computing power and main memory 5 of at least one processor 4) to the processors 4 operating on the data processing device 3.

[0042] The data processing tasks for processing the data 2 are performed by data processing modules 7. The operation of the data processing modules 7 is controlled by the operating system 6. Each data processing module 7 has an interface 8 to the operating system 6. Via this interface 8 the data processing modules 7 can be started, controlled and possibly even terminated. Information exchange between the individual data processing modules 7 usually takes place via the operating system 6. The data processing modules 7 may be adapted to provide output data 12 to the other data processing modules 7 via the interface 8 and the operating system 6 when the data processing module 7 has finished a data processing task.

[0043] Communication via interfaces 8 to the operating system 6 or between data processing modules 7 via the operating system 6 is necessarily relatively slow. In particular, communication of data 2 via such interfaces 8 necessarily requires that the data 2 be copied in the main memory 5. In the case of transmission of data 2 via such interfaces 8, a large number of hardware accesses are usually performed in the background, which does not occur in the case of direct read and / or write access to one memory. Moreover, the process of communication via such interfaces 8 is controlled by the operating system 6. If interfaces 8 provided by the operating system 6 are used for communication of data 2, updates of the operating system 6 can significantly change the capacity of the data processing system 1, in particular if large amounts of data are communicated via these interfaces 8.

[0044] To ensure faster communication of the data 2 between the data processing modules 7 of the data processing system 1, an exchange memory 9 is provided in the main memory 5, via which the individual data processing modules 7 can directly exchange the data 2, without going through the operating system 6 and the interface 8 provided by the operating system 6. The representation of exactly one exchange memory 9 is here very simplified. In reality the exchange memory 9 can be structured in a complex way and can have many memory areas and zones. This allows a more efficient exchange of the data 2, which is not influenced, inter alia, when changes occur in the operating system 6, for example by an update.

[0045] The exchange memory 9 is preferably allocated to the data processing module 7 by the operating system 6 . The exchange memory 9 preferably has two partial areas, in particular a processed data area 11 and a control data area 13. In the processed data area 11, the actual data 2 processed by the data processing modules 7 are stored as output data 12 and are read in as input data 15 by further data processing modules 7. In the control data area 13, control data 14 are preferably stored, which serve to control the communication between the data processing modules 7. These include, for example, status messages 17, by means of which the data processing modules 7 can inform other data processing modules 7 of information and which can also be control data 14. Via the status messages 17, it can be signaled, for example, that new output data 12 have been generated, which can be further processed by other data processing modules 7 as input data 15. Via the status messages 17, it can also be signaled, for example, by the data processing modules 7 that the reading in of the input data 15 by the respective data processing module 7 has been completed. As the control data 14, a pointer 16 to the data 2 stored in the processed data area 11 is preferably transmitted in each case. The data 2 stored in the processing data area 11 as output data 12 is preferably not copied for use as input data 15 in other data processing modules 7, but rather the access to the physically same data 2 is made directly. The copying step from output data 12 to input data 15 always requires a copy time, which can be reduced by this method.

[0046] In the exchange memory 9, an exclusive zone 10 is preferably provided, which is respectively assigned to one data processing module 7 and to which the respectively assigned data processing module 7 has exclusive write access 19. The exclusive zone 10 may be arranged in a control data area 13 of the exchange memory 9. However, the exclusive zone 10 may also extend over the control data area 13 and the process data area 11 or the exclusive zone 10 may be partitioned into the (respective) control data area 13 and the (respective) process data area 11. The other data processing modules 7 respectively have only read access 20 to this exclusive zone 10. The data processing modules 7 preferably monitor the exclusive zones 10 of the other data processing modules 7 with which they communicate to fulfill their data processing tasks, in order to receive the control data 14 of these data processing modules 7. The respective control data 14 which a data processing module 7 must communicate to other data processing modules 7 are written by these data processing modules 7 respectively in the exclusive zone 10 assigned to them.

[0047] The structure of the processing data area 11, the control data area 13 and the exclusive zone 10 is preferably not set by the operating system 6 but is managed by the data processing module 7 itself. However, this structure is protected by the operating system, so that unwanted access to the exclusive zone 10 is not possible.

[0048] The described concept of having an exclusive zone 10 in the switching memory 9 that is not monitored by the operating system 6 allows for very high efficiency and speed of data processing within a system having many interdependent data processing tasks, where the exclusive zone 10 also provides high security against data collisions. [Explanation of symbols]

[0049] 1 Data Processing System 2. Data 3 Data Processing Device 4 processors 5. Main memory 6 Operating system 7 Data Processing Module 8. Interface 9. Exchange Memory 10 Exclusive Zone 11 Processing Data Area 12 Output Data 13 Control Data Area 14 Control Data 15 Input Data 16 Index Access 17 Status Messages 18. Automobiles 19 Write Access 20 Read Access 21 Surrounding environment sensor 22 Surrounding environment data 23 System Output Data

Claims

1. A data processing system (1) for processing data (2), comprising a data processing device (3) with at least one processor (4) and at least one main memory (5), on which at least one operating system (6) and a number of data processing modules (7) are operated to perform data processing tasks, the operating system (6) being adapted to manage the data processing modules (7) and to provide interfaces (8) respectively enabling communication of the data processing modules (7) via the operating system (6), the data processing device (3) being adapted to operate the main memory ( 5) on which at least two of said data processing modules (7) can directly access so that said data processing modules (7) can communicate with each other without the cooperation of said operating system (6), and said switching memory (9) provides at least one exclusive zone (10) for each of said data processing modules (7), within which each of said data processing modules (7) has exclusive write authority so as to be able to communicate messages to other said data processing modules (7) without the possibility of causing a write access conflict.

2. 2. The data processing system (1) of claim 1, wherein the exchange memory (9) has a processing data area (11) for providing output data (12) and a control data area (13) for providing control data (14), and each of the exclusive zones (10) comprises a portion of the control data area (13).

3. 3. A data processing system (1) according to claim 2, wherein at least one data processing module (7) is adapted to provide output data (12) in said exchange memory (9), said output data (12) being retrieved from said exchange memory (9) as input data (15) by a number of further data processing modules (7).

4. 4. The data processing system (1) according to claim 3, wherein output data (12) is further processed by said multiple further data processing modules (7) directly from said processed data area (11) as input data (15) and preferably no copies of said output data (12) are made.

5. 5. A data processing system (1) according to claim 3 or 4, wherein at least one data processing module (7) is adapted to provide output data (12) in the processing data area (11) and a pointer (16) to the output data (12) as control data (14) in the control data area (13), said pointer (16) being usable by a further data processing module (7) to access said output data (12).

6. 6. A data processing system (1) according to claim 5, wherein a pointer (16) to said output data (12) is provided by a data processing module (7) within an exclusion zone (10) assigned to said data processing module (7).

7. 7. The data processing system (1) according to any one of claims 1 to 6, wherein the data processing module (7) is adapted to store status messages (17) within the respectively assigned exclusive zone (10).

8. 8. The data processing system (1) according to claim 7, wherein a data processing module (7) adapted to receive output data (12) of another data processing module (7) is adapted not only to do so but also to issue a status message (17) certifying receipt of the output data (12) when receipt of the output data (12) has been completed within the exclusive zone (10) respectively assigned to said data processing module (7).

9. 9. The data processing system (1) according to any one of the preceding claims, wherein the exchange memory (9) with the exclusive zone (10) is provided by the operating system (6) on the data processing device (3).

10. 10. The data processing system (1) according to any one of claims 1 to 9, wherein at least one data processing module (7) is adapted to monitor the exclusion zones (10) of other data processing modules (7) in order to receive status messages (17) of said other data processing modules (7).

11. A data processing system (1) according to any one of the preceding claims, adapted for performing data processing tasks for the operation of a motor vehicle (18).

12. 12. A data processing system (1) according to any one of the preceding claims, adapted for performing data processing tasks for the processing of surrounding environment data (22) of a motor vehicle (18).

Citation Information

Patent Citations

  • Data communication device

    JP2005352839A

  • Computer system for actuating two or more operating systems in different partitions on computer system to communicate different partitions with each other via common memory, and its method

    JP2006216068A

  • Vehicle Safety Electronic Control System

    JP2019508299A

  • Method and apparatus for driving a control device

    JP2019510327A

  • Image processing accelerator

    US20200210351A1