KR20210116342A - 데이터 처리 디바이스 및 데이터 처리 방법 - Google Patents

데이터 처리 디바이스 및 데이터 처리 방법 Download PDF

Info

Publication number
KR20210116342A
KR20210116342A KR1020210033843A KR20210033843A KR20210116342A KR 20210116342 A KR20210116342 A KR 20210116342A KR 1020210033843 A KR1020210033843 A KR 1020210033843A KR 20210033843 A KR20210033843 A KR 20210033843A KR 20210116342 A KR20210116342 A KR 20210116342A
Authority
KR
South Korea
Prior art keywords
error detection
data
detection code
memory
processor
Prior art date
Application number
KR1020210033843A
Other languages
English (en)
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 KR20210116342A publication Critical patent/KR20210116342A/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/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; 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • G06F11/1052Bypassing or disabling error detection or correction
    • 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/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리로의/로부터의 데이터의 기입/판독을 제어하는 메모리 제어기, 데이터의 기입/판독을 요청하는 프로세서, 및 프로세서로부터의 요청에 따라 메모리 제어기로의/로부터의 데이터 기입/판독을 요청하는 오류 검출 모듈을 포함하는 데이터 처리 디바이스에서, 오류 검출 모듈은 프로세서로부터 기입 요청된 제1 데이터의 제1 오류 검출 코드를 계산하고, 프로세서로부터 판독 요청된 제2 데이터를 메모리로부터 판독하고, 판독 데이터로부터 제2 오류 검출 코드를 계산하고, 제1 오류 검출 코드와 제2 오류 검출 코드를 비교하고, 비교 결과를 외부 모듈에 전송한다.

Description

데이터 처리 디바이스 및 데이터 처리 방법{DATA PROCESSING DEVICE AND DATA PROCESSING METHOD}
본 발명은 데이터 처리 디바이스 및 데이터 처리 방법에 관한 것이다.
최근의 반도체 시스템에서, ECC(Error Correcting Code, 오류 정정 코드)를 이용하여 메모리로부터 판독된 데이터의 오류 검출 및 비트 정정이 수행되어 왔다. 따라서, 반도체 시스템은, 회로 구성을 2배로 함으로써 결과를 비교하는 경우에 비해 회로 규모의 증가를 억제하면서 신뢰성을 향상시킬 수 있다.
아래에 열거된 기술이 개시되어 있다.
[특허 문헌 1] 일본 미심사 특허 출원 공개 제2017-156984호
특허 문헌 1은 ECC에 관한 기술을 개시하고 있다.
특허 문헌 1에 개시된 디바이스에서, 메모리 제어기는 데이터가 기입될 때 CPU(Central Processing Unit)로부터 수신된 데이터를 외부 메모리에 기입하고, 그 데이터에 기초하여 생성된 신드롬 코드(syndrome code)를 ECC 메모리에 기입한다. 또한, 데이터가 판독될 때, 메모리 제어기는 외부 메모리에 저장된 데이터를 판독하고 ECC 메모리에 저장된 데이터의 동기화 코드를 판독한다. 그 후, 메모리 제어기는, 가능하다면, 동기 코드를 이용하여, 판독 데이터의 오류 검출 및 비트 정정을 수행한다.
도 6은 ECC를 이용한 데이터 처리 디바이스에 따른 종래 기술의 구성을 도시한 도면이다. 이 종래 기술에서, ECC로서 1 비트 오류 정정 및 2 비트 오류 검출(Single Error Correction(싱글 오류 정정), Double Error Detection(더블 오류 검출), 이하 SECDED)이 이용된다. SECDED는, 1 비트의 오류가 있다면 정정함으로써 동작이 계속될 수 있고 2 비트의 오류가 발생하는 경우에만 동작이 중지되는 시스템에 적합한 시스템이다.
종래 기술의 데이터 처리 디바이스는, 프로세서(61), 메모리 제어기(62) 및 DRAM(Direct Access Memory, 직접 액세스 메모리)(63)을 포함한다. 프로세서(61)는 메모리 제어기(61)를 통해 DRAM(63)에 데이터를 기입하거나 DRAM(63)으로부터 데이터를 판독한다. 프로세서(61)와 메모리 제어기(62)는 데이터 버스(미도시)를 통해 접속된다. 데이터 버스 상에서 발생하는 오류의 검출은, 프로세서(61)와 메모리 제어기(62)에 각각 포함된 오류 검출 코드 생성 유닛(EDC61, EDC620, EDC621)과 오류 검출 유닛(EDU61, EDU62)에 의해 수행된다. 메모리 제어기(62)에 의해 오류가 검출되면, 오류 정정 유닛(EC)은 오류 정정을 수행한다.
프로세서(61)로부터의 요청은, 메모리 제어기(62)가 데이터를 DRAM(63)에 기입할 때 SECDED를 생성하고 그것을 데이터 영역(DATA63)과는 분리된 영역 SECDED63에 저장한다. 반면, 프로세서(61)로부터의 요청시, DRAM(63)으로부터 데이터를 판독할 때, 판독 데이터와 함께 대응하는 SECDED는 SECDED63으로부터 판독되어 오류를 검출 또는 정정한다.
자동차 분야에서, 자율 주행의 향후의 대중화를 위해 더 높은 레벨의 기능적 안전이 요구된다. ASIL(Automotive Safety Integrity Level, 자동차 안전 무결성 레벨)은 ISO26262의 기능적 안전으로 규정되어 있으며, 안전 레벨이 낮은 것들로부터 QM(Quality Management, 품질 경영)/ASIL-A/ASIL-B/ASIL-C/ASIL-D로서 규정되어 있다. ASIL-B 레벨에서는, 동작 동안에 발생하는 고장의 90 % 이상이 검출되어야 하며, ASIL-D 레벨에서는, 99 % 이상이 검출되어야 한다. 예를 들어, ISO26262, ASIL-D를 준수하는 차량-내 전자 시스템이 요구된다. 특히, ASIL-D 레벨의 기능적 안전은, 2개 이상의 하드웨어 동작에 의해 획득된 결과들을 비교하고 매칭시키는 "잠금 단계"라고 불리는 높은 레벨의 결함 검출 성능을 요구한다.
그러나, 전술된 종래 기술의 데이터 처리 디바이스에서는, 메모리 제어기 자체의 고장 검출 메커니즘이 불충분하여, 메모리 제어기는 기능적 안전 레벨로서 ASIL-B를 유지한다. 또한, SECDED가 오류 정정 코드로서 이용될 때, 3 비트의 오류가 발생하면 1 비트의 정정 가능한 오류로서 판정될 수 있어서, 그 결과, 잘못된 데이터로 오정정될 수 있고 오류가 없는 것으로 간주될 수 있다. 따라서, 고장 검출률은 ASIL-B 레벨이 된다. 상기로부터, 종래 기술의 데이터 처리 디바이스가 온보드 전자 시스템에서 이용될 때, DRAM에 액세스하는 기능이 충족시킬 수 있는 기능적 안전의 요구 레벨은 ASIL-B이다. 또한, 데이터 처리 디바이스에 접속된 프로세서들이 높은 ASIL 요청을 단독으로 충족시킬 수 있더라도, 이들을 종래 기술 메모리 제어기들과 결합하면, 결국 ASIL-B까지의 기능적 안전 레벨이 달성될 수 있다.
본 발명의 목적은, 더 높은 ASIL 요건을 충족하는 프로세서 및 데이터 오류 검출 모듈을 통해, ASIL-B 준수 메모리 제어기와 결합된 경우에도 프로세서의 높은 ASIL 요건을 충족시키는 것이다. 다른 목적과 새로운 피처들은 본 명세서의 설명과 도면으로부터 명백해질 것이다.
데이터 처리 디바이스에 따른 한 실시예에서, 높은 ASIL 요건을 충족하는 프로세서 및 모듈은, ASIL-B 준수 메모리 제어기와 결합된 경우에도, 프로세서가 높은 ASIL 요건, ASIL-C 및 ASIL-D를 충족하는 것을 허용한다. 따라서, 이 모듈 내의 DRAM에 저장될 데이터의 CRC(Cyclic Redundancy Check; 순환 중복 검사)를 저장함으로써, 데이터는 기입으로부터 판독까지 엔드-투-엔드(End-to-End)에 의해 보호되며, 메모리 제어기 및 DRAM을 포함한 경로는 ASIL-D를 충족시키는 고장 검출률을 가질 수 있다.
이것은, 높은 ASIL 레벨을 충족시키는 커버리지 비율로 모듈에서의 결함을 검출하는 메커니즘을 갖는다. 예를 들어, 전체 모듈을 복제함으로써, ASIL-D를 충족시키는 결함 검출률을 가질 수 있다. 높은 ASIL 레벨들이 충족될 수 있다면, 중복성으로 제한되지 않는다. 프로세서와 모듈 사이의 데이터 버스는 또한, 적절한 오류 검출 코드와 연계하여 ASIL-D를 충족하는 결함 검출률을 가질 수도 있다. 메모리 제어기의 크기가 모듈의 크기보다 크다면, 메모리 제어기의 ASIL 레벨을 증가시키는 더 적은 비용으로 ASIL-C 또는 ASIL-D 기능적 안전 요건이 충족될 수 있다.
도 1은 데이터 처리 디바이스에 따른 제1 실시예의 구성을 나타내는 블록도이다.
도 2는 데이터 처리 디바이스에 따른 제2 실시예의 구성을 나타내는 블록도이다.
도 3은 데이터 처리 디바이스에 따른 제3 실시예의 구성을 나타내는 블록도이다.
도 4는 데이터 처리 디바이스에 따른 제4 실시예의 구성을 나타내는 블록도이다.
도 5는 데이터 처리 디바이스에 따라 제3 실시예에서 버퍼 영역을 스위칭하는 흐름을 나타내는 도면이다.
도 6은 데이터 처리 디바이스에 따른 종래 기술의 구성을 나타내는 블록도이다.
이하, 한 실시예에 따른 반도체 디바이스가 도면을 참조하여 상세히 설명될 것이다. 명세서 및 도면에서, 동일하거나 대응하는 형태의 요소들은 동일한 참조 부호로 표시되고, 그에 대한 반복적인 설명은 생략된다. 도면에서, 설명의 편의를 위해, 구성이 생략되거나 간소화될 수 있다. 또한, 실시예들의 적어도 일부와 각각의 변형은 임의적으로 서로 결합될 수 있다.
제1 실시예
도 1은 데이터 처리 디바이스에 따른 제1 실시예의 구성을 나타내는 블록도이다.
도 1에 도시된 바와 같이, 이것은, 프로세서(10), 데이터 오류 검출 모듈(11), 메모리 제어기(12), DRAM(13), 및 데이터 오류 검출 모듈의 고장 검출 유닛(14)을 갖는다. 프로세서(10)는 DRAM(13)으로부터 판독된 데이터를 처리하고 처리 결과 데이터를 DRAM(13)에 기입한다. 프로세서(10)는 데이터 오류 검출 모듈(11)에 접속되고 DRAM(13)과의 데이터 기입/판독을 데이터 오류 검출 모듈(11)에게 요청한다. 데이터 오류 검출 모듈(11)은, 프로세서(10), 메모리 제어기(12), 및 데이터 오류 검출 모듈의 고장 검출 유닛(14)에 접속되고, 프로세서(10)로부터의 DRAM(13)과의 기입/판독 요청을 메모리 제어기(12)에 전송한다. DRAM(13)에 기입된 데이터와 DRAM(13)으로부터 판독된 데이터는 서로 비교되고, 매칭하지 않으면 데이터 오류 검출 모듈(11) 내지 메모리 제어기(12) 내지 DRAM(13) 중 어느 것에서 오류가 발생한 것으로 결정되고, 오류 발생은 데이터 오류 검출 모듈의 고장 검출 유닛(14)에 전달된다. 메모리 제어기(12)는 데이터 오류 검출 모듈(11) 및 DRAM(13)에 접속되고, 데이터 오류 검출 모듈(11)로부터의 요청에 응답하여 DRAM(13)으로/으로부터 데이터 기입/판독을 행한다. 프로세서(10), 데이터 오류 검출 모듈(11), 및 메모리 제어기(12) 각각은, 오류 검출 코드 생성 유닛(EDC10, EDC11, EDC12) 및 오류 검출 유닛(EDU10, EDU11, EDU12)을 갖는다. 프로세서(10)가 데이터 기입 요청을 실행하면, 오류 검출 코드 생성 유닛(EDC10)에서 데이터에 오류 검출 코드가 추가되고, 데이터가 판독될 때 오류 검출 유닛(EDU10)에 의해 추가된 오류 검출 코드가 검사되고, 오류가 발생하면, 오류 정정이 수행된다. 유사한 처리가 데이터 오류 검출 모듈(11) 및 메모리 제어기(12)에서도 수행된다. 데이터 오류 검출 모듈(11)은, 프로세서(10)로부터 DRAM(13)으로의 기입 요청이 발행된 데이터를 일시적으로 저장하기 위한 기입 데이터 저장 유닛(WDB11), DRAM(13)으로부터 판독된 데이터를 일시적으로 저장하기 위한 판독 데이터 저장 유닛(RDB11), 데이터의 CRC를 계산하기 위한 2개의 CRC 함수 유닛(CRCF110, CRCF111), CRC 함수 유닛(CRCF10)에 의해 계산된 CRC를 저장하는 CRC 버퍼(CRCB11), 및 데이터 기입시에 계산된 CRC와 데이터 판독시에 계산된 CRC를 비교하기 위한 CRC 비교 유닛(CRCC11)을 더 포함한다. DRAM(13)은, 데이터를 저장하기 위한 데이터 저장 유닛(DATA13)과 SECDED 코드를 저장하기 위한 SECDED 코드 저장 유닛(SECDED13)을 갖는다. 데이터 오류 검출 모듈(14)의 고장 검출 유닛은 데이터 오류 검출 모듈(11)에 의해 오류가 검출될 때 처리를 수행한다. 이러한 구성을 통해, 데이터 처리 디바이스는, 결함 검출률에 대해, 높은 ASIL 레벨, 예를 들어, ASIL-C/ASIL-D의 요건을 충족한다.
데이터 처리 디바이스의 동작
데이터 오류 검출 모듈(11)은 프로세서(10)로부터 DRAM(13)으로의 데이터 기입 요청을 수신하고 데이터를 기입 데이터 저장 유닛(WDB11)에 저장한다. CRC 함수 유닛(CRCF110)은 기입될 데이터로부터 CRC를 생성하고, DRAM(13) 기입 주소로부터 CRC 버퍼(CRCB11)의 기입 주소를 계산하여, CRC를 계산된 주소에 저장한다.
DRAM(13)으로부터 데이터가 판독될 때, 데이터 오류 검출 모듈(11)이 프로세서(10)로부터 데이터 판독 요청을 수신하면, CRC 함수 유닛(CRCF111)은 판독 데이터로부터 CRC를 생성하여, CRC 비교 유닛(CRCC11)에 의해 DRAM(13)의 판독 주소에 대응하는 CRC 버퍼(CRCB11)로부터 판독된 CRC와 비교한다.
CRC의 비교 결과, 매칭하면 오류가 없는 것으로 결정되고, 미스매칭하면 오류가 있는 것으로 결정되고, 결정 결과는 데이터 오류 검출 모듈(14)의 고장 검출 유닛에 전송된다. 오류가 있다면, 데이터 오류 검출 모듈(14)의 고장 검출 유닛은, 경고 메시지를 출력하고 기능을 중지하는 것 등의 미리결정된 동작을 수행한다.
데이터 처리 디바이스에 따른 제1 실시예에 따르면, 프로세서는, 높은 ASIL 요건을 충족하는 프로세서와 데이터 오류 검출 모듈에 의해, ASIL-B 호환 메모리 제어기와 결합된 경우에도, 높은 ASIL 요건, ASIL-C 및 ASIL-D를 충족할 수 있다. 그 이유는, DRAM에 저장된 데이터의 CRC가 모듈에 저장되어 CRC가 데이터 기입으로부터 데이터 판독까지 엔드-투-엔드에 의해 보호되고, CRC가, 메모리 제어기 및 DRAM을 포함하는 경로에서 ASIL-D를 충족시키는 높은 고장 검출률을 갖기 때문이다.
또한, 데이터 오류 검출 모듈(14)의 고장 검출 유닛을 가지고 있기 때문에, 높은 ASIL 레벨의 고장 검출률, 예를 들어 ASIL-C/ASIL-D 요건을 충족시킬 수 있다. 또한, 전체 모듈을 복제함으로써 높은 고장 검출률을 갖는 ASIL-D가 충족될 수 있다. 부수적으로, 높은 ASIL 레벨을 충족시킬 수 있다면, 모듈의 중복성으로 제한되지 않는다. 또한, 프로세서와 모듈 사이의 데이터 버스는, 적절한 오류 검출 메커니즘과 결합함으로써 ASIl-D를 충족하는 결함 검출률을 가질 수 있다. 오류 검출 메커니즘의 한 예로서, 데이터 버스의 잠금 단계 또는 데이터 버스를 통해 흐르는 신호에 오류 검출 코드를 제공하는 방법이 있다.
제2 실시예
도 2는 데이터 처리 디바이스에 따른 제2 실시예의 구성을 나타내는 블록도이다.
도 2에 도시된 바와 같이, 이것은, 프로세서(20), 데이터 오류 검출 모듈(메인)(21), 메모리 제어기(22), DRAM(23), 및 데이터 오류 검출 모듈(서브)(24)을 갖는다. 프로세서(20), 데이터 오류 검출 모듈(메인)(21), 메모리 제어기(22)는, 각각, 오류 검출 코드 생성 유닛(EDC20, EDC21, EDC22) 및 오류 검출 유닛(EDU20, EDU21, EDU22)을 갖는다. 데이터 오류 검출 모듈(메인)(21)은, 기입 데이터 저장 유닛(WDB21) 및 판독 데이터 저장 유닛(RDB21), 2개의 CRC 함수 유닛(CRCF210, CRCF211), CRC 버퍼(CRCB21), CRC 비교 유닛(CRCC21), CRC 유효 플래그(CRCV21)를 더 갖는다. DRAM(23)은 데이터 저장 유닛(DATA23)과 SECDED 코드 저장 유닛(SECDED23)을 갖는다.
제2 실시예에 따른 데이터 처리 디바이스는, 데이터 오류 검출 모듈(메인)(21)이 CRC 유효 플래그(CRCV21)를 갖는다는 점에서 제1 실시예와는 상이하다. CRC 유효 플래그(CRCV21)는, CRC 버퍼(CRCB21)의 각각의 주소에 대해 1(유효) 또는 0(무효)을 나타낸다. CRC 유효 플래그(CRCV21)가 1(유효)이면, 대응하는 CRC 버퍼(CRCB21)에 CRC가 저장되어 있다는 것을 나타낸다.
또한, 데이터 오류 검출 모듈은 중복되고, 양쪽의 출력 데이터를 비교하기 위해 중복 오류 검출 모듈(25)을 더 갖는 점에서 제1 실시예와는 달리, 데이터 오류 검출 모듈(메인)(21) 및 데이터 오류 검출 모듈(서브)(24)로 구성된다. 데이터 오류 검출 모듈(서브)(24)의 구성은 도시되지 않았지만, 데이터 오류 검출 모듈(메인)(21)과 동일하다. 부수적으로, 높은 ASIL 레벨의 요건을 충족시키는 결함 검출 시스템을 구성할 수 있다면, 중복성으로 제한되지 않고 다른 방법이 이용될 수도 있다.
데이터 처리 디바이스의 동작
그 다음, 데이터 처리 디바이스에 따른 제2 실시예의 동작 예가 설명될 것이다. 데이터 오류 검출 모듈(메인)(21)은 프로세서(20)로부터 DRAM(23)으로의 데이터 기입 요청을 수신하고 이를 기입 데이터 저장 유닛(WDB21)에 저장한다. CRC 함수 유닛(CRCF210)은 기입될 데이터로부터 CRC를 생성하고, DRAM(23) 기입 주소로부터 CRC 버퍼(CRCB21)의 기입 주소를 계산하고, CRC를 계산된 기입 주소에 저장하고, 기입 주소에 대응하는 CRC 유효 플래그를 1(유효)로 설정한다.
반면, DRAM(23)으로부터 데이터가 판독될 때, 데이터 오류 검출 모듈(메인)(21)이 프로세서(20)로부터 데이터 판독 요청을 수신하면, CRC 함수 유닛(CRCF211)은 판독 데이터로부터 CRC를 생성하여, CRC 비교 유닛(CRCC21)에 의해 DRAM(23)의 판독 주소에 대응하는 CRC 버퍼(CRCB21)로부터 판독된 CRC와 비교한다. 그러나, 판독 주소에 대응하는 CRC 유효 플래그가 0(디스에이블)일 때 비교는 수행되지 않는다.
CRC 비교 결과, 일치하는 경우 오류가 없다고 결정되고, 미스매칭의 경우 오류가 있다고 결정되며, 결정 결과는 데이터 오류 검출 모듈(메인)(21)의 고장 검출 유닛(미도시)에 전송된다. 데이터 오류 검출 모듈의 고장 검출 유닛은, 오류가 있을 때, 경고 메시지 출력, 기능의 중지 등의, 미리결정된 동작을 수행한다. 데이터 오류 검출 모듈(서브)(24)은 데이터 오류 검출 모듈(메인)(21)과 동일한 입력을 수신한다. 중복 오류 검출 모듈(25)은, 데이터 오류 검출 모듈(메인)(21)과 (서브)(24)의 비교를 항상 수행하며, 불일치가 검출되면, 모듈 내부에 고장이 발생했다고 결정한다.
데이터 처리 디바이스에 따른 제2 실시예에 따르면, ASIL-B 호환 메모리 제어기와 결합된 경우에도, 높은 ASIL 레벨(ASIL-C 또는 ASIL-D) 프로세서에서 생성된 데이터가 ASIL 레벨을 유지하면서 DRAM에 저장될 수 있다.
또한, CRC 유효 플래그(CRCV21)가 0(디스에이블)이면, 어떠한 CRC도 생성되지 않았으며, 이것은 대응하는 DRAM(23)의 영역에 데이터의 어떠한 유효한 ASIL-C/ASIL-D도 아직 저장되지 않았음을 나타낸다. CRC가 데이터 오류 검출 모듈 이외의 모듈에 의해 기입된 데이터를 판독할 때, 대응하는 CRC가 존재하지 않아, CRC 판정시 오류로서 오판된다. CRC 유효 플래그를 제공함으로써, DRAM이 판독될 때 오류로서 오판되는 것을 방지할 수 있으며, 저장되지 않은 영역이 액세스되었다는 정보를 프로세서에게 통보할 수 있다.
(제3 실시예)
도 3은 데이터 처리 디바이스에 따른 제3 실시예의 구성을 나타내는 블록도이다.
도 3에 도시된 바와 같이, 이것은, 프로세서(30), 데이터 오류 검출 모듈(메인)(31), 메모리 제어기(32), DRAM(33), 및 데이터 오류 검출 모듈(서브)(34)을 갖는다. 프로세서(30), 데이터 오류 검출 모듈(메인)(31), 메모리 제어기(32)는, 각각, 오류 검출 코드 생성 유닛(EDC30, EDC31, EDC32) 및 오류 검출 유닛(EDU30, EDU31, EDU32)을 갖는다. 데이터 오류 검출 모듈(메인)(31)은, 기입 데이터 저장 유닛(WDB31), 2개의 CRC 함수 유닛(CRCF310, CRCF311), CRC 비교 유닛(CRCC31), CRC 유효 플래그(CRCV31)를 더 갖는다. DRAM(33)은, 데이터 저장 유닛(DATA33)과 SECDED 코드 저장 섹션(SECDED33)을 갖는다.
제3 실시예는, 캐시 결정 유닛(31A) 및 캐시 메모리(31B)가 제공된다는 점에서 제2 실시예와는 상이하다. 또한, 캐시 메모리(31B)는, 캐시를 위한 데이터 섹션(DATA31)과 CRC 연산 섹션(CRCF310)에서 계산된 CRC를 저장하기 위한 CRC 버퍼(CRCB31)를 갖는다.
계산된 CRC를 CRC 버퍼(CRCB31)에 저장할 위치는 대응하는 데이터의 DRAM 저장 주소에 의해 고유하게 결정된다. CRC 유효 플래그(CRCV31)는 CRC 버퍼(CRCB31) 내의 CRC가 유효한지 또는 무효한지를 나타낸다. 캐시 메모리 상의 CRC 버퍼(CRCB31) 영역과 데이터 섹션(DATA31) 영역의 크기는 변경될 수 있다.
데이터 오류 검출 모듈은 중복되며, 데이터 오류 검출 모듈(메인)(31)과 데이터 오류 검출 모듈(서브)(34)의 각각의 출력은, 각각의 미리결정된 사이클 동안 비교되어 모듈 자체의 고장을 검출한다. 이것은, 프로세서(30)와 오류 데이터 검출 모듈(메인)(31) 사이의 데이터 버스에서 발생하는 결함을 검출하기 위한 오류 검출 코드 생성 및 검출 회로를 갖는다.
데이터 오류 검출 모듈(메인)(31)의 캐시 메모리(31B)는 프로세서(30)의 외부 캐시 메모리로서 동작한다. 프로세서(30)로부터 DRAM(33)에 대한 액세스 요청이 수신되고, 캐시 메모리(31B)의 데이터 섹션(DATAB31)에 대응하는 데이터가 존재하는 경우, 데이터는 프로세서(30)와 캐시 메모리(31B) 사이에서 전송된다. 캐시 메모리(31B)의 데이터 유닛(DATAB31)에 대응하는 데이터가 존재하지 않는 경우, 캐시 결정 회로(31A)는 DRAM(33)과 캐시 메모리(31B) 사이에서 대응하는 데이터를 전송한다.
캐시 메모리(31B)와 DRAM(33) 사이에서 데이터가 전송되면, 데이터 기입의 경우, 기입 데이터의 CRC는 CRC 함수 유닛(CFCF310)에 의해 계산되고, 계산된 CRC는 CRC 버퍼(CRCB31)의 DRAM(33)의 기입 주소에 대응하는 위치에 저장되고, 대응하는 CRC 유효 플래그는 1(인에이블)로 설정된다.
반면, DRAM(33)으로부터 데이터가 판독될 때, 데이터 오류 검출 모듈(메인)(31)이 프로세서(30)로부터 데이터 판독 요청을 수신하면, CRC 함수 유닛(CRCF311)은 판독 데이터로부터 CRC를 생성하여, CRC 비교 유닛(CRCC31)에 의해 DRAM(33)의 판독 주소에 대응하는 CRC 버퍼(CRCB31)로부터 판독된 CRC와 비교한다. 그러나, 판독 주소에 대응하는 CRC 유효 플래그가 0(디스에이블)일 때 비교는 수행되지 않는다.
제3 실시예의 데이터 처리 디바이스에 따르면, 캐시 메모리의 데이터 부분 및 CRC 버퍼의 크기는 요구되는 기능적 안전성의 레벨에 따라 변경될 수 있다. 데이터 계층의 큰 ASIL-C/ASIL-D가 요구될 경우, 이것은 캐시 메모리의 데이터 부분의 영역을 감소시키고 CRC 버퍼의 영역을 증가시킴으로써 실현될 수 있다. 반대로, 데이터 영역의 큰 ASIL-C/ASIL-D이 필요하지 않은 경우, 캐시 메모리의 CRC 버퍼의 영역을 감소시키고 데이터 섹션의 영역을 증가시킴으로써 캐시 메모리의 성능이 향상될 수 있다.
(제4 실시예)
도 4는 데이터 처리 디바이스에 따른 제4 실시예의 구성을 나타내는 블록도이다.
도 4에 도시된 바와 같이, 이것은, 프로세서(40), 데이터 오류 검출 모듈(메인)(41), 메모리 제어기(42), DRAM(43), 및 데이터 오류 검출 모듈(서브)(44)을 갖는다. 프로세서(40), 데이터 오류 검출 모듈(메인)(41), 메모리 제어기(42)는, 각각, 오류 검출 코드 생성 유닛(EDC40, EDC41, EDC42) 및 오류 검출 유닛(EDU40, EDU41, EDU42)을 갖는다. 데이터 오류 검출 모듈(메인)(41)은, 기입 데이터 저장 유닛(WDB41), 2개의 CRC 함수 유닛(CRCF410, CRCF411), CRC 비교 유닛(CRCC41), CRC 유효 플래그(CRCV41)를 더 갖는다. DRAM(43)은 데이터 저장 유닛(DATA43)과 SECDED 코드 저장 섹션(SECDED43)을 갖는다.
제3 실시예에서와 같이, 캐시 결정 유닛(41A) 및 캐시 메모리(41B)가 제공되고, 캐시 메모리(41B)는 캐시를 위한 데이터 저장 유닛(DATAB41) 및 CRC 함수 유닛(CRCF410)에 의해 계산된 CRC를 저장하기 위한 CRC 버퍼(CRCB41)를 갖는다. 이것은, 캐시 유효 플래그(41C)가 제공되고, CRC 유효 플래그가 캐시 결정에도 역시 이용된다는 점에서, 제3 실시예와는 상이하다.
캐시 유효 플래그(41C)가 0(무효)일 때, 프로세서(40)는, 캐시 메모리(41B) 상의 모든 데이터가 임시 버퍼인 스크래치패드 메모리로서 이용될 수 있다. 캐시 유효 플래그(41C)가 1(유효)이면, 캐시 기능이 인에이블된다. 캐시 기능이 인에이블된 후, 캐시 결정 회로(41A)는 CRC 유효 플래그(41C)를 이용하여 CRC 저장 버퍼(CRCB41)가 스크래치패드 메모리로서 여전히 이용가능한지를 결정한다.
캐시 유효 플래그(41C)가 0(무효)일 때, 캐시 결정 회로(41A)는 전체 캐시 메모리(41B)를 프로세서(40)로부터 판독 및 기입될 수 있도록 스크래치패드 메모리로서 이용한다. 캐시 유효 플래그(41C)가 프로세서(40)에 의해 1(유효)로 설정되면, 캐시 결정 회로(41A)는 프로세서(40)의 외부 캐시로서 처리를 시작한다. 스위칭시, 모든 CRC 유효 플래그는 0(무효)으로 설정된다.
스위칭 후, 캐시 메모리(41B) 상의 데이터 섹션(DATAB41) 내의 모든 데이터는 캐시 라인에 채워진 것으로 취급된다. CRC 버퍼(CRCB41) 내의 데이터는, 대응하는 CRC 유효 플래그(CRCV41)가 0(디스에이블)인 동안 스크래치패드 메모리로서 이용된다. DRAM(43)에 되기입(write-back)이 발생하고 CRC가 생성되면, 데이터는 DRAM(43)으로 퇴거되고 스크래치패드 메모리로부터 CRC 버퍼(CRCB41)로 스위칭된다.
도 5는 버퍼 영역의 스위칭을 설명하기 위한 도면이다. (A) DRAM이 여전히 이용가능하지 않을 때, 캐시 유효 플래그를 0(무효)으로 설정함으로써 전체 캐시 메모리가 높은 ASIL 레벨을 충족하는 스크래치패드 메모리로서 이용될 수 있다. (B) DRAM이 이용가능해지면, 캐시 유효 플래그는 프로세서의 타이밍에 1(유효)로 설정될 수 있고 캐시로서의 이용을 위해 스위칭될 수 있다. (C)는 CRC가 생성되어 버퍼에 저장되는 상태를 나타낸다.
캐시 판정을 위해 CRC 값을 유효 플래그를 이용함으로써, 스크래치패드 메모리로부터 CRC 값 버퍼 영역으로 동적으로 스위칭할 수 있다. 따라서, 캐시 기능이 인에이블된 후에도, 스크래치패드 메모리에 저장된 데이터는 그대로 이용될 수 있다.
캐시 메모리는, LSI 기동 등의, DRAM이 유효하지 않을 때, 프로그램을 시작하기 위한 저장 영역으로서 이용될 수 있다. DRAM이 인에이블된 후에도 데이터가 유지될 수 있으므로, 프로세서는 시작 프로그램으로부터 인터럽션없이 프로세스를 기능적 안전에 대응하는 프로그램으로 스위칭할 수 있다.
또한, 특정한 수치 값 예가 설명되더라도, 그것은 이론적으로 명백히 그 수치 값으로 제한되는 경우를 제외하고는, 그 특정한 수치 값을 초과하는 수치 값일 수 있거나 그 특정한 수치 값 미만의 수치 값일 수 있다. 또한, 컴포넌트는 "메인 컴포넌트로서 A를 포함하는 B" 등을 의미하고, 다른 컴포넌트를 포함하는 모드를 배제하지 않는다.

Claims (16)

  1. 데이터 처리 디바이스로서,
    메모리로의/로부터의 데이터의 기입/판독을 제어하는 메모리 제어기,
    상기 메모리와의 데이터 기입/판독을 요청하는 프로세서, 및
    상기 프로세서로부터의 요청에 따라 상기 메모리 제어기에게 데이터를 기입/판독할 것을 요청하는 오류 검출 모듈을 포함하고,
    상기 오류 검출 모듈은,
    상기 프로세서로부터의 기입 요청된 제1 데이터의 제1 오류 검출 코드를 계산하기 위한 제1 오류 검출 코드 계산 유닛,
    상기 제1 오류 검출 코드를 저장하기 위한 오류 검출 코드 저장 유닛,
    상기 프로세서로부터 판독 요청된 제2 데이터를 상기 메모리로부터 판독하고, 상기 판독 데이터로부터 제2 오류 검출 코드를 계산하기 위한 제2 오류 검출 코드 계산 유닛, 및
    상기 제1 오류 검출 코드와 상기 제2 오류 검출 코드를 비교하기 위한 오류 검출 코드 비교 유닛
    을 갖는, 데이터 처리 디바이스.
  2. 제1항에 있어서,
    상기 오류 검출 모듈은, 상기 제1 오류 검출 코드가 상기 오류 검출 코드 저장 유닛에 저장되어 있을 때 상기 오류 검출 코드 저장 유닛에 저장된 제1 오류 검출 코드가 유효한지를 나타내는 오류 검출 코드 플래그를 더 갖고, 상기 오류 검출 코드 플래그를 인에이블하고, 상기 오류 검출 코드 상기 플래그가 무효일 때, 상기 오류 검출 코드 비교 유닛은 비교를 수행하지 않는, 데이터 처리 디바이스.
  3. 제1항에 있어서,
    상기 제1 오류 검출 코드는 상기 메모리로의 상기 제1 데이터의 기입 주소에 대응하는 상기 오류 검출 코드 저장 유닛의 주소에 저장되고, 상기 오류 검출 코드 비교 유닛은, 상기 오류 검출 코드 저장 유닛의 상기 제2 데이터의 판독 주소에 대응하는 주소로부터 상기 제2 오류 검출 코드를 판독하는 것을 특징으로 하는, 데이터 처리 디바이스.
  4. 제1항에 있어서,
    상기 오류 검출 모듈은, 상기 오류 검출 코드 비교 유닛에 의한 상기 제1 오류 검출 코드와 상기 제2 오류 검출 코드의 비교 결과가 일치하지 않을 때, 상기 비교 결과를 외부 모듈에 전송하는 것을 특징으로 하는, 데이터 처리 디바이스.
  5. 제1항에 있어서, 상기 오류 검출 코드는 순환 중복 검사(CRC : Cyclic Redundancy Check)인, 데이터 처리 디바이스.
  6. 데이터 처리 디바이스로서,
    메모리로의/로부터의 데이터의 기입/판독을 제어하는 메모리 제어기,
    상기 메모리와의 데이터 기입/판독을 요청하는 프로세서, 및
    상기 프로세서로부터의 요청에 따라 상기 메모리 제어기에게 데이터를 기입/판독할 것을 요청하는 오류 검출 모듈을 포함하고,
    상기 오류 검출 모듈은,
    데이터 저장 유닛 및 오류 검출 코드 저장 유닛을 포함하는 캐시 메모리,
    상기 프로세서로부터의 요청의 기입/판독이 캐시 메모리에서 유효한지의 여부를 결정하기 위한 캐시 결정 유닛,
    상기 프로세서로부터의 기입 요청된 제1 데이터의 제1 오류 검출 코드를 계산하기 위한 제1 오류 검출 코드 계산 유닛,
    상기 프로세서로부터 판독 요청된 제2 데이터를 상기 메모리로부터 판독하고, 상기 판독 데이터로부터 제2 오류 검출 코드를 계산하기 위한 제2 오류 검출 코드 계산 유닛, 및
    상기 제1 오류 검출 코드와 상기 제2 오류 검출 코드를 비교하기 위한 오류 검출 코드 비교 유닛
    을 갖고,
    상기 캐시 결정 유닛이 상기 프로세서로부터 판독 요청을 수신한 제2 데이터가 상기 캐시 메모리의 상기 데이터 저장 유닛에 저장되어 있다고 결정되면, 상기 제2 데이터는 상기 데이터 저장 유닛으로부터 판독되고, 상기 제2 데이터가 상기 데이터 저장 유닛에 저장되어 있지 않을 때에는, 상기 제2 데이터는 상기 메모리로부터 판독되고,
    상기 제2 데이터는 상기 메모리로부터 판독되는, 데이터 처리 디바이스.
  7. 제6항에 있어서,
    상기 오류 검출 모듈은, 상기 제1 오류 검출 코드가 상기 오류 검출 코드 저장 유닛에 저장되어 있을 때 상기 오류 검출 코드 저장 유닛에 저장된 제1 오류 검출 코드가 유효한지를 나타내는 오류 검출 코드 플래그를 더 갖고, 상기 오류 검출 코드 플래그를 인에이블하고, 상기 오류 검출 코드 상기 플래그가 무효일 때, 오류 검출 코드 비교 유닛은 비교를 수행하지 않는 것을 특징으로 하는, 데이터 처리 디바이스.
  8. 제7항에 있어서, 상기 오류 검출 모듈은 상기 캐시 메모리가 인에이블되었는지를 나타내는 큐 캐시 모드 플래그(queue cache mode flag)를 더 갖고, 상기 캐시 모드 플래그가 디스에이블될 때 상기 캐시 메모리를 스크래치패드 메모리로서 이용하는, 데이터 처리 디바이스.
  9. 제6항에 있어서,
    상기 제1 오류 검출 코드는 상기 메모리로의 상기 제1 데이터의 기입 주소에 대응하는 상기 오류 검출 코드 저장 유닛의 주소에 저장되며, 상기 오류 검출 코드 비교 유닛은, 상기 오류 검출 코드 저장 유닛의 상기 제2 데이터의 판독 주소에 대응하는 주소로부터 상기 제2 오류 검출 코드를 오류 검출 코드 판독하는 것을 특징으로 하는, 데이터 처리 디바이스.
  10. 제6항에 있어서,
    상기 오류 검출 모듈은, 상기 오류 검출 코드 비교 유닛에 의한 상기 제1 오류 검출 코드와 상기 제2 오류 검출 코드의 비교 결과가 일치하지 않을 때, 오류 정보를 외부 모듈에 전송하는 것을 특징으로 하는, 데이터 처리 디바이스.
  11. 제6항에 있어서, 상기 오류 검출 코드는 순환 중복 검사(CRC : Cyclic Redundancy Check)인, 데이터 처리 디바이스.
  12. 데이터 처리 디바이스에서의 데이터 처리 방법으로서, 상기 데이터 처리 디바이스는,
    메모리로의/로부터의 데이터의 기입/판독을 제어하는 메모리 제어기,
    상기 메모리와의 데이터 기입/판독을 요청하는 프로세서, 및
    상기 프로세서로부터의 요청에 따라 상기 메모리 제어기에게 데이터를 기입/판독할 것을 요청하는 오류 검출 모듈을 갖고,
    상기 오류 검출 모듈은,
    상기 프로세서로부터의 기입 요청된 제1 데이터의 제1 오류 검출 코드를 계산하는 제1 오류 검출 코드 계산 단계,
    상기 제1 오류 검출 코드를 저장하는 오류 검출 코드 저장 단계,
    상기 프로세서로부터 판독 요청된 제2 데이터를 상기 메모리로부터 판독하고, 상기 판독 데이터로부터 제2 오류 검출 코드를 계산하는 제2 오류 검출 코드 계산 단계, 및
    상기 제1 오류 검출 코드와 상기 제2 오류 검출 코드를 비교하는 오류 검출 코드 비교 유닛 단계
    를 실행하는, 데이터 처리 방법.
  13. 제12항에 있어서,
    상기 오류 검출 모듈은 상기 제1 오류 검출 코드가 유효한지를 나타내는 오류 검출 코드 플래그를 갖고, 상기 제1 오류 검출 코드가 저장될 때, 상기 오류 검출 코드 플래그가 인에이블되고, 상기 오류 검출 코드 플래그가 무효일 때 상기 오류 검출 코드의 비교를 수행하지 않는 것을 특징으로 하는 것을 더 포함하는, 데이터 처리 방법.
  14. 데이터 처리 디바이스에서의 데이터 처리 방법으로서, 상기 데이터 처리 디바이스는,
    메모리로의/로부터의 데이터의 기입/판독을 제어하는 메모리 제어기,
    상기 메모리와의 데이터 기입/판독을 요청하는 프로세서, 및
    상기 프로세서로부터의 요청에 따라 상기 메모리 제어기에게 데이터를 기입/판독할 것을 요청하는 오류 검출 모듈을 갖고,
    상기 오류 검출 모듈은,
    상기 프로세서로부터의 요청의 기입/판독이 캐시 메모리에서 유효한지의 여부를 결정하는 캐시 결정 단계,
    상기 프로세서로부터의 기입 요청된 제1 데이터의 제1 오류 검출 코드를 계산하는 제1 오류 검출 코드 계산 단계,
    상기 프로세서로부터 판독 요청된 제2 데이터를 상기 메모리로부터 판독하고, 상기 판독 데이터로부터 제2 오류 검출 코드를 계산하는 제2 오류 검출 코드 계산 단계, 및
    상기 제1 오류 검출 코드와 상기 제2 오류 검출 코드를 비교하는 오류 검출 코드 비교 단계
    를 실행하며,
    상기 캐시 결정 단계에 의해 상기 프로세서로부터의 판독 요청이 수신된 상기 제2 데이터가 상기 캐시 메모리에 저장되어 있다고 결정되면, 상기 제2 데이터는 상기 캐시 메모리로부터 판독되고, 상기 제2 데이터가 상기 캐시에 저장되어 있지 않을 때에는, 상기 제2 데이터는 상기 메모리로부터 판독되는, 데이터 처리 방법.
  15. 제14항에 있어서,
    상기 오류 검출 모듈은 상기 제1 오류 검출 코드가 유효한지를 나타내는 오류 검출 코드 플래그를 더 갖고, 상기 제1 오류 검출 코드가 저장될 때, 상기 오류 검출 코드 플래그가 인에이블되고, 상기 오류 검출 코드 플래그가 무효일 때, 제14항의 데이터 처리 방법은 상기 오류 검출 코드 비교를 수행하지 않는 것을 특징으로 하는, 데이터 처리 방법.
  16. 제15항에 있어서, 상기 오류 검출 모듈은 캐시 메모리가 인에이블되어 있는지를 나타내는 캐시 모드 플래그를 더 포함하고, 상기 캐시 모드 플래그가 디스에이블되면 상기 캐시 메모리는 스크래치패드 영역으로서 이용되는, 데이터 처리 방법.
KR1020210033843A 2020-03-17 2021-03-16 데이터 처리 디바이스 및 데이터 처리 방법 KR20210116342A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/821,915 2020-03-17
US16/821,915 US11726864B2 (en) 2020-03-17 2020-03-17 Data processing device and data processing method

Publications (1)

Publication Number Publication Date
KR20210116342A true KR20210116342A (ko) 2021-09-27

Family

ID=74873626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210033843A KR20210116342A (ko) 2020-03-17 2021-03-16 데이터 처리 디바이스 및 데이터 처리 방법

Country Status (3)

Country Link
US (1) US11726864B2 (ko)
EP (1) EP3882774B1 (ko)
KR (1) KR20210116342A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022144469A (ja) * 2021-03-19 2022-10-03 キオクシア株式会社 メモリシステム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010339A1 (en) * 2004-06-24 2006-01-12 Klein Dean A Memory system and method having selective ECC during low power refresh
US7734980B2 (en) * 2005-06-24 2010-06-08 Intel Corporation Mitigating silent data corruption in a buffered memory module architecture
US7562285B2 (en) * 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US8352805B2 (en) * 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
US8042023B2 (en) * 2008-01-14 2011-10-18 Qimonda Ag Memory system with cyclic redundancy check
US8281169B2 (en) * 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US20110131381A1 (en) * 2009-11-27 2011-06-02 Advanced Micro Devices, Inc. Cache scratch-pad and method therefor
KR101687995B1 (ko) * 2010-09-27 2016-12-20 삼성전자주식회사 프로세서 및 그 동작 방법
JP5549665B2 (ja) * 2011-12-28 2014-07-16 株式会社デンソー 車両制御装置及びソフトウェア部品
KR101789190B1 (ko) * 2012-03-06 2017-11-20 한국전자통신연구원 스크래치 패드 메모리 구조를 이용한 캐시 및 이를 포함하는 프로세서
US9009565B1 (en) * 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
KR102035108B1 (ko) * 2013-05-20 2019-10-23 에스케이하이닉스 주식회사 반도체 시스템
US10078541B2 (en) * 2013-09-23 2018-09-18 Hewlett Packard Enterprise Development Lp Validate written data
US10061644B2 (en) 2015-11-02 2018-08-28 Qualcomm Incorporated Systems and methods for implementing error correcting code in a memory
JP6090489B1 (ja) * 2016-03-01 2017-03-08 日本電気株式会社 エラー検知装置、記憶装置およびエラー訂正方法
JP6605359B2 (ja) 2016-03-02 2019-11-13 ルネサスエレクトロニクス株式会社 半導体装置及びメモリアクセス制御方法
JP2019101446A (ja) * 2017-11-28 2019-06-24 ルネサスエレクトロニクス株式会社 半導体装置及びそれを備えた半導体システム
US20190243566A1 (en) * 2018-02-05 2019-08-08 Infineon Technologies Ag Memory controller, memory system, and method of using a memory device
KR102650099B1 (ko) * 2018-06-19 2024-03-22 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 테스트 시스템

Also Published As

Publication number Publication date
US20210294691A1 (en) 2021-09-23
EP3882774B1 (en) 2023-05-31
EP3882774A1 (en) 2021-09-22
US11726864B2 (en) 2023-08-15

Similar Documents

Publication Publication Date Title
US9037941B2 (en) Systems and methods for error checking and correcting for memory module
US8667372B2 (en) Memory controller and method of controlling memory
JP5010271B2 (ja) エラー訂正コード生成方法、およびメモリ制御装置
US8566672B2 (en) Selective checkbit modification for error correction
JP7303408B2 (ja) 欠陥検出を備えるエラー補正ハードウェア
US8140940B2 (en) Method and apparatus for controlling memory
US20040237001A1 (en) Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
KR20150122429A (ko) 고장 방지 기능을 갖는 캐시 제어 장치 및 동작 방법
JP2002007225A (ja) アドレスパリティエラー処理方法並びに情報処理装置および記憶装置
CN114138544A (zh) 数据读取、写入方法及装置、软错误处理系统
JP3748117B2 (ja) 鏡像化メモリ用エラー検出システム
EP3882774B1 (en) Data processing device
JP3068009B2 (ja) 冗長化メモリのエラー訂正機構
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
US7584388B2 (en) Error notification method and information processing apparatus
JP2001290710A (ja) データエラー検出装置
RU2327236C2 (ru) Оперативное запоминающее устройство с высокой степенью отказоустойчивости
US20220050740A1 (en) Method and Apparatus for Memory Error Detection
CN117413252A (zh) 具有内置错误纠正和检测的存储器的错误率
US10740179B2 (en) Memory and method for operating the memory
JPH07200419A (ja) バスインタフェース装置
JP2006011576A (ja) 高信頼性制御装置
JP5325032B2 (ja) 多重系システムの高信頼性制御装置
JP2004126911A (ja) 制御装置
WO2008062511A1 (fr) Système multiprocesseur

Legal Events

Date Code Title Description
A201 Request for examination