Control device, control method, non-transitory recording medium, and vehicle
By adjusting the storage order of multiple application data through a control device, the competition problem when multiple devices access the storage unit simultaneously is solved, achieving high efficiency and compatibility in data access.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2023-02-09
- Publication Date
- 2026-07-24
AI Technical Summary
When multiple applications access the storage unit almost simultaneously, competition between devices and loss of compatibility in data updates can easily occur.
The control device receives vehicle status and predetermined conditions, adjusts the storage order of multiple application data to the storage unit, and prioritizes high-priority data access.
Effectively suppress competition between devices and ensure that data access meets vehicle status and performance requirements.
Smart Images

Figure CN116610603B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a control device, a control method, a recording medium containing a control program, and a vehicle. Background Technology
[0002] Virtualization aids that improve processor utilization efficiency have been known for some time (e.g., Japanese Patent Application Laid-Open No. 2021-051420). The processor disclosed in Japanese Patent Application Laid-Open No. 2021-051420 adjusts the execution order of multiple requests from a first application and a second application using multiple accelerators. Furthermore, the processor controls the settings of the input / output memory management unit based on the adjustment and using one of the first and second pieces of information, and based on the adjustment, causes one or more corresponding accelerators to execute one of the requests from the multiple requests (e.g., see the "Abstract" of Japanese Patent Application Laid-Open No. 2021-051420).
[0003] In addition, when multiple devices (e.g., CPU: Central Processing Unit) that are executing multiple application software (hereinafter referred to as "applications") access storage units such as memory almost simultaneously to store data, the question sometimes arises of which device's data should be stored first.
[0004] The technology disclosed in Japanese Patent Application Publication No. 2021-051420 is a technology for adjusting the execution order of multiple requests by multiple accelerators, and not a technology for adjusting the order in which data of multiple applications are stored in storage units such as memory.
[0005] Therefore, in the prior art, there is a problem where contention occurs between multiple devices when they are associated with multiple applications and access a single storage unit almost simultaneously. Because multiple devices access a single storage unit almost simultaneously, there is also a risk of loss of compatibility, for example, when updating data.
[0006] This disclosure is an invention made in consideration of the above facts, and its purpose is to suppress the occurrence of competition between devices even when multiple devices associated with multiple applications access a storage unit. Summary of the Invention
[0007] The first aspect of this disclosure is a control device comprising: a receiving unit that receives data output from multiple applications; and an adjustment unit that adjusts the order in which the multiple data output from the multiple applications are stored in a storage unit based on predetermined conditions.
[0008] The control device of the first aspect of this disclosure accepts data output from multiple applications. Based on predetermined conditions, the control device adjusts the order in which multiple data output from multiple applications are stored in the storage unit. Therefore, even when multiple devices associated with multiple applications access a single storage unit, competition between devices can be suppressed.
[0009] The predetermined conditions in the second aspect of this disclosure refer to vehicle state conditions that are preset based on the vehicle state. The receiving unit further receives the vehicle state, and the adjustment unit adjusts the order in which the multiple data received by the receiving unit are stored in the storage unit based on the vehicle state received by the receiving unit and the vehicle state conditions. According to the second aspect of this disclosure, based on the vehicle state of the vehicle equipped with the control device, even when multiple devices associated with multiple applications access a single storage unit, the occurrence of competition between devices can be suppressed.
[0010] Among the third-party applications disclosed herein, including an autonomous driving application as an application related to autonomous driving control and a control system application as an application related to vehicle control different from the autonomous driving control, the vehicle state includes an autonomous driving mode indicating that the vehicle is in an autonomous driving state. The adjustment unit adjusts the order in which multiple data are stored in the storage unit in such a way that, when the vehicle state received by the receiving unit is the autonomous driving mode, data output from the autonomous driving application is stored in the storage unit with priority over data output from the control system application; and when the vehicle state received by the receiving unit is not the autonomous driving mode, data output from the control system application is stored in the storage unit with priority over data output from the autonomous driving application. According to the third aspect of this disclosure, the order in which data is stored in the storage unit can be appropriately adjusted based on whether the vehicle state is in autonomous driving mode.
[0011] Among the multiple applications of the fourth aspect of this disclosure, a multimedia system application, which is an application related to multimedia used in the vehicle, is also included. The adjustment unit adjusts the order in which multiple data items are stored in the storage unit in the following manner: when the vehicle state received by the receiving unit is in the autonomous driving mode, data output from the autonomous driving application is stored in the storage unit prior to data output from the control system application and data output from the multimedia system application; and when the vehicle state received by the receiving unit is not in the autonomous driving mode, data output from the control system application and data output from the autonomous driving application are stored in the storage unit prior to data output from the multimedia system application. According to the fourth aspect of this disclosure, the order in which data is stored in the storage unit can be appropriately adjusted according to whether the vehicle state is in autonomous driving mode and the type of application.
[0012] In the vehicle state described in the fifth aspect of this disclosure, there is a vehicle factory mode indicating that the vehicle exists in a factory and is undergoing improvement or repair. The adjustment unit adjusts the order in which multiple data items are stored in the storage unit in such a way that, when the vehicle state received by the receiving unit is the vehicle factory mode, data output from the control system application is stored in the storage unit with priority over data output from the autonomous driving application. According to the fifth aspect of this disclosure, the order in which data is stored in the storage unit can be appropriately adjusted based on whether the vehicle state is in vehicle factory mode.
[0013] The adjustment unit of the sixth aspect of this disclosure further adjusts the order of storing multiple data items in the storage unit and the order of reading data from the storage unit in the following manner: when the vehicle state received by the receiving unit is the vehicle factory mode, the processing of storing data output from the application in the storage unit takes precedence over the processing of reading data from the storage unit; and when the vehicle state received by the receiving unit is the autonomous driving mode, the processing of reading data from the storage unit takes precedence over the processing of storing data output from the application in the storage unit. According to the sixth aspect of this disclosure, the processing of storing data in the storage unit and the processing of reading data from the storage unit can be appropriately adjusted according to the type of data processing.
[0014] The data output from multiple applications according to the seventh aspect of this disclosure includes key data for encrypting data output from the applications and execution data used when executing the applications. The adjustment unit, based on predetermined conditions, adjusts which of the key data and the execution data should be preferentially stored in the storage unit. According to the seventh aspect of this disclosure, the processing of storing data in the storage unit can be appropriately adjusted according to the type of data.
[0015] The predetermined conditions in the eighth aspect of this disclosure refer to vehicle state conditions that are pre-set based on vehicle state. The receiving unit further receives the vehicle state, which includes an autonomous driving mode indicating that the vehicle is in an autonomous driving state, and a vehicle factory mode indicating that the vehicle exists in a factory and is undergoing improvement or repair. The adjustment unit further adjusts the order of storing multiple data items in the storage unit and the order of reading the data from the storage unit in the following manner: when the vehicle state received by the receiving unit is the vehicle factory mode, the processing of storing the key data in the storage unit takes precedence over the processing of storing the execution data in the storage unit; and when the vehicle state received by the receiving unit is the autonomous driving mode, the processing of reading the execution data from the storage unit takes precedence over the processing of storing the key data in the storage unit. According to the eighth aspect of this disclosure, the processing of storing data in the storage unit and the processing of reading data from the storage unit can be appropriately adjusted according to the type of data and the type of processing.
[0016] The ninth aspect of this disclosure is a vehicle equipped with the aforementioned control device. According to the ninth aspect of this disclosure, similarly to the first aspect, even when multiple devices associated with multiple applications access a single storage unit, it is possible to suppress the occurrence of contention between devices.
[0017] The tenth aspect of this disclosure provides a control method that enables a computer to perform the following processing: accepting data output from multiple applications and adjusting the order in which the multiple data output from the multiple applications are stored in a storage unit based on predetermined conditions. According to the tenth aspect of this disclosure, similar to the first aspect, even when multiple devices associated with multiple applications access a single storage unit, the occurrence of contention between devices can be suppressed.
[0018] The eleventh aspect of this disclosure includes a recording medium containing a control program for causing a computer to perform the following processing: accepting data output from multiple applications and adjusting the order in which the multiple data output from the multiple applications are stored in a storage unit based on predetermined conditions. According to the eleventh aspect of this disclosure, similar to the first aspect, even when multiple devices associated with multiple applications access a single storage unit, it is possible to suppress the occurrence of contention between devices.
[0019] As explained above, according to this disclosure, the following effect is achieved: even when multiple devices associated with multiple applications access a single storage unit, the occurrence of contention between devices can be suppressed. Attached Figure Description
[0020] Figure 1 This is a block diagram illustrating an example of the general structure of the control system involved in the implementation.
[0021] Figure 2 A diagram illustrating access from a device to storage.
[0022] Figure 3 A diagram illustrating access from a device to storage.
[0023] Figure 4 This is a diagram used to illustrate an example of vehicle state conditions.
[0024] Figure 5 This diagram illustrates an example of the process flow implemented by the control system involved in the implementation.
[0025] Figure 6 This diagram illustrates an example of the process flow implemented by the control system involved in the implementation.
[0026] Figure 7 This diagram illustrates an example of the process flow implemented by the control system involved in the implementation. Detailed Implementation
[0027] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0028] <Implementation Method>
[0029] Figure 1 This is a block diagram illustrating an example of the general structure of the control system 10 according to an embodiment. For example... Figure 1The control system 10 includes multiple Central Processing Units (CPUs) 12-1, 12-2, 12-3, and 12-4; multiple Hardware Security Modules (HSMs) 14-1, 14-2, and 14-3; a memory 16 as a temporary storage area; a storage unit 18 as an example of a non-volatile storage unit; and an Ethernet (trademarked) switch (Eth / SW) 19 as a communication interface. The control system 10 is mounted on a vehicle (not shown).
[0030] The control system 10 is hardware equipped with the various structural elements described below. The control system 10 may also be a processor.
[0031] Multiple CPUs 12-1, 12-2, 12-3, 12-4, multiple HSMs 14-1, 14-2, 14-3, memory 16, storage 18, and Eth / SW19 are connected together in a communicative manner via a bus (not shown). Furthermore, in the following text, any one of the multiple CPUs 12-1, 12-2, 12-3, 12-4 will be referred to as CPU12. Similarly, any one of the multiple HSMs 14-1, 14-2, 14-3 will be referred to as HSM14.
[0032] The HSM14 is hardware used to manage key data used in encrypting or decoding data. The HSM14 has security features and is tamper-proof. The HSM14 handles key data storage, encryption or decoding operations using the key data, key data generation, and random number generation.
[0033] The memory 16 is a storage device that can be directly accessed by the CPU 12, which is the processor. Since the memory 16 also temporarily stores frequently used data, it can also be considered an example of a storage unit.
[0034] The storage device 18 is implemented using a Hard Disk Drive (HDD), Solid State Drive (SSD), flash memory, or the like. The storage device 18, which serves as the storage medium, stores programs used to enable the control system 10 to function. Multiple CPUs 12-1, 12-2, 12-3, and 12-4 constituting the control system 10 read various programs from the storage device 18 and expand them in the memory 16, thereby sequentially executing the processes inherent in each program.
[0035] By sequentially executing various programs through multiple CPUs 12-1, 12-2, 12-3, and 12-4 of the control system 10, the following can be achieved: Figure 1 The virtualization mechanism 20 shown includes multiple virtual machines 30-1, 30-2, 30-3, 30-4, multiple Basic Software (BSW) 40-1, 40-2, 40-3, a central gateway (G / W) 50, a control system application 60A, an autonomous driving application 60B, and a multimedia system application 60C.
[0036] Furthermore, in the following text, any one of the multiple virtual machines 30-1, 30-2, 30-3, and 30-4 will be referred to as virtual machine 30. Additionally, any one of the multiple BSWs 40-1, 40-2, and 40-3 will be referred to as BSW40. Furthermore, any one of the control system application 60A, the autonomous driving application 60B, and the multimedia system application 60C will be referred to as application 60.
[0037] The virtualization mechanism 20 is implemented by software running on the control system 10. The virtualization mechanism 20 is implemented by multiple CPUs 12-1, 12-2, 12-3, and 12-4, which are the physical structure of the control system 10. Furthermore, the functionality of the virtual machine 30 is implemented on the virtualization mechanism 20.
[0038] Virtual machine 30 operates on virtualization architecture 20. Virtual machine 30 functions as a virtualized computer. Virtual machine 30 is able to emulate the operation of a computer, thus acting like a piece of computer hardware.
[0039] BSW40 operates on virtual machine 30. BSW40 has basic functions such as operating system and communication capabilities. Specifically, BSW40-1 operates on virtual machine 30-2, BSW40-2 operates on virtual machine 30-3, and BSW40-3 operates on virtual machine 30-4.
[0040] The central G / W50 operates on virtual machine 30. The central G / W50 handles the relay of data received from external sources.
[0041] Application 60 operates on BSW40. Application 60 is software that performs a specific process, as described in this embodiment... Figure 1 As shown, the system application 60A is an application related to vehicle control that is different from autonomous driving control, the autonomous driving application 60B is an application related to autonomous driving control, and the multimedia system application 60C is an application related to multimedia used in the vehicle.
[0042] Specifically, the control system application 60A operates on BSW40-1, the autonomous driving application 60B operates on BSW40-2, and the multimedia system application 60C operates on BSW40-3.
[0043] Furthermore, data requiring higher security sent from application 60 to external sources is encrypted using HSM14 before being sent from application 60. Additionally, encrypted data received by application 60 from external sources is decoded using HSM14 and then used within application 60.
[0044] For example, data transmitted and received using the control system application 60A is encrypted or decoded via HSM14-1. Furthermore, data transmitted and received using the autonomous driving application 60B is encrypted or decoded via HSM14-2. Additionally, data transmitted and received using the multimedia system application 60C is encrypted or decoded via HSM14-3.
[0045] exist Figure 1 If multiple applications 60 access storage 18 within a predetermined time period, contention may occur between multiple CPUs 12-1, 12-2, 12-3, 12-4 and multiple HSMs 14-1, 14-2, 14-3. Specifically, in Figure 1 If the CPU 12 executing the application 60 and the HSM 14 performing encryption or decoding processing of data access the memory 16 or storage 18 within a predetermined time, competition may occur between the multiple CPUs 12-1, 12-2, 12-3, 12-4 and the multiple HSMs 14-1, 14-2, 14-3.
[0046] With this in mind, measures could be taken, for example, to prioritize a particular application over others. However, in such cases, if a higher-priority application is executed while a lower-priority application is being executed, the execution of the lower-priority application might be interrupted, potentially causing the control system 10 to malfunction unexpectedly. Furthermore, when applications are prioritized, if a problem occurs in a higher-priority application, it's possible for the higher-priority application to continuously occupy memory 18.
[0047] Therefore, the control system 10 of this embodiment adjusts the order in which data output from multiple applications 60 is stored in the storage 18 based on the vehicle's state (hereinafter referred to as "vehicle state").
[0048] In this embodiment, the control device 22, which operates on the virtualization mechanism 20, receives the vehicle status. Then, the control device 22 adjusts the order in which multiple data are stored in the storage 18 based on the vehicle status and vehicle status conditions that represent conditions preset according to the vehicle status.
[0049] Furthermore, the data output from the multiple applications 60 includes key data used to encrypt the data output from the applications 60, and execution data used when executing the applications 60. Therefore, the control device 22 also adjusts the priority of storing either the key data or the execution data in the storage 18 based on the vehicle state and vehicle state conditions. In the following text, the process of storing data in the storage 18 will be simply referred to as "writing".
[0050] exist Figure 2 as well as Figure 3 The diagram shown illustrates access from the device to the storage 18.
[0051] like Figure 2 As shown, when key data Key_A is output from the control system application 60A, HSM14-1 obtains key data Key_A and stores it in its own storage unit (not shown). Furthermore, this key data Key_A is used in the encryption or decoding of data transmitted and received between the control system application 60A and external devices. After storing key data Key_A in memory 16, HSM14-1 writes key data Key_A to memory 18.
[0052] In addition, such as Figure 2 As shown, when key data Key_C is output from the multimedia system application 60C, HSM14-2 obtains the key data Key_C and stores it in its own storage unit (not shown). Furthermore, this key data Key_C is used in the encryption or decoding of data transmitted and received between the multimedia system application 60C and external devices. After first storing the key data Key_C in memory 16, HSM14-2 writes the key data Key_C to memory 18.
[0053] In addition, such as Figure 2As shown, when autonomous driving-related execution data is output from the autonomous driving application 60B, the CPU 12 corresponding to the virtual machine 30 that enables the autonomous driving application 60B expands the autonomous driving-related execution data to the memory 16 and then writes the autonomous driving-related execution data to the memory 18. Furthermore, the CPU 12 corresponding to the virtual machine 30 that enables the autonomous driving application 60B reads the autonomous driving-related execution data already stored in the memory 18 and outputs it to the autonomous driving application 60B.
[0054] As described above, when access to storage 18 is made in a shifting manner by devices managed by various applications (HSM14-1, HSM14-2, and CPU12 in the above examples), contention may occur between these devices. As a result, it is possible that various performance requirements cannot be met.
[0055] For example, when the vehicle is in autonomous driving mode, performing data reading from or writing to storage 18 within a predetermined time may be set as a performance requirement. Furthermore, for example, when the vehicle is in vehicle factory mode, writing key data to storage 18 within a predetermined time may be set as a performance requirement.
[0056] Therefore, in this embodiment, as Figure 3 As shown, the control device 22, which operates on the virtualization mechanism 20, adjusts the order in which data is stored in the storage 18 and the order in which data is read from the storage 18 based on the vehicle state, vehicle state conditions, data type, and processing type.
[0057] like Figure 1 As shown, the control device 22 functionally includes a receiving unit 24, a condition storage unit 25, and an adjustment unit 26. The control device 22's functions are implemented through software.
[0058] The receiving unit 24 receives the vehicle status of the vehicle equipped with the control system 10 and the data output from the application program 60.
[0059] Furthermore, in this embodiment, we will take as an example the cases where there is an autonomous driving mode indicating that the vehicle is in an autonomous driving state, and a vehicle factory mode indicating that the vehicle exists in a factory and is being improved or repaired.
[0060] The condition storage unit 25 stores vehicle state conditions that represent conditions preset according to the vehicle state. The vehicle state conditions are an example of predetermined conditions. Within the vehicle state conditions, the priority of data processing is preset based on the vehicle state.
[0061] exist Figure 4 An example of vehicle state conditions is shown below. Figure 4 As shown, the vehicle state conditions establish a correspondence between the vehicle state and the priority of each process. For example, as... Figure 4 As shown, when the vehicle is in autonomous driving mode, the processing of execution data from storage 18 by the autonomous driving application 60B has the highest priority, while the processing of key data being written to storage 18 has the lowest priority. Furthermore, as... Figure 4 As shown, when the vehicle is in vehicle factory mode, the write process of key data to storage 18 has the highest priority, and the read process of execution data from storage 18 has the lowest priority.
[0062] In addition, such as Figure 4 As shown, the priority of each process can also be set for the fault mode, which indicates that the vehicle is in a faulty state, and the Over-The-Air (OTA) mode, which indicates that the vehicle software is being updated.
[0063] The adjustment unit 26 adjusts the order in which multiple data output from multiple applications 60 are stored in the storage unit 18 based on the vehicle status received by the receiving unit 24 and the vehicle status conditions stored in the condition storage unit 25.
[0064] Specifically, the adjustment unit 26 controls the storage of data in the memory 18 when the vehicle status received by the receiving unit 24 is in autonomous driving mode, prioritizing the execution data output from the autonomous driving application 60B over the execution data output from the control system application 60A and the multimedia system application 60C. Furthermore, the adjustment unit 26 also controls the storage of data in the memory 18 when the vehicle status received by the receiving unit 24 is in autonomous driving mode, prioritizing the execution data output from the control system application 60A over the execution data output from the multimedia system application 60C.
[0065] Furthermore, the adjustment unit 26 controls the storage of data in the memory 18 when the vehicle status received by the receiving unit 24 is not in autonomous driving mode, prioritizing the execution data output from the control system application 60A over the execution data output from the autonomous driving application 60B and the multimedia system application 60C. Also, the adjustment unit 26 controls the storage of data in the memory 18 when the vehicle status received by the receiving unit 24 is not in autonomous driving mode, prioritizing the execution data output from the autonomous driving application 60B over the execution data output from the multimedia system application 60C.
[0066] Furthermore, for example, the adjustment unit 26 controls the storage of data in the memory 18 in the case where the vehicle status received by the receiving unit 24 is in vehicle factory mode, prioritizing the execution data output from the control system application 60A over the execution data output from the autonomous driving application 60B and the multimedia system application 60C. Furthermore, for example, the adjustment unit 26 controls the storage of data in the memory 18 in the case where the vehicle status received by the receiving unit 24 is in vehicle factory mode, prioritizing the execution data output from the autonomous driving application 60B over the execution data output from the multimedia system application 60C.
[0067] Furthermore, the data output from the multiple applications 60 also includes key data used to encrypt the data output from the applications 60. Therefore, the adjustment unit 26 also adjusts which of the key data and the execution data should be stored in the storage 18 first, based on the vehicle state and vehicle state conditions.
[0068] The adjustment unit 26 controls the process such that, when the vehicle status received by the receiving unit 24 is in vehicle factory mode, the processing of storing key data in the storage unit 18 takes precedence over the processing of storing execution data in the storage unit 18. Furthermore, the adjustment unit 26 controls the process such that, when the vehicle status received by the receiving unit 24 is in autonomous driving mode, the processing of reading data from the storage unit 18 takes precedence over the processing of storing key data in the storage unit 18.
[0069] In this way, the adjustment unit 26 adjusts the order in which multiple data are stored in the storage unit 18 and the order in which data is read from the storage unit 18.
[0070] In addition, Figure 1 The example shown illustrates four virtual machines 30, three BSWs 40, and three applications 60. Furthermore, in... Figure 1The example shown illustrates four CPU12s and three HSM14s. However, the number of these structural elements is not limited to [specific number]. Figure 1 The example shown.
[0071] Next, the operation of the control system 10 in the implementation method will be explained.
[0072] When the virtual machine 30, implemented by the CPU 12 of the control system 10, receives a request signal output from the application 60, the CPU 12 implemented by the virtual machine 30 executes... Figure 5 The control processing routine shown.
[0073] In step S50, CPU12 accepts the request signal output from application 60.
[0074] In step S52, the CPU 12 determines whether the request signal received in step S50 contains a request to update key data. If the request signal contains a request to update key data, the process proceeds to step S54. Otherwise, if the request signal does not contain a request to update key data, the process proceeds to step S58.
[0075] In step S54, CPU12 requests an update of the key data from HSM14.
[0076] When HSM14 receives an update request output from CPU12, HSM14 stores the key data in its own storage unit (not shown).
[0077] In step S56, CPU12 requests an update of the key data from control device 22.
[0078] In step S58, the CPU 12 determines whether the request signal received in step S50 contains an access request to the storage 18. If the request signal contains an access request to the storage 18, the process proceeds to step S60. Otherwise, if the request signal does not contain an access request to the storage 18, the process ends.
[0079] In step S60, the CPU 12 requests the control device 22 to execute data reading from the storage 18 or to execute data writing to the storage 18.
[0080] In step S56 or step S60 above, when a request signal for various processing is output to the control device 22, the CPU 12 corresponding to the control device 22 will execute... Figure 6 as well as Figure 7 The control processing routine shown.
[0081] exist Figure 6In step S100, CPU12, as the receiving unit 24 of control device 22, receives the request signal output in step S56 or step S60.
[0082] In step S101, the CPU12, as the receiving unit 24 of the control device 22, receives the current vehicle status.
[0083] In step S102, the CPU12, acting as the adjustment unit 26 of the control device 22, reads the vehicle state conditions from the condition storage unit 25.
[0084] In step S103, the CPU12, acting as the adjustment unit 26 of the control device 22, determines whether the vehicle status received in step S101 is in vehicle factory mode. If the vehicle status is in vehicle factory mode, the process proceeds to step S104. Conversely, if the vehicle status is not in vehicle factory mode, the process proceeds to step S104. Figure 7 Proceed to step S110 as shown.
[0085] The CPU12, acting as the adjustment unit 26 of the control device 22, refers to the vehicle status conditions read in step S102 and executes each process in the order of steps S104 to S108.
[0086] In step S104, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the key data output from the application program 60 to the storage 18.
[0087] In step S106, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the execution data output from the application program 60 to the memory 18.
[0088] In step S108, the CPU12, as the adjustment unit 26 of the control device 22, reads execution data from the storage 18 according to the request from the application 60.
[0089] Thus, in the vehicle factory mode, which is a scenario involving vehicle modifications or repairs, smooth operation of various vehicle settings is required. Therefore, in the vehicle factory mode, the priority of writing various data to the storage 18 is set higher. In particular, the priority of writing key data to the storage 18 is set to the highest. Furthermore, as shown in each of steps S104 to S108, in the vehicle factory mode, the type of application 60 is not considered.
[0090] Next, in Figure 7In step S110, the CPU 12, acting as the adjustment unit 26 of the control device 22, determines whether the vehicle state received in step S101 is in autonomous driving mode. If the vehicle state is in autonomous driving mode, the process proceeds to step S112. On the other hand, if the vehicle state is not in autonomous driving mode, the process proceeds to step S120.
[0091] In step S112, the CPU 12, acting as the adjustment unit 26 of the control device 22, reads execution data from the storage 18 according to a request from the autonomous driving application 60B. Then, the CPU 12, acting as the adjustment unit 26 of the control device 22, transfers the read execution data to the autonomous driving application 60B.
[0092] In step S114, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the execution data output from the autonomous driving application 60B to the storage 18.
[0093] In step S116, the CPU 12, acting as the adjustment unit 26 of the control device 22, reads execution data from the storage 18 according to a request from the control system application 60A. Then, the CPU 12, acting as the adjustment unit 26 of the control device 22, transfers the read execution data to the control system application 60A.
[0094] In step S118, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the execution data output from the control system application program 60A to the storage 18.
[0095] Thus, when the vehicle is in autonomous driving mode, various processing of data related to the autonomous driving application 60B is prioritized.
[0096] In step S120, the CPU 12, acting as the adjustment unit 26 of the control device 22, reads execution data from the storage 18 according to a request from the control system application 60A. Then, the CPU 12, acting as the adjustment unit 26 of the control device 22, transfers the read execution data to the control system application 60A.
[0097] In step S122, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the execution data output from the control system application program 60A to the storage 18.
[0098] In step S124, the CPU 12, acting as the adjustment unit 26 of the control device 22, reads execution data from the storage 18 according to a request from the autonomous driving application 60B. Then, the CPU 12, acting as the adjustment unit 26 of the control device 22, transfers the read execution data to the autonomous driving application 60B.
[0099] In step S126, the CPU12, as the adjustment unit 26 of the control device 22, writes the execution data output from the autonomous driving application 60B to the storage 18.
[0100] Thus, when the vehicle is not in autonomous driving mode, processing of data related to the control system application 60A takes precedence over processing of data related to the autonomous driving application 60B.
[0101] In step S128, the CPU 12, acting as the adjustment unit 26 of the control device 22, reads execution data from the storage 18 according to a request from the multimedia system application 60C. Then, the CPU 12, acting as the adjustment unit 26 of the control device 22, transfers the read execution data to the multimedia system application 60C.
[0102] In step S130, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the execution data output from the multimedia system application 60C to the storage 18.
[0103] Thus, in either the case where the vehicle is in autonomous driving mode or not in autonomous driving mode, processing of data related to the control system application 60A and the autonomous driving application 60B can take precedence over processing of data related to the multimedia system application 60C.
[0104] In step S132, the CPU12, acting as the adjustment unit 26 of the control device 22, writes the key data output from the application program 60 to the storage 18.
[0105] Thus, when the vehicle state is not in vehicle factory mode, various processing of data related to application 60 takes precedence over key data writing to storage 18.
[0106] In addition, Figure 6 as well as Figure 7 In the control processing routine shown, the control device 22 may sometimes omit any of the processing steps S104 to S108 based on the request signal received in step S100. Furthermore, the control device 22 may sometimes omit any of the processing steps S112 to S132 based on the request signal received in step S100.
[0107] For example, if the request signal does not contain a request to update key data, steps S104 and S132 are omitted. Furthermore, if the request signal does not contain an access request to memory 18, steps S106 to S108 and steps S112 to S130 are omitted.
[0108] Furthermore, if the request signal does not contain a request for data processing related to a specific application 60, the processing related to that application 60 is omitted. For example, if the request signal does not contain a request for data processing related to the control system application 60A, steps S116 to S118 and steps S120 to S122 are omitted.
[0109] As explained above, the control device according to the embodiment accepts data output from multiple applications and adjusts the order in which the multiple data output from the multiple applications are stored in the storage based on predetermined conditions. Therefore, even when multiple devices associated with multiple applications access a single storage unit, competition between devices can be suppressed.
[0110] Furthermore, since the aforementioned vehicle state conditions can be freely set, the priority of each process can be flexibly changed. Moreover, according to the control device described in this embodiment, the priority of each process can also be flexibly set based on required performance conditions.
[0111] Furthermore, although the processing implemented using the various devices in the above embodiments has been described as software processing implemented by executing a program, it can also be described as processing implemented using hardware. Alternatively, it can be described as processing that combines both software and hardware. In addition, it is also possible to store the program stored in the ROM in various storage media and make it available.
[0112] Furthermore, the present invention is not limited to the invention described in the above embodiments. In addition to the above embodiments, it can be implemented in various ways without departing from the spirit of the invention.
[0113] Although this embodiment uses autonomous driving mode and vehicle factory mode as examples of vehicle states, it is not limited to this. Alternatively, a priority can be set for each of the following: manual driving mode (indicating the vehicle is in manual driving mode), fault mode (indicating the vehicle is in a fault state), and Over-The-Air (OTA) mode (indicating the vehicle software is being updated).
[0114] Furthermore, although this embodiment is described using the case where the control system application 60A, the autonomous driving application 60B, and the multimedia system application 60C exist as multiple applications, it is not limited to this and other applications may also be applied to this embodiment.
[0115] Symbol Explanation
[0116] 10. Control system;
[0117] 16. Memory;
[0118] 18. Storage;
[0119] 20. Virtualization institutions;
[0120] 22. Control device;
[0121] 24. Reception Department;
[0122] 25. Conditional storage unit;
[0123] 26. Adjustment Department;
[0124] 30 virtual machines;
[0125] 60 applications;
[0126] 60A Control System Application;
[0127] 60B Autonomous Driving Application;
[0128] 60C Multimedia System Application.
Claims
1. A control device comprising a memory and a processor connected to the memory, wherein, The processor is configured such that, It can handle data output from multiple applications, and Based on predetermined conditions, the order in which multiple data items output from multiple applications are stored in the memory is adjusted. The predetermined conditions refer to vehicle state conditions that are pre-set based on the vehicle's state. The processor is also configured to, Further investigation into the vehicle's status is needed, and Based on the received vehicle status and the vehicle status conditions, the order in which the multiple received data are stored in the memory is adjusted. Among the multiple applications are autonomous driving applications, which are applications related to autonomous driving control, and control system applications, which are applications related to vehicle control, which is different from the autonomous driving control. The vehicle status includes an autonomous driving mode, which indicates that the vehicle is in an autonomous driving state. The processor adjusts the order in which the plurality of data are stored in the memory in the following manner: If the vehicle is in the autonomous driving mode, data output from the autonomous driving application is stored in the memory with priority over data output from the control system application. If the received vehicle state is not in the autonomous driving mode, data output from the control system application is stored in the memory with priority over data output from the autonomous driving application.
2. The control device as claimed in claim 1, wherein, Among the various applications, there are also multimedia system applications that are related to the multimedia used in the vehicle. The processor adjusts the order in which the plurality of data are stored in the memory in the following manner: If the vehicle is in the autonomous driving mode, data output from the autonomous driving application is stored in the memory with priority over data output from the control system application and data output from the multimedia system application. If the received vehicle state is not in the autonomous driving mode, data output from the control system application and data output from the autonomous driving application are stored in the memory with priority over data output from the multimedia system application.
3. The control device as claimed in claim 1 or claim 2, wherein, The vehicle status includes a vehicle factory mode, which indicates that the vehicle exists in a factory and is undergoing improvement or repair. The processor adjusts the order in which multiple data items are stored in the memory in such a way that, when the received vehicle state is the vehicle factory mode, data output from the control system application is stored in the memory with priority over data output from the autonomous driving application.
4. The control device as described in claim 3, wherein, The processor further adjusts the order in which the plurality of data are stored in the memory and the order in which data is read from the memory in the following manner: When the received vehicle status is in the vehicle factory mode, the processing of storing data output from the application to the memory takes precedence over the processing of reading data from the memory, and When the vehicle status is in the autonomous driving mode, the processing of reading data from the memory takes precedence over the processing of storing data output from the application in the memory.
5. The control device as described in claim 1 or 2, wherein, The data output from multiple applications includes key data for encrypting the data output from the applications, and execution data used when the applications are executed. The processor adjusts which of the key data and the execution data should be preferentially stored in the memory based on the predetermined conditions.
6. The control device as claimed in claim 5, wherein, The predetermined conditions refer to vehicle state conditions that are pre-set based on the vehicle's state. The processor further processes the vehicle status. The vehicle status includes an autonomous driving mode, indicating that the vehicle is in an autonomous driving state, and a vehicle factory mode, indicating that the vehicle is in a factory and is undergoing improvement or repair. The processor further adjusts the order in which the plurality of data are stored in the memory and the order in which the data are read from the memory in the following manner: When the received vehicle status is in the vehicle factory mode, the process of storing the key data in the memory takes precedence over the process of storing the execution data in the memory, and When the vehicle status is in the autonomous driving mode, the process of reading the execution data from the memory takes precedence over the process of storing the key data in the memory.
7. A vehicle, wherein, It has the control device according to any one of claims 1 to 6.
8. A control method, wherein, The processor handles data output from multiple applications, and Based on predetermined conditions, the order in which the data output from multiple applications is stored in memory is adjusted. The predetermined conditions refer to vehicle state conditions that are pre-set based on the vehicle's state. The processor further processes the vehicle status, and Based on the received vehicle status and the vehicle status conditions, the order in which the multiple received data are stored in the memory is adjusted. Among the multiple applications are autonomous driving applications, which are applications related to autonomous driving control, and control system applications, which are applications related to vehicle control, which is different from the autonomous driving control. The vehicle status includes an autonomous driving mode, which indicates that the vehicle is in an autonomous driving state. The processor adjusts the order in which the plurality of data are stored in the memory in the following manner: If the vehicle is in the autonomous driving mode, data output from the autonomous driving application is stored in the memory with priority over data output from the control system application. If the received vehicle state is not in the autonomous driving mode, data output from the control system application is stored in the memory with priority over data output from the autonomous driving application.
9. A non-transitory recording medium, wherein, is a non-transitory recording medium storing a control program, The control program is used to cause the processor to perform the following processes: It can handle data output from multiple applications, and Based on predetermined conditions, the order in which the data output from multiple applications is stored in memory is adjusted. The predetermined conditions refer to vehicle state conditions that are pre-set based on the vehicle's state. The processor further processes the vehicle status, and Based on the received vehicle status and the vehicle status conditions, the order in which the multiple received data are stored in the memory is adjusted. Among the multiple applications are autonomous driving applications, which are applications related to autonomous driving control, and control system applications, which are applications related to vehicle control, which is different from the autonomous driving control. The vehicle status includes an autonomous driving mode, which indicates that the vehicle is in an autonomous driving state. The processor adjusts the order in which the plurality of data are stored in the memory in the following manner: If the vehicle is in the autonomous driving mode, data output from the autonomous driving application is stored in the memory with priority over data output from the control system application. If the received vehicle state is not in the autonomous driving mode, data output from the control system application is stored in the memory with priority over data output from the autonomous driving application.
Citation Information
Patent Citations
JP2021051420A
JP2019144910A