KR20020020734A - 컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법 - Google Patents

컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법 Download PDF

Info

Publication number
KR20020020734A
KR20020020734A KR1020017016031A KR20017016031A KR20020020734A KR 20020020734 A KR20020020734 A KR 20020020734A KR 1020017016031 A KR1020017016031 A KR 1020017016031A KR 20017016031 A KR20017016031 A KR 20017016031A KR 20020020734 A KR20020020734 A KR 20020020734A
Authority
KR
South Korea
Prior art keywords
check
memory
bits
word
bit
Prior art date
Application number
KR1020017016031A
Other languages
English (en)
Other versions
KR100609343B1 (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 KR20020020734A publication Critical patent/KR20020020734A/ko
Application granted granted Critical
Publication of KR100609343B1 publication Critical patent/KR100609343B1/ko

Links

Classifications

    • 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
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits

Abstract

컴퓨터 메모리 모듈내의 에러 교정 체크 워드를 저장하기 위한 시스템 및 방법이다. DRAM 칩 내부의 물리적으로 인접하는 위치에 저장된 체크 비트는 다른 체크 워드에 할당된다. 체크 비트를 이러한 방식으로 체크 워드에 할당함으로써, 물리적으로 인접하는 메로리 위치에 저장된 2 이상의 체크 비트 내의 에러에 기인하는 멀티-비트 소프트 에러는 에러 교정 서브시스템에게 싱글-비트 에러로 나타난다. 마찬가지로, 멀티-비트 에러가 동일한 체크 워드에 발생할 가능성은 줄어든다.

Description

컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한 시스템 및 방법{A SYSTEM AND METHOD FOR IMPROVING MULTI-BIT ERROR PROTECTION IN COMPUTER MEMORY SYSTEMS}
컴퓨터 시스템내에서 발생하는 데이터 전송에 있어서, 그 전송되는 데이터에는 항상 에러가 있을 제한된 가능성이 있다. 이것은 전송되는 데이터의 소스가 DRAM일 때 특히 그러하다. DRAM 칩에서 발생하는 다수의 에러는 소프트 에러(soft errors)로서, 교정가능하다. 하드 에러(hard errors)도 발생할 수 있으며, 몇몇의 하드 에러는 교정가능하지만 그 발생은 일반적으로 소프트 에러의 발생보다는 빈도가 작다. 소프트 에러의 두가지 기본적인 원인은 알파 입자(alpha particles) 및 우주선(cosmic rays)이다. DRAM은 전하(charge)를 통하여 해당 비트(bit)를 저장하기 때문에, 알파 입자나 우주선은 이 전하를 변경할 수 있고, 따라서 해당 메모리 셀의 내용을 바꾼다.
컴퓨터 시스템의 메인 메모리의 양이 증가함에 따라, 소프트 에러의 빈도가그에 따라 증가되어 왔다. 소프트 에러들은 교정되지 않은 채로 내버려 두면, 시스템 성능에 악영향을 줄 수 있으며, 데이터를 파괴하고 심지어는 시스템을 고장낼 수 있다. 그러한 고장 가능성의 한가지 측정치는 MTBF(Mean Time between Failures;고장간 평균시간)이라고 호칭된다. 교정되지 않은 소프트 에러는 해당 컴퓨터 시스템의 MTBF을 줄일 수 있다.
에러의 존재를 막기 위하여, 많은 컴퓨터들이 에러 교정 회로를 채용하고 있다. 그러한 회로는 에러 교정 코드(ECC)를 수행하기 위해 이용되는데, 에러 교정 코드(ECC)는 컴퓨터 시스템내의 에러를 검출하고 교정하는데 이용된다. 많은 유형의 에러 교정 코드가 있다. 다른 많은 것들이 개발되어 왔지만, 더욱 일반적으로 이용되는 몇몇의 코드는 해밍코드(Hamming code)라고 호칭된다. 몇몇 에러 교정 시스템에서, 아스키(ASCII) 문자를 표현하는 것과 같은 비트 패턴(bit pattern)은, 일반적으로 체크 비트(check bit)로 간주되는 여분의 비트(redundant bit)로 기록된다. 체크 비트들의 집단은 체크 워드(check word)라고 호칭되며, DRAM 내에 저장된 각 데이터 블록은 적어도 하나의 체크 워드(check word)에 의해 보호될 수 있다.
패러티(parity)는 수많은 에러 교정 코드에서의 또 하나의 요소이다. 짝수 패러티(even parity)는 해당 비트 패턴에서의 로직의 총 개수가 짝수가 되도록 체크 비트를 부가하여 정의되는 반면에, 홀수 패러티(odd parity)는 로직의 총 개수가 홀수가 되도록 체크 비트를 부가함을 요구한다. 짝수 패러티가 사용되는 시스템에서, 체크 비트를 포함하여, 홀수의 로직을 가지고 있는 워드(word)를 수신하는것은 그 데이터에 에러가 존재함을 자동적으로 지시한다. 또한, 홀수 패러티 시스템에서, 짝수의 로직을 가지고 있는 워드(word)를 수신하는 것도 에러의 존재를 지시한다.
많은 에러 교정 구조는 일반적으로 해당 데이터 워드내에서 오직 하나의 에러만을 교정할 수 있다. 몇몇 에러 교정 구조는 2개의 검출을 가능하게 하지만, 이러한 구조들은 일반적으로 그 2개 모두를 명확하게 교정할 수는 없다. 앞서 설명한 바와 같이, DRAM에서 많은 소프트 에러는 우주선(cosmic rays)이나 알파 입자(alpha particles)에 기인한다. 알파 입자(alpha particles)는 지역적인 현상이며, 많은 경우에 있어서, 발생하는 일반적인 지역에서 멀티 비트의 내용을 변경할 수 있다. 마찬가지로, 우주선(cosmic rays)은 지역적인 현상은 아니지만, 반도체 메모리를 양성자와 중성자로 충격을 주어 저장된 비트를 무작위로 변경한다. 많은 에러 교정 구조는 DRAM 내의 물리적으로 인접한 체크 비트(check bit)를 해당 체크 워드(check word)로 할당하기 때문에, 해당 체크 워드내에서 발생하는 교정불가능한 멀티-비트 소프트 에러의 발생이 증가할 가능성이 있다. 더욱이, 해당 체크 워드에 의해 보호되는 데이터 비트는 동일한 방식으로 변경될 수 있다.
DRAM 셀 아키텍쳐와 DRAM 입력/출력(I/O) 아키텍쳐와의 관계는 해당 체크 비트가 체크 워드에 할당되는 방식에 영향을 줄 수 있다. 예를 들어, 몇몇 DRAM 칩에서, 2개의 비트가 논리적으로 인접하지 않더라도, 셀 구조로 인하여 데이터 라인(D15)에 연결된 셀이 데이터 라인(D0)에 연결된 셀에 물리적으로 인접하는 것이 초래될 것이다. 다른 DRAM에서, 칩(D0)은 칩(D1)에 인접할 수 있고, 칩(D1)은칩(D2)에 인접할 수 있는 것 등이 그러하다. 이 데이터 라인들 상의 체크 비트는 종종 동일한 체크 워드에 할당된다. 도 1은 DRAM 내의 한줄의 예시적인 메모리 배열을 나타내는 것으로, 인접하는 장소에 저장되는 체크 비트는 동일한 체크 워드에 할당된다.
알파 입자 방사와 같은 특정 현상이 발생하면, 메모리 배열 내에 저장된 다중의 인접한 비트가 변경될 수 있으며, 이것은 멀티-비트 에러를 초래한다. 멀티-비트 에러는 일반적으로 싱글-비트 에러보다 검출 및 교정이 어렵다. 멀티-비트 소프트 에러가 시스템 동작을 손상하게 할 가능성을 감소시키는 방법이 바람직할 것이다. 멀티-비트 소프트 에러를 싱글-비트 소프트 에러로 나타나게 함으로써 에러를 교정하기 쉽게 만드는 것이 더 바람직할 것이다.
본 발명은 컴퓨터 시스템내의 메모리에 관한 것으로서, 보다 상세하게는 저장되는 데이터에 존재하거나 또는 시스템 메모리로 향하거나 그로부터 전달되는 에러를 감지하고 교정하기 위한 에러 교정 시스템에 관한 것이다.
다음의 바람직한 실시예의 상세한 설명을 다음의 도면과 연관하여 읽으면, 본 발명을 보다 철저히 이해할 수 있을 것이다.
도 1(종래기술)은 물리적으로 인접하는 체크 비트가 동일한 체크 워드에 할당되는 DRAM 내부의 한줄의 메모리 배열,
도 2는 에러 교정 서브시스템을 포함하는, 컴퓨터 시스템의 일례의 블록도,
도 3은 도 2의 컴퓨터 시스템에서 이용되며, 체크 비트 및 데이터 비트의 저장을 위해 구성되는 메모리 모듈의 도면,
도 4는 16 비트의 데이터 경로를 가지고 있는 DRAM 칩을 위한, 체크 비트의 체크 워드에 대한 관계를 나타내는 블록도,
도 5는 해당 메모리 장치로부터의 4개의 체크 비트에 에러가 있을 때 블록도로서, 일 그룹의 싱글-비트 에러로서 에러 교정 서브시스템에 제공되는 멀티-비트 에러를 나타내는 블록도,
도 6은 DRAM의 내부의 한 줄의 메모리 배열을 나타낸 도면으로서, 물리적으로 인접하는 체크 비트가 다른 체크 워드에 대응하는 방식을 나타내는 도면,
도 7은 메모리 배열를 나타내는 도면으로서, 물리적으로 인접하는 셀에 저장되는 체크 비트에 대한 체크 워드의 상관관계를, 수평적 및 수직적으로, 나타내는 도면,
본 발명이 다양하게 수정 및 변경될 수 있지만, 그 특정 실시예는 도면내의 예제의 방법에 의해 나타내어지며 여기서 상세히 설명될 것이다. 그러나, 그 도면 및 상세한 설명은 본 발명을 특정 형태에 국한하고자 하는 것이 아니며, 그와는 반대로, 첨부된 특허 청구범위에 의해 정의되는 본 발명의 기술적 사상 및 범위에 해당하는 모든 수정, 등가 및 변경을 포함하고자 하는 것이다.
본 발명에 따르면, 위에서 약술한 문제점은 컴퓨터 메모리 시스템에서 멀티-비트 에러 보호를 향상시키기 위한 에러 교정 시스템 및 방법에 의해 대부분 해결될 수 있다. 일례로, 체크 워드를 형성하는 체크 비트는 해당 체크 워드의 모든 다른 체크 비트에 관하여 물리적으로 인접하지 않는 셀에 저장된다. 소프트 및/또는 하드 에러는 물리적으로 인접하는 셀로 하여금 오류있는 데이터를 제공하도록 하기 때문에, 체크 비트를 체크 워드와 이러한 방식으로 관련시키는 것은 에러 교정 서브시스템에게 멀티-비트 에러가 싱글-비트 에러로 보이도록 야기한다. 마찬가지로, 동일한 체크 워드에서 발생하는 멀티 비트 에러의 가능성도 감소될 수 있다.
일례로, 메모리 모듈은 복수의 DRAM이 위에 실장된 인쇄회로보드를 포함한다. 몇몇의 이러한 DRAM 칩은 데이터 워드를 저장하도록 구성되는 반면에, 다른 것들은 해당 데이터 워드와 관련된 다른 체크 비트를 저장한다. 각 데이터 비트는 체크 워드를 형성하는 수많은 체크 비트에 의하여 보호된다. 이 체크 비트들은 해밍코드(Hamming code)와 같은 소정의 에러 교정 구조에 따라서 생성된다. 체크 비트의 하나의 집단은 체크 워드라고 호칭된다. 해당 체크 워드의 각 체크 비트가 해당 체크 워드 내의 다른 모든 체크 비트에 대하여 물리적으로 인접하지 않는 메모리 셀 내에 저장되는 방식으로, 체크 비트들은 DRAM 칩 내에 저장된다. 일반적으로, 해당 DRAM 칩으로부터의 각 체크 비트는 다른 체크 워드에 할당될 것이다.
메모리 액세스 도중에, 데이터 워드가 액세스되며 그 액세스되는 데이터에 관련되는 체크 워드는 에러 교정 서브시스템에 의해 수신된다. 그러면, 에러 교정 서브시스템은, 소정의 에러 교정 구조에 따라서, 에러의 존재를 체크하기 위해 상기 체크 워드를 이용할 것이다. 해당 DRAM 칩으로부터의 각 체크 비트는 다른 체크 워드에 할당되기 때문에, 해당 DRAM 으로부터의 멀티-비트 에러는 복수의 싱글-비트 에러로 나타날 것이며, 이것은 일반적으로 검출 및 교정이 보다 쉽다. 더욱이, 해당 DRAM으로부터의 체크 비트가 다른 체크 워드에 할당되기 때문에, 동일한 체크 워드에서 복수의 에러가 발생할 가능성은 줄어들 수 있다.
따라서, 다양한 실시예에서, 컴퓨터 메모리 시스템에서 멀티-비트 에러 보호를 향상시키기 위한 본 시스템 및 방법은, 동일한 체크 워드에서 멀티-비트 에러가 발생할 가능성을 유익하게 줄일 수 있다. 더욱이, DRAM 내부에서 물리적으로 인접하는 위치에 저장된 체크 비트가 상이한 체크 워드에 할당되기 때문에, 물리적으로 인접하는 위치에 저장된 체크 비트내의 에러에 의해 야기되는 멀티-비트 에러는 에러 교정 서브시스템에게 싱글-비트 에러로 보일 것이다. 싱글-비트 에러가 일반적으로 검출 및 교정이 쉽기 때문에, 시스템 신뢰도 및 데이터 신뢰도는 유익하게 향상될 수 있다.
이제 도 2를 참조하면, 에러 교정 서브시스템(105)을 가진 컴퓨터 시스템(100)의 블록도가 나타나 있다. 에러 교정 서브시스템(105)에 더하여, 본 컴퓨터 시스템은 CPU(101), 메모리 콘트롤러(102), CPU 버스(103), 메모리 버스(104), 복수의 메모리 모듈(1000)을 포함한다. 에러 교정 서브시스템(105)은 메모리 콘트롤러(102)내에 수용되며, 메모리 모듈(1000)을 향하거나 그로부터의 전송을 포함한 메모리 버스상의 데이터 전송 도중에 에러를 검출하고 교정하도록 구성되어 있다. 에러 교정 서브시스템에 의해 체크 비트 및 체크 워드가 이용되는 것이 아래에 더 상세하게 설명될 것이다. 에러 교정 서브시스템(105)은 해밍코드(Hamming codes)를 채용하는 것과 같이, 다른 수많은 에러 교정 구조 중의 하나를 이용할 수 있다.
도 3은 도 2의 컴퓨터 시스템에서 이용되는 메모리 모듈의 도면이다. 메모리 모듈(1000)는 인쇄회로보드를 포함하며, 그 위에는 DRAM 칩(1001-1 ~ 1001-5)이 실장되어 있다. 이 각각의 DRAM 칩은 16비트의 데이터 폭을 가진다. 이 특정한 예에서, 이 DRAM 칩 중 4개(1001-1 ~ 1001-4)는 오직 체크 비트를 저장하기 위해서만 이용된다. 나머지 DRAM 칩(1001-5 ~ 1001-36)은 데이터 비트를 저장하기 위해 이용된다. 메모리 모듈(1000)는 또한, 복수의 전기접속패드(1015)와 함께 에지 커넥터(1005)를 포함한다. 복수의 신호선(1020)은 전기접속패드(1015)를 DRAM 칩(1001)에 결합한다. 데이터 신호들은 DRAM 칩(1001)과 전기접속패드(1015) 사이의 신호선(1020)을 따라 이송된다. 각 DRAM 칩(1001)의 데이터 핀(D0)은나타난 데이터 워드(즉 DQ0, DQ16 등)내 비트의 각각의 위치에 따라, 신호선(1020)에 의하여 전기접속패드(1015)에 결합되어 있다. 데이터 중 가장 중요한 비트(DQ511)는, DRAM 칩(1001-5)의 핀(D15)에 결합되어 있다. 이 실시예에서, 128비트의 각 데이터 블록을 보호하기 위하여 16 체크 비트가 이용되며, 각 체크 워드는 하나의 데이터 블록에만 관련되어 있다.
앞서 설명한 바와 같이, DRAM 칩(1001-1 ~ 1001-4)은 이 실시예에서 오직 체크 비트만을 저장하기 위해 이용된다. 이 각각의 DRAM 칩은 각 체크 워드의 4개의 체크 비트를 저장한다. 각 체크 워드는 16 비트이고, 128 비트의 데이터 블록을 보호한다. 이 체크 비트들은 복수의 지정된 핀(CBWX[y:z])을 통하여 액세스된다. 예를 들어, 도면에 나타난 CBW1[3:0]은 DRAM 칩의 4개의 핀을 나타내며, 이것을 통하여 체크 워드 #1의 체크 비트(0 ~ 3)가 액세스된다. 마찬가지로, CBW2[7:4]는 체크 워드 #2의 체크 비트(4 ~ 7)가 액세스되는 핀을 나타낸다. 이 각각의 핀은각각의 신호선에 연결된다. 대표적인 신호선들이 도면에서 CBW1 ~ CBW4로 나타나 있다. 일반적으로, 이 신호선들은, 각 DRAM 칩 내부의 물리적으로 인접하는 메모리 셀들이 상이한 체크 워드에 따라 체크 비트를 저장하는 방식으로, 인쇄회로보드상에 배열된다.
이제 도 4를 보면, 개별적 체크 워드에 대한 해당 DRAM 칩에 저장된 체크 비트의 관계가 나타나 있다. DRAM 칩(1001-1)은 4개의 각각의 상이한 체크 워드(2000)를 위해 4개의 체크 비트를 저장하는데, 체크 워드(2000)는 도 2에서 에러 교정 서브시스템(105)에 의해 이용된다. 해당 체크 워드에 대응하는 4개의 각각의 체크 비트는, 해당 체크 워드에 대응하는 다른 3개의 체크 비트에 대해 DRAM 칩(1001-1)내에서 물리적으로 인접하지 않은 메모리 셀에 저장된다. 마찬가지로, 각각의 DRAM 칩(1001-2 ~ 1001-4)은 각 체크 워드(2000)에 대해 4개의 체크 비트를 저장하고, 각 체크 비트는 해당 체크 워드의 다른 모든 체크 비트에 대해 물리적으로 인접하지 않은 메모리 셀에 저장된다. 메모리 액세스 동작 도중에, 도 2의 에러 교정 서브시스템(105)은 4개의 체크 워드(2000)의 각각을 병렬로 액세스할 것이다.
도 5는 싱글 DRAM 칩으로부터의 멀티-비트 에러가 에러 교정 서브시스템에게 싱글-비트 에러로 보이는 방법을 나타내는 도면이다. 도면에서, DRAM 칩(1001-1 ~ 1001-4)은 각각의 체크 워드(2000)의 4개의 체크 비트를 각각 저장한다. 이 경우에, 4개의 체크 비트에 에러가 있는 것으로, DRAM(1001-1)에는 멀티-비트 에러가 나타나 있다. 에러있는 각 체크 비트는 상이한 체크 워드(2000)에 대응한다. 다른 DRAM 칩(1001-2 ~ 1001-4)으로부터의 체크 비트에는 아무런 에러가 존재하지 않는다. 각 체크 워드(2000)는 에러있는 오직 하나의 비트만 가지고 있기 때문에, DRAM 칩(1001-1)에 하나의 멀티-비트 에러가 존재하더라도, 에러 교정 서브시스템은 4개의 싱글-비트 에러를 검출하고 교정한다.
이제 도 6를 참조하면, 한줄의 DRAM 메모리 배열이 나타나 있으며, 여기서 물리적으로 인접하는 체크 비트가 다른 체크 워드와 관련되는 방식을 보여주고 있다. 이 실시예에서, 메모리 배열 행(1050R)은 16개의 체크 비트를 저장하도록 구성된다. 각 체크 비트는 체크 워드(2000)와 관련된다. 열(1050R)내의 체크 비트(0)는 체크 워드 #1과 관련되는 반면에, 다음의 물리적으로 인접한 비트인 체크 비트 1은 체크 워드 #2와 관련된다. 마찬가지로, 체크 비트 #3은 체크 워드 #3과 관련되며 체크 비트 4는 체크 워드 #4와 관련된다. 이러한 패턴은 체크 워드 #1과 관련되는 체크 비트 5부터 시작하는 것을 반복할 것이다. 행(1050R)의 마지막 체크 비트는 체크 워드 #4와 관련될 것이다.
도 7은 DRAM 내부의 메모리 배열의 도면이며, 물리적으로 인접하는 체크 비트가 다른 체크 워드와 관련되는 방식을 더 나타낸다. 이 실시예에서, 메모리 배열(1050)은 복수의 행(1050R) 및 열(1050C)을 포함한다. 행(1050R)과 열(1050C)의 교차점에는 메모리 셀들(1051)이 있다. 수평적으로, 수직적으로, 또는 대각적으로 물리적으로 인접하는 셀들(1051)내의 어떠한 2개의 체크 비트도 동일한 체크 워드(2000)과 관련되지 않도록, 체크 비트들은 저장된다. 예를 들어, 메모리 배열(1050)의 5행 3열에 저장된 체크 비트는 체크 워드 #1에 관련되는 반면, 바로그 아래의 4행 3열의 비트는 체크 워드 #2이다. 수평적으로 인접하는 셀인 5행 4열에 저장된 체크 비트는 체크 워드 #3에 관련되는 반면에, 대략적으로 인접하는 셀인 4행 4열에 저장된 체크 비트는 체크 워드 #4와 관련된다. 이와 같이 체크 비트를 체크 워드에 관련시키는 방법이 해당 메모리 배열 내부에 저장되는 모든 체크 비트에 대해 반복된다.
본 발명이 특정 실시예에 관하여 설명되었지만, 그 실시예들은 예시적인 것이며 본 발명의 범위가 그에 한정되는 것은 아니라는 점을 이해해야 한다. 그 실시예에 대해 어떠한 변경, 수정, 부가, 개선도 가능하다. 이러한 변경, 수정, 부가, 개선은 다음의 특허청구범위에 설명된 본 발명의 기술적 사상의 범위에 속할 수 있다.

Claims (20)

  1. 중앙처리장치(CPU)와;
    상기 CPU 및 메모리 버스에 결합되며, 복수의 데이터 블록에 대응하여 복수의 체크 워드를 생성하도록 구성된 에러 교정 서브 시스템을 포함하는 메모리 콘트롤러와;
    상기 메모리 버스에 결합되며, 상기 복수의 체크 워드 및 상기 복수의 데이터 블록을 저장하기 위한 복수의 메모리 칩을 포함하는 메모리 모듈로서, 이때 해당 체크 워드를 형성하는 각 체크 비트는 해당 체크 워드의 모든 다른 체크 비트에 대하여 상기 복수의 메모리 칩의 물리적으로 인접하지 않는 메모리 셀에 저장되는, 메모리 모듈을 포함하는 컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 복수의 메모리 칩 중의 적어도 하나는 상기 해당 체크 워드의 다중 체크 비트를 수신하고 저장하도록 구성되는 컴퓨터 시스템.
  3. 제2항에 있어서,
    상기 복수의 메모리 칩의 제1 서브셋은 상기 해당 체크 워드에 대응하여 해당 데이터 블록을 수신하고 저장하도록 구성되는 컴퓨터 시스템.
  4. 제3항에 있어서,
    상기 복수의 메모리 칩 중의 적어도 하나를 포함하는 상기 복수의 메모리 칩의 제2 서브셋은 해당 체크 워드를 수신하고 저장하도록 구성되며, 상기 제2 서브셋의 제1 메모리 칩은 상기 해당 체크 워드의 제1 체크 비트를 수신하고 저장하도록 구성되는 컴퓨터 시스템.
  5. 제4항에 있어서,
    상기 제1 메모리 칩은 메모리 셀의 배열을 포함하고, 상기 해당 체크 워드의 상기 제1 체크 비트의 각 비트는 상기 제1 체크 비트의 모든 다른 비트에 관하여 상기 제1 메로리 칩 내에서 물리적으로 인접하지 않는 셀에 저장되는 컴퓨터 시스템.
  6. 제2항에 있어서,
    상기 에러 교정 서브시스템은 상기 메모리 서브시스템으로부터 전송되는 데이터내의 에러를 검출하도록 구성되고, 상기 에러 교정 서브시스템은 상기 데이터내의 에러의 검출에 따라서 상기 에러를 교정하도록 구성되는 컴퓨터 시스템.
  7. 제2항에 있어서,
    상기 메모리 칩은 DRAM 칩인 컴퓨터 시스템.
  8. 복수의 데이터 블록에 대응하여 복수의 체크 비트를 포함하는 복수의 체크 워드를 생성하는 단계와;
    상기 메모리 모듈에 상기 복수의 체크 워드 및 상기 복수의 데이터 블록을 저장하는 단계로서, 이때 해당 체크 워드를 형성하는 각 체크 비트는 해당 체크 워드의 모든 다른 체크 비트에 대하여 상기 복수의 메모리 칩의 물리적으로 인접하지 않는 메모리 셀에 저장되는 단계를 포함하는, 메모리 모듈에 체크 워드를 저장하는 방법.
  9. 제8항에 있어서,
    상기 체크 워드는 해당 메모리 칩에 저장되고, 해당 체크 워드의 상기 체크 비트는 상기 메모리 칩 중의 하나 이상에 저장되는, 메모리 모듈에 체크 워드를 저장하는 방법.
  10. 제8항에 있어서,
    상기 메모리 칩은 DRAM 칩인, 메모리 모듈에 체크 워드를 저장하는 방법.
  11. 복수의 메모리 칩을 포함하는 적어도 하나의 메모리 모듈과;
    복수의 데이터 블록에 대응하여 복수의 체크 워드를 생성하도록 구성된 에러 교정 서브시스템을 포함하며, 해당 체크 워드를 형성하는 상기 각 체크 비트는 해당 체크 워드의 모든 다른 체크 비트에 대하여 상기 복수의 메모리 칩의 물리적으로 인접하지 않는 메모리 셀에 저장되는 메모리 콘트롤러를;
    포함하는 메모리 서브시스템.
  12. 제11항에 있어서,
    상기 메모리 칩은 DRAM 칩인 메모리 서브시스템.
  13. 제13항에 있어서,
    각각의 상기 DRAM 칩은 셀들(cells)을 가지는 메모리 배열을 포함하고, 상기 각 셀은 1 비트의 정보를 저장하도록 구성되는 메모리 서브시스템.
  14. 제13항에 있어서,
    각각의 상기 체크 비트는 상기 메모리 배열의 셀에 저장되는 메모리 서브시스템.
  15. 제11항에 있어서,
    각각의 상기 메모리 모듈은 인쇄회로보드(PCB)를 포함하고, 상기 PCB 위에는 복수의 메모리 칩이 실장되는 메모리 서브시스템.
  16. 에러 교정 서브시스템을 가지는 시스템에서 사용하기 위한 메모리 모듈로서,
    상기 에러 교정 서브시스템은 복수의 데이터 블록에 대응하여 복수의 체크워드를 생성하도록 구성되며,
    상기 메모리 모듈은
    인쇄회로보드와;
    상기 복수의 체크 워드 및 상기 복수의 데이터 블록을 저장하기 위하여 상기 인쇄회로보드 상에 실장되는 복수의 메모리 칩을 포함하며, 이때 해당 체크 워드를 형성하는 각 체크 비트는 상기 해당 체크 워드의 모든 다른 체크 비트에 대하여 상기 복수의 메모리 칩의 물리적으로 인접하지 않는 메모리 셀에 저장되는, 메모리 칩을 포함하는 메모리 모듈.
  17. 제16항에 있어서,
    상기 메모리 칩은 DRAM 칩인 메모리 모듈.
  18. 제16항에 있어서,
    상기 인쇄회로보드는 복수의 신호선들을 포함하는 메모리 모듈.
  19. 제17항에 있어서,
    물리적으로 인접하는 상기 메모리 셀에 저장된 상기 체크 비트는 상기 체크 워드 중 다른 것에 할당되도록 상기 인쇄회로보드 상에 배열되는 메모리 모듈.
  20. 제16항에 있어서,
    상기 복수의 제1 메모리 칩은 데이터 비트를 저장하도록 구성되고, 상기 복수의 제2 메모리 칩은 체크 비트를 저장하도록 구성되는 메모리 모듈.
KR1020017016031A 1999-07-02 2000-06-29 컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법 KR100609343B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/347,117 US6574746B1 (en) 1999-07-02 1999-07-02 System and method for improving multi-bit error protection in computer memory systems
US09/347,117 1999-07-02

Publications (2)

Publication Number Publication Date
KR20020020734A true KR20020020734A (ko) 2002-03-15
KR100609343B1 KR100609343B1 (ko) 2006-08-09

Family

ID=23362399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017016031A KR100609343B1 (ko) 1999-07-02 2000-06-29 컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법

Country Status (8)

Country Link
US (1) US6574746B1 (ko)
EP (1) EP1194849B1 (ko)
JP (1) JP2003504722A (ko)
KR (1) KR100609343B1 (ko)
AT (1) ATE241171T1 (ko)
AU (1) AU5899800A (ko)
DE (1) DE60002872T2 (ko)
WO (1) WO2001002959A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785835B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Raid memory
IL136379A0 (en) * 2000-05-25 2001-06-14 Gene Bio Applic Ltd Processing chamber
JP2003077294A (ja) * 2001-08-31 2003-03-14 Mitsubishi Electric Corp メモリ回路
US7634709B2 (en) * 2001-10-05 2009-12-15 Unisys Corporation Familial correction with non-familial double bit error detection
JP2005203064A (ja) * 2004-01-19 2005-07-28 Toshiba Corp 半導体記憶装置
US7519629B2 (en) * 2004-09-30 2009-04-14 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
US7275201B1 (en) * 2005-04-13 2007-09-25 Emc Corporation Memory system
US7478307B1 (en) * 2005-05-19 2009-01-13 Sun Microsystems, Inc. Method for improving un-correctable errors in a computer system
DE102006016499B4 (de) * 2006-04-07 2014-11-13 Qimonda Ag Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
US20080163013A1 (en) * 2006-12-29 2008-07-03 Robert James Landers Memory testing system and method
KR100823170B1 (ko) 2007-01-31 2008-04-21 삼성전자주식회사 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
US8468422B2 (en) * 2007-12-21 2013-06-18 Oracle America, Inc. Prediction and prevention of uncorrectable memory errors
DE102008020128A1 (de) * 2008-04-21 2009-10-22 Rittal Gmbh & Co. Kg Klimatisierungsgerät und Bausatz für ein Klimatisierungsgerät
US9626243B2 (en) * 2009-12-11 2017-04-18 Advanced Micro Devices, Inc. Data error correction device and methods thereof
US9213595B2 (en) 2013-10-15 2015-12-15 International Business Machines Corporation Handling errors in ternary content addressable memories
KR102178137B1 (ko) 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4334309A (en) * 1980-06-30 1982-06-08 International Business Machines Corporation Error correcting code system
JPS58139399A (ja) * 1982-02-15 1983-08-18 Hitachi Ltd 半導体記憶装置
US4845664A (en) 1986-09-15 1989-07-04 International Business Machines Corp. On-chip bit reordering structure
IT1202527B (it) 1987-02-12 1989-02-09 Honeywell Inf Systems Sistema di memoria e relativo apparato di rivelazione-correzione di errore
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
US5164944A (en) 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
US5291498A (en) 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5270964A (en) 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
US5491702A (en) 1992-07-22 1996-02-13 Silicon Graphics, Inc. Apparatus for detecting any single bit error, detecting any two bit error, and detecting any three or four bit error in a group of four bits for a 25- or 64-bit data word
JP2816512B2 (ja) 1992-07-27 1998-10-27 三菱電機株式会社 半導体記憶装置
US5384788A (en) 1992-10-26 1995-01-24 Dell Usa, L.P. Apparatus and method for optimal error correcting code to parity conversion
US5465262A (en) 1994-01-28 1995-11-07 International Business Machines Corporation Method and structure for providing error correction code and automatic parity sensing
US5642366A (en) 1994-07-05 1997-06-24 Adaptec, Inc. Global parity symbol for interleaved reed-solomon coded data
US5761221A (en) * 1995-12-11 1998-06-02 International Business Machines Corporation Memory implemented error detection and correction code using memory modules
US5784391A (en) 1996-10-08 1998-07-21 International Business Machines Corporation Distributed memory system with ECC and method of operation
US5894487A (en) * 1997-07-15 1999-04-13 International Business Machines Corporation Error detection of directory arrays in dynamic circuits

Also Published As

Publication number Publication date
DE60002872T2 (de) 2004-03-11
KR100609343B1 (ko) 2006-08-09
ATE241171T1 (de) 2003-06-15
AU5899800A (en) 2001-01-22
WO2001002959A1 (en) 2001-01-11
DE60002872D1 (de) 2003-06-26
EP1194849A1 (en) 2002-04-10
JP2003504722A (ja) 2003-02-04
EP1194849B1 (en) 2003-05-21
US6574746B1 (en) 2003-06-03

Similar Documents

Publication Publication Date Title
US6725414B2 (en) Error correction chip for memory applications
KR100609343B1 (ko) 컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법
US5961660A (en) Method and apparatus for optimizing ECC memory performance
US6662333B1 (en) Shared error correction for memory design
US5867642A (en) System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
US8065573B2 (en) Method and apparatus for tracking, reporting and correcting single-bit memory errors
US8245087B2 (en) Multi-bit memory error management
US6598199B2 (en) Memory array organization
US8327222B2 (en) Mechanism for adjacent-symbol error correction and detection
US4506364A (en) Memory address permutation apparatus
US20130013985A1 (en) Method and apparatus for detecting communication errors on a bus
EP0077204B1 (en) Error-correcting memory with low storage overhead and fast correction mechanism
JPS6072048A (ja) メモリ訂正装置
JPH05508042A (ja) コンピュータメモリにおける多数のエラー訂正
US7587658B1 (en) ECC encoding for uncorrectable errors
US4912710A (en) Self-checking random access memory
US5943287A (en) Fault tolerant memory system
US4251863A (en) Apparatus for correction of memory errors
US6141789A (en) Technique for detecting memory part failures and single, double, and triple bit errors
US7404118B1 (en) Memory error analysis for determining potentially faulty memory components
US7478307B1 (en) Method for improving un-correctable errors in a computer system
US20040003165A1 (en) Memory subsystem including error correction
US5936844A (en) Memory system printed circuit board
EP0433831B1 (en) A method for organizing a memory for fault tolerance and fault tolerant memory
JPH05216778A (ja) メモリサブシステム

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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 13