Vehicle control device and data storage method

The vehicle control device optimizes data storage in non-volatile memory by selecting storage units based on retention performance and capacity, preventing corruption and extending lifespan by relocating data, thus improving vehicle performance and user convenience.

WO2026069407A1PCT designated stage Publication Date: 2026-04-02ASTEMO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

The retention performance of non-volatile memory cells in integrated control ECUs varies with the number of write operations, leading to potential data corruption and reduced product lifespan due to program updates and data management challenges.

Method used

A vehicle control device with multiple storage units of varying characteristics, a specification management unit to track write and erase operations, and a determination unit to select storage units based on retention performance and capacity for optimal data placement, avoiding corruption and improving lifespan by relocating data as needed.

Benefits of technology

The solution ensures efficient data storage by avoiding corruption and extending product lifespan, enhancing vehicle performance and user convenience through optimized data placement and relocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024033837_02042026_PF_FP_ABST
    Figure JP2024033837_02042026_PF_FP_ABST
Patent Text Reader

Abstract

This vehicle control device mounted on a vehicle comprises: a plurality of storage units that have different characteristics; a specification management unit that acquires the number of times of writing and the number of times of erasing of the plurality of storage units and manages the acquired number of times of writing and the acquired number of times of erasing as operation information; and a determination unit that calculates, on the basis of the operation information, a first storage period in which the plurality of storage units can hold data. The determination unit compares the calculated first storage period with a second storage period required for a program to be added, selects a storage unit having the first storage period longer than the second storage period, and stores the program to be added in the selected storage unit.
Need to check novelty before this filing date? Find Prior Art

Description

Vehicle control device and data storage method

[0001] The present invention relates to a vehicle control device, and particularly to a data storage process for storing data in a non-volatile memory.

[0002] In recent years, an integrated control ECU that integrates multiple functions and is equipped with a variety of non-volatile memories has been provided.

[0003] Also, in a non-volatile memory, the period during which a memory cell can hold data (retention performance) changes according to the number of write operations, and the program configuration and data arrangement are designed according to the life of the non-volatile memory.

[0004] As background art in this technical field, there is the following prior art. In Patent Document 1 (Japanese Unexamined Patent Application Publication No. 2018-180845), there are a semiconductor storage means whose life depends on the number of rewrite operations, an operation mode storage means for storing a threshold for switching an operation mode for operating the semiconductor storage means, a calculation means for calculating the remaining life of the semiconductor storage means based on the life of the semiconductor storage means and the number of rewrite operations on the semiconductor storage means, a comparison means for comparing the calculated remaining life with the threshold stored in the operation mode storage means, and an operation mode switching means for switching the operation mode of the semiconductor storage means according to the comparison result using the comparison means. When there is no remaining life calculated, the operation mode switching means switches the operation mode to a read-only mode that permits only the read operation from the semiconductor storage means. An information processing device is described.

[0005] Japanese Unexamined Patent Application Publication No. 2018-180845

[0006] As described above, in a non-volatile memory, the period during which a memory cell can hold data (retention performance) changes according to the number of write operations, and an increase in program updates after shipment by SOTA and the like is expected. Therefore, it is necessary to manage the program configuration on the non-volatile memory and the data arrangement on the non-volatile memory in consideration of program addition and accompanying data writing.

[0007] A typical example of the invention disclosed in this application is as follows: A vehicle control device mounted on a vehicle, comprising: a plurality of storage units with different characteristics; a specification management unit that acquires the number of writes and erases of the plurality of storage units and manages the acquired number of writes and erases as operational information; and a determination unit that calculates a first storage period for which the plurality of storage units can hold data based on the operational information, wherein the determination unit compares the calculated first storage period with a second storage period required for an additional program, selects a storage unit having a first storage period longer than the second storage period, and stores the additional program in the selected storage unit.

[0008] According to one aspect of the present invention, program and data corruption over time can be avoided, and product life can be improved. Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.

[0009] This is a diagram showing the logical configuration of the vehicle control device according to Embodiment 1 of the present invention. This is a flowchart of the data storage process according to Embodiment 1 of the present invention. This is a flowchart of the destination determination process according to Embodiment 1 of the present invention. This is a flowchart of the destination determination process according to Embodiment 1 of the present invention. This is a flowchart of the data storage process according to Embodiment 2 of the present invention. This is a flowchart of the destination determination process according to Embodiment 2 of the present invention. This is a flowchart of the destination determination process according to Embodiment 2 of the present invention. This is a flowchart of the relocation process based on internal requirements according to Embodiment 3 of the present invention. This is a flowchart of another relocation process based on internal requirements according to Embodiment 3 of the present invention. This is a diagram showing an example of the hardware configuration of the vehicle control device according to Embodiment 1 of the present invention.

[0010] <Example 1> Figure 1 is a diagram showing the logic configuration of the vehicle control device 1 according to Example 1 of the present invention.

[0011] The vehicle control device 1 includes a communication unit 10, a specification management unit 20, a determination unit 30, and a plurality of storage units 41 to 4n.

[0012] The communication unit 10 controls communication between the vehicle control device 1 and the external device 2. The communication unit 10 has a placement request unit 11. The placement request unit 11 receives requests from the external device 2 and other functional units within the vehicle control device 1 to place programs and data into the storage units 41 to 4n of the vehicle control device 1. For example, the placement request unit 11 receives reprogramming requests and data writing requests (e.g., map data) from the external device 2, and requests from other functional units within the vehicle control device 1 to write images, videos, vehicle data, etc., processed within the control device to the storage units 41 to 4n, as well as requests for data rearrangement between the storage units 41 to 4n.

[0013] The specification management unit 20 manages the hardware information of the non-volatile memory constituting the storage units 41 to 4n, acquires the number of writes and free capacity of the storage units 41 to 4n as operational information, and manages the acquired operational information.

[0014] The determination unit 30 calculates the retention performance of the memory units 41 to 4n based on the operational information managed by the specification management unit 20, and determines which memory units 41 to 4n will store the program and data provided by the external device 2. Retention performance is the period during which the memory cell can retain data.

[0015] The memory units 41 to 4n are composed of multiple non-volatile memories with different performance characteristics. That is, each of the memory units 41 to 4n is composed of one or more storage areas provided by non-volatile memories. In many cases, the memory elements of non-volatile memories are composed of NAND flash memory, but there are several types of non-volatile memories, such as SSD (Solid State Drive), eMMC (Embedded Multi Media Card), and Raw NAND flash memory, and the performance characteristics such as retention performance, the startup performance of the controllers in the memory units 41 to 4n, the data read time from the memory units 41 to 4n, and the storage capacity (free space) of the memory units 41 to 4n differ depending on the type. For example, the data read time is shorter for SSDs and longer for eMMCs. The storage capacity is larger for SSDs and smaller for eMMCs. SSDs consume more power than eMMCs, while SSDs are larger in terms of external size and eMMCs are smaller.

[0016] Figure 9 shows an example of the hardware configuration of the vehicle control device 1 according to Embodiment 1 of the present invention.

[0017] The vehicle control device 1 is an electronic control unit (ECU) having a communication device 1003, an input / output device 1004, a CPU (Central Processing Unit) 1005, a memory 1006, a storage device 1007, and a secure device 1008. The communication device 1003, input / output device 1004, CPU 1005, memory 1006, storage device 1007, and secure device 1008 are communicated with each other via an internal signal line 1009 such as a bus.

[0018] The communication device 1003 connects to other vehicle control devices via an in-vehicle network. The input / output device 1004 is an interface for inputting and outputting data to the vehicle control device 1. The CPU 1005 is an arithmetic unit that executes programs stored in the memory 1006. By executing predetermined arithmetic processes, the CPU 1005 operates as a functional block (for example, a communication unit 10, a specification management unit 20, and a determination unit 30) that provides various functions of the vehicle control device 1. The memory 1006 has a volatile storage area that temporarily stores data used by the CPU 1005 when executing programs. The storage device 1007 comprises storage units 41 to 4n and is accessible by the CPU 1005. It has a non-volatile storage area that includes a program area for storing programs executed by the CPU 1005 and a data area for storing data used by the CPU 1005 when executing programs.

[0019] The secure device 1008 can use, for example, a storage area that is physically unrewritable, a storage area that can be written to only once, or a storage area on which access control such as user or process authentication is set. The secure device 1008 may store keys for encryption and decryption, digital signatures for verifying programs, digital certificates, setting values, verification values, identification information, etc., like an HSM (Hardware Security Module). Furthermore, the secure device 1008 may perform encryption / decryption processing, verification processing, signature addition, random number generation, etc.

[0020] Figure 2 is a flowchart of the data storage process performed by the vehicle control device 1 of Embodiment 1 of the present invention.

[0021] First, the communication unit 10 receives a request from the external device 2 to store the additional program and additional data in the vehicle control device 1. The request received from the external device 2 includes the binary data of the additional program, the additional data, the size, retention performance, and other performance (e.g., startup performance) of the additional program, and the size, retention performance, and other performance (e.g., startup performance) of the additional data. The request received from the external device 2 may also include other performance (e.g., read performance, write performance) of the additional program and additional data.

[0022] The placement request unit 11 acquires the size of the additional data and additional program, and the required period for which the additional data and additional program need to be retained, as information about the additional data and additional program, and sends the acquired information to the determination unit 30 (S101).

[0023] The specification management unit 20 acquires the number of write operations and the free capacity for each of the storage units 41 to 4n as operational information for the storage units (S102).

[0024] The specification management unit 20 calculates retention performance from the operational information of the storage units 41 to 4n and sends the calculated retention performance to the determination unit 30 (S103).

[0025] The determination unit 30 determines the placement location of the additional program and additional data based on retention performance and available capacity (S104). When the required retention performance values ​​for each of the additional program and additional data are received, the placement location determination process is executed for each of the additional program and additional data in step S104. Details of the process in step S104 will be explained with reference to Figures 3A and 3B.

[0026] Figures 3A and 3B are flowcharts of the placement location determination process (step S104) in Embodiment 1 of the present invention.

[0027] The determination unit 30 selects storage units 41 to 4n whose retention performance and free capacity for the additional program and additional data meet the required values, and stores the additional program and additional data in them (S111 to S118).

[0028] Specifically, the determination unit 30 determines whether the retention performance of the storage unit specified in the request for placing the program and data is equal to or greater than the required value for the retention performance of the additional program and additional data (S111), and whether the free space of the specified storage unit is equal to or greater than the amount of data of the additional program and additional data (S113).

[0029] If the retention performance of the designated storage unit is equal to or greater than the required retention performance of the additional program and additional data, and the free space of the designated storage unit is equal to or greater than the amount of data of the additional program and additional data, the additional program and additional data are stored in the designated storage unit (S114).

[0030] On the other hand, if the retention performance of the designated storage unit is less than the required retention performance of the additional program and additional data, or if the free space of the designated storage unit is less than the amount of data for the additional program and additional data, the process proceeds to step S115 to determine whether the additional program and additional data can be stored in the other storage units 41 to 4n (S115 to S118).

[0031] The determination unit 30 determines whether the retention performance of the storage unit other than the one specified in the request for placing the program and data is equal to or greater than the required value for the retention performance of the additional program and additional data (S115), and whether the free space of the storage unit other than the one specified is equal to or greater than the amount of data of the additional program and additional data (S117).

[0032] If there is a storage unit that has retention performance exceeding the required value for retention performance of the additional program and additional data, and has free capacity exceeding the amount of data of the additional program and additional data, the additional program and additional data are stored in the storage unit (S118).

[0033] On the other hand, if there is no storage unit that has retention performance exceeding the required value for retention performance of the additional program and additional data, and has free capacity exceeding the amount of data of the additional program and additional data, then in step S119 and beyond, a relocation process is executed to move the stored data to another storage unit and secure free capacity.

[0034] In the rearrangement process, the determination unit 30 determines whether there is a storage unit that satisfies the retention requirement by checking whether the retention performance of the other storage units 41 to 4n is equal to or greater than the required retention performance of the additional program and additional data (S119).

[0035] If there is a storage unit that meets the retention requirements, information about the existing data stored in that storage unit (for example, data volume, retention performance) is obtained from the specification management unit 20 (S120).

[0036] The determination unit 30 determines whether it is possible to move data from a storage unit that satisfies the retention requirement to another storage unit (S121). For example, if the free space of the storage unit to which the data will be relocated is greater than or equal to the amount of data of the existing data, the retention performance of the storage unit to which the data will be relocated is greater than or equal to the retention performance of the existing data, and the data move will create free space that exceeds the amount of data of the additional program and additional data, then it is determined that the existing data can be moved to the storage unit to which the data will be relocated.

[0037] If the determination unit 30 determines that any data can be moved to another storage unit, it moves that data to the other storage unit (S122). Then, the determination unit 30 stores the additional program and additional data in the storage unit that has become free due to the data movement (S123).

[0038] On the other hand, if there are no storage units 41 to 4n that have retention performance equal to or greater than the required value for retention performance of the additional program and additional data, or if it is impossible to move data from a storage unit that satisfies the retention requirement to another storage unit, the determination unit 30 notifies the device that requested the addition of the program and additional data (for example, external device 2) that it is impossible to store the additional program and additional data in any of the storage units 41 to 4n (S124).

[0039] As described above, according to Embodiment 1 of the present invention, the determination unit 30 compares a first storage period during which the storage units 41 to 4n can hold data with a second storage period required for the additional program, selects a storage unit 41 to 4n having a first storage period longer than the second storage period, and stores the additional program in the selected storage unit 41 to 4n. This allows for the addition of a program while avoiding the risk of data corruption, avoids program startup failures due to memory storage errors, and improves product lifespan. Furthermore, since the determination unit 30 stores the data in a storage unit having a first storage period longer than both the first storage period during which the storage units 41 to 4n can hold data and a third storage period required for the additional program, the utilization rate of non-volatile memory can be improved, further improving product lifespan. Furthermore, the determination unit 30 compares the fourth storage period required for programs and data already stored in the storage units 41-4n with the first storage period, moves programs and data requiring a fourth storage period shorter than the first storage period to the storage units 41-4n with the first storage period, and stores the additional programs in the storage units 41-4n where the moved programs and data were stored. Even in cases where it is not possible to add programs or data conventionally, additional programs and data can be stored, improving the utilization rate of non-volatile memory. Then, by placing the additional programs and data in the automatically generated free area, the functionality of the vehicle control device 1 can be improved, improving the performance of the vehicle and the convenience of the user.

[0040] <Example 2> Next, Example 2 of the present invention will be described. Example 2 differs from Example 1 described above in that the storage location of the program and data is determined by considering the performance information of the storage units 41 to 4n. In Example 2, the differences from Example 1 will be mainly described, and the same components and processes as in Example 1 will be denoted by the same reference numerals, and their descriptions will be omitted.

[0041] Figure 4 is a flowchart of the data storage process performed by the vehicle control device 1 of Embodiment 2 of the present invention.

[0042] The configuration requirement unit 11 acquires, as information on additional data and additional programs, the sizes of the additional data and additional programs, the period for which the additional data and additional programs need to be retained, and the required values of memory performance, and sends the acquired information to the determination unit 30 (S101). The memory performance is, for example, the data read performance, the startup performance, and the startup time of programs executable in the storage units 41 to 4n. The startup performance is the time from when the power of the storage units 41 to 4n is turned on until the data can be read. The startup time of a program is the read time from when a read instruction is received until data is read from the storage element. However, in the case of a program that needs to start immediately after the power of the vehicle control device 1 is turned on, the sum of the startup performance and the read time is the startup time of the program.

[0043] The specification management unit 20 acquires, as operation information of the storage unit, the number of write times and the free capacity for each of the storage units 41 to 4n, and acquires the memory performance as performance information of the storage unit (S105).

[0044] The specification management unit 20 calculates the retention performance from the operation information of the storage units 41 to 4n, and sends the calculated retention performance to the determination unit 30 (S103).

[0045] The determination unit 30 determines the placement destinations of the additional programs and additional data based on the retention performance, the free capacity, and the memory performance (S104). The details of the placement destination determination process in step S104 will be described with reference to FIGS. 5A and 5B.

[0046] FIGS. 5A and 5B are flowcharts of the placement destination determination process (step S104) of the second embodiment.

[0047] First, the determination unit 30 selects the storage units 41 to 4n for which the retention performance, the memory performance, and the free capacity of the additional programs and additional data satisfy the required values, and stores the additional programs and additional data (S111 to S118).

[0048] Specifically, the determination unit 30 determines whether the retention performance of the storage unit specified by the request for arranging the program and data is equal to or greater than the required value of the retention performance of the additional program and additional data (S111), determines whether the memory performance (for example, read performance, startup performance) of the specified storage unit is equal to or greater than the required value of the memory performance of the additional program and additional data (S112), and determines whether the free capacity of the specified storage unit is equal to or greater than the data amount of the additional program and additional data (S113).

[0049] If the retention performance of the specified storage unit is equal to or greater than the required value of the retention performance of the additional program and additional data, the memory performance of the specified storage unit is equal to or greater than the required value of the memory performance of the additional program and additional data, and the free capacity of the specified storage unit is equal to or greater than the data amount of the additional program and additional data, the additional program and additional data are stored in the specified storage unit (S114).

[0050] On the other hand, if the retention performance of the specified storage unit is less than the required value of the retention performance of the additional program and additional data, the memory performance of the specified storage unit is lower than the required value of the memory performance of the additional program and additional data, or the free capacity of the specified storage unit is less than the data amount of the additional program and additional data, the process proceeds to step S115 to determine whether the additional program and additional data can be stored in other storage units 41 to 4n (S115 to S118).

[0051] The determination unit 30 determines whether the retention performance of the storage unit other than that specified by the request for arranging the program and data is equal to or greater than the required value of the retention performance of the additional program and additional data (S115), determines whether the memory performance of the storage unit other than the specified one is equal to or greater than the required value of the memory performance of the additional program and additional data (S116), and determines whether the free capacity of the storage unit other than the specified one is equal to or greater than the data amount of the additional program and additional data (S117).

[0052] If there is a storage unit that has retention performance equal to or greater than the required value for retention performance of the additional program and additional data, memory performance equal to or greater than the required value for memory performance of the additional program and additional data, and free capacity equal to or greater than the amount of data of the additional program and additional data, the additional program and additional data are stored in the storage unit (S118).

[0053] On the other hand, if there is no storage unit that has retention performance exceeding the required value for retention performance of the additional program and additional data, memory performance exceeding the required value for memory performance of the additional program and additional data, and free capacity exceeding the amount of data of the additional program and additional data, then in step S119 and later, a reallocation process is executed to move the stored data to another storage unit to secure free capacity.

[0054] In the rearrangement process, the determination unit 30 determines whether there is a storage unit that satisfies the retention requirements and memory performance by checking whether the retention performance of all other storage units 41 to 4n is equal to or greater than the required retention performance of the additional program and additional data, and whether the memory performance of the other storage units 41 to 4n is equal to or greater than the required memory performance of the additional program and additional data (S119).

[0055] If there is a storage unit that meets the retention requirements and memory performance, information about the existing data stored in that storage unit (for example, data volume, retention performance, and memory performance) is obtained from the specification management unit 20 (S120).

[0056] The determination unit 30 determines whether it is possible to move data from a storage unit that satisfies the retention requirement and memory performance to another storage unit (S121). For example, if the free space of the storage unit to which the data will be relocated is greater than or equal to the amount of data of the existing data, the retention performance of the storage unit to which the data will be relocated is greater than or equal to the retention performance of the existing data, the memory performance of the storage units 41 to 4n to which the data will be relocated is greater than or equal to the memory performance requirement for the additional program and additional data, and the data relocation will result in free space exceeding the amount of data of the additional program and additional data, then it is determined that the data can be moved to another storage unit.

[0057] If the determination unit 30 determines that any data can be moved to another storage unit, it moves that data to the other storage unit (S122). Then, the determination unit 30 stores the additional program and additional data in the storage unit that has become free due to the data movement (S123).

[0058] On the other hand, if there are no storage units 41 to 4n that have retention performance equal to or greater than the required value for retention performance of the additional program and additional data, and memory performance equal to or greater than the required value for memory performance of the additional program and additional data, or if it is impossible to move data from a storage unit that satisfies the retention requirements to another storage unit, the determination unit 30 notifies the device that requested the addition of the program and additional data (for example, external device 2) that the additional program and additional data cannot be stored in any of the storage units 41 to 4n (S124).

[0059] As described above, according to Embodiment 2 of the present invention, the determination unit 30 stores the additional program in the storage units 41 to 4n, which have a startup time shorter than the startup time required for the additional program. This allows for the storage of the additional program and additional data while ensuring read performance from the storage units 41 to 4n. The additional program and additional data improve the functionality of the vehicle control device 1, thereby improving the vehicle's performance and user comfort.

[0060] <Example 3> Next, Example 3 of the present invention will be described. In Example 3, data is rearranged between storage units 41 to 4n at times other than when adding programs or data. In Example 3, the differences from Example 1 will be mainly described, and the same components and processes as in Example 1 will be denoted by the same reference numerals, and their descriptions will be omitted.

[0061] Figure 6 is a flowchart of the rearrangement process based on the internal requirements of Embodiment 3 of the present invention.

[0062] First, the determination unit 30 obtains the number of write operations and the available capacity for each of the storage units 41 to 4n from the specification management unit 20 as operational information for the storage units (S131).

[0063] The determination unit 30 calculates retention performance from the operational information of the storage units 41 to 4n (S132).

[0064] The determination unit 30 determines whether it is possible to move data from a storage unit with high retention performance to another storage unit (S133). For example, if the available capacity of the storage unit to be relocated is greater than or equal to the amount of data of the existing data to be moved, and the retention performance of the storage unit to be relocated is greater than or equal to the retention performance of the existing data, it is determined that the existing data can be moved to the storage unit to be relocated. Specifically, the determination process is performed to determine whether it is possible to relocate the data stored in the storage unit with high retention performance, starting with the data with the shortest retention request, and then starting with the storage unit with the lowest retention performance among the other storage units.

[0065] If the determination unit 30 determines that any data can be moved to another storage unit, it moves that data to the other storage unit (S134).

[0066] Figure 7 is a flowchart of another relocation process based on the internal requirements of Embodiment 3 of the present invention. The relocation process shown in Figure 7 determines the relocation destination by considering conditions other than retention performance (for example, activation frequency).

[0067] First, the determination unit 30 obtains the number of write operations and the available capacity for each of the storage units 41 to 4n from the specification management unit 20 as operational information for the storage units (S141).

[0068] The determination unit 30 calculates retention performance from the operational information of the storage units 41 to 4n (S142).

[0069] The determination unit 30 determines whether it is possible to move data from a storage unit with high retention performance to another storage unit (S143). For example, if the available capacity of the storage unit to be relocated to is equal to or greater than the amount of data of the existing data to be moved, and the retention performance of the storage unit to be relocated to is equal to or greater than the retention performance of the existing data, it is determined that the existing data can be moved to the storage unit to be relocated to. Specifically, among the data stored in the storage unit with high retention performance, the determination process is performed by brute force to determine whether it is possible to relocate the data to another storage unit, starting with the data with the shortest retention request.

[0070] The determination unit 30 obtains the program startup frequency from the specification management unit 20 (S144). The program startup frequency may also be obtained in step S141 by including it in the operation information of the storage unit.

[0071] The determination unit 30 determines whether a program with a high startup frequency can be moved to a high-speed storage unit (S145). For example, if, with respect to a program with a high startup frequency and the data used by that program, the memory performance (specifically, read performance) of the destination storage unit is greater than or equal to that of the source storage unit among the other storage units determined to be relocated in S143, then the determination unit determines that the existing data can be moved to the data relocation destination storage unit. Specifically, the determination process is performed in order from the program with the highest startup frequency, and then in order from the storage unit with the highest memory performance among the other storage units determined to be relocated in S143.

[0072] If the determination unit 30 determines that any data can be moved to another storage unit, it moves that data to the other storage unit (S146).

[0073] Figure 8 is a flowchart of another relocation process based on the internal requirements of Embodiment 3 of the present invention. The relocation process shown in Figure 8 determines the relocation destination by considering conditions other than retention performance (e.g., activation frequency).

[0074] First, the determination unit 30 obtains the number of write operations and the available capacity for each of the storage units 41 to 4n from the specification management unit 20 as operational information for the storage units (S151).

[0075] The determination unit 30 calculates retention performance from the operational information of the storage units 41 to 4n (S152).

[0076] The determination unit 30 determines whether it is possible to move data from a storage unit with high retention performance to another storage unit (S153). For example, if the available capacity of the storage unit to be relocated to is equal to or greater than the amount of data of the existing data to be moved, and the retention performance of the storage unit to be relocated to is equal to or greater than the retention performance of the existing data, it is determined that the existing data can be moved to the storage unit to be relocated to. Specifically, among the data stored in the storage unit with high retention performance, the determination process is performed by brute force to determine whether it is possible to relocate the data to another storage unit, starting with the data with the shortest retention request.

[0077] The determination unit 30 obtains the program startup frequency from the specification management unit 20 (S154). The program startup frequency may also be obtained in step S151 by including it in the operation information of the storage unit.

[0078] The determination unit 30 determines whether a program with a low activation frequency can be moved to a slower storage unit (S155). For example, with respect to a program with a low activation frequency and the data used by that program, if, among the other storage units determined to be relocated in S153, the memory performance (specifically, read performance) of the destination storage unit is less than or equal to the memory performance of the source storage unit, and is greater than or equal to the memory performance required by the program and the data used by that program, then it is determined that the existing data can be moved to the data relocation destination storage unit. Specifically, the determination process is executed in order from the programs with the lowest activation frequency, and then in order from the storage units with the lowest memory performance among the other storage units determined to be relocated in S153.

[0079] If the determination unit 30 determines that any data can be moved to another storage unit, it moves that data to the other storage unit (S156).

[0080] The relocation process based on the internal requirements described above (Figures 6, 7, and 8) is best executed in the background at predetermined intervals (for example, at predetermined time intervals) while normal processing is running.

[0081] As described above, according to Embodiment 3 of the present invention, the determination unit 30, in the background during normal processing, compares the fourth storage period required for programs and data already stored in the storage units 41 to 4n with the first storage period for which the storage units 41 to 4n can hold data, and moves programs or data that require a fourth storage period shorter than the first storage period to the storage unit for the first storage period. This reduces processing time and processing load when adding programs or data without having to rearrange programs or data when additional programs or data are requested from the external device 2. Furthermore, in the background during normal processing, the determination unit 30 moves programs that are frequently started to storage units with faster data read speeds based on the comparison result between the startup information of programs already stored in the storage units 41 to 4n and the data read speed of the storage units 41 to 4n. This shortens the startup time of frequently used programs and improves user convenience. In addition, the determination unit 30 moves programs that are not frequently started to storage units with slower data read speeds, ensuring high convenience even when the programs frequently used by the user change to different programs. This makes it possible to shorten the startup time of frequently used programs to match the new user's usage patterns, even when the vehicle's user changes.

[0082] It should be noted that the present invention is not limited to the embodiments described above, but includes various modifications and equivalent configurations within the spirit of the attached claims. For example, the embodiments described above are described in detail to make the present invention easier to understand, and the present invention is not necessarily limited to having all of the described configurations. Furthermore, some of the configurations of one embodiment may be replaced with those of another embodiment. Furthermore, some of the configurations of one embodiment may be added to those of another embodiment. Furthermore, some of the configurations of each embodiment may be added, deleted, or replaced with those of other embodiments.

[0083] Furthermore, each of the aforementioned configurations, functions, processing units, and processing means may be implemented in hardware, for example, by designing them as integrated circuits, or they may be implemented in software by having a processor interpret and execute programs that realize each function.

[0084] Information such as programs, tables, and files that implement each function can be stored in memory, hard disks, SSDs (Solid State Drives), or recording media such as IC cards, SD cards, and DVDs.

[0085] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes and do not necessarily represent all control lines and information lines required for implementation. In reality, it can be assumed that almost all components are interconnected.

Claims

1. A vehicle control device to be mounted on a vehicle, comprising: a plurality of storage units with different characteristics; a specification management unit that acquires the number of writes and erases of the plurality of storage units and manages the acquired number of writes and erases as operational information; and a determination unit that calculates a first storage period for which the plurality of storage units can hold data based on the operational information, wherein the determination unit compares the calculated first storage period with a second storage period required for an additional program, selects a storage unit having a first storage period longer than the second storage period, and stores the additional program in the selected storage unit.

2. A vehicle control device according to claim 1, comprising a communication unit for sending and receiving information with an external device, wherein the communication unit receives the program to be added and the data used by the program from the external device, and the determination unit compares the calculated first storage period with a third storage period required for the data, selects a storage unit having a first storage period longer than the third storage period, and stores the data in the selected storage unit.

3. A vehicle control device according to claim 1, wherein the determination unit obtains a fourth storage period required for programs and data already stored in the storage unit from the specification management unit, compares the calculated first storage period with the fourth storage period, moves programs and data that require a fourth storage period shorter than the first storage period to the storage unit for the first storage period, and stores the additional program in the storage unit where the moved programs and data were stored.

4. A vehicle control device according to claim 1, wherein the determination unit compares the memory performance of the storage unit with the memory performance required for the program to be added, selects a storage unit having higher memory performance than the required memory performance, and stores the program to be added in the selected storage unit.

5. A vehicle control device according to claim 1, wherein the determination unit obtains a fourth storage period required for programs and data already stored in the storage unit from the specification management unit at a predetermined timing, compares the calculated first storage period with the fourth storage period, and moves programs or data that require a fourth storage period shorter than the first storage period to another storage unit for the first storage period.

6. A vehicle control device according to claim 5, wherein the determination unit obtains program startup information already stored in the storage unit from the specification management unit at a predetermined timing, compares the program startup information already stored in the storage unit with the data read speed of the storage unit, and moves programs with a high startup frequency to a storage unit with a high data read speed based on the result of the comparison.

7. A vehicle control device according to claim 5, wherein the determination unit obtains program startup information already stored in the storage unit from the specification management unit at a predetermined timing, compares the program startup information already stored in the storage unit with the data read speed of the storage unit, and, based on the result of the comparison, moves programs with a low startup frequency to a storage unit with a slow data read speed.

8. A data storage method executed by a vehicle control device mounted on a vehicle, wherein the vehicle control device comprises a plurality of storage units with different characteristics, a specification management unit that acquires the number of writes and erases of the plurality of storage units and manages the acquired number of writes and erases as operational information, and a determination unit that calculates a first storage period for which the plurality of storage units can hold data based on the operational information, wherein the data storage process is characterized in that the determination unit compares the calculated first storage period with a second storage period required for the program to be added, the determination unit selects a storage unit having a first storage period longer than the second storage period, and the determination unit stores the program to be added in the selected storage unit.

Citation Information

Patent Citations

  • Automatic data update method in data storage system, and disk drive using the same

    JP2005216476A

  • Data processor for vehicle control system

    JP2005250894A

  • Storage device, data migration device, and data migration method

    JP2009169688A

  • Information processing device, information processing method, and program

    JP2018180845A