KR102267860B1 - 결함 탐지를 가진 오류 정정 하드웨어 - Google Patents
결함 탐지를 가진 오류 정정 하드웨어 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
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 시스템의 시스템도이다.
도 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
멀티플렉서(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)
- 단일 포트 메모리 회로를 위한 오류 정정 코드(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) 하드웨어. - 제1항에 있어서, 상기 비교기의 출력이 상기 신드롬 디코드 블록에 대한 인 에이블 입력으로서 및 상기 SEC 블록에 대한 인에이블 입력으로서 결합되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
- 제1항에 있어서, 상기 ECC 하드웨어 및 상기 단일 포트 메모리 회로는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
- 제1항에 있어서, 상기 ECC 하드웨어는 상기 제1 MUX 및 상기 제2 MUX를 포함하는, 단일 포트 메모리 회로를 위한 오류 정정 코드(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 비트 비교기
를 포함하는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어. - 제5항에 있어서, 상기 비교기의 출력이 상기 신드롬 디코드 블록에 대한 인 에이블 입력으로서 및 상기 SEC 블록에 대한 인에이블 입력으로서 결합되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
- 제5항에 있어서, 상기 ECC 하드웨어 및 상기 단일 포트 메모리 회로는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어.
- 기입 경로 회로에서의 기입 생성(Gen) ECC 로직 및 판독 경로 회로에서의 판독 Gen ECC 로직을 포함하는 검사 ECC 로직을 갖는 단일 포트 메모리 회로를 위한 오류 정정 코드(ECC) 하드웨어를 위한 결함 탐지 방법으로서,
상기 판독 Gen ECC 로직의 출력을 상기 기입 Gen ECC 로직의 출력과 비교하는 단계; 및
상기 비교로부터의 비교 출력이 상기 기입 Gen ECC 로직의 출력 값이 상기 판독 Gen ECC 로직의 출력 값과 동일하지 않다고 결정할 때 상기 기입 Gen ECC 로직 또는 상기 판독 Gen ECC 로직에서의 결함을 탐지하는 단계; 및
상기 결함이 단일-비트 오류일 때 상기 단일-비트 오류를 정정하고, 상기 결함이 멀티-비트 오류일 때 멀티-비트 오류 인터럽트 신호를 전송하는 단계를 포함하는 결함 탐지 방법. - 제8항에 있어서, 상기 판독 경로 회로는 상기 메모리 회로의 ECC 출력에 결합된 다른 입력을 갖는 상기 판독 Gen ECC 로직의 출력에 결합된 XOR 회로를 더 포함하고, 상기 XOR 회로의 출력은 단일 비트 오류 정정(SEC) 블록 및 멀티-비트 오류 발생 회로에 결합된 신드롬 디코드 블록에 신드롬 출력을 제공하고,
상기 방법은, 상기 비교 출력을 다중 비트 오류 탐지(MED) 회로의 인에이블 입력으로서 및 SEC 블록의 인에이블 입력으로서 결합하는 단계를 더 포함하는, 결함 탐지 방법. - 제8항에 있어서, 상기 비교하는 단계와 상기 탐지하는 단계가 매 클럭 사이클마다 연속적으로 수행되는, 결함 탐지 방법.
- 제8항에 있어서, 상기 단일 포트 메모리 회로는 정적 랜덤 액세스 메모리(SRAM), 판독 전용 메모리(ROM), 또는 플래시 메모리를 포함하는, 결함 탐지 방법.
- 제8항에 있어서, 상기 단일 포트 메모리 회로는 첨단 운전자 보조 시스템(ADAS)의 프로세서를 위한 메모리인, 결함 탐지 방법.
- 첨단 운전자 보조 시스템(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) 시스템. - 제13항에 있어서, 상기 비교기의 출력은 상기 신드롬 디코드 블록에 대한 인에이블 입력으로서 및 상기 SEC 블록에 대한 인에이블 입력으로서 결합되는, 첨단 운전자 보조 시스템(ADAS) 시스템.
- 제13항에 있어서, 상기 ECC 메모리 하드웨어 및 상기 프로세서 메모리는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 첨단 운전자 보조 시스템(ADAS) 시스템.
- 제13항에 있어서, 상기 ECC 메모리 하드웨어는 상기 제1 MUX 및 상기 제2 MUX를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
- 제13항에 있어서, 상기 프로세서 메모리는 정적 랜덤 액세스 메모리(SRAM), 판독 전용 메모리(ROM), 또는 플래시 메모리를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
- 제13항에 있어서, 상기 ECC 메모리 하드웨어 및 상기 프로세서 메모리는 적어도 반도체 표면을 갖는 공통 기판 상에 형성되는, 첨단 운전자 보조 시스템(ADAS) 시스템.
- 제18항에 있어서, 상기 공통 기판 및 상기 반도체 표면은 모두 실리콘을 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
- 제13항에 있어서, 상기 이미지 센서는 컬러 카메라를 포함하는, 첨단 운전자 보조 시스템(ADAS) 시스템.
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 (11)
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 |
US10977109B2 (en) | 2018-08-07 | 2021-04-13 | Samsung Electronics Co., Ltd. | Apparatus including safety logic |
US10985765B2 (en) | 2018-08-07 | 2021-04-20 | 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 |
CN114446370A (zh) * | 2020-11-06 | 2022-05-06 | 长鑫存储技术有限公司 | 信号校验*** |
EP4222746A1 (en) | 2021-09-29 | 2023-08-09 | 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 |
DE102023102337A1 (de) | 2023-01-31 | 2024-08-01 | Infineon Technologies Ag | Fehlererkennung |
Citations (7)
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)
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 |
JP4905839B2 (ja) * | 2005-10-18 | 2012-03-28 | 日本電気株式会社 | Mramの動作方法 |
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 |
WO2010147730A1 (en) * | 2009-06-16 | 2010-12-23 | Tele Atlas 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 |
WO2014205590A1 (en) * | 2013-06-24 | 2014-12-31 | Micron Technology, Inc. | Circuits, apparatuses, and methods for correcting data errors |
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 |
CN106463179B (zh) * | 2014-04-16 | 2019-11-19 | 英特尔公司 | 利用存储器控制器处理数据错误事件的方法、装置和*** |
WO2016082141A1 (zh) * | 2014-11-27 | 2016-06-02 | 京微雅格(北京)科技有限公司 | 块存储器配置结构和配置方法 |
US9904595B1 (en) * | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
-
2016
- 2016-08-23 US US15/244,739 patent/US9904595B1/en active Active
-
2017
- 2017-08-22 EP EP17844237.2A patent/EP3504624B1/en active Active
- 2017-08-22 WO PCT/US2017/047890 patent/WO2018039156A1/en unknown
- 2017-08-22 KR KR1020197005416A patent/KR102267860B1/ko active IP Right Grant
- 2017-08-22 KR KR1020217018553A patent/KR102399843B1/ko active IP Right Grant
- 2017-08-22 CN CN201780051527.9A patent/CN109643262B/zh active Active
- 2017-08-22 JP JP2019511460A patent/JP7303408B2/ja active Active
- 2017-12-15 US US15/844,259 patent/US10599514B2/en active Active
-
2020
- 2020-02-13 US US16/790,444 patent/US11372715B2/en active Active
-
2022
- 2022-05-25 US US17/824,605 patent/US11740968B2/en active Active
- 2022-06-16 JP JP2022096954A patent/JP2022123052A/ja active Pending
Patent Citations (7)
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 |
---|---|
EP3504624B1 (en) | 2021-03-03 |
US20200210287A1 (en) | 2020-07-02 |
US20220283899A1 (en) | 2022-09-08 |
US11740968B2 (en) | 2023-08-29 |
US20180107541A1 (en) | 2018-04-19 |
US9904595B1 (en) | 2018-02-27 |
JP7303408B2 (ja) | 2023-07-05 |
KR20190042013A (ko) | 2019-04-23 |
KR20210076195A (ko) | 2021-06-23 |
US10599514B2 (en) | 2020-03-24 |
EP3504624A1 (en) | 2019-07-03 |
KR102399843B1 (ko) | 2022-05-20 |
WO2018039156A1 (en) | 2018-03-01 |
CN109643262A (zh) | 2019-04-16 |
EP3504624A4 (en) | 2019-07-24 |
JP2022123052A (ja) | 2022-08-23 |
CN109643262B (zh) | 2023-08-08 |
US20180060163A1 (en) | 2018-03-01 |
JP2019525362A (ja) | 2019-09-05 |
US11372715B2 (en) | 2022-06-28 |
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 | |
US7765454B2 (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 | |
CN114138544A (zh) | 数据读取、写入方法及装置、软错误处理*** | |
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) | バス方式 | |
JPH02162444A (ja) | 演算処理装置 | |
JPH01231151A (ja) | 記憶装置におけるアドレス分配方式 | |
JPH01223546A (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 |