Method for repairing erroneous memory space of memory

By using multitasking technology to repair the storage space without interrupting normal operation when the computing device processes the program for controlling the technical equipment, the problem of difficulty in checking and repairing the storage space at the same time in the prior art is solved, and the operational security and flexibility of the computing device are improved.

CN119889410APending Publication Date: 2025-04-25ROBERT BOSCH GMBH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411480725.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-23
Filing Date
2024-10-23
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

During the implementation of programs from memory by the computing device, it is difficult to simultaneously check and repair the storage space, and a separate operation mode is required, which may interrupt the normal operation of the computing device.

Method used

When the computing device processes the program for controlling the technical equipment, multitasking technology is used to repair the storage space with errors without interrupting normal operation. The specific method is to set the duration of the repair to a fixed time point and flexibly use the available time of the computing device through priority control.

Benefits of technology

It is achieved to improve the operational security of the computing device during control of the technical equipment, ensure the correct function of the memory, and provide greater flexibility to use the available time of the computing device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119889410A_ABST
    Figure CN119889410A_ABST
Patent Text Reader

Abstract

The invention relates to a method for repairing an erroneous storage space of a memory (3) during execution of a program from the memory by a computing device (2), the technical device being controlled by the program, characterized in that when the program is executed, the erroneous storage space of the memory (3) is restored. According to the invention, an address of an erroneous memory space in the memory (3) and a correct value of the erroneous memory space are detected, the program sets a duration for repairing the erroneous memory space, the duration being selected such that the control of the technical device is not hindered, and for the repairing, the memory space is stored in the memory (3). And writing the correct value into the storage space with the error.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention proceeds from a method for repairing faulty memory space of a memory during the execution of a program from the memory by a computing device. The method is carried out simultaneously with the execution of a program from the memory by the computing device for controlling a technical device. Background Art

[0002] A method for identifying faulty storage spaces or storage spaces with deteriorated quality of stored data is known from US 2015 / 0255164 A1. Summary of the invention

[0003] In contrast, the method according to the invention has the advantage that the repair of faulty memory spaces is carried out while the computer is executing a program from the memory for controlling the technical system. It is therefore not necessary to provide a separate operating mode in which the memory spaces are checked and repaired. The method according to the invention can therefore be carried out virtually simultaneously for the user of the computer and without interrupting the normal operation of the computer. The operating safety of the computer can thus be increased during the control of the technical system.

[0004] Additional advantages and improvements are derived from the extended technical solution. By setting a fixed time point for the duration of repair, the correct function of the memory can be fixedly planned. By the priority control of the duration for the repair of the memory, greater flexibility in the use of the computing device for the control of the technical equipment and the repair of the memory is achieved. Therefore, the available time of the computing device can be used flexibly. The identification of the storage space with errors can be performed by means of a code for error identification and the determination of the correct value can be performed by means of a code for error correction. However, more bits must be used accordingly to protect the storage space. Alternatively, some methods that utilize the physical properties of the storage space can be used. However, corresponding hardware must be set for this purpose to analyze and utilize the physical properties of the storage space. If the storage space is originally read out in order to process the program for controlling the technical equipment, the inspection of the storage space is particularly simple. In order to ensure that all areas of the memory are checked, another duration can be set, which is only used to obtain the storage space with errors. Therefore, it can be ensured that all areas of the memory are reliably checked. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] An exemplary embodiment of the invention is shown in the drawings and explained in more detail in the following description. The drawings show:

[0006] Figure 1 shows a computing device and a memory for the method according to the invention,

[0007] Figure 2 A first method showing the allocation in time, and

[0008] Figure 3 A second method of allocating time is shown. DETAILED DESCRIPTION

[0009] exist Figure 1 Schematically, a control unit 1 having a computing device 2 and a memory 3 is shown in FIG. The control unit 1 has a plurality of output and input lines 4, via which the control unit 1 controls external technical devices or reads in sensor signals of external technical devices. Such technical devices may be, for example, a motor vehicle, the functions of which are controlled by the control unit 1.

[0010] A large number of functions are implemented by the control unit 1, seemingly simultaneously. For this purpose, the computing device 2 processes a program stored in the memory 3. At each point in time, the computing device can respectively process only one instruction of the program stored in the memory 3. However, in order to process a large number of tasks, seemingly simultaneously, the program is broken down into individual subroutines and the switching between the different subroutines is so rapid that processing occurs, seemingly simultaneously.

[0011] This form of processing of individual program parts is usually referred to as multitasking. Different functions are implemented by each of these subroutines, which are apparently carried out simultaneously. This means that the controlled technical device must tolerate short periods or durations: during which no new reactions are carried out by the control device 1. As an example of such a period, the control of the engine of a motor vehicle can be considered. Typically, such engines have a speed of 6000 rpm (revolutions per minute), that is, 100 rpm. Therefore, in the case of a four-cylinder engine, 200 combustion processes must be controlled per second, that is, on average one combustion process every 2.5 milliseconds. Between these time points, at which the calculation of the combustion process is carried out, other functions, such as monitoring and diagnosis of the controlled technical device or the control device, can be carried out. Typically, this practice of implementing various different functions by temporarily processing and switching between functions is called multitasking.

[0012] Typically, in Figure 1The memory 3 shown in the figure is implemented by a transistor with a control gate (Gate) on which a charge can be stored. Depending on the stored charge, the switching behavior of the transistor constituting the storage space is affected when a voltage is applied to a selection line or an address line. However, in this way of storing bit values, errors may occur if the stored charge changes. Here, the reliability of the storage depends on the quality of a single insulating layer, which allows a certain loss of charge over time, so that when the storage cell is read out, a deterioration in the value of the bit occurs. Therefore, in order to ensure the reliable function of the control device 1 over a long period of time, it is necessary to regularly check the memory 3 and, if necessary, arrange for repair when an error in the storage cell is identified. The repair consists in rewriting the storage space in such a way that the correct charge is introduced onto the control gate.

[0013] For such repairs, it is first necessary to identify the faulty memory cells. One possibility for identifying faulty memory cells is to use a code for error detection. For example, a particularly simple code for error detection is to set a parity bit for a certain number of bit values. Such simple codes can be used to identify, for example, single bit errors. However, there are other common coding methods that not only detect bit errors, but also correct them. Therefore, by using such coding methods for error detection and error correction on the data in the memory 3, it is possible to identify which bit values ​​in the memory 3 are erroneous and what the correct value is for a bit of a specific storage space.

[0014] Another possibility for identifying a faulty storage space is to check a physical value associated with the stored charge when reading out the storage cell. Typically, a read voltage is applied to the storage cell and checked to see how the storage cell changes the applied voltage. Here, the first voltage value read corresponds to the value of the bit being 0, and the other voltage value read corresponds to the value of the bit being 1. Here, based on the read voltage or the time curve of the voltage, such a region can be identified: in the region, the value of the bit is still unique and clear and therefore reliable, but a degradation of the storage is identified, that is, the amount of reduction of the charge on the control gate. Thus, two different states of the storage space can be distinguished, one of which is classified as reliable and good, and the other as reliable but problematic. This state of "reliable and problematic" can be converted to a state of "reliable and good" by rewriting the storage space. These methods for identifying a storage space that is still correct but slightly deteriorated are called "margin read" methods and enable the identification of slow degradation of storage cells. This type of “edge reading” method is described, for example, in patent application US20150255164A1.

[0015] The identification of faulty memory cells can be realized by the computing device during the processing of the program by various methods. A particularly simple method is based on the fact that during the processing of a normal program for controlling a technical device, the data read in from the memory 3 are continuously checked by the computing device core 2 by means of a code that detects errors and additionally also corrects them. If, for example, a faulty value of a single bit in the memory space is detected, this is corrected by the error-correcting code in such a way that only the corrected data (that is, the data that has been error-free) is used by the computing core 2 for the processing of the control program. In addition, the address of the faulty value and the correct value of the faulty memory space are stored at this point in time. Then, as soon as there is a corresponding time period for repairing the memory space for use, the correct value can be written to the memory cell either immediately or at a later point in time. When using an error-correcting code that can correct a larger number of bit errors, more bit errors can also be detected and corrected accordingly.

[0016] Alternatively, the computing core 2 can continuously check the memory 3, whether a single bit error is found based on the code for error identification or based on the "edge reading" method described above. For this reason, in addition to the planned duration for repair, another duration for finding the storage space with errors is also set. Here, these other durations can also be used as a substitute for the duration for repair, because only when the storage space with errors has been identified previously, the storage space is repaired. These two methods for identifying storage space with errors can also be used together. For the program parts that are regularly processed by the computing device, possible storage spaces with errors are found and repaired by regular processing. For the program parts that are rarely used, another duration can be set so that the storage space for these program parts is also regularly checked and repaired when necessary. The following describes how this type of continuous inspection can be performed without damaging the multi-tasking method for the control of technical equipment that is carried out simultaneously.

[0017] An important contribution to the execution of the method for repairing an erroneous storage space of a memory is that the recognition of the erroneous storage space and the actual repair are separated in time. The actual repair consists in programming a predetermined value into a storage cell, wherein the predetermined value is previously determined as a correct value. However, the recognition of the erroneous storage cell and the storage of the correct value in the storage cell can be separated in time, that is, the recognition and the correction do not have to be carried out in a common method step. This results in that the individual steps are each very short in themselves and therefore do not cause significant delays for the processing of the normal control of the functions of the technical device. In particular, the repair step (that is, writing the storage cell with the predetermined value) can be very short in time and therefore does not cause significant delays when processing the program for controlling the technical device.

[0018] In principle, two different types of multitasking are possible, and in this case in particular multitasking with control of the technical system and restoration of the memory.

[0019] according to Figure 2 A first method for performing multitasking is explained. Figure 2The time axis and the corresponding occupation of the computing core 2 by the subprograms are depicted to the right in FIG. Here, a fixed distribution of the duration or time period for the processing of a single subprogram is assumed. A time period of about 1 ms (that is, between the time points 1.000 and 1.001 seconds) is shown on the time axis. The repair of the storage unit is performed in each whole millisecond, and a duration of 25 μs is set for the repair. That is, the repair of the storage unit is carried out within a duration 21 of 1.000 to 1.000025 seconds. The repair of the storage unit is performed only within this very short duration, which, due to the short time, does not cause any significant delay when processing normal programs for controlling technical equipment. The duration 22 between 1.000025 and 1.001 seconds is completely available for processing normal programs for controlling technical equipment. For example, within this short duration of 25 μs, a writing of a storage unit that was previously obtained as having an error can be carried out with the correct value. Alternatively, within this duration, individual memory cells can also be identified as faulty and the addresses of these faulty memory cells and the correct value of the memory cells can be stored. Since only a very short duration is provided for the repair of the memory, it will take a very long time overall until the complete check and repair of the memory 3 is completed. However, this is not important if the error rate is so low that during the duration for the complete check no multiple errors occur that cannot be corrected with the error-correcting code used or the correct charge level of the individual memory cells can no longer be determined with the “edge reading” method used.

[0020] according to Figure 3Explain a kind of other method for multitasking. Here, it is assumed that different program parts are included in the memory 3, and different priorities are assigned to the different program parts respectively. Here, the individual program parts compete for the computing time of the computing core, wherein the program parts with high priority are implemented relative to the program parts with lower priority. Here, the program parts for controlling technical equipment are assigned high priority, while the program parts for repairing the storage unit with errors are only assigned low priority. At time point 1.000, the program for calculating the control signal necessary for the control of the technical equipment is started, because this program part has the highest priority at time point 1.000. Here, this program part for calculating the control signal necessary for the control of the technical equipment has a high priority and is therefore first processed by the computing core 2 compared with other program parts with low priority. The processing of this program part for controlling the technical equipment 31 lasts until time point 1.0005 seconds, so that the computing core does not calculate any task for controlling the technical equipment between time point 1.0005 and 1.001 seconds. The time window 32 between 1.0005 and 1.001 seconds can then be used for other tasks with a low priority, in particular, a method for repairing a faulty storage unit can be carried out within this duration. For the overall function of the control unit, only the following question is important: how quickly can the process be switched from processing a task with a low priority (repairing a storage unit) to a task with a high priority (controlling a technical device). If this switch is carried out very quickly, the control of the technical device is not hindered. In methods of this type, a distinction is also made between the identification of a faulty storage space and the repair of the storage space. With respect to the identification of a faulty storage space, the actual process of carrying out the identification of the faulty storage space does not have to be terminated. It only has to be ensured that the correct storage space is taken into account again during the next identification.

[0021] When restoring the memory spaces (that is, when writing the individual memory spaces with the correct values ​​of the bits), it is advantageous not to interrupt the actual storage process in order not to leave memory spaces with incomprehensible or unclear values ​​of the stored bits or stored charges. However, since the process can be terminated very quickly, no long delays are associated with high priority for the program for controlling the technical device. Even if the duration is not sufficient to completely program the memory spaces, this is acceptable for the system, since, for example, programming can continue during the subsequent duration for restoring the memory spaces and, in the interim, the technical function can be maintained by the error-correcting code despite the presence of faulty memory locations, since the corrections made by the error-correcting code of the computing unit provide the correct (corrected) content.

Claims

1. A method for repairing faulty storage space of a memory (3) during the execution of a program from the memory (3) by a computing device (2), wherein: The technical device is controlled by the program, characterized in that when the program is executed, the address of the faulty storage space in the memory (3) and the correct value of the faulty storage space are identified, the program sets a duration for repairing the faulty storage space, the duration is selected so that the control of the technical device is not hindered, and for the repair, the faulty storage space is written with the correct value.

2. The method according to claim 1, characterized in that The computing device (2) sets a duration for the repair at a fixed point in time and processes a program for controlling the technical device before and after the fixed duration.

3. The method according to claim 1, characterized in that In the program, different priorities are assigned to different program parts, a program part with a high priority interrupts the processing of a program part with a lower priority by the computing device, and a program part having a duration for repairing the faulty storage space has a lower priority than a program part for controlling the technical device.

4. The method according to claim 1, characterized in that: The memory space contains information which is encoded by means of an error detection and error correction code, with which the faulty memory space and the correct value are identified by evaluation.

5. The method according to claim 1, characterized in that: The storage space is read out using a method which gives the physical properties of the information stored in the storage space, wherein the physical properties are classified as "reliable and good" or "reliable and problematic", and the storage space whose information is classified as "reliable and problematic" is changed to the state of "reliable and good" by re-storing the information in the storage space.

6. The method according to claim 4 or 5, characterized in that: When a program is processed by the computing device from the memory, a faulty memory space is detected.

7. The method according to claim 4 or 5, characterized in that: The program specifies a further time period during which an erroneous memory space is detected.

Citation Information

Patent Citations

  • Read margin measurement in a read-only memory

    US20150255164A1