KR100382255B1 - 에러검출및정정용반도체메모리장치 - Google Patents

에러검출및정정용반도체메모리장치 Download PDF

Info

Publication number
KR100382255B1
KR100382255B1 KR1019950003425A KR19950003425A KR100382255B1 KR 100382255 B1 KR100382255 B1 KR 100382255B1 KR 1019950003425 A KR1019950003425 A KR 1019950003425A KR 19950003425 A KR19950003425 A KR 19950003425A KR 100382255 B1 KR100382255 B1 KR 100382255B1
Authority
KR
South Korea
Prior art keywords
data
error correction
output terminal
bit
input terminal
Prior art date
Application number
KR1019950003425A
Other languages
English (en)
Other versions
KR950033822A (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 KR950033822A publication Critical patent/KR950033822A/ko
Application granted granted Critical
Publication of KR100382255B1 publication Critical patent/KR100382255B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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

Abstract

반도체 메모리 장치는 각각 소정 수의 비트를 가진 데이타 워드를 받아들이는 입력단자와 내보내는 출력단자를 포함한다. 내부 메모리 어래이는 각각 하나 이상의 데이타 워드를 인코딩한 다수의 에러정정 인코딩된 코트워드를 저장한다. 에러정정 인코더는 입력단자와 메모리 어래이 사이에 연결되어, 에러정정 인코딩된 코드워드를 발생시키고, 수신된 데이타 워드를 인코딩하고, 그리고 내부 메모리 어래이에 코드 워드를 저장시킨다. 에러정정 디코더는 내부 메모리 어래이 및 출력단자 사이에 연결되어 내부 메모리 어래이로 부터의 에러정정 인코딩된 코드워드를 검색하고, 검출된 에러를 정정하고, 검색된 코드워드에 인코딩된 하나 이상의 데이타 워드중 하나를 출력단자에서 발생시킨다.

Description

에러검출 및 정정용 반도체 메모리 장치{A FLEXIBLE ECC/PARITY BIT ARCHITECTURE}
본 발명은 에러를 검출하여 정정하는 반도체 메모리 장치에 관한 것이다.
현재 이용가능한 컴퓨터 시스템은 컴퓨터 시스템내의 전송경로를 통한 데이타 전송을 위해 어떤 형태의 에러검출을 포함한다. 예를 들어, 시스템 메모리와 중앙 처리 유니트 사이의 전송경로는 병렬로, 몇개의 데이타 바이트(각각은 8 비트 데이타를 포함한다.)와 각 바이트에 대한 패리티 비트를 전송할 수 있는 데이타 버스를 포함한다. 각 데이타 바이트가 버스위에 놓일때, 소정 패리티(짝수 또는 홀수)를 가진 9-비트 코드워드를 생생하기 위하여 값을 가진 패리티 비트가 생생된다. 데이타를 버스로 부터 수신할때, 9-비트 코드워드의 패리티가 체크된다. 만약 수신된 코드워드의 패리티가 정확하지 않으면, 에러가 검출되며, 진단모드가 실행된다.
헤밍코드(Hamming code)와 같이 에러정정 코딩기술이 공지되어 있다. 상기와 길은 코딩기술을 이용하여, 다수의 데이타 비트가 다수의 추가 코드비트 또는 체크 비트와 결합되어 코드워드를 발생시킨다. 코드워드는 에러가 검출될뿐만 아니라 정정될 수 있도록 생성된다. 상기 기술은 컴퓨터 시스템이 어떠한 진단모드를 수행시키지 않고 에러를 정정하는 장점을 제공한다. 사실, 컴퓨터 시스템은 어떠한 에러가 발생했는지를 인지하지 못할 수 있다. 상기 에러정정 기술은 특히 메모리 장치의 영구적인 오동작을 나타내지 않는 일시적인 데이타 손실(소프트 에러)을 받는 메모리 장치에 유용하다.
그러나, 에러정점에 필요한 많은 여분코드 비트는 패리티 에러검출에 필요한 하나의 비트보다 많다. 8-비트 데이타 워드에 대하여, 5코드비트가 단일 에러정정/이중 에러검출을 제공하기 위해 요구된다. 그러나, 데이타 비트당 여분코드 비트의 수는 데이타 비트수가 증가하는 만큼 감소한다. 64 데이타 비트에 대하여 단일 에러 정정/이중 에러검출을 제공하기 위하여, 예를 들어, 8 코드비트가 필요하다. 따라서 64 데이타 비트(8 바이트)에 대하여, 바이트당 하나의 코드비트가 단일 에러정정/이중 에러검출에 요구되는데, 이는 각 바이트에 대한 표준 패리티 에러검출에 대한 것과 동일한 수이다.
1972년 3월 7일, Carter등의 미합중국 특허 제 3,648,239 호와 1974년 9월 17일, Duke등의 미합중국특허 제 3,836,957호는 72-비트 와이드 시스템 데이타 버스가 8 데이타 바이트(64 비트)와 데이타 바이트당 하나씩, 8 패리리 비트를 전송하는 시스템을 기술한다. 메모리 시스템은 데이타 버스로 부터 72 데이타와 패리티 비트를 받아들이지만, 단일 에러정정/이중 에러검출 헤밍코드로 인코딩된 72-비트 코드워드를 저장하는 기록회로를 포함한다. 상기 메모리 시스템은 72-비트 헤밍 인코딩된 코드워드를 판독하고, 만약 검출되었다면 단일 비트에러를 정정하고, 그리고 데이타 버스위에 전송하기 위한 8 패리티 인코딩된 코드워드를 생성하는 판독회로를 포함한다. 다중 비트에러가 검출될때만 진단루우틴이 시작되도록 프로세서가에러를 인식하게 된다.
최근에, 패리티 인코딩된 데이타 버스를 이용하는 컴퓨터 시스템과 가장 효율적으로 통합하기 위하여, 표준화된 반도체 메모리 장치가 외부회로와, 병렬로 예를 들어 9 비트 또는 18 비트를 상호교환하도록 개발되었으며, 이는 일반적으로 비이-9(X9) 또는 바이-18(X18)이라고 알려져 있다. 상기와 같은 칩은 단일 메모리 칩을 포함하는 메모리와 패리티 인코딩된 데이타 전송을 컴퓨터 시스템에 제공한다.
제 1 도는 바이-18 반도체 메모리 장치(10)의 예에 대한 회로 블록도이다. 제 1 도에서 입력단자(5)는 반도체 메모리 장치(10)의 어드레스 입력단자에 연결된다. 일반적으로 어드레스 입력 단자에 공급된 어드레스는 시간 분할 멀티 플렉싱되어 어드레스 비트의 반이 제 1 사이클 중에 전송되고 그 다음 반이 제 2 사이클 중에 전송되도록 한다. 어드레스 비트의 수는 메모리 용량에 따른다. 전형적인 64 메가 바이트(64Mb) 메모리 장치의 예에서, 22 어드레스 비트는 두개의 11-비트 어드레스 사이클로 시분할된다.
데이타 입력단자(5)는 반도체 메모리 장치(10)의 데이타 입력단자에 연결되고, 반도체 메모리 장치(10)의 데이타 출력단자는 데이타 출력단자(35)에 연결된다. 이들 데이타 입력 및 출력단자는 16 비트워드이다. 또한, 패리티 입력단자(25)는 반도체 메모리 장치(10)의 패리티 입력단자에 연결되며, 반도체 메모리 장치(10)의 패리티 출력단자는 패리티 출력단자(55)에 연결된다. 각각의 데이타 입력 및 출력단자의 비이트에 대하여 하나의 패리티 비트가 존재하며, 따라서 두개의 패리티 비트가 존재한다. 16 데이타 비트와 그 패리티 비트의 합은 18 비트이며,이는 바이-18 메모리 장치를 형성한다.
끝으로, 제어신호 입력단자(45)는 반도체 메모리 장치(10)의 제어 입력단자에 연결된다. 제어 입력단자의 신호는 반도체 메모리 장치(10)의 동작을 제어한다. 제어 입력 단자의 신호는 반도체 메모리 장치(10)의 동작을 제어한다. 제어 입력 단자의 신호는 로우 어드레스 스트로브(row address strobe, RAS) 및 컬럼 어드레스 스트로브(Column address strobe, CAS)와 같은 어드레스 시퀀싱 신호를 포함하며 상기 신호는 어드레스 신호의 시간 멀티플렉싱을 제어하기 위하여 이용된다. 제어 입력 단자의 신호는 데이타가 기록되었는지를 표시하는 기록 제어신호(WR)와 데이타가 메모리 장치로 부터 판독될 것인가를 표시하는 출력 인에이블 신호(OE)를 더 포함한다. 그 외의 제어신호가 또한 제어 입력단자의 신호에 포함될 수 있다.
기록동작에서, 시간 멀티 플렉싱된 어드레스는 어드레스 버스(도시되지 않음)를 통해 메모리 장치(10)로 보내진다. RAS 및 CAS 신호의 제어하에서, 상기 어드레스는 메모리 장치(10)로 받아들여진다. 또한, 18-비트 패리티 인코딩된 코드 워드는 데이타 버스(도시안됨)를 통해 메모리 장치(10)의 데이타 입력 및 패리티 입력 단자에 전달된다, WR 신호에 따라, 메모리 장치(10)는 메모리 장치 내부의 메모리 어래이의 어드레싱된 위치에 18-비트 코드워드를 저장한다. 판독동작에서, 어드레스는 유사하게 메모리 장치(10)로 전송된다. OE 신호에 따라, 메모리 장치(10)는 내부 메모리 어래이의 어드레싱된 위치에 이전에 저장되어 있던 18-비트 코드 위드를 검색하며, 그리고 이를 데이타 버스를 통하여 요구자에게 전송한다. 요구자는 수신된 코드워드의 패리티를 체크하여 만약 코드워드 중 어느 패리티가 정확하지 않으면 진단 루우틴을 가동시킨다. 아무런 에러검출 또는 정정도 반도체 메모리 장치(10) 자체에서는 수행되지 않는다.
다음과 같은 반도체 메모리 장치를 제공하는 것이 바람직한바, 즉 시스템 데이타 버스로 부터 8 또는 16-비트 데이타 워드, 또는 9 또는 16-비트 패리티 인코딩된 코드워드를 수신 및 저장할 수 있고 ; 그리고 이들 데이타 워드 또는 패리티 인코딩된 코드워드를 검색하여 시스템 데이타 버스에 제공할 수 있으며, 한편으로, 내부적으로 에러정정하는 인코딩된 코드워드를 저장하며, 저장된 코드워드가 검색될때 에러검출 및 정정을 수행할 수 있는 메모리 장치.
본 발명의 원리에 따르면, 반도체 메모리 장치는 소정 비트를 가진 데이타 워드를 수신하기 위한 입력단자와 이를 형성하기 위한 출력단자를 포함한다. 내부 메모리 어래이는 각각 하나의 데이타 워드 이상을 인코딩하는 다수의 에러정점 인코딩된 코드워드를 저장한다. 에러정정 인코더는 입력단자와 메모리 어래이 사이에 연결되어 에러정정 인코딩된 코드워드를 발생시키며, 수신된 데이타 워드를 인코딩하며, 내부 메모리 어래이에 저장한다. 에러정정 디코더는 내부 메모리 어레이와 출력단자 사이에 연결되어 내부 메모리 어래이로 부터 에러정정 인코딩된 코드워드를 검색하며, 검색된 코드워드의 어느 검출된 에러를 정정하며, 그리고 출력단자에서 검색된 코드워드에 인코딩되었던 데이타 워드중 하나를 생성한다.
제 2 도는 본 발명의 원리에 따른 반도체 메모리 장치(20)의 블록도이다. 제 2 도에서, 제 1 도의 부재와 동일한 엘리먼트는 동일부호를 가지며, 여기서는 상세히 기술되지 않는다. 제 2 도에서, 다중 비트신호를 전송하는 신호라인은 신호라인의 비트수 다음에 신호라인 사이에 사선을 그어 표시된다.
반도체 메모리 장치(20)는, 4백만(보다 정확하게는 222=4,194,394)16 비트 데이타 워드를 저장하는, 64 메가비트 다이나믹 RAM 어래이로써 동작한다. 그러나 실제 구조에서, 반도체 메모리 장치(20)는 1백만(보다 정확하게 220=1,048,576) 72-비트 에러정정 인코딩된 코드워드를 저장하며, 각각의 코드워드는 64 데이타 비트(8 데이타 바이트 또는 4개의 16-비트 데이타 워드)와 8 코드비트(각 데이타 바이트에 대하여 하나)로 구성된다. 반도체 메모리 장치(20)에서 특정 16-비트 데이타 워드를 어드레싱하기 위하여, 22 어드레스 비트중 20개가 내부 메모리 어드레스내의 원하는 72-비트 코드워드를 선택하며, 나머지 2 어드레스 비트는 선택된 72 비트 코드워드 내의 원하는 데이타 워드를 선택하기 위하여 이용된다.
제 2 도에서 제어 입력단자(45)는 반도체 메모리 장치(20)의 동작을 제어하는, 시스템 제어 버스와 같은, 신호소스(도시안됨)에 연결된다. 이들 제어신호는 예를 들어 RAS, CAS, WR 및 OE와 같은 표준 메모리 제어신호를 포함한다. 제어 입력단자(45)는 제어회로(40)의 입력단자에 연결된다. 제어회로(40)는 반도체 메모리 장치(20)에 대한 일반적인 제어회로이며 반도체 메모리 장치(20)의 모든 엘리먼트에 연결된 제어신호 출력단자를 포함한다. 또한 제어회로(40)의 제어신호는 내부 메모리 어래이용 리프레쉬 회로를 제어한다. 상기 기능을 수행하는 제어회로(40)에서의 회로의 상세 부분은 공지되어 있어서 더 이상 설명하지 않는다. 도면을 간소화하기 위하여, 이들 제어신호는 모두 도시되지 않지만, 반도체 메모리 장치 설계분야의 당업자는 어떤 제어신호가 반도체 메모리 장치(20)에서 어느 다른 엘리먼트에 요구되는지를 이해할 수 있으며, 어떻게 이들 제어신호를 발생시키는지 그리고 이들 신호를 필요한 장소에 보내는지를 이해할 것이다.
11-비트 어드레스 입력단자(5)는 시스템 어드레스 버스와 같은 어드레스 신호 소스(도시안됨)에 연결된다. 어드레스 입력단자(5)는 어드레스 디코더 회로(80)의 입력단자에 연결된다. 어드레스 디코더 회로(80)는 22-비트 어드레스 출력단자를 포함한다. 어드레스 디코더 회로(80)의 어드레스 출력단자의 제 1 부분은, 20 비트로 구성되며, 내부 메모리 어래이(301의 어드레스 입력단자에 연결된다. 어드레스 디코더 회로(80)의 어드레스 출력단자의 제 2 부분은, 나머지 2 비트로 구성되며, 데이타 결합기(50)와 데이타 선택기(60)의 각 어드레스 입력단자에 연결된다.
16-비트(2 바이트) 데이타 입력단자(15)는 시스템 데이타 버스와 같은 데이타 신호소스(도시안됨)에 연결된다. 데이타 입력단자(15)는 제어회로(40)의 입력단자와 데이타 결합기(50)의 제 1 데이타 입력단자에 연결된다. 2-비트 보조 입력단자(25')는 보조 데이타 소스(도시안됨)에 연결된다. 예를 들어, 상기 데이타 프로세싱 시스템에서, 보조 입력단자는, 시스템 패리티 버스에서처럼, 데이타 입력단자(15)에서 입력 데이타의 각 두 바이트에 대하여 하나의 패리티 비트인, 패리티 입력신호의 소스에 연결될 수 있다. 보조 입력단자(25')는 데이타 결합기(50)의 보조 입력단자에 결합된다.
데이타 결합기(50)의 64-비트 데이타 출력단자는 에러검출 및 정정 인코더/디코더 회로(ECC, 70)의 데이타 입력단자(DI)에 연결되며, 데이타 결합기(50)의 8-비트 패리티 출력단자는 ECC(70)의 패리티 입력단자(PI)에 연결된다. ECC(70)의 72-비트 양방향 데이타 단자(CW)는 내부 메모리 어래이(30)의 양방향 데이타 단자에 연결된다. ECC(70)의 64-비트 데이타 출력단자(DO)는 데이타 결합기(50)의 제 2 데이타 입력단자와 데이타 선택기(60)의 데이타 입력단자에 연결된다. ECC(70)의 8-비트 패리티 출력단자(PO)는 데이타 결합기(50) 및 데이타 선택기(60)의 각 패리티 입력단자에 연결된다. 또한, 두개의 단일 비트 신호라인은 ECC(70)에서 데이타 선택기(60)에 연결된다. 상기 신호라인 중 첫번째것(SBE)은 단일 비트에러가 검출 되었다는 것을 표시하며, 두번째것(UE)은 회복 불가능한 에러(다중에러)가 ECC(70)에 검출되었다는 것을 표시한다.
데이타 선택기(60)의 16-비트 데이타 출력단자는 반도체 메모리 장치(20)의 데이타 출력단자(35)에 연결된다. 반도체 메모리 장치(20)의 데이타 출력단자(35)는, 반도체 메모리 장치(20)로 부터 검색된 이전에 저장된 데이타를 받아들이기 위한, 시스템 데이타 버스와 같은, 응용회로(도시안됨)에 연결된다. 또한, 데이타 선택기(60)의 2-비트 상태 출력단자는 반도체 메모리 장치(20)의 상태 출력단자(55')에 연결된다. 반도체 메모리 장치(20)의 상태 출력단자(55')는 반도체 메모리 장치(20)의 데이타 출력단자(35)에 제공된 데이타에 대응하는 패리티를 전송하기 위한, 시스템 패리티 버스와 같은 이용회로(도시안됨)에 연결된다.
동작시, 메모리 동작은 어드레스 신호를 어드레스 입력단자(5)에, 적당한 제어신호(RAS, CAS, WR 및 OE)를 제어 입력단자(45) 그리고, 필요하다면, 데이타 워드를 데이타 입력단자(15)에 공급함으로써 시작된다. 제 6 및 7 도는 제 2 도의 반도체 메모리 장치(20)에 공급되며, 이에 의하여 발생된 동작신호의 타이밍을 나타내는 파형도이다. 반도체 메모리 장치(20)의 동작은 제 6 도 및 7 도에 나타난 타이밍도를 참조로 쉽게 이해될 수 있으며, 이들은 이하에 기술된다.
제어신호(40)는 제어 입력단자(45)로 부터 제어신호에 응답하여 반도체 메모리 장치(20)의 다른 엘리먼트에 필요한 내부 제어신호를 발생시킨다. 이들 신호는 클록 신호와, 반도체 메모리 장치(20)에서 회로 및 신호경로를 제어하는 게이팅 신호를 포함할 수 있다.
제 6도는 기록동작중에 외부신호의 타이밍을 도시하는 파형도이다. 기록시, 시간 멀티플렉싱된 어드레스는 RAS 와 CAS 신호의 제어로 어드레스 디코더(80)에 수신된다. 제 6도에서, 어드레스 신호는 AO-A10으로 표시된 파형으로 나타난다. 로우어드레스(ROW)는 이들 신호라인에 공급되며 RAS 신호가 나타난다. 다음에 로우 어드레스가 제거되며, 컬럼 어드레스(COL)가 어드레스 신호라인에 공급되며 CAS신호가 나타난다.
어드레스 디코더는 시간 멀티플렉싱된 로우 및 컬럼 어드레스 신호를 22-비트 어드레스 신호로 결합한다. 또한 파형(D IN)은 16-비트 데이타 워드와, 각각 데이타 입력단자(15) 및 보조 입력단자(25')에 공급된 관련 패리티 비트(DATA IN)를 표시한다. 이들 신호라인은 개방회로, 또는 고입피던스 상태를 유지한다. WR로 표시된 파형을 나타내는 기록 제어신호의 내용에 따라, 이전에 저장된 코드워드는 내부 메모리 어래이(30)의 어드레스된 위치로 부터 검색되어 ECC(70)에 제공된다. 상기 72-비트 코드워드는 데이타 입력단자(15)로 부터 새롭게 수신된 데이타 워드를 포함할 것이다.
ECC(70)는 검색된 코드워드를 디코딩한다. 검색된 72-비트 코드워드를 디코딩 하는 도중에, 에러가 검출되며, 정정가능하다면, 정정된다. 에러가 검출되고 정정되면, 이는 단일 비트에러(SBE) 출력단자에서 발생된 신호에 의해 표시된다. 정정할 수 없는(멀티비트)에러가 검출되면, 이는 복구불가능 에러(UE) 출력단자에서 발생된 신호에 의해 표시된다. 에러가 검출되지 않으면, 이들 신호는 모두 나타나지 않는다. 이들 신호는 데이타 선택기(60)에 공급된다. 데이타 선택기(60)는 이들 신호를 반도체 메모리 장치(20)의 상태 출력단자에 결합시킬 수 있다. 이들 신호를 따라서, 필요하다면 진단 루우틴을 시작시키는 시스템 프로세서(도시안됨)에 이용될 수 있다.
ECC(70)에 의한 72-비트 코드워드의 디코딩은 상기 코드워드에 포함된 4개의 에러정정된 16-비트 데이타 워드를 추출할 것이다. 이들 데이타 워드는 ECC(70)의 데이타 출력단자(DO)로 부터 데이타 결합기(50)에 공급된다. 데이타 결합기(50)는 데이타 입력단자(15)로 부터 새롭게 수신된 16-비트 데이타 워드를 ECC(70)로 부터 공급된 64-비트 데이타 워드내의 적당한 위치에 삽입시켜, 64-비트 데이타 워드를 새롭게 구성한다. 이러한 새롭게 구성된 64-비트 데이타 워드는 ECC(70)에 공급되어 새로운 72-비트 에러정정 인코딩된 코드워드를 발생시킨다. ECC(70)는 이러한 새로운 72-비트 코드워드를 내부 메모리 어래이(30)에 공급하며 메모리 어래이는 이를 어드레싱된 위치에 재기록한다.
판독/결합/기록동작은 컬럼 어드레스가 어드레스 입력단자상에 존재하자마자, 즉 제 6 도상의 시간 t1, 시작할 수 있다. 판독/결합/기록동작이 제 6 도의 시간 t2에서, 완료되면, 반도체 메모리 장치(20)는 다음 메모리 요구를 처리할 준비가 되며, 이는 RAS 신호가 사라짐으로써 시작한다. 판독/결합/기록동작을 수행하기 위해 요구되는 시간은 제 6 도상에 파형 CAS 와 A0-A10 사이에 도시된 시간(tRAL)로 표시된다.
제 7 도는 판독동작중에 외부신호의 타이밍을 나타내는 파형도이다. 판독시에, 어드레스 디코더(80)는 상술한 바와 같이, 기록동작에서와 같은 방법으로 22-비트 어드레스 신호를 발생시킨다. 출력 인에이블 신호(OE)의 발생에 따라, 원하는 데이타 워드를 포함하는 이전에 저장된 코드워드가 내부 메모리 어래이(30)내의 어드레싱된 위치로 부터 검색되어 ECC(70)에 공급된다.
ECC(70)는 검색된 코드워드를 디코딩하고,(만약 존재한다면)에러를 검출 및 정정하고, 상기 에러를 SBE 또는 UE 신호라인에 통보한다. ECC(70)에 의한 디코딩은 상기 코드워드에 포함된 4개의 에러정점된 16-비트 데이타 워드를 추출할 것이다. 이들 4 데이타 워드는 데이타 선택기(80)에 공급된다. 데이타 선택기(80)는, 어드-레스 신호로 표시된, 적당한 데이타 워드를 선택하여, 제 7도의 D OUT로 표시된 파형에 의해 도시된 것처럼, 반도체 메모리 장치(20)의 데이타 출력단자(35)에 상기 데이타 워드를 공급한다. 내부 메모리 어래이(30)으로 부터 이전에 저장된 데이타 워드를 검색하는 것은 컬럼 어드레스가 어드레스 입력단자에 존재하자마자,제 7 도 상의 시간t3, 시작할 수 있다. 내부 메모리 어래이로 부터 이전에 저장된 72-비트 코드워드를 검색하고, 코드워드내의 검출된 에러를 정정하고, 4 개의 에러검출된 데이타 워드중에서 적당한 16-비트 데이타 워드를 선택하는데 요구되는 시간은 제 7 도에서 tAA로 표시되며 시간 t4에서 종료한다.
또한 ECC(70)는 검색된 코드워드에 포함된 각 데이타 바이트에 대한 패리티 비트를 발생시키며, 한편 상기 코드워드는 디코딩 및 에러체킹된다. 또한 8 패리티 비트는 데이타 선택기(80)에 공급된다. 데이타 선택기는 선택된 데이타 워드에서 20 데이타의 2 바이트에 상응하는 2 패리티 비트를 선택할 수 있다. 이들 패리티 비트는 반도체 메모리 장치(20)의 상태 출력단자(55)', 에 공급될 수 있다. 이러한 방법에서 패리티 인코딩된 코드워드는 데이타 처리 시스템의 나머지 부분에 이용되도록 시스템 데이타에 공급될 수 있다. 이는 이하에 더욱 상세하게 기술된다.
표준 메모리 제어신호(RAS, CAS 및 WR)의 시퀀싱은 또한 제어 데이타로써 데이타 입력단자(15)로 부터 데이타를 받아들이기 위해 반도체 메모리 장치(20)에 신호를 보낼 수 있다. 예를 들어, 기록동작중에 표준 메모리 제어신호의 표준 시퀀스는 먼저 RAS가 나타나고, 그 다음에 WR이 나타나며, 끝으로 CAS가 나타난다. 그러나, 만약 이들 메모리 제어신호가 다음과 같은 순서가 된다면 : 즉 먼저 CAS가 나타나고, 그 다음에 WR이 나타나고, 마지막으로 RAS가 나타나면, 이러한 시퀀스는 CWBR 시퀀스(CAS, WR Before RAS)라고 한다. CWBR 시퀀스는 데이타 입력단자(15)로 부터의 8 비트가 제어 데이타를 포함했다는 것을 신호하기 위하여 반도체 메모리장치(20)에 이용된다. 이들 제어장치는 반도체 메모리 장치(20)가 데스트 모드로 들어가게 하기 위하여 이용될 수 있다. 선택적으로, 반도체 메모리 장치(20)내의 내부 데이타 경로는 여러 동작모드를 허용하도록 제어회로(40)로 부터 제어신호에 응답하여 제어되며 여러 내부 프로세싱 회로가 활성화되며 비활성화된다.
예를 들어, 상기 동작모드에서, 16-비트 데이타 워드는 데이타 입력단자(15)로 부터 수신되며, 이전에 저장된 데이타 워드와 결합되며, 에러정정 인코딩되며, 72비트 코드워드로써 내부 메모리 어래이(30)에 저장된다. (보조 입력단자(25')로 부터의 데이타는 이러한 모드에서 무시된다). 이전에 저장된 72-비트 코드워드는 내부 메모리 어래이(30)로 부터 검색되며 어드레싱된 16-비트 데이타 워드는 선택되어 반도체 메모리 장치(20)의 데이타 출력단자(35)로 공급된다. 각각 선택된 데이타 워드에서 2 바이트에 대응하는 2 패리티 비트가 생성되어 반도체 메모리 장치(20)의 상태 출력단자(55')에 공급된다.
또다른 상기 동작모드는 ECC 모드이다. 이러한 동작모드에서, 상술한 방법처럼, 16-비트 데이타 워드는 데이타 입력단자(15)로 부터 수신되며, 이전에 저장된 데이타 워드와 결합되며, 에러정정 인코딩되며, 72-비트 코드워드로써 내부 메모리 어래이(30)에 저장된다. 이전에 저장된 코드워드는 내부 메모리 어래이(30)으로 부터 검색되며, 어드레싱된 16-비트 데이타 워드가 선택되어 반도체 메모리 장치(20)의 데이타 출력단자(35)에 공급된다. 그러나, 이러한 동작모드에서, 각각 신호 비트에러 및 회복 불가능한 에러를 표시하는 ECC(70)로 부터의 두상태 신호, SBE 및 UE는 반도체 메모리 장치(20)의 상태 출력단자(55')에 공급된다.
동작의 패리티 모드는 표준 바이-18 메모리 장치에서와 동일하다. 이러한 동작모드에서 ECC 인코딩 및 디코딩은 비활성화된다. 대신, 내부 메모리 어래이(30)에 저장된 72-비트 내부 메모리 워드는 4 개의 18-비트 패리티 인코딩된 코드 워드로 구성되며, 각각은 16-비트 데이타 워드와 두개의 관련된 패리티 비트의 결합으로 이루어져 있다. 16-비트(2 바이트) 데이타 워드는 반도체 메모리 장치(20)의 데이타 입력단자(15)에 의해 수신되며, 두개의 수신된 데이타 바이트,(또는 어느 다른 종류의 보조 데이타)와 연관된, 2 비트의 패리티 데이타는 보조 입력단자(25)에 의해 수신된다. 새롭게 수신된 16-비트 데이타 워드는 관련된 2 패리티 비트와 결합되어 이전에 결합된 코드워드와 결합되고 내부 메모리 어래이(30)에 지장된 18-비트 패리티 인코딩된 코드워드를 형성한다. 이전에 저장된 72-비트 패리티 인코딩된 코드워드는 내부 메모리 어래이(30)으로 부터 검색되며, 16-비트 데이타 워드와 그 관련된 2 패리티 비트로 구성된 어드레싱된 18-비트 코드워드가 선택되어, 각각 반도체 메모리 장치(20)의 데이타 출력단자(35)와 상태 출력단자(55')에 공급된다.
또다른 동작모드가 가능하다. 반도체 메모리 장치 설계자는 상기와 같은 다른 동작모드를 형성하기 위하여 메모리 장치(20)내의 데이타 경로에 대한 제어를 설계하고 구축하는 것이 가능하다.
제 3 도는 제 2 도의 반도체 메모리 장치(20)에 이용될 수 있는 데이타 결합기(50)의 블록도이다. 제 3 도에서, 64-비트 데이타 입력단자(51)은 (제 2 도의) ECC(70)의 데이타 출력단자(DO)에 연결된다. 64 비트 데이타는 상술한 바와 같이 4 개의 16-비트 데이타 워드로 구성된다. 데이타 입력단자(51)로 부터 4 개의 16-비트 데이타 워드는 4 개의 두입력 16-비트 멀티플렉서(52a-52d)의 각 제 1 데이타 입력 단자에 연결된다. 각각의 16-비트 멀티플렉서(52a-52d)는 16 비트 출력 데이타 워드를 내보내는 출력단자를 가진다. 16-비트 멀티플렉서(52a-52a)의 출력단자에서 16-비트 데이타 워드가 결합되어 결합된 64-비트 출력 데이타 워드를 형성한다. 이러한 결합된 64-비트 출력 데이타 워드는 데이타 출력단자(53)에 연결된다. 데이타 출력단자(53)는 (제 2 도의) ECC(70)의 데이타 입력단자(DI)에 연결된다. 16-비트 데이타 입력단자는 (제 2 도의) 반도체 장치(20)의 데이타 입력단자(DI)에 연결된다. 데이타 입력단자(15)는 공통적으로 16 비트 멀티플렉서(52a-52d)의 각 제 2 데이타 입력단자에 연결된다.
8-비트 패리티 입력단자(55)는 (제 2 도의) ECC(70)의 패리티 출력단자(PO)에 연결된다. 패리티 입력단자(55)의 8 패리티 비트는 4 쌍의 패리티 비트를 포함하며, 각각의 쌍은, 상술한 것처럼, 데이타 입력단자(51)에서 하나의 데이타 워드에 대응한다(데이타 워드에서 각 바이트에 대하여 하나의 패리티 비트). 패리티 입력단자(55)로 부터의 4 쌍의 패리티 비트는 4 개의 투입력 2-비트 멀티플렉서(54a-54d)의 각 제 1 입력단자에 연결된다. 각각의 2-비트 멀티플렉서(54a-54d)는 2-비트 패리티 출력워드를 내보내는 출력단자를 가진다. 2-비트 멀티플렉서(54a-54d)의 각 출력 단자로 부터의 4 개의 2-비트 패리티 출력워드는 패리티 출력단자(57)에 연결된다. 패리티 출력단자(57)는 ECC(70)의 패리티 입력단자(PI)에 연결된다. 2-비트 패리티 입력단자는(제 2 도의) 반도체 메모리 장치(20)의 보조 입력단자(25')에 연결된다. 패리티 입력단자(25')는 공통적으로 2-비트 멀티플렉서(54a-54d)의각 제 2 데이타 입력단자에 연결된다.
2-비트 어드레스 입력단자(59)는 (제 2 도의)어드레스 디코더(80)의 어드레스 출력단자에 연결된다. 어드레스 입력단자(59)는 2 대 4 디코더(56)의 입력단자에 연결된다. 2 대 4 디코더(56)의 제 1 출력단자는 16-비트 멀티플렉서(52a)와 2-비트 멀티플렉서(54a)의 각 제어 입력단자에 연결된다. 2 대 4 디코더(56)의 제 2 출력 단자는 16-비트 멀티플렉서(52b)와 2-비트 멀티플렉서(54b)의 각 제어 입력단자에 연결된다. 2 대 4 디코더(56)의 제 3 출력단자는 16-비트 멀티플렉서(52c)와 2-비트 멀티플렉서(54c)의 각 제어 입력단자에 연결된다. 그리고 2 대 4 디코더(56)의 제 4 출력단자는 16-비트 멀티플렉서(52d)와 2-비트 멀티플렉서(54d)의 각 제어 입력단자에 연결된다.
동작시, 어드레스 입력단자(59)에 공급된 2-비트 어드레스는 내부 메모리 어래이(30)에 이전에 저장된 4 개의 데이타 워드중 어느것이 데이타 입력단자(15)로 부터 새롭게 수신된 데이타로 대치될 것인가를 표시한다. 2 대 3 디코더(56)는 공지된 방법으로 동작하여 어드레스 입력단자(59)로 부터 2-비트 어드레스 신호에 따라 하나의 출력단자에만 로직 '1' 신호를 발생시키고, 그외의 모든 출력단자에는 로직 '0' 신호를 발생시킨다. 로직 '1' 신호를 발생시키는 2 대 4 디코더(56)의 출력단자에 연결된 16-비트(52)와 2-비트(54) 멀티플렉서는 어드레싱된 멀티플렉서라고 불린다.
각각의 16-비트 멀티플렉서(52a-52d)와 2 비트 멀티플렉서(54a-54d)는 로직 '0' 신호가 제어 입력단자에 존재할때 제 1 데이타 입력단자의 신호를 데이타 출력단자에 발생시키며, 로직 '1' 신호가 제어 입력단자에 존재할때 제 2 데이타 입력 단자의 신호를 데이타 출력단자에 발생시킨다. 따라서, 어드레싱된 16-비트 멀티플렉서는 데이타 입력단자(15)로 부터 새롭게 수신된 데이타는 출력단자로 발생시킨다. 따라서, 어드레싱된 2-비트 멀티플렉서는 보조입력단자(25')로 부터 새롭게 수신된 패리티 데이타를 출력단자에 발생시킨다. 어드레싱되지 않은 모든 멀티플렉서는 그 출력단에서 이전에 저장한 데이타 워드와 대응 패리티 비트를 발생시킨디. 따라서, 데이타 출력단자(53)에서 만들어진 새롭게 생성된 64-비트 데이타 워드는 새롭게 수신된 16-비트 데이타 워드가 어드레싱된 위치에 삽입되어 있는 검색되어 이전에 저장된 64-비트 데이타 워드로 구성되며, 패리티 출력단자(57)에서 만들어진 새롭게 형성된 8-비트 패리티 출력워드는 검색된 64-비트 데이타 워드에 상응하는 검색되어 이전에 저장된 8 패리티 비트로 구성되며, 여기에서 두개의 새롭게 수신된 패리티 비트는 새롭게 수신된 데이타 워드가 삽입되는 데이타 워드의 위치에 상응하는 어드레싱된 위치에 삽입된다.
제 4 도는 제 2 도의 반도체 메모리 장치(20)에 이용될 수 있는 데이타 선택기(60)의 블록도이다. 제 4 도에서, 64-비트 데이타 입력단자(61)는 (제 2 도의) ECC(70)의 데이타 출력단자(DO)에 연결되어 있다. 64 데이타 비트는 상술한 바와 같이, 4 개의 16-비트 데이타 워드로 구성된다. 데이타 입력단자(51)로 부터의 4 개의 16-비트 데이타 워드는 4 개의 16-비트 AND 게이트(62a-62a)의 각 제 1 입력단자에 연결된다. 각각의 16-비트 AND 게이트(62a-62d)는 16-비트 출력 데이타 워드를 내보내는 출력단자를 가진다. 16 비트 AND 게이트(62a-62d)의 출력단자는 공통적으로 반도체 메모리 장치[20)의 16-비트 데이타 출력단자(35)에 연결된다.
8-비트 패리티 입력단자(65)는 (제 2 도의) ECC(70)의 패리티 출력단자에 연결된다. 패리티 입력단자(55)의 8-패리티 비트는 상술한 바와 같이, 4쌍의 패리티 비트를 포함하며, 각쌍은 데이타 입력단자(61)에서 하나의 데이타에 상응한다(데이타 워드에서 각 바이트에 대하여 하나의 패리티 비트). 패리티 입력단자(65)로 부터의 4쌍의 패리티 비트는 4 개의 2-비트 AND 게이트(64a-64a)의 각 제 1 입력단자에 연결된다. 각각의 2-비트 AND 게이트(64a-64d)는 2-비트 패리티 출력워드를 발생시키는 출력단자를 가진다. 2-비트 AND 게이트(64a-64d)의 각 출력단자로 부터의 2-비트 패리티 출력워드는 상태 선택기 회로(68)의 제 1 입력단자에 공통으로 연결된다. 두 추가 입력단자, SBE와 UE는 각각(제 2도의)ECC(70)의 SBE 및 UE 출력단자에 연결된다. 입력단자, SEE 와 UE는 상태 선택기(68)의 제 2 및 3 입력단자에 연결된다. 상태 선택기(68)의 2-비트 출력단자는(제 2 도의) 반도체 메모리 장치120)의 상태 출력단자(55')에 연결된다.
2-비트 어드레스 입력단자(69)는 (제 2 도의)어드레스 디코더(80)의 어드레스 출력단자에 연결된다. 어드레스 입력단자(69)는 2 대 4 디코더(66)의 입력단자에 연결된다. 2 대 4 의 제 1 출력단자는 16-비트 AND 게이트(62a)와 2- 비트 AND 게이트(64a)의 각 제어 입력단자에 연결된다. 2 대 4 디코더(66)의 제 2 출력단자는 16-비트 AND 게이트(62b)와 2-비트 AND 게이트(64b)의 각 제어 입력단자에 연결된다. 2 대 4 디코더(66)의 제 3 출력단자는 16-비트 ANB 게이트(62c)와 2- 비트 AND 게이트 (64c)의 각 제어 입력단자에 연결된다. 2 대 4 디코더(66)의 제 4 출력단자는 16-비트 AND 게이트(62d)와 2-비트 AND 게이트(64d)의 각 제어 입력단자에 연결된다.
동작시, 어드레스 입력단자(69)에 공급된 2-비트 어드레스는 내부 메모리 어래이(30)로 부터 검색된 코드워드에 인코딩된 4개의 데이타 워드중 어느것이 반도체 메모리 디바이스(20)의 데이타 출력단자(35)에 공급될 것인지를 표시한다. 2 대 4 디코더(66)는 (제 3 도의) 2 대 4 디코더(56)와 동일한 방법으로 동작하며, 따라서 더 설명되지 않을 것이다. 로직 '1' 신호를 발생시키는 2 대 4 디코더(66)의 출력 단자에 연결된 16-비트(62) 및 2-비트(64) AND 게이트는 어드레싱된 AND 게이트라고 불린다.
각각의 16-비트 AND 게이트(62a-62d)와 2-비트 AND 게이트(64a 내지 64d)는 제어 입력단자의 신호가 공지된 방법대로 로직 '1' 일때만 데이타 입력단자의 신호를 데이타 출력단자로 통과시킨다. 4 개의 16-비트 AND 게이트(62a-62d)는 4 세트의 16 병렬 2 입력 AND 게이트의 출력에 연결된 각각의 입력단자를 가진 16 병렬 4 입력 OR 게이트에 의해 4 세트의 16 병렬 2 입력 AND 게이트로 구성될 수 있다. 또는 AND 게이트는 4 세트의 16 개방 컬렉터 AND 게이트로 구성되거나, 또는 제어 입력단자의 신호에 의하여 공통으로 제어되는 16 제어 스위치로 구성될 수 있다. 반도체 메모리 장치 설계분야의 당업자는 최적 방법으로 AND 게이트를 구성하는 방법을 알 것이다.
반도체 메모리 장치(20)의 데이타 출력단자(35)의 16-비트신호는 (제 2 도의)내부 메모리 어래이(30)로 부터 검색된 64-비트 데이타 워드의 4 데이타 워드중에서 어드레싱된 16-비트 데이타 워드로 구성된다. 2 입력 AND 게이트(64a-64d)의 출력의 2-비트신호는 데이타 출력단자(35)에서 발생되는 어드레싱된 16-비트워드에 따라 (제 2 도의) ECC(70)에서 발생된 패리티 비트의 쌍으로 구성된다. 이들 패리티 비트는, ECC(70)로 부터의 단일 비트에러 및 복구 불가능한 에러표시에 따라, 상태 선택기(60)에 공급된다. 상태 선택기는 상술한 바와 같이, (제 2 도의) 제어회로(40)에 연결된 제어 입력단자(도시안됨)를 더 가진다. 이들 제어 입력단자의 신호에 응답하여, 상태 선택기(68)는 반도체 메모리 장치(20)의 상태 출력단자(55')에 다음 : AND 게이트(64a-64d)로 부터의 2 패리티 비트, 또는 ECC(70)로 부터 상태 출력단자(55')까지의 단일 비트에러 SBE 및 복구 불가능한 에러 UE 표시, 또는 이를 4 신호중 두개의 결합을 상술한 것처럼 선택된 동작모드에 따라 연결시킨다.
제 5 도는 (제 2 도의) ECC(70)에 이용될 수 있는 헤밍 매트릭스의 다이어그램이다. 상기 매트릭스는 알려진 표기법으로 (제 2 도의) 데이타 결합기(50)으로 부터 결합된 64 비트 데이타 워드에서 부터(제 2 도의)내부 메모리 어래이(30)에 공급된 72-비트 에러검출 및 정정 코드워드를 발생시키기 위한 ECC(70)에서 수행된 프로-세싱을 나타낸다. 상기 매트릭스는 8 컬럼 및 8 로우를 가진 8 스퀘어(72a-72h)로 구성된다. 각 스퀘어의 상부 로우는 체크비트의 비트 0 을 나타내며, 제 2 로우는 비트 1 을 표시하며, 이런식으로 하여 하부 로우는 체크비트의 비트 7을 나타낸다. 8 스퀘어의 각 컬럼(전체 64)은 서로 상이한 데이타 비트를 표시한다. 따라서 각각의 스퀘어는 64-비트 데이타 워드에서 다른 데이타 바이트를 표시한다.체크비트를 발생시키기 위하여, 체크비트를 표시하는 매트릭스(모든 8 스퀘어)의 로우는 교차된다. 상기 로우에서, X인 어느 컬럼에 의하여 표시되는 데이타 비트는 다른 데이타 비트와 배타적-OR 된다. 상기 배타적-OR의 결과는 체크비트이다.
매트릭스의 각 스퀘어는 이전 스퀘어와 동일한 X의 패턴을 가지지만, 로우 하나가 올라간 상태에서 교환된다. 즉 스퀘어(72b)의 상부 로우는 스퀘어(72a)의 제 2 로우와 동일하며 ; 스퀘어(72b)의 제 2 로우는 제 3 로우와 동일하다. 스퀘어(72b)의 최하부 로우는 스퀘어(72a)의 최상부 로우와 동일하다. 따라서 스퀘어(72b)는 로우 하나가 위로 올라간 스퀘어(72a)이다. 스퀘어(72e)는 로우 하나가 위로 올라간 스퀘어(72b)이다. 스퀘어(72a)는 로우 하나가 위로 시프트된 스퀘어(72h)이다. 이러한 구조는, 단일 스퀘어에 의하여 표시된 프로세싱을 수행하며, 단일 회로를 8 번 사용되도록 하고, 각 체크비트의 8 성분을 형성하도록 한다. 8 성분의 배타적-OR는 체크비트를 형성한다. 단일회로의 8 회 사용에서 각각의 이용은 8 개의 서로 상이한 세트의 8 데이타 비트를 취하고, 체크비트 성분결과를 적당하게 시프트시켜 체크비트의 8 성분을 정확하게 발생시킨다. 또한, 예를 들어 스퀘어(72a)의 로우 6 및 7 처럼 모든 스퀘어 중 그 로우는 블랭크이다. 각 스퀘어에서 이들 로우는 배타적-OR 계산에 들어가지 않으며, 프로세싱하기 위한 회로를 필요로 하지 않는다. 블랭크 로우를 가진 계는 공지되어 있으며(미합중국 특허 제 3,648,239 호 참조) 따라서 이하에 더 상세히 설명하지는 않을 것이다.
스퀘어(72a)의 로우 2 및 3 (및 위쪽으로 시프트된, 다른 스퀘어의 대응 로우)는 상호 배타적 방식으로 모든 컬럼에 X를 포함한다. 이들 두 로우에 의하여 표시된 배타적-OR 동작의 결과가, 그들 자신이, 배타적-OR 되면 그 결과는 상기 스퀘어에 의하여 표시된 바이트에 대하여 짝수 패리티 비트(이는 홀수 패리티 비트를 발생시키기 위하여 반전될 수 있다.)이다. 따라서 생성된 8 패리티 비트(매트릭스에서 각 로우에 대하여 하나)는 (제 2 도의) ECC(70)의 패리티 출력단자(PO)에서 발생된다. 에러정정 인코딩된 데이타의 각 바이트에 대한 패리티 비트를 발생시키기 위한 헤밍 매트릭스의 사용은 공지되어 있으며(미합중국 특허 제 3,648,239 호 참조) 따라서 이하에 더 상세히 설명되지 않을 것이다.
그러나, 제 5 도에 도시된 스퀘어에서 X의 배치는 공지된 기술의 배열과 상이하다. 선행기술의 배열에서 X를 포함하는 스퀘어의 어떠한 로우에서 X를 포함하는 컬럼수는 1 내지 8 까지 변화한다. 제 5도에 도시된 실시예에서, 4 또는 5 개의 X는 X를 포함하는 어느 로우에 발생한다. 이는 반도체 메모리 장치가 조립되는 반도체 칩 작업을 보다 간단하게 한다.
도면에 도시되고 명세서에 기술된 반도체 메모리 장치(20)는 저장된 데이타에 대하여 단일 비트 에러정정 및 이중 비트 에러검출을 제공하지만, 에러검출 및 정정 기능을 수행하는데는 약간의 여분 메모리 엑세스 시간을 필요로 할뿐이다. 특히, 기록동작중의 시간주기 tRAL과 판독동작중의 시간주기 tAA는 고립된 어드레스의 기록 및 판독을 위한 유사한 선행 반도체 메모리 장치에서 보다 길다. 그런, 이러한 시간 손실은 정적인 컬럼모드에서 처럼, 반도체 메모리 장치가 직렬모드로 동작될때 나타나지 않는다. 이 경우에, 72-비트 코드워드는 모든4 메모리 액세스 사이클중 하나에서만 내부 메모리 어래이로 부터 검색되며, 에러검출 및 정정동작은 액세스될 코드워드에 포함된 4 데이타 워드에 대하여 필요한 시간에서 발생될 수 있다.
제 1도는 패리티 인코딩된 코드워드를 저장하는 종래기술의 반도체 메모리 장치의 블록도.
제 2 도는 본 발명의 원리에 따른 반도체 메모리 장치의 블록도.
제 3 도는 제 2 도의 반도체 메모리 장치중 데이타 결합기에 대한 블록도.
제 4도는 제 2 도의 반도체 메모리 장치중 데이타 선택기에 대한 블록도.
제 5 도는 에러정점 코드가 제 2 도의 반도체 메모리 장치에서 생성되는 방법을 나타내는 헤밍 매트릭스에 대한 도.
제 6도 및 7도는 제 2도의 반도체 메모리 장치에 공급되며, 또한 이에 의하여 생성되는 동작신호의 타이밍을 나타내는 파형도.
* 도면의 주요부분에 대한 부호설명 *
20 : 반도체 메모리 장치 30 : 내부 메모리 어래이
40 : 제어회로 50 : 데이타 결합기
60 : 데이타 선택기 70 : ECC
80 : 어드레스 디코더 회로 56, 66 : 2 대 4 디코더
52 : 16-비트 멀티플렉서 54 : 2-비트 멀티플렉서
68 : 상태 선택회로 62 : 16-비트 AND 게이트
64 : 2-비트 AND 게이트

Claims (20)

  1. 소정 수의 비트를 가진 데이타 워드를 받아들이는 입력단자 ;
    소정 수의 비트를 가진 데이타 워드를 내보내는 출력단자 ;
    각각 하나이상의 데이타 워드를 포함하는 다수의 메모리 저장워드를 저장시키는 내부 메모리 어래이 ;
    입력단자 및 내부 메모리 어래이 사이에 연결되며, 내부 메모리 어래이에 저장하기 위하여, 수신 데이타 워드를 인코딩한 에러정정 인코딩된 코드워드로 구성된 메모리 저장워드를 발생시키는 에러정정 인코더 ; 및
    내부 메모리 어래이와 출력단자 사이에 연결되어, 내부 메모리 어래이로 부터 에러정정 인코딩된 코드워드를 검색하고, 상기 검색된 코드워드에서 검출된 에러를 정정하고, 그리고 검색된 코드워드에 인코딩된 하나 이상의 데이타 워드중 어드레싱된 하나를 출력단자에 내보내는 에러정정 디코더를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  2. 제 1 항에 있어서, 상기 에러정정 인코더가 :
    내부 메모리 어래이에 연결되며, 이전에 저장된 코드워드를 검색하고, 검출된 에러가 정정되도록 검색된 코드워드에 인코딩된 하나 이상의 데이타 워드를 발생시키는 에러정정 코드체커 ; 그리고
    에러정정 코드체커와 출력단자 사이에 연결되어, 검색된 코드워드에 인코딩된 다수의 데이타 워드로 부터 에러정정된 데이타 워드중 하나를 선택하는 데이타 선택기를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  3. 제 2 항에 있어서, 데이타 선택기는, 에러정정 코드체커에 연결되고 검색된 코드워드에 인코딩된 하나 이상의 데이타 워드중 각각 상이한 하나에 응답하는 각각의 데이타 입력단자와 데이타 출력단자에 공통으로 연결되어 있는 각각의 데이타 출력단자를 가지며, 다수의 제어된 게이트중 하나만이 데이타 입력단자의 데이타 워드를 데이타 출력단자로 통과시키도록 배열된 다수의 제어된 게이트를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  4. 제 2 항에 있어서, 상기 장치는 상태 출력단자를 더 포함하며 ;
    에러정정 코드체커는 다수의 제 1 데이타 워드에서의 데이타 워드와 상이한 소정 수의 비트를 가지며, 다수의 제 2 데이타 워드중 각각의 하나에 대응하는 다수의 패리티 비트를 더 발생시키며 ; 그리고
    데이타 선택기는 출력단자에 연결된 데이타 워드에 대응하는 다수의 패리티 비트의 서브세트를 상태 출력단자에 연결시키는 것을 특징으로 하는 반도체 메모리 장치.
  5. 제 4 항에 있어서, 데이타 선택기는, 에러정정 코드체커에 연결되고 검색된 코드워드에 인코딩된 다수의 패리티 비트중 각각 상이한 하나에 응답하는 각각의데이타 입력단자와 데이타 출력단자에 공통으로 연결되어 있는 각각의 데이타 출력단자를 가지며, 다수의 제어된 게이트중 하나만이 데이타 입력단자의 데이타 워드를 데이타 출력단자로 통과시키도록 배열된 다수의 제어된 게이트를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  6. 제 1 항에 있어서, 에러정정 인코더는 :
    입력단자와 에러정정 코드체커에 연결되어, 새로운 다수의 데이타 워드를 만들기 위하여 검색된 코드워드에 인코딩된 다수의 에러정정된 데이타 워드중 하나를 수신된 데이타 워드에 대체시키는 데이타 결합기 ; 그리고
    데이타 결합기와 내부 메모리 어래이 사이에 연결되어, 새로운 다수의 데이타를 인코딩한 새로운 에러정정 인코딩된 코드워드를 발생시키고, 새로운 에러정정 인코딩된 코드워드를 내부 메모리 어래이에 재저장하는 에러정정 코드 제너레이터를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  7. 제 6 항에 있어서, 데이타 결합기는 ;
    데이타 입력단자에 공통으로 결합된 각각의 제 1 입력단자, 에러정정 코드체크에 연결되어 검색된 코드워드에 인코딩된 다수의 에러 정정된 데이타 워드중 각각 상이한 하나에 응답하는 각각의 제 2 입력단자, 그리고 에러정정 코드 제너레이터에 연결된 각각의 출력단자를 가지며, 새로운 다수의 데이타 워드중 각각 상이한 하나를 발생시키며, 다수의 멀티플렉서중 하나만이 제 1 데이타 입력단자를 출력단자에 연결시키고, 나머지는 각각의 제 2 데이타 입력단자를 각각의 출력단자에 연결시키도록 배열된 다수의 멀티플렉서를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  8. 제 1 항에 있어서, 에러정정 디코더에 연결되어, 검색된 코드워드에서 검출에러의 정정결과를 표시하는 상태신호를 발생시키는 상태 출력단자를 더 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  9. 제 1 항에 있어서, 상기 장치는 상태 출력단자를 더 포함하며 ;
    에러정정 디코더는, 다수의 제 1 데이타 워드에서의 데이타 워드와 상이한 소정 수의 비트를 가진 다수의 제 2 데이타 워드를 각 하나에 대응하는 다수의 패리티 비트를 발생시키며, 그리고 출력단자에 연결된 데이타 워드에 대응하는, 다수의 패리티 비트의 서브세트를 상태 출력단자에 연결시키는 것을 특징으로 하는 반도체 메모리 장치.
  10. 제 1 항에 있어서, 에러정정 인코딩된 코드워드는 하나 이상의 데이타 워드, 그리고 코드워드에 인코딩된 하나 이상의 데이타 위드함수로써 발생된 다수의 체크비트를 포함하며 ; 그리고
    에러정정 인코더는 다음 테이블에 따라 체크비트의 성분을 생성하는 회로를포함하며 :
    하나 이상의 데이타 워드에서 각각의 로우는 체크비트를 표시하며, 각각의 컬럼은 데이타 비트를 표시하며, 로우에 의하여 표시된 체크비트의 성분은 체크비트의 로우에서 데이타 비트를 표시하는 13 컬럼에서 X를 가진 모든 데이타 비트의 배타적-OR 기능으로 생성되는 것을 특징으로 하는 반도체 메모리 장치.
  11. 제 10 항에 있어서, 성분 발생회로는 체크비트 2에 응답하는 제 1 입력단자와 체크비트 3에 응답하는 제 2 입력단자를 가진 배타적-OR 회로와, 성분 발생회로에 의하여 처리된 데이타 비트를 패리티 인코딩한 패리티 비트를 발생시키는 출력단자를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  12. 제 10 항에 있어서, 체크비트의 나머지 성분은 하나 이상의 데이타 워드로 부터 상호 배타적인 데이타 비트를 이용하고, 최상부 로우의 내용은 최하부 로우로 보내고 테이블의 내용을 한 로우씩 위쪽으로 시프트시키는 성분 발생회로에 의하여 발생되며 ;
    에러정정 인코더는 체크비트를 발생시키기 위하여 체크비트의 모든 성분에 응답하는 배타적-OR 회로를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  13. 제 1 항에 있어서, 에러정정 인코딩된 코드워드는 하나 이상의 데이타 워드와, 코드워드에 인코딩된 하나 이상의 데이타 워드의 함수로 발생된 다수의 체크 비트를 포함하며, 에러 정정 인코더는 체크비트를 발생시키는 회로를 포함하며, 하나 이상의 데이타 워드에서 각 로우가 체크비트를 표시하며 각 컬럼이 데이타 비트를 표시하며, 로우에 의하여 표시된 체크비트는 체크비트의 로우에서 데이타 비트를 표시하는 컬럼에 X를 가진 모든 데이타 비트의 배타적-OR 함수로써 발생되는 것을 특징으로 하는 반도체 메모리 장치.
  14. 제 1 항에 있어서,
    상태 출력단자 ; 그리고
    제어 데이타를 수신하고 제어신호를 발생시키는 제어회로를 더 포함하며, 에러정정 디코더는 검색된 에러정정 디코딩된 코드워드에서 검출된 신호의 정정결과를 표시하는 ECC 상태신호를 더 발생시키며 ;
    ECC 상태신호는 제어회로의 제어신호에 따라 상태 출력단자에 선택적으로 연결되는 것을 특징으로 하는 반도체 메모리 장치.
  15. 제 1 항에 있어서,
    상태 출력단자 ; 및
    제어 데이타를 수신하고 제어신호를 발생시키는 제어회로를 더 포함하며, 에러정정 디코더는 검색된 코드워드에서 인코딩된 하나 이상의 데이타 워드중 각각의 하나에 관련된 다수의 패리티 비트를 더 발생시키며 ;
    검색된 코드위드에 인코딩된 하나 이상의 데이타 워드중 하나와 제어회로의 제어신호에 따라 상태 출력단자에 선택적으로 연결되는 것을 특징으로 하는 반도체 메모리 장치.
  16. 제 15 항에 있어서,
    에러정정 디코더는 검색된 에러정정 인코딩된 코드워드에서 검출된 에러정정의 결과를 표시하는 ECC 상태신호를 더 발생시키며 ; 그리고
    관련 패리티 비트와 ECC 상태 신호를 하나는 제어회로의 제어신호에 따라 상태 출력단자에 선택적으로 연결되는 것을 특징으로 하는 반도체 메모리 장치.
  17. 제 1 항에 있어서,
    보조 데이타를 받아들이는 보조 입력단자 ;
    상태 표시 데이타를 발생시키는 상태 출력단자 ;
    제어 데이타를 받아 들이고 제어신호를 발생시키는 제어회로 ;
    입력단자, 보조 입력단자 및 내부 메모리 어래이에 연결되어, 내부 메모리 어래이에 저장하기 위하여, 수신된 데이타 워드와 수신된 보조 데이타의 결합을 포함하는 메모리 저장워드를 발생시키는 결합회로 ;
    내부 메모리 어래이, 출력단자 및 상태 출력단자 사이에 연결되어, 결합된 데이타 워드 및 보조 데이타를 포함하는 이전에 저장된 메모리 저장워드를 검색하고, 출력단자에서 하나 이상의 데이타 워드중 하나와 상태 출력단자에서 이전에 결합된 보조 데이타를 발생시키는 선택회로를 더 포함하며,
    제어회로는 반도체 메모리 장치를 선택적으로 배열하기 위하여 제어신호를 발생시켜 제 1 동작모드에서 에러정정 인코더 및 에러정정 디코더를 활성화하고, 결합회로를 활성화시키며, 그리고 선택회로는 수신된 제어 데이타에 따르는 제 2 동작모드인 것을 특징으로 하는 반도체 메모리 장치.
  18. 제 17 항에 있어서,
    에러정정 디코더는 검색된 에러정정 인코딩된 코드 워드에서 검출된 에러의 정정결과를 표시하는 ECC 상태신호를 더 발생시키며 :
    제 1 동작모드로 동작할때, ECC 상태신호는 제어회로의 제어신호에 따라 상태 출력단자에 선택적으로 연결되는 것을 특징으로 하는 반도체 메모리 장치.
  19. 제 17 항에 있어서,
    에러정정 디코더는 검색된 에러정정 인코딩된 하나 이상의 데이타 워드중 각 하나에 관련된 다수의 패리티 비트를 더 발생시키며 :
    제 1 동작모드로 동작할때, 검색된 코드워드에 인코딩된 하나 이상의 데이타 위드중 하나와 관련된 패리티 비트는 제어회로의 제어신호에 따라 상태 출력단자에 선택적으로 연결되는 것을 특징으로 하는 반도체 메모리 장치.
  20. 제 19 항에 있어서,
    에러정정 디코더는 검색된 에러정정 인코딩된 코드워드에서 검출된 에러의 정정결과를 표시하는 ECC 상태신호를 더 발생시키며 :
    제 1 동작모드로 동작할때, 관련 패리티 비트와 ECC 상태신호중 하나는 제어회로의 제어신호에 따라 상태 출력단자에 선택적으로 연결되는 것을 특징으로 하는 반도체 메모리 장치.
KR1019950003425A 1994-02-22 1995-02-22 에러검출및정정용반도체메모리장치 KR100382255B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20078694A 1994-02-22 1994-02-22
US08/200,786 1994-02-22
US8/200,786 1994-02-22

Publications (2)

Publication Number Publication Date
KR950033822A KR950033822A (ko) 1995-12-26
KR100382255B1 true KR100382255B1 (ko) 2003-08-06

Family

ID=22743178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950003425A KR100382255B1 (ko) 1994-02-22 1995-02-22 에러검출및정정용반도체메모리장치

Country Status (7)

Country Link
US (1) US5966389A (ko)
EP (1) EP0668561B1 (ko)
JP (1) JPH07254300A (ko)
KR (1) KR100382255B1 (ko)
AT (1) ATE216096T1 (ko)
DE (1) DE69526279T2 (ko)
TW (1) TW399169B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100665442B1 (ko) * 2000-12-29 2007-01-04 엘지전자 주식회사 에러정정용 메모리 제어장치 및 방법
CN103700396A (zh) * 2013-12-03 2014-04-02 中国航天科技集团公司第九研究院第七七一研究所 一种面向sram的抗seu错误累积的控制器及方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9601606D0 (sv) * 1996-04-26 1996-04-26 Ericsson Telefon Ab L M Sätt vid radiotelekommunikationssystem
JP3945602B2 (ja) * 1998-04-14 2007-07-18 富士通株式会社 訂正検査方法及び訂正検査装置
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
US6973604B2 (en) * 2002-03-08 2005-12-06 Hewlett-Packard Development Company, L.P. Allocation of sparing resources in a magnetoresistive solid-state storage device
US20030172339A1 (en) * 2002-03-08 2003-09-11 Davis James Andrew Method for error correction decoding in a magnetoresistive solid-state storage device
JP2005327437A (ja) 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
US20070061669A1 (en) * 2005-08-30 2007-03-15 Major Karl L Method, device and system for detecting error correction defects
EP2188505B1 (en) * 2007-08-31 2019-05-15 Unifrax I LLC Mounting mat for exhaust gas treatment device and exhaust gas treatment device
US7814300B2 (en) 2008-04-30 2010-10-12 Freescale Semiconductor, Inc. Configurable pipeline to process an operation at alternate pipeline stages depending on ECC/parity protection mode of memory access
US20090276587A1 (en) * 2008-04-30 2009-11-05 Moyer William C Selectively performing a single cycle write operation with ecc in a data processing system
GB201114831D0 (en) * 2011-08-26 2011-10-12 Univ Oxford Brookes Circuit with error correction
US9529547B2 (en) 2011-10-21 2016-12-27 Freescale Semiconductor, Inc. Memory device and method for organizing a homogeneous memory
KR102002925B1 (ko) 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
KR101439815B1 (ko) * 2013-03-08 2014-09-11 고려대학교 산학협력단 메모리에서의 에러 정정 처리 회로 및 에러 정정 처리 방법
CN105340022B (zh) 2013-06-24 2019-11-12 美光科技公司 用于校正数据错误的电路、设备及方法
US9852024B2 (en) * 2016-04-19 2017-12-26 Winbond Electronics Corporation Apparatus and method for read time control in ECC-enabled flash memory
US10691533B2 (en) 2017-12-12 2020-06-23 Micron Technology, Inc. Error correction code scrub scheme
CN114203228B (zh) * 2020-09-18 2023-09-15 长鑫存储技术有限公司 存储器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127014A (en) * 1990-02-13 1992-06-30 Hewlett-Packard Company Dram on-chip error correction/detection
EP0540450A1 (en) * 1991-10-31 1993-05-05 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3243774A (en) * 1962-07-12 1966-03-29 Honeywell Inc Digital data werror detection and correction apparatus
US3387261A (en) * 1965-02-05 1968-06-04 Honeywell Inc Circuit arrangement for detection and correction of errors occurring in the transmission of digital data
US3648239A (en) * 1970-06-30 1972-03-07 Ibm System for translating to and from single error correction-double error detection hamming code and byte parity code
US3825893A (en) * 1973-05-29 1974-07-23 Ibm Modular distributed error detection and correction apparatus and method
US3836957A (en) * 1973-06-26 1974-09-17 Ibm Data storage system with deferred error detection
US4506362A (en) * 1978-12-22 1985-03-19 Gould Inc. Systematic memory error detection and correction apparatus and method
US4360915A (en) * 1979-02-07 1982-11-23 The Warner & Swasey Company Error detection means
US5177743A (en) * 1982-02-15 1993-01-05 Hitachi, Ltd. Semiconductor memory
US4450562A (en) * 1982-03-26 1984-05-22 Rca Corporation Two level parity error correction system
US4651321A (en) * 1983-08-29 1987-03-17 Amdahl Corporation Apparatus for reducing storage necessary for error correction and detection in data processing machines
DE3379192D1 (en) * 1983-12-19 1989-03-16 Itt Ind Gmbh Deutsche Correction method for symbol errors in video/teletext signals
JPS61134988A (ja) * 1984-12-04 1986-06-23 Toshiba Corp 半導体メモリにおける誤り検出訂正機能制御系
US4852100A (en) * 1986-10-17 1989-07-25 Amdahl Corporation Error detection and correction scheme for main storage unit
JPH01171199A (ja) * 1987-12-25 1989-07-06 Mitsubishi Electric Corp 半導体メモリ
US4995041A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Write back buffer with error correcting capabilities
US5195099A (en) * 1989-04-11 1993-03-16 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having improved error correcting circuit
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
US5331645A (en) * 1990-01-17 1994-07-19 Integrated Device Technology, Inc. Expandable digital error detection and correction device
US5043943A (en) * 1990-06-18 1991-08-27 Motorola, Inc. Cache memory with a parity write control circuit
JP2549209B2 (ja) * 1991-01-23 1996-10-30 株式会社東芝 半導体記憶装置
JPH05225798A (ja) * 1991-08-14 1993-09-03 Internatl Business Mach Corp <Ibm> メモリシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127014A (en) * 1990-02-13 1992-06-30 Hewlett-Packard Company Dram on-chip error correction/detection
EP0540450A1 (en) * 1991-10-31 1993-05-05 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100665442B1 (ko) * 2000-12-29 2007-01-04 엘지전자 주식회사 에러정정용 메모리 제어장치 및 방법
CN103700396A (zh) * 2013-12-03 2014-04-02 中国航天科技集团公司第九研究院第七七一研究所 一种面向sram的抗seu错误累积的控制器及方法

Also Published As

Publication number Publication date
KR950033822A (ko) 1995-12-26
DE69526279D1 (de) 2002-05-16
JPH07254300A (ja) 1995-10-03
EP0668561A3 (en) 1996-04-10
US5966389A (en) 1999-10-12
ATE216096T1 (de) 2002-04-15
EP0668561A2 (en) 1995-08-23
DE69526279T2 (de) 2002-10-02
EP0668561B1 (en) 2002-04-10
TW399169B (en) 2000-07-21

Similar Documents

Publication Publication Date Title
KR100382255B1 (ko) 에러검출및정정용반도체메모리장치
KR920002575B1 (ko) 바이트 기입 에러코드 방법 및 장치
US4468731A (en) Identification apparatus for use in a controller to facilitate the diagnosis of faults
US6996766B2 (en) Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US6973613B2 (en) Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
US4903268A (en) Semiconductor memory device having on-chip error check and correction functions
US4710934A (en) Random access memory with error correction capability
US3436734A (en) Error correcting and repairable data processing storage system
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US7650457B2 (en) Memory module comprising a plurality of memory devices
US20040003336A1 (en) Error detection/correction code which detects and corrects memory module/transmitter circuit failure
JPS6122826B2 (ko)
US5033024A (en) Matrix memory with redundancy and minimizes delay
JPS6042560B2 (ja) 半導体記憶装置
JPS58215800A (ja) メモリ再構成方法
JPS6326420B2 (ko)
JPS62117200A (ja) 自己テスト機能付き半導体メモリおよび自己テスト方法
JPH0136134B2 (ko)
US5630086A (en) Apparatus systems and methods for controlling electronic memories
JPH07254270A (ja) Dram素子の複数のバンクを制御する方法と装置
EP1440372B1 (en) Multibit package error correction with non-restricted double bit error detection
KR880000577B1 (ko) 메모리 시스템
US4774712A (en) Redundant storage device having address determined by parity of lower address bits
US5886930A (en) Bit interleaving in a memory which uses multi-bit DRAMs
US7552368B2 (en) Systems and methods for simultaneously testing semiconductor memory devices

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: 20080326

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee