KR100488822B1 - 에러정정메모리 - Google Patents
에러정정메모리 Download PDFInfo
- Publication number
- KR100488822B1 KR100488822B1 KR1019970053918A KR19970053918A KR100488822B1 KR 100488822 B1 KR100488822 B1 KR 100488822B1 KR 1019970053918 A KR1019970053918 A KR 1019970053918A KR 19970053918 A KR19970053918 A KR 19970053918A KR 100488822 B1 KR100488822 B1 KR 100488822B1
- Authority
- KR
- South Korea
- Prior art keywords
- error correction
- bits
- bit
- ecc
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- 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
-
- 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
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
Abstract
에러 정정 동적 메모리(100)는 리프레시 동안에만 또는 버스트 판독중 제2 (또는 후속하는)판독 동안에만 또는 재기입 동안 에러 정정(110)을 실행한다. 더욱이, 메모리는 기입 동안이 아닌 리프레시 동안 및 체크 비트를 발생하기 위해 데이타 비트들 및 체크 비트들 이외에도 에러-정정-코드-옵셀릿 비트를 포함할 수 있다. 이는 소프트 에러에 약간 더 노출됨에도 불구하고 판독 액세스 딜레이 또는 기입 딜레이 없이 에러 정정을 제공한다.
Description
본 발명은 반도체 장치 및 회로에 관한 것으로 더 상세히는, 에러 정정용 반도체 메모리에 관한 것이다.
동적 랜덤 액세스 메모리(DRAM)는 통상적으로 캐패시터에 전하로서 비트를 저장하고 전계 효과 트랜지스터(field effect transistor)를 통하여 캐패시터에 액세스한다. 이는 액세스 트랜지스터의 캐패시터-측 접합을 투과하는 서브원자 입자들에 의해 발생된 전하로부터의 소프트 에러(soft error)에 메모리 셀을 노출시킨다.
소프트 에러 정정에 대한 다양한 접근이 시도되어왔다. 예를 들어, DRAM Furutani 등에 의한 "A Built-in Hamming Code ECC Circuit for DRAM's" 제하의, 24 IEEE JSSC 50(1989) 및 Kalter 등에 의한 "A 50-ns 16-Mb DRAM with a 10-ns Data Rate and On-chip ECC", 제하의 25IEEE JSSC 1118(1990)은 판독 동작 및 리프레시(refresh) 동작(라이트 백(write back) 다음에 이어지는 판독)시 에러 정정용의 부가의 에러 정정 회로를 갖고 있는 DRAM을 기술하고 있다. 이러한 에러 정정은 소프트 에러를 보상하나 에러 정정 회로 딜레이에 따른 DRAM의 액세스 시간을 감속시킨다.
본 발명은 액세스 동작 동안이 아닌 리프레시 동안에만 동작하는 에러 정정 회로를 갖는 DRAM을 제공한다.
본 발명은 어떤 액세스 딜레이도 없이 액세스 동작 동안 에러 정정을 하는 완전한 소프트 에러 정정에 장점을 갖고 있다.
도 1은 메모리 셀 어레이(102), 행 어드레스 디코더(104), 센스 증폭기(106), 열 어드레스 디코더(108), 및 에러 정정 회로(110)를 포함하는 바람직한 제1 실시예를 도시한다. DRAM(100)은 설명의 간소화를 위해 단일 메모리 셀 어레이와 단일 비트 입/출력을 가지고 있는 것만 도시되어 있다. 에러 정정 회로는 해밍에러 정정 코드(ECC)를 구현하는 도 2 및 도 3에서 예시된 것일 수 있다.(피터슨 및 웰던, 에러 정정 코드(MIT 프레스, 2d Ed, 1972) P117-119는 해밍 코드들을 기술한다. 이는 단지 많은 가능한 에러 정정 회로들중 단지 하나이고 많은 가능한 에러 정정 코드들중 단지 하나에 불과하다. 실제로, DRAM(100)은 한 행(코드 블럭)당 1개의 에러를 정정하는 반면, 다른 에러 정정 코드들은 행당 더 많은 에러들을 정정할 수 있었을 것이다. 어레이(102)에 있는 각 행은 양 데이타 비트 및 대응하는 체크 비트들에 그리고 ECC-옵설릿 비트(ECC-obsolete bit)를 저장한다. 예를 들어, 어레이(102)는 데이타 비트를 저장하는 제1의 1024열과 11개의 체크 비트와 1개의 ECC-옵설릿 비트 저장한 최종 12열을 갖는 1036열들을 가질 수 있을 것이다. 도 1은 어레이(102)의 오른쪽 에지에 있는 체크 비트와 ECC-옵설릿 비트열들을 도시한다. 체크 비트들과 ECC-옵설릿 비트는 테스팅 하는 경우를 제외하고는 입/출력 버스를 통해 액세스가 가능하지 않다(도시되지 않음). 리프레시 동작만이 에러 정정을 실현시킨다. 기입 동작은 ECC-옵설릿 비트를 설정한다. 판독 또는 기입 동작 동안에는 에러 정정 딜레이가 없다.
DRAM(100)은 다음과 같이 동작한다. 어레이(102)에 저장된 데이타 비트의 판독은 표준 DRAM 판독에 이어진다: 먼저 전체 대응하는 행을 따라 셀 액세스 트랜지스트들을 활성화시키는 행 디코더(104)에 의해 원하는 비트의 행 어드레스를 디코드한다. 센스 증폭기(106)는 비트들의 행을 래치시키며, 그후 열 디코더(108)는 비트의 열 어드레스를 디코딩하고 열의 센스 증폭기를 입/출력 버스에 접속함으로써 원하는 비트를 입/출력 버스에 싣는다. 이는 표준의 DRAM 판독 동작으로 에러 정정에 따른 딜레이도 없다.
어레이(102)에 데이타를 기입하는 것은 또한 표준의 행 어드레스 디코딩, 센스 증폭기 래칭, 열 어드레스 디코딩, 새로운 비트로 래치하기 위해 어드레스된 열의 센스 증폭기에 입/출력 버스를 접속하는 것(새로운 비트를 홀딩하는것), 비트 라인 분리, 및 행 비활성화를 포함한다. 기입은 부가적으로 행의 ECC-옵설릿 메모리 셀에 1을 부가하여 이 행으로의 기입이 이루어졌다는 것을 가리킨다. 도 1은 에러 정정 회로(110)의 일부로서 ECC-옵설릿 비트의 설정을 도시한다. 설정되는 ECC-옵설릿 비트는 행의 다음의 리프레시 동안 에러 정정을 실행하기 보다는 체크 비트를 발생하도록 에러 정정 회로(110)에 명령할 것이다. 또한 에러 정정 회로(110)는 다음의 리프레시 동안 새로운 체크 비트들을 결정하여 기입할때 ECC-옵설릿 비트를 클리어 시킨다.
리프레시 동작도 유사하게 전체 행(데이타 비트와 체크 비트 그리고 ECC-옵설릿 비트)에 있는 액세스 트랜지스터들을 활성화시키기 위해 행 디코더(104)에 인가된 행 어드레스(리프레시 카운터로부터의)로 시작되고, 센스 증폭기(106)는 비트를 래치하여 에러 정정 회로(110)에 비트들을 공급한다. 만약 ECC-옵설릿 비트가 '0' 이면, 에러 정정 회로(110)는 요구되는 임의의 에러 정정을 실행하고(정정된) 행 비트들을 어레이(102)에 재기입한다. 반면 ECC-옵설릿 비트가 1이면 에러 정정 회로(110)는 래치된 데이타 비트들에 대한 체크 비트들을 계산하고 ECC-옵설릿 비트에 대한 0과 함께 데이타 비트및 새로운 체크 비트를 어레이(102)에 재기입한다.
특히, 에러 정정의 경우(ECC-옵설릿 비트 0), 에러 정정 회로(110)는 행의 11 체크 1024 데이타 비트와 11 체크 비트를 11개의 신드롬 트리(syndrome tree)들에 인가한다. 만약 결과적인 11 신드롬 비트(신드롬 벡터)들이 모두 0이면, 에러 정정이 필요치 않고 센스 증폭기(106)에 의해 래치된 1024 데이타 비트 및 11개의 체크 비트들이 어레이(102)의 활성 행(active row)으로 재기입된다. 반대로, 만약 신드롬 벡터가 0가 아니면, 11 비트-투-1-오브-1035(11 bit-to-1-of-1035)에 인가된 신드롬 벡터는 에러가 있는 비트의 열을 찾아내고, 이 비트는 비트들이 어레이(102)의 활성 행으로 재기입되기 이전에 보충(complement)된다(즉, 대응 센스 증폭기는 강제적으로 보충 상태로 된다). 도 2 내지 3 참조.
따라서, 에러 정정 리프레시 사이클은 어레이(102)로부터 전체 행을 판독하고 에러(많아야 1개의 에러가 존재함) 식별하기 위해 행의 데이타 비트 및 체크 비트들을 신드롬 트리들에 전송하고, 잘못된 비트(만약 있으면)를 찾기 위해 신드롬 벡터를 디코딩하여, 잘못된 비트를 보충하고, (정정된) 데이타 및 체크 비트의 행을 어레이(102)에 기입하는 것으로 구성된다. 이 리프레시 사이클은 에러 정정없이도 표준의 리프레시 사이클 보다 더 많은 시간이 소요되지만, 에러 정정은 비교적 적은 양만큼 표준 리프레시 사이클 기간을 증가시킬 수 있다. 기본적으로, 어레이로부터의 비트 판독 및 어레이로의 기입은 민감한 센스 증폭기들이 느리게 동작하기 때문에 비교적 늦게 동작한다. 에러 정정 회로는 리프레시 사이클에 부가되기에 충분히 빠르다. 반대로, 에러 정정에 의해 소모된 가외의 수 ns는 메모리 판독 사이클 동안 허용할 수 없는 큰 액세스 딜레이다.
체크 비트 발생의 경우(ECC-옵설릿 비트가 1인), 신드롬 트리들은 11개의 새로운 체크 비트를 발생한다. 특히, 최신의 기입으로부터의 1024 데이타 비트들및 11개의 구 체크 비트들을 대신한 11개의 0는 신드롬 트리들로의 입력들이고, 결과적인 11개의 신드롬 비트들은 새로운 세트의 체크 비트들로서 취해진다. 이후, 데이타 비트들 및 새로운 체크 비트들은 ECC-옵설릿 비트에 대한 0과 함께 어레이(102)에 재기입된다.
DRAM 내용들이 리프레시 사이클을 통해(통상적으로 외부적으로 개시됨) 사이클적으로 정정되면, 리프레시 에러 정정이 없는 경우 처럼 에러 정정 코드들을 사용하여 소프트 에러들에 대한 각 데이타 판독을 보호해야 할 필요가 없다. 이는 최종 리프레시로부터 데이타 판독까지의 시각대(time window)가 DRAM에 데이타가 존재하는 전체 시간중 작은 부분이라서, 소프트 에러의 가능성이 대응적으로 감소된다고 가정하고 있다. 유사하게, 데이타 기입으로부터 다음 리프레시까지의 시각대는 데이타가 DRAM에 존재하는 전체 시간중 작은 부분인 것으로 가정된다. 결과적으로, 바람직한 실시예의 DRAM은 에러 정정 없이 데이타 판독 결과를 출력한다, 이는 에러 정정 동작의 잠재적인 패널티(latency penalty)를 제거한다. 실제로, 리프레시 동안만 에러 정정을 실행하는 것은 소프트 에러 비율을 몇 차수 크기 만큼 감소시켜, 전체적인 DRAM 전체의 소프트 에러 비율을 수용 가능한 레벨로 감소시킨다.
데이타 판독 액세스의 임계 타이밍 경로로부터 에러 정정 회로를 제거한 결과로서, 에러 정정 회로는 다소 느리게 설계할 수 있다. 이와 같은 속도 요건의 감소는 에러 정정 회로용으로 요구되는 영역 및/또는 파워를 감소시키는데 사용될 수 있다.
간단히, 데이타 판독 액세스 시간 패널티를 삭제시키기 위한 바람직한 실시예 스킴은 간단하다: 데이타 판독 출력들을 수정하지 않고, 리프레시 동작 동안 DRAM 내용을 연속적으로 정정하기만 하면 된다. 유사하게, 스킴은 단순히 새로운 데이타 비트 기입과 함께 ECC-옵설릿 비트를 설정하고 다음의 리프레시 동작 동안 체크 비트를 발생하므로써 데이타 기입 시간 패널티를 제거한다 .
기입 가변
ECC-옵설릿 비트의 설정과 함께 표준 비트 기입으로 구성되는 기입 동작이 아니라, ECC-옵설릿 비트가 제거될 수 있고 기입 동작은 다음과 같이 새로운 체크 비트를 발생하는 것을 포함한다: 기입되는 새로운 데이타 비트를 보유하는 행을 활성화시켜, 센스 증폭기에서 존재하는 비트들을 래치하고 이렇게 갱신된 데이타 비트의 행을 에러 정정 회로에 공급하여 새 체크 비트들을 발생하고; 갱신된 데이타 비트와 새로운 체크 비트를 어레이의 메모리 셀의 활성 행에 기입한다. 이러한 기입 사이클은 표준의 기입 사이클 보다 더 길어지나, 리프레시 동작은 체크 비트들을 발생할 필요가 없고 단지 에러들을 정정하기만 하면 된다.
판독 가변
전장에서 언급한 기본적인 스킴에 대한 대안으로 버스트 판독(동일한 행으로부터 연속적인 비트들을 판독)과 정정된 재기입을 갖는 판독 및, 다양한 대안적인 판독안들이 다음과 같이 분류될 수 있다:
(1) 리프레시 동안만 더 이상, 에러 정정 또는 체크 비트 발생없는 단일 판독.
(2) 리프레시 동안의 에러 정정 이외에도 에러 정정 또는 체크 비트 발생 및 정정된 행의 재기입으로 이어지는 단일의 비정정 판독.
(3) 에러 정정없이 제1 비트 판독을 가지나, 행은 에러 정정되거나 체크 비트 발생된 다음 제2 플러스 연속 (에러 정정된) 비트들이 판독되는 버스트 판독. 또한, 리프레시는 발생된 에러 정정 또는 체크 비트를 제공한다.
실제로, 버스트 판독 동작에서는, 연속 출력들을 정정할 시간이 있으므로 제1 출력만이 보호될 필요가 있다. 또한, 버스트 판독에서, 정정 후, 정정된 데이타를 메모리 셀에 재기입할 시간이 있다. 단일의 비-버스트 판독 동작의 경우는, 데이타를 출력한 다음 정정을 실시하는 것이 바람직하며, 정정된 데이타는 메모리 어레이에 재배치된다. 이는 단일 판독 동안 사이클 시간 패널티를 초래할 수 있으나, 액세스 시간 패널티는 초래하지 않는다. 이는 만약 비보호된 소프트 에러가 발생하고, DRAM이 데이타 판독후 에러를 정정한다면, 메모리 액세스의 간단한 재시도는 정확한 결과를 산출하게 됨을 의미한다는 것을 주지하기 바란다. 이는 DRAM 데이타를 보호하기 위해 패리티를 사용하지만 에러 정정을 이용하지 않는 시스템이 패리티 에러에 대한 참조를 간단히 재시도할 수 있고, 이 경우에 재시도하여 올바른 결과를 얻을 것이라는 것을 의미한다. 이는 에러 정정이 필요한 것과 에러 정정이 필요없는 것을 차별할 수 있게 해줄 수 있다.
코드 블럭 사이즈
일반적으로, m 체크 비트들은 2m의 가능한 신드롬 벡터들을 뜻한다. 모든 제로 신드롬 벡터들은 비트 에러가 없는 경우를 위해 확보되고, 신드롬 벡터들의 m(10개의 0와 1개의 1로 구성되는 벡터들)은 체크 비트 에러들을 나타내는 것으로 편리하게 사용된다. 그래서, m 체크 비트들은 2m-1-m 데이타 비트용의 단일의 에러 정정을 지원할 수 있다. 그리하여, 1024 데이타 비트들의 행에 대하여, 11개의 체크 비트(그리고 하나의 ECC-옵설릿 비트)면 충분하다.
각각이 1 기가 비트인 4분원으로 분할된 4 기가 비트는 각 분원에서 215 행, 및 열을 필요로 한다. 통상적으로, 워드 라인들(행)의 RC 시상수 및 비트 라인들(열)의 캐패시터 결합은 이들 4분원을 세분하여 행에 있는 열의 수를 대략 1024로 제한하고 비트 라인들을 분할하여 센스 증폭기당 메모리 셀의 수를 대략 128개로 제한한다(비록 센스 증폭기들이 두개의 비트 라인쌍들에 의해 공유될 수 있다 하더라도). 128개의 행과 1024개의 열에 의한 213개의 메모리 셀 어레이 블럭 각각과 1024 센스 증폭기들은 11개의 신드롬 트리들을 갖는 에러 정정 회로를 가질수 있다; 그러나 이는 전체 DRAM 집적 회로 칩 영역중 너무 낳은 부분을 차지할 수도 있다. 결과적으로, (동일선상의 비트라인 분할에 대응하는)다중 센스 증폭기를 동일한 에러 정정 회로에 결합해서 에러 정정 회로의 수를 줄일 수 있다. 실제로, 전형적인 리프레시 카운터들은 1024, 2048, 또는 4096 까지 카운트할 수 있으므로, 8, 16, 또는 32 세트의 센스 증폭기를 동일한 에러 정정 회로에 결합할 수 있다. 대안적으로, 더 작은 에러 정정 블럭들이 사용될 수 있어 1024 데이타 비트들이 각각 128개의 데이타 비트들로 이루어진 8개 블럭들로 분할될 수 있다. 이 경우, 각 128 비트 블럭은 9개의 체크 비트들과 1개의 ECC-옵설릿 비트를 갖게 될것이다. 비록 다중 센스 증폭기들이 에러 정정용으로 함께 결합될 수 있더라도 138 비트 라인들의 각 그룹들은 그 자체의 에러 정정 회로를 가질 것이다.
다른 에러 정정 코들들은 더 많은 체크 비트들을 희생시켜 신드롬 트리들의 복잡성을 감소시킬 수 있다. 예를 들어, 1024 데이타 비트 블럭에서, 2차원의 패리티 체크는 1024 데이타 비트를 포함하는 32 x 32 어레이의 64 체크 비트에 대해 각행당 1 패리티 비티 및 각 열당 1 패리티를 저장하는 것이다. 이는 전술의 실시예에서의 11개의 체크 비트를 초과하나, 신드롬 트리들에서 배타적 OR 게이트의 수를 감소시킬 것이다.
평가된 효과
바람직한 실시예에서 DRAM 데이타는 항상 그렇지는 않으나 많은 소프트 에러들에 대하여 보호된다. ECC 블럭이 기입되는 시간과 다음 리프레시 또는 판독이 되는 시간 사이에서 그리고, 최종 리프레시되는 시간과 판독되는 시간 사이에서 데이타는 비보호된다.
DRAM 비트들의 일부분은 소프트 에러에 취약하나, 이들 에러로부터 비트들이 보호되는 시간은 DRAM의 데이타 액세스 패턴에 좌우된다. 가상 메모리를 갖는 컴퓨터들에서, DRAM내의 페이지 수에 의해 분할된 초당 페이지 폴트(fault) 수는 DRAM내의 페이지의 대략 라이프 타임을 제공한다. 평균적으로, 만약 리프레시 간격이 100ms이고 페이지가 100초 이상 DRAM에 머무른다면(통상의 어림치), DRAM내의 판독 전용 데이타는 기입에 기인해서 상기 시간의 0.1% 동안만 소프트 에러에 취약한 상태가 된다.
종종 기입된 DRAM의 데이타의 취약성을 예상하기란 아주 어렵다. 16MB의 DRAM을 갖는 컴퓨터 시스템에서, 4 바이트가 100 ns로 기입될 수 있다고 가정하자. 메모리의 전체 내용을 기입하는데는 0.4초 소요될 것이다. 메모리가 이 시간의 10%의 시간대에서 사용중이되 이중 5%가 판독하는데 소요되고 5%가 기입하는데 소요된다면, 메모리의 전체 내용을 기입하는데는 8초가 소요될 것이다. 평균적으로, 각 위치는 8초 간격동안에 1번 판독 및 기입될 것이다. 판독 및 기입 각각은 리프레시로부터 또는 리프레시하기 까지 평균 50ms (리프레시 사이클 시간의 반)소요되므로, 전체 비보호 시간은 100ms이다. 이는 어떤 개별 위치가 8초 간격으로 대략 100ms 동안 또는 대략 이 시간의 1.25% 동안 소프트 에러에 무방비 상태가 된다는 것을 의미한다.
DRAM 액세스 패턴들이 실제 소프트 에러 감염도를 결정하려면, 이 시스템을 통하여 단지 1-2차순 크기의 소프트 에러 면역도를 얻을 필요가 있고, 실제로 메모리 액세스 패턴이 이를 달성하는 것은 쉬울수 있다.
소프트-에러 취약 시간이 최고의 퍼센티지(percentage)를 차지하는 최악의 액세스 패턴은 DRAM 전체를 선형으로 워드를 판독해서 그위에 기입하여 클리어(sweep) 시킬때이다. 16M 비트 x 4 DRAM에서 사이클 시간을 50ns라고 가정하면, 판독 및 기입은 100ns내에 실행될 수 있다. 전체 DRAM을 클리어 시키는데는 16M 사이클 즉 1.6 초가 소요된다. 100ms을 리프레시 간격으로 가정하면, 판독 이전의 리프레시 간격의 일부가 소프트-에러에 취약해지고 바로 이어지는 리프레시 간격의 일부 또한 설정되는 ECC-옵설릿 비트와 아직 갱신되지 않은 체크 비트들에 기인해서 소프트 에러에 취약해진다. 그리하여, 소프트 에러에 취약한 전체 시간은 100ms/1.6sec로 대략 6%이다.
만약 어떤 위치들이 아주 빈번하게 기입 및 판독이 된다면, 소프트 에러에 취약한 시간의 퍼센티지가 높아지는 결과가 되며, 이는 다른 위치들이 덜 빈번하게 판독되므로 소프트 에러에 덜 취약하다는 것을 의미한다. 전체 DRAM 칩에서 소프트 에러 취약성은 그의 모든 부분의 감염도의 합이기 때문에, DRAM의 평균 소프트 에러 취약성이 개선된다. 예를 들어, 소정 시간 동안 DRAM의 1%가 항상 소프트 에러에 민감하게 만드는 패턴으로 연속하여 판독되고 기입된다면, DRAM 칩의 다른 99%는 소프트 에러로부터 100% 보호된다.
본 발명의 바람직한 실시예들은 에러 정정 없이 데이타 비트를 판독하는 특성 및 에러 정정 체크 비트의 발생없이 데이타 비트를 기입하는 특성을 하나 이상 유지하면서 다양하게 변화될 수 있다. 예를 들어, 두개 이상의 에러를 정정하기 위한 코드를 포함해서 다른 에러 정정 스킴들이 실현될 수 있다.
상술한 바와 같이 본 발명은 액세스 동작 동안이 아닌 리프레시 동안에만 동작하는 에러 정정 회로를 갖는 DRAM을 제공함으로서, 어떤 액세스 딜레이도 없이 액세스 동작 동안 에러 정정을 하는 완전한 소프트 에러 정정에 장점을 갖고 있다. 또한, 본 발명의 에러 정정 메모리는 액세스 동작 동안이 아닌 리프레시 동안에만 동작하는 에러 정정 회로를 갖는 DRAM을 제공한다.
도 1은 바람직한 실시예의 메모리 셀 어레이 및 주변 회로의 그리고 에러 정정 회로의 블럭도.
도 2 및 3은 에러 정정 회로도.
<도면의 주요 부분에 대한 부호의 설명>
102 : 메모리 셀 어레이
104 : 행 디코더
106 : 센스 증폭기
108 : 열 디코더
110 : 에러 정정 회로
Claims (3)
- 메모리에 있어서,(a) 행들 및 열들로 배치된 메모리 셀들을 포함하고,(b) 상기 행들 각각은 데이타 비트 셀들, 체크 비트 셀들, 및 에러-정정-코드-옵설릿(error-correction-code-obsolete)(ECC-옵설릿(ECC-obsolete)) 비트 셀을 포함하며,(c) 상기 메모리 셀들에 결합되고, 상기 셀들의 행을 주기적으로 고려하여, (i) 상기 ECC-옵설릿 비트 셀이 제1 상태에 있을 때는, 상기 행의 체크 비트 셀들이 부가된 상기 데이타 비트 셀들에 포함된 비트들의, 혹시 있을 수 있는, 에러를 정정하거나, 또는 (ii) 상기 ECC-옵설릿 비트 셀이 상기 제1 상태와는 다른 제2 상태에 있을 때는 상기 행의 상기 데이타 비트 셀들 내의 상기 비트들로부터 상기 체크 비트 셀들에 대한 대체 비트들(replacement bits)을 발생하는 에러 정정 회로를 포함하는 메모리.
- 제1항에 있어서,(a) 상기 메모리는 동적 랜덤 액세스 메모리이고,(b) 상기 주기적으로 고려하는 것은 리프레시 동안에 이루어지는 메모리.
- 제1항에 있어서,(a) 상기 에러 정정 회로는 상기 (ii)의 발생과 함께 상기 제2 상태로부터 상기 제1 상태로 상기 ECC-옵설릿 비트 셀을 변경시키는 메모리.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2897596P | 1996-10-21 | 1996-10-21 | |
US60/028,975 | 1996-10-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980033007A KR19980033007A (ko) | 1998-07-25 |
KR100488822B1 true KR100488822B1 (ko) | 2005-08-05 |
Family
ID=21846537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970053918A KR100488822B1 (ko) | 1996-10-21 | 1997-10-21 | 에러정정메모리 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6065146A (ko) |
EP (1) | EP0837392A1 (ko) |
JP (1) | JPH10177800A (ko) |
KR (1) | KR100488822B1 (ko) |
TW (1) | TW382705B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100954731B1 (ko) | 2004-02-27 | 2010-04-23 | 인텔 코포레이션 | 에러 보고 방법 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748547A (en) * | 1996-05-24 | 1998-05-05 | Shau; Jeng-Jye | High performance semiconductor memory devices having multiple dimension bit lines |
US20050036363A1 (en) * | 1996-05-24 | 2005-02-17 | Jeng-Jye Shau | High performance embedded semiconductor memory devices with multiple dimension first-level bit-lines |
US6584594B1 (en) * | 1999-05-18 | 2003-06-24 | Advanced Micro Devices, Inc. | Data pre-reading and error correction circuit for a memory device |
US6438726B1 (en) * | 1999-05-18 | 2002-08-20 | Advanced Micro Devices, Inc. | Method of dual use of non-volatile memory for error correction |
JP4707803B2 (ja) * | 2000-07-10 | 2011-06-22 | エルピーダメモリ株式会社 | エラーレート判定方法と半導体集積回路装置 |
JP2002056671A (ja) | 2000-08-14 | 2002-02-22 | Hitachi Ltd | ダイナミック型ramのデータ保持方法と半導体集積回路装置 |
JP4877894B2 (ja) * | 2001-07-04 | 2012-02-15 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2003077294A (ja) * | 2001-08-31 | 2003-03-14 | Mitsubishi Electric Corp | メモリ回路 |
CN100489797C (zh) * | 2001-10-11 | 2009-05-20 | 阿尔特拉公司 | 可编程逻辑设备上的错误检测 |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
US20030115538A1 (en) * | 2001-12-13 | 2003-06-19 | Micron Technology, Inc. | Error correction in ROM embedded DRAM |
DE10206689B4 (de) * | 2002-02-18 | 2004-03-18 | Infineon Technologies Ag | Integrierter Speicher und Verfahren zum Betrieb eines integrierten Speichers |
FR2840445B1 (fr) * | 2002-06-03 | 2004-09-10 | St Microelectronics Sa | Circuit memoire comportant un code correcteur d'erreur |
US7480774B2 (en) * | 2003-04-01 | 2009-01-20 | International Business Machines Corporation | Method for performing a command cancel function in a DRAM |
US7447950B2 (en) * | 2003-05-20 | 2008-11-04 | Nec Electronics Corporation | Memory device and memory error correction method |
JP2005025827A (ja) | 2003-06-30 | 2005-01-27 | Toshiba Corp | 半導体集積回路装置およびそのエラー検知訂正方法 |
US7328377B1 (en) | 2004-01-27 | 2008-02-05 | Altera Corporation | Error correction for programmable logic integrated circuits |
US7341765B2 (en) * | 2004-01-27 | 2008-03-11 | Battelle Energy Alliance, Llc | Metallic coatings on silicon substrates, and methods of forming metallic coatings on silicon substrates |
US7322002B2 (en) | 2004-05-26 | 2008-01-22 | Micron Technology, Inc. | Erasure pointer error correction |
US6965537B1 (en) * | 2004-08-31 | 2005-11-15 | Micron Technology, Inc. | Memory system and method using ECC to achieve low power refresh |
US7392456B2 (en) * | 2004-11-23 | 2008-06-24 | Mosys, Inc. | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory |
WO2006057794A2 (en) * | 2004-11-23 | 2006-06-01 | Monolithic System Technology, Inc. | Transparent error correcting memory that supports partial-word write |
US7831882B2 (en) | 2005-06-03 | 2010-11-09 | Rambus Inc. | Memory system with error detection and retry modes of operation |
US9459960B2 (en) | 2005-06-03 | 2016-10-04 | Rambus Inc. | Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation |
JP4528242B2 (ja) * | 2005-10-20 | 2010-08-18 | 富士通セミコンダクター株式会社 | メモリシステムおよびメモリシステムの動作方法 |
US8074153B2 (en) * | 2005-12-12 | 2011-12-06 | Mediatek Inc. | Error correction devices and correction methods |
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 |
DE102006028943B4 (de) * | 2006-06-23 | 2008-07-24 | Infineon Technologies Ag | Verfahren zum Betreiben eines flüchtigen Schreib-Lese-Speichers als Detektor und Schaltungsanordnung |
EP1923786A1 (en) * | 2006-11-14 | 2008-05-21 | NEC Electronics Corporation | Volatile memory device and data integrity |
KR101308047B1 (ko) | 2007-02-08 | 2013-09-12 | 삼성전자주식회사 | 메모리 시스템, 이 시스템을 위한 메모리, 및 이 메모리를위한 명령 디코딩 방법 |
US8423837B2 (en) * | 2009-02-13 | 2013-04-16 | Texas Instruments Incorporated | High reliability and low power redundancy for memory |
US8473808B2 (en) | 2010-01-26 | 2013-06-25 | Qimonda Ag | Semiconductor memory having non-standard form factor |
JP5600963B2 (ja) * | 2010-02-22 | 2014-10-08 | 富士通株式会社 | 不揮発性記憶装置、及びデータ初期化方法 |
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 |
US9189308B2 (en) * | 2010-12-27 | 2015-11-17 | Microsoft Technology Licensing, Llc | Predicting, diagnosing, and recovering from application failures based on resource access patterns |
US9153310B2 (en) * | 2013-01-16 | 2015-10-06 | Maxlinear, Inc. | Dynamic random access memory for communications systems |
US9880900B2 (en) | 2015-12-08 | 2018-01-30 | Nvidia Corporation | Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state |
US9823964B2 (en) | 2015-12-08 | 2017-11-21 | Nvidia Corporation | Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation |
US10049006B2 (en) | 2015-12-08 | 2018-08-14 | Nvidia Corporation | Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands |
CN108665939B (zh) * | 2017-03-31 | 2021-01-05 | 厦门旌存半导体技术有限公司 | 为存储器提供ecc的方法与装置 |
CN107195329B (zh) * | 2017-05-17 | 2024-04-02 | 西安紫光国芯半导体有限公司 | 在读操作时纠正dram中存储阵列的错误的方法以及dram |
US10691572B2 (en) | 2017-08-30 | 2020-06-23 | Nvidia Corporation | Liveness as a factor to evaluate memory vulnerability to soft errors |
WO2019190866A1 (en) | 2018-03-26 | 2019-10-03 | Rambus Inc. | Command/address channel error detection |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506362A (en) * | 1978-12-22 | 1985-03-19 | Gould Inc. | Systematic memory error detection and correction apparatus and method |
US4380812A (en) * | 1980-04-25 | 1983-04-19 | Data General Corporation | Refresh and error detection and correction technique for a data processing system |
US4369510A (en) * | 1980-07-25 | 1983-01-18 | Honeywell Information Systems Inc. | Soft error rewrite control system |
US4542454A (en) * | 1983-03-30 | 1985-09-17 | Advanced Micro Devices, Inc. | Apparatus for controlling access to a memory |
JPS6134793A (ja) * | 1984-07-27 | 1986-02-19 | Hitachi Ltd | ダイナミツクメモリ装置における診断及びエラ−訂正装置 |
JPS61214298A (ja) * | 1985-03-20 | 1986-09-24 | Toshiba Corp | 誤り訂正機能を備えた半導体記憶装置 |
JPH087995B2 (ja) * | 1985-08-16 | 1996-01-29 | 富士通株式会社 | ダイナミツク半導体記憶装置のリフレツシユ方法および装置 |
JPH0612613B2 (ja) * | 1986-03-18 | 1994-02-16 | 富士通株式会社 | 半導体記憶装置 |
JPH01171199A (ja) * | 1987-12-25 | 1989-07-06 | Mitsubishi Electric Corp | 半導体メモリ |
US5127014A (en) * | 1990-02-13 | 1992-06-30 | Hewlett-Packard Company | Dram on-chip error correction/detection |
-
1997
- 1997-10-21 EP EP97118246A patent/EP0837392A1/en not_active Withdrawn
- 1997-10-21 KR KR1019970053918A patent/KR100488822B1/ko not_active IP Right Cessation
- 1997-10-21 US US08/955,145 patent/US6065146A/en not_active Expired - Lifetime
- 1997-10-21 TW TW086115658A patent/TW382705B/zh not_active IP Right Cessation
- 1997-10-21 JP JP9325117A patent/JPH10177800A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100954731B1 (ko) | 2004-02-27 | 2010-04-23 | 인텔 코포레이션 | 에러 보고 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR19980033007A (ko) | 1998-07-25 |
TW382705B (en) | 2000-02-21 |
EP0837392A1 (en) | 1998-04-22 |
US6065146A (en) | 2000-05-16 |
JPH10177800A (ja) | 1998-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100488822B1 (ko) | 에러정정메모리 | |
KR101089409B1 (ko) | 메모리 어레이 에러 정정 장치, 시스템 및 방법 | |
US4472805A (en) | Memory system with error storage | |
EP1815338B1 (en) | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory | |
EP0195445B1 (en) | Semiconductor memory device with an error correction function | |
EP0138964B1 (en) | Apparatus for controlling access to a memory | |
US20020184592A1 (en) | Semiconductor memory device | |
US7779333B2 (en) | Semiconductor memory having embedded microcomputer with ECC function | |
US7257762B2 (en) | Memory interface with write buffer and encoder | |
JPS6237423B2 (ko) | ||
US4805173A (en) | Error control method and apparatus | |
US5450422A (en) | Method and structure for providing error correction code for each byte on SIMM'S | |
US6732291B1 (en) | High performance fault tolerant memory system utilizing greater than four-bit data word memory arrays | |
KR880000960A (ko) | 반도체 메모리 | |
US5386387A (en) | Semiconductor memory device including additional memory cell block having irregular memory cell arrangement | |
JPH10228775A (ja) | 3つの論理状態を記憶できるラムセル | |
JPH0594377A (ja) | パリテイ検出回路 | |
KR100273628B1 (ko) | 데이타 기억 영역의 속성 데이타를 기억하는 속성 데이타 영역과 데이타 기억 영역을 갖는 비휘발성 메모리 | |
US4450562A (en) | Two level parity error correction system | |
EP0424301A2 (en) | Overlapped data scrubbing with data refreshing | |
Osman | Error-correction technique for random-access memories | |
JP2623687B2 (ja) | 自己訂正機能付きlsiメモリ | |
JP2000163320A (ja) | ソフトエラー対策機能付メモリ装置及びソフトエラー対策方法 | |
SU972595A1 (ru) | Программируемое посто нное запоминающее устройство | |
JPH02206099A (ja) | ダイナミツクram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130429 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160330 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 13 |
|
EXPY | Expiration of term |