The present invention relates to a method for updating a program. In addition, the present invention relates to a corresponding device, a corresponding computer program, and a corresponding memory medium.
A non-volatile electronic memory component whose content is able to be electrically erased is known to one skilled in the art as an electrically erasable programmable read-only memory (EEPROM). Within the scope of the following statements, the term “EEPROM” is used in a broad sense of the word and in addition to conventional EEPROMs, also encompasses the more recent so-called flash memories, which are erasable block by block. To allow for a non-volatile storage at a low energy consumption, these flash EEPROM memories are predominantly used in vehicle electronics according to the related art, where the information stored in individual memory cells is stored in the form of electrical charges on a floating gate or in a charge-trapping memory element of a metal insulator semiconductor field-effect transistor (MISFET). In this case, the memory cells are basically disposed as a matrix in what is known as a cell array, and via a coordinate, the address lines are used for selecting a column or line of memory cells, and in the other coordinate, data lines lead to the memory cells.
In an effort to increase the storage density, multi-level cells (MLC) in which more than one bit per line is stored are sometimes used in this context. To make this possible, the charge quantity stored in a memory cell is dosed more finely and is also evaluated more precisely during the readout in order to be able to distinguish more than two possible states and to store more than one bit. In comparison with a single-level cell (SLC), this has the disadvantage of a reduced read and write speed. An MLC also reacts with considerably greater sensitivity to possible charge losses.
In DE 102014223035 A1, a method is introduced for transmitting data within a computer system between a memory interface of a volatile memory, a memory interface, in particular an MLC-NAND memory, and an interface of a microcontroller, the method including the reading in of data from the memory interface of the MLC-NAND memory at the start of a booting process of the microcontroller and the provision of the read-in data to the memory interface of the volatile memory.
The present invention introduces a method for updating a program, a corresponding device, a corresponding computer program, and a corresponding memory medium.
The approach according to the present invention is based on the recognition that, due to the high cost of an update of the software (SW) of electronic vehicle systems requiring a workshop visit, the program or system images including the commands and data are increasingly modified over the air interface (over the air, OTA). There are different possibilities for executing such an update, but each of them has different advantages and disadvantages.
One conventional method is based on holding two system images in readiness. In the case of an engine control, for example, the engine operation is maintained using one system image, while a new system image is installed on the respective control unit (electronic control unit ECU). During the next start of the engine, the control unit is able to be operated on the basis of the new system image.
In order to support this conventional method, twice as much memory space as in a control unit without an OTA capability is required since both system images must be accommodated in the non-volatile memory (NVM) at the same time. This has the disadvantage of high unit costs during the production of corresponding control units, regardless of whether the vehicle manufacturer or the original equipment manufacturer (OEM) ultimately utilizes their OTA-capability.
It is therefore provided to use memory cells as MLCs, i.e., at least in a two-level form, for the duration of the storing of two system images for updating purposes. One advantage of this method is its reduced memory cell requirement in comparison with conventional methods. Instead, only a fraction of the additional memory capacity is required by utilizing the MLC technology.
According to an example embodiment of the present invention, a method is used within the scope of OTA updates in a vehicle control unit on the basis of a microcontroller (μC). In this way, a decision is able to be made in the application as to whether to use a μC offering more flash memory in the conventional manner, entailing a corresponding cost disadvantage, or to instead accept a reduced system performance in the interim in order to have the two memory images available for an OTA in the NVM.
Example embodiments of the present invention are illustrated in the figures and discussed in greater detail in the following description.
As illustrated in
Then, the MLC block is able to be superimposed again in the above sense at the original address 14 while remaining in the multi-level mode, so that the first image can continue to be executed as in
In this final state 16, the first or second image of the program can optionally be executed. Once the functional capability of the second image 17 has been ensured—for instance in conjunction with different control units of a vehicle updated in this manner—the blocks can also be sequentially reset to the single level mode according to the reverse method in an effort to maximize the reliability of the program in a continuous operation.
For example, this method 10 can be implemented in software or hardware or in a mixed form of software and hardware, e.g., in a control unit 20, as illustrated by the schematic representation of
Number | Date | Country | Kind |
---|---|---|---|
10 2017 205 274.0 | Mar 2017 | DE | national |
The present application is the national stage of International Pat. App. No. PCT/EP2018/055466 filed Mar. 6, 2018, and claims priority under 35 U.S.C. § 119 to DE 10 2017 205 274.0, filed in the Federal Republic of Germany on Mar. 29, 2017, the content of each of which are incorporated herein by reference in their entireties.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2018/055466 | 3/6/2018 | WO | 00 |