KR102267860B1 - 결함 탐지를 가진 오류 정정 하드웨어 - Google Patents

결함 탐지를 가진 오류 정정 하드웨어 Download PDF

Info

Publication number
KR102267860B1
KR102267860B1 KR1020197005416A KR20197005416A KR102267860B1 KR 102267860 B1 KR102267860 B1 KR 102267860B1 KR 1020197005416 A KR1020197005416 A KR 1020197005416A KR 20197005416 A KR20197005416 A KR 20197005416A KR 102267860 B1 KR102267860 B1 KR 102267860B1
Authority
KR
South Korea
Prior art keywords
ecc
read
write
memory
input
Prior art date
Application number
KR1020197005416A
Other languages
English (en)
Other versions
KR20190042013A (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 텍사스 인스트루먼츠 인코포레이티드
Priority to KR1020217018553A priority Critical patent/KR102399843B1/ko
Publication of KR20190042013A publication Critical patent/KR20190042013A/ko
Application granted granted Critical
Publication of KR102267860B1 publication Critical patent/KR102267860B1/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/1068Adding 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 sector programmable memories, e.g. flash disk
    • 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/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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Abstract

설명된 예시들에서, 오류 정정 코드(ECC) 하드웨어는 기입 생성(Gen) ECC 로직(115b), 및 메모리 회로(130)의 ECC 출력에 결합된 검사 ECC 블록(120b)을 포함하고, 판독 Gen ECC 로직(120b1)은 단일 비트 오류 정정 블록(120d)에 결합된 신드롬 디코드 블록(120c)에 신드롬 신호를 출력하는 XOR 회로(120b2)에 결합된다. 제1 MUX(115a)가 기입 Gen ECC 로직(115b)에 대한 입력과 직렬로 기입 데이터를 수신하거나, 제2 MUX(120e)가 판독 Gen ECC 로직(120b1)의 입력과 직렬로 메모리 회로(130)로부터 판독 데이터를 수신한다. 교차-결합 커넥터(150, 150')는 메모리 회로(130)로부터의 판독 데이터를 제1 MUX(115a)의 제2 입력에 결합시키거나, 기입 데이터를 제2 MUX(120e)의 제2 입력에 결합시킨다. ECC 비트 비교기(135)는 기입 Gen ECC 로직(115b)의 출력을 판독 Gen ECC 로직 출력(120b1)과 비교한다.

Description

결함 탐지를 가진 오류 정정 하드웨어
본 발명은 일반적으로 오류 정정 코드들(ECC)에 관한 것으로, 보다 구체적으로는 ECC 로직 회로의 결함 탐지를 위한 하드웨어에 관한 것이다.
오류 정정 코드(ECC) 메모리는 대부분의 종래의 유형들의 내부 데이터 손상을 탐지하고 정정할 수 있는 컴퓨터 데이터 저장소의 유형이다. ECC 메모리 회로들은 기능적 안전 요건들을 준수해야 하는 안전 필수 첨단 운전자 보조 시스템(ADAS)을 위한 자동차 또는 과학 메모리들을 위한 것과 같이, 데이터 손상이 일반적으로 용인될 수 없는 컴퓨터들에 사용될 수 있다.
메모리들(예를 들어, 정적 랜덤 액세스 메모리(SRAM), 판독 전용 메모리(ROM), 또는 플래시 메모리) 상에 ECC를 구현하는 것은 메모리들 내에서 데이터 무결성을 보장하기 위해 안전 필수 응용들에 사용되는 표준 안전 메카니즘이다. 종래부터, ECC 중복 비트들(예를 들어, 해밍 코드(Hamming Code))은 기입 경로 ECC 로직 회로에 의해 메모리 데이터 내용들에 부가되고, 메모리가 판독 경로 ECC 로직 회로에 의해 판독될 때 메모리에 저장된 데이터의 검사를 제공하기 위해 메모리에 동일한 사이클로 함께 기입된다. 여기서 사용되는 ECC는 일반적으로 해밍 코드에서 중복 비트들을 사용하는, 단일 비트 오류들에 대한 단일 비트 오류 정정 및 멀티-비트 오류들(예를 들어, 더블 비트 오류들)에 대한 멀티-비트 오류 탐지를 위한 것이다.
종래부터, 생성 ECC 하드웨어 유닛들이, 기입 경로 내의 생성 ECC 유닛, 및 판독 경로 내의 다른 생성 ECC 유닛을 포함하는 검사 ECC 블록과 함께 기입 경로 및 판독 경로에 제공된다. 기입 경로 회로 및 판독 경로 회로는 교차 결합 연결들을 갖지 않으므로 서로 독립적으로 동작한다. 메모리 판독 동작 동안, ECC는 검사 ECC 블록에 의해 재-재계산(re-recomputed)되고, 그것이 XOR 회로에 의해 저장된 ECC와 비교된다. 이 XOR 회로의 결과(출력)를 신드롬이라고 한다. 만약 신드롬이 0이면, 오류가 발생하지 않은 것이다. 만약 신드롬이 0이 아니면, 이는 단일 비트 오류 정정(SEC)의 경우에는 어떤 비트들이 오류인지를 결정하고, 또는 더블 비트 오류 탐지(DED)의 경우에는 오류가 정정할 수 없는 것임을 결정하기 위해 표를 "신드롬 디코드(Syndrome decode)"로 색인화하는 데 사용될 수 있다. 따라서, 종래의 ECC 메모리는 일반적으로 대부분의 비트 오류들로부터 실질적으로 자유로운 메모리 시스템을 유지할 수 있다.
설명된 예들에서, 록스텝(lockstep) ECC 회로 하드웨어는 기입 경로 회로와 판독 경로 회로 사이의 교차-결합된 연결들을 사용하는 오류 정정 회로를 포함하며, 이는 메모리 회로의 일측 상의 ECC 생성 로직을 다른 측 상의 오류들을 검사하는 데에 재사용하는 것을 가능하게 하고, 따라서 ECC 로직 요건을 줄이고 상당한 반도체 칩 면적을 절약할 수 있다. 설명된 예들은 기입 경로 회로 내의 기입 생성(Gen) ECC 로직 및 판독 경로 회로 내의 판독 Gen ECC 로직을 포함하는 검사 ECC 로직을 갖는, 메모리 회로에 대한 ECC 회로에 대한 결함 탐지 방법을 포함한다. 판독 Gen ECC 로직의 출력 및 기입 Gen ECC 로직의 출력은 각각의 비트 문자열이 일치하는지 여부를 검사하기 위해 디지털 비교기에 의해 비교된다. 비트 문자열들이 일치하지 않을 때, 기입 Gen ECC 로직 또는 판독 Gen ECC 로직 내의 결함이 탐지된다. 기입 동작 동안 록스텝 오류(비교기 출력에서의 불일치)의 경우, 기입 동작이 반복될 수 있다. 판독 동작 동안 록스텝 오류의 경우, 단일 비트 오류들이 정정될 수 있고, 멀티-비트 오류 인터럽트 신호가 전송될 수 있다.
도 1은 예시적인 실시예에 따라, ECC 생성 로직에 대한 입력에 직렬로 기입 데이터를 수신하기 위한 제1 입력을 갖는 멀티플렉서(multiplexer)를 갖는 판독 측 ECC 로직에서의 결함 탐지를 위한 설명된 록스텝 ECC 회로 하드웨어를 갖는 예시적인 ECC 메모리 회로의 블록도이다. 기입 데이터는 정상 기입 동작 동안 선택되고, 판독 데이터는 판독 동작 동안 선택된다.
도 2는 예시적인 실시예에 따라, ECC 로직에서의 결함 탐지를 위한 Gen ECC 로직의 입력에 직렬로 메모리 회로로부터의 판독 데이터를 수신하기 위한 제1 입력을 갖는 멀티플렉서를 갖는 기입 측 ECC 로직에서의 결함 탐지를 위한 설명된 록스텝 ECC 회로 하드웨어를 갖는 다른 예시적인 ECC 메모리 회로의 블록도이다.
도 3은 예시적인 실시예에 따라, ECC 회로에 대한 결함 탐지의 예시적인 방법에서의 단계들을 도시하는 흐름도이다.
도 4는 예시적인 실시예에 따라, 도 1 및 도 2에 관하여 전술한 판독 측 및 기입 측 오류 검사 실시예들을 본질적으로 결합하는 판독 경로 및 기입 경로에서의 결함 탐지를 위한 설명된 ECC 하드웨어를 포함하는 예시적인 ECC 메모리 회로이다.
도 5는 예시적인 실시예에 따라, 판독 경로 및 기입 경로 내의 ECC 로직에서의 결함 탐지를 위한 설명된 록스텝 ECC 회로 하드웨어를 갖는 프로세서 메모리로서 도 4에 도시된 설명된 ECC 메모리 회로의 2가지 경우를 포함하는 예시적인 ADAS 시스템의 시스템도이다.
도면들은 필연적으로 실제 축척 대로 그려진 것은 아니다. 도면들에서, 유사한 참조 부호들은 유사하거나 동등한 구성 요소들을 가리킨다. 일부 도시된 행위들 또는 사건들은 다른 순서로 및/또는 다른 행위들 또는 사건들과 동시에 발생할 수 있다. 더욱이, 일부 도시된 행위들 또는 사건들은 이 설명에 따른 방법론을 구현하기 위해 임의적(optional)이다.
후속 조건 없이 여기서 사용된 바와 같이, "~에 결합된(coupled to)" 또는 "~와 결합하는(couples with)"(기타 등등)이라는 용어들은 간접 또는 직접 전기 연결 중 어느 하나를 설명한다. 따라서, 만약 제1 디바이스가 제2 디바이스에 "결합"된다면, 그 연결은 오직 기생들만이 경로에 있는 직접 전기 연결을 통해, 또는 다른 디바이스들 및 연결들을 포함하는 중재 항목들을 통한 간접 전기 연결을 통해 이루어질 수 있다. 간접 결합에 대해, 중재 항목은 일반적으로 신호의 정보를 수정하지 않지만, 전류 레벨, 전압 레벨 및/또는 전력 레벨을 조정할 수 있다.
ECC 메모리 회로들의 ECC 로직 하드웨어에서, 일시적인 또는 영구적인 오류들이 기입 측에 존재할 수 있으며, 이는 잘못된 ECC 비트들이 기입 동작 중에 메모리에 기입되는 것을 초래할 수 있다. ECC 메모리 회로들의 판독 측에 있는 ECC 로직 하드웨어의 일시적인 또는 영구적인 오류들은 메모리 판독 데이터의 손상, 또는 판독 데이터가 실제로 손상되지 않은 경우 손상된 것처럼 메모리 판독 데이터를 잘못 플래깅(flagging)하는 것을 초래할 수 있다. 만약 기입 경로 회로와 판독 경로 회로가 독립적으로 동작하면, ECC 메모리 회로들의 ECC 로직에서의 일시적/영구적 오류들의 탐지가 가능할 수는 있지만, 이러한 탐지의 구현은 ECC 메모리 회로의 양측 상의 추가 ECC 생성 로직을 포함하여, 상당한 추가 로직이 요구된다.
도 1은 메모리 회로(130)(예를 들어, SRAM, ROM, 또는 플래시 메모리 칩) 및 판독 경로 회로(120) 내의 판독 경로 Gen ECC(120b1)의 비트 출력을 확인하기 위해 구성된 ECC 로직 회로에 결함 탐지를 갖는 설명된 "록스텝" ECC 하드웨어(110)를 포함하는 ECC 메모리 회로(100)를 도시한다. 메모리 회로(130)는 주어진 클럭 펄스 동안 오직 하나의 동작(판독 또는 기입)이 수행될 수 있는 단일 포트 메모리를 포함한다. 이러한 단일 포트 메모리 특징은 ECC GEN 로직들(특정 시간/클럭에서 활성이 아닌 측으로서, 기입이 도 1에 도시된 바와 같이 활성이지 않고, 판독이 도 2에 도시된 바와 같이 활성이지 않음) 중 하나로부터의 비트 출력을 설명된 록스텝 오류 탐지를 가능하게 하기 위한 참조로서 이용할 수 있게 한다.
메모리 회로(130)는 적어도 반도체 표면을 갖는 공통 기판(105)을 포함한다. 예를 들어, 기판(105)은 벌크 실리콘 기판, 또는 벌크 실리콘 기판 상의 에피택셜 층을 포함할 수 있다.
메모리 회로(130)는 별도의 데이터 출력 및 별도의 ECC 출력을 갖는다. k 비트들로 도시된 데이터는 r 비트들로 도시된 ECC 비트들과 함께 저장된다. 예를 들어, 만약 비 ECC 메모리가 64 비트들의 데이터를 저장하면, ECC 메모리는 ECC의 추가 8 비트들과 함께 동일한 64 비트들의 데이터를 저장할 것이다. 따라서, 64+8 비트들이 기입되고 64+8 비트들이 판독된다. ECC 8 비트들은 64 데이터 비트들의 유효성을 검사하기 위해 사용되며, 검사 ECC 내의 XOR 로직으로 간다.
기입 경로 회로(115)는 기입 생성(Gen) ECC 로직(115b)을 포함하고, 검사 ECC 로직(120b)은 판독 경로 회로(120) 내의 판독 Gen ECC 로직(120b1)을 포함한다. 기입 모드(기입 모드는 후술되는 도 2에서 활성)에서 동작하는 동안, 데이터 비트들(64 비트들과 같은, WR 데이터로 도시됨) 및 기입 ECC Gen 로직(115b)으로부터의 대응하는 계산된 ECC 비트들(예컨대, 8 비트들)은 동일한 클럭 사이클에서 메모리 회로(100)에 각각 기입된다. 도 1 및 도 2에서 메모리 회로(130)를 위한 데이터 폭은 하나의 예시에서 64 비트들(데이터) +8 비트들(ECC)을 포함하는 72 비트들(72 비트 폭 메모리)일 수 있고, 이는 폭 64 및 폭 8의 두 개의 별도의 메모리들, 또는 단일 72 비트 폭 메모리로서 실현될 수 있다.
전술한 바와 같이, 64 정보/데이터 비트들 및 8 ECC 비트들은 단지 예시들일 뿐이다. ECC 비트들의 실제 수는 이하의 예시에서 주어진 것과 같이, 데이터(정보)를 위한 대응하는 비트 폭을 기반으로 할 수 있다:
표 1
Figure 112019019099316-pct00001
멀티플렉서(Mux)(115a)는 기입 GEN ECC 로직(115b)의 입력에서, 일반적으로 메모리 회로(130)로부터의 k 비트들로 도시된 교차-결합된 연결(150)에 의해 제공된 교차-결합된 판독 데이터를 프로세서로부터의 기입(wr) 데이터와 멀티플렉스하기 위해 제공된다. 프로세서는 마이크로프로세서, 디지털 신호 프로세서(DSP), 또는 마이크로컨트롤러 유닛(MCU)을 포함할 수 있다. Mux(115a)는 Mux(115a)의 출력에 전송하기 위해 하나의 라인 상의 메모리로부터의 rd 데이터 및 다른 라인 상의 wr 데이터를 포함하는 입력 라인들 중 어느 것을 선택하는 데 사용되는, 프로세서로부터의 판독 모드에 있는 메모리 회로(130)에 기초하여 도시된 선택 라인을 갖는 것으로 도시된다. 판독 모드에 있을 때, rd 데이터는 Mux(115a)에 의해 선택되고, 기입 모드에 있을 때는, wr 데이터가 선택된다.
디지털 비교기(135)는 하나의 입력에서 기입 Gen ECC 로직(115b)으로부터의 출력(판독 동안 비활성이므로 참조로서) 및 다른 출력에서 판독 경로 Gen ECC(120b1)의 출력을 수신하도록 결합된다. 따라서 디지털 비교기(135)는 둘 다 오직 예시로서만 8비트들인 것으로서 보여지는, 판독 경로 Gen ECC(120b1)의 비트 출력을 확인하기 위해 기입 Gen ECC 로직(115b)으로부터의 출력을 재사용한다. XOR 회로(120b2)와 함께 판독 Gen ECC(120b1)가 검사 ECC 블록(120b)을 구성한다. XOR 회로(120b2)의 출력은 신드롬 디코드 블록(120c)에 "신드롬" 신호를 제공한다. 만약 신드롬이 0이면, 오류가 발생하지 않은 것이다. 만약 신드롬이 0이 아닌 경우, 신드롬 디코드 블록(120c)은 어느 비트들이 오류(SEC)인지를 결정하거나, 오류가 정정 불가능임(예를 들어, 오류가 더블 비트 오류)을 결정한다. 단일 비트 오류들은 SEC 블록(120d)에 제공되며, 이는 rd 데이터로 도시된 정정된 판독 데이터를 출력한다.
ECC 하드웨어(110)에 대해, 디지털 비교기(135)의 출력은 멀티-비트(2 이상) 오류 인터럽트 생성에 대한 인에이블 및 SEC 블록(120d)에 대한 인에이블로서 연결된다. 따라서 SEC 블록(120d)에 의한 메모리 판독 데이터의 SEC, 및 신드롬 디코드(120c)에 의해 제공되는 신드롬 계산을 사용하는 멀티-비트 오류 플래깅이 디지털 비교기(135)로부터의 인에이블 신호에 의해 모두 인에이블되는 것은, 기입 경로에 있는 ECC 계산들 및 판독 경로에 있는 ECC 계산들이 서로 일치하는 것(동일한 r 비트들로서 도 1에 도시됨)과 필요충분조건이다. 만약 기입 경로에서의 ECC 계산들과 판독 경로에서의 ECC 계산들이 서로 일치하지 않아 판독 동작 동안 록스텝 오류가 존재하면, 단일 비트 오류들은 정정될 수 있고, 더블 비트 오류와 같은 멀티-비트 오류들의 경우에는 비트 오류 인터럽트(디스에이블(disable)) 신호가 보내질 수 있다.
도 2는 메모리 회로(130)로부터 판독된 데이터로 기입 데이터를 먹스(mux)하기 위해, MUX(120e)가 판독 경로 회로(120')에 추가되고 교차-결합된 연결(150')이 기입 경로 회로(115')로부터 판독 경로 회로(120') 내의 MUX(120e)에 추가되는, 기입 Gen ECC 로직(115b)을 포함하는 기입 경로에서의 결함 탐지를 위한 설명된 ECC 하드웨어(110')를 포함하는 예시적인 ECC 메모리 회로(200)를 도시한다. 여기서, ECC 로직 회로에서 결함 탐지를 갖는 설명된 록스텝 ECC 하드웨어(110)는 기입 모드가 활성인 동안 기입 Gen ECC 로직(115b)의 비트 출력을 확인하도록 구성된다. "메모리 기입"으로 도시된 제어 입력은 MUX(120e)의 입력 선택 노드를 제어하는 제어 신호이다. 기입 모드에 있을 때, wr 데이터는 MUX(120e)에 의해 선택되고, 판독 모드에 있을 때는, rd 데이터가 선택된다.
판독 Gen ECC 로직(120b1)에 의한 ECC 비트들의 출력은 각각의 Gen ECC 로직들(115b 및 120b1)에 의해 생성된 ECC 비트들을 비교하는 디지털 비교기(135)에 의한 기입 Gen ECC 로직(115b)의 동작을 확인하는 데 사용된다. 생성된 디지털 비교기(135)의 출력은 기입 트랜잭션(write transaction)을 반복하기 위해 프로세서(예를 들어, 마이크로프로세서, 디지털 신호 프로세서(DSP), 또는 마이크로컨트롤러 유닛(MCU))에 대한 인터럽트로서 사용된다. 기입 동작 동안 디지털 비교기(135)에 의해 오류가 플래그되는 경우, 기입 동작은 메모리 회로(130)에 기입된 데이터에 오류가 없을 것을 보장하기 위해 반복될 수 있다. 오류가 일시적인 결함인 경우, 기입을 반복하면 하드웨어 오류 문제를 일반적으로 해결할 것이다. 영구적인 결함의 경우, 디지털 비교기(135)는 다시 계속 오류를 발생시킬 것이고, 이 경우 프로세서는 시스템에서 영구적인 결함이 발생했다는 것을 응용 소프트웨어에 나타내는 것과 같은 적절한 조치를 취할 수 있다. 이 동일한 오류 응답은 판독 동작의 경우에서 또한 적용된다.
도 3은 예시적인 실시예에 따라, 단일 포트 메모리 회로와 연관된 ECC 회로에 대한 결함 탐지의 예시적인 방법(300)에서의 단계들을 도시하는 흐름도이다. 단계(301)는 판독 Gen ECC 로직(도 1 및 도 2의 120b1)의 출력을 기입 Gen ECC 로직(도 1 및 도 2의 115b)의 출력과 비교하는 것을 포함한다. 단계(302)는 비교로부터의 비교 출력이 기입 Gen ECC 로직의 출력의 값이 판독 Gen ECC 로직(120b1)의 출력의 값과 동일하지 않은 것으로 결정할 때 기입 Gen ECC 로직 또는 판독 Gen ECC 로직에서의 결함을 탐지하는 것을 포함한다.
단계(103)는 판독 동작 동안 결함이 단일-비트 오류일 때, 단일-비트 오류를 정정하는 것과, 판독 동작 동안 결함이 멀티-비트 오류일 때, 멀티-비트 오류 인터럽트 신호를 전송하는 것을 포함한다. 결함이 기입 동작 중의 오류일 때, 기입을 반복한다. 판독 측에서 결함 탐지를 구현하는 도 1의 메모리 회로(100)에 대해 전술한 바와 같이, 단일 비트 오류들은 rd 데이터로 도시된 정정된 판독 데이터를 출력하는 SEC 블록(120d)에 제공된다. 기입 측에서 결함 탐지를 구현하는 도 2의 메모리 회로(200)에 대해 전술한 바와 같이, 기입 동작은 메모리 칩에 기입된 데이터에 오류가 없음을 보장하기 위해 반복될 수 있다.
도 1(기입 측 오류 검사) 및 도 2(판독 측 오류 검사)와 관련하여 전술한 실시예들은 메모리 회로(130)의 일 측면 상의 오류들을 탐지하기 위해 독립적으로(다른 하나 없는 하나) 실시될 수 있다. 대안적으로, 도 1 및 도 2와 관련하여 전술한 판독 측 및 기입 측 오류 검사 실시예들은 메모리 회로(130)의 양측 상에서 오류 검사를 가능하게 하기 위해 함께 조합될 수 있다.
도 4는 도 1 및 도 2와 관련하여 전술한 판독 측 및 기입 측 오류 검사 실시예들을 본질적으로 결합하는 판독 경로 및 기입 경로 모두에서의 결함 탐지를 위해 설명된 ECC 하드웨어(110'')를 포함하는 예시적인 ECC 메모리 회로(400)이다. Mux(115a) 외에 ECC 메모리 회로(400)는 판독 Gen ECC 로직(120b1)의 입력과 직렬로 메모리 회로(400)로부터의 판독 데이터를 수신하기 위한 제1 입력을 갖는 제2 Mux(120e), 및 기입 데이터를 제2 Mux(120e)의 제2 입력에 결합하기 위한 교차-결합된 연결(150')을 포함한다. 여기서 디지털 비교기(135)는 판독 측 오류 검사 및 기입 측 오류 검사 양측에 관련된다.
여기에 설명된 ECC 메모리 회로들과 반대로, 종래의 ECC 로직은 내부 메모리(예를 들어, RAM) 오류들을 탐지하고 정정하기 위해서만 사용된다. 여기에 설명된 ECC 로직을 갖는 ECC 메모리 회로들에 대해, 내부 메모리 오류들의 탐지 및 정정에 더하여 ECC 로직에서의 결함 탐지가 달성되고, 여기서 ECC 계산 및 생성 로직에서의 임의의 일시적/영구적 오류들이 또한 탐지되며, 이는 정정하는 조치를 취할 수 있게 한다. 전술한 바와 같이, 판독 Gen ECC(120b1)(도 1 참조)의 록스텝 오류의 경우, 단일 비트 오류는 정정될 수 있고 멀티-비트 오류 인터럽트 신호가 생성될 수 있다. 기입 Gen ECC 로직(115b)(도 2 참조)에서 록스텝 로직이 오류인 경우, 기입 동작이 반복된다. 더욱이, 설명된 록스텝 ECC 회로 하드웨어는 비침입식이고, 추가 로직 Mux들 및 비교기들 측면에서 제한된 영역 페널티만을 가지고 메모리 ECC 로직을 검사하기 위해 연속적으로(매 클럭 사이클마다, 온-더 플라이(on-the fly)) 동작할 수 있다.
설명된 실시예들은 이하의 예시들에 의해 추가로 도시된다. 도 5는 프로세서 메모리(1301)(프로세서 메모리 1로 도시됨) 및 프로세서 메모리(1302)(프로세서 메모리 N으로 도시됨)를 포함하는 도 4에 도시된 설명된 ECC 메모리 회로(4001 및 4002로 도시됨)의 2개의 예들을 포함하는 예시적인 ADAS 시스템(500)의 시스템도이다. ECC 메모리 회로들은 프로세서 메모리의 판독 경로 및 기입 경로에서의 결함 탐지를 위해 ECC 로직(1101 및 1102)으로 도시된 설명된 록스텝 ECC 회로 하드웨어를 가진다. 이미지 센서(505)(예를 들어, CMOS 컬러 카메라)는 장면으로부터(예를 들어, 자동차의 후방-뷰로부터) 이미지 데이터를 생성한다. 이미지 데이터는 카메라 인터페이스(510)에 의해 이미지 인식 시스템(515)에 결합된다. 비디오 인식 프로세서(515a), 플래시 메모리(515b), 외부 DDR 메모리(515c), 및 컨트롤러 영역 네트워크(CAN) 버스 Tx/Rx(트랜시버)(515d)를 포함하는 이미지 인식 시스템(515)이 도시되어 있다.
이미지 인식 시스템(515)은 CAN 버스(520)에 의해 프로세서 코어(530a)를 포함하는 프로세서 블록(530)에 결합된다. 프로세서 코어(530a)는 ECC 메모리 회로(4001 및 4002)의 프로세서 메모리(1301 및 1302)를 사용하기 위해 버스 인터페이스(535)에 의해 결합된 것으로 도시된다. 전술한 바와 같이, ADAS 시스템(500)의 동작 동안, ECC 메모리 회로들(4001 및 4002)은 기입 경로 회로와 판독 경로 회로 사이의 교차-결합된 연결들을 갖는 설명된 록스텝 ECC 회로 하드웨어를 사용하고, 이는 프로세서 메모리의 한 쪽에서의 ECC 생성 로직을 다른 쪽의 오류들을 검사하기 위해 재사용하는 것을 가능하게 하고, ECC 로직 요건들을 줄이고 상당한 반도체 칩 영역을 절약한다.
설명된 실시예들에서 수정이 가능하고, 청구범위의 범주 내에서 다른 실시예들이 가능하다.

Claims (20)

  1. 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어로서,
    기입 데이터로부터 제1 ECC 비트들을 생성하고 상기 메모리 회로에 상기 제1 ECC 비트들 및 상기 기입 데이터를 기입하기 위한 기입 생성(Gen) ECC 로직을 포함하는 기입 경로 회로;
    상기 메모리 회로의 ECC 출력에 결합하기 위한 입력을 갖는 XOR 회로에 결합된 판독 Gen ECC 로직을 포함하는 상기 메모리 회로로부터의 판독 데이터를 결합하기 위한 검사 ECC 블록을 포함하는 판독 경로 회로 - 상기 XOR 회로의 출력은 단일 비트 오류 정정(SEC) 블록에 결합되고 멀티-비트 오류 탐지(MED) 인터럽트 신호를 생성하기 위한 것인 신드롬 디코드 블록에게 신드롬 신호를 제공함 -;
    상기 기입 생성 ECC 로직에 대한 입력과 직렬로 상기 기입 데이터를 수신하기 위한 제1 입력을 갖는 제1 멀티플렉서(MUX), 또는 상기 판독 Gen ECC 로직에 대한 입력과 직렬로 상기 메모리 회로로부터 상기 판독 데이터를 수신하기 위한 제1 입력을 갖는 제2 MUX;
    상기 메모리 회로로부터의 상기 판독 데이터를 상기 제1 MUX의 제2 입력에 결합하기 위한 교차-결합 커넥터(cross-coupling connector), 또는 상기 기입 데이터를 상기 제2 MUX의 제2 입력에 결합하기 위한 교차-결합 커넥터; 및
    상기 기입 Gen ECC 로직의 출력과 상기 판독 Gen ECC 로직의 출력을 비교하기 위한 ECC 비트 비교기
    를 포함하는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  2. 제1항에 있어서, 상기 비교기의 출력이 상기 신드롬 디코드 블록에 대한 인 에이블 입력으로서 및 상기 SEC 블록에 대한 인에이블 입력으로서 결합되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  3. 제1항에 있어서, 상기 ECC 하드웨어 및 상기 단일 포트 메모리 회로는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  4. 제1항에 있어서, 상기 ECC 하드웨어는 상기 제1 MUX 및 상기 제2 MUX를 포함하는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  5. 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어로서,
    기입 데이터로부터 제1 ECC 비트들을 생성하고 상기 메모리 회로에 상기 제1 ECC 비트들 및 상기 기입 데이터를 기입하기 위한 기입 생성(Gen) ECC 로직을 포함하는 기입 경로 회로;
    상기 메모리 회로의 ECC 출력에 결합하기 위한 입력을 갖는 XOR 회로에 결합된 판독 Gen ECC 로직을 포함하는 상기 메모리 회로로부터의 판독 데이터를 결합하기 위한 검사 ECC 블록을 포함하는 판독 경로 회로 - 상기 XOR 회로의 출력은 단일 비트 오류 정정(SEC) 블록에 결합되고 멀티-비트 오류 탐지(MED) 인터럽트 신호를 생성하기 위한 것인 신드롬 디코드 블록에게 신드롬 신호를 제공함 -;
    상기 기입 생성 ECC 로직에 대한 입력과 직렬로 상기 기입 데이터를 수신하기 위한 제1 입력을 갖는 제1 멀티플렉서(MUX), 및 상기 판독 Gen ECC 로직에 대한 입력과 직렬로 상기 메모리 회로로부터 상기 판독 데이터를 수신하기 위한 제1 입력을 갖는 제2 MUX;
    상기 메모리 회로로부터의 상기 판독 데이터를 상기 제1 MUX의 제2 입력에 결합하기 위한 교차-결합 커넥터, 및 상기 기입 데이터를 상기 제2 MUX의 제2 입력에 결합하기 위한 교차-결합 커넥터; 및
    수신된 기입 Gen ECC 로직의 출력을 상기 판독 Gen ECC 로직의 출력과 비교하는 ECC 비트 비교기
    를 포함하는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  6. 제5항에 있어서, 상기 비교기의 출력이 상기 신드롬 디코드 블록에 대한 인 에이블 입력으로서 및 상기 SEC 블록에 대한 인에이블 입력으로서 결합되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  7. 제5항에 있어서, 상기 ECC 하드웨어 및 상기 단일 포트 메모리 회로는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
  8. 기입 경로 회로에서의 기입 생성(Gen) ECC 로직 및 판독 경로 회로에서의 판독 Gen ECC 로직을 포함하는 검사 ECC 로직을 갖는 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어를 위한 결함 탐지 방법으로서,
    상기 판독 Gen ECC 로직의 출력을 상기 기입 Gen ECC 로직의 출력과 비교하는 단계; 및
    상기 비교로부터의 비교 출력이 상기 기입 Gen ECC 로직의 출력 값이 상기 판독 Gen ECC 로직의 출력 값과 동일하지 않다고 결정할 때 상기 기입 Gen ECC 로직 또는 상기 판독 Gen ECC 로직에서의 결함을 탐지하는 단계; 및
    상기 결함이 단일-비트 오류일 때 상기 단일-비트 오류를 정정하고, 상기 결함이 멀티-비트 오류일 때 멀티-비트 오류 인터럽트 신호를 전송하는 단계를 포함하는 결함 탐지 방법.
  9. 제8항에 있어서, 상기 판독 경로 회로는 상기 메모리 회로의 ECC 출력에 결합된 다른 입력을 갖는 상기 판독 Gen ECC 로직의 출력에 결합된 XOR 회로를 더 포함하고, 상기 XOR 회로의 출력은 단일 비트 오류 정정(SEC) 블록 및 멀티-비트 오류 발생 회로에 결합된 신드롬 디코드 블록에 신드롬 출력을 제공하고,
    상기 방법은, 상기 비교 출력을 다중 비트 오류 탐지(MED) 회로의 인에이블 입력으로서 및 SEC 블록의 인에이블 입력으로서 결합하는 단계를 더 포함하는, 결함 탐지 방법.
  10. 제8항에 있어서, 상기 비교하는 단계와 상기 탐지하는 단계가 매 클럭 사이클마다 연속적으로 수행되는, 결함 탐지 방법.
  11. 제8항에 있어서, 상기 단일 포트 메모리 회로는 정적 랜덤 액세스 메모리(SRAM), 판독 전용 메모리(ROM), 또는 플래시 메모리를 포함하는, 결함 탐지 방법.
  12. 제8항에 있어서, 상기 단일 포트 메모리 회로는 첨단 운전자 보조 시스템(ADAS)의 프로세서를 위한 메모리인, 결함 탐지 방법.
  13. 첨단 운전자 보조 시스템(ADAS) 시스템으로서,
    장면으로부터 이미지 데이터를 생성하기 위한 이미지 센서;
    비디오 인식 프로세서 및 트랜시버를 포함하는 이미지 센서로부터 이미지 데이터를 수신하도록 결합된 이미지 인식 시스템; 및
    상기 이미지 인식 시스템에 결합된 프로세서 코어를 포함하는 프로세서 블록 - 상기 프로세서 코어는 ECC 메모리 하드웨어 및 단일 포트 프로세서 메모리를 포함하는 적어도 하나의 ECC 메모리 회로를 사용하도록 결합됨 -
    을 포함하고, 상기 ECC 메모리 하드웨어는 기입 데이터로부터 제1 ECC 비트들을 생성하고 상기 제1 ECC 비트들 및 상기 기입 데이터를 상기 프로세서 메모리에 기입하기 위한 기입 생성(Gen) ECC 로직을 포함하는 기입 경로 회로; 상기 프로세서 메모리의 ECC 출력에 결합하기 위한 입력을 갖는 XOR 회로에 결합된 판독 Gen ECC 로직을 포함하는 상기 프로세서 메모리로부터의 판독 데이터를 결합하기 위한 검사 ECC 블록을 포함하는 판독 경로 회로 - 상기 XOR 회로의 출력은 단일 비트 오류 정정(SEC) 블록에 결합되고 멀티-비트 오류 탐지(MED) 인터럽트 신호를 생성하기 위한 신드롬 디코드 블록에 신드롬 신호를 제공함 -; 상기 기입 생성 ECC 로직에 대한 입력과 직렬로 상기 기입 데이터를 수신하기 위한 제1 입력을 갖는 제1 멀티플렉서(MUX) 또는 상기 판독 Gen ECC 로직에 대한 입력과 직렬로 상기 판독 데이터를 상기 프로세서 메모리로부터 수신하기 위한 제1 입력을 갖는 제2 MUX; 메모리 회로로부터의 상기 판독 데이터를 상기 제1 MUX의 제2 입력에 결합하기 위한 교차-결합 커넥터 또는 상기 기입 데이터를 상기 제2 MUX의 제2 입력에 결합하기 위한 교차-결합 커넥터, 및 상기 기입 Gen ECC 로직의 출력과 상기 판독 Gen ECC 로직의 출력을 비교하기 위한 ECC 비트 비교기를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  14. 제13항에 있어서, 상기 비교기의 출력은 상기 신드롬 디코드 블록에 대한 인에이블 입력으로서 및 상기 SEC 블록에 대한 인에이블 입력으로서 결합되는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  15. 제13항에 있어서, 상기 ECC 메모리 하드웨어 및 상기 프로세서 메모리는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  16. 제13항에 있어서, 상기 ECC 메모리 하드웨어는 상기 제1 MUX 및 상기 제2 MUX를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  17. 제13항에 있어서, 상기 프로세서 메모리는 정적 랜덤 액세스 메모리(SRAM), 판독 전용 메모리(ROM), 또는 플래시 메모리를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  18. 제13항에 있어서, 상기 ECC 메모리 하드웨어 및 상기 프로세서 메모리는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  19. 제18항에 있어서, 상기 공통 기판 및 상기 반도체 표면은 모두 실리콘을 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
  20. 제13항에 있어서, 상기 이미지 센서는 컬러 카메라를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
KR1020197005416A 2016-08-23 2017-08-22 결함 탐지를 가진 오류 정정 하드웨어 KR102267860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217018553A KR102399843B1 (ko) 2016-08-23 2017-08-22 결함 탐지를 가진 오류 정정 하드웨어

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/244,739 2016-08-23
US15/244,739 US9904595B1 (en) 2016-08-23 2016-08-23 Error correction hardware with fault detection
PCT/US2017/047890 WO2018039156A1 (en) 2016-08-23 2017-08-22 Error correction hardware with fault detection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217018553A Division KR102399843B1 (ko) 2016-08-23 2017-08-22 결함 탐지를 가진 오류 정정 하드웨어

Publications (2)

Publication Number Publication Date
KR20190042013A KR20190042013A (ko) 2019-04-23
KR102267860B1 true KR102267860B1 (ko) 2021-06-23

Family

ID=61225790

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197005416A KR102267860B1 (ko) 2016-08-23 2017-08-22 결함 탐지를 가진 오류 정정 하드웨어
KR1020217018553A KR102399843B1 (ko) 2016-08-23 2017-08-22 결함 탐지를 가진 오류 정정 하드웨어

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217018553A KR102399843B1 (ko) 2016-08-23 2017-08-22 결함 탐지를 가진 오류 정정 하드웨어

Country Status (6)

Country Link
US (4) US9904595B1 (ko)
EP (1) EP3504624B1 (ko)
JP (2) JP7303408B2 (ko)
KR (2) KR102267860B1 (ko)
CN (1) CN109643262B (ko)
WO (1) WO2018039156A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904595B1 (en) * 2016-08-23 2018-02-27 Texas Instruments Incorporated Error correction hardware with fault detection
US10417077B2 (en) 2016-09-29 2019-09-17 2236008 Ontario Inc. Software handling of hardware errors
GB201710839D0 (en) * 2017-07-05 2017-08-16 Irdeto Bv Data protection
US10901840B2 (en) * 2018-06-28 2021-01-26 Western Digital Technologies, Inc. Error correction decoding with redundancy data
US10985765B2 (en) 2018-08-07 2021-04-20 Samsung Electronics Co., Ltd. Apparatus including safety logic
US10977109B2 (en) 2018-08-07 2021-04-13 Samsung Electronics Co., Ltd. Apparatus including safety logic
US11069421B1 (en) 2020-06-16 2021-07-20 Nxp Usa, Inc. Circuitry for checking operation of error correction code (ECC) circuitry
US20240013847A1 (en) * 2021-09-29 2024-01-11 Dream Chip Technologies Gmbh Electronic circuit and method for self-diagnosis of a data memory
US11921580B2 (en) * 2022-07-08 2024-03-05 Micron Technology, Inc. Redundant multiport memory for vehicle applications

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009721A1 (en) 2001-07-06 2003-01-09 International Business Machines Corporation Method and system for background ECC scrubbing for a memory array
US20030088805A1 (en) 2001-09-28 2003-05-08 Tim Majni Error indication in a raid memory system
US20090055602A1 (en) 2007-08-20 2009-02-26 Infineon Technologies Ag Method and apparatus for embedded memory security
KR101062755B1 (ko) 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
WO2015160859A1 (en) 2014-04-14 2015-10-22 Sirius Xm Radio Inc. Systems, methods and applications for using and enhancing vehicle to vehicle communications including synergies and interoperation with satellite radio
KR101611261B1 (ko) 2013-12-12 2016-04-12 엘지전자 주식회사 스테레오 카메라, 이를 구비한 차량 운전 보조 장치, 및 차량
JP2016066344A (ja) 2014-09-16 2016-04-28 株式会社デンソー メモリ診断回路

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5823678B2 (ja) * 1974-11-20 1983-05-17 日本電気株式会社 ジコチエツクキノウオユウスルアヤマリテイセイカイロ
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
JP2583547B2 (ja) * 1988-01-13 1997-02-19 株式会社日立製作所 半導体メモリ
US5173905A (en) * 1990-03-29 1992-12-22 Micron Technology, Inc. Parity and error correction coding on integrated circuit addresses
US5488691A (en) 1993-11-17 1996-01-30 International Business Machines Corporation Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
US5758050A (en) * 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
US7134069B1 (en) * 1999-06-16 2006-11-07 Madrone Solutions, Inc. Method and apparatus for error detection and correction
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
CN1409492A (zh) * 2001-09-07 2003-04-09 萧正杰 纠错码电路
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US8281221B2 (en) * 2005-10-18 2012-10-02 Nec Corporation Operation method of MRAM including correcting data for single-bit error and multi-bit error
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
US7861138B2 (en) * 2006-12-05 2010-12-28 Qimonda Ag Error correction in memory devices
JP4343945B2 (ja) * 2006-12-28 2009-10-14 三菱電機株式会社 電子制御装置
JP5158838B2 (ja) 2007-03-23 2013-03-06 古河電気工業株式会社 マグネットワイヤ用無酸素銅線材の試験方法及び無酸素銅マグネットワイヤの製造方法
WO2008133087A1 (ja) * 2007-04-17 2008-11-06 Nec Corporation 半導体記憶装置及びその動作方法
JP4994112B2 (ja) 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
KR101489827B1 (ko) * 2008-03-25 2015-02-04 삼성전자주식회사 낸드 플래시 메모리와 컨트롤러 간의 효율적인 프로토콜을사용하는 반도체 메모리 장치
JP5259343B2 (ja) * 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
US8090984B2 (en) 2008-12-10 2012-01-03 Freescale Semiconductor, Inc. Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
EP2443418B1 (en) * 2009-06-16 2018-12-05 TomTom North America Inc. Methods and systems for creating digital street network database
US8381083B2 (en) * 2009-10-22 2013-02-19 Arm Limited Error control coding for single error correction and double error detection
KR20110087036A (ko) * 2010-01-25 2011-08-02 삼성전자주식회사 덮어쓰기 가능한 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
US8612814B1 (en) * 2010-06-14 2013-12-17 Altera Corporation Memory error detection circuitry
US8560927B1 (en) * 2010-08-26 2013-10-15 Altera Corporation Memory error detection circuitry
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
US8984367B2 (en) * 2011-02-25 2015-03-17 Altera Corporation Error detection and correction circuitry
US8516339B1 (en) * 2011-04-01 2013-08-20 Xilinx, Inc. Method of and circuit for correcting adjacent bit errors in a memory
FR2983597B1 (fr) * 2011-12-01 2014-01-24 Viaccess Sa Procede de detection d'une erreur de lecture d'une donnee
US9081588B2 (en) 2012-01-31 2015-07-14 Mentor Graphics Corporation Execution time profiling for interpreted programming languages
US9081568B1 (en) * 2012-09-25 2015-07-14 Amazon Technologies, Inc. Electrical power system with automatic transfer switch failure protection
US9013921B2 (en) * 2012-12-06 2015-04-21 Samsung Electronics Co., Ltd. Semiconductor memory device
US10796617B2 (en) * 2013-06-12 2020-10-06 Infineon Technologies Ag Device, method and system for processing an image data stream
CN105340022B (zh) * 2013-06-24 2019-11-12 美光科技公司 用于校正数据错误的电路、设备及方法
WO2015037159A1 (ja) * 2013-09-13 2015-03-19 株式会社 東芝 半導体記憶装置及びメモリシステム
GB201320983D0 (en) * 2013-11-28 2014-01-15 Ibm Data encoding in solid-state storage apparatus
US9342404B2 (en) * 2013-12-12 2016-05-17 Phison Electronics Corp. Decoding method, memory storage device, and memory controlling circuit unit
JP6212396B2 (ja) * 2014-01-08 2017-10-11 ルネサスエレクトロニクス株式会社 データ処理装置
US9854707B2 (en) 2014-01-10 2017-12-26 Rosemount Aerospace Inc. Integrated pipe heat exchanger
US9430328B2 (en) * 2014-01-24 2016-08-30 Stmicroelectronics S.R.L. Error correction in memory devices by multiple readings with different references
US9495232B2 (en) 2014-03-28 2016-11-15 Intel IP Corporation Error correcting (ECC) memory compatibility
WO2015157932A1 (en) * 2014-04-16 2015-10-22 Intel Corporation Method, apparatus and system for handling data error events with memory controller
CN105830159B (zh) * 2014-11-27 2019-04-09 京微雅格(北京)科技有限公司 块存储器配置结构和配置方法
US9904595B1 (en) * 2016-08-23 2018-02-27 Texas Instruments Incorporated Error correction hardware with fault detection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009721A1 (en) 2001-07-06 2003-01-09 International Business Machines Corporation Method and system for background ECC scrubbing for a memory array
US20030088805A1 (en) 2001-09-28 2003-05-08 Tim Majni Error indication in a raid memory system
US20090055602A1 (en) 2007-08-20 2009-02-26 Infineon Technologies Ag Method and apparatus for embedded memory security
KR101062755B1 (ko) 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
KR101611261B1 (ko) 2013-12-12 2016-04-12 엘지전자 주식회사 스테레오 카메라, 이를 구비한 차량 운전 보조 장치, 및 차량
WO2015160859A1 (en) 2014-04-14 2015-10-22 Sirius Xm Radio Inc. Systems, methods and applications for using and enhancing vehicle to vehicle communications including synergies and interoperation with satellite radio
JP2016066344A (ja) 2014-09-16 2016-04-28 株式会社デンソー メモリ診断回路

Also Published As

Publication number Publication date
WO2018039156A1 (en) 2018-03-01
US9904595B1 (en) 2018-02-27
EP3504624B1 (en) 2021-03-03
KR102399843B1 (ko) 2022-05-20
US20220283899A1 (en) 2022-09-08
US20200210287A1 (en) 2020-07-02
JP2022123052A (ja) 2022-08-23
US11372715B2 (en) 2022-06-28
JP7303408B2 (ja) 2023-07-05
US10599514B2 (en) 2020-03-24
CN109643262B (zh) 2023-08-08
KR20210076195A (ko) 2021-06-23
EP3504624A4 (en) 2019-07-24
KR20190042013A (ko) 2019-04-23
US20180107541A1 (en) 2018-04-19
US11740968B2 (en) 2023-08-29
EP3504624A1 (en) 2019-07-03
CN109643262A (zh) 2019-04-16
JP2019525362A (ja) 2019-09-05
US20180060163A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
KR102267860B1 (ko) 결함 탐지를 가진 오류 정정 하드웨어
US11579965B2 (en) Memory error detection
US10546628B2 (en) Using dual channel memory as single channel memory with spares
US20060282751A1 (en) Fault tolerant memory system
US7480847B2 (en) Error correction code transformation technique
US7509559B2 (en) Apparatus and method for parity generation in a data-packing device
CN111880961A (zh) 用于透明寄存器数据错误检测和纠正的系统和方法
US11416332B2 (en) Protection for ethernet physical layer
US20020013929A1 (en) Error correction for system interconnects
US20190163569A1 (en) Memory and method of operating the memory
JPH01280838A (ja) パリティ再生自己チェッキング
US20100223527A1 (en) Data protection circuit, data protection method, and data processing apparatus
JPH02189665A (ja) バス方式
JPS62235649A (ja) 情報処理装置
JPH02162444A (ja) 演算処理装置
JPH0652002A (ja) データチェック方法及び回路
JPH01231151A (ja) 記憶装置におけるアドレス分配方式
JPH01223546A (ja) 記憶装置
JPH04134537A (ja) パリティ生成二重化回路

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant