KR20080033394A - 적어도 부분적으로 안전-결정적 프로세스들을 제어 및/또는조정하기 위한 마이크로프로세서 시스템 - Google Patents

적어도 부분적으로 안전-결정적 프로세스들을 제어 및/또는조정하기 위한 마이크로프로세서 시스템 Download PDF

Info

Publication number
KR20080033394A
KR20080033394A KR1020087003367A KR20087003367A KR20080033394A KR 20080033394 A KR20080033394 A KR 20080033394A KR 1020087003367 A KR1020087003367 A KR 1020087003367A KR 20087003367 A KR20087003367 A KR 20087003367A KR 20080033394 A KR20080033394 A KR 20080033394A
Authority
KR
South Korea
Prior art keywords
data
bus
memory
test data
full memory
Prior art date
Application number
KR1020087003367A
Other languages
English (en)
Other versions
KR101290865B1 (ko
Inventor
볼프강 페이
안드레아스 키르슈바움
아드리안 트라스코프
Original Assignee
콘티넨탈 테베스 아게 운트 코. 오하게
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
Application filed by 콘티넨탈 테베스 아게 운트 코. 오하게 filed Critical 콘티넨탈 테베스 아게 운트 코. 오하게
Publication of KR20080033394A publication Critical patent/KR20080033394A/ko
Application granted granted Critical
Publication of KR101290865B1 publication Critical patent/KR101290865B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Storage Device Security (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Hardware Redundancy (AREA)

Abstract

적어도 부분적으로 안전-결정적 프로세스들을 제어 또는 조정하기 위한 마이크로프로세서 시스템이 제공된다.
적어도 부분적으로 안전-결정적 프로세스들을 제어 또는 조정하기 위한 마이크로프로세서 시스템 (60) 으로서, 칩 하우징에 통합된 2 개의 중앙 처리 유닛들 (1, 2), 제 1 및 제 2 버스 시스템, 제 1 버스 시스템 상의 적어도 하나의 풀 메모리 (full memory; 7), 제 1 버스 시스템 상의 메모리의 데이터에 연결되는 하나 이상의 테스트 데이터 저장부들의 테스트 데이터를 포함하고, 테스트 데이터 저장부는 풀 메모리보다 더 작고, 버스 시스템들은 2 개의 버스 시스템들 사이에 데이터 교환 및/또는 데이터의 비교를 허용하는 비교부 및/또는 구동기 구성요소들을 포함하며, 테스트 데이터 저장부(들)는 상기 제 1 버스 시스템 상에 배치되고, 제 2 버스 시스템은 제 1 버스 상의 메모리의 데이터를 백업하는데 이용되는 테스트 데이터 저장부 및 메모리를 갖지 않는다. 본 발명은 또한, 자동차 제어기들에 상기 마이크로프로세서 시스템의 이용에 관한 것이다.
마이크로프로세서 시스템, 안전-결정적 프로세스, 자동차 제어기, 테스트 데이터

Description

적어도 부분적으로 안전-결정적 프로세스들을 제어 및/또는 조정하기 위한 마이크로프로세서 시스템{MICROPROCESSOR SYSTEM FOR CONTROLLING AND/OR REGULATING AT LEAST PARTLY SECURITY-CRITICAL PROCESSES}
본 발명은 청구항 제 1 항에 따른 마이크로프로세서 시스템과 그것의 자동차 제어기에의 이용에 관한 것이다.
DE 195 29 434 A1 (P 7959) 는 청구항 제 1 항의 전제특징부에 따른 안전-결정적 애플리케이션들을 위한 마이크로프로세서 시스템을 개시한다. 중복성 (redundancy) 의 이유로 인해, 이러한 마이크로프로세서 시스템은 클럭 동기로 병렬적으로 동일 프로그램을 실행하는 2 개의 동종의 마이크로프로세서 코어들을 포함한다 (코어 중복성 (core redundancy)). 마이크로프로세서 시스템들과 연관된 버스 시스템들도 마찬가지로 중복으로 제공되지만, 비용 문제로 인해 메모리는 완전히 대칭적 설계이지 않다. 2 개의 버스 시스템들 중 하나가 비교적 낮은 저장 용량의 테스트 데이터 저장부에 풀 메모리 (full memory) 의 풀 데이터 (full data) 와 분명하게 연관된 테스트 데이터만을 저장한다면, 높은 에러 인식율이 달성될 수 있다는 것이 발견되었다. 양 코어들 각각이 중복적인 형태로 이용가능한 모든 데이터를 갖기 때문에 풀 데이터가 하드웨어 생성기를 이용하여 테스트 데이터와 계속하여 비교된다. 하드웨어 생성기는 테스트 데이터를 생성하거나 또 는 풀 데이터를 이용하여 비교용 테스트 데이터를 보완 (데이터 에러 정정) 할 수 있다.
본 발명의 목적은, 풀 메모리 및, 그 풀 메모리에 저장된 원래의 데이터와 연관된 중복 정보를 저장하기 위한 비교적 작은 사이즈의 테스트 데이터 저장부를 마찬가지로 포함하는 대안적 2-코어 마이크로프로세서 시스템으로서, 대응하는 2-코어 마이크로프로세서 시스템들에 비해 증가된 에러 인식율을 갖는 2-코어 마이크로프로세서 시스템을 기술하는데 있다.
본 발명은 청구항 제 1 항에 따른 마이크로프로세서 시스템을 통해 이러한 목적을 달성한다.
본 발명에 기초한 마이크로프로세서 시스템은 칩 하우징에 통합된 2 개의 중앙 처리 유닛을 포함한다.
각각의 처리 유닛은 연관된 전용 버스 시스템 (제 1 및 제 2 버스) 을 갖고, 이는 이 버스 시스템이 마찬가지의 중복성 설계라는 것을 의미한다.
마이크로프로세서 시스템은 또한, 제 1 버스 시스템의 풀 메모리에 비해 감소된 저장 용량을 갖는 제 1 버스 상의 테스트 데이터 저장부를 포함한다. 테스트 데이터 저장부는 제 1 버스 시스템 상의 메모리의 데이터에 연결되는 테스트 데이터를 저장한다.
제 2 버스의 테스트 데이터 저장부는 풀 메모리의 데이터에 연결된 테스트 데이터를 저장하는데 이용된다. 테스트 데이터의 저장은, 판독 또는 기입 동작들 동안 드물게 일어날 수 있는 통상적인 데이터 저장 에러를 식별하는데 이용된 다. 이러한 에러들은 또한, 이중으로 제공되는 풀 메모리 및 동일 형태로 2 번 저장되는 데이터 덕분에 인식될 수 있다. 하지만, 메모리가 칩의 제조 비용의 상당 부분을 차지하기 때문에, 이러한 방식은 비용 집약적이다. 본 발명에 기초한 마이크로프로세서 시스템에 따르면, 감소된 메모리 공간 요건을 갖는 중복 메모리, 즉 테스트 데이터 저장부를 이용하여 적당한 에러 인식을 달성하는 것이 또한 가능하다는 것이 발견되었다. 이러한 목적으로, 예를 들어, 풀 메모리의 데이터 워드 (데이터 아이템) 는 그를 위해 테스트 데이터 저장부에 저장된 테스트 정보 아이템 또는 테스트 값 (예를 들어, 패리티 정보 (parity information), 해밍 코드 (Hamming code) 등) 을 갖는다. 가장 단순한 경우로, 이는 1 비트의 길이를 갖는 패리티 비트일 수도 있다. 더욱 복잡한 인코딩 방법들, 예를 들어 해밍 코드들, 또한 에러 정정을 허용할 수 있고, 다중 에러들을 인식할 수 있다. 패리티 정보 아이템은 워드 대 워드 (word-by-word) 기초 상에서 및/또는 풀 메모리의 복수의 데이터 워드들로부터의 조합 (블록식 테스트 데이터 인코딩) 으로 형성될 수도 있다.
바람직하게는, 풀 메모리의 오직 일부만이 테스트 데이터 저장부에 의해 백업된다. 따라서 이 경우, 에러들에 대해서 백업되지 않는 풀 메모리의 메모리 영역들이 존재한다. 이들 메모리 영역들은 안전-결정적이지 않은 덜 중요한 프로그램 함수들로 채워질 수 있다. 하지만, 풀 메모리의 전부가 테스트 데이터 저장부에 의해 백업되는 것도 또한 가능하다.
또한, 버스 시스템들은, 2 개의 버스 시스템들 사이에 데이터 교환 및/또는 비교를 허용하는 비교부 및/또는 구동기 구성요소들을 포함한다.
적어도 제 2 버스 시스템은, 예를 들어, 논리 게이트들에 의해 생성되는 본래 알려진 하드웨어 테스트 데이터 생성기가 그 위에 배치된다. 따라서, 메모리 에러들을 인식하는데 필요한 테스트 정보는 중앙 처리 유닛 (central processing unit; CPU) 에 의해 생성되는 것이 아니라, 오히려, CPU 와는 물리적으로 개별적으로 배치된 하드웨어 테스트 데이터 생성기로서 알려진 것에 의해서 생성된다. 하드웨어 테스트 데이터 생성기는, CPU 의 도움 없이 독립적으로 데이터 처리 및/또는 신호 처리를 위한 특정 작업 단계들을 수행하기 위한 기초로서 소정의 로직을 취하는 본질적으로 고정화된 (hardwired) 반도체 구조인 것이 바람직하다. 비록 하드웨어 생성기에 의해 수행되는 동작들이 원칙적으로 CPU 에 의해서도 수행될 수 있지만, 이는 통상적으로, 가능한 증가된 에러율과 연관되는 것 외에도, 더 높은 클럭 사이클 소모와 연관되고, 이는 지연 시간을 크게 증가시킬 것이다.
테스트 데이터 저장부는 제 2 버스 상의 처리 유닛에 의해 특히 작동되는 독립적인 추가적인 어드레스 디코더를 갖는 것이 바람직하다. 제 2 버스 시스템 상에는 제 1 버스 상의 메모리의 데이터를 백업하는데 이용되는 테스트 데이터 저장부나 메모리가 배치되지 않는 것이 특히 바람직하다.
풀 메모리는 바람직하게는 판독/기입 메모리이다. 하지만 이는 또한, 진보적 원리의 기초 상에 백업될 판독-전용 메모리 (read-only memory) (예를 들어, ROM, Otp ROM, EPROM, EEPROM 또는 플래쉬 ROM) 일 수도 있다.
비록 DE 195 29 434 A1 으로부터 알려진 테스트 데이터 저장부를 이용한 백업 방법이 오늘 날의 애플리케이션들에 대해 필요한 가용성 요구를 만족시키지만, 언급된 메모리 에러들 외에도, 공지의 구조가 보호할 수 없는 추가적인 타입들의 에러도 존재한다. 예를 들어, 어드레스 버스 상의 에러들 및 어드레스 디코더의 에러들을 인식할 수 없다. 테스트 정보를 생성하기 위한 블록식 테스트 데이터 인코딩이 이들 추가적인 타입들의 에러가 인식될 수 있도록 하지만, 이 방법은 판독-전용 메모리의 애플리케이션에만 한정될 것이다. 따라서, 본 발명에 따르면, 제 1 버스 상의 풀 메모리의 적어도 일부가 제 1 버스 상에 배치되는 것과 마찬가지의 추가적인 테스트 데이터 저장부 및 적절한 테스트 데이터를 이용하여 백업된다. 이를 통해 전술한 추가적인 타입들의 에러의 인식을 달성할 수 있다.
바람직하게는, 본 발명에 기초한 마이크로프로세서 시스템은 그 안에 구현되는 어드레스 에러 인식을 위한 디바이스를 갖는다. 이는 특히, 테스트 데이터의 계산에 백업될 데이터의 어드레스를 포함하는 수단이 제공되도록 설계된다. 특히 바람직하게는, 기입 (writing) 은 특히 체크 비트들인 테스트 데이터가, 예를 들어, 데이터 비트들을 이용하는 것 뿐만 아니라 백업될 데이터 및 연관된 어드레스도 이용하여 계산되는 것을 포함한다. 이러한 방식으로, 데이터가 판독될 때 어드레싱 에러들이 인식될 수 있다. 어드레스 에러 인식은 2 개의 버스 시스템들의 각각 상에 제공되는 것이 바람직하다.
어드레스 에러 인식을 위한 다른 바람직한 수단은, 마이크로프로세서 시스템 에 추가적으로 구현되고 백그라운드에서 어드레스 에러 인식을 위한 하나 이상의 테스트들을 수행하는 디바이스를 포함한다. 이러한 타입의 에러 인식은 판독/기입 액세스 동작들 동안 병렬적으로 수행되지 않는 것이 적절하다. 대신에, 이러한 에러 인식 수단은, 바람직하게 추가적인 기본적 CPU 활동이 없는 주기적인 개별적 체크의 환경 내에서만 특별하게 취해진다. 여기에 설명된 다른 어드레스 에러 인식은 소프트웨어 형태일 수도 있고, 또는 하드웨어 수단의 형태일 수도 있다. 여기에 설명된 수단은 내장형 셀프 테스트 타입의 형태일 수도 있고, 특별하게는 CPU 내부에 있을 수도 있고, 하드웨어 상태 머신 내부에 있을 수도 있다.
셀프 테스트에 따라, 메모리는 기입되고 판독되는 소정의 패턴을 갖는 것이 바람직하다. 이 패턴은 가능한 디코딩 에러들 또는 작용 에러들이 의도적으로 데이터의 훼손을 초래하도록 하는 형태인 것이 특히 바람직하다. 그러면, 판독 동안 이 의도적으로 야기된 에러가 인식된다.
전술한 2 가지 에러 인식 디바이스들 외에, 또는 대안으로서, 메모리 셀이 거기에 기입되는 메모리 셀의 어드레스를 갖고 그 다음 체크되는 어드레싱 에러 인식 수단이 바람직하게 구현된다.
전술한 방법의 예는 "어드레스 대 데이터 (Address-to-Data)" 테스트로서 알려져 있다. 이 테스트는 각각의 메모리 위치가, 그것에 기입되는 메모리 위치의 어드레스의 숫자 값을 갖는 것을 포함한다.
어드레스 데이터 아이템
0x00 0x00
0x01 0x01
...
0xff 0xff
에러의 경우, 하나의 숫자가 다시 판독되어 나오지 않고, 대신에 다른 것이 중복된다.
본 발명에 따라 이용되는 테스트 데이터 저장부는 원칙적으로 종래의 판독/기입 메모리이지만, 풀 메모리에 비해 감소된 저장 용량을 갖는다.
마이크로프로세서 시스템들은 통상의 칩 하우징에 통합되고, 바람직하게는 클럭 동기로 동작된다. 바람직하게는, 양 시스템들은 통상의 반도체 재료 상에 배치된다.
마이크로프로세서 시스템은, 바람직하게 데이터 버스, 어드레스 버스 및 제어 버스를 각각 포함하는 2 개의 버스 시스템들을 포함한다.
판독/기입 메모리 또는 메모리들에서, 마이크로프로세서 시스템을 동작시키기 위한 적어도 하나의 판독-전용 메모리가 또한 본질적으로 존재한다. 본 발명에서 판독-전용 메모리라는 용어는, 구체적으로 ROM, 플래쉬 ROM 또는 OTP ROM 타입과 같은, 적어도 어떤 시간에 대해 비휘발성인 메모리를 의미한다. 코어 중복성의 원리에 따라, 양 버스 시스템들이 모두 그 위에 풀 또는 동일한 내용의 판독-전용 메모리들을 가질 절대적인 필요는 없다. 중복성 개념이 바람직한 판독-전용 메모리로 또한 전이된다면, 판독-전용 메모리의 데이터가 백업되는 것을 보장하기 위한 적절한 테스트 정보에 대한 제공이 이루어진다. 이는 특히 데이 터 대신 적합한 테스트 정보를 포함하는 제 2 버스 상의 더 작은 판독-전용 메모리에 의해 달성될 수 있다.
바람직하게는, 본 발명에 기초한 마이크로프로세서 시스템은, 물리적 메모리의, 또는 풀 판독/기입 메모리에 적어도 바로 근접한 제 1 버스 상에 추가적으로 테스트 데이터를 저장하는데 이용된다. "바로 근접한" 이라는 말은, 관련된 칩 구조들이 서로 인접해 있다는 것을 의미하고, 이는 데이터에 대해 필요한 짧은 지연 시간을 관측하는 것이 가능하다는 것을 의미한다.
마이크로프로세서 시스템은, 판독 사이클이, 풀 메모리의 데이터가 데이터 메모리 영역에 또는 그에 근접하여 특히 위치되는 하나 이상의 하드웨어 테스트 유닛들에 의해 이들 데이터와 연관되는 테스트 데이터와 비교되는 것을 포함하도록 설계되는 것이 바람직하다. 하드웨어 정정 유닛(들) 은 이 테스트 데이터를 이용하여 에러의 경우에 데이터를 정정한다. 예를 들어, 이러한 정정은 부정확한 비트와 같은 단순한 에러들이 쉽게 정정되도록 하여, 마이크로프로세서 시스템이 스위치 오프될 필요가 없도록 한다. 테스트 워드의 복잡성에 의존하여, 더욱 복잡한 에러들을 차단하는 것 또한 가능하다. 정정이 성공적이지 못하다면, 즉, 데이터의 에러가 너무 복잡하여 테스트 정보와의 논리 조합이 정정된 데이터가 여전히 비정상이도록 한다면, 이들 데이터는 병렬적 버스 시스템들 상에서 큐잉 (queuing) 하는 데이터를 비교하는 바람직하게 존재하는 추가적인 비교부에 의해 분별된다. 결과적으로, 에러 신호는, 마이크로프로세서 시스템을 셧다운시키거나 또는 마이크로프로세서 시스템을 나머지 전자기기로부터 연결해제시키는 적합한 에러 라인 상으로 적당하게 출력된다. 전자적 브레이킹 시스템에서, 예를 들어, 이는 밸브 구동기들이 실수로 작동되는 것을 효과적으로 방지한다.
어드레스 에러들은 제 2 버스 상의 처리 유닛에 의해 작동되는 추가적인 어드레스 디코더로 인한 테스트 데이터 저장부의 독립적인 어드레싱 덕분에, 본 발명에 따라, 인식될 수 있다. 제 2 버스 상의 테스트 데이터 저장부는 이러한 방식으로 유리하게 경감될 수 있다. 또한, 이는 특히 에러 생성 회로를 포함하지 않는, 제 2 버스 상의 에러 인식 디바이스에 대한 간단한 설계를 초래한다.
마지막으로, 본 발명은 또한, 청구항 제 1 항에 따른 시스템의 개량 형태인 청구항 제 8 항에 따른 마이크로프로세서 시스템의 제 2 실시형태에 관한 것이다.
코어 중복성의 원리를 이용하고, 하나의 메모리 셀의 에러들 인식/정정을 위한 메커니즘들만을 포함한, 공지의 에러-정정/에러-인식 마이크로프로세서들에 반해, 본 발명은 이제 메모리 전부가 백업되도록 허용한다. 이는 중복성 개념이 판독-전용 메모리에서 데이터 저장부에까지 역시 확장되어 이용될 수 있도록 허용한다. 이는 현재의 안전 요건들을 계속 유지하면서 제조 비용의 추가적인 감소를 허용한다.
추가적인 바람직한 실시형태들이 종속항에서, 그리고 다음의 도면들을 참조한 예시적인 실시형태들의 설명에서 발견될 수 있다.
도면에서:
도 1 은 개별적 어드레싱의 데이터 저장부 및 테스트 메모리를 구비한 2-코어 통합 마이크로제어기의 제 1 실시예를 나타낸다.
도 2 는 데이터 저장부 및 테스트 메모리를 갖는 특히 간단한 설계의 2-코어 통합 마이크로제어기의 제 2 실시예를 나타낸다.
도 1 의 마이크로제어기는 클럭 동기로 동작하는 2 개의 중앙 처리 유닛 (CPU) (1, 2) 을 포함한다. 양 마이크로컴퓨터들은 동일한 프로그램을 실행한다. 각각의 유닛은 각각 개별적으로 연관된 어드레스 및 데이터 버스를 갖는다. CPU (1) 는 그것에 연결된 풀 데이터 저장부 (7) 를 갖는다. 또한, 마이크로프로세서 시스템은, 하드웨어 요소의 형태이고 2 개의 버스 시스템들 상의 큐잉 어드레스들과 데이터를 서로 지속적으로 비교하는데 이용되는, 비교기 (3) 를 포함한다. 정합 (match) 이 존재하지 않는다면, 에러 신호가 생성된다. 단순화된 예시를 위해, 입력/출력 유닛들, 판독-전용 메모리들 등과 같은, 마이크로프로세서 시스템들에 통상적으로 존재하는 구성요소들은 더 자세히 나타내지 않았다. 도시되지 않은 이들 구성요소들은 WO99/35543 에 설명된 중복성-코어 마이크로제어기에 본질적으로 기초한다.
제 1 버스 상의 테스트 데이터 저장부 (5)는 메모리 (7) 에 비해 요소 (8) 에 의해 감소되는 저장 용량을 갖는다. 메모리 (5) 는 메모리 (7) 의 CPU (1) 에 의한 데이터에 대한 각각의 기입 동작 동안 실질적으로 동일 시간에 하드웨어 생성기 (6) 에 의해 생성되는 테스트 데이터를 저장하는데 이용된다. 프로그램-관련 수단 없이 테스트 데이터를 생성하는 것은 기입 동작이 원칙적으로 증가된 클럭 사이클 소모 없이 수행되는 것을 허용한다.
판독은 메모리 (7) 가 어드레스 디코더 (8) 를 이용하여 CPU (1) 에 의해 어 드레싱되는 것을 포함한다. 판독 동작 동안, 하드웨어 유닛 (6) 이 작동 상태에 있다. 하드웨어 유닛 (6) 은 테스트 데이터 생성 방법 (예를 들어, 해밍 코드) 에 따라 데이터를 체크하고 가능하게는 데이터를 즉각 정정하는데 이용된다. 블록 (3) 이 포함하는 버스 구동기들은 CPU (1) 및 CPU (2) 에 대해 동시에 큐잉 데이터를 제공하는데 이용된다.
데이터와 테스트 데이터가 정합되지 않으면, 에러가 인식된다. 에러 인식 (61) 은 제 2 버스 상에서 일어나지만, 제 1 버스의 영역에서 가능하면 정정되는 데이터에 관련된다. 이러한 체크는 하드웨어 비교기 (61) 에서 수행되고, 이 하드웨어 비교기 (61) 는 마찬가지로 에러 신호를 생성한다. 테스트 데이터 저장부 (5) 는 데이터 저장부 (7) 에 대해 물리적으로 근접 배치되어, 데이터가 짧은 시간 내에 정정될 수 있고, 따라서, 이러한 정정이 소정 타이밍 내에서 여전히 가능하다.
도 1 의 실시예에 따라, 제 1 버스 상의 풀 데이터 저장부 (7) 및 체크섬 (checksum) 메모리 (5) 를 포함하는 블록은 추가적인 어드레스 디코더 (9') 를 거기에 부가하여 갖고, 이 어드레스 디코더 (9') 는 액세스를 위한 어드레스들을 CPU (2) 로부터 나오는 테스트 데이터 저장부 (5) 의 어드레스 영역들로 디코딩한다. 이를 위해, 그것과 연관된 어드레스 버스와 디코더 (9') 사이의 직접 링크가 제공된다. 어드레스 디코더 (8) 는 풀 메모리 (7) 의 어드레스 영역에 있는 CPU (1) 에 의한 메모리 액세스 동작들을 디코딩한다. 테스트 데이터 판독은 블록 (6) 을 경유하여 바로 에러 인식 블록 (61) 으로 간다. 블록 (6) 에 반해, 에 러 인식 블록 (61) 은 그 자신은 어떤 에러 정정 디바이스들도 포함하지 않는다. 블록 (61) 은 테스트 데이터를, 구동기 스테이지들을 경유하여 제 2 버스로 향하는 데이터와 비교한다. 이를 위해, 체크섬이 (가능하면 정정된) 판독 데이터로부터 다시 형성된다. 이 체크섬은 메모리로부터 판독된 테스트 데이터와 비교된다. 제 2 버스 상의 에러 인식은 테스트 데이터 저장부 (5) 가 CPU (2) 에 의해 어드레싱되는 것을 포함한다. 어드레스 에러들의 인식은 디코더 (9') 를 이용한 체크섬 메모리의 독립적인 어드레싱에 의해 보장된다.
도 2 의 마이크로프로세서 시스템은 또한 도 2 의 실시예에 따라 공통 블록의 풀 데이터 저장부 (7) 와 체크섬 메모리 (5) 를 결합한다. 블록 (6) 및 블록 (61) 의 에러 인식 및 정정 방법은 마찬가지로 도 1 의 원리에 기초한다. 도 2 의 마이크로프로세서 시스템은, 특히 어드레스 디코더 ('9) 가 없어도 된다는 점에서 도 1 의 마이크로프로세서 시스템과 상이하다. CPU (1) 에 의한 정정 어드레스 생성은, 그것을 (동일 코드를 실행하는) CPU (2) 로부터의 것과 비교함으로써 체크된다. 비교기 (3) 내에서, CPU (2) 의 어드레스는 CPU (1) 에 의해 즉시로 참조되는 어드레스와 비교되고, 그들 어드레스가 정합되지 않는다면, 에러 신호가 생성된다. 도 2 의 실시예에 기초한 마이크로프로세서 시스템의 특별한 특징은 주로 CPU (2) 의 마이크로프로세서 영역이 테스트 데이터 저장부 및 데이터 저장부를 포함하지 않는다는 것이다. 판독 및 기입 동안 에러 인식을 위한 블록 (61) 만이 블록 (6) 의 에러 인식 (6) 에 따라 CPU (2) 의 영역에서 중복된다.
도 1 의 실시예에 반해, 도 2 에 나타낸 마이크로프로세서 시스템에서 제 2 어드레스 디코더가 없다는 사실은, 중복성의 기초 상에서 어드레스 에러들을 인식할 수 없다는 것을 의미한다. 그럼에도 불구하고 어드레스 에러 인식을 구현하기 위해서, 블록 (6) 의 테스트 데이터 생성은, 기입되는 메모리 어드레스의 어드레스가 역시 포함되도록 한다. 기입 동안, 체크 비트들은 메모리 (7) 의 메모리 위치로부터의 데이터 비트들을 이용할 뿐만 아니라 이 메모리 위치의 어드레스를 포함함으로써, 계산된다. 어드레싱에 에러가 존재한다면, 판독 액세스 동작 동안 발견될 수 있다.

Claims (10)

  1. 적어도 부분적으로 안전-결정적 프로세스들을 제어 또는 조정하기 위한 마이크로프로세서 시스템 (60) 으로서,
    칩 하우징에 통합된 2 개의 중앙 처리 유닛들 (1, 2), 제 1 및 제 2 버스 시스템, 상기 제 1 버스 시스템 상의 적어도 하나의 풀 메모리 (full memory; 7), 상기 제 1 버스 시스템 상의 상기 풀 메모리의 데이터에 연결되는 하나 이상의 테스트 데이터 저장부들의 테스트 데이터를 포함하고,
    상기 테스트 데이터 저장부는 상기 풀 메모리보다 더 작고,
    상기 버스 시스템들은, 상기 2 개의 버스 시스템들 사이에 데이터 교환 및/또는 데이터의 비교를 허용하는 비교부 및/또는 구동기 구성요소들을 포함하는, 상기 마이크로프로세서 시스템 (60) 으로서,
    상기 테스트 데이터 저장부(들)는 상기 제 1 버스 시스템 상에 배치되고, 상기 제 2 버스 시스템은 상기 제 2 버스 시스템 상에 배치되어 상기 제 1 버스 상의 상기 풀 메모리의 데이터를 백업하는데 이용되는 테스트 데이터 저장부 또는 메모리를 갖지 않는 것을 특징으로 하는 마이크로프로세서 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 버스 상의 풀 메모리의 적어도 일부가, 상기 제 1 버스 상의 테스트 데이터 및 테스트 데이터 저장부 (5) 를 이용하여 백업되고, 상기 제 1 버스 시 스템은 상기 제 1 버스 시스템 상에 배치되어 상기 테스트 데이터 저장부 (5) 를 위한 상기 테스트 데이터를 생성하는 하드웨어 테스트 데이터 생성기 (6) 를 갖는 것을 특징으로 하는 마이크로프로세서 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 버스 상의 상기 풀 메모리 및 상기 테스트 데이터 저장부 각각은 전용 어드레스 디코더 (8, 9') 를 갖고, 특히 이들 전용 어드레스 디코더들의 적어도 하나는 상기 제 2 버스 시스템에 연결되는 것을 특징으로 하는 마이크로프로세서 시스템.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 제 1 버스 상의 테스트 데이터가 상기 풀 메모리의 물리적 메모리 블록에, 또는, 상기 풀 메모리에 적어도 직근접 (direct proximity) 하여 저장되는 것을 특징으로 하는 마이크로프로세서 시스템.
  5. 제 1 항 내지 제 4 항 중 적어도 어느 한 항에 있어서,
    하나 이상의 비교부 구조(들)가, 하드웨어 (3) 로 구현되며, 또한, 각 판독 및/또는 기입 동작 동안, 어드레스 버스들 상의 큐잉 어드레스들 및/또는 데이터 버스들 상에서 큐잉 (queuing) 하는 데이터를 서로 비교하고, 상기 어드레스들 및/또는 데이터가 상이하다면 에러 신호를 생성하는 것을 특징으로 하는 마이크로프로 세서 시스템.
  6. 제 1 항 내지 제 5 항 중 적어도 어느 한 항에 있어서,
    판독 사이클은 상기 풀 메모리의 데이터가, 상기 비교부 구조 (3) 에서의 비교 이전에, 먼저 상기 버스 상의 상기 풀 메모리와 직접 연관되는 상기 테스트 데이터 메모리 영역 (5) 을 이용하여 에러들에 대해 테스트되고, 에러의 경우에, 상기 데이터가 정정되거나 에러 신호가 생성되는 것을 포함하는 것을 특징으로 하는 마이크로프로세서 시스템.
  7. 제 1 항 내지 제 6 항 중 적어도 어느 한 항에 있어서,
    판독 사이클은 상기 풀 메모리의 데이터가, 특히 데이터 메모리 영역에 또는 그 데이터 메모리 영역에 근접하여 위치되는 하드웨어 테스트 유닛 (6) 에 의해 상기 풀 메모리의 데이터와 연관되는 테스트 데이터와 비교되고, 에러의 경우에, 하드웨어 정정 유닛 (6) 이 상기 테스트 데이터를 이용하여 상기 데이터를 정정하는 것을 포함하는 것을 특징으로 하는 마이크로프로세서 시스템.
  8. 제 1 항 내지 제 7 항 중 적어도 어느 한 항에 있어서,
    상기 제 2 버스 시스템의 영역은, 상기 제 1 버스 상의 상기 테스트 데이터 저장부 (5) 로부터의 테스트 데이터와 상기 제 1 버스 상의 상기 풀 메모리 (7) 로부터의 데이터를, 특히 상기 제 1 버스 상의 상기 풀 메모리로부터 나와 상기 제 2 버스 상에서 마이크로프로세싱 유닛으로 판독되는 데이터와 비교하는 하드웨어 에러 인식 유닛 (61) 을 포함하는 것을 특징으로 하는 마이크로프로세서 시스템.
  9. 제 1 항, 제 2 항, 및 제 4 항 내지 제 8 항 중 적어도 어느 한 항에 있어서,
    상기 제 2 처리 유닛에 대한 어드레스 버스 (71) 는, 그것을 상기 제 1 데이터 버스에 대한 어드레스 버스 (72) 와 비교함으로써 백업되고, 상기 풀 메모리 (7) 및 상기 풀 메모리에 또는 상기 풀 메모리에 로컬 근접 (local proximity) 하여 배치된 상기 테스트 데이터 저장부 (5) 를 포함하는 메모리 그룹은, 하나의 어드레스 디코더 (8) 만을 포함하는 것을 특징으로 하는 마이크로프로세서 시스템.
  10. 자동차 제어기들, 특히, 자동차 브레이크 제어기들, 섀시 (chassis) 조정을 위한 제어기들, 안전 시스템들을 위한 제어기들 또는 이들 제어기들의 적절한 조합에서, 제 1 항 내지 제 9 항에 기재된 마이크로프로세서 시스템들의 이용.
KR1020087003367A 2005-08-11 2006-08-02 적어도 부분적으로 안전상-중대한 프로세스들을 제어 및/또는 조정하기 위한 마이크로프로세서 시스템 KR101290865B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102005038306.8 2005-08-11
DE102005038306 2005-08-11
PCT/EP2006/064977 WO2007017445A1 (de) 2005-08-11 2006-08-02 Mikroprozessorsystem zur steuerung bzw. regelung von zumindest zum teil sicherheitskritischen prozessen
DE102006036386A DE102006036386A1 (de) 2005-08-11 2006-08-02 Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102006036386.8 2006-08-02

Publications (2)

Publication Number Publication Date
KR20080033394A true KR20080033394A (ko) 2008-04-16
KR101290865B1 KR101290865B1 (ko) 2013-07-29

Family

ID=37715709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087003367A KR101290865B1 (ko) 2005-08-11 2006-08-02 적어도 부분적으로 안전상-중대한 프로세스들을 제어 및/또는 조정하기 위한 마이크로프로세서 시스템

Country Status (6)

Country Link
US (1) US8219860B2 (ko)
EP (1) EP1913478B1 (ko)
JP (1) JP5389440B2 (ko)
KR (1) KR101290865B1 (ko)
DE (1) DE102006036386A1 (ko)
WO (1) WO2007017445A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080033393A (ko) * 2005-08-11 2008-04-16 콘티넨탈 테베스 아게 운트 코. 오하게 적어도 부분적으로 안전-결정적 프로세스들을 제어 또는조정하기 위한 마이크로프로세서 시스템
US8527681B2 (en) * 2007-05-25 2013-09-03 Freescale Semiconductor, Inc. Data processing system, data processing method, and apparatus
US8027764B2 (en) * 2008-11-21 2011-09-27 Toyota Motor Engineering & Manufacturing North America, Inc. Method and system for automatic test data generation for lookup tables
DE102011007437A1 (de) * 2010-11-15 2012-05-16 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen
US10244043B1 (en) * 2017-09-22 2019-03-26 Yokogawa Electric Corporation Management system for a plant facility and method for managing a plant facility
KR102433098B1 (ko) * 2018-02-26 2022-08-18 에스케이하이닉스 주식회사 어드레스 생성회로, 어드레스 및 커맨드 생성회로 및 반도체 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68926410T2 (de) * 1988-06-24 1996-09-12 Nec Corp Mit einer Paritätsteuerungseinheit auf demselben Chip bestückter Mikroprozessor
GB9101227D0 (en) * 1991-01-19 1991-02-27 Lucas Ind Plc Method of and apparatus for arbitrating between a plurality of controllers,and control system
DE4341082A1 (de) * 1993-12-02 1995-06-08 Teves Gmbh Alfred Schaltungsanordnung für sicherheitskritische Regelungssysteme
DE19529434B4 (de) * 1995-08-10 2009-09-17 Continental Teves Ag & Co. Ohg Microprozessorsystem für sicherheitskritische Regelungen
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
DE19716197A1 (de) * 1997-04-18 1998-10-22 Itt Mfg Enterprises Inc Mikroprozessorsystem für sicherheitskritische Regelungen
US6223309B1 (en) * 1998-10-02 2001-04-24 International Business Machines Corporation Method and apparatus for ECC logic test

Also Published As

Publication number Publication date
DE102006036386A1 (de) 2007-03-01
EP1913478B1 (de) 2018-10-10
KR101290865B1 (ko) 2013-07-29
US20100185927A1 (en) 2010-07-22
JP2009505189A (ja) 2009-02-05
JP5389440B2 (ja) 2014-01-15
EP1913478A1 (de) 2008-04-23
WO2007017445A8 (de) 2007-08-30
US8219860B2 (en) 2012-07-10
WO2007017445A1 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
US9015558B2 (en) Systems and methods for error detection and correction in a memory module which includes a memory buffer
US7694198B2 (en) Self-repairing of microprocessor array structures
US7032158B2 (en) System and method for recognizing and configuring devices embedded on memory modules
US20040168101A1 (en) Redundant memory system and memory controller used therefor
KR101290865B1 (ko) 적어도 부분적으로 안전상-중대한 프로세스들을 제어 및/또는 조정하기 위한 마이크로프로세서 시스템
JP4227149B2 (ja) 電子制御装置の情報記憶方法
US7206962B2 (en) High reliability memory subsystem using data error correcting code symbol sliced command repowering
US20120151300A1 (en) Error Correcting
CN110874245B (zh) 一种微小卫星星载计算机及其可重构实现方法
US20040237001A1 (en) Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
JP2000357129A (ja) メモリ検証を有する電子制御装置および方法
US6567950B1 (en) Dynamically replacing a failed chip
JP2004533686A (ja) 安全上重要な制御のための方法、マイクロプロセッサシステムおよびその使用
US10108469B2 (en) Microcomputer and microcomputer system
US9529681B2 (en) Microprocessor system for controlling or regulating at least partly safety-critical processes
JP4050091B2 (ja) 半導体メモリ装置
EP2188812B1 (en) Circuit arrangement and method for data processing
CN101243402B (zh) 用于控制或调节至少部分安全关键处理的微处理器系统
US10725880B2 (en) Semiconductor device
US7475212B2 (en) Method for reallocation of a memory of a subsystem, and subsystem
US8352817B2 (en) Method for testing a memory device, as well as a control device having means for testing a memory
US10635309B2 (en) Method for protecting user data of a storage device, and electronic computing system
JPH01239645A (ja) Eprom内蔵型マイクロコンピュータ
WO1996007969A1 (en) On board error correction apparatus
CA2131735A1 (en) Board errors correction apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160714

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170713

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190711

Year of fee payment: 7