KR20010007123A - 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템 - Google Patents

스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템 Download PDF

Info

Publication number
KR20010007123A
KR20010007123A KR1020000028642A KR20000028642A KR20010007123A KR 20010007123 A KR20010007123 A KR 20010007123A KR 1020000028642 A KR1020000028642 A KR 1020000028642A KR 20000028642 A KR20000028642 A KR 20000028642A KR 20010007123 A KR20010007123 A KR 20010007123A
Authority
KR
South Korea
Prior art keywords
error
data
bit
drams
chip row
Prior art date
Application number
KR1020000028642A
Other languages
English (en)
Other versions
KR100337218B1 (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 KR20010007123A publication Critical patent/KR20010007123A/ko
Application granted granted Critical
Publication of KR100337218B1 publication Critical patent/KR100337218B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • 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

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)

Abstract

컴퓨터 RAM 메모리 시스템에서, 그 메모리는 상기 메모리의 각 어드레스 위치로부터 데이터를 기록하고 판독하는 동안 자체 시험 동작(self test operation)에 들어간다. 그 판독 데이터는 기록 데이터와 비교하여 에러를 검출하고, 각 비트위치에서 에러의 갯수가 카운트된다. 한 개의 비트 위치에서 에러의 갯수가 선택된 임계치를 초과할 때, 그 해당하는 DRAM은 스페어 DRAM으로 대체된다. 그 자체 시험이 동일한 더블 워드(double word)에서 2개 이상의 에러를 검출할 때, 가장 많은 에러를 카운트한 비트 위치에 대응하는 DRAM은 스페어 DRAM으로 대체된다. 상기 메모리는 주기적으로 스크루빙되고, 그 스크루빙 동작 동안 검출된 에러는 각 비트 위치에 대하여 카운팅 된다. 칩 로우(chip row)의 스크루빙 끝에, 에러 카운트가 선택된 임계치를 초과하는 비트 위치에 해당하는 DRAM은 스페이 DRAMs으로 대체된다. 더블 워드에서 멀티플 비트 에러를 스크루빙하는 동안 검출할 때, 그 대응하는 더블 워드는 태그된다.

Description

스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템{COMPUTER RAM MEMORY SYSTEM WITH ENHANCED SCRUBBING AND SPARING}
본 발명은 컴퓨터 램 메모리 시스템에 관한 것으로써, 특히 컴퓨터 램 메모리 시스템에서 개량된 스페어링 및 스크루빙 동작(sparing and scrubbing opera tions)에 관한 것이다.
S/390 및 IBM은 미국 뉴욕주 아몬크에 주재하는 IBM사의 등록 상표이고, Lutus는 그의 자회사인 로터스(Lotus) 개발 회사, 즉, IBM, 아몬크, 엔와이의 자회사에 대한 등록 상표이다. 다른 명칭들은 IBM 또는 다른 회사의 상표 또는 상품명으로 등록될 수 있다.
컴퓨터 램 메모리 시스템에서, 데이터는 메모리 카드에 장착된 DRAMs에 기억된다. 그 DRAMs는 반도체 어레이의 전하 형태로 데이터를 기억한다. 종래의 시스템에서, 데이터는 더블 워드(double words) 형태로 메모리 카드의 DRAMs에 기억되는데, 그 더블 워드는 각각 64 데이터 비트 및 8 에러 점검 비트를 포함하여 더블 워드당 총 72 비트를 만든다. 상기 에러 점검 비트(error checking bits)(ECC 비트)는 상기 64 데이터 비트에 에러가 있을 때를 지시하고, 그 에러가 단일 비트 에러 또는 복수의 비트 에러인지 여부를 지시한다. 단일 비트 에러는 단 한 개의 64 데이터 비트의 더블 워드에 에러가 발생한 상태를 설명한다. 멀티플 비트 에러(mult iple bit error)는 더블 워드에서 2개 이상의 데이터 비트에 에러가 발생한 상태를 설명한다. 더블 비트 에러는 더블 워드의 2개 비트에서 에러가 발생한 상태를 설명한다. 그 발생한 에러가 단일 비트 에러라고 상기 ECC 비트가 지지하면, 상기 ECC 비트는 어떤 데이터 비트에 에러가 발생하였는지 지시함으로써, 그 에러가 발생한 데이터 비트를 보정(correct)할 수 있다.
스크루빙(scrubbing)이란 상기 ECC 비트를 이용하여 단일 비트 에러를 검출하고 보정하는 동작이다. 스페어링(sparing)이란 결함있는 메모리 카드상의 DRAM을 필히 동일한 용도로 메모리 카드상에 장착된 스페어 DRAM으로 대체하는 동작이다. 램 메모리 시스템에 대한 스크루빙 및 스페어링 동작은 Lavallee 등의 발명자에 의해 발명되어, 1993년 11월 30일 특허 허여된 미국특허 제5,267,242호에 개시되어 있다. 이러한 시스템에서, 하드웨어 메모리 시험기(hardware memory tester)(HAMT)로 명명된 하드웨어 장치는 상기 스페어링 및 스크루빙 동작을 실행하는데 이용된다.
이러한 특허의 시스템에서, 단일 스페어 DRAM은 각 메모리 카드에 제공되고, 스페어링은 데이터를 판독하고, 그 데이터를 회복하여, 그 회복 데이터와 상기 메모리에서 판독된 최초의 데이터를 비교함으로써 메모리 카드의 DRAMs을 시험한 결과에 따라 실행된다. 상기 메모리 카드에서 병렬로 판독되는 데이터의 각 위치에 카운터가 제공되며, 이 카운터의 갯수는 에러가 검출되는 횟수에 따라 증가된다. 카운터에서 카운터가 소정의 임계값에 도달하면, 상기 카운터에 대응하는 DRAM에 결함이 발생하고, 그 결함 DRAM은 상기 메모리 카드에 장착된 스페어 DRAM과 필히 대체되는 것을 지시한다. 스크루빙은 각 더블 워드의 ECC 비트를 이용하여 단일 비트 에러의 보정을 수행한다. 멀티플 비트 에러가 검출되면, 그 멀티플 비트 에러는 무시된다.
본 발명의 시스템에 있어서, 각 메모리 카드는 복수의 스페어 DRAMs에 제공된다. 본 발명의 특정 실시예에 있어서, 4개의 DRAMs은 각 메모리 카드에 제공된다. 상기 메모리 카드의 초기 머신 로딩동안, 상기 메모리는 각 메모리 위치에서 어떤 데이터를 기록하고 판독하는 동안 자체 시험 동작(self-test operation)으로 들어간다. 상기 메모리 위치에서 판독된 데이터는 그 대응하는 메모리 위치에 기록된 해당 데이터와 비교된다. 그 비교가 에러를 나타내는 경우, 그 비트가 발생한 비트 위치에 해당하는 카운터는 증가된다. 카운터의 카운트가 칩 로우(chip row)에 대한 임계 레벨을 초과할 때, 상기 카운터에 대응하는 DRAM은 결함 DRAM으로 되어 필히 스페어 DRAM에 의해 대체된다. 이러한 DRAM의 대체는 그 대체된 DRAM을 스페어링한다고 한다. 그 자체 시험이 동일한 더블 워드에서 2개의 에러를 검출할 때, 칩 로우에서 최고의 카운트 값을 갖는 카운터에 대응하는 DRAM은 상기 카운터에서 카운트가 임계 레벨을 초과하는지 여부가 스페어된다. 상기 최고의 카운트를 등록한 카운터에 해당하는 DRAM이 멀티플 비트 에러에서 복수의 비트중 한 개의 비트에 해당할 가능성이 크기 때문에, 가장 많이 카운트 한 카운터에 해당하는 DRAM의 스페어링은 더블 비트 에러(double bit error)를 보정 가능한 단일 비트 에러 (single bit error)로 변환할 것이다.
스크루빙은 일정한 시간 간격으로 주기적으로 수행되고, 정상적인 동작 시스템의 백그라운드에서 실행된다. 스크루빙 동안, 단일 비트 에러가 발생한 사실을 더블 워드의 ECC 비트가 지시할 때 마다, 그 에러는 보정되고, 그 에러의 비트 위치에 해당하는 카운터는 증가된다. 칩 로우의 스크루빙의 끝에서, 상기 카운터는 검사되고, 임의의 한 개의 카운터가 임계 레벨을 초과하는 경우, 그 해당 DRAM은 스페어된다. 상기 칩 로우의 스크루빙 동작은 1/2 스페어 모드(half spare mode)로 불리는 동작 모드에서 반복된다. 처음의 스크루빙 싸이클 동안, 멀티플 비트 에러가 검출되면, 그 멀티플 비트 에러를 포함하는 더블 워드의 데이터는 변경되지 않고 남아 있다. 상기 칩 로우를 통해 상기 처음의 스크루빙 싸이클의 끝에서 수행되는 스페어링은 더블 비트 에러를 단일 비트 보정가능한 에러로 변환한다. 상기 칩 로우를 통한 1/2 스페어 모드에서 스크루빙 싸이클 동안, 멀티플 비트 에러가 검출되면, SPUE 태그를 멀티플 비트 에러를 포함하는 더블 비트 워드에 붙여서 상기 비트 에러를 포함하는 더블 워드의 어드레스 위치로부터 데이터가 기억되거나 판독되는 것을 예방한다. 또한, 상기 칩 로우를 통한 두번째 스크루빙 싸이클은 보정 데이터를 결함 DRAMs에서 스페어 DRAMs으로 이동시켜 스페어링 동작으로 그 결함 DRAMs을 대체한다. 상기 1/2 스페어 모드에 따라, 상기 칩 로우는 전 스페어 모드 (full spare mode)로 불리는 모드에서 다시 스크루빙 되고, 다시 검출된 단일 비트 에러는 보정된다. 상기 전 스페어 모드에서, 검출된 멀티플 비트 에러는 무시된다.
상술한 시스템에서, 단일 비트 에러는 스크루빙에 의해 보정되고, 더블 비트 에러는 단일 비트 에러로 변환되고, 보정 불가능한 더블 비트 에러에 해당하는 기억 위치는 상기 시스템에서 효율적으로 제거되어 종래의 기억 및 인출 동작으로 액세스되는 것을 예방한다.
제1도는 본 발명을 적용한 시스템을 도시하는 블록도.
제2도는 본 발명을 적용한 PMA 카드를 도시하는 블록도.
제3a도 및 제3b도는 메모리 카드의 DRAMs상에서 자체의 시험 동작에 따라 수행되는 스페어링 프로세서(sparing process)를 도시하는 흐름도.
제4도는 정상적인 시스템 동작의 백그라운드(background)에서 실행되는 본 발명의 스크루빙 및 스페어링 동작(scrubbing and sparing operation)을 도시하는 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
15 : 시스템 제어기
13 : 램
37 : 프로세서
42 : 에러 맵 레지스터
본 발명은 IBM S/390 CMOS G5 머신에 적용되는데, 그 일부분은 도 1의 블록도에 개략적으로 도시된다. 도 1에 도시된 바와 같이, 상기 중앙 처리 장치(11)는 시스템 제어기(15)를 통하여 반도체 랜덤 액세스 메모리(13)로 액세스를 제어한다. 상기 랜덤 액세스 메모리(13)는 PMA 카드로 불리는 메모리 카드(14)로 만들어지는데, 그 각각의 메모리 카드는 칩 로우에 배열되고 DRAMs 으로 불리는 복수의 반도체 메모리 칩으로 이루어진다. 예컨데, 각 칩 로우는 도 2에 도시된 바와 같이 144 DRAMs(17)을 포함한다. 각 DRAM 칩은 4 X 1 메가비트 어레이에 비트를 기억한다. 칩에서 판독된 데이터는 4개의 병렬 출력 채널상에 있게 된다. 본 발명이 특정 실시예에 있어서, 상기 4개의 출력 채널은 칩마다 2개의 채널로 멀티플렉싱되어 칩 로우의 DRAMs에 병렬로 288 비트가 있게 된다. 상기 288 병렬 채널상에 판독되는 데이터는 4개의 더블 워드[또는 2개의 쿼드 워드(quadwords)]로 구성된다. 각 더블 워드는 64 데이터 비트 및 8 ECC 비트로 만들어진 72 비트로 이루어진다. 더블 워드의 각 비트는 다른 DRAM에서 각각 발생한다. 따라서, 각 더블 비트는 상기 PMA 카드의 1/2에서 발생하는 2개의 더블 워드 및 상기 PMA 카드의 다른 1/2에서 발생하는 2개의 더블 워드를 갖는 72 DRAMs 양단에 분배될 것이다. DRAMs(17)에 부가하여, 각 PMA 카드는 스페어링 동작용으로 4개의 DRAMs(21)을 제공할 것이다. 스페어링은 결함이 발견된 한 개 이상의 DRAMs(17)을 한 개 이상의 스페어 DRAMs(21)으로 필히 대체하는 동작이다. 스페어링 동작은 Russel W. Lavelee 등에 의해 1993년 11월 30일 특허 등록되어, IBM에 양도된 미국 특허 번호 제5,267,242호에 개시되어 있다. 상기 DRAMs(17)에서 어드레싱 기억 위치는 상기 시스템 제어기(15)를 통해 중앙 처리 장치(11)에서 수신된 명령의 제어하에 재구동 칩(redrive chip)(23 및 25)에 의해 제어된다. 상기 DRAMs에 기억된 각 더블 워드는 재구동 칩(23 및 25)을 경유하여 시스템 제어기에 의해 개별적으로 어드레스될 수 있다.
288 에러 점검 카운터(error checking counts)(27)의 세트는 메모리 카드상에 제공되고, 한 개의 카운터는 PMA 카드 위에 칩 로우에서 병렬로 판독된 비트에 해당한다. 상기 카운터 (27)는 스페이링 동작에 이용되어 한 개 이상의 DRAMs(17)을 스페어 DRAM(21)으로 대체할 시점을 결정하는 스페어링 동작에 이용된다.
본 발명에 따르면, 초기의 머신 로딩 동작동안, 자체 시험 동작은 각 PMA 카드에서 수행된다. 상기 자체 시험 동작은 상기 시스템 제어기를 통해 CPU에서 수신된 명령에 응답하여 하드웨어(29)에 의해 수행된다. 상기 자체 시험 하드웨어(29)는 자체 시험 어드레스 레지스터(31), 데이터 레지스터(33), 모드/상태 레지스터 (35), CE/UE 모드 레지스터 및 프로세서(37)를 포함한다. 상기 자체 시험 동작은 칩 로우상에 수행된다. 칩 로우의 자체 시험동안, 데이터는 소정의 패턴 또는 랜덤 패턴으로 칩 로우에 있는 DRAMs(17)의 모든 비트 위치에 기억될 것이다. 그 기억 데이터는 판독된 다음, 한 비트씩 카운터(27)에 의해 카운터되는 에러를 검출하기 위하여 기억된 데이터와 비교된다.
자체 시험 기능을 실행하는 메모리 카드를 설정하기 위하여, 그 다음 단계는 시스템 제어기(15)를 통하여 CPU(11)에 의해 실행될 필요가 있다. 첫째, 상기 자체 시험 어드레스 레지스터(31)는 시험될 칩 로우를 식별하는 어드레스, 즉, 칩 로우의 제1 라인 어드레스를 식별하는 START 어드레스 및 칩 로우의 마지막 라인 어드레스를 식별하는 STOP 어드레스로 설정된다. 라인 어드레스(line address)는 16 더블 워드로 이루어지는 라인을 기억하는 기억 위치를 식별한다. 칩 로우에 기억될 데이터가 소정의 데이터 패턴이면, 이러한 데이터 패턴은 16 쿼드 워드(2 라인)로 자체 시험 데이터 레지스터(33)에 기억된다. 상기 16 쿼드 워드에 의해 나타난 데이터 패턴은 칩 로우에서 제1의 16 쿼드 워드 기억 위치에 기억되고, 그 데이터 패턴으로 칩 로우를 채우기 위해 반복될 것이다. 상기 칩 로우에 기억된 데이터가 랜덤 데이터인 경우, 그 칩 로우의 제1 어드레스는 시드 데이터(seed data)로써 QWO에 기억된 다음, 그 나머지 데이터는 그 데이터에서 랜덤하게 발생된다. 또한, 그 랜덤 데이터는 그 데이터가 DRAMs(17)에 기억되는 것과 같이 데이터 레지스터(33)에 기억된다. 상기 자체 시험 모드/상태 레지스터 (35)는 DRAM 시험을 선택하고 기억-인출 동작 모드를 선택하기 위하여 설정된다. 또한, 상기 자체 시험 모드/상태 레지스터(35)는 각 칩 로우의 자체 시험단의 끝에서 카운터(27)로 판독될 수 있게 설정된다. 상기 카운터는 자체 시험 동작으로 각 칩 로우의 시험단의 끝에서 검사되어 상기 칩 로우의 어떤 DRAMs이 이후에 상세히 설명될 스페어링 동작으로 대체되는지 여부를 결정한다.
상기 자체 시험 동작을 개시하기 위하여, 상기 모드/상태 레지스터에서 진행 비트(progress bit)는 온(ON)으로 설정된다. 상기 프로세서(37)는 진행 비트를 검사하고, 그 진행 비트가 온일 때, 그 프로세서(37)는 순차적인 단계로 자체 시험 기능을 수행한다. 소정의 패턴으로 자체 시험을 행하면, 상기 프로세서는 자체 시험 데이터 레지스터로부터 데이터 패턴을 판독하고, 시험될 칩 로우의 데이터 패턴을 기억한 다음 그 기억된 데이터를 칩 로우에서 인출한다. 상기 프로세서(37)는 그 인출 데이터와 데이터 레지스터의 데이터를 비교하여 에러를 검출한다. 상기 자체 시험 프로세스는 상기 자체 시험 어드레스 레지스터의 개시 어드레스에서 기억 및 인출 동작을 개시하고, 상기 어드레스 레지스터에 기억된 중지 어드레스(stop address)에 도달할 때 까지 전체의 칩 로우를 통하여 진행한다. 상기 중지 어드레스에서 인출-기억 동작을 종료한 후에, 상기 프로세서(37)는 상기 모드/상태 레지스터(35)의 진행 비트를 오프(OFF)로 설정하고, 시험 종료 비트를 온(ON)으로 설정한다. 그 시험동안, 에러가 검출될 때 마다, 에러가 검출되는 비트 위치에 해당하는 카운터(17)는 증가된다. 또한, 에러가 검출될 때, 상기 CE/UE 모드 레지스터 (40)의 불량 비트는 에러가 검출되는 것을 지시하기 위하여 설정된다. 자체 시험으로 더블 워드의 단일 비트에 에러가 있는 것을 검출할 때, 그 검출된 에러는 보정가능한 에러에 해당하고, 그 CE 불량 비트(CE failed bit)는 모드/상태 레지스터 (40)에 설정된다. 동일한 더블 워드에서 2개 이상의 비트를 검출하면, 그러한 에러는 보정 불가능한 에러에 해당할 것이다. 따라서, 자체 시험 검출기가 동일한 더블 워드에서 2개 이상의 에러 비트를 검출할 때, 모드 레지스터(40)에서 UE 불량 비트가 설정된다.
상기 자체 시험 동작에 따라, 스페어링 동작은 필히 결함 DRAMs을 스페어 DRAMs으로 대체하기 위하여 수행된다. 상기 카운터(17)는 대체할 DRAMs을 결정하기 위하여 검사된다. 이러한 스페어링 동작을 수행하는 실제의 하드웨어는 상기 언급된 특허 제 5,267,242호에 설명되어 있다. 이러한 특허에 기술된 바와 같이, DRAMs (17)에서 각 출력 비트 위치는 멀티플렉서(38)에 접속되어, 상기 스페어 DRAMs에서 제공된 출력을 수신한다. DRAM에 결함이 있으면, 그 결함 DRAM을 식별하는 데이터는 4개의 벡터 레지스터(44)중 한 개의 레지스터에 삽입되는데, 그 레지스터는 각 스페어 DRAM(21)에 해당한다. 이러한 데이터에 응답하는 디코더(46)는 상기 결함 DRAM의 출력을 수신하는 멀티플렉서(38)를 스위치하여 상기 선택된 스페어 DRAM에서 수신된 비트를 전송한다.
도 3에 도시된 흐름도는 칩 로우상에 자체 시험 프로세스와 접속하여 결합 DRAMs을 식별하여 스페어 DRAM으로 교환하는 스페어링 동작 프로세서를 도시한다. 도 3에 도시된 바와 같이, 그 프로세스는 처음에 자체 시험 모드/상태 레지스터(35 )를 판독하고(단계 51), 그 다음, 상기 모드/상태 레지스터의 임무 종료 비트가 온 상태에 있는지 여부를 결정한다. 그 시험 종료 비트가 온이 아니면, 그 자체 시험 프로세스가 시험될 칩 로우상에서 종료되지 않고, 상기 자체 시험 모드 상태 레지스터를 판독하기 위하여 단계(51)로 복귀하는 것을 의미한다. 단계(53)에서, 상기 시험 종료 비트가 온이라는 것을 그 프로그램이 결정할 때, 그 프로세스는 상기 모드 레지스터(40)의 CE 불량 비트를 검사하는 단계(55)로 진행한다. 단일 비트 에러가 발생하는 것을 CE 불량 비트가 지시하면, 그 프로세스는 상기 모드 레지스터(40 )의 오버플로워 비트(overflow bit)가 판독되는 단계(57)로 분기한다. 상기 모드 레지스터(40)는 카운터(27)로부터 제공된 오버플로워 비트를 포함한다. 상기 카운터중 한 개의 카운터(27)가 소정의 임계치에 도달할 때, 그 카운터에 해당하는 모드 레지스터(40)의 오버플로워 비트는 이러한 카운터에 해당하는 DRAM에 결함이 있다는 것을 지시하고, 가능한 스페어되는 것을 지시하는 세트이다. 단계(57)에 따르면, 그 프로세스는 상기 모드/상태 레지스터(40)의 오버플로워 비트중 한 개의 비트가 설정되는지 여부를 결정하는 단계(59)로 진행한다. 그렇다면, 단계(61)에서, 에러는 그 에러 맵 레지스터(42)에 로그되어 결함 있는 DRAM을 지시한다. 단계(61)에 따라, 그 프로세서는 스페어 DRAM을 이용할 수 있는지 여부를 결정한다(단계 63). 스페어 DRAM을 이용할 수 있으면, 그 프로그램은 모드 레지스터 (40)에서 검출된 제1 오버플로워 비트에 해당하는 DRAM(17)이 스페어링되는 단계(65)로 진행한 후에, 단계 (67)로 진행한다. 그 결함 DRAM을 스페어하기 위하여, 칩 로우 번호 및 그 칩 로우 내의 위치를 포함하는 결함 DRAM의 식별은 상기 결합 DRAM을 대체하기 위하여 선택된 스페어 DRAM(21)에 해당하는 4개의 스페어 벡터 레지스터(spare vector register)(44)중 한 개의 레지스터에 기억된다. 상기 결함 DRAM의 식별은 에러 맵 레지스터(42)에서 얻어진다. 단계(59)에서, 모드 레지스터(40)에 카운터 오버플로워 비트가 설정되지 않으면, 상기 프로그램은 이러한 단계(59)로부터 단계(67)로 직접 진행한다. 유사하게, 스페어 DRAM을 이용할 수 없다고 결정하면(단계 63), 그 프로그램은 단계(67)로 진행한다. 깊이 고찰해 보면, 모든 상기 4개의 스페어 DRAMs(21)이 이전의 스페어링 동작에 이용됨에 따라, 상기 프로세서로 단계(63)에 도달할 때 이용할 수 있는 스페어 DRAM은 없을 것이다. 단계(67)의 프로세스는 상기 모드 레지스터(40)에서 모든 오버플로워 비트가 처리되는지 여부를 결정한다. 그렇지 않다면, 상기 프로그램은 단계(59)로 복귀하고, 그 프로그램은 단계(59 내지 65)를 통하여 다시 순환한다. 모든 오버플로워 비트가 처리되면, 그 프로세스는 단계(69)로 진행한다. 단계 (59 내지 65)를 통하여 이전의 싸이클링에서 임의의 스페어링이 수행되면, 그 프로세스는 상기 칩 로우상에 자체 시험 절차를 반복하기 위하여 상기 모드 레지스터의 진행 비트를 온으로 변환하는 단계(69)에서 단계(71)로 진행한다. 단계(59 내지 65)를 통한 싸이클링 동안 스페어링이 발생하지 않으면, 그 프로그램은 단계(73)로 분기된다.
단계(55)에서, 자체 시험 과정동안 단일 비트 에러에 해당하는 에러가 검출되지 않는 것을 지시하는 세트가 CE 불량 비트가 아니라고 결정되면, 그 프로그램은 단계(55)에서 단계(73)로 직접 진행한다. 단계(73)에서, 그 프로세스는 상기 레지스터(40)에서 UE 불량 비트를 검사하고, 그 UE 비트가 설정되지 않으면, 상기 칩 로우상의 자체 시험 프로세서 동안 검출된 멀티플 비트 에러에 해당하는 에러가 없다는 것을 지시함으로써, 그 프로그램은 단계(74)로 분기하여 다음 칩 로우상에 자체 시험을 진행한다. 단계(73)에서, 설정되는 UE 불량 비트로부터, 멀티플 비트 에러에 해당하는 에러가 발생했다고 판정되면, 모든 카운터(27)의 내용은 단계(75)에서 판독된다. 다음, 단계(77)에서, 카운터(27)가 멀티플 비트 카운트를 기록하고 있는지 여부가 결정된다. 그렇다면, 그 프로세스는 어떤 카운터가 가장 많은 카운트했는지를 결정한다(단계 79). 최고로 카운트한 카운터에 해당하는 DRAM이 상기 멀티플 비트 에러의 에러들 중에서 한 개의 에러의 원인이 되기 쉽다고 가정한다. 따라서, 이러한 DRAM의 식별은 단계(79)의 에러 맵 레지스터(42)에서 로그된다. 다음, 단계(81)에서, 스페어 DRAM(21)을 이용할 수 있는지 여부가 결정된다. 단계 (81)에서 스페어 DRAM을 이용할 수 없다면, 그 프로세스는 그 스페어링 프로세스를 중지하는 단계(83)로 분기한다. 스페어 DRAM을 이용할 수 있다면, 그 프로세스는 결함있는 에러 맵 레지스터(42)에서 식별된 DRAM이 단계(65)에 기술된 것과 동일한 방법으로 스페어되는 단계(85)로 진행한다. 그 프로세스는 상기 칩 로우의 마지막 4분구간(quadrant)을 상기 UE 에러 스페어링 프로세스에 제공하는지 여부를 결정하는 단계(87)로 진행한다. 그 마지막 4분구간을 UE 스페어링 프로세스에 제공하지 않았다면, 그 프로세스는 마지막 4분구간이 스페어링에 제공되어 단계(89)로 진행할 때 까지 단계(75 내지 85)를 다시 순환하는 단계(75)로 복귀한다. 단계(89)에서, 단계(75-85)를 통하여 이전의 싸이클 동안 DRAMs이 스페어되는지 여부가 결정된다. DRAMs 중에 한 개가 스페어되면, 그 프로세스는 단계(90)로 진행하여 상기 칩 로우상에 자체 시험이 반복된다. 이전의 싸이클 또는 단계(75-85)를 통한 싸이클 동안 스페어링이 없다면, 그 프로그램은 그 스페어링 프로세스를 종료하는 단계(83)로 분기한다. 단계 (77)에서, 상기 카운터(27)가 멀티플 비트 카운터를 등록하지 않았다고 결정하면, 보정 불가능한 에러에 대한 스페어링은 그 4분구간에 필요없고, 그 프로세스는 단계(77)에서 단계(87)로 진행한다.
상술한 프로세스에 있어서, 멀티플 비트 에러가 발생하고 검출될 때, 멀티플 비트 에러를 발생하는 결함 DRAMs 중에서 한 개는 스페어되어야 한다. 결과적으로, 동일한 더블 워드에 해당하는 2개의 결함 DRAMs에 의해 발생한 보정 불가능한 에러는 단일 비트 보정 가능한 에러로 변환될 수 있다. 결과적으로, 보정 불가능한 멀티플 비트 에러의 발생 빈도는 최소화 된다.
초기의 머신 로딩후에, 상기 메모리 시스템의 정상적인 동작 동안, 그 메모리는 중앙 처리 장치 밀리코드(millicode)에 의해 중앙 처리 장치의 통제하에 주기적으로 스크루빙 된다. 상기 중앙 처리 장치는 스크루빙될 메모리부를 식별하는 시스템 제어기로 라인 어드레스를 발생한다. 그 다음, 그 시스템 제어기는 특정 인출/기억 동작을 위하여 PMA 카드로 명령을 발생하여 그 스크루빙을 수행한다. 이후에 기술된 바와 같이 스크루빙은 일정한 시간 간격으로 행하여 지고, 정상적인 시스템 동작의 백그라운드(background)와 같이 실행된다. 그 스크루빙은 카드를 토대로 행하여진다. 첫째, PMA(0)의 모든 어드레스는 스크루빙된 다음, 모든 PMA(1)의 어드레스는 이용가능한 경우에 스크루빙될 것이며, 상기 프로세스는 모든 PMA 카드가 스크루빙될 때 까지 지속할 것이다. 또한, 개별적인 PMA 카드내에, 그 스크루빙은 칩 로우를 토대로 행해진다. 소정의 PMA 카드 위에 각 칩 로우의 스크루빙 초기에, 상기 벡터 레지스터의 모드 비트는 전 스페어 모드(full spare mode)에 대한 호출로 설정될 것이다. 상기 정상 스크루빙 프로세스의 제1 단계(94)에서, 상기 카운터(27)는 제로로 재설정된다. 다음, 단계(96)에서, 상기 칩 로우는 스크루빙된다. 상기 스크루빙 동작을 수행하기 위해서, 상기 시스템 제어기는 명령(TEST LINE 128 B)을 PMA 카드로 발생한다. 이러한 명령에 응답하여, 상기 명령으로 특정된 라인 어드레스에 의해 식별된 어드레스의 쿼드워드는 재구동 칩(23 및 25)에 의해 인출된다. 상기 쿼드워드는 각 더블 워드의 에러 점검 코드에 응답하여 단일 비트 또는 더블 비트 에러의 발생 빈도를 결정하는 시스템 제어기에 의해 수신된다. 단일 비트 에러(보정 가능한 에러)가 검출되면, 그 에러 점검 코드는 이러한 에러의 비트 위치를 지시한다. 상기 시스템 제어기는 에러를 점검하고, 상기 명령(SCRUB STORE 128B)을 상기 PMA 카드로 발생한다. 상기 스크루빙 기억 명령은 에러가 보정되도록 검출된 비트로써 상기 DRAMs의 더블 워드 어드레스 위치에 그 더블 워드를 역으로 기억시킬 것이다. 이러한 프로세스는 칩 로우를 통해 각 더블 워드 기억 위치에 대하여 반복된다. 단일 비트 에러가 검출될 때 마다, 그 검출된 에러에 해당하는 카운터(27)는 시스템 제어기에 의해 증가된다. 칩 로우의 끝에 도달될 때, 상기 카운터(27)는 단계(98)에서 시스템 제어기에 의해 검사되어 상기 카운터(27)의 카운트가 소정의 임계 값에 도달했는지 여부를 결정한다. 카운터가 결합 DRAM을 지시하는 임계 레벨에 도달했다면, 스페어링 동작이 필요하다. 그 결함 DRAM은 단계(100)에서 스페어된다. 이러한 단계에서, 상기 결함 DRAM의 식별은 시스템 제어기에 의해 선택된 스페어 벡터 레지스터에 기억된다. 따라서, 차후의 인출 또는 기억 동작에서, 상기 결함 DRAM은 필히 대체될 것이다. 다음, 상기 벡터 레지스터의 모드 비트는 시스템 제어기에 의해 단계(102)에서 1/2 스페어 모드로 설정된다. 상기 벡터 레지스터를 1/2 스페어 모드로 설정함에 따라, 동일한 칩 로우는 상기 칩 로우의 각 어드레스로부터 데이터를 인출하여 보정된 단일 비트 에러로 다시 기억되는 단계(104)에서 다른 스크루빙 동작에 제공된다. 상기 1/2 스페어 모드에서 이러한 스크루빙 동작동안, 한 개의 더블 워드에 멀티플 비트 에러가 존재하는 것을 에러 점검 코드가 지시하면, 다른 프로세스로 진행된다. 상기 전 스페어 모드에서 칩 로우를 통해 제1 스크루빙 싸이클 동안 멀티플 비트 에러가 검출될 때, 스크루빙 기억 명령은 메모리 카드에 발생되지 않고, 그 데이터는 보정 안된 더블 워드에 남게 된다. 1/2 스페어 모드 스크루빙 동안, 각 더블 워드는 DRAM에서 인출되고, 그 인출된 더블 워드의 단일 비트 에러는 상기 더블 워드의 ECC 비트에 따라 보정된다. 상기 스크루빙 기억 동작에서, 상기 데이터는 칩 로우에 역으로 기억되지만, 임의의 결함 DRAMs을 스페어 DRAMs으로 대체함으로써, 그 결함 DRAM에서 제공된 데이터 비트는 스페어 DRAM으로 효율적으로 이동된다.
또한, 전 스페어 모드 스크루빙 싸이클에서 스페어링 동작은 1/2 스페어 모드에서 칩 로우의 스크루빙에 의해 보정될 몇개의 더블 비트 에러를 단일 비트 에러로 보정할 수 있다. 상기 1/2 스페어 모드동안에 멀티플 비트 에러를 검출하면, 상기 더블 워드가 위치되는 라인(16 쿼드 워드)에 대한 SPUE 태그는 오프되어, 그 메모리 카드는 SCE로부터 전송된 데이터를 무시하고 SPUE 태그로 태그된 라인에 기억되어, 임의의 인출 명령에 응답하여 SPUE 데이터 패턴을 복귀함으로써 상기 기억 위치로부터 데이터를 검색할 것이다.
상기 1/2 스페어 모드 동작동안 칩 로우의 스크루빙 끝에서, 상기 벡터 레지스터의 모드 비트는 단계(106)에서 전 스페어 모드로 설정된다. 상기 카운터(17)는 상기 1/2 스페어 모드의 끝에서 검사되지 않는데, 그 이유는 스페어링되는 결함 DRAMs에서 에러 카운트를 포함하기 때문이다. 대신에, 상기 카운터는 다음 칩 로우 또는 다음 PMA 카드상에 스크루빙 동작이 수행되도록 제로에 재설정된다.
전 스페어 모드 또는 1/2 스페어 모드에 대한 호출에 부가하여, 상기 벡터 레지스터의 모드 비트는 노 스페어(no spare) 또는 널(null) 스크루빙 모드에 대한 호출로 설정될 수 있다. 상기 벡터 레지스터의 모드 비트를 널 또는 노 스페어 모드로 설정하면, 그 해당하는 스페어 DRAM은 해당하는 스페어 벡터 레지스터에서 식별되고 DRAM에 기억되는 데이터와 비교하여 액세스된다. 상기 스페어 DRAM의 데이터에서 에러가 검출되면, 에러 레지스터의 스페어 DRAM 에러 비트는 턴온된다. 상기 에러 비트 레지스터의 에러 비트가 턴온될 때, 그 해당하는 스페어 DRAM이 대체 DRAM으로써 이용되는 것을 예방한다.
상술한 시스템으로써, 포텐셜 더블 비트 에러(potential double bit errors)는 자체 시험 동작 및 스크루빙 동작과 접속하여 단일 비트 에러로 보정된다. 결과적으로, 보정 불가능한 에러의 발생률은 상당히 감소된다. 또한, 상기 스페어링 동작 후에 더블 비트 에러가 갖는 기억 위치는 상기 시스템으로부터 효율적으로 제거된다.
본 발명의 양호한 실시예를 설명하는 동안, 당업자라면 청구범위 내에서 다양한 수정 및 변경이 가능하다는 것을 이해할 수 있을 것이다.

Claims (3)

  1. 적어도 한 개의 칩 로우(chip row)에 배열된 DRAMs의 어레이를 포함하는 것에 의해, 상기 칩 로우의 DRAM으로부터 병렬로 데이터를 판독하고, 상기 칩 로우의 DRAMs으로부터 병렬로 판독된 데이터의 다른 비트 위치에 각 칩 로우의 DRAMs이 대응하는 랜덤 액세스 메모리에서 에러를 감소시키는 방법에 있어서,
    상기 칩 로우의 각 기억 위치에서 기억 인출 동작을 실행하는 단계와,
    상기 각 기억 위치에서 인출된 데이터와 상기 위치에 기억된 데이터를 비교하여 그 기억 위치로부터 인출된 데이터의 비트에서 에러를 검출하는 단계와,
    상기 각 비트 위치에서 검출된 에러를 카운팅하는 단계와,
    상기 카운팅 에러가 소정의 임계 값을 초과하는 상기 인출 데이터의 비트 위치에 해당하는 DRAM을 스페어링(sparing)하는 단계와,
    한 개의 기억 위치로부터 인출된 데이터에서 한 개 이상의 에러가 발생한 경우 및 한 개의 기억 위치로부터 인출된 데이터의 한 개 이상의 비트 위치에 에러가 발생한 경우를 검출하는 단계와,
    가장 많이 에러를 카운트한 비트 위치에 해당하는 DRAM을 스페어링하는 단계를 포함하는 것을 특징으로 하는 랜덤 액세스 메모리에서 에러를 줄이는 방법.
  2. 적어도 한 개의 칩 로우(chip row)에 배열된 DRAMs의 어레이를 포함하는 것에 의해, 상기 DRAM으로부터 병렬로 데이터를 판독하고, 상기 칩 로우로부터 병렬로 인출된 데이터의 다른 비트 위치에 각 DRAMs이 대응하는 랜덤 액세스 메모리에서 에러를 감소시키는 방법에 있어서,
    상기 칩 로우에서 상기 DRAMs의 각 기억 위치에 기억 인출 동작을 실행하는 단계와,
    상기 각 기억 위치에서 인출된 데이터와 상기 기억 위치에 기억된 데이터를 비교하여 그 기억 위치로부터 인출된 데이터의 비트에서 에러를 검출하는 단계와,
    상기 각 칩 로우에 대한 각 비트 위치에서 발생하는 에러를 카운팅하는 단계와,
    임의의 한 개의 기억 위치로부터 인출된 데이터에서 한 개 이상의 에러가 검출되는 경우 및 임의의 한 개의 기억 위치에 대하여 한 개 이상의 비트 위치에서 에러가 검출되는 경우를 검출하는 검출 단계
    를 포함하는 것을 특징으로 하는 랜덤 액세스 메모리에서 에러를 줄이는 방법.
  3. 적어도 한 개의 칩 로우(chip row)에 배열된 DRAMs의 어레이를 포함하는 것에 의해, 상기 칩 로우의 DRAM으로부터 병렬로 데이터를 인출하고, 상기 칩 로우에서 인출된 데이터의 다른 비트 위치에 각 칩 로우의 DRAMs이 대응하는 랜덤 액세스 메모리에서 에러를 감소시키는 방법에 있어서,
    제1 스크루빙 싸이클에서 상기 칩 로우의 각 기억 위치를 스크루빙(scrubb ing)하는 단계와,
    상기 제1 스크루빙 싸이클에서 상기 스크루빙 동작에 의해 상기 제1 스크루빙 싸이클에서 보정된 단일 비트 에러를 각 비트 위치에 대하여 카운트하는 단계와,
    상기 제1 스크루빙 싸이클 동안 검출된 멀티플 비트 에러를 무시하는 단계와,
    상기 제1 스크루빙 싸이클의 끝에서 에러 카운트가 소정의 임계치를 초과하는 비트 위치에 해당하는 DRAM을 스페어링하는 단계와,
    상기 칩 로우의 기억 위치를 제2 싸이클에서 스크루빙하는 단계와,
    상기 제2 스크루빙 싸이클 동안 멀티플 비트 에러를 포함하는 검출된 기억 위치를 태그(tag)로 태그하는 단계
    를 포함하는 것을 특징으로 하는 랜덤 액세스 메모리에서 에러를 줄이는 방법.
KR1020000028642A 1999-06-04 2000-05-26 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템 KR100337218B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/325,814 US6480982B1 (en) 1999-06-04 1999-06-04 Computer RAM memory system with enhanced scrubbing and sparing
US09/325,814 1999-06-04

Publications (2)

Publication Number Publication Date
KR20010007123A true KR20010007123A (ko) 2001-01-26
KR100337218B1 KR100337218B1 (ko) 2002-05-17

Family

ID=23269566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000028642A KR100337218B1 (ko) 1999-06-04 2000-05-26 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템

Country Status (2)

Country Link
US (1) US6480982B1 (ko)
KR (1) KR100337218B1 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832340B2 (en) * 2000-01-26 2004-12-14 Hewlett-Packard Development Company, L.P. Real-time hardware memory scrubbing
US6701480B1 (en) * 2000-03-08 2004-03-02 Rockwell Automation Technologies, Inc. System and method for providing error check and correction in memory systems
US7143321B1 (en) * 2000-04-29 2006-11-28 Hewlett-Packard Development Company, L.P. System and method for multi processor memory testing
US20020091965A1 (en) * 2000-12-22 2002-07-11 Mark Moshayedi System and method for early detection of impending failure of a data storage system
DE10120670B4 (de) * 2001-04-27 2008-08-21 Qimonda Ag Verfahren zur Reparatur von Hardwarefehlern in Speicherbausteinen
US6851070B1 (en) * 2001-08-13 2005-02-01 Network Appliance, Inc. System and method for managing time-limited long-running operations in a data storage system
US6848063B2 (en) * 2001-11-20 2005-01-25 Hewlett-Packard Development Company, L.P. System and method for scrubbing errors in very large memories
US7076686B2 (en) * 2002-02-20 2006-07-11 Hewlett-Packard Development Company, L.P. Hot swapping memory method and system
DE60309157T2 (de) * 2003-08-06 2007-08-30 Stmicroelectronics S.R.L., Agrate Brianza Speichersystem mit Fehlererkennungsvorrichtung
US7328380B2 (en) * 2003-09-11 2008-02-05 Hewlett-Packard Development Company, L.P. Memory scrubbing logic
US7797134B2 (en) * 2003-11-14 2010-09-14 Hewlett-Packard Development Company, L.P. System and method for testing a memory with an expansion card using DMA
US7350109B2 (en) * 2003-11-14 2008-03-25 Hewlett-Packard Development Company, L.P. System and method for testing a memory using DMA
US7100004B2 (en) * 2004-04-06 2006-08-29 International Business Machines Corporation Method for scrubbing regions in central storage
US7346806B2 (en) * 2004-09-23 2008-03-18 International Business Machines Corporation Hard disk drive background scrub methodology
US7346804B2 (en) * 2004-09-23 2008-03-18 International Business Machines Corporation Hard disk drive data scrub methodology
JP2006179101A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd 半導体記憶装置
US7555677B1 (en) * 2005-04-22 2009-06-30 Sun Microsystems, Inc. System and method for diagnostic test innovation
US7451387B2 (en) * 2005-07-11 2008-11-11 Alcatel Lucent Autonomous method and apparatus for mitigating soft-errors in integrated circuit memory storage devices at run-time
TWI290285B (en) * 2005-08-22 2007-11-21 Powerchip Semiconductor Corp Sample screening methods for system soft error rate evaluation
US7734985B2 (en) * 2006-02-27 2010-06-08 Intel Corporation Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
US20070214347A1 (en) * 2006-03-13 2007-09-13 Rothman Michael A Method and apparatus for performing staged memory initialization
US20070283104A1 (en) * 2006-05-31 2007-12-06 International Business Machines Corporation Concurrent Hardware Selftest for Central Storage
US7676729B2 (en) * 2006-08-23 2010-03-09 Sun Microsystems, Inc. Data corruption avoidance in DRAM chip sparing
US20080077840A1 (en) * 2006-09-27 2008-03-27 Mark Shaw Memory system and method for storing and correcting data
JP5014821B2 (ja) 2007-02-06 2012-08-29 株式会社日立製作所 ストレージシステム及びその制御方法
US7730346B2 (en) * 2007-04-30 2010-06-01 Globalfoundries Inc. Parallel instruction processing and operand integrity verification
US7873883B2 (en) * 2007-12-19 2011-01-18 International Business Machines Corporation Method for scrubbing storage in a computer memory
US7661045B2 (en) * 2007-12-19 2010-02-09 International Business Machines Corporation Method and system for enterprise memory management of memory modules
US20090222635A1 (en) * 2008-03-03 2009-09-03 David Carroll Challener System and Method to Use Chipset Resources to Clear Sensitive Data from Computer System Memory
US8312534B2 (en) * 2008-03-03 2012-11-13 Lenovo (Singapore) Pte. Ltd. System and method for securely clearing secret data that remain in a computer system memory
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
US8230305B2 (en) * 2009-04-02 2012-07-24 Micron Technology, Inc. Extended single-bit error correction and multiple-bit error detection
US8347154B2 (en) * 2010-09-21 2013-01-01 International Business Machines Corporation Use of hashing function to distinguish random and repeat errors in a memory system
US8793544B2 (en) * 2010-12-29 2014-07-29 International Business Machines Corporation Channel marking for chip mark overflow and calibration errors
US8667325B2 (en) * 2011-03-29 2014-03-04 Intel Corporation Method, apparatus and system for providing memory sparing information
GB2506041A (en) 2011-06-30 2014-03-19 Hewlett Packard Development Co A memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die
US8756363B2 (en) 2011-07-07 2014-06-17 Oracle International Corporation Efficient storage of memory version data
US8996936B2 (en) 2011-12-08 2015-03-31 Sandisk Technologies Inc. Enhanced error correction in memory devices
JP5831858B2 (ja) 2012-08-24 2015-12-09 株式会社日立製作所 計算機及びメモリ検査方法
US9043559B2 (en) 2012-10-23 2015-05-26 Oracle International Corporation Block memory engine with memory corruption detection
US9009548B2 (en) 2013-01-09 2015-04-14 International Business Machines Corporation Memory testing of three dimensional (3D) stacked memory
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법
EP3132449B1 (en) * 2014-04-16 2023-04-26 Intel Corporation Method, apparatus and system for handling data error events with memory controller
US9672298B2 (en) 2014-05-01 2017-06-06 Oracle International Corporation Precise excecution of versioned store instructions
US9195593B1 (en) 2014-09-27 2015-11-24 Oracle International Corporation Hardware assisted object memory migration
US10949293B2 (en) * 2018-07-24 2021-03-16 Micron Technology Inc. Erroneous bit discovery in memory system
US10990472B2 (en) 2018-07-24 2021-04-27 Micron Technology, Inc. Spare substitution in memory system
US10776047B2 (en) 2018-08-30 2020-09-15 Micron Technology, Inc. Memory characteristic based access commands
US10783025B2 (en) * 2018-10-15 2020-09-22 Dell Products, L.P. Method and apparatus for predictive failure handling of interleaved dual in-line memory modules
US11200105B2 (en) * 2018-12-31 2021-12-14 Micron Technology, Inc. Normalization of detecting and reporting failures for a memory device
KR20210088917A (ko) 2020-01-07 2021-07-15 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US11449267B1 (en) 2021-04-28 2022-09-20 Micron Technology, Inc. Determination of durations of memory device temperatures

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4584682A (en) * 1983-09-02 1986-04-22 International Business Machines Corporation Reconfigurable memory using both address permutation and spare memory elements
US4964130A (en) * 1988-12-21 1990-10-16 Bull Hn Information Systems Inc. System for determining status of errors in a memory subsystem
US5077737A (en) * 1989-08-18 1991-12-31 Micron Technology, Inc. Method and apparatus for storing digital data in off-specification dynamic random access memory devices
JP2617026B2 (ja) * 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
US5479640A (en) 1990-08-31 1995-12-26 International Business Machines Corporation Memory access system including a memory controller with memory redrive circuitry
US5263032A (en) * 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5267242A (en) 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US5495491A (en) * 1993-03-05 1996-02-27 Motorola, Inc. System using a memory controller controlling an error correction means to detect and correct memory errors when and over a time interval indicated by registers in the memory controller
JPH09306198A (ja) * 1996-02-07 1997-11-28 Lsi Logic Corp 冗長列及び入/出力線を備えたasicメモリを修復するための方法
US5996096A (en) * 1996-11-15 1999-11-30 International Business Machines Corporation Dynamic redundancy for random access memory assemblies
KR19990066064A (ko) * 1998-01-21 1999-08-16 유무성 저장 데이터의 에러 탐지 및 정정 장치

Also Published As

Publication number Publication date
KR100337218B1 (ko) 2002-05-17
US6480982B1 (en) 2002-11-12

Similar Documents

Publication Publication Date Title
KR100337218B1 (ko) 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템
US5267242A (en) Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US4584681A (en) Memory correction scheme using spare arrays
EP1255197B1 (en) System and method for correcting soft errors in random access memory devices
US5233614A (en) Fault mapping apparatus for memory
US7676728B2 (en) Apparatus and method for memory asynchronous atomic read-correct-write operation
JP5595514B2 (ja) Dramエラー訂正用のビット交換技術
US20090077432A1 (en) Semiconductor Memory Device
JPS6237424B2 (ko)
US4891811A (en) Efficient address test for large memories
US20060253723A1 (en) Semiconductor memory and method of correcting errors for the same
US20190019569A1 (en) Row repair of corrected memory address
US7089461B2 (en) Method and apparatus for isolating uncorrectable errors while system continues to run
US5533194A (en) Hardware-assisted high speed memory test apparatus and method
CN113393889A (zh) 记忆体系统
TWI514400B (zh) 記憶體裝置修護技術
US7404118B1 (en) Memory error analysis for determining potentially faulty memory components
US7222271B2 (en) Method for repairing hardware faults in memory chips
EP1129454B1 (en) Method of testing a memory
US20240265987A1 (en) Memory repair circuit, a memory repair method, and a memory device
EP0652568A1 (en) Memory card tester

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee