ELECTRONIC CONTROL UNIT AND DATA PROCESSING SYSTEM

The data processing system distributes divided programs across multiple storage areas within an electronic control unit, addressing the limitations of high-speed processing needs by optimizing program allocation, thereby enabling efficient and reliable processing of large data volumes.

DE102017210035B4Active Publication Date: 2025-10-09DENSO CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102017210035
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2016-06-24
Filing Date
2017-06-14
Publication Date
2025-10-09
Estimated Expiration
2037-06-14

AI Technical Summary

Technical Problem

Existing data processing systems face limitations in processing large volumes of data due to the need for high-speed processing, which requires multiple storage areas, increasing costs and restricting the data volume that can be processed, especially when performing security and additional processing on vehicle data.

Method used

A data processing system that distributes divided programs across multiple storage areas within an electronic control unit, utilizing a processing distribution part to allocate programs based on the capabilities of each area, ensuring efficient execution of security and additional processing without the need for additional storage models.

Benefits of technology

This approach allows for the processing of larger data volumes without increasing storage area models, reduces processing time, and enhances reliability by ensuring programs are executed correctly and efficiently across multiple storage units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Data processing system with: several memory areas (6, 8 to 10, 24); and a processing distribution part (5a, 23a) configured to distribute divided programs, which are respective parts of a program required to perform predetermined processing of data to be processed, to the respective plurality of storage areas (6, 8 to 10, 24), wherein the data to be processed is defined as subject data, and to cause each of the storage areas to perform a part of the predetermined processing for the subject data by executing the respective divided program, thereby completing the predetermined processing, wherein each of the storage areas (6, 8 to 10, 24) transmits, together with the subject data, accompanying data indicating a progress state of the predetermined processing for the subject data to the storage area of ​​the subsequent stage; each of the storage areas (6, 8 to 10, 24) defines the accompanying data by a control number of the divided program which is executed by itself or by a control number of the divided program which is executed by the storage area of ​​the subsequent stage; each of the memory areas (6, 8 to 10, 24) checks whether the accompanying data transferred from the memory area of ​​a previous stage and the control number of the divided program distributed to itself match; each of the memory areas (6, 8 to 10, 24) executes the divided program and notifies a predetermined destination of the execution of the divided program when a check result indicates that the accompanying data and the control number match; and the memory areas (6, 8 to 10, 24) do not execute the divided program and notify the predetermined destination of non-execution of the divided program when the check result indicates that the accompanying data and the control number do not match.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to an electronic control unit and a data processing system.

[0002] It is conventionally proposed to store subject data in a vehicle-side storage area (storage device) as data useful for vehicle failure analysis or accident evidence analysis, and to read this stored data as needed. The stored data includes vehicle control data obtained from sensors and external data obtained from an external side of the vehicle. For example, if an SD card memory of a drive recorder is used as the storage area, the subject data is stored in the SD card memory, as disclosed in JP 2011-103077 A, for example.

[0003] DE 37 51 399 T2 discloses an electronic control unit having a memory area including a control part and a memory part, the memory area being built-in or externally connected, the electronic control unit comprising: a processing distribution part for distributing divided programs provided by dividing a program required to perform predetermined processing to a plurality of memory areas, causing each of the memory areas to perform a part of the predetermined processing for data to be processed by executing the divided program, thereby completing the predetermined processing.

[0004] DE 37 51 493 T2 discloses a distributed processing system comprising multiple processors connected to a common transmission line. If the program composition in one of the processors has changed, a corresponding message is sent to the common transmission line. Once the message has been received by the common transmission line, information about the programs stored in the respective processors is sent to the common transmission line. The messages indicating the program compositions in the individual processors are automatically sent to the transmission line when the program compositions change.

[0005] DE 10 2015 004 034 A1 discloses a control device for executing a sequence program, wherein the sequence program is divided into programs, each of which fits into a cache memory, using program profile information and generated cache memory information. Program profile information of the sequence program and cache memory information are acquired. Based on the acquired information, splitting addresses at which the sequence program is split are determined. The identifiers of the obtained splitting programs, the numbers assigned to the cores, the start addresses and end addresses of the splitting programs, and the cache memory block information are stored in a memory as program execution information.

[0006] DE 698 26 549 T2 discloses an exclusive memory control device having a CPU that can access both a shared memory and a first storage device, wherein the CPU is prohibited from accessing the shared memory device while an access permission flag is turned off.

[0007] When storing the subject data as data to be processed in the storage area, it is necessary to perform predetermined processing such as security processing on the subject data to ensure secrecy and additional processing to conceal personal information. The additional processing is, for example, masking or pixelating an image of a person or position information, such as images of a name tag and a sign, on image data acquired from a camera. If all the predetermined processing is performed in a single storage area, the processing time required to complete the predetermined processing is critical. As a result, it is not possible to perform the predetermined processing on a large volume of the subject data because a data volume that can be subjected to the predetermined processing is limited.Since it is necessary to select a memory area capable of high-speed processing depending on the content of the processing, many types of memory areas must be provided and increase the cost.

[0008] The present invention addresses the problem described above and aims to provide a data processing system that eliminates restrictions on the data volume to be processed and does not increase the number of memory areas. This object is achieved by a data processing system having the features of independent claim 1. The dependent claims are directed to advantageous developments of the invention. Fig. 1 is a functional block diagram showing a first embodiment of the present invention; Fig. 2 is a diagram showing the memory contents of a control table; Fig. 3 is a diagram showing a flow of subject data; Fig. 4 is a flowchart showing the distributed processing of a shared program; Fig. 5 is a flowchart showing the execution processing of the split program; Fig. 6 is a diagram showing accompanying data and control numbers; Fig. 7 is a diagram showing the memory contents of a control table in a second embodiment of the present invention; Fig. 8 is a diagram showing a flow of subject data; and Fig. 9 is a functional block diagram showing a third embodiment of the present invention.

[0009] The present invention will be described with reference to several embodiments shown in the accompanying drawings. (First embodiment)

[0010] A first embodiment of the present invention applied to an electronic control unit mounted in a motor vehicle will be described with reference to Fig. 1 to Fig. 6. A data processing system 1 comprises electronic control units 2 and 3, which are connected via a vehicle-side network 4. The vehicle-side network 4 can, for example, be CAN (registered trademark).

[0011] The electronic control unit 2 includes a microcomputer 5 and a first storage area 6 provided as a first storage device. The first storage area 6 includes a control section 6a and a NAND-type storage section 6b, and stores a program executed to perform predetermined processing on subject data input from external devices to the electronic control unit 2. The subject data is obtained from sensors mounted on the vehicle or the like and is useful for vehicle failure analysis and accident evidence analysis.

[0012] The microcomputer 5 includes a processing distribution section 5a, a control table 5b, and a data communication section 5c. The processing distribution section 5a distributes divided programs, which are prepared by dividing a program stored in the first storage area 6, to a plurality of storage areas as described below, and executes the divided program in each storage area as part of a predetermined processing. Thus, the processing distribution section 5a completes the predetermined processing. The predetermined processing is, for example, security processing for ensuring secrecy and additional processing for concealing personal information. The program stored in the storage area 6 is for executing the security processing and additional processing. The control table 5b stores a ranking of the execution of the divided programs.The data communication part 5c controls the data communication carried out via the vehicle-side network 4.

[0013] The electronic control unit 3 also includes a microcomputer 7 and a second storage area 8 provided as a second storage device. The storage area 8 also includes a control section 8a and a NAND-type storage section 8b similar to the first storage area 6. The microcomputer 7 includes a data communication section 7a. The data communication section 7a controls data communications performed via the in-vehicle network 4. In the above-described configuration, the microcomputer 5 includes the processing distribution section 5a, but the microcomputer 7 does not have the function corresponding to the processing distribution section 5a. For this reason, the microcomputer 5 has a higher processing capability and is more expensive than the microcomputer 7.

[0014] The processing distribution part 5a distributes the divided programs to several memory areas as shown in Fig. 2 and Fig. 3 shown. In Fig. 2 and Fig. 3, it is assumed that, in addition to the second memory area 8, a third memory area 9 and a fourth memory area 10 are provided as third and fourth storage devices as a plurality of memory areas. It is additionally assumed that the processing distribution part 5a distributes the divided programs to the second to fourth memory areas 8 to 10. The third and fourth memory areas 9 and 10 include both the control parts 9a and 10a and the NAND-type memory areas 9b and 10b, respectively, similar to the second memory area 8.

[0015] The control table 5b stores the execution priority of the divided programs by setting the second to fourth storage areas 8 to 10 as the execution areas of the respective programs. The control table 5b stores a correspondence between a control number, a divided program, and an execution area of ​​the divided program. Regarding the safety processing controlled under a control number "1," the control table 5b divides the program required to execute the safety processing into three divided programs and assigns the divided programs, for example, to three execution areas each.Assuming that each processing of the three divided programs for security processing is the first to third processing 1-1 to 1-3, the first processing 1-1 is an initial setting processing, the second processing 1-2 is an encryption processing for part of the data, and the third processing 1-3 is the encryption processing for the remaining data. Regarding the additional editing processing controlled under a control number "2", the control table 5b divides the program required to execute the additional editing processing into five divided programs and assigns the divided programs to five execution areas and data, respectively.Assuming that each processing of the five divided programs for additional editing processing is the first to fifth processing 2-1 to 2-5, the first processing 2-1 is initial setting processing, the second processing 2-2 is tag attachment processing for a part of the data to be mosaiced, the third processing 2-3 is tag attachment processing for the remaining data to be mosaiced, the fourth processing 2-4 is mosaic processing for the part of the data, and the fifth processing 2-5 is mosaic processing for the remaining data.

[0016] The processing distribution part 5a distributes the divided programs of the security processing and the additional editing processing in accordance with a characteristic (i.e., processing capability and the like) of the control part 6a and a characteristic (i.e., storage capacity and the like) of the first storage area 6, characteristics of the control parts 8a to 10a, the second to fourth storage areas 8 to 10, and the characteristics of the storage parts 8b to 10b. That is, the processing distribution part 5a distributes the divided program in such a manner that a storage area with a relatively high specification, for example, having a high processing capability or a high storage capacity, bears a relatively high processing load.The processing distribution part 5a distributes the divided program in such a manner that a memory area with a relatively low specification, for example, having a small processing capability or a small storage capacity, bears a relatively small processing load.

[0017] The electronic control unit 2 is additionally configured to operate as follows with respect to the Fig. 4 to Fig. 6. The processing distribution part 5a performs distributed processing of Fig. 4 as processing related to the invention described above. The memory areas 6 and 8 to 10 carry out the execution processing of the Fig. 5 as processing related to the present invention. (1) Distributed processing of shared programs

[0018] The processing distribution part 5a checks in step A1 whether the predetermined processing has acquired the necessary subject data from the external side. If the processing distribution part 5a determines that the predetermined processing has acquired the necessary subject data from the external side (step A1: YES), the processing distribution part 5a refers to the control table 5b in step A2 and transfers the corresponding divided program to the corresponding storage area in step A3. Fig. 2 and Fig. 3, the processing distribution part 5a transfers the divided programs of processing 1-1 and 2-1 to the second storage area 8, the divided programs of processing 1-2, 2-2, and 2-3 to the third storage area 9, and the divided programs of processing 1-3, 2-4, and 2-5 to the fourth storage area 10. If the second to fourth storage areas 8 to 10 are configured to have normal areas in which data is erased and written when data read-out processing and data write-out processing are performed, and dedicated areas in which data is not erased or written when data read-out processing and data write-out processing are performed, the processing distribution part 5a writes the corresponding program to the dedicated area and transfers the divided program to the storage area.

[0019] The processing distribution part 5a checks at step A4 whether transmission of all divided programs has been completed. If the processing distribution part 5a determines that the transmission of all divided programs has not been completed (step A4: NO), step A3 is executed again. If the processing distribution part 5a determines that the transmission of all divided programs has been completed (step A4: YES), the processing distribution part 5a transmits corresponding destination information to corresponding storage areas at step A5. The destination information is information indicating a transmission destination of the subject data at which a portion of the predetermined processing has been performed. In the example of Fig. 2 and Fig. 3, the processing distribution part 5a transmits the destination information indicating that the subject data of the second storage area 8 is that of the third storage area 9. The processing distribution part 5a additionally transmits the destination information indicating that the subject data of the third storage area 9 is that of the fourth storage area 10. In this case, the processing distribution part 5a writes the corresponding destination information into the dedicated area and transmits the destination information to the storage area in a manner similar to writing the corresponding divided program into the dedicated area.

[0020] The processing distribution part 5a checks at step A6 whether transmission of all destination information has been completed. If the processing distribution part 5a determines that transmission of all destination information has not been completed (step A6: NO), step A5 is executed again. If the processing distribution part 5a determines that transmission of all destination information has been completed (step A6: YES), the processing distribution part 5a refers to the control table 5b and transmits the subject data received from the external side to the corresponding storage area at step A7. Fig. 2 and Fig. 3, since the first storage area 6 built in the electronic control unit 2 is not included as the transmission destination of the divided program, the processing distribution part 5a transmits the subject data received from the external side to the second storage area 8 which is the first transmission destination without transmitting it to the first storage area 6. (2) Execution processing of shared programs

[0021] Each storage area 6 and 8 to 10 checks whether the shared program and destination information have been transmitted from the processing distribution part 5a at step B1. If each storage area 6 and 8 to 10 determines that the shared program and destination information have been transmitted from the processing distribution part 5a (step B1: YES), it stores the transmitted shared program and destination information at step B2 and outputs an affirmative response (YES) indicating that the shared program and destination information have been transmitted to the processing distribution part 5a at step B3. Each storage area 6 and 8 to 10 stores the shared program and destination information by writing the transmitted shared program and destination information into the dedicated area.

[0022] Each storage area 6 and 8 to 10 checks at step B4 whether the subject data has been transferred from the previous stage. If each storage area 6 and 8 to 10 determines that the subject data has been transferred from the previous stage (step B4: YES), each storage area 6 and 8 to 10 checks at step B5 whether the accompanying data has also been transferred along with the subject data. If each storage area 6 and 8 to 10 determines that the accompanying data has been transferred (step B5: YES), each storage area 6 and 8 to 10 checks at step B6 whether the control number of the divided program transferred from the processing distribution part 5a matches the accompanying data transferred from the previous stage.When each storage area 6 and 8 to 10 determines that the control number of the divided program and the accompanying data match (step B6: YES), each storage area 6 and 8 to 10 executes processing that is a part of predetermined processing for the subject data transferred from the previous stage at step B7, and checks whether it is the last storage area at step B8.

[0023] If each storage area 6 and 8 to 10 determines that it is not the last storage area (step B8: NO), each storage area 6 and 8 to 10 generates accompanying data at step B9, transfers the processed subject data and the accompanying data to the corresponding storage area at step B10, and outputs the confirmatory response indicating that the subject data has been processed to the processing distribution part 5a corresponding to a predetermined destination of the notification at step B11. The accompanying data is data indicating a progress state of the predetermined processing. As shown in (a) of Fig. 6, each storage area 6 and 8 to 10 transfers the accompanying data to the corresponding storage area in a manner as if it were contained in existing data such as CRC and the like provided in advance by the subject data. Additionally, as defined in (b) of Fig. As shown in Figure 6, each memory area 6 and 8 to 10 stores the accompanying data with the control number of the divided program executed by itself, and defines the control number hierarchically.

[0024] Each storage area 6 and 8 to 10 deletes the stored shared program and destination information at step B12 after outputting the confirmatory response to the processing distribution part 5a. If each storage area 6 and 8 to 10 determines that it is the last storage area (step B8: YES), each storage area 6 and 8 to 10 stores the processed subject data at step B13 and outputs a confirmatory response indicating that processing for the subject data has been performed to the processing distribution part 5a at step B11. Also in this case, each storage area 6 and 8 to 10 deletes the stored shared program and destination information at step B12 after outputting the confirmatory response to the processing distribution part 5a.

[0025] If each storage area 6 and 8 to 10 determines that the control number of the divided program and the accompanying data do not match (step B6: NO), it outputs the subject data transmitted from the previous stage at step B14. Thus, each storage area 6 and 8 to 10 outputs a negative response (NO) indicating that the subject data has not been processed to the processing distribution part 5a at step B15 without executing the processing for the subject data transmitted from the previous stage. Each storage area 6 and 8 to 10 deletes the stored divided program and destination information at step B12 after outputting the negative response to the processing distribution part 5a.

[0026] In the Fig. 2 and Fig. In the example shown in Figure 3, the storage areas 6 and 8 to 10 perform the following processing. The first storage area 6 is not designated as an execution area for any of the divided programs in the control table 5b. For this reason, the storage area 6 determines that the divided program and the destination information have not been transferred from the processing distribution part 5a.

[0027] The second storage area 8 is designated as the execution area for the divided programs of processing 1-1 of the security processing and processing 2-1 of the additional processing in the control table 5b. For this reason, the storage area 8 determines that the divided programs and the destination information have been transferred from the processing distribution part 5a. In this case, the storage area 8 determines that the divided programs of processing 1-1 and 2-1 have been transferred from the processing distribution part 5a, and the third storage area 9 has been transferred as the destination information. The storage area 8 thus stores the divided programs and the destination information.

[0028] If the storage area 8 determines that the subject data has not been transmitted from the previous stage, the storage area 8 determines that the accompanying data has not been received from the previous stage. Since the accompanying data has not been transmitted from the previous stage, the storage area 8 does not check the correspondence between the control number of the divided program and the accompanying data. The storage area 8 fetches and executes the divided programs of processing 1-1 of the security processing and processing 2-1 of the additional processing, thereby performing part of the security processing and part of the additional processing for the subject data.When the storage area 8 completes the execution of the processing for the subject data, the storage area 8, which is not referred to as the last storage area, generates accompanying data indicating completion of the execution and transfers the subject data and the accompanying data to the third storage area 9. In this case, the storage area 8 transfers the accompanying data indicating completion of the execution of the processing 1-1 and 2-1 to the third storage area 9.

[0029] The storage area 9 is designated as the execution area for the divided programs of processing 1-2 of the security processing and processing 2-2 and 2-3 of the additional processing processing in the control table 5b. For this reason, the storage area 9 determines that the divided programs and the destination information have been transferred from the processing distribution part 5a. In this case, the storage area 9 determines that the divided programs of processing 1-2, 2-2, and 2-3 have been transferred, and the fourth storage area 10 stores the destination information transferred from the processing distribution part 5a, and stores the divided programs and the destination information.

[0030] When the storage area 9 determines that the subject data has been transferred from the previous stage, it determines that the accompanying data has been transferred from the previous stage. Since the accompanying data has been transferred from the previous stage, the storage area 9 checks the consistency between the control number of the divided program and the accompanying data. The accompanying data indicates the completion of the execution of processing 1-1 and 2-1. The control numbers of the divided programs are processing 1-2, 2-2, and 2-3. The control number of the divided program and the accompanying data satisfy continuity. For this reason, the storage area 9 determines that a check result of the verification is positive.With the positive check result of the verification, the storage area 9 fetches and executes the split programs of processing 1-2 of the security processing and processing 2-2 and 2-3 of the additional processing, thereby performing part of the security processing and part of the additional processing for the subject data. When the storage area 9 completes the execution of the processing for the subject data, the storage area 9, which is not referred to as the last storage area, generates accompanying data indicating completion of execution and transfers the subject data and accompanying data to the fourth storage area 10. In this case, the storage area 9 transfers the accompanying data indicating completion of the execution of processing 1-2, 2-2, and 2-3 to the fourth storage area 10.

[0031] The fourth storage area 10 is designated as the execution area of ​​the divided programs for processing 1-3 of the security processing and processing 2-4 and 2-5 of the additional processing processing in the control table 5b. For this reason, the storage area 10 determines that the divided programs and the destination information have been transmitted from the processing distribution part 5a. In this case, the storage area 10 determines that the divided programs of processing 1-3, 2-4, and 2-5 have been transmitted from the processing distribution part 5a, but determines that the destination information has not been transmitted. The storage area 10 thus stores the divided programs.

[0032] When the storage area 10 determines that the subject data has been transferred from the previous stage, the storage area 10 determines that the accompanying data has been transferred from the previous stage. Since the accompanying data has been transferred from the previous stage, the storage area 10 checks for consistency between the control number of the divided program and the accompanying data.

[0033] The accompanying data indicates the completion of the execution of processing 1-2, 2-2, and 2-3. The control numbers of the split programs are processing 1-3, 2-4, and 2-5. The control number of the split program and the accompanying data satisfy continuity. For this reason, the storage area 10 determines that a check result of the verification is positive. With the positive check result of the verification, the storage area 10 fetches and executes the split programs of processing 1-3 of the security processing and processing 2-4 and 2-5 of the additional processing, thereby performing part of the security processing and part of the additional processing for the subject data. When the storage area 10 completes the execution of the processing on the subject data, the storage area 10, which is called the final storage area, stores the subject data.

[0034] The processing distribution section 5a thus distributes the divided programs to the second to fourth storage areas 8 to 10, and the second to fourth storage areas 8 to 10 execute the respective divided programs. As a result, the security processing and the additional processing for the subject data are completed.

[0035] As described above, the first embodiment offers the following advantages.

[0036] In the electronic control unit 2, the divided programs provided by program division, which are required to perform the predetermined processing for the subject data, are distributed to the second to fourth storage areas 8 to 10. The divided programs are executed in the storage areas 8 to 10, thereby executing parts of the respective predetermined processing and completing the predetermined processing. As a result, the processing load required to complete the predetermined processing is averaged among a plurality of storage areas 8 to 10 without being concentrated in specific storage areas, so that the data volume to be processed is not limited.In addition, it is possible to eliminate the need to select memory areas capable of high-speed processing, to eliminate the need to increase models of memory areas, and to eliminate an increase in costs caused by an increased number of models of memory areas.

[0037] In the electronic control unit 2, the divided programs are distributed among a plurality of memory areas 8 to 10 by referring to the execution priority of the divided programs stored in the control table 5b. For example, even if the destination of the divided program is changed due to the addition or removal of memory areas, it is only necessary to change the contents of the control table 5b to flexibly accommodate design changes and the like.

[0038] In the electronic control unit 2, the divided programs are distributed according to the characteristics of the control part 6a and the storage part 6b of the first memory area 6, as well as the characteristics of the control parts 8a to 10a and the storage parts 8b to 10b of the second to fourth memory areas 8 to 10. Thus, it is possible to distribute the divided programs in the most optimal manner according to the characteristics of the memory areas used.

[0039] In the electronic control unit 2, the shared programs and destination information are written into the respective dedicated areas of the memory areas 8 to 10 to transfer the shared programs and destination information. Thus, it is possible to protect the shared programs and destination information from being lost by overwriting unnecessary data that is irrelevant to the shared programs and destination information, thereby ensuring the shared programs and destination information.

[0040] In each of the second to fourth memory areas 8 to 10, the split program is retrieved and executed to perform the safety processing part and the additional processing part. Thus, the split programs can be executed by the control parts 8a to 10a accordingly.

[0041] In each of the second to fourth storage areas 8 to 10, the subject data is transferred to the storage area of ​​the subsequent stage. By transferring the subject data in sequence to the storage area of ​​the subsequent stage, it is thus possible to complete the security processing and the additional processing.

[0042] In each of the second to fourth memory areas 8 to 10, the split program is deleted after it has been executed in each memory area. If the split program is not deleted, the remaining split program is likely to execute erroneously and produce unexpected results. However, it is possible to avoid such unexpected results by deleting the split programs.

[0043] In each of the second to fourth storage areas 8 to 10, the accompanying data indicating the progress status of the security processing and the additional processing on the subject data are transferred along with the subject data to the storage areas of the subsequent stage. Thus, it is possible to confirm the processing that needs to be performed automatically by referring to the transferred accompanying data.

[0044] In each of the second to fourth storage areas 8 to 10, the accompanying data is included in the existing data already designated for the subject data and transferred to the storage area of ​​the subsequent stage. Thus, it is possible to eliminate the need for dedicated transfer of only the accompanying data. As a result, it is possible to reduce the total data volume transferred throughout the entire data processing system 1 and reduce the processing time.

[0045] In each of the second to fourth memory areas 8 to 10, the accompanying data is defined by the control number of the shared program that has been executed by itself. Thus, it is possible to confirm the processing to be executed by itself with reference to the control number. The control number is defined hierarchically. This makes it possible to increase the level of freedom in the distribution of shared programs and easily control the distribution.

[0046] In each of the second to fourth memory areas 8 to 10, it is checked whether the accompanying data and the control number of the split program distributed to itself match. If the check result is positive, that is, the match is confirmed, the split program is executed. If the check result is negative, the split program is not executed. This makes it possible to prevent erroneous execution of the split program that should not have been executed, thereby increasing reliability. (Second embodiment)

[0047] A second embodiment of the present invention will be described below with reference to the Fig. 7 and Fig. 8. The second embodiment will be described only in terms of differences from the previously described first embodiment for the sake of simplicity of description. Unlike the first embodiment in which the divided programs are distributed to the second to fourth memory areas 8 to 10 excluding the first memory area 6 incorporated in the electronic control unit 2, the divided programs are distributed to the first memory area 6 and the second to fourth memory areas 8 to 10, that is, all memory areas including the first memory area 6 incorporated in the electronic control unit 2.

[0048] The processing distribution part 5a transfers, by referring to the control table 5b, the divided programs for processing 1-1 and 2-1 to the first storage area 6, the divided programs for processing 1-2 and 2-2 to the second storage area 8, the divided programs for processing 1-3 and 2-3 to the storage area 9, and the divided programs for processing 2-4 and 2-5 to the fourth storage area 10. The processing distribution part 5a can distribute the divided programs of the security processing and the additional processing in an arbitrary manner according to the characteristics of the control part 6a and the storage part 6b of the first storage area 6 that are built in, as well as the characteristics of the control parts 8a to 10a and the storage parts 8b to 10b of the second to fourth storage areas 8 to 10.The security processing and the additional editing processing for the subject data are completed by distributing the divided programs to the first storage area 6 and the second to fourth storage areas 8 to 10 by the processing distribution part 5a and executing the divided programs by the first storage area 6 and the second to fourth storage areas 8 to 10. The second embodiment also provides similar operations and advantages to the first embodiment. (Third embodiment)

[0049] A third embodiment of the present invention will be described below with reference to the Fig. 9. The third embodiment will be described only with respect to differences from the previously described first embodiment for the sake of simplicity of description. Unlike the first embodiment, in which the first memory area 6 is incorporated into the electronic control unit 2, the first memory area 6 is provided outside the electronic control unit and is externally connected in the third embodiment.

[0050] That is, a data processing system 21 includes an electronic control unit 22 and the electronic control unit 3, which are connected via the vehicle-side network 4. The electronic control unit 22 includes a microcomputer 23 and a first storage area 24 as a first storage device provided outside the electronic control unit 22. The first storage area 24 is the same as the first storage area 6 provided in the first embodiment. The first storage area 24 includes a control part 24a and a NAND-type storage part 24b, and stores programs required to perform predetermined processing for the subject data input from the external side of the electronic control unit 22. The third embodiment also provides similar operations and advantages to the first embodiment. (Another embodiment)

[0051] The present invention is not intended to be limited to the embodiments described above, but can be modified in many ways. The storage areas are not intended to be limited to the storage areas 8 to 10 connected to the vehicle-side network 4, but may be storage areas of a server connected to the electronic control unit 2, for example, via a wide area network. The server may be a physical server that actually exists or a virtual server (i.e., cloud server) that actually does not exist. The storage areas connected to the vehicle-side network 4 and the storage areas of the server can be combined in any way. The execution order of the shared programs can be controlled in any way.

[0052] The predetermined processing performed on the subject data should not be limited to the security processing and the additional processing, but other processing other than the security processing and the additional processing may also be performed on the subject data. The accompanying data should not be limited to being defined by the control number of the divided program that is executed by itself, but may be defined by the control number of the divided program that is executed by the storage area of ​​the subsequent stage. That is, although the accompanying data transferred from the second storage area 8 to the third storage area 9 completes the execution of the processing 1-1 and 2-1 in the example of Fig.3, the accompanying data transferred from the second memory area 8 to the third memory area 9 may indicate the start of execution of processing 1-2, 2-2, and 2-3. In this case, the third memory area 9 checks the matching by checking whether the control number of the divided program and the accompanying data match.

Claims

[1] Data processing system with: several memory areas (6, 8 to 10, 24); and a processing distribution part (5a, 23a) configured to distribute divided programs, which are respective parts of a program required to perform predetermined processing of data to be processed, to the respective plurality of storage areas (6, 8 to 10, 24), wherein the data to be processed is defined as subject data, and to cause each of the storage areas to perform a part of the predetermined processing for the subject data by executing the respective divided program, thereby completing the predetermined processing, wherein each of the storage areas (6, 8 to 10, 24) transmits, together with the subject data, accompanying data indicating a progress state of the predetermined processing for the subject data to the storage area of ​​the subsequent stage; each of the storage areas (6, 8 to 10, 24) defines the accompanying data by a control number of the divided program which is executed by itself or by a control number of the divided program which is executed by the storage area of ​​the subsequent stage; each of the memory areas (6, 8 to 10, 24) checks whether the accompanying data transferred from the memory area of ​​a previous stage and the control number of the divided program distributed to itself match; each of the memory areas (6, 8 to 10, 24) executes the divided program and notifies a predetermined destination of the execution of the divided program when a check result indicates that the accompanying data and the control number match; and the memory areas (6, 8 to 10, 24) do not execute the divided program and notify the predetermined destination of non-execution of the divided program when the check result indicates that the accompanying data and the control number do not match. [2] A data processing system according to claim 1, wherein: each of the storage areas (6, 8 to 10, 24) retrieves and executes the divided program distributed to itself to thereby perform the part of the predetermined processing for the subject data. [3] A data processing system according to claim 1 or 2, wherein: each of the storage areas (6, 8 to 10, 24) executes the divided program distributed to itself and then transfers the subject data to a storage area of ​​a subsequent stage. [4] Data processing system according to one of claims 1 to 3, wherein: each of the memory areas (6, 8 to 10, 24) executes the divided program distributed to itself and then deletes the divided program after executing the divided program. [5] Data processing system according to one of claims 1 to 4, wherein: each of the storage areas (6, 8 to 10, 24) has the accompanying data in existing data predetermined for the subject data, and transfers the accompanying data to the storage area of ​​the subsequent stage. [6] Data processing system according to one of claims 1 to 5, wherein: each of the memory areas (6, 8 to 10, 24) defines the control number hierarchically.

Citation Information

Patent Citations

  • Control device for executing a sequence program, which uses a multi-core processor

    DE102015004034A1

  • parallel computers with distributed, shared memories and distributed, task-enabling circuits.

    DE3751399D1

  • distributed processing system and method.

    DE3751493D1

  • Memory-exclusive control device and method therefor

    DE69826549T2