On-vehicle computer

By switching between foreground and background applications and compressing temporary data of background applications when RAM is insufficient, the on-vehicle computer reduces processing load and prevents performance deterioration.

JP2025040618AActive Publication Date: 2025-03-25TOYOTA JIDOSHA KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023147534
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-12
Publication Date
2025-03-25
Estimated Expiration
2043-09-12

AI Technical Summary

Technical Problem

In-vehicle computers with RAM and ROMs face memory insufficiency issues while running applications, leading to increased processing load due to data compression and deployment.

Method used

The on-vehicle computer employs an execution device and a storage device with RAM, which switches between foreground and background applications, compressing temporary data of background applications when RAM capacity is insufficient to reduce processing load.

Benefits of technology

This approach reduces the frequency of temporary data compression and deployment, thereby preventing performance deterioration in on-vehicle computers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025040618000001_ABST
    Figure 2025040618000001_ABST
Patent Text Reader

Abstract

To provide an on-vehicle computer that compresses only temporary data of an application other than that is enabled and running when a RAM memory is insufficient.SOLUTION: An on-vehicle computer 100 includes an execution unit 110 and a storage unit 120 including a RAM 130. The storage unit 120 stores a plurality of application programs that the execution unit 110 executes. The RAM 130 stores temporary data for the application. When the execution device 110 determines that the capacity of the RAM 130 is insufficient, the temporary data of the application stored in the RAM 130 is compressed. At this time, the execution unit 110 compresses only the temporary data of applications other than the application that the execution unit 110 is enabling and executing.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an on-board computer. [Background technology]

[0002] Patent Document 1 discloses a microcomputer system. This microcomputer system is equipped with two types of memory: RAM and ROM. When memory is insufficient, this microcomputer system secures memory capacity by compressing programs. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 5-217005 Summary of the Invention [Problem to be solved by the invention]

[0004] An in-vehicle computer equipped with RAM and ROM may run out of memory while an application is running. When memory is insufficient, data in the RAM is compressed to secure memory. To run the application again, the application data must be expanded in the RAM. Data compression and expansion increases the processing load of the in-vehicle computer.

[0005] There is a demand for an in-vehicle computer that can suppress a decrease in performance due to an increase in the processing load. [Means for solving the problem]

[0006] The means for solving the above problems and their effects will be described below. The in-vehicle computer for solving the above problem includes an execution device and a storage device including a RAM. In the in-vehicle computer, the storage device stores programs of a plurality of applications executed by the execution device. The RAM stores temporary data when the applications are executed. The execution device swaps the foreground application and the background application so that an application that is enabled and executed among the plurality of applications is a foreground application and an application other than the foreground application is a background application, and when it is determined that the capacity of the RAM is insufficient, compresses the temporary data of the background application without compressing the temporary data of the foreground application among the temporary data stored in the RAM. Effect of the Invention

[0007] The on-board computer can suppress the frequency of compressing and decompressing temporary data, thereby suppressing the degradation of the on-board computer's performance. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a schematic diagram showing the configuration of an in-vehicle computer according to an embodiment. [Diagram 2] FIG. 2 is a diagram showing switching between foreground and background applications. [Diagram 3] FIG. 3 is a flow chart showing how data in the RAM is handled when switching between two applications, that is, a foreground application and a background application. [Figure 4] FIG. 4 is a diagram illustrating foreground and background application switching among three applications in a moving vehicle. [Diagram 5]FIG. 5 illustrates foreground and background application switching among three applications when a moving vehicle stops and transitions into reverse. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] An embodiment of the vehicle-mounted computer 100 will be described below with reference to FIGS. <Configuration of the Vehicle-Mounted Computer 100> 1, an on-board computer 100 is mounted on a vehicle 10. The on-board computer 100 includes an execution unit 110 and a storage unit 120. The storage unit 120 includes a RAM 130 and a ROM 140.

[0010] A plurality of application programs are stored in the storage device 120. The execution device 110 is capable of executing the application programs stored in the storage device 120.

[0011] The RAM 130 stores temporary data when the execution unit 110 executes applications. <Compression of Temporary Data of Background Application BG by Execution Unit 110> Of the multiple applications, the application that is enabled and executed by execution device 110 is set as a foreground application FG. Of the multiple applications, applications other than foreground application FG are set as background applications BG.

[0012] The execution device 110 determines whether there is a shortage in the capacity of the RAM 130. When the execution device 110 determines that there is a shortage in the capacity of the RAM 130, it compresses the temporary data of the background application BG stored in the RAM 130.

[0013] <Expansion of Compressed Temporary Data by Execution Unit 110 into RAM 130> When the execution device 110 enables and executes the background application BG whose temporary data has been compressed, the execution device 110 unpacks the compressed temporary data in the RAM 130.

[0014] <Saving of Compressed Temporary Data to ROM 140 by Execution Unit 110> The execution unit 110 moves and saves the temporary data of the application compressed in the RAM 130 to the ROM 140. At this time, the execution unit 110 deletes the temporary data stored in the RAM 130.

[0015] <Switching between foreground applications (FG) and background applications (BG)> FIG. 2 illustrates switching between a foreground application FG and a background application BG executed by execution unit 110.

[0016] The execution unit 110 sets one of the multiple applications that is enabled and being executed as a foreground application FG. On the other hand, the execution unit 110 sets the applications other than the foreground application FG as background applications BG.

[0017] For example, when the execution unit 110 enables and executes the first application APL1, the first application APL1 becomes a foreground application FG among the multiple applications, as shown on the left side of Fig. 2. Next, when the execution unit 110 enables and executes the second application APL2, the second application APL2 among the multiple applications switches to a foreground application FG, as shown on the right side of Fig. 2. Then, the other applications among the multiple applications switch to background applications BG. When the execution unit 110 enables and executes the first application APL1 again, the first application APL1 among the multiple applications switches to a foreground application FG, as shown on the left side of Fig. 2. Then, the other applications among the multiple applications switch to background applications BG.

[0018] FIG. 3 is a flowchart showing the handling of data in the RAM 130 accompanying switching between a foreground application FG and a background application BG between two applications, a first application APL1 and a second application APL2.

[0019] When the execution device 110 executes the first application APL1 as a foreground application FG, as shown on the left side of FIG. 3, in step S100, the execution device 110 loads temporary data of the first application APL1 into the RAM 130 and activates the first application APL1.

[0020] When the temporary data of the first application APL1 is loaded in the RAM 130, in step S110, the execution device 110 executes the first application APL1. In step S110, while executing the first application APL1, the execution device 110 determines whether the memory usage of RAM 130 has exceeded a threshold X. The threshold X is a threshold for determining that the capacity of RAM 130 is insufficient based on the memory usage exceeding the threshold X. The execution device 110 also determines whether a first predetermined time T1 has elapsed since the second application APL2 became a background application BG. If the execution device 110 determines that both conditions are met, in step S120, the execution device 110 compresses the temporary data of the second application APL2 deployed in RAM 130.

[0021] In step S120, the execution unit 110 determines whether the period during which the temporary data of the second application APL2 is compressed continues for a second predetermined time T2. If the execution unit 110 determines that this condition is met, in step S130, the execution unit 110 saves the compressed temporary data of the second application APL2 to ROM 140 and deletes it from RAM 130.

[0022] When a request is made to switch the second application APL2, which is a background application BG, to a foreground application FG, the execution device 110 switches the second application APL2 to the foreground application FG.

[0023] When the execution unit 110 enables and executes the second application APL2 while the processing of step S110 is being performed, the process proceeds to step S210. In step S210, the second application APL2 is executed by the execution unit 110 as a foreground application FG. In this case, the first application APL1 is switched to a background application BG.

[0024] If, during the processing of step S120, execution device 110 activates and executes second application APL2, the process proceeds to step S200. In step S200, execution device 110 expands the compressed temporary data of second application APL2 in RAM 130 and activates second application APL2.

[0025] When the temporary data of the second application APL2 is loaded in the RAM 130, in step S210, the execution device 110 executes the second application APL2. If the execution device 110 activates and executes the second application APL2 after the processing of step S130, the process proceeds to step S200. In step S200, the execution device 110 expands the compressed temporary data of the second application APL2 saved in ROM 140 into RAM 130, and activates the second application APL2.

[0026] When the temporary data of the second application APL2 is loaded in the RAM 130, in step S210, the execution device 110 executes the second application APL2. Next, when the execution device 110 executes the second application APL2 as the foreground application FG, as shown on the right side of FIG. 3, in step S200, the execution device 110 expands temporary data of the second application APL2 in the RAM 130 and enables the second application APL2.

[0027] When the temporary data of the second application APL2 is loaded in the RAM 130, in step S210, the execution device 110 executes the second application APL2. In step S210, while executing second application APL2, execution device 110 determines whether memory usage of RAM 130 exceeds threshold value X. Threshold value X is a threshold for determining that RAM 130 is running short of capacity based on memory usage exceeding threshold value X. In addition, execution device 110 determines whether a first predetermined time T1 has elapsed since first application APL1 became a background application BG. If execution device 110 determines that both conditions are met, in step S220, execution device 110 compresses temporary data of first application APL1 deployed in RAM 130.

[0028] In step S220, execution unit 110 determines whether the period during which the temporary data of first application APL1 is compressed continues for a second predetermined time T2. If execution unit 110 determines that this condition is met, in step S230, execution unit 110 saves the compressed temporary data of first application APL1 to ROM 140 and deletes it from RAM 130.

[0029] When a request is made to switch the first application APL1, which is a background application BG, to a foreground application FG, the execution device 110 switches the first application APL1 to the foreground application FG.

[0030] When the execution unit 110 enables and executes the first application APL1 while performing the process of step S210, the process proceeds to step S110. When the process proceeds to step S110, the first application APL1 is executed by the execution unit 110 as a foreground application FG. In this case, the second application APL2 is switched to a background application BG.

[0031] When execution device 110 activates and executes first application APL1 from the state in which step S220 is being processed, the process proceeds to step S100. In step S100, execution device 110 expands the compressed temporary data of first application APL1 into RAM 130 and activates first application APL1.

[0032] When the temporary data of the first application APL1 is loaded in the RAM 130, in step S110, the execution device 110 executes the first application APL1. If, after the processing of step S230, execution device 110 activates and executes first application APL1, the process proceeds to step S100. In step S100, execution device 110 expands the compressed temporary data of first application APL1 that has been saved in ROM 140 into RAM 130, and activates first application APL1.

[0033] When the temporary data of the first application APL1 is loaded in the RAM 130, in step S110, the execution device 110 executes the first application APL1. <Example of switching between foreground application FG and background application BG in vehicle-mounted computer 100> 4 and 5 show an example of switching between a foreground application FG and a background application BG in an in-vehicle computer 100 in which multiple applications are executed. For example, the multiple applications executed by the execution unit 110 include an application APLa for detecting lanes on a road, an application APLb for displaying a meter, and an application APLc for assisting parking.

[0034] FIG. 4 shows switching between a foreground application FG and a background application BG in a moving vehicle 10. In the example shown in FIGS. 4 and 5, the execution device 110 loads three applications APLa, APLb, and APLc in the RAM 130 and executes them.

[0035] The application APLa is an application that prevents the vehicle 10 from deviating from its lane by detecting white lines on the road. The application APLb is an application that conveys information to the driver of the vehicle 10 by displaying various telltales on an instrument panel or the like. The application APLc is an application that assists in parking the vehicle 10 by, for example, activating a backup camera when backing up.

[0036] 4, while driving, in order to recognize white lines, the execution unit 110 enables and executes the application APLa. As a result, the application APLa becomes a foreground application FG. The other applications, application APLb and application APLc, become background applications BG.

[0037] When the execution unit 110 detects at time t2 that the vehicle has crossed a white line and departed from the lane, the execution unit 110 enables and executes application APLb in order to execute a telltale display. As a result, application APLb becomes a foreground application FG. The other applications, application APLa and application APLc, become background applications BG.

[0038] At time t3, in order to recognize the white lines again, the execution unit 110 enables and executes the application APLa. As a result, the application APLa becomes a foreground application FG. The other applications, application APLb and application APLc, become background applications BG.

[0039] When the execution unit 110 detects that the lane departure has been resolved at time t4, in order to release the telltale display, the execution unit 110 enables and executes the application APLb. As a result, the application APLb becomes the foreground application FG. The other applications, the application APLa and the application APLc, become the background applications BG.

[0040] At time t5, in order to recognize the white lines again, the execution unit 110 enables and executes the application APLa. As a result, the application APLa becomes a foreground application FG. The other applications, application APLb and application APLc, become background applications BG.

[0041] FIG. 5 shows switching between foreground application FG and background application BG when a traveling vehicle 10 stops and starts backing up. In Fig. 5, as in Fig. 4, application APLa is an application that prevents the vehicle 10 from deviating from its lane by detecting white lines on the road. Application APLb is an application that conveys information to the driver of the vehicle 10 by displaying various telltales on an instrument panel or the like. Application APLc is an application that assists in parking the vehicle 10 by, for example, activating a backup camera when backing up the vehicle 10.

[0042] 5, in order to recognize white lines while driving, the execution unit 110 enables and executes the application APLa. As a result, the application APLa becomes a foreground application FG. The other applications, application APLb and application APLc, become background applications BG.

[0043] At time tb, when the vehicle 10 is stopped, the execution unit 110 enables and executes the application APLb in order to execute the shift indicator display. As a result, the application APLb becomes a foreground application FG. The other applications, the application APLa and the application APLc, become background applications BG.

[0044] At time tc, when the vehicle 10 transitions from a stopped state to reverse, the execution unit 110 activates and executes the application APLc in order to activate the rear camera. As a result, APLc becomes a foreground application FG. The other applications, application APLa and application APLb, become background applications BG.

[0045] <Action of this embodiment> In the in-vehicle computer 100, the execution unit 110 executes a desired application program from among a plurality of application programs stored in the storage device 120. When it is determined that the capacity of the RAM 130 is insufficient, the execution unit 110 compresses the temporary data of the applications stored in the RAM 130. At this time, the execution unit 110 does not compress the temporary data of a foreground application FG, which is an application that is enabled and executed among the plurality of applications. The execution unit 110 then compresses the temporary data of a background application BG other than the foreground application FG among the plurality of applications.

[0046] <Effects of this embodiment> (1) The foreground application FG that is being executed is likely to continue to be executed and use the temporary data. In the above-mentioned vehicle-mounted computer 100, the temporary data of the foreground application FG that is being executed is not compressed or expanded. If temporary data that is likely to be used is compressed, the frequency of compression and expansion will increase, and the processing load of the vehicle-mounted computer 100 will increase. In contrast, the above-mentioned vehicle-mounted computer 100 can prevent the frequency of compression and expansion of temporary data from increasing. This can prevent a decrease in performance of the vehicle-mounted computer 100.

[0047] (2) When the execution device 110 determines that the capacity of the RAM 130 is insufficient, it determines whether or not a first predetermined time T1 has elapsed since each background application BG became a background application BG. At this time, for an application for which the first predetermined time T1 has not elapsed since becoming a background application BG, the execution device 110 does not compress the temporary data. On the other hand, for an application for which the first predetermined time T1 has elapsed since becoming a background application BG, the execution device 110 compresses the temporary data. As a result, the temporary data of an application that has temporarily become a background application BG is not compressed or expanded. In other words, for frequently used applications, the temporary data is not compressed or expanded. This can further prevent the frequency of compression and expansion of temporary data from increasing.

[0048] (3) The storage device 120 further includes a ROM 140. The execution device 110 evacuates temporary data that has remained compressed for a second predetermined time T2 from the RAM 130 to the ROM 140. The execution device 110 can delete from the RAM 130 the temporary data of an application that has continued to be a background application BG for a long period of time. This can reduce the amount of RAM 130 used. As a result, the capacity of the RAM 130 can be secured and the frequency with which the execution device 110 compresses and expands temporary data can be reduced.

[0049] (4) When a request is made to switch an application that is a background application BG to a foreground application FG, the execution unit 110 switches the application to the foreground application FG. At this time, if temporary data accompanying the execution of the application is compressed in RAM 130, the execution unit 110 unpacks the temporary data in RAM 130. This allows the execution unit 110 to execute the application that is a background application BG as a foreground application FG.

[0050] <Example of change> This embodiment can be modified as follows: This embodiment and the following modifications can be combined with each other to the extent that there is no technical contradiction.

[0051] When the execution device 110 determines that the capacity of the RAM 130 is insufficient, it compresses only the temporary data of an application that has been a background application BG for which the first predetermined time T1 has elapsed, among the temporary data stored in the RAM 130. Alternatively, the execution device 110 may compress the temporary data regardless of whether the first predetermined time T1 has elapsed since the application became a background application BG.

[0052] The execution device 110 determines whether a first predetermined time T1 has elapsed since each background application BG became a background application BG. The on-board computer 100 may set the first predetermined time T1 individually for each application.

[0053] The execution device 110 saves the temporary data that has remained compressed for the second predetermined time T2 from the RAM 130 to the ROM 140. The execution device 110 does not necessarily have to execute such a process of storing the temporary data in the ROM.

[0054] The execution device 110 determines whether the temporary data of each compressed background application BG has remained compressed for a second predetermined time T2 since it was compressed. The on-board computer 100 may set the second predetermined time T2 for each application. [Explanation of symbols]

[0055] 10...vehicle, 100...on-board computer, 110...execution device, 120...storage device, 130...RAM, 140...ROM

Claims

1. An on-board computer comprising an execution device and a storage device including a RAM, the storage device stores a plurality of application programs to be executed by the execution device; The RAM stores temporary data when the application is executed, The execution device, swapping the foreground application and the background application such that an enabled and running application among the plurality of applications is a foreground application and an application other than the foreground application is a background application; When it is determined that the capacity of the RAM is insufficient, among the temporary data stored in the RAM, the temporary data of the foreground application is not compressed, and the temporary data of the background application is compressed. On-board computer.

2. When it is determined that the capacity of the RAM is insufficient, the execution device compresses only the temporary data of the application that has been the background application for a predetermined time out of the temporary data stored in the RAM. The vehicle-mounted computer according to claim 1 .

3. The storage device further comprises a ROM, The execution device saves the temporary data that has remained compressed for a predetermined time from the RAM to the ROM.

3. The vehicle-mounted computer according to claim 2.

4. When a request is made to switch the background application to the foreground application for the application that is the background application, the execution device switches the requested application to the foreground application and loads the temporary data associated with the execution of the application into the RAM. The vehicle-mounted computer according to claim 1 .

5. The plurality of applications include an application for detecting lanes on a road, an application for displaying a meter, and an application for assisting parking. The vehicle-mounted computer according to claim 1 .

Citation Information

Patent Citations

  • Virtual memory management method and electronic device

    EP4239477A1

  • Memory management method and terminal device

    US20230153246A1

  • Microcomputer system

    JP1993217005A