WO2001022225A1 - Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul - Google Patents

Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul Download PDF

Info

Publication number
WO2001022225A1
WO2001022225A1 PCT/EP2000/008398 EP0008398W WO0122225A1 WO 2001022225 A1 WO2001022225 A1 WO 2001022225A1 EP 0008398 W EP0008398 W EP 0008398W WO 0122225 A1 WO0122225 A1 WO 0122225A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
bit
data
words
crc
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
Application number
PCT/EP2000/008398
Other languages
German (de)
English (en)
French (fr)
Inventor
Wolfgang Fey
Adrian Traskov
Jan Truoel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from DE10018722A external-priority patent/DE10018722A1/de
Application filed by Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to EP00956493A priority Critical patent/EP1222545B1/de
Priority to DE50016020T priority patent/DE50016020D1/de
Priority to US10/088,957 priority patent/US6901552B1/en
Priority to JP2001525526A priority patent/JP2004500623A/ja
Publication of WO2001022225A1 publication Critical patent/WO2001022225A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write

Definitions

  • the invention relates to a method and a circuit arrangement for storing data words in a RAM module, in particular for safety-critical applications.
  • RAM Random Access Memory
  • RAM Random Access Memory
  • the invention is therefore based on the object of providing a method and a circuit arrangement for storing data words in a RAM module, the space requirement of which is considerably smaller, without any restrictions with regard to data security having to be accepted.
  • a method which is characterized by the following steps: generating a check bit word from at least one data word when writing the at least one data word into the RAM module, storing the check bit word, reading out the check bit word when reading out the at least one data word from the RAM module, generating the check bit word again from the at least one read out data word, comparing the read out check bit word with the newly generated one Check bit word and generate an error message if they do not match.
  • the object is further achieved with a circuit arrangement which is characterized by: a first circuit unit for generating a test bit word from at least one data word when writing and reading the at least one data word, a number of registers for the associated storage of test bit words for the data words, as well as a second circuit unit with which the associated check bit word is compared with the check bit word generated by the first circuit unit when reading data words, and for generating an error message if the check bit words do not match.
  • a particular advantage of this solution is that with essentially the same data security as in the fully redundant design mentioned at the outset, the required silicon area and thus also the circuit complexity and the costs are significantly lower.
  • FIG. 1 shows a schematic representation of a first memory architecture
  • FIG. 5 shows a schematic representation of a second memory architecture
  • a RAM module essentially comprises a word-oriented array 10 consisting of a number of 32-bit data word registers 10a,... 10i,... 10x, which are shown arranged in rows one below the other.
  • a 2-bit parity word register 11a, ... lli, ... llx is assigned to each data word register, so that a 2-bit parity array 11 results.
  • a 32 bit parity word register 12 is provided, which in turn is assigned a 2 bit parity word register 13.
  • this arrangement is connected in a known manner to a bus interface unit 14, via which a connection to a CPU bus can be established.
  • the bus interface unit 14 furthermore comprises circuit units for generating and for comparing the parity words during write and read processes, which are shown in FIGS. 2 and 3.
  • the relevant data words are led from a 32 bit data bus 20 to a first circuit unit 21 according to FIG. 2, with which a 2 bit parity word is generated for each data word.
  • the data word is then written into one of the data word registers lOi in the RAM module and the 2 bit parity word into the assigned 2 bit parity word register lli.
  • the addressed data word is first transferred to the first circuit unit 21 according to FIG.
  • the assigned 2-bit parity word is transmitted to a second circuit unit 22.
  • a 2-bit parity word is in turn generated from the read data word, which is transferred to the second circuit unit 22 and compared there with the 2-bit parity word read directly from the RAM module. If these two words do not match, an error signal F is generated or a corresponding error flag is set. If the 2-bit parity words match, the data word read out is transmitted to the data bus 20.
  • each 32 bit data word is composed of a first and a second 16 bit half word HW, whereby a bit B of the 2-bit parity word is generated from each halfword.
  • the 2-bit parity generation can also be replaced by a CRC (cyclic redundancy check) check with a CRC word calculated for each data word according to a polynomial.
  • the memory architecture is chosen so that the width of the stored data words (memory words) is a multiple of the width of the data words on the data bus.
  • the memory word preferably has a width of 128 bits and the CRC word has a width of 9 bits for optimum error security.
  • FIG. 5 shows a corresponding arrangement which is connected to a 32-bit data bus (not shown) via the bus interface unit 14.
  • the RAM module comprises an array 60 from a number of 128 bit memory word registers 60a,... 60x, which are shown arranged in rows one below the other. Each memory word register is assigned a CRC register 61a,... 6lx, each with 9 bits, for example, so that a CRC array 61 results.
  • a unit 70 is connected between the array 60 and the bus interface unit 14, which has a multiplexer 71 for four 32 bit data words and a 128 bit CRC computation register 72 for receiving four 32 bit data words.
  • the unit 70 further comprises a CRC arithmetic unit 73, with which a 9 bit CRC word is calculated from the content of the 128 bit CRC arithmetic register 72 using known arithmetic methods and is temporarily stored in a 9 bit CRC register 74, which in turn is stored on the bus - Interface unit 14 is connected.
  • a CRC arithmetic unit 73 with which a 9 bit CRC word is calculated from the content of the 128 bit CRC arithmetic register 72 using known arithmetic methods and is temporarily stored in a 9 bit CRC register 74, which in turn is stored on the bus - Interface unit 14 is connected.
  • an error check is to be carried out before writing a new 32-bit data word, which can be initiated, for example, by software with certain time intervals, the content of the relevant 128-bit memory word register 60i and the content of the assigned CRC- Register 61i read out.
  • the 9-bit CRC word is then generated from it again with the CRC arithmetic unit 73 and compared with the CRC word read out. If these two CRC words do not match, an error signal F (or a corresponding error flag) is generated.
  • a new 9 bit CRC word is calculated from the new 32 bit data word containing the 32 bit data word, and both are transferred to the corresponding 128 bit memory word register 60i or the assigned 9 Bit CRC register 61i of the RAM module read.
  • the error check can also be carried out if a data word is to be read from the RAM module onto the data bus 20.
  • the content of the memory word register 60i containing the relevant data word is transferred to the CRC arithmetic register 72 and the CRC word is calculated from this again.
  • This CRC word is stored in the associated CRC word register 61i CRC word compared. If the two words do not match, an error message F is generated or a corresponding error flag is set. If both CRC words match, the 32-bit data word read out is transmitted to the data bus 20.
  • the content of the CRC arithmetic register 72 is then fed back into the corresponding 128 bit memory word register 60i.
  • FIG. 6 shows a number of memory word registers 10a, 10b,... LOx, for 32 bit data words and a 32 bit parity word - register 12, a bit with the value 0 or 1 being shown as an example for each position.
  • a column-oriented parity is generated in accordance with FIG. 6, in which a parity bit is determined for the same positions of all data words, which is assigned to an assigned position in the 32-bit parity word Register 12 is registered. This results in a 32 bit parity word. Furthermore, a 2-bit parity word can now be generated for this 32-bit parity word in the same way as described for the word-oriented parity with reference to FIG. 4 and stored in the 2-bit parity word register 13 (see FIG. 1). According to the manner described above, a column-oriented parity check can also be carried out in the embodiment according to FIG. 5 with 128-bit data words.
  • the content of the data word of the memory location to be written in the RAM module ie a 32 bit data word register lOi in the example, and the 32 bit parity word register 12 are read out.
  • the value of the column-oriented 32-bit parity word is then determined again and described.
  • the new data word is then written back into the corresponding data word register 10i and the content of the 32 bit parity word register 12 is newly determined. Subsequently, a 2 bit parity can again be generated for the 32 bit parity word and stored in the 2 bit parity word register 13 (see FIG. 1).
  • An error check is preferably not carried out during a normal read operation.
  • An additional error check can be carried out by reading out the contents of all data word register 10i, for example at the time during a read operation, generating the column-oriented 32 bit parity word again and using the in the parity word stored in the parity word register 12 is compared. If the parity words do not match, an error message F is generated or a corresponding error flag is set. If the parity words match, the read data word is transferred to the data bus 20.
  • the embodiment described here for column-oriented error checking in the entire RAM is expediently not carried out with every write or read operation, but with certain time intervals, whereby the time intervals can be predetermined by the software used. The decision whether this Error checking or not, is preferably done by the software used.
  • the 2 bit parity word of the 32 bit parity word can be used for error checking in the same way as was described with reference to FIGS. 2 to 4 for the 2 bit parity words of the data words.
  • a column-oriented CRC Cyclic Redundancy Check
  • the content of all data word register 10i and the check bit register 12 is first read out and the CRC word is determined again. If this CRC word does not match the stored CRC word, an error message F is generated or a corresponding error flag is set. If both CRC words match, the write or read process is completed in the manner described above for column-oriented parity word generation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
PCT/EP2000/008398 1999-09-22 2000-08-29 Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul Ceased WO2001022225A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP00956493A EP1222545B1 (de) 1999-09-22 2000-08-29 Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE50016020T DE50016020D1 (de) 1999-09-22 2000-08-29 Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
US10/088,957 US6901552B1 (en) 1999-09-22 2000-08-29 System for storing data words in a RAM module
JP2001525526A JP2004500623A (ja) 1999-09-22 2000-08-29 Ramモジュールにデータ語を記憶する方法と回路装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE19945494.9 1999-09-22
DE19945494 1999-09-22
DE10018722A DE10018722A1 (de) 1999-09-22 2000-04-15 Verfahren und Schaltungsanordnung zum Speichern von Datenworten in einem RAM Modul
DE10018722.6 2000-04-15

Publications (1)

Publication Number Publication Date
WO2001022225A1 true WO2001022225A1 (de) 2001-03-29

Family

ID=26005322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2000/008398 Ceased WO2001022225A1 (de) 1999-09-22 2000-08-29 Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul

Country Status (4)

Country Link
US (1) US6901552B1 (https=)
EP (1) EP1222545B1 (https=)
JP (1) JP2004500623A (https=)
WO (1) WO2001022225A1 (https=)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10109449B4 (de) * 2000-08-02 2012-11-08 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanordnung zur Speicherung von Prüfbit-Worten

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148559A1 (en) * 2003-01-23 2004-07-29 Fetzer Eric S. Method and circuit for reducing silent data corruption in storage arrays with no increase in read and write times
DE102005027455A1 (de) * 2005-06-14 2006-12-28 Infineon Technologies Ag Verfahren und Schaltungsanordnung zur Fehlererkennung in einem Datensatz
EP1748374A1 (fr) * 2005-07-08 2007-01-31 STMicroelectronics SA Procédé et dispositif de protection d'une mémoire contre les attaques par injection d'erreur
US7447948B2 (en) * 2005-11-21 2008-11-04 Intel Corporation ECC coding for high speed implementation
US8589737B2 (en) * 2008-06-20 2013-11-19 Freescale Semiconductor, Inc. Memory system with redundant data storage and error correction
US9152511B2 (en) * 2008-06-20 2015-10-06 Freescale Semiconductor, Inc. System for dynamically distributing an available memory resource to redundant and non-redundant storage areas using RAM routing logic
FR3078439A1 (fr) * 2018-02-27 2019-08-30 Stmicroelectronics (Rousset) Sas Procede de gestion du routage de transactions entre des equipements sources, au moins un equipement cible, par exemple une memoire multiports, et systeme sur puce correspondant
EP3683679B1 (en) * 2019-01-15 2026-03-18 ARM Limited Checksum generation
KR102871983B1 (ko) * 2019-12-30 2025-10-16 삼성전자주식회사 안전 민감 데이터의 무결성 점검 장치 및 이를 포함하는 전자 기기
US11694761B2 (en) * 2021-09-17 2023-07-04 Nxp B.V. Method to increase the usable word width of a memory providing an error correction scheme

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3972033A (en) * 1973-12-27 1976-07-27 Honeywell Information Systems Italia Parity check system in a semiconductor memory
US4277844A (en) * 1979-07-26 1981-07-07 Storage Technology Corporation Method of detecting and correcting errors in digital data storage systems
US4710934A (en) * 1985-11-08 1987-12-01 Texas Instruments Incorporated Random access memory with error correction capability

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4384353A (en) 1981-02-19 1983-05-17 Fairchild Camera And Instrument Corp. Method and means for internal error check in a digital memory
JP2642094B2 (ja) * 1985-05-20 1997-08-20 日本電信電話株式会社 半導体記憶装置
DE68926410T2 (de) 1988-06-24 1996-09-12 Nippon Electric Co Mit einer Paritätsteuerungseinheit auf demselben Chip bestückter Mikroprozessor
JPH08115268A (ja) * 1994-10-13 1996-05-07 Toshiba Corp メモリ回路装置
JPH09167120A (ja) * 1995-12-15 1997-06-24 Denso Corp 記憶装置の誤り訂正装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3972033A (en) * 1973-12-27 1976-07-27 Honeywell Information Systems Italia Parity check system in a semiconductor memory
US4277844A (en) * 1979-07-26 1981-07-07 Storage Technology Corporation Method of detecting and correcting errors in digital data storage systems
US4710934A (en) * 1985-11-08 1987-12-01 Texas Instruments Incorporated Random access memory with error correction capability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10109449B4 (de) * 2000-08-02 2012-11-08 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanordnung zur Speicherung von Prüfbit-Worten

Also Published As

Publication number Publication date
EP1222545A1 (de) 2002-07-17
JP2004500623A (ja) 2004-01-08
US6901552B1 (en) 2005-05-31
EP1222545B1 (de) 2010-10-27

Similar Documents

Publication Publication Date Title
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE3586851T2 (de) Fehlerkorrekturverfahren und anordnung fuer chips mit multibitausgabe.
DE102004036888B4 (de) Flashspeichersystem und zugehöriges Datenschreibverfahren
DE2030760C2 (de) Paritätsprüfschaltung für eine Speicherschaltung
DE2132565C3 (de) Umsetzer
DE3111447C2 (https=)
DE69126057T2 (de) Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE3209679A1 (de) Halbleiter-speichereinrichtung
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE69904618T2 (de) Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern
DE3412677A1 (de) Halbleiterspeichervorrichtung mit selbstkorrekturschaltung
DE69715993T2 (de) Cache-Speicher mit Verwendung fehlerhaften Ettikettenspeichers
EP0615211B1 (de) Verfahren zum Speichern sicherheitsrelevanter Daten
DE19725581A1 (de) Anordnung mit Speicherzellen und Verfahren zur Funktionsüberprüfung von Speicherzellen
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE3433679C2 (https=)
EP0453609B1 (de) Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM's auf über einer bestimmten Zahl liegende Bitfehler
DE10018722A1 (de) Verfahren und Schaltungsanordnung zum Speichern von Datenworten in einem RAM Modul
DE2004934B2 (de) Speicheranordnung mit schaltungen zur fehlererkennung und fehlerkorrektur
DE2153116A1 (de) Funktionsueberwachter informationsspeicher, insbesondere integrierter halbleiterspeicher
DE19781328B4 (de) Speichertestgerät

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000956493

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 525526

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 10088957

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2000956493

Country of ref document: EP