Data distribution apparatus, data distribution system, and data distribution program

By acquiring reorganization information through a data distribution device and dividing and packaging it into data packets, the problem of insufficient memory capacity of the main device is solved. This enables the parallel transmission of update data from the main device to multiple ECUs, improving the distribution efficiency and installation speed of update data.

CN115136121BActive Publication Date: 2026-03-17DENSO CORP +1
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-17
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

In the prior art, the memory capacity of the main device is insufficient to download all the update data of multiple write target ECUs, resulting in the inability to properly perform the transfer processing of update data in parallel.

Method used

The data distribution device acquires the reorganization information, divides and packages it into multiple data packets, and distributes them to the main device so that the main device can perform the update data transfer processing to multiple ECUs in parallel.

Benefits of technology

This technology enables the parallel execution of update data transfer to multiple ECUs while the main device is downloading update data, thereby improving the overall efficiency of update data distribution and shortening the time from the start of download to the completion of installation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115136121B_ABST
    Figure CN115136121B_ABST
Patent Text Reader

Abstract

The present application provides a kind of data distribution device, data distribution system and data distribution program.Data distribution device (2) has: update data acquisition unit (9a), obtains the multiple update data corresponding to multiple write object electronic control device;Reorganization information acquisition unit (9b), obtains the reorganization information for by main device parallel execution to multiple write object electronic control device transfer update data transfer processing;Data packet generation unit (9c), multiple update data are segmented based on reorganization information to generate segmented data, and the segmented data of multiple update data generated are packed to generate multiple data packets;And distribution control unit (9e), multiple data packets are distributed to main device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application is based on Japanese Patent Application No. 2020-026299, filed on February 19, 2020, the contents of which are incorporated herein by reference. Technical Field

[0003] This disclosure relates to data distribution apparatus, data distribution system, and data distribution program. Background Technology

[0004] Conventionally, for example, a data distribution system has been provided, which includes a data distribution device for distributing update data such as reprogramming programs, a main device for transferring update data downloaded from the data distribution device, and an electronic control device (hereinafter referred to as ECU) for writing update data transferred from the main device to a memory. For example, Patent Document 1 discloses a technique for improving the efficiency of transferring update data from the main device to multiple target ECUs by performing the transfer process of update data from the main device to multiple target ECUs in parallel when there are multiple target ECUs.

[0005] Patent Document 1: Japanese Patent Application Publication No. 2018-92577

[0006] The master unit temporarily stores the updated data downloaded from the data distribution device in its memory, and sequentially reads the temporarily stored updated data from the memory and transfers it to the target ECUs. However, there may be cases where the storage capacity of the master unit's memory is insufficient to download all the updated data for multiple target ECUs. In such cases, there is a possibility that a structure that performs the transfer process of updated data from the master unit to multiple target ECUs in parallel cannot be appropriately used. Summary of the Invention

[0007] The purpose of this disclosure is to provide a structure that appropriately utilizes a method for parallel execution of the transfer processing of updated data from the master device to multiple write objects by an electronic control device, when the master device is downloading updated data distributed from the data distribution device.

[0008] According to one embodiment of this disclosure, an update data acquisition unit acquires multiple update data corresponding to multiple write targets of electronic control devices. A reassembly information acquisition unit acquires reassembly information for the master device to perform parallel transfer processing to transfer update data to multiple write targets of electronic control devices. If multiple update data are acquired by the update data acquisition unit, a data packet generation unit divides the acquired multiple update data based on the reassembly information acquired by the reassembly information acquisition unit to generate segmented data, and packages the generated segmented data of multiple update data to generate multiple data packets. If the data packet generation unit generates multiple data packets, the distribution control unit distributes the generated multiple data packets to the master device.

[0009] Reassembly information is acquired for the transfer processing of updating data to multiple write objects, which is executed in parallel by the master device. If multiple update data are acquired, the acquired update data is segmented based on the reassembly information to generate segmented data. The segmented data of the multiple update data are then packaged into multiple data packets, which are then distributed to the master device. By distributing multiple data packets to the master device, the transfer processing of updating data to multiple write objects is executed in parallel by the master device. This allows for the appropriate use of a structure that executes the transfer processing of updating data from the master device to multiple write objects in parallel, even when the master device is downloading update data distributed from the data distribution device. Attached Figure Description

[0010] The above-mentioned objects, as well as other objects, features, and advantages of this disclosure, will become clearer from the following detailed description with reference to the accompanying drawings.

[0011] Figure 1 It is a diagram showing the overall structure of a system in one implementation method.

[0012] Figure 2 This is a flowchart representing the processing performed by the data distribution device.

[0013] Figure 3 This is a flowchart representing the processing performed by the main device.

[0014] Figure 4 This is a diagram illustrating how a data distribution device generates data packets.

[0015] Figure 5 This diagram illustrates how the master device performs parallel data transfer processing.

[0016] Figure 6 This diagram illustrates how the data distribution device distributes data packets and how the master device forwards updated data.

[0017] Figure 7It is a diagram representing the objects being compared.

[0018] Figure 8 It is a diagram that represents the structure of the updated data within a data packet.

[0019] Figure 9 It is a timing diagram. Detailed Implementation

[0020] Hereinafter, one embodiment will be described with reference to the accompanying drawings. The data distribution system 1 is a vehicle electronic control system comprising a data distribution device 2, a main unit 3 mounted on the vehicle, and an electronic control unit (hereinafter referred to as ECU (Electronic Control Unit)) 4. It is a system capable of rewriting vehicle control, diagnostic, and other applications installed on the ECU 4. In this embodiment, an example is shown where the ECU 4 rewrites the application by writing a reprogrammed program, such as a new version of the program, as update data to the memory. However, it can also be applied to situations where, for example, control parameters used by the ECU 4, map data used in a map application, or other application data used in the application are rewritten. That is, the update data includes reprogrammed programs, control parameters, application data, etc. Examples of ECU 4 that are the objects to which the update data is written include each ECU 4 controlling the vehicle body system, each ECU 4 controlling the driving system, and each ECU 4 controlling the multimedia system.

[0021] Data distribution device 2 can be a central device, an in-plant device located in a factory such as a manufacturing plant or repair shop, or a diagnostic tool that can be carried by an operator. If updated data is registered, the registered updated data is packaged into a data packet and distributed to the main device 3. The data packet generated by data distribution device 2 may contain files such as compressed files. If data distribution device 2 is a central device, it may wirelessly connect to the main device 3 via a wide area communication line such as a 3G or 4G line to distribute data packets to the main device 3. If data distribution device 2 is an in-plant device or a diagnostic tool, it may wirelessly connect to the main device 3 via a short-range communication line such as WiFi or Bluetooth, or wiredly connect to the main device 3 via a cable to distribute data packets to the main device 3. In other words, data distribution system 1 is a system capable of rewriting the application installed on ECU 4 via either wireless or wired connection.

[0022] The main unit 3 is connected to multiple ECUs 4 via bus 5. Bus 5 may be, for example, CAN (Controller Area Network), LIN (Local Interconnect Network), CXPI (Clock Extension Peripheral Interface), FlexRay, MOST (Media Oriented Systems Transport), etc. These buses have different communication protocols, communication speeds, and signal formats.

[0023] The main unit 3 is composed of a microcomputer with a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), and I / O (Input / Output). The microcomputer executes computer programs stored in a non-transitional physical storage medium to perform corresponding processing and control the overall operation of the main unit 3. The main unit 3 includes a memory 6 with a specified storage capacity, a storage control unit 7, and a transfer control unit 8. The storage control unit 7 downloads data packets from the data distribution device 2 and temporarily stores the downloaded data packets in the memory 6. The transfer control unit 8 reads the data packets stored in the memory 6, unpacks the read data packets, extracts update data, and transfers the extracted update data to the write target ECU 4.

[0024] If the installable conditions for the write target ECU4 are met, the main device 3 instructs the write target ECU4 to install, causing the write target ECU4 to install the updated data. Installable conditions include, for example, the user has given consent to the installation, the vehicle status is installable, the write target ECU4 is in an installable state, and the updated data is normal data.

[0025] Specifically, the main device 3 determines the vehicle status as installable by, for example, determining that the remaining battery capacity of the vehicle battery is above a specified capacity or that the environment is not illegal. The main device 3 also determines the target ECU 4 as installable by, for example, determining that the memory structure of the write target ECU 4 is normal or that the communication load of the bus 5 is below a specified level. Finally, the main device 3 determines the update data as normal by, for example, determining that the update data is unaltered and undamaged.

[0026] Furthermore, when the update data installation is completed in the write target ECU4, the main device 3 instructs the write target ECU4 to make the installed update data valid and activates the update data. Activation conditions include, for example, the user agreeing to the activation, the vehicle being in an activatable state, and the write target ECU4 being in an activatable state.

[0027] Specifically, the main device 3 determines that the vehicle is in an active state, for example, by determining that the vehicle is in a parked state or that the remaining capacity of the vehicle battery is above a specified level. The main device 3 also determines that the target ECU 4 is in an active state, for example, by determining that the update data written to the memory of the target ECU 4 is normal.

[0028] The main device 3 has the following function: if it is determined that multiple processing requests are received simultaneously, it coordinates the multiple processing requests based on the priority of the received processing requests, the state of the bus 5, the state of the write target ECU 4, etc., and executes the processing corresponding to the multiple processing requests received simultaneously in parallel. For example, when the main device 3 receives a processing request to transfer update data to the write target ECU (A) and a processing request to transfer update data to the write target ECU (B) simultaneously, it executes the transfer processing of transferring update data A to the write target ECU (A) and the transfer processing of transferring update data B to the write target ECU (B) in parallel. In addition, the main device 3 has the following function: when it is determined that multiple simultaneous processing is required, it executes the processing determined to be required for simultaneous processing in parallel, just as when it is determined that multiple processing requests are received simultaneously.

[0029] For example, when the vehicle's ignition switch switches from off to on, if data communication with the data distribution device 2 is possible, the main device 3 sends structural information to the data distribution device 2. The structural information sent from the main device 3 to the data distribution device 2 is vehicle-side information, including the data transfer speed from the main device 3 to the target ECU 4, the storage capacity of the main device 3's memory 6, hardware information related to the hardware of the target ECU 4, and software information related to the software stored in the target ECU 4. Furthermore, the main device 3 may also send structural information to the data distribution device 2 at various times, besides when the vehicle's ignition switch switches from off to on, when it receives a request to send structural information from the data distribution device 2. That is, the data distribution device 2 obtains structural information from the main device 3 at any given time.

[0030] The data distribution device 2 includes a control unit 9 and a data distribution unit 10. The control unit 9 is composed of a microcomputer having a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), and I / O (Input / Output). The microcomputer executes a computer program stored in a non-transferable physical storage medium to perform corresponding processing and control the overall operation of the data distribution device 2. The computer program executed by the microcomputer includes a data distribution program. The control unit 9 includes an update data acquisition unit 9a, a reconstructed information acquisition unit 9b, a data packet generation unit 9c, a security protection unit 9d, and a distribution control unit 9e.

[0031] The update data acquisition unit 9a acquires update data by having the operator specify the write target ECU4 and register the update data for that write target ECU4. The reconstruction information acquisition unit 9b acquires reconstruction information by receiving structure information sent from the master device 3. The reconstruction information is information used by the master device 3 to perform the transfer process of transferring update data to multiple write target ECU4s in parallel. The reconstruction information acquisition unit 9b acquires the following information as reconstruction information: The reconstruction information acquisition unit 9b acquires the storable capacity that can be stored in the master device 3 in one download as reconstruction information. The reconstruction information acquisition unit 9b acquires distribution speed information related to the distribution speed of data packets from the data distribution device 2 to the master device 3, transfer speed information related to the transfer speed of the update data transferred from the master device 3 to the write target ECU4, and speed difference information related to the speed difference between the distribution speed and the transfer speed as reconstruction information. The reconstruction information acquisition unit 9b acquires the writable capacity of the write target ECU4 that can be written with update data in one write, the write speed of the update data, the total write capacity of the update data, and the execution unit of the write process as reconstruction information. In addition, the reorganization information acquisition unit 9b can also use information predetermined for each vehicle model as this reorganization information.

[0032] If multiple update data are acquired by the update data acquisition unit 9a, the data packet generation unit 9c divides the acquired multiple update data based on the reassembly information acquired by the reassembly information acquisition unit 9b to generate segmented data, and packages the generated segmented data to generate multiple data packets. In this case, the data packet generation unit 9c determines the size of the data packet and the structure of the update data within the data packet, and generates the data packet according to the determined size of the data packet and the structure of the update data within the data packet.

[0033] If the reassembly information acquisition unit 9b acquires the storable capacity of the main device 3 that can be stored in one download, the data packet generation unit 9c determines the acquired storable capacity and decides the size of the data packet. Since the storable capacity of the memory 6 of the main device 3 is limited, the data packet generation unit 9c determines the size of the data packet to be less than or equal to the storable capacity of the memory 6 of the main device 3.

[0034] Furthermore, if the data acquisition unit 9b acquires distribution speed information related to the distribution speed of data packets from the data distribution device 2 to the main device 3, transfer speed information related to the transfer speed of updated data from the main device 3 to the write target ECU 4, speed difference information related to the speed difference between the distribution speed and the transfer speed, the writable capacity of the write target ECU 4 that can be written with one write, the write speed of the updated data, the total write capacity of the updated data, and the execution unit of the write process, then the data packet generation unit 9c comprehensively determines the acquired distribution speed information, transfer speed information, speed difference information, writable capacity, write speed, total write capacity, and execution unit, and determines the structure of the updated data within the data packet. The structure of the updated data is the allocation of the updated data corresponding to the write target ECU 4. The speed difference between the distribution speed and the transfer speed can also be calculated by either the data distribution device 2 or the main device 3.

[0035] Generally, since the data packet distribution speed from the data distribution device 2 to the master device 3 is faster than the data transfer speed from the master device 3 to the write target ECU 4, the data packet generation unit 9c determines the structure of the update data in the packet by generating the data packet by mixing and packaging the update data corresponding to multiple write target ECU 4, thereby reducing the waiting time for the update data to be transferred in the master device 3.

[0036] The data packet generation unit 9c determines the structure of the update data within the data packet by adjusting the amount of data updated for write targets ECU4 with relatively large write capacities, and by adjusting the amount of data updated for write targets ECU4 with relatively small write capacities. The data packet generation unit 9c also determines the structure of the update data within the data packet by adjusting the amount of data updated for write targets ECU4 with relatively fast write speeds, and by adjusting the amount of data updated for write targets ECU4 with relatively slow write speeds. Furthermore, the data packet generation unit 9c determines the structure of the update data within the data packet by matching the amount of data transferred in one operation with the execution unit of the write process.

[0037] If the size of the data packet and the structure of the updated data within the data packet are determined in this way, the data packet generation unit 9c generates the data packet according to the determined data packet size and the structure of the updated data within the data packet. If the data packet is generated by the data packet generation unit 9c, the security protection unit 9d performs security protection on the generated data packet, such as encryption. If the data packet is securely protected by the security protection unit 9d, the distribution control unit 9e sequentially distributes the securely protected data packet from the data distribution unit 10 to the main device 3.

[0038] Next, refer to Figures 2 to 9 The function of the above-mentioned structures will be explained.

[0039] In the data distribution device 2, the control unit 9 acquires update data by registering update data (S1, equivalent to the update data acquisition step), and acquires reassembly information by receiving structure information sent from the main device 3 (S2, equivalent to the reassembly information acquisition step). The control unit 9 generates segmented data by segmenting the update data based on the reassembly information, and packages the generated segmented data into multiple data packets (S3, equivalent to the data packet generation step). That is, the control unit 9 determines the size of the data packet and the structure of the update data within the data packet, and generates the data packet according to the determined size and structure of the update data within the data packet. If a data packet is generated, the control unit 9 performs security protection on the generated data packet, for example, by encryption (S4). The control unit 9 then distributes the securely protected data packet from the data distribution unit 10 to the main device 3 (S5, equivalent to the distribution control step).

[0040] If a data packet is downloaded from the data distribution device 2 (T1), the main device 3 performs security verification on the downloaded data packet, such as by decryption (T2). The main device 3 unpacks the security-verified data packet and extracts the update data (T3). If the update data is extracted, the main device 3 performs a transfer process (T4) in parallel to send the update data to the writing object ECU4.

[0041] Specifically, refer to Figures 4 to 7 Please provide an explanation. For example... Figure 4 As shown, for example, if update data A with a data size of Na bytes corresponding to the write target ECU (A), update data B with a data size of Nb bytes corresponding to the write target ECU (B), and update data C with a data size of Nc bytes corresponding to the write target ECU (C), then the control unit 9 determines the size of the data packet and the structure of the update data within the data packet based on the reassembly information. For example, the control unit 9 divides update data A into update data A1 (Na1 bytes), update data A2 (Na2 bytes), and update data A3 (Na3 bytes). Similarly, the control unit 9 divides update data B into update data B1 (Nb1 bytes), update data B2 (Nb2 bytes), and update data B3 (Nb3 bytes). The control unit 9 divides update data C into update data C1 (Nc1 bytes), update data C2 (Nc2 bytes), and update data C3 (Nc3 bytes). The write target ECU (A), write target ECU (B), and write target ECU (C) are equivalent to the electronic control device for the first write target (i.e., the first target device) and the electronic control device for the second write target (i.e., the second target device). These updated data A1, A2, A3, B1, B2, B3, C1, C2, and C3, which are segmented based on the recombined information, are segmented data, equivalent to the first segmented data and the second segmented data.

[0042] Control unit 9 packages header information containing specification data related to the rewriting of the application into a data packet, secures the generated data packet, and distributes it from data distribution unit 10 to host device 3. Next, control unit 9 packages update data A1, update data B1, and update data C1 into a single file to generate a data packet, secures the generated data packet, and distributes it from data distribution unit 10 to host device 3. After this, control unit 9 performs the same processing on update data A2, update data B2, and update data C2, and on update data A3, update data B3, and update data C3. Furthermore, control unit 9 distributes data packets from data distribution unit 10 to host device 3 upon receiving a data packet distribution request from host device 3. Control unit 9 sequentially distributes data packets containing update data A1, update data B1, and update data C1, data packets containing update data A2, update data B2, and update data C2, and data packets containing update data A3, update data B3, and update data C3 from data distribution unit 10 to host device 3.

[0043] like Figure 5 As shown, if a data packet containing update data A1, update data B1, and update data C1 packaged into a single file is downloaded from data distribution device 2, then main device 3 unpacks the downloaded data packet and extracts update data A1, update data B1, and update data C1. It then executes in parallel the transfer processes of sending update data A1 to the write target ECU (A), sending update data B1 to the write target ECU (B), and sending update data C1 to the write target ECU (C). That is, after transferring update data A1 to the write target ECU (A), and before receiving a write completion notification from the write target ECU (A), main device 3 transfers update data B1 to the write target ECU (B) and update data C1 to the write target ECU (C).

[0044] If update data A1 is transferred from master device 3, the write target ECU (A) begins the write process of writing the transferred update data A1 to memory. If the write process is completed, a write completion notification is sent to master device 3. If update data B1 is transferred from master device 3, the write target ECU (B) begins the write process of writing the transferred update data B1 to memory. If the write process is completed, a write completion notification is sent to master device 3. If update data C1 is transferred from master device 3, the write target ECU (C) begins the write process of writing the transferred update data C1 to memory. If the write process is completed, a write completion notification is sent to master device 3.

[0045] That is, such as Figure 6As shown, the data distribution device 2 distributes the data packets containing updated data A1, updated data B1, and updated data C1 to the main device 3. Within the main device 3, the processes of transferring updated data A1 to the write target ECU (A), transferring updated data B1 to the write target ECU (B), and transferring updated data C1 to the write target ECU (C) can be performed in parallel. Therefore, the writing processes of updated data A1, updated data B1, and updated data C1 can be performed in parallel within the write target ECU (A), write target ECU (B), and write target ECU (C), respectively.

[0046] Subsequently, similarly, the data distribution device 2 distributes the data packets containing updated data A2, updated data B2, and updated data C2 to the main device 3, allowing write-object ECU (A), write-object ECU (B), and write-object ECU (C) to execute the write processing of updated data A2, updated data B2, and updated data C2 in parallel, respectively. Similarly, the data distribution device 2 distributes the data packets containing updated data A3, updated data B3, and updated data C3 to the main device 3, allowing write-object ECU (A), write-object ECU (B), and write-object ECU (C) to execute the write processing of updated data A3, updated data B3, and updated data C3 in parallel, respectively. This enables the parallel execution of update data write processing for write-object ECU (A), write-object ECU (B), and write-object ECU (C).

[0047] In structures that do not employ information reorganization, such as Figure 7 As shown, data packets are generated by packaging the updated data according to the order in which they are registered. That is, updated data A is generated as a single data packet, updated data B is generated as a single data packet, and updated data C is generated as a single data packet. Therefore, the write processing of updated data for write object ECU (A), write object ECU (B), and write object ECU (C) cannot be performed in parallel before all packets have been downloaded. For example, if updated data A is registered initially, the transfer processing of updated data to write object ECU (A) begins, but during the execution of this transfer processing to write object ECU (A), the transfer processing of updated data to write object ECU (B) and the transfer processing of updated data to write object ECU (C) are not performed.

[0048] In contrast, in the structure employing reconstructed information as described in this embodiment, as above, the transfer process of sending updated data to each of the write target ECUs (A, B, and C) is performed in parallel. Therefore, the time required from the start of writing updated data to the completion of writing all updated data is shorter than in the structure without reconstructed information.

[0049] In the above structure, if the transmission speed, distribution speed, and speed difference of the update data from the master device 3, the writable capacity of the update data that can be written in one write, the write speed of the update data, the total write capacity of the update data, and the execution unit of the write process are all equal among the write target ECU (A), write target ECU (B), and write target ECU (C), then the data amounts of update data A1, update data B1, and update data C1 are equal. On the other hand, if there are differences and inequalities in the transmission speed, distribution speed, and speed difference of the update data from the master device 3, the writable capacity of the update data that can be written in one write, the write speed of the update data, the total write capacity of the update data, and the execution unit of the write process, then the data amounts of update data A1, update data B1, and update data C1 may also be different.

[0050] That is, the amount of update data can be relatively increased for ECU4, which has a relatively fast data transfer speed and write speed from the master device 3, and relatively decreased for ECU4, which has a relatively slow data transfer speed and write speed from the master device 3. Alternatively, the amount of update data can be relatively increased for ECU4, which has a relatively large write capacity, total write capacity, and write processing unit size, and relatively decreased for ECU4, which has a relatively small write capacity, total write capacity, and write processing unit size.

[0051] Specifically, refer to Figures 8 to 9 Please provide an explanation. For example... Figure 8As shown, for example, when the storage capacity of the memory 6 of the main device 3 is 16k bytes, the execution unit of the write processing of the write target ECU (A), write target ECU (B), and write target ECU (C) is 1k byte, and the write speed of the update data of the write target ECU (B) is about twice the write speed of the update data of the write target ECU (A) and write target ECU (C), the control unit 9 determines the size of the data packet to be 8k bytes, determines the structure of the update data in the data packet to be 2k bytes for the update data A1, A2, ..., C1, C2, ..., and determines the structure of the update data in the data packet to be 4k bytes for the update data B1, B2, ..., and generates data packets 1, 2, ...

[0052] In this case, such as Figure 9 As shown, after downloading data packet 1 (PKG1) from data distribution device 2, the main device 3 extracts update data A1, B1, and C1 from data packet 1 in parallel with downloading data packet 2 (PKG2) from data distribution device 2. The extracted update data A1, B1, and C1 are then transferred to the writing target ECU (A), writing target ECU (B), and writing target ECU (C) respectively in 1KB transfer units. In this case, since the write speed of the update data for writing target ECU (B) is approximately twice that of the write speed of the update data for writing target ECU (A) and writing target ECU (C), the main device 3 can transfer more 1KB units per unit time for writing target ECU (B) than for writing target ECU (A) and writing target ECU (C). That is, the main device 3 transfers 1KB units per unit time to writing target ECU (B) at a shorter period than for writing target ECU (A) and writing target ECU (C).

[0053] Furthermore, if the main device 3 receives a write completion notification from the write target ECU (A), write target ECU (B), and write target ECU (C), and determines that the installation of the updated data has been completed in the write target ECU (A), write target ECU (B), and write target ECU (C), then it deletes the transferred updated data and sends a data packet distribution request to the data distribution device 2, requesting the distribution of the next data packet. Figure 9 In the process, during “t1” to “t2”, the master device 3 downloads data packet 1 from the data distribution device 2. If the download of data packet 1 is completed, it extracts update data A1, B1, and C1 from the downloaded data packet 1 and begins the transfer of the extracted update data A1, B1, and C1. It also requests the data distribution device 2 to distribute data packet 2 as the next data packet.

[0054] Between "t2" and "t3", the master device 3 and the slave data distribution device 2 download data packet 2 in parallel, transferring update data A1, B1, and C1 to the write target ECU (A), write target ECU (B), and write target ECU (C) in 1KB transfer units. If it is determined at "t3" that the installation of update data A1, B1, and C1 is complete, the master device 3 deletes update data A1, B1, and C1 and requests data packet 3 as the next data packet from the data distribution device 2.

[0055] Similarly, during "t3" to "t4", the main device 3, in parallel with the data packet 3 downloaded from the data distribution device 2, forwards the update data A2, B2, and C2 to the write target ECU (A), write target ECU (B), and write target ECU (C) in 1KB forwarding units. If it is determined at "t4" that the installation of all update data A2, B2, and C2 is complete, the main device 3 deletes the update data A2, B2, and C2 and requests the data distribution device 2 to distribute data packet 4 as the next data packet.

[0056] Furthermore, the above example illustrates a structure with three write target ECUs 4, but the same applies to structures with two or more write target ECUs 4. Additionally, the above example illustrates a structure where write target ECUs 4 are connected to the same bus 5, but the same applies to structures where write target ECUs 4 are connected to different buses. In this case, the structure of the updated data within the data packet can be determined by considering factors such as the communication load and transmission capacity of the bus 5. For example, if the communication load or transmission capacity of the bus to which write target ECU (A) is connected is relatively small, while the communication load or transmission capacity of the buses to which write target ECUs (B) and (C) are connected is relatively large, then the amount of updated data A1, A2, and A3 can be relatively increased, while the amount of updated data B1, B2, B3, and C1, C2, and C3 can be relatively decreased.

[0057] As explained above, the following effects can be obtained according to this embodiment.

[0058] In the data distribution device 2, if reorganization information for parallel execution of transfer processing to multiple write-object ECU4s for transmitting update data is obtained, and multiple update data are obtained, the obtained multiple update data are divided based on the reorganization information to generate segmented data. The generated segmented data is then packaged into multiple data packets, and the generated multiple data packets are sequentially distributed to the main device 3. By sequentially distributing multiple data packets to the main device 3 so that the main device 3 can execute the transfer processing to multiple write-object ECU4s in parallel, a structure for parallel execution of the transfer processing from the main device 3 to multiple write-object ECU4s can be appropriately used when the main device 3 is downloading update data distributed from the data distribution device 2. In this way, by appropriately using a structure for parallel execution of the transfer processing from the main device 3 to multiple write-object ECU4s, the distribution efficiency of update data as a whole system can be appropriately improved.

[0059] In data distribution device 2, data packets are protected with security measures before being distributed to master device 3. This ensures security during the distribution of data packets from data distribution device 2 to master device 3.

[0060] In data distribution device 2, the storable capacity that can be stored in the main device 3 in a single download is obtained, and the size of the data packet is determined based on this obtained storable capacity. The size of the data packet can be optimized based on the storable capacity that can be stored in the main device 3 in a single download.

[0061] In the data distribution device 2, distribution speed information related to the distribution speed of data packets distributed from this device to the master device 3, or transfer speed information related to the transfer speed of updated data transferred from the master device 3 to the write target ECU 4, or speed difference information, is acquired. Based on the acquired distribution speed information, transfer speed information, and speed difference information, the structure of the updated data within the data packet is determined. The structure of the updated data within the data packet can be optimized based on the distribution speed information, transfer speed information, and speed difference information.

[0062] In the data distribution device 2, the writable capacity of the write target ECU4 for updating data that can be written in a single write is obtained, and the structure of the update data in the data packet is determined based on the obtained writable capacity. This allows for the optimization of the update data structure within the data packet based on the writable capacity of the write target ECU4 for updating data that can be written in a single write.

[0063] In the data distribution device 2, the write speed of the updated data in the object ECU4 is obtained, and the structure of the updated data in the data packet is determined based on the obtained write speed. This allows for the optimization of the updated data structure within the data packet based on the write speed of the updated data in the object ECU4.

[0064] In the data distribution device 2, the total write capacity of the updated data in the write target ECU4 is obtained, and the structure of the updated data in the data packet is determined based on the obtained total write capacity. This allows for the optimization of the updated data structure within the data packet based on the total write capacity of the updated data in the write target ECU4.

[0065] In the data distribution device 2, the execution unit of the write process in the write target ECU4 is obtained, and the structure of the updated data in the data packet is determined based on the obtained execution unit. The structure of the updated data in the data packet can be optimized based on the execution unit of the write process in the write target ECU4. For example, although there is a constraint on the minimum data volume when the difference data between the old and new programs is the updated data, the structure of the updated data in the data packet can be optimized by determining the structure of the updated data in the data packet based on this minimum data volume.

[0066] In the main device 3, the data packet downloading process from the data distribution device 2 and the data transfer process to the write target ECU 4 are performed in parallel. This shortens the time from the start of downloading to the completion of installation. That is, by performing the data packet downloading process from the data distribution device 2 and the data transfer process to the write target ECU 4 in parallel, in addition to performing the data transfer process from the main device 3 to multiple write target ECU 4 in parallel, the time from the start of downloading to the completion of installation can be shortened. Furthermore, by dividing the data packet size into smaller segments, it can be applied even when the storage capacity of the memory 6 of the main device 3 is not large. In addition, it is not necessary to install a large storage capacity memory in the main device 3, which also enables cost reduction and device miniaturization.

[0067] In the main device 3, after determining that the writing of update data to all write-target ECU4 has been completed, the update data transferred to all write-target ECU4 is deleted. By deleting unnecessary update data, the storage capacity of the memory 6 can be ensured.

[0068] In the main unit 3, after deleting the updated data transferred to all write targets ECU4, it requests the distribution of the next data packet from the data distribution unit 2. The next data packet can be appropriately downloaded from the data distribution unit 2 while ensuring the storage capacity of the memory 6.

[0069] This disclosure is described based on embodiments, but should be understood as not being limited to those embodiments or structures. This disclosure also includes various modifications and equivalent variations. Various combinations, methods, and further combinations and methods containing only one element, or more than one or fewer of these elements, are also included within the scope and spirit of this disclosure.

[0070] The control unit and method described in this disclosure can also be implemented by a dedicated computer, which is provided by comprising a processor and memory programmed to perform one or more functions embodied by a computer program. Alternatively, the control unit and method described in this disclosure can also be implemented by a dedicated computer, which is provided by comprising a processor constructed using one or more dedicated hardware logic circuits. Alternatively, the control unit and method described in this disclosure can also be implemented by one or more dedicated computers, which are constructed by a combination of a processor and memory programmed to perform one or more functions, and a processor constructed of one or more hardware logic circuits. In addition, the computer program can also be stored as instructions executed by the computer in a computer-readable non-transitional tangible storage medium.

[0071] In the main device 3, it may also have a structure that has a DCM (Data Communication Module) equivalent to the storage control unit 7 and a CGW (Central Gateway) equivalent to the transfer control unit 8.

[0072] Alternatively, an external storage device can be set up separately from the main device 3, and the data packets distributed from the data distribution device 2 to the main device 3 can be temporarily stored in the external storage device.

Claims

1. A data distribution apparatus for a data distribution system that has a master apparatus that transfers update data extracted from a data packet to electronic control apparatuses of write targets and an electronic control apparatus that writes the update data transferred from the master apparatus to a memory, the data distribution apparatus has: an update data acquisition section that acquires a plurality of update data corresponding to a plurality of electronic control apparatuses of write targets; a reorganization information acquisition section that acquires reorganization information for performing, in parallel by the master apparatus, transfer processing of transferring update data to a plurality of electronic control apparatuses of write targets; a data packet generation section that generates divided data by dividing the plurality of update data acquired by the update data acquisition section based on the reorganization information acquired by the reorganization information acquisition section, and generates a plurality of data packets by packing the generated divided data of the plurality of update data; and a distribution control section that causes the plurality of data packets generated by the data packet generation section to be distributed to the master apparatus, the reorganization information includes information about a storable capacity that is storable by one download in the master apparatus.

2. The data distribution apparatus according to claim 1, wherein the update data acquisition section acquires, as the plurality of update data, first update data corresponding to a first target apparatus that is an electronic control apparatus of a first write target and second update data corresponding to a second target apparatus that is an electronic control apparatus of a second write target, the reorganization information acquisition section acquires reorganization information for performing, in parallel by the master apparatus, transfer processing of transferring the first update data to the first target apparatus and transfer processing of transferring the second update data to the second target apparatus, the data packet generation section divides the first update data and the second update data acquired by the update data acquisition section based on the reorganization information acquired by the reorganization information acquisition section, respectively, and generates a plurality of data packets by packing first divided data obtained by dividing the first update data and second divided data obtained by dividing the second update data into one data packet.

3. The data distribution apparatus according to claim 1, wherein a security protection section that performs security protection on the data packets generated by the data packet generation section is provided, the distribution control section causes the data packets on which security protection is performed by the security protection section to be distributed to the master apparatus.

4. The data distribution apparatus according to claim 1, wherein the reorganization information acquisition section acquires, as the reorganization information, a storable capacity that is storable by one download in the master apparatus, the data packet generation section decides a size of a data packet based on the storable capacity acquired by the reorganization information acquisition section, and generates a data packet based on the decided size of the data packet.

5. The data distribution apparatus according to claim 1, wherein ​ The reorganization information acquisition section acquires distribution speed information about a distribution speed of distributing data packets from the device to the master device, or transfer speed information about a transfer speed of transferring update data from the master device to the electronic control device of the write target, or speed difference information about a speed difference between the distribution speed and the transfer speed, as the reorganization information, The data packet generation section decides a structure of update data within a data packet based on the distribution speed information, or the transfer speed information, or the speed difference calculated from the speed difference information, acquired by the reorganization information acquisition section, and generates a data packet based on the decided structure of update data within the data packet.

6. The data distribution device according to claim 1, wherein The reorganization information acquisition section acquires a writable capacity in the electronic control device of the write target, in which update data is writable by one-time writing, as the reorganization information, The data packet generation section decides a structure of update data within a data packet based on the writable capacity acquired by the reorganization information acquisition section, and generates a data packet based on the decided structure of update data within the data packet.

7. The data distribution device according to claim 1, wherein The reorganization information acquisition section acquires a writing speed of update data in the electronic control device of the write target, as the reorganization information, The data packet generation section decides a structure of update data within a data packet based on the writing speed acquired by the reorganization information acquisition section, and generates a data packet based on the decided structure of update data within the data packet.

8. The data distribution device according to claim 1, wherein The reorganization information acquisition section acquires a total writing capacity of update data in the electronic control device of the write target, as the reorganization information, The data packet generation section decides a structure of update data within a data packet based on the total writing capacity acquired by the reorganization information acquisition section, and generates a data packet based on the decided structure of update data within the data packet.

9. The data distribution device according to any one of claims 1 to 8, wherein The reorganization information acquisition section acquires an execution unit of a writing process in the electronic control device of the write target, as the reorganization information, The data packet generation section decides a structure of update data within a data packet based on the execution unit acquired by the reorganization information acquisition section, and generates a data packet based on the decided structure of update data within the data packet.

10. A data distribution system provided with a data distribution device that distributes a packet containing update data to a master device, and the master device that extracts update data from the data packet downloaded from the data distribution device and transfers the extracted update data to an electronic control device of a write target, The data distribution device is provided with: an update data acquisition section that acquires a plurality of update data corresponding to a plurality of electronic control devices of write targets; a reorganization information acquisition section that acquires reorganization information for performing a transfer process of transferring update data to a plurality of electronic control devices of write targets in parallel by the master device; and the master device is provided with: a transfer section that transfers the update data to the electronic control device of the write target based on the reorganization information acquired by the reorganization information acquisition section of the data distribution device. a data packet generation unit that generates divided data by dividing the plurality of update data acquired by the update data acquisition unit based on the reorganization information acquired by the reorganization information acquisition unit, and generates a plurality of data packets by packing the divided data of the plurality of update data generated, and a distribution control unit that causes the plurality of data packets generated by the data packet generation unit to be distributed to the host device, the reorganization information includes information about a storable capacity that can be stored in the host device by one download.

11. A data distribution system comprising a data distribution device that distributes data packets including update data to a host device, the host device that extracts update data from the data packets downloaded from the data distribution device and forwards the extracted update data to electronic control devices that are write targets, and the electronic control devices that write the update data forwarded from the host device to memories, the data distribution device comprises: an update data acquisition unit that acquires a plurality of update data corresponding to a plurality of electronic control devices that are write targets; a reorganization information acquisition unit that acquires reorganization information for performing forwarding processing of update data to the plurality of electronic control devices that are write targets in parallel by the host device; a data packet generation unit that generates divided data by dividing the plurality of update data acquired by the update data acquisition unit based on the reorganization information acquired by the reorganization information acquisition unit, and generates a plurality of data packets by packing the divided data of the plurality of update data generated; and a distribution control unit that causes the plurality of data packets generated by the data packet generation unit to be distributed to the host device, the reorganization information includes information about a storable capacity that can be stored in the host device by one download.

12. The data distribution system according to claim 10 or 11, wherein the host device performs downloading of data packets from the data distribution device and forwarding of update data to the electronic control devices that are write targets in parallel.

13. The data distribution system according to claim 10 or 11, wherein after determining that writing of update data in all of the electronic control devices that are write targets is completed, the host device deletes the update data forwarded to all of the electronic control devices that are write targets.

14. The data distribution system according to claim 13, wherein after deleting the update data forwarded to all of the electronic control devices that are write targets, the host device requests distribution of a next data packet to the data distribution device.

15. A computer-readable non-transitory storage medium that stores commands to be executed by a computer, the commands causing a control unit of a data distribution device used in a data distribution system that comprises a host device that forwards update data extracted from data packets to electronic control devices that are write targets, and the electronic control devices that write update data forwarded from the host device to memories, to perform the following steps: an update data acquisition step of acquiring a plurality of update data corresponding to a plurality of electronic control devices that are write targets; a reorganization information acquisition step of acquiring reorganization information for performing forwarding processing of update data to the plurality of electronic control devices that are write targets in parallel by the host device; a data packet generation step of generating divided data by dividing the plurality of update data acquired by the update data acquisition step based on the reorganization information acquired by the reorganization information acquisition step, and generating a plurality of data packets by packing the divided data of the plurality of update data generated. a data packet generation step of generating divided data by dividing the plurality of update data obtained by the update data obtaining step based on the reorganization information obtained by the reorganization information obtaining step, and generating a plurality of data packets by packing the divided data of the plurality of update data thus generated; and a distribution control step of causing the plurality of data packets generated by the packet generation step to be distributed to the main device, the reorganization information includes information about a storable capacity that can be stored in the main device by one download.

Citation Information

Patent Citations

  • Parallel processor and parallel processing program

    JP2018092577A

  • Composite container, manufacturing method for composite container, and blow molding die

    JP2020026299A

  • Telematics control unit comprising a differential update package

    US20160364230A1