KR20060088036A - 메모리회로 - Google Patents

메모리회로 Download PDF

Info

Publication number
KR20060088036A
KR20060088036A KR1020060008197A KR20060008197A KR20060088036A KR 20060088036 A KR20060088036 A KR 20060088036A KR 1020060008197 A KR1020060008197 A KR 1020060008197A KR 20060008197 A KR20060008197 A KR 20060008197A KR 20060088036 A KR20060088036 A KR 20060088036A
Authority
KR
South Korea
Prior art keywords
data
error correction
error
circuit
signal
Prior art date
Application number
KR1020060008197A
Other languages
English (en)
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 KR20060088036A publication Critical patent/KR20060088036A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • 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
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 액세스시간이 길어지는 것을 방지하고, 또 소프트 오류(soft error) 발생빈도를 충분히 낮게 하기 위한 것이다.
메모리회로로서, 데이터 및 상기 데이터에 대한 오류정정을 행하기 위한 용장데이터를 저장하는 데이터저장부와, 데이터를 입출력하도록 외부로부터 액세스를 받지 않고 있을 때에, 상기 데이터저장부의 데이터에 대해, 상기 용장데이터를 이용하여 적어도 오류검출을 실행하고, 적어도 얻어진 결과를 오류검출신호로서 출력하는 오류정정부를 구비한다. 저장된 데이터를 출력하도록 액세스됐을 때에는, 지정된 데이터가 상기 오류정정부의 처리를 거치지 않고 외부로 출력된다.
메모리 회로, 소프트 오류, 오류정정회로

Description

메모리회로{MEMORY CIRCUIT}
도 1은 본 발명에 관한 메모리회로의 구성을 나타내는 블록도.
도 2는 도 1의 제어신호 입력회로 구성을 나타내는 회로도.
도 3은 도 1의 메모리회로 동작 예를 나타내는 타이밍도.
도 4는 종래의 메모리회로 동작 예를 나타내는 블록도.
도 5는 도 4의 제어신호 입력회로 구성을 나타내는 회로도.
도 6은 도 4의 메모리회로 동작 예를 나타내는 타이밍도.
<도면의 주요 부분에 대한 부호의 설명>
20 : 오류정정부 22 : 선택기(데이터 선택회로)
24 : 부호화회로 26 : 출력버퍼
28 : 출력데이터 오류정정회로 100 : 데이터저장부
102 : 데이터용 메모리 셀 배열 104 : 용장데이터용 메모리 셀 배열
106 : 어드레스 복호기 110 : 제어회로
112 : 제어신호 입력회로 114 : 어드레스 계수기
116 : 어드레스 선택기
본 발명은 메모리회로에 관하며, 특히, 저장된 데이터의 소프트 오류(soft error)를 검출 또는 정정하는 회로를 구비하는 메모리회로에 관한 것이다.
최근, 반도체메모리의 프로세스 미세화에 수반하여, 메모리 셀의 1셀당 면적은 계속 축소되고 있다. 이에 따라 메모리 셀에 축적되는 전하의 양도 감소되고 있다. 그 결과, 알파선 및 우주선 입사에 의한, 메모리 셀에의 전하 유입이나 데이터 파괴가 심각한 문제가 되고 있다. 이 데이터 파괴는, 메모리 셀의 기억 노드로의 전하 유입에 의한, 기억 노드의 전위 변화에 의한 것으로, 메모리 셀이 물리적으로 파괴되는 것은 아니다. 때문에 동일 어드레스에 정확한 데이터를 재기입하면, 오류를 정정할 수 있다. 이와 같은 오류는 소프트 오류라 불린다. 소프트 오류에의 대처방법으로는, 오류정정회로(ECC(Error Check and Correct)회로)를 이용하는 방법이 일반적이다.
종래의 오류정정회로를 구비한 메모리회로에서는, 메모리에의 데이터입력 시에, 기억데이터와 함께 해밍부호 등의 용장데이터를 부가하여 기억시키고, 메모리로부터의 데이터출력 시에, 기억데이터와 용장데이터를 이용하여 입력 시의 데이터를 복원한다. 예를 들어 32비트의 데이터를 입력할 때에, 해밍부호를 이용한 6비트의 용장데이터를 기억시키면, 기억 중에 발생한 1비트의 데이터 오류를 출력시에 정정할 수 있다(예를 들어, Kiyohiro FURUTANI, 외 5명, "A Built-In Hamming Code ECC Circuit for DRAM's", IEEE JOURNAL OF SOLID-STATE CIRCUITS, (미국), 1989년 2월, 제 24권, 제 1호, pp.50-56 참조).
도 4는 종래의 메모리회로 구성 예를 나타내는 블록도이다. 도 4의 메모리회로는, 데이터저장부(900)와, 오류정정부(920)와, 입력버퍼(932)를 구비한다. 데이터저장부(900)는, 데이터용 메모리 셀 배열(902)과, 용장데이터용 메모리 셀 배열(904)과, 어드레스 복호기(906)와, 제어신호 입력회로(912)를 구비한다. 오류정정부(920)는, 부호화회로(924)와, 출력데이터 오류정정회로(928)를 구비한다.
도 5는 도 4의 제어신호 입력회로(912) 구성을 나타내는 회로도이다. 제어신호 입력회로(912)는, 플립플롭(941, 942)과, 논리게이트(951, 952)를 구비한다.
데이터저장부(900)의 데이터 입출력은, 클록신호(CLK)의 상승에 동기하여 이루어진다. 판독/기입 제어신호(NWE)가 저전위(이하에서는 "L"로 표기함)일 때, 제어신호 입력회로(912)는 클록신호(CLK)에 동기하여 내부기입제어신호(IWE)를 활성화한다(고전위(이하에서는 "H"로 표기함)로 한다). 또 제어신호 입력회로(912)는, 메모리 선택신호(NCS)가 "L"일 때에는, 클록신호(CLK)를 내부 클록신호(ICLK)로서 출력한다.
도 6은 도 4의 메모리회로 동작 예를 나타내는 타이밍도이다. 도 6에서, 내부클록신호(ICLK)의 상승 시에 어드레스신호(A)가 내부에 입력되며, 어드레스 복호기(906)는 어드레스신호(A)를 복호하여, 저장된 데이터를 선택하기 위한 신호(AIN)를 생성한다.
도 6의 주기(1)는 기입주기이다. 판독/기입 제어신호(NWE)는 "L"로 되므로, 도 5의 제어신호 입력회로(912)는 클록신호(CLK)에 동기하여 내부기입제어신호(IWE)를 활성화한다.
그리하면 입력버퍼(932)는, 외부입력 데이터(D)를 내부입력 데이터(DIN)로서 출력한다. 내부입력 데이터(DIN)는 데이터용 메모리 셀 배열(902)에 기입된다. 또 부호화회로(924)는 내부입력 데이터(DIN)에 기초하여 오류정정용 해밍부호를 생성하고, 용장데이터(PIN)로서 출력한다. 용장데이터(PIN)는 용장데이터용 메모리 셀 배열(904)에 기입된다.
주기(2-4)는 판독주기이다. 클록신호(CLK)의 상승 시에 내부기입제어신호(IWE)가 활성화되지 않으면, 데이터용 메모리 셀 배열(902) 및 용장데이터용 메모리 셀 배열(904)은, 내부출력 데이터(DOUT) 및 용장데이터(POUT)를 출력데이터 오류정정회로(928)로 각각 출력한다.
출력데이터 오류정정회로(928)는, 용장데이터(POUT)를 이용하여 내부출력 데이터(DOUT)에 대해 오류정정을 실행하며, 판독된 내부출력 데이터(DOUT)와 비교하여 오류의 유무를 검출한다. 오류를 검출한 경우, 출력데이터 오류정정회로(928)는 오류검출신호(ERR)를 "H"로 하여 출력하며, 오류정정된 출력데이터(Q)를 메모리회로의 외부로 출력한다.
그러나 이와 같은 종래의 오류정정회로에서는, 데이터출력의 경로 상에 오류정정회로가 배치되므로, 메모리의 출력액세스 시간이, 오류정정회로가 없는 경우에 비해 매우 늦어진다는 문제점이 있다. 즉 도 6에 나타내는 바와 같이, 내부출력 데이터(DOUT)는 반드시 오류정정회로를 경유한 후 외부출력 데이터(Q)로서 출력되므로, 출력액세스 시간이 길어진다.
본 발명은 액세스시간이 길어지는 것을 방지하고, 또 소프트 오류 발생빈도를, 실제사용 상, 충분히 낮게 한 메모리회로를 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위해 본 발명이 강구한 수단은, 메모리회로로서, 데이터 및 상기 데이터에 대한 오류정정을 행하기 위한 용장데이터를 저장하는 데이터저장부와, 데이터를 입출력하도록 외부로부터 액세스를 받지 않고 있을 때에, 상기 데이터저장부의 데이터에 대해, 상기 용장데이터를 이용하여 적어도 오류검출을 하고, 적어도 얻어진 결과를 오류검출신호로서 출력하는 오류정정부를 구비하며, 저장된 데이터를 출력하도록 액세스됐을 때에는, 지정된 데이터가 상기 오류정정부에서의 처리를 거치지 않고 외부로 출력되는 것이다.
이에 따르면, 판독된 데이터를, 오류정정부의 처리를 거치지 않고 외부로 출력할 수 있다. 이로써 출력액세스시간이 길어짐을 방지할 수 있다. 한편, 데이터를 입출력하도록 외부로부터 액세스를 받지 않고 있을 때에는, 데이터저장부의 데이터에 대해 적어도 오류검출을 행하므로, 오류가 검출된 경우에 오류정정을 행하고 재기입을 하도록 하면, 소프트 오류에 의해 발생하는 판독 오류의 확률을 낮게 할 수 있다.
본 발명의 메모리회로에 있어서 상기 오류정정부는, 상기 데이터저장부로부터 판독된 데이터에 대해, 이에 대응하는 상기 용장데이터를 이용하여 오류정정을 행하고, 얻어진 오류정정 후의 데이터에 대한 오류정정을 실행하기 위한 용장데이터를 생성하는 것으로, 상기 데이터저장부는, 상기 오류정정 후의 데이터 및 대응 하는 용장데이터를, 상기 데이티저장부로부터 판독된 데이터의 어드레스와 동일 어드레스에 재기입하는 것이다.
또 본 발명의 메모리회로에 있어서 상기 오류정정부는, 상기 데이터저장부로부터 판독된 데이터에 대해, 이에 대응하는 상기 용장데이터를 이용하여 오류정정을 행하고, 얻어진 오류정정 후의 데이터 및 상기 오류검출신호를 출력하는 출력데이터 오류정정회로와, 상기 오류검출신호가, 오류가 검출된 것을 나타냈을 경우에는, 상기 오류정정 후의 데이터를 선택하고, 그 밖의 경우에는, 외부로부터의 입력데이터를 선택하여, 상기 데이터저장부로 출력하는 데이터선택회로와, 상기 데이터선택회로로부터 출력된 데이터로부터, 이 데이터에 대한 오류정정을 행하기 위한 용장데이터를 생성하여 상기 데이터저장부로 출력하는 부호화회로를 구비하는 것이다.
본 발명의 메모리회로에 있어서 상기 데이터저장부는, 상기 데이터를 저장하는 데이터용 메모리 셀 배열과, 상기 용장데이터를 저장하는 용장데이터용 메모리 셀 배열과, 상기 데이터용 메모리 셀 배열 및 상기 용장데이터용 메모리 셀 배열에 액세스하기 위한 내부어드레스 신호를 출력하는 제어회로와, 상기 내부어드레스 신호를 복호하여 상기 데이터용 메모리 셀 배열 및 상기 용장데이터용 메모리 셀 배열에 공급하는 어드레스 복호기를 구비하며, 상기 제어회로는, 상기 데이터용 메모리 셀 배열 및 상기 용장데이터용 메모리 셀 배열에 액세스하기 위한 순환적으로 생성된 오류정정용 내부어드레스 신호, 또는 외부로부터 입력된 외부 어드레스신호를 선택하고 래칭하여, 상기 내부어드레스 신호로서 출력하는 어드레스 선택기를 구비하는 것으로, 상기 어드레스 선택기는, 상기 오류검출신호가, 오류가 검출된 것을 나타냈을 경우에는, 상기 내부어드레스 신호를 갱신하지 않고 유지하는 것이다.
본 발명의 메모리회로에 있어서 상기 제어회로는, 상기 오류검출신호가, 오류가 검출된 것을 나타냈을 경우에는, 내부기입제어신호를 활성화하여 상기 데이터선택회로로 출력하는 제어신호 입력회로를 추가로 구비하는 것으로, 상기 데이터선택회로는 상기 내부기입제어신호가 활성화돼있을 경우에는, 선택된 데이터를 출력하는 것이다.
본 발명의 메모리회로에 있어서 상기 제어신호 입력회로는, 입력된 오류정정 제어신호가 활성화돼있을 경우에는 오류정정 가능신호를 활성화하고, 또 어드레스계수용 클록신호를 생성하여 출력하는 것으로, 상기 제어회로는, 상기 어드레스계수용 클록신호를 계수하고, 계수값을 상기 오류정정용 내부어드레스 신호로서 출력하는 어드레스 계수기를 구비하는 것이며, 상기 어드레스 선택기는, 상기 오류정정 가능신호가 활성화돼있을 경우에는 상기 오류정정용 내부어드레스 신호를 선택하고, 그 밖의 경우에는 상기 외부어드레스 신호를 선택하는 것이다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해질 것이다.
실시형태
(실시 예)
이하, 본 발명의 실시예에 대해 도면을 참조하면서 설명한다.
도 1은 본 발명에 관한 메모리회로의 구성을 나타내는 블록도이다. 도 1의 메모리회로는, 데이터저장부(100)와, 오류정정부(20)를 구비한다. 데이터저장부(100)는, 데이터용 메모리 셀 배열(102)과, 용장데이터용 메모리 셀 배열(104)과, 어드레스복호기(106)와, 제어회로(110)를 구비한다.
제어회로(110)는, 제어신호 입력회로(112)와, 어드레스 계수기(114)와, 어드레스 제어회로로서의 어드레스 선택기(116)를 갖는다. 오류정정부(20)는, 데이터선택회로로서의 선택기(22)와, 부호화회로(24)와, 출력버퍼(26)와, 출력데이터 오류정정회로(28)를 구비한다.
제어신호 입력회로(112)는, 클록신호(CLK), 메모리선택신호(NCS), 판독/기입 제어신호(NWE), 오류정정 제어신호(NECC), 및 오류검출신호(ERR)를 입력으로 하며, 내부클록신호(ICLK), 내부기입제어신호(IWE), 어드레스계수용 클록신호(ECLK), 및 오류정정 가능신호(ECCE)를 출력한다.
어드레스계수기(114)는, 어드레스계수용 클록신호(ECLK)에 따라 계수하여, 계수값을 오류정정용 내부어드레스신호(CA)로서 선택기(116)로 출력한다.
선택기(116)는, 오류정정 가능신호(ECCE)가 "H"일 때에는 오류정정용 내부어드레스신호(CA)를 선택하며, 그 외일 때에는 외부어드레스신호(A)를 선택한다. 선택기(116)는, 선택된 신호를 클록신호(CLK)에 동기시켜 래칭하고, 래칭된 신호를 내부어드레스신호(IA)로서 어드레스복호기(106)로 출력한다. 또 선택기(116)는, 오류검출신호(ERR)가 "H"일 때는, 래칭된 내부어드레스신호(IA)를 갱신하지 않고 계속 유지한다.
어드레스복호기(106)는, 내부어드레스신호(IA)를 복호하여, 데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104)에 저장된 데이터로부터, 내부어드레스신호(IA)가 지정하는 데이터를 선택하기 위한 신호(AIN)를 출력한다.
데이터용 메모리 셀 배열(102)은, 신호(AIN)에 의해 선택된 데이터를, 내부출력데이터(DOUT)로서 출력버퍼(26) 및 출력데이터 오류정정회로(28)로 출력한다. 용장데이터용 메모리 셀 배열(104)은, 신호(AIN)에 의해 선택된 데이터를, 용장데이터(POUT)로서 출력데이터 오류정정회로(28)로 출력한다.
출력데이터 오류정정회로(28)는, 내부출력데이터(DOUT)와 용장데이터(POUT)를 이용하여 내부출력데이터(DOUT)에 대한 오류정정을 하고, 얻어진 정정데이터(DCRT)를 선택기(22)로 출력한다. 또 출력데이터 오류정정회로(28)는, 내부출력데이터(DOUT)에서 오류가 검출된 경우에는, 오류검출신호(ERR)를 "H"로 하여 제어신호 입력회로(112) 및 선택기(22, 116)로 출력한다.
선택기(22)는, 오류검출신호(ERR) 및 내부기입제어신호(IWE)에 따라, 외부입력데이터(D) 또는 정정데이터(DCRT)를 선택하여, 내부입력데이터(DIN)로서 데이터용 메모리 셀 배열(102) 및 부호화회로(24)로 출력한다. 선택기(22)는, 내부기입제어신호(IWE)가 활성화 상태일 때("H"일 때)는, 정정데이터(DCRT)를 선택한다.
부호화회로(24)는 내부입력데이터(DIN)로부터, 오류정정을 위한 용장데이터(PIN)를 생성하여, 용장데이터용 메모리 셀 배열(104)로 출력한다. 부호화회로(24)는, 예를 들어 32비트의 내부입력데이터(DIN)로부터, 6비트의 해밍부호를 용장데이터(PIN)로서 생성한다.
출력버퍼(26)는 내부출력데이터(DOUT)를 입력으로 하며, 이를 오류정정가능신호(ECCE)에 따라 외부출력데이터(Q)로서 출력한다. 즉 출력버퍼(26)는, 오류정정 가능신호(ECCE)가 "H"일 때는 내부출력데이터(DOUT)를 래칭하여 출력하며, 오류정정 가능신호(ECCE)가 "L"일 때는 내부출력데이터(DOUT)를 그대로 출력한다.
도 2는 도 1의 제어신호 입력회로(112) 구성을 나타내는 회로도이다. 제어신호 입력회로(112)는, 플립플롭(141, 142, 143, 144)과, 논리게이트(151, 152, 153, 154, 155, 158)를 구비한다.
플립플롭(141-144)은 각각, 메모리선택신호(NCS), 판독/기입 제어신호(NWE), 오류정정 제어신호(NECC), 및 오류검출신호(ERR)를 입력으로 하며, 입력된 신호를 클록신호(CLK)에 동기시켜 출력한다.
메모리선택신호(NCS)가 "L"일 경우, 논리게이트(151)는 클록신호(CLK)를 내부클록신호(ICLK)로서 출력한다. 논리게이트(158)는, 판독/기입 제어신호(NWE)가 "L"이고 또 오류정정 제어신호(NECC)가 "H"일 경우에 내부기입제어신호(IWE)를 활성화시키는 이외에, 오류검출신호(ERR)가 "H"일 경우에는 내부클록신호(ICLK)를 내부기입제어신호(IWE)로서 출력한다.
오류정정 제어신호(NECC) 및 오류검출신호(ERR)가 "L"일 경우, 논리게이트(155)는 어드레스계수용 클록신호(ECLK)를 출력한다. 오류검출신호(ERR)가 "H"로 되면, 어드레스계수용 클록신호(ECLK)는 정지된다. 메모리선택신호(NCS) 및 오류정정 제어신호(NECC)가 "L"일 경우, 논리게이트(154)는 오류정정 가능신호(ECCE)를 활성화시킨다. 즉, "H"로 한다.
도 3은 도 1의 메모리회로 동작 예를 나타내는 타이밍도이다. 도 3을 이용하여 도 1의 메모리회로 동작을 설명한다. 데이터저장부(100)의 데이터입출력은, 클록신호(CLK)의 상승에 동기하여 이루어진다.
도 3에서 주기(1)는 통상의 판독주기이며, 저장된 데이터를 출력하도록 외부로부터 액세스된다. 이 주기에서는, 외부로부터 입력되는 오류정정 제어신호(NECC)가 "H"로 되므로, 오류정정 가능신호(ECCE)는 "L"이다. 따라서 선택기(116)는 외부어드레스신호(A)를 선택하며, 출력버퍼(26)는 내부출력데이터(DOUT)를 그대로 외부출력데이터(Q)로서 출력한다. 이 때 출력되는 데이터는, 출력데이터 오류정정회로(28)를 경유하지 않으며, 오류검출이나 오류정정 처리를 받는 일이 없으므로, 출력액세스시간이 길어지는 것을 방지할 수 있다.
주기(2-5)에서, 메모리선택신호(NCS)는 "L"로 활성화된다. 또 주기(2-5)에서는, 데이터를 입출력하도록 외부로부터 액세스를 받지 않으며, 저장돼있는 데이터의 오류검출이나 오류정정을 위해, 오류정정 시 이외에는 판독이 실행된다. 이로써 주기(2-5)에서는 오류정정 제어신호(NECC)가 "L"로 활성화된다.
주기(2)는 판독주기이다. 주기(2)에서, 클록신호(CLK)의 상승 시에 오류정정 가능신호(ECCE)가 "H"로 활성화되며, 또 어드레스계수용 클록신호(ECLK)가 내부클록신호(ICLK)와 마찬가지로 출력된다.
오류정정 가능신호(ECCE)가 활성화되면, 선택기(116)는 외부어드레스신호(A)의 입력을 금지시키고, 어드레스계수기(114)로부터 출력되는 오류정정용 내부어드레스신호(CA)를 선택하여 출력한다. 또 출력버퍼(26)는, 이전 주기의 출력데이터 (Q)(도 3의 Qx)를 래칭한다. 또한 출력데이터 오류정정회로(28)는 활성화되어, 정정데이터(DCRT)를 출력한다.
어드레스계수기(114)는, 어드레스계수용 클록신호(ECLK)의 상승 시에 오류정정용 내부어드레스신호(CA)를 증분(increment)한다. 어드레스계수기(114)는, 데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104) 내의 데이터를 지정하는 모든 어드레스를 순환적으로 발생시킨다. 예를 들어 데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104)의 어드레스로서, 0-M이 할당됐다 하면, 어드레스계수기(114)는 0에서 M까지의 계수를 반복한다.
주기(3)는 판독주기이다. 주기(3)에서, 출력데이터 오류정정회로(28)는, 내부어드레스(An+1)로 지정된 데이터용 메모리 셀 배열(102)로부터의 내부출력데이터(Qn+1)에 오류가 검출되면, 오류검출신호(ERR)를 "H"로 한다.
주기(4)에서는 오류정정이 실행된다. 주기(4)에서는, 오류검출신호(ERR)가 "H"이므로, 제어신호 입력회로(112)는 어드레스계수용 클록신호(ECLK)를 정지시키며, 어드레스계수기(114)는 오류정정용 내부어드레스신호(CA)를 증분하지 않고, 선택기(116)는 이전 주기와 동일 어드레스(An+1)를 유지하여 출력한다.
또 제어신호 입력회로(112)가 오류검출신호(ERR)에 따라 내부기입제어신호(IWE)를 활성화하므로, 선택기(22)는 정정데이터(DCRT)를 선택하여 내부입력데이터(DIN)로서 출력한다. 즉, 정정데이터(Qn+1x)가 내부입력데이터(Dn+1)로서 데이터용 메 모리 셀 배열(102) 및 부호화회로(24)에 부여된다.
데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104)에는 내부어드레스(An+1)가 부여된 채이므로, 데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104)의 내부어드레스(An+1)에, 내부입력데이터(Dn+1) 및 이에 기초하여 생성된 용장데이터가 각각 기입된다.
즉, 데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104)은, 주기(3)에서 판독 대상이 된 어드레스에, 오류정정 후의 데이터 및 이에 대응하는 용장데이터를 각각 재기입한다.
이상과 같이 도 1의 메모리회로에 의하면, 판독된 데이터를 직접 외부로 출력하는 경로(도 1의 출력버퍼(26)를 경유하는 경로)에 병렬로, 출력데이터 오류정정회로(28)를 구비하도록 하므로, 판독된 데이터는 오류검출이나 오류정정을 위한 처리를 받는 일없이 외부로 출력된다. 이로써, 오류정정 등의 처리에 의해 발생하는 액세스시간의 증가를 방지할 수 있어, 고속의 액세스를 실행할 수 있다.
또 오류정정 제어신호(NECC)에 따라, 메모리 외부로부터의 데이터입출력 액세스주기와는 별도의 주기에서, 어드레스계수기(114)가 오류정정용 내부어드레스신호(CA)를 생성하여, 주기적으로 데이터용 메모리 셀 배열(102) 및 용장데이터용 메모리 셀 배열(104) 내에 저장된 데이터에 대해 오류검출이나 오류정정이 이루어진다. 이로써, 메모리회로에서 소프트 오류에 의해 발생하는 데이터 오류의 확률을, 실제 사용상, 충분히 낮게 할 수 있다.
예를 들어 메로리회로로서, 130㎚ 프로세스를 이용한 반도체SRAM(Static Random-Access Memory)을 생각한다. 이 경우, 1메가비트당의 우주선에 의한 소프트 오류 확률(software error rate)은, 약 2.1×10-5error/hour/Mbit이며, 이 값은 약 5년에 1번 오류가 발생하는 확률이다.
현재, SRAM의 용량이 32K워드, 동작주파수가 27㎒일 경우에, SRAM이 동작하는 주기 중 1만회에 1회만, 통상 액세스의 주기와는 별도의 주기에서 오류를 체크한다고 가정하면, 소프트 오류가 1회 발생하는 기간 중에, 1.4×107회만큼이나 전체 비트를 체크하기가 가능하다. 이 경우, 오류정정회로를 사용하지 않는 경우에 비해, 3.6×108배나 소프트 오류의 발생확률을 낮출 수 있다. 이 확률은 실제사용 상, 전혀 문제가 없는 오류 확률이다.
이상의 실시예에서는, 출력데이터 오류정정회로(28)가 오류정정을 실행하는 경우에 대해 설명했지만, 출력데이터 오류정정회로가 오류정정을 행하지 않고 오류검출의 결과를 메모리회로의 외부로 출력하도록 해도 된다. 이 경우는, 오류검출의 결과에 따라, 메모리회로 외부에서 오류정정을 실행하고, 정정 후의 데이터를 재기입하도록 한다.
또 내부출력데이터(DOUT)는 32비트의 데이터, 용장데이터(POUT)는 6비트의 데이터로서 설명했지만, 이들 데이터의 비트수는 다른 비트수라도 된다.
또한 이상의 실시예에서는, 클록동기식의 메모리회로에 대해 설명했지만, 비동기식의 메모리회로라도 된다. 또 메모리회로는 재기입에 의해 데이터파괴를 복원 할 수 있는 메모리라면 되며, 반도체메모리라도, 그 밖의 종류의 메모리라도 된다.
이상 설명한 바와 같이 본 발명에 의하면, 판독된 데이터를, 오류검출이나 오류정정 처리를 받는 일없이 외부로 출력할 수 있으므로, 출력액세스 시간이 길어짐을 방지할 수 있다. 또 데이터를 입출력하도록 외부로부터 액세스를 받지 않았을 때에, 메모리회로의 데이터에 대해 오류검출이나 오류정정을 실행하도록 하므로, 메모리회로에서 소프트 오류에 의한 판독 오류의 확률을 실제사용 상, 충분히 낮게 할 수 있다.
또 본 발명은, 데이터출력 시의 액세스시간을 단축할 수 있으므로, 고속으로 동작하는 것이 필요한 메모리회로 등에 유용하다.

Claims (6)

  1. 데이터 및 상기 데이터에 대한 오류정정을 행하기 위한 용장데이터를 저장하는 데이터저장부와,
    데이터를 입출력하도록 외부로부터 액세스를 받지 않고 있을 때에, 상기 데이터저장부의 데이터에 대해, 상기 용장데이터를 이용하여, 적어도 오류검출을 하고, 적어도 얻어진 결과를 오류검출신호로서 출력하는 오류정정부를 구비하며,
    저장된 데이터를 출력하도록 액세스됐을 때에는, 지정된 데이터가 상기 오류정정부에서의 처리를 거치지 않고 외부로 출력되는 메모리회로.
  2. 제 1 항에 있어서,
    상기 오류정정부는,
    상기 데이터저장부로부터 판독된 데이터에 대해, 이에 대응하는 상기 용장데이터를 이용하여 오류정정을 실행하고, 얻어진 오류정정 후의 데이터에 대한 오류정정을 행하기 위한 용장데이터를 생성하는 것이며,
    상기 데이터저장부는,
    상기 오류정정 후의 데이터 및 대응하는 용장데이터를, 상기 데이티저장부로부터 판독된 데이터의 어드레스와 동일 어드레스에 재기입하는 것임을 특징으로 하는 메모리회로.
  3. 제 1 항에 있어서,
    상기 오류정정부는,
    상기 데이터저장부로부터 판독된 데이터에 대해, 이에 대응하는 상기 용장데이터를 이용하여 오류정정을 실행하고, 얻어진 오류정정 후의 데이터 및 상기 오류검출신호를 출력하는 출력데이터 오류정정회로와,
    상기 오류검출신호가, 오류가 검출된 것을 나타낼 경우에는, 상기 오류정정 후의 데이터를 선택하며, 그 밖의 경우에는, 외부로부터의 입력데이터를 선택하여, 상기 데이터저장부에 출력하는 데이터선택회로와,
    상기 데이터선택회로로부터 출력된 데이터로부터, 이 데이터에 대한 오류정정을 실행하기 위한 용장데이터를 생성하여 상기 데이터저장부로 출력하는 부호화회로를 구비하는 것임을 특징으로 하는 메모리회로.
  4. 제 3 항에 있어서,
    상기 데이터저장부는,
    상기 데이터를 저장하는 데이터용 메모리 셀 배열과,
    상기 용장데이터를 저장하는 용장데이터용 메모리 셀 배열과,
    상기 데이터용 메모리 셀 배열 및 상기 용장데이터용 메모리 셀 배열에 액세스하기 위한 내부어드레스 신호를 출력하는 제어회로와,
    상기 내부어드레스 신호를 복호하여 상기 데이터용 메모리 셀 배열 및 상기 용장데이터용 메모리 셀 배열에 공급하는 어드레스 복호기를 구비하며,
    상기 제어회로는,
    상기 데이터용 메모리 셀 배열 및 상기 용장데이터용 메모리 셀 배열에 액세스하기 위한 순환적으로 생성된 오류정정용 내부어드레스 신호, 또는 외부로부터 입력된 외부 어드레스신호를 선택하고, 래칭하여, 상기 내부어드레스 신호로서 출력하는 어드레스 선택기를 구비하는 것으로,
    상기 어드레스 선택기는,
    상기 오류검출신호가, 오류가 검출된 것을 나타냈을 경우에는, 상기 내부어드레스 신호를 갱신하지 않고 유지하는 것임을 특징으로 하는 메모리회로.
  5. 제 4 항에 있어서,
    상기 제어회로는,
    상기 오류검출신호가, 오류가 검출된 것을 나타냈을 경우에는, 내부기입제어신호를 활성화하여 상기 데이터선택회로로 출력하는 제어신호 입력회로를 추가로 구비하는 것이며,
    상기 데이터선택회로는,
    상기 내부기입제어신호가 활성화돼있을 경우에는, 선택된 데이터를 출력하는 것임을 특징으로 하는 메모리회로.
  6. 제 5 항에 있어서,
    상기 제어신호 입력회로는,
    입력된 오류정정 제어신호가 활성화돼있을 경우에는, 오류정정 가능신호를 활성화하고, 또 어드레스계수용 클록신호를 생성하여 출력하는 것이며,
    상기 제어회로는,
    상기 어드레스계수용 클록신호를 계수하고, 계수값을 상기 오류정정용 내부어드레스 신호로서 출력하는 어드레스 계수기를 구비하는 것이고,
    상기 어드레스 선택기는,
    상기 오류정정 가능신호가 활성화돼있을 경우에는, 상기 오류정정용 내부어드레스 신호를 선택하며, 그 밖의 경우에는 상기 외부어드레스 신호를 선택하는 것임을 특징으로 하는 메모리회로.
KR1020060008197A 2005-01-31 2006-01-26 메모리회로 KR20060088036A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005023307A JP2006209900A (ja) 2005-01-31 2005-01-31 メモリ回路
JPJP-P-2005-00023307 2005-01-31

Publications (1)

Publication Number Publication Date
KR20060088036A true KR20060088036A (ko) 2006-08-03

Family

ID=36817053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060008197A KR20060088036A (ko) 2005-01-31 2006-01-26 메모리회로

Country Status (5)

Country Link
US (1) US7500171B2 (ko)
JP (1) JP2006209900A (ko)
KR (1) KR20060088036A (ko)
CN (1) CN1825493A (ko)
TW (1) TW200632927A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099221B2 (en) 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7116602B2 (en) 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US7894289B2 (en) * 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7900120B2 (en) * 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
JP2008139908A (ja) * 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd メモリ制御装置、コンピュータシステム及びデータ再生記録装置
KR100914236B1 (ko) * 2007-06-28 2009-08-26 삼성전자주식회사 테스트 어드레스 생성회로를 가지는 반도체 메모리 장치 및테스트 방법.
JP2009093714A (ja) * 2007-10-04 2009-04-30 Panasonic Corp 半導体記憶装置
US8122320B2 (en) * 2008-01-22 2012-02-21 Qimonda Ag Integrated circuit including an ECC error counter
CN102165533B (zh) * 2008-09-30 2015-01-28 株式会社半导体能源研究所 半导体存储器件
WO2011109713A2 (en) * 2010-03-05 2011-09-09 Board Of Regents Of The University Of Texas System Error detecting/correcting code enhanced self-checked/corrected/timed nanoelectronic circuits
KR101862379B1 (ko) * 2013-04-19 2018-07-05 삼성전자주식회사 Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치
KR102140592B1 (ko) * 2013-10-18 2020-08-03 에스케이하이닉스 주식회사 데이터 저장 장치
JP5657079B1 (ja) * 2013-10-24 2015-01-21 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR102238706B1 (ko) * 2014-11-28 2021-04-09 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR20210092986A (ko) * 2020-01-17 2021-07-27 삼성전자주식회사 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214298A (ja) * 1985-03-20 1986-09-24 Toshiba Corp 誤り訂正機能を備えた半導体記憶装置
JPH0287398A (ja) * 1988-09-22 1990-03-28 Hitachi Micro Comput Eng Ltd 記憶装置
JP2821278B2 (ja) * 1991-04-15 1998-11-05 日本電気アイシーマイコンシステム株式会社 半導体集積回路
JPH05324492A (ja) * 1992-05-14 1993-12-07 Fujitsu Ltd 半導体記憶装置
US5379413A (en) * 1992-06-19 1995-01-03 Intel Corporation User selectable word/byte input architecture for flash EEPROM memory write and erase operations
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JP4877894B2 (ja) 2001-07-04 2012-02-15 ルネサスエレクトロニクス株式会社 半導体装置
JP3984209B2 (ja) * 2003-07-31 2007-10-03 株式会社東芝 半導体記憶装置

Also Published As

Publication number Publication date
TW200632927A (en) 2006-09-16
JP2006209900A (ja) 2006-08-10
CN1825493A (zh) 2006-08-30
US7500171B2 (en) 2009-03-03
US20060184856A1 (en) 2006-08-17

Similar Documents

Publication Publication Date Title
KR20060088036A (ko) 메모리회로
US7200780B2 (en) Semiconductor memory including error correction function
EP1657723B1 (en) Semiconductor memory and operation method of semiconductor memory
JP3898682B2 (ja) 半導体集積回路
EP1815338B1 (en) Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US8495438B2 (en) Technique for memory imprint reliability improvement
US7299400B2 (en) Error correction circuit
US7277306B2 (en) Associative memory capable of searching for data while keeping high data reliability
US7779333B2 (en) Semiconductor memory having embedded microcomputer with ECC function
JPS61214298A (ja) 誤り訂正機能を備えた半導体記憶装置
US7017099B2 (en) Method for error control in multilevel cells with configurable number of stored bits
US7385849B2 (en) Semiconductor integrated circuit device
US7949933B2 (en) Semiconductor integrated circuit device
KR101326898B1 (ko) 메모리 디바이스, 집적 회로 및 메모리 디바이스에서 사용하기 위한 방법
JP2008021390A (ja) 半導体記憶装置
US6982900B2 (en) Semiconductor integrated circuit device
JP2000163320A (ja) ソフトエラー対策機能付メモリ装置及びソフトエラー対策方法
JP4397699B2 (ja) 半導体集積回路
CN118351907A (zh) 一种刷新电路、方法及存储器
US20040148559A1 (en) Method and circuit for reducing silent data corruption in storage arrays with no increase in read and write times
CN118351906A (zh) 一种刷新电路、方法及存储器
JP2004247006A (ja) 連想メモリ
JP2008146796A (ja) 不揮発性半導体記憶装置
KR20100091409A (ko) 불휘발성 메모리 소자

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid