KR100488822B1 - 에러정정메모리 - Google Patents

에러정정메모리 Download PDF

Info

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
Application number
KR1019970053918A
Other languages
English (en)
Other versions
KR19980033007A (ko
Inventor
패트릭 보쓰하트
Original Assignee
텍사스 인스트루먼츠 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텍사스 인스트루먼츠 인코포레이티드 filed Critical 텍사스 인스트루먼츠 인코포레이티드
Publication of KR19980033007A publication Critical patent/KR19980033007A/ko
Application granted granted Critical
Publication of KR100488822B1 publication Critical patent/KR100488822B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing

Abstract

에러 정정 동적 메모리(100)는 리프레시 동안에만 또는 버스트 판독중 제2 (또는 후속하는)판독 동안에만 또는 재기입 동안 에러 정정(110)을 실행한다. 더욱이, 메모리는 기입 동안이 아닌 리프레시 동안 및 체크 비트를 발생하기 위해 데이타 비트들 및 체크 비트들 이외에도 에러-정정-코드-옵셀릿 비트를 포함할 수 있다. 이는 소프트 에러에 약간 더 노출됨에도 불구하고 판독 액세스 딜레이 또는 기입 딜레이 없이 에러 정정을 제공한다.

Description

에러 정정 메모리{ERROR CORRECTING MEMORY}
본 발명은 반도체 장치 및 회로에 관한 것으로 더 상세히는, 에러 정정용 반도체 메모리에 관한 것이다.
동적 랜덤 액세스 메모리(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)

  1. 메모리에 있어서,
    (a) 행들 및 열들로 배치된 메모리 셀들을 포함하고,
    (b) 상기 행들 각각은 데이타 비트 셀들, 체크 비트 셀들, 및 에러-정정-코드-옵설릿(error-correction-code-obsolete)(ECC-옵설릿(ECC-obsolete)) 비트 셀을 포함하며,
    (c) 상기 메모리 셀들에 결합되고, 상기 셀들의 행을 주기적으로 고려하여, (i) 상기 ECC-옵설릿 비트 셀이 제1 상태에 있을 때는, 상기 행의 체크 비트 셀들이 부가된 상기 데이타 비트 셀들에 포함된 비트들의, 혹시 있을 수 있는, 에러를 정정하거나, 또는 (ii) 상기 ECC-옵설릿 비트 셀이 상기 제1 상태와는 다른 제2 상태에 있을 때는 상기 행의 상기 데이타 비트 셀들 내의 상기 비트들로부터 상기 체크 비트 셀들에 대한 대체 비트들(replacement bits)을 발생하는 에러 정정 회로를 포함하는 메모리.
  2. 제1항에 있어서,
    (a) 상기 메모리는 동적 랜덤 액세스 메모리이고,
    (b) 상기 주기적으로 고려하는 것은 리프레시 동안에 이루어지는 메모리.
  3. 제1항에 있어서,
    (a) 상기 에러 정정 회로는 상기 (ii)의 발생과 함께 상기 제2 상태로부터 상기 제1 상태로 상기 ECC-옵설릿 비트 셀을 변경시키는 메모리.
KR1019970053918A 1996-10-21 1997-10-21 에러정정메모리 KR100488822B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100954731B1 (ko) 2004-02-27 2010-04-23 인텔 코포레이션 에러 보고 방법

Families Citing this family (44)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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&#39;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