WO2007025816A2 - Speicheranordnung und betriebsverfahren dafür - Google Patents
Speicheranordnung und betriebsverfahren dafür Download PDFInfo
- Publication number
- WO2007025816A2 WO2007025816A2 PCT/EP2006/064768 EP2006064768W WO2007025816A2 WO 2007025816 A2 WO2007025816 A2 WO 2007025816A2 EP 2006064768 W EP2006064768 W EP 2006064768W WO 2007025816 A2 WO2007025816 A2 WO 2007025816A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data word
- data
- memory
- corrected
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Definitions
- the present invention relates to a memory device having a writable data memory and means for detecting and correcting an error in a data word read from the data memory and an operating method for such a memory device.
- a writable data memory malfunctions can occur, which are expressed in the fact that one or more bits of a stored data word spontaneously change their value. If such a data store is used in a security-relevant application, e.g. in an engine control unit of a motor vehicle or the like. It is imperative to detect such malfunctions and take appropriate countermeasures to avoid dangerous malfunctions. In the simplest case, the countermeasures may be to terminate an application accessing the data store in a predetermined manner upon detection of a failure, so that an erroneous data value is no longer accessed and
- the number of bit errors that can be corrected in a data word or in a block of data words coded together using an error correction code depends on the number of bits of redundant information generated for that data word or block. This means z. For example, if the bit count of the redundant information is sufficient to correct a single bit error in a data word or block, the operability of the application can be maintained only as long as no more than one bit error in the data word concerned or block occurs. Once a second bit error occurs, no correction is possible and the application must be terminated as described above.
- Memory errors tend to occur more often. That is, the probability of occurrence of an error in a memory bit is not the same everywhere, but is particularly high in the environment of an already existing error. To ensure reusability of the memory, even if a large number of bit errors occur close to each other, a large amount of redundant information is needed, which increases the required memory space and consequently the cost of the memory array.
- the present invention provides a method for operating a writable data memory or a memory arrangement having such a data memory, which makes it possible to ensure a high degree of availability of the data memory while keeping the space required for storing redundant information low.
- the advantage is achieved in that, together with a data word, the redundant information associated with this data word is read from the data memory, the redundant information is used to check whether the data word is faulty, and if it is erroneous, the data word is not only corrected, but also to a new address in a free area of the data store. is written. Since a correct version of the data word is thus again present at the new address, any future errors occurring in this address can be corrected in the maximum number possible based on the redundant information.
- the reliability of the data memory is therefore not affected by the occurrence of individual bit errors as long as there is free memory area in which the contents of defective memory cells can be moved. Since, in most cases, the new address will be far from the original address of the misrecognized data word, the likelihood of further bit errors occurring at the new address is less than the original one, further improving security.
- the reading order of the data words in the data store is altered to access the new address for reading the data word. This is particularly necessary if the data word represents a program instruction that must be executed in a predetermined relationship with other instructions.
- At least one data word preceding it in the reading order may be written into the free area of the data memory together with the corrected data word so as to provide a reference at the original memory location of the latter. a jump command to be able to accommodate its new storage space.
- the displacement preferably comprises the copying of a data word from an original adapter. return to a new address, followed by overwriting the original address with another data word after copying. This ensures that at any time each data word is present at least once in the memory.
- the set of data words contains a reference to a data word that has been moved to the free area, ie in the case of program instructions, for. If, for example, a jump instruction is used for this data word, this reference should be determined and adapted to the new address of the data word.
- references to displaced data words in the non-shifted data words and relative references to non-displaced data words in the displaced data words should also be adapted to the shift, in order to continue to execute correctly the program instructions.
- FIG. 1 shows a block diagram of a data processing system according to a first embodiment of the invention
- FIG. 3 illustrates the allocation of the program memory after correction of the error according to a first embodiment of the method
- FIG. 1 shows a motor vehicle control unit as a block diagram. It comprises a processor 101, a flash memory 102, in which instructions of an application program to be executed by the processor 101 are stored, a memory monitoring circuit 103 associated with the flash memory 102, a read-write memory 104 as well various sensors 105 and not shown actuators for detecting or influencing operating parameters of a motor vehicle engine.
- the components 101 to 105 communicate via a common data and address bus 106.
- the width of the data bus may be 16 bits, for example.
- the number of bits of the memory cells of the flash memory is greater, it is here, for example 16 + 3 bits, with a 16-bit data word each containing a processor 1 to be processed by the program statement and the remaining 3 bits z.
- the memory monitoring circuit 103 is connected to an interrupt input 107 of the processor 101 in order to trigger an interrupt of the processor 101 when an error in a data word of the flash memory 102 is detected.
- This high-priority interrupt breaks the application program, and the processor 101 reads the redundant bits to the data word recognized as erroneous, and performs decoding to correct the data word erroneously output from the memory 102, and carries the address at which the erroneous data word was read in a table. Subsequently, the application program is continued on the basis of the corrected data word.
- Program instructions to be executed by the processor 101 in the event of an interrupt issued by the monitoring circuit 103 may be stored in the flash memory 102 as the application program.
- the triggered by the monitoring circuit 103 interrupt is no longer executable, if the error or another error is in the program instructions of this interrupt, alternatively, another read only memory 108 may be provided for the program instructions of the interrupt, which unlike the flash memory 102 does not have to be overwritten by the processor 101 and the probability that a stored bit is erroneous is less than that of the flash memory 102.
- a second interrupt is triggered whose priority is lower than that of the first interrupt and also as the particular time-critical portions of the application program and which causes the processor 1 to correct the contents of the flash memory 2.
- This correction does not have to take place immediately after the error has been detected in the flash memory, since the system continues to run, as described above, correcting the error in each case in real time.
- the processor 1 After the processor 1 has executed the corrected instruction Instr7, it addresses the Instr ⁇ instruction, which in the present example is also assumed to be erroneous. The procedure described above is repeated: the error is corrected during a short-term interruption of the application program on the processor 1, the corrected instruction is executed, and the second interrupt is triggered with which the erroneous instruction is to be corrected later.
- the processor 1 in execution of the second interrupt, writes to the first free memory cell of the memory 102, in the present case the memory cell 11, the instruction Instr ⁇ immediately preceding the instructions of the faulty memory cells 6, 7 corrected instructions Instr7 and Instr ⁇ to the subsequent memory cells 12, 13 and a jump instruction to the following on the defective cells cell 8 in the memory cell 14.
- the instruction Instr ⁇ in cell 5 is overwritten with a jump order to the cell 11.
- the defective memory cells 6, 7 no longer need to be accessed. Also, since the content of these memory cells has been corrected before being transferred to the cells 12, 13, an error occurring in these new cells can be corrected in the same manner as described above if there is enough free space available.
- FIGS. 4 and 5 A second embodiment of the method will be explained with reference to FIGS. 4 and 5.
- the memory cells 6, 7 are defective.
- n 3 memory cells are needed.
- the number n is always greater by 1 than the number of consecutive defective cells because an extra cell is needed to accommodate a jump instruction therein.
- the processor 101 copies the n most recent instructions of the application program including the associated redundant information from the memory cells 8 to 10 into new, previously unoccupied memory cells 11 to 13, and the memory cells previously occupied by these instructions are released for rewriting.
- the released memory cells are respectively overwritten with the contents of the n preceding memory cells, which in turn are enabled.
- FIG. 1 A second embodiment of a data processing system, which offers a further increased reliability compared to the embodiment of FIG. 1, is shown in FIG.
- this data processing system comprises a second processor 111, which is capable of accessing the flash memory via the bus 106 shared with the processor 101 or else via a second, own bus 102 of the processor 101.
- the processor 111 is a second one
- the memory monitoring circuit 103 associated with the flash memory 102 is connected to the processor 101 only to temporarily interrupt it in the event of an erroneous output of the flash memory 102, it triggers an interrupt at the second processor 111 which causes it to decode the erroneously output data word, to pass a corrected data word to the processor 101 and to note the address of the erroneous data word in a list and to trigger a second interrupt which, at a suitable later time, causes the cor- rectification of the memory 102 based on the list in an analogous manner as described above with reference to FIG. 3 or on Fig. 4, 5 described.
- the processor 101 processes interrupts, which trigger a memory monitoring circuit 113 due to an error in the flash memory 112 of the second processor 111. Errors that occur in the instructions of the first interrupt in one of the two memories 102 or 112 can no longer cause the system to crash, since they are corrected by interrupt instructions stored in the other memory.
- the second interrupt may in each case be handled by the same processor 101 or 111, which has also handled the first interrupt. It is also conceivable, however, to have it treated by an external processor connected to the data processing system of FIG. 1 or FIG. 6 via a network connection, a mobile radio connection or the like. communicated.
- Another possible modification is to design the monitoring circuit 103 to perform not only the detection of an error in a data word output from the memory 102, but also its decoding and correction without resorting to the processor 101 associated with the memory 102.
- the temporary interruption of the processor 101 which is required to prevent it from accepting a data word incorrectly output on the bus 106, can take place here in that the monitoring circuit 103 interrupts a clock signal supplied to the processor 101 as long as it requires. in order to correct the instruction erroneously output from the memory 102 and in turn to output it correctly to the bus 106.
- a failure the decoding as a result of an incorrectly stored in the memory 102 interrupt instruction is also excluded here.
- This refinement has the advantage of being able to correct errors not only in an instruction memory but also in a parameter memory.
- the invention is also applicable to other types of data memories.
- memory e.g. a hard disk is used, on which the payload data is stored blockwise together with each block associated redundant information and in the event that based on the redundant information, an error is detected, the affected block is corrected, stored at another location of the hard disk surface and a block which, in the reading order of a file to which the blocks belong, precedes the erroneous block is referenced to the new location of the corrected block.
- the corrected block in turn, may be referenced to a block subsequent to the reading order, so that the blocks may continue to be read in sequence even though they are not recorded locally contiguous on the disc surface.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/989,383 US20090327838A1 (en) | 2005-08-30 | 2006-07-28 | Memory system and operating method for it |
| EP06778041A EP1924916A2 (de) | 2005-08-30 | 2006-07-28 | Speicheranordnung und betriebsverfahren dafür |
| JP2008528446A JP4917604B2 (ja) | 2005-08-30 | 2006-07-28 | 記憶装置構成およびその駆動方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102005040916.4 | 2005-08-30 | ||
| DE102005040916A DE102005040916A1 (de) | 2005-08-30 | 2005-08-30 | Speicheranordnung und Betriebsverfahren dafür |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2007025816A2 true WO2007025816A2 (de) | 2007-03-08 |
| WO2007025816A3 WO2007025816A3 (de) | 2007-05-24 |
Family
ID=37708307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2006/064768 Ceased WO2007025816A2 (de) | 2005-08-30 | 2006-07-28 | Speicheranordnung und betriebsverfahren dafür |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US20090327838A1 (de) |
| EP (1) | EP1924916A2 (de) |
| JP (1) | JP4917604B2 (de) |
| KR (1) | KR20080037060A (de) |
| CN (1) | CN101253485A (de) |
| DE (1) | DE102005040916A1 (de) |
| RU (1) | RU2008111995A (de) |
| WO (1) | WO2007025816A2 (de) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014229216A (ja) * | 2013-05-24 | 2014-12-08 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ES2558744T3 (es) * | 2007-09-14 | 2016-02-08 | Blackberry Limited | Sistema y método para el tiempo de inicio de control de recepción discontinua |
| JP5813450B2 (ja) * | 2011-10-17 | 2015-11-17 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
| CN103514058B (zh) * | 2012-06-29 | 2016-06-15 | 华为技术有限公司 | 一种数据失效的处理方法、设备及系统 |
| FR3025035B1 (fr) * | 2014-08-22 | 2016-09-09 | Jtekt Europe Sas | Calculateur pour vehicule, tel qu’un calculateur de direction assistee, pourvu d’un enregistreur d’evenements integre |
| WO2016143168A1 (en) * | 2015-03-10 | 2016-09-15 | Kabushiki Kaisha Toshiba | Memory device and memory system |
| US9772899B2 (en) * | 2015-05-04 | 2017-09-26 | Texas Instruments Incorporated | Error correction code management of write-once memory codes |
| US11481273B2 (en) | 2020-08-17 | 2022-10-25 | Micron Technology, Inc. | Partitioned memory having error detection capability |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69024086T2 (de) * | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
| JP2830308B2 (ja) * | 1990-02-26 | 1998-12-02 | 日本電気株式会社 | 情報処理装置 |
| US5497457A (en) * | 1994-10-17 | 1996-03-05 | International Business Machines Corporation | Redundant arrays of independent libraries of dismountable media with parity logging |
| JPH08234928A (ja) * | 1995-02-22 | 1996-09-13 | Matsushita Electric Ind Co Ltd | 情報記憶制御装置 |
| JP2002109895A (ja) * | 1996-02-29 | 2002-04-12 | Hitachi Ltd | 半導体記憶装置 |
| JP3565687B2 (ja) * | 1997-08-06 | 2004-09-15 | 沖電気工業株式会社 | 半導体記憶装置およびその制御方法 |
| WO2001022232A1 (en) * | 1999-09-17 | 2001-03-29 | Hitachi, Ltd. | Storage where the number of error corrections is recorded |
| EP1096379B1 (de) * | 1999-11-01 | 2005-12-07 | Koninklijke Philips Electronics N.V. | Datenschaltung mit einem nichtflüchtigen Speicher und mit einer fehlerkorrigierenden Schaltung |
| JP4059472B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
| JP4213053B2 (ja) * | 2004-01-29 | 2009-01-21 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
-
2005
- 2005-08-30 DE DE102005040916A patent/DE102005040916A1/de not_active Withdrawn
-
2006
- 2006-07-28 WO PCT/EP2006/064768 patent/WO2007025816A2/de not_active Ceased
- 2006-07-28 US US11/989,383 patent/US20090327838A1/en not_active Abandoned
- 2006-07-28 EP EP06778041A patent/EP1924916A2/de not_active Withdrawn
- 2006-07-28 JP JP2008528446A patent/JP4917604B2/ja not_active Expired - Fee Related
- 2006-07-28 CN CNA2006800314197A patent/CN101253485A/zh active Pending
- 2006-07-28 RU RU2008111995/09A patent/RU2008111995A/ru not_active Application Discontinuation
- 2006-07-28 KR KR1020087004856A patent/KR20080037060A/ko not_active Ceased
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014229216A (ja) * | 2013-05-24 | 2014-12-08 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20080037060A (ko) | 2008-04-29 |
| CN101253485A (zh) | 2008-08-27 |
| WO2007025816A3 (de) | 2007-05-24 |
| RU2008111995A (ru) | 2009-12-10 |
| DE102005040916A1 (de) | 2007-03-08 |
| JP4917604B2 (ja) | 2012-04-18 |
| EP1924916A2 (de) | 2008-05-28 |
| JP2009506445A (ja) | 2009-02-12 |
| US20090327838A1 (en) | 2009-12-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
| DE4331703C2 (de) | Elektronische Einrichtung | |
| DE19839680B4 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
| EP0046976A2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen | |
| DE2225841B2 (de) | Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers | |
| DE19927657A1 (de) | Partitionierung und Überwachung von softwaregesteuerten Systemen | |
| EP0141160A2 (de) | Schaltungsanordnung zum Registrieren von Adressen von einen fehlerhaften Speicherinhalt aufweisenden Speicherzellen | |
| EP1043641A2 (de) | Fehlersicheres Automatisierungssystem mit Standard-CPU und Verfahren für ein fehlersicheres Automatisierungssystem | |
| EP1588380B1 (de) | Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens | |
| EP1924916A2 (de) | Speicheranordnung und betriebsverfahren dafür | |
| DE102018202446A1 (de) | Verfahren zum Modularisieren einer Softwarearchitektur | |
| EP1611517A2 (de) | Programmgesteuerte einheit | |
| DE68925452T2 (de) | Multiprozessorsystem mit Verwendung von einem Kommunikationsregister mit den Prozessoren zugeordneten Speicherstellen | |
| EP0141161A2 (de) | Schaltungsanordnung zum Erkennen von statischen und dynamischen Fehlern in Schaltungsbaugruppen | |
| DE60128596T2 (de) | Interrupt-steuerung für einen mikroprozessor | |
| EP4266175B1 (de) | Verfahren zum rechnergestützten betreiben einer speichereinheit und ausführen von applikationsprogrammen mit speicherüberprüfung auf speicherfehler | |
| DE10340236B4 (de) | Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher | |
| DE10315638A1 (de) | Programmgesteuerte Einheit | |
| WO2021144271A1 (de) | Verfahren und vorrichtung zum rekonfigurieren eines automatisiert fahrenden fahrzeugs in einem fehlerfall | |
| EP3186709A1 (de) | Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem | |
| EP1246066B1 (de) | Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems | |
| DE10128996B4 (de) | Verfahren und Vorrichtung zur Überwachung von Speicherzellen eines flüchtigen Datenspeichers | |
| EP0556430B1 (de) | Verfahren zur Steuerung eines Peripheriesystems | |
| EP0613077B1 (de) | Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen | |
| EP1246062B1 (de) | Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2006778041 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2008528446 Country of ref document: JP Ref document number: 200680031419.7 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020087004856 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1028/CHENP/2008 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2008111995 Country of ref document: RU |
|
| WWP | Wipo information: published in national office |
Ref document number: 2006778041 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 11989383 Country of ref document: US |