KR101296070B1 - 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치 - Google Patents

고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101296070B1
KR101296070B1 KR1020127021899A KR20127021899A KR101296070B1 KR 101296070 B1 KR101296070 B1 KR 101296070B1 KR 1020127021899 A KR1020127021899 A KR 1020127021899A KR 20127021899 A KR20127021899 A KR 20127021899A KR 101296070 B1 KR101296070 B1 KR 101296070B1
Authority
KR
South Korea
Prior art keywords
error
memory device
data
address
read
Prior art date
Application number
KR1020127021899A
Other languages
English (en)
Other versions
KR20120098969A (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 KR20120098969A publication Critical patent/KR20120098969A/ko
Application granted granted Critical
Publication of KR101296070B1 publication Critical patent/KR101296070B1/ko

Links

Images

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
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

관통 실리콘 비아를 통해 서로간에 연결된 복수의 적층된 메모리 장치 다이들과 로직 다이를 포함하는 메모리 시스템, 시스템 및 방법이 개시된다. 그러한 로직 다이는 쓰기 데이터에 대응하는 오류 검사 코드를 생성하는 오류 코드 생성기를 포함한다. 오류 검사 코드는 메모리 장치 다이들에 저장되고, 메모리 장치 다이에서 후속적으로 읽힌 데이터로부터 생성된 오류 검사 코드에 후속적으로 비교된다. 코드들이 일치하지 않는 이벤트의 경우, 오류 신호가 생성된다. 로직 다이는 데이터가 읽힌 주소를 기록하는 제어기를 내장할 수 있다. 제어기 또는 메모리 액세스 장치는 기록된 주소의 메모리 장치 다이들에 대한 액세스를 재지정할 수 있다. 제어기는 또한 관통 실리콘 비아의 결함을 식별하기 위해 생성되는 오류 신호를 낳는 주소 또는 데이터를 조사할 수 있다.

Description

고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치{METHOD AND APPARATUS FOR REPAIRING HIGH CAPACITY/HIGH BANDWIDTH MEMORY DEVICES}
본 발명은 메모리 장치에 관한 것으로, 보다 구체적으로는 하나 이상의 실시예에 따른 결함 있는 메모리 셀을 여분의 메모리 셀로 대체함으로써 메모리 장치의 결함 있는 메모리 셀을 복구하는 것에 관한 것이다.
모든 종류의 메모리 장치가 진화함에 따라, 메모리 장치의 성능을 발전시키기 위한 끊임없는 진전이 다양한 방면에서 있었다. 예를 들어, 메모리 장치의 저장 용량은 기하학적 비율 면에서 계속하여 증가하였다. 이 증가된 용량과 더불어 메모리 장치를 내장하는 전자 시스템의 기하학적으로 더 높은 동작 속도는 고 메모리 장치 대역폭을 여느 때 보다 중요하게 만들었다. DRAM(dynamic random access memory; DRAM) 장치와 같이 더 고대역폭을 요구하는 메모리 장치에서의 일 응용은 컴퓨터 시스템에서 시스템 메모리로 사용하는 것이다. 프로세서의 동작 속도가 증가함에 따라, 프로세서는 그에 준하여 더 높은 속도로 데이터를 읽고 쓸 수 있다. 하지만 통상의 DRAM 장치는 흔히 이와 같이 더 높은 속도에서 데이터를 읽고 쓰기 위한 대역폭을 가지고 있지 못하여, 통상의 컴퓨터 시스템의 성능을 떨어뜨린다. 이러한 문제는 다중-코어 프로세서와 다중 프로세서 컴퓨터 시스템으로 나아가는 추세에 의해 악화된다. 시스템 메모리 장치의 한정된 데이터 대역폭에 의해 고성능(high-end) 서버로 동작하는 컴퓨터 시스템은 많게는 매 4번의 클럭 주기 중 3번은 유휴 상태인 것으로 현재 추정된다. 실제로, 시스템 메모리로 동작하는 DRAM 장치의 한정된 대역폭은 컴퓨터 시스템의 성능을 낮게는 DRAM 장치의 대역폭이 한정되지 않았을 때의 성능의 10%로 감소시킬 수 있다.
메모리 장치의 대역폭을 증가시키기 위한 다양한 시도들이 있었다. 예를 들어, 더 고대역폭을 갖는 어레이로 데이터를 전송하고 이러한 어레이에서 데이터를 전송받기 위해 폭이 더 넓은 내부 데이터 버스(internal data buses)가 사용되었다. 하지만, 그렇게 하는 것은 보통 메모리 장치 인터페이스에서 쓰기 데이터(write data)가 시리얼화(serialized)되고 읽기 데이터(read data)가 탈시리얼화(deserialized)되기를 요구한다. 또 다른 접근은 단순히 메모리 장치의 크기를 확대하거나 정반대로 메모리 장치의 형상 크기(feature size)를 줄이는 것이었으나, 다양한 이유 때문에 크기 조정은 더 고 데이터 대역폭에 대한 요구의 기하학적 증가를 따라가지 못했다. 또한 몇몇의 집적회로 메모리 장치를 동일한 패키지 안에 적층하자는 제안이 있었지만, 이렇게 하는 것은 극복되어야 하는 다수의 다른 문제가 생길 위협이 있다.
더 고 메모리 대역폭을 달성하기 위해 메모리 용량을 증가시키는 것에 대한 한가지 잠재적인 문제는 적어도 소정의 메모리 셀에 결함이 생길 가능성이 높아지는 것이다. 현재 기술에서 주지된 것과 같이, 메모리 장치는 통상적으로 제조 시에 또는 사용 후에 결함을 갖는 적어도 소정의 메모리 셀을 가지고 있다. 이러한 결함 있는 메모리 장치는 통상적으로 결함 있는 메모리 셀을 여분의 메모리 셀로 대체하는 것에 의해 복구된다. 이와 같은 복구는 보통 하나 이상의 결함 있는 메모리 셀을 내장하는 행 또는 연관된 회로 조합체를 메모리 셀의 여분의 행으로 대체하는 것에 의해 완수되거나, 하나 이상의 결함 있는 메모리 셀을 내장하는 열 또는 연관된 회로 조합체를 메모리 셀의 여분의 열로 대체하는 것에 의해 완수된다. 하지만 엄청나게 증가하고 있는 메모리 용량은 결함 있는 메모리 셀을 여분의 메모리 셀로 대체하는 것을 더욱 난해하게 만들 수 있다.
따라서, 결함 있는 메모리 셀을 내장하는 메모리 장치를 복구하기 위한 필요성과 같이 메모리 장치의 데이터 대역폭을 크게 증가시킴에 따라 유발된 문제와 한계를 최소화하기 위한 방법과 장치의 필요성이 존재한다.
도 1은 본 발명의 실시예에 따른 메모리 장치를 포함하는 컴퓨터 시스템의 블록도.
도 2는 본 발명의 실시예에 따른 메모리 장치의 블록도.
도 3은 본 발명의 실시예에 따른 메모리 장치의 더 상세한 블록도.
도 4는 도 3의 메모리 장치에서 사용될 수 있는 결함 메모리 셀 복구 시스템의 실시예에 대한 블록도.
도 5는 본 발명의 실시예에 따른 메모리 셀을 내장하는 행 또는 열을 각각 여분의 행 또는 열로 대체함으로써 메모리 셀을 복구하기 위해 프로세서 또는 다른 장치에 의해 실행되는 프로세스를 도시하는 흐름도.
도 6은 적층된 메모리 다이들을 서로간에 및 로직 다이에 연결하는 결함 있는 관통 실리콘 비아로부터 비롯될 수 있는 메모리 장치 기능 불량을 복구하기 위해 프로세서 또는 다른 장치에 의해 실행되는 프로세스를 도시하는 흐름도.
본 발명의 실시예에 따른 다운스트림 레인(downstream lanes)과 별도의 업스트림 레인(upstream lanes)으로 나누어진(도 1에 도시하지 않음) 상대적으로 폭이 좁은 높은-속도의 버스(14)를 통해 프로세서(12)에 연결된 고용량, 고대역폭 메모리 장치(10)를 포함하는 컴퓨터 시스템이 도 1에 도시되어 있다. 메모리 장치(10)는 서로의 상부에 적층되어 있고 서로 동일할 수 있는 4개의 DRAM 다이(DRAM die; 20, 22, 24, 26)를 포함한다. 비록 메모리 장치(10)는 4개의 DRAM 다이(20, 22, 24, 26)를 포함하지만, 메모리 장치의 다른 실시예에서는 더 많거나 더 적은 수의 DRAM 다이를 사용한다. DRAM 다이들(DRAM dice; 20, 22, 24, 26)은 프로세서(12)와의 인터페이스로서 작용하는 로직 다이(logic die; 30)의 상부에 적층되어 있다. 로직 다이(30)는 DRAM 다이들(20, 22, 24, 26)에서 구현되어야 하는 기능의 개수를 한정하는 것과 같이 메모리 장치(10)에서의 다양한 기능을 구현할 수 있다. 예를 들어, 로직 다이(30)는 전원 관리 및 DRAM 다이들(20, 22, 24, 26)의 메모리 셀의 리프레쉬(refresh of memory cell)와 같은 메모리 관리 기능을 수행할 수 있다. 소정의 실시예에서, 로직 다이(30)는 테스트 및/또는 복구 기능을 구현할 수 있고, ECC(error checking and correcting; 오류 검사 및 교정) 기능을 수행할 수 있다.
DRAM 다이들(20, 22, 24, 26)은 상대적으로 폭이 넓은 버스(34)에 의해 서로간에 및 로직 다이(30)에 연결되어 있다. 버스(34)는 DRAM 다이들 상의 같은 위치에 적어도 부분적으로 DRAM 다이들을 통하여 연장되는 다수의 도전체를 포함하고 다이들(20, 22, 24, 26) 상에 형성된 각각의 도전체를 연결하는 TSVs(through silicon vias; 관통 실리콘 비아)로 구현될 수 있다. 일 실시예에서, 각각의 DRAM 다이들(20, 22, 24, 26)은 16개의 자치 파티션(autonomous partitions)으로 나누어지고, 각각의 자치 파티션은 2개 또는 4개의 독립 메모리 뱅크를 내장할 수 있다. 이와 같은 경우에, 서로의 상부에 적층된 각각의 다이들(20, 22, 24, 26)의 파티션은 읽기 및 쓰기 동작을 위해 독립적으로 액세스될 수 있다. 16개의 적층된 파티션의 각각의 세트는 "볼트(vault)"로 지칭될 수 있다. 따라서 메모리 장치(10)는 16개의 볼트를 내장할 수 있다.
도 2에서 도시된 일 실시예에서, 버스(34)는 16개의 36-비트 양방향 서브-버스(36-bit bi-directional sub-buses; 38a-p)로 나누어지고, 각각의 16개의 36-비트 서브-버스(36-bit sub-buses)는 각각의 볼트의 4개의 파티션에 결합된다. 각각의 이러한 서브-버스는 로직 다이(30)와 DRAM 다이들(20, 22, 24, 26) 사이에 32개 비트의 데이터와 4개의 ECC 비트를 결합한다. 하지만, 적층된 DRAM 다이들(20, 22, 24, 26)의 개수, 각각의 DRAM 다이들의 파티션의 개수, 각각의 파티션의 뱅크의 개수, 각각의 서브-버스(38a-p)의 비트의 개수는 원하는 대로 변경할 수 있다. 프로세서(12)를 로직 다이에 연결하는 상대적으로 폭이 좁은 높은-속도의 버스(14)는 4개의 16-비트 다운스트림 레인(40a-d)과 별도의 4개의 16-비트 업스트림 레인(42a-d)으로 나누어진다. 4개의 다운스트림 레인(40a-d)은 도 1에 도시된 바와 같이 다중-코어 프로세서일 수 있는 단일 프로세서(12), 다수의 프로세서(도시하지 않음) 또는 메모리 제어기와 같은 소정의 다른 메모리 액세스 장치에 연결될 수 있다. 4개의 다운스트림 레인(40a-d)은 패킷이 레인(40a-d)을 통해 상이한 시간에 동일한 또는 상이한 볼트에 결합될 수 있도록 서로에 독립적으로 동작할 수 있다.
이하에서 더 상세하게 설명되는 것과 같이, 로직 다이(30)에 의해 수행되는 기능 중 한가지는 DRAM 다이들(20, 22, 24, 26)로부터 결합된 읽기 데이터 비트를 버스(14)의 업스트림 레인(42a-d)중 한 레인의 각각의 16개의 병렬 비트를 통해 결합된 16개의 시리얼 데이터 비트의 시리얼 스트림으로 시리얼화하는 것이다. 마찬가지로, 로직 다이(30)는 256개의 병렬 데이터 비트를 얻기 위해 버스(14)의 16-비트 다운스트림 레인(40a-d) 중 하나를 통해 결합되는 16개의 시리얼 데이터를 탈시리얼화하는 기능을 수행할 수 있다. 그런 다음 로직 다이(30)는 이러한 256 비트를, 8 비트의 시리얼 스트림의 형태로 32-비트 서브-버스(38a-p) 중 하나를 통해 결합시킨다. 하지만, 다른 실시예에서는 상이한 폭을 갖는 상이한 개수의 레인(40, 42) 또는 상이한 폭을 갖는 상이한 개수의 서브-버스(38a-p)를 가질 수 있고, 상이한 구조를 갖는 데이터 비트를 결합시킬 수 있다. 당업자가 알 수 있는 바와 같이 다수의 DRAM 다이들을 적층하는 것은 매우 큰 용량을 갖는 메모리 장치를 만드는 결과를 낳는다. 나아가, DRAM 다이들을 연결하는 매우 넓은 폭을 갖는 버스의 사용은 데이터가 매우 고대역폭으로 DRAM 다이들로 및 DRAM 다이들로부터 결합될 수 있게 해준다.
도 3은 본 발명의 실시예에 따른 로직 다이(30)가 프로세서(12)와 DRAM 다이들(20, 22, 24, 26)에 연결되는 것을 도시한다. 도 3에 도시된 것과 같이 각각의 4개의 다운스트림 레인(40a-d)은 각각의 링크 인터페이스(50a-d)에 연결된다. 각각의 링크 인터페이스(50a-d)는 각각의 16-비트 레인(40a-d) 상의 16개 데이터 비트의 각각의 시리얼 스트림을 256개의 병렬 비트로 변환시키는 탈시리얼라이져(deserializer; 54)를 포함한다. 4개의 링크 인터페이스(50a-d)가 있는 한, 링크 인터페이스는 1024개의 출력 병렬 비트(output parallel bits)를 함께 출력할 수 있다.
각각의 링크 인터페이스(50a-d)는 그것의 256개 병렬 비트를 각각의 다운스트림 타겟(downstream target; 60a-d)에 적용하고, 다운스트림 타겟은 수신된 패킷의 명령 부분과 주소 부분을 디코딩(decodes)하고 쓰기 동작에 대한 메모리 요청 이벤트가 있는 경우 쓰기 데이터를 버퍼링(buffers)한다. 다운스트림 타겟(60a-d)은 그것들 각각의 명령어, 주소 및 심지어 쓰기 데이터도 스위치(62)에 출력한다. 스위치(62)는 16개의 멀티플렉서(multiplexers; 64)를 내장하고, 각각의 멀티플렉서는 명령어, 주소, 임의의 쓰기 데이터를 임의의 다운스트림 타겟(60a-d)에서 DRAM 다이들(20, 22, 24, 26) 각각의 볼트로 안내한다(direct). 이렇게 각각의 다운스트림 타겟(60a-d)은 DRAM 다이들(20, 22, 24, 26)의 16개 볼트 중 어느 것이나 액세스할 수 있다. 멀티플렉서(64)는 각각의 볼트가 메모리 요청의 타겟이 되는지를 판정하기 위해 수신된 메모리 요청의 주소를 사용한다. 각각의 멀티플렉서(64)는 메모리 요청을 각각의 16개의 볼트 제어기(70a-p)에 적용한다.
각각의 볼트 제어기(70a-p)는 각각의 메모리 제어기(80)를 포함하고, 각각의 메모리 제어기는 쓰기 버퍼(write buffer; 82), 읽기 버퍼(read buffer; 84) 및 명령 파이프라인(command pipeline; 86)을 포함한다. 스위치(62)로부터 수신된 메모리 요청의 명령 및 주소는 명령 파이프라인(86)에 로딩되고, 명령 파이프라인은 수신된 명령 및 대응하는 주소를 후속적으로 출력한다. 메모리의 임의의 쓰기 데이터는 쓰기 버퍼(82)에 저장된다. 이하에서 더 상세하게 설명되는 것과 같이, 읽기 버퍼(84)는 각각의 볼트로부터 읽기 데이터를 저장하는데 사용된다. 쓰기 버퍼(82)로부터의 쓰기 데이터와 명령 파이프라인(86)으로부터의 명령과 주소 모두는 메모리 인터페이스(88)에 적용된다. 메모리 인터페이스(88)는 ECC와 결함 메모리 셀 복구 시스템(100)을 포함한다. 이하에서 더 상세하게 설명되는 것과 같이, ECC와 복구 시스템(100)은 하나 이상의 결함 메모리 셀을 내장하는 행과 열을 각각 여분의 행과 열로 대체하기 위해 DRAM 다이들(20, 22, 24, 26)로부터 읽은 데이터를 검사하고 교정하며, 임베디드된 프로세서 또는 하드웨어 상태 머신(hardware state machine; 148)과 같은 제어기, 프로세서(12) 또는 다른 메모리 액세스 장비를 보조하는데 ECC 기법을 사용한다. 하지만, 다른 실시예에서는 로직 다이(30)에 임베디드된 프로세서(도시되지 않음)가 하나 이상의 결함 메모리 셀을 내장하는 행과 열을 각각 여분의 행과 열로 대체하기 위해 사용될 수 있다. 메모리 인터페이스(88)는 명령 파이프라인(86)으로부터의 명령과 주소를 명령/주소 버스(92)를 통해서 DRAM 다이들(20, 22, 24, 26)에 결합시키고, 메모리 인터페이스는 쓰기 버퍼(82)로부터의 32-비트의 쓰기 데이터와 ECC로부터의 4 비트의 ECC와 복구 시스템(100)을 36-비트 데이터 버스(94)를 통해 DRAM 다이들(20, 22, 24, 26)에 결합시킨다.
비록 데이터가 쓰기 버퍼(82)에 256개의 병렬 비트로 로딩되더라도, 데이터는 각각 128개의 병렬 비트로 이루어진 2개의 세트로 버퍼(82)에서 출력된다. 이러한 128 비트는 후속적으로 ECC와 복구 시스템(100)에 의해 4세트의 32-비트 데이터로 시리얼화되고, 4세트의 32-비트 데이터는 데이터 버스(94)를 통해 결합된다. 도 3에 도시된 실시예에서는, 쓰기 데이터는 쓰기 버퍼(82)에 500MHz 클럭에 동기화되어 결합되고, 데이터는 쓰기 버퍼에 초당 16 GB(gigabytes; 기가바이트)의 속도로 저장된다. 쓰기 데이터는 2GHz 클럭을 사용하여 쓰기 버퍼(82)에서 DRAM 다이들(20, 22, 24, 26)로 결합되고, 데이터는 쓰기 버퍼(82)에서 초당 8GB의 속도로 출력된다. 따라서, 반 이상의 데이터 요청이 동일한 볼트에 대한 쓰기 동작이 아닌 한, 쓰기 버퍼(82)는 적어도 쓰기 버퍼(82)에 데이터가 결합되는 속도만큼 빠르게 쓰기 데이터를 DRAM 다이들(20, 22, 24, 26)에 결합시킬 수 있다.
메모리 요청이 읽기 동작을 위한 이벤트인 경우, 요청을 위한 명령과 주소는 상기에 설명된 것과 같이 쓰기 요청과 동일한 방법으로 DRAM 다이들(20, 22, 24, 26)에 결합된다. 읽기 요청에 응답하여, 32 비트의 읽기 데이터와 4개의 ECC 비트는 36-비트 데이터 버스(94)를 통해 DRAM 다이들(20, 22, 24, 26)로부터 출력된다. ECC 비트는 ECC 및 복구 시스템(100)에 전달되고, 이는 읽기 버퍼(84)에 읽기 데이터를 전달하기 전에 ECC 비트를 사용하여 읽기 데이터를 검사하고 교정한다. ECC와 복구 시스템(100)은 또한 32개 비트의 읽기 데이터를 128-비트 읽기 데이터의 2세트로 탈시리얼화한다. 2세트의 128-비트 읽기 데이터가 읽기 버퍼(84)에 저장된 후, 읽기 버퍼는 256 비트를 스위치(62)에 전송한다. 스위치는 각각의 업스트림 마스터(110a-d)에 결합된 4개의 출력 멀티플렉서(104)를 포함한다. 각각의 멀티플렉서(104)는 256 비트의 병렬 데이터를 볼트 제어기(70a-p) 중 어느 한 개로부터 그것의 각각의 업스트림 마스터(110a-d)로 결합시킬 수 있다. 업스트림 마스터(110a-d)는 256 비트의 읽기 데이터를 패킷 데이터로 포맷팅(format)하고 패킷을 각각의 업스트림 링크 인터페이스(114a-d)에 결합시킨다. 각각의 링크 인터페이스(114a-d)는 유입되는 256 비트를 각각 대응하는 16-비트 업스트림 링크(42a-d)의 각각의 비트상의 16 비트의 시리얼 스트림으로 변환하는 각각의 시리얼라이져(120)를 포함한다.
또한 도 3에 도시된 것과 같이, 로직 다이(30)는 블록 복구 시스템(Block Repair system; 130)을 포함한다. 블록 복구 시스템의 기능은 DRAM 다이들(20, 22, 24, 26)의 볼트 중 어느 하나의 행 및/또는 열의 블록을 본질적으로(essentially) 교체하기 위해 제공된다. 아래 설명된 것과 같이, 개개의 행과 열은 그들을 여분의 행과 열로 교체함으로써 복구될 수 있지만, DRAM 다이들(20, 22, 24, 26) 중 하나가 결함 메모리 셀을 내장하는 다수의 행 또는 열을 가지고 있을 수 있다. 이러한 행 또는 열을 블록으로 복구할 수 있게 함으로써, 여분의 행 및 열을 여분의 메모리 셀을 내장하는 더 격리된 행 및/또는 열을 위해 남겨둘 수 있다. 블록 복구 시스템(130)은 보통은 생산 단계 또는 생산 후 테스팅에서 행과 열의 그룹을 복구하도록 프로그램되어 있다. 이와 같은 프로그래밍 동안에, 시스템(130)으로부터의 제어 버스(134)는 볼트 제어기(70a-p)중 하나에 연결된다. 각각의 메모리 액세스 동안에, 스위치(62)의 멀티플렉서(64)중 하나는 액세스를 위한 주소를 블록 복구 비교기(block repair comparator; 138)에 결합시키고, 블록 복구 비교기는 복구되는 블록의 주소를 위해 수신된 주소를 비교기(138)에 프로그램된 주소와 비교한다. 일치하는 이벤트의 경우, 그리고 메모리 액세스가 쓰기 동작을 위한 것이면, 쓰기 데이터는 잘못된 블록을 내장하는 볼트의 볼트 제어기(70a-p)로부터 블록 복구 제어기(140)에 결합되고, SRAM (static random access memory; 142) 장치에 저장된다. 만약 메모리 액세스가 읽기 동작을 위한 것이면, 읽기 데이터는 SRAM 장치(142)로부터 블록 복구 제어기(140)를 통하여 잘못된 블록을 내장하는 볼트의 볼트 제어기(70a-p)에 결합된다. 이러한 복구 동작은 임베디드된 프로세서 또는 하드웨어 상태 머신(148)과 같은 제어기, 또는 스위치(62)를 통해 블록 복구 시스템(130)에 결합된 다른 적절한 장치에 의해 제어된다.
ECC 및 결함 메모리 셀 복구 시스템(100)의 실시예가 도 3에 도시된 쓰기 버퍼(82)와 읽기 버퍼(84)와 함께 도 4에 도시된다. ECC와 결함 메모리 셀 복구 시스템(100)은 명령 파이프라인(86; 도 3)으로부터 수신된 패킷의 명령 및 주소 부분을 수신하는 한 개의 입력을 가지는 멀티플렉서(150)를 포함한다. 정규 동작의 경우, 멀티플렉서(150)는 명령과 주소를 기본적으로 선입선출(first in, first out; "FIFO") 버퍼인 명령 파이프라인(154)에 결합시킨다. 그리고 나서 명령과 주소는 한 세트의 드라이버(158)를 통해 DRAM 다이들(20, 22, 24, 26)에 출력된다. 하지만 다른 실시예에서, 명령 파이프라인(154)은 뱅크 충돌을 방지하기 위해 정리가 안된 명령과 주소를 재정렬할 수 있고, 그것에 의해 메모리 버스 효율이 향상될 수 있다.
쓰기 버퍼(82)는 수신된 쓰기 데이터를 병합 회로(merge circuit; 160)에 적용한다. 병합 회로의 기능은 128개 비트의 데이터보다 적은 수의 쓰기 이벤트의 경우 쓰기 버퍼(82)로부터 출력된 쓰기 데이터와 DRAM 다이들(20, 22, 24, 26) 중 하나에서 읽힌 인접한 비트를 결합하는 것이다. 보다 구체적으로는, ECC는 128개 비트의 데이터에 기초하여 생성된다. 만약 오직 32 비트의 데이터만이 주소에 쓰여진다면, 이웃(neighbor)의 96개의 비트가 읽힌다. 병합 회로(160)는 이러한 인접한 96 비트를 쓰여지는 32 비트와 결합하고 이에 얻어진 128 비트를 16-비트 ECC 코드를 생성하는 ECC 생성기(ECC Generator; 164)에 적용한다. 16 비트의 ECC 코드는 시리얼라이져(168)에 의해 4개의 그룹으로 나뉘고 36 비트의 데이터 버스(92; 도 3) 중 4개를 통해 DRAM 다이들(20, 22, 24, 26)에 적용된다. 시리얼라이져(168)로부터 출력된 36 비트 중 잔류하는 32개는 ECC 생성기(164)로부터 출력된 32개의 읽기 데이터 비트이다.
읽기 데이터 및 이에 대응하는 DRAM 다이들(20, 22, 24, 26)로부터의 ECC 비트는 탈시리얼라이져(170)에 적용되고, 탈시리얼라이져는 데이터 버스(92)를 통해 128개 비트의 읽기 데이터와 16개 비트의 ECC로 결합된 4개의 연속적인 36-비트 그룹(32개 비트의 읽기 데이터 더하기 4개 비트의 ECC)을 조합(combines)한다. 이러한 144개 비트는 ECC 검사기 및 교정기(ECC checker and corrector; 174) 또는 어떤 다른 종류의 오류 비교기에 적용된다. ECC 검사기 및 교정기(174)는 128개 데이터 비트로부터 16-비트 ECC를 생성하고 생성된 16개 비트를 탈시리얼라이져(170)로부터 수신된 16-비트 ECC에 비교한다. 일치하는 이벤트의 경우, 읽기 데이터는 유효한 것으로 여겨지고, ECC 검사기 및 교정기(174)로부터 출력되며, 읽기 버퍼(84)에 저장된다. 만약 생성된 16개 비트가 탈시리얼라이져(170)로부터 수신된 16-비트 ECC와 일치하지 않는다면, 읽기 데이터는 오류인 것으로 여겨진다. 이와 같은 경우에, ECC 검사기 및 교정기(174)는 데이터가 교정될 수 있다면(예를 들어 16-비트 ECC의 경우, 오직 한 개 비트만이 오류라면) 읽기 데이터를 교정하고, 교정된 읽기 데이터를 읽기 버퍼(84)에 전달한다. ECC 검사기 및 교정기(174)는 또한 "플래그 ECC 오류" 신호("Flag ECC Error" signal)를 재발급 상태 머신(180)에 출력하고, 재발급 상태 머신은 교정된 읽기 데이터가 DRAM 다이들(20, 22, 24, 26)에 다시 쓰여지고 그런 다음 다시 읽히도록 한다. 만약 다시 읽힌 데이터가 이제 정확하다면, 아무런 복구가 필요하지 않다고 여겨진다. 만약 다시 읽힌 데이터가 아직도 부정확하다면, 그 오류는 "하드 오류"("hard error")로 여겨지고, 여분의 행 또는 열로 대체함으로써 복구된다. 이와 같은 경우, 재발급 상태 머신은 "하드 오류" 플래그를 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12; 도 3)로 발행한다. 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 사용할 수 없는 주소라는 사실을 기록하고, 장래의 메모리 액세스를 메모리 셀의 여분의 행 또는 열로 라우팅한다. 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12) 후의 프로세스는 도 5에서 설명될 것이다.
재발급 상태 머신(180)은 우선 멀티플렉서(150)를 교환함(switching)으로써 교정된 읽기 데이터가 다시 쓰여지도록 하고, 읽기 명령 및 재발급 상태 머신(180)으로부터 출력된 교정된 읽기 데이터의 주소를 명령 파이프라인(154)에 적용한다. 읽기 명령이 후속적으로 실행될 때, ECC 검사기 및 교정기(174)는 교정된 읽기 데이터와 주소를 병합 회로(160)를 통해 ECC 생성기(164)에 적용한다. ECC 생성기(164)는 교정된 읽기 데이터를 위해 16-비트 ECC를 생성하고, 읽기 데이터 및 ECC 둘 다를 시리얼라이져(168)에 적용한다. 그리고 나서 시리얼라이져(168)는 교정된 읽기 데이터와 ECC 비트를 DRAM 다이들(20, 22, 24, 26)에 출력한다. 교정된 읽기 데이터가 DRAM 다이들(20, 22, 24, 26)에 쓰여진 후, ECC 검사기 및 교정기는 읽기 명령을 동일한 주소로 발행하고, 멀티플렉서(150)로 하여금 읽기 명령과 주소를 명령 파이프라인(154)에 결합하게 한다. 읽기 명령에 응답하여 수신된 읽기 데이터와 ECC는 이전의 오류가 "하드 오류"인지 "소프트 오류"인지를 판정하기 위해 전술된 것과 같이 처리된다.
전술된 것과 같이, 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 "하드 오류"의 결과를 낳는 메모리 셀을 내장하는 행 또는 열을 각각 여분의 행 또는 열로 대체하도록 프로그래밍되어 있다. 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12) 또는 다른 메모리 액세스 장치(메모리 제어기 또는 로직다이(30)에 임베디드된 프로세서와 같은)에 의해 수행되는 프로세스의 실시예가 도 5에 도시된다. 프로세스는 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)가 재발급 상태 머신(180)으로부터 "하드 오류" 플래그를 수신할 때 200에서 시작된다. 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 단계(204)에서 오류 카운트 버퍼(202)에 보관된 오류 카운트를 우선 인출하고 그 후 증분한다(increments). 오류 카운트는 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)에 의해 DRAM 다이들(20, 22, 24, 26)의 동일한 주소에서 오류가 검출된 횟수를 세는 카운트이다. 도 5의 실시예에서, 오류는 하드 오류 플래그가 동일한 주소에서 특정 횟수만큼 수신되기 전까지는 하드 오류라고 여겨지지 않는다. 단계(206)에서 오류 카운트가 이 특정 횟수를 초과하는지 여부의 판정이 이루어진다. 만약 특정 횟수가 초과되지 않았다면, 프로세스는 단계(210)로 진행하고, 이 단계에서 프로세서는 교정된 읽기 데이터가 DRAM 다이들(20, 22, 24, 26)에 쓰여지기를 기다리고 그 후 도 4에서 전술된 것과 같이 다시 읽는다. 다시 읽은 데이터가 오류인지 여부의 판정은 단계(216)에서 이루어진다. 만약 다시 읽은 데이터가 오류라면, 프로세스는 단계(218)를 통하여 단계(200)로 분기한다.
단계(216)에서 다시 읽은 데이터가 오류가 아니라는 판정이 이루어지면, 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 단계(220)에서 메모리 타이밍 스트레스 테스트가 실행되도록 한다. 예를 들어, 이 스트레스 테스트는 메모리 셀이 감소된 레이트(rate)로 리프레쉬되도록 한다. 데이터가 주소에서 읽힌 후에, 단계(224)에서 읽기 데이터가 오류인지 여부를 판정하는 검사가 다시 한번 이루어진다. 만약에 읽기 데이터가 오류라면, 전술된 것과 같이 프로세스는 226을 통해 단계(200)로 분기한다. 반면에, 단계(224)에서 읽기 데이터가 오류가 아니라는 판정이 이루어진다면, 단계(234)에서 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)에 의해 유지된 스크러빙 목록(230)에 현재 주소가 부가된다. 스크러빙 목록(230)은 오류가 보고된 메모리 주소의 목록이다. 이러한 이유 때문에, 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 그 위치에 저장된 데이터에 대한 자기 자신의 ECC 검사를 수행할 수 있다. 그리고 나서, 단계(236)에서 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 테스트 데이터의 패턴을 DRAM 다이들(20, 22, 24, 26)에 타겟 주소 스트레스 루틴(238)에 따라 쓴다. DRAM 다이들(20, 22, 24, 26)이 스트레스 루틴(238)에 따라 검사된 후에 프로세스는 읽기 데이터가 오류인지를 판정하기 위해 단계(240)에서 다시 한번 검사한다. 만약 읽기 데이터가 오류라면, 프로세스는 단계(244)를 통해 단계(200)로 분기한다. 그렇지 않으면, 프로세스는 248에서 끝난다.
단계(206)로 복귀하여, 오류 카운트가 특정 횟수를 초과한다고 판정된다면, 그 주소는 더 이상 메모리 액세스를 위해 사용되지 않을 것이기 때문에, 대응하는 주소는 단계(250)에서 오류 버퍼로부터 제거된다. 그리고 나서 단계(254)에서 뱅크는 "바쁨"으로 설정되면서, 새로운 행 또는 열은 각각 결함 메모리 셀에 대응하는 주소의 행 또는 열을 대체한다. 그리고 나서, 단계(258)에서 유휴 블록의 콘텐트를 읽고, 그런 다음에 단계(260)에서 대체된 주소가 주소 비교 목록에 부가됨에 따라 여분의 행 또는 열의 주소가 활성화된다. 주소 비교 목록은 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)에 의해 유지된, 여분의 주소로 대체함에 의해 복구된 주소의 목록이다. 임베디드된 프로세서 또는 하드웨어 상태 머신(148) 또는 프로세서(12)는 각각의 메모리 액세스를 위한 주소를 비교 목록과 비교하여 대체된 주소로 액세스가 재지정되어야 하는지를 판정한다. 단계(264)에서, 단계(258)에서 블록으로부터 읽은 데이터는 후속적으로 사용될 여분의 블록의 메모리 셀에 쓰여진다. 그리고 나서, 단계(254)에서 "바쁨"으로 설정되었던 뱅크는 단계(266)에서 설정이 취소되고, 프로세스는 268을 거쳐서 끝난다.
ECC와 결함 메모리 셀 복구 시스템(100)에 의해 검출된 오류는 두 가지 이유 중 한가지 때문에 발생할 수 있다. 첫 번째로는, 오류는 각각의 개개의 DRAM 다이들(20, 22, 24, 26)에서의 결함(faults)에 인한 것일 수 있다. 이러한 오류는 도 5에서 설명된 것과 같이 교정되고 복구된다. 하지만, 오류는 또한 DRAM 다이들(20, 22, 24, 26)을 서로 연결하는 TSVs의 결함에 인한 것일 수 도 있다. 도 6에서 설명된 발명의 또 다른 실시예에서, 데이터 오류는 개개의 DRAM 다이들(20, 22, 24, 26)에서 비롯되거나, DRAM 다이들(20, 22, 24, 26)을 서로 및 로직 다이(30)에 연결하는 하나 이상의 TSVs 중 어느 하나에서 비롯되는 것으로 분석될 수 있다. 이러한 TSV 결함은 DRAM 다이들(20, 22, 24, 26)로 주소를 결합시키는 TSV 또는 DRAM 다이들(20, 22, 24, 26)로 및 DRAM 다이들(20, 22, 24, 26)로부터 데이터를 결합시키는 TSV 중 어느 하나에 존재할 수 있다. 만약 결함이 DRAM 다이들(20, 22, 24, 26)로 주소를 결합시키는 TSV에 있다면, 오류는 모든 DRAM 다이들에서 읽힌 틀린 데이터로부터 공통된 주소 비트를 갖는 주소에서 검출될 것이다. 결함 TSV에 적용된 특정 주소 비트는 오류로 읽힌 데이터의 주소를 조사하여 판정될 수 있다. 마찬가지로, 만약 결함이 DRAM 다이들(20, 22, 24, 26)로 데이터를 결합시키는 TSV에 있다면, 데이터가 읽힌 주소에 무관하게 모든 DRAM 다이들(20, 22, 24, 26)에서 읽힌 데이터의 대응하는 데이터 비트는 모두 오류일 것이다.
임베디드된 프로세서 또는 하드웨어 상태 머신(148; 도 3), 프로세서(12) 또는 다른 메모리 액세스 장치에 의해 수행되는 오류가 TSV 오류인지를 판정하기 위한 프로세스의 실시예가 도 6에 도시된다. 프로세스는 단일 비트 오류의 검출에 응답하여 300에서 시작된다. 임베디드된 프로세서 또는 하드웨어 상태 머신(148), 프로세서(12) 또는 다른 메모리 액세스 장치에 의해 횟수가 세어지는 TSV 오류 카운트 버퍼에 저장된 TSV 오류 카운트는 인출되고, 그 후 304에서 증분된다. TSV 오류 카운트 버퍼는 DRAM 다이들(20, 22, 24, 26)의 동일한 주소에서 오류가 검출된 횟수를 기록한다. TSV 오류 카운트 버퍼는 또한 304에서의 각각의 오류에 대응하는 기록에 타임 스탬프(306)를 기록한다. 후술되는 것과 같이, 타임 스탬프는 오류의 원인에 대한 더 나은 분석을 하게 해준다. 그리고 나서 프로세스는 단계(310)에서 카운트가 시간 또는 공간 임계값을 초과하였는지를 판정하기 위해 검사한다. 시간 임계값은 특정 시간 안에 특정 주소에서 일어날 수 있는 오류의 횟수에 대응하는 숫자이다. 만약 임계값을 초과하지 않았다면, 프로세스는 314에서 종결한다. 공간 임계값은 특정 주소 또는 특정 범위의 주소에서 일어날 수 있는 오류의 횟수에 대응하는 숫자이다. 만약 이러한 임계값 어느 것도 초과하지 않았다면, 프로세스는 314에서 종결한다.
만약 310에서 시간 임계값 또는 공간 임계값이 초과되었다는 판정이 이루어진다면, 프로세스는 TSV 오류 카운트 버퍼로부터 주소 및 데이터 정보가 인출되는 320으로 분기한다. 그리고 나서, 프로세스는 단계(324)에서 데이터가 오류로 읽힌 주소들이 공통 주소 비트를 가지는지 여부를 찾기 위해 저장된 정보를 조사한다. 프로세스는 또한 단계(324)에서 오류인 공통 데이터 비트를 갖는 틀린 읽기 데이터를 찾기 위해 저장된 데이터를 조사한다. 만약 단계(324)에서 이러한 상황 중 어느 것도 존재하지 않는 것으로 판정된다면, 프로세스가 300에서 시작되게 한 오류는 TSV 오류이기보다는 개개의 DRAM 다이들(20, 22, 24, 26)의 오류인 것으로 여겨진다. 만약 오류가 개개의 DRAM 다이들(20, 22, 24, 26)의 오류라면, 프로세스는 다시 한번 314에서 종결하고, 이러한 경우에는 도 5에 도시된 DRAM 장치 다이들(20, 22, 24, 26)에서 오류를 검출하고 교정하는 프로세스가 수행될 수 있다.
만약 공통된 주소로부터의 오류 또는 공통 데이터 비트를 오류로 갖는 읽기 데이터가 단계(324)에서 검출된다면, 프로세스가 300에서 시작되게 하는 오류는 TSV 오류인 것으로 여겨진다. 이와 같은 경우에, 프로세스는 330으로 분기하고, 그곳에서는 DRAM 다이들(20, 22, 24, 26)의 주소 또는 쓰기 데이터를 캡처하는데 사용되거나 로직 다이(30)의 읽기 데이터를 캡처하는데 사용되는 클럭의 타이밍의 변화에 대해 오동작 주소(failing address) 또는 데이터가 얼마나 민감한지를 판정하기 위한 테스트가 수행된다. 이 테스트는 각각의 몇몇 목적에 따라 DRAM 다이들(20, 22, 24, 26)로 전송된 클럭 신호의 타이밍을 증가하도록 변경함으로써 수행된다. 예를 들어, 로직 다이(30)는 DRAM 다이들이 캡처하는데 사용하는 주소 캡처 클럭 또는 스트로브 신호(strobe signal)를 DRAM 다이들(20, 22, 24, 26)에 전송할 수 있다. 마찬가지로, 로직 다이(30)는 DRAM 다이들이 쓰기 데이터를 캡처하는데 사용하는 데이터 캡처 클럭 또는 스트로브 신호를 DRAM 다이들(20, 22, 24, 26)에 전송할 수 있다. 로직 다이(30)는 또한 DRAM 다이들이 언제 로직 다이(30)에 읽기 데이터를 전송할지를 판정하는 데이터 클럭 또는 스트로브 신호를 DRAM 다이들(20, 22, 24, 26)에 전송할 수 있다. 어떤 경우에서든, 테스트는 주소 또는 데이터의 각각의 아이템에 대해 전체로서 수행될 수 있거나, 주소 또는 데이터에 대해 비트 별로(bit-by-bit) 수행될 수 있다. 만약 오류가 이러한 클럭 또는 스트로브 신호 중 하나의 타이밍을 변경함으로써 교정될 수 있다면, 오류는 치유된 것으로 여겨지고, 프로세스는 314를 통해 끝난다.
만약 이러한 클럭 또는 스트로브 신호 중 하나의 타이밍을 변경함으로써 오류가 교정될 수 없다면, 프로세스는 334로 분기하고, 그곳에서 로직 다이(30)는 프로세서(12) 또는 다른 메모리 액세스 장비로부터의 메모리 요청이 중단되도록 한다. 이것이 행하여지는 이유는, 프로세서(12) 또는 다른 메모리 액세스 장치에 의해 전송된 메모리 요청이 만족되지 않음에 따라 330에서 수행되는 타이밍 테스트가 반복될 수 있을 때까지 메모리 장치는 사용할 수 없는 것으로 여겨지기 때문이다. 프로세서(12) 또는 다른 메모리 액세스 장치로의 메모리 요청의 전송을 중단하기 위한 신호를 보내는데 다양한 수단이 사용될 수 있다. 예를 들어, 로직 다이(30)는 "멈춤"패킷("stop" packet)을 형성하여 프로세서(12) 또는 다른 메모리 액세스 장비에 전송할 수 있다.
추가적인 메모리 요청이 중단된 후에, 프로세스는 336에서 오류가 아직도 존재하는지, 만약 오류가 아직도 존재한다면, 프로세스가 300에서 시작되게 한 오류가 반복된 테스트의 결과인지를 보기 위해 검사한다. 만약 그 오류가 반복된 테스트의 결과라면, 프로세스는 340으로 분기하고, 그곳에서 임베디드된 프로세서 또는 하드웨어 상태 머신(148)은 TSVs 중 하나를 영구적 결함이 있는 것으로 기록한다. 그리고 나서, 임베디드된 프로세서 또는 하드웨어 상태 머신(148), 프로세서(12) 또는 다른 메모리 액세스 장치는 결함이 있는 주소에 대한 주소를 상이한 주소로 재배치하거나 쓰기 및 읽기 데이터에 대해 결함있는 데이터 비트를 사용하는 것을 중지한다. 하지만, 만약 336에서 오류가 더 이상 존재하지 않는다고 판정된다면, 프로세스는 344로 분기하고, 그곳에서 이전에 오동작한(failed) TSV의 ID(identity)가 기록되어 결함이 반복되는지를 볼 수 있고, 그런 다음 프로세스는 330으로 다시 분기하고, 그곳에서 TSV는 아마 아직도 테스트를 통과할 것이고, 따라서 340을 통해 종결한다.
본 명세서의 결함 메모리 셀의 동적 복구는 몇 개의 장점이 있다. 그것은 메모리 장치의 오동작들 간의 시간을 감소시킴에 따라 메모리 장치를 더 신뢰성 있고, 더 액세스가능하고 더 편리하게 만들어 준다. 소프트 오류는 스크러빙에 의해 교정될 수 있으므로, 하드 오류가 검출되는 동시에 수정됨에 따라 메모리 장치는 거의 오동작을 일으키지 않을 것이다. 이는 중요한 기업형 서버 임무에 사용되는 메모리 장치에 특히 유용하다. 나아가, 오류가 DRAM 장치 다이들(20, 22, 24, 26) 중 하나에 존재하는지 또는 DRAM 장치 다이들 (20, 22, 24, 26) 서로 간에 및 로직 다이(30)에 연결하는 TSV(through silicon via)에 존재하는지에 대한 판정이 이루어질 수 있다.
본 명세서에서는 발명의 구체적 실시예가 예시를 목적으로 설명되었지만, 발명의 사상과 범주를 벗어나지 않는 범위 내에서 전술된 것으로부터 다양한 변형이 이루어질 수 있음을 이해해야 한다. 예를 들어, 본 발명의 실시예는 적층된 DRAM 다이의 환경에서 기술되었지만, 적층된 다이는 플래시 메모리 장치 다이와 같은 다른 종류의 메모리 장치 다이일 수 있음을 이해해야 한다. 따라서, 본 발명은 첨부된 특허 청구 범위에 의해서 외에는 제한될 수 없다.

Claims (9)

  1. 메모리 장치 시스템으로서,
    복수의 도전체를 통해 서로 연결된 복수의 메모리 장치 다이들(dice) - 상기 복수의 메모리 장치 다이들은 서로의 위에 적층되며, 상기 복수의 메모리 장치 다이들의 각각은 복수의 메모리 셀을 포함함 - ; 및
    복수의 도전체를 통해 상기 복수의 메모리 장치 다이들에 결합되고, 상기 복수의 메모리 장치 다이들에 데이터를 쓰고 상기 복수의 메모리 장치 다이들에서 데이터를 읽을 수 있도록 동작 가능하며, 오류 검사 시스템을 포함하는 로직 다이(die)
    를 포함하고, 상기 오류 검사 시스템은,
    상기 복수의 메모리 장치 다이들 중 적어도 하나의 메모리 장치 다이에 쓰여진 데이터를 수신하도록 결합된 오류 코드 생성기 - 상기 오류 코드 생성기는 상기 메모리 장치 다이들 중 적어도 하나의 주소에 쓰여질 데이터에 대응하는 제1 오류 검사 코드를 생성하고 저장하도록 동작 가능하며, 상기 오류 코드 생성기는 상기 복수의 메모리 장치 다이들 중 적어도 하나의 주소에서 읽힌 데이터를 수신하고 그에 대응하는 제2 오류 검사 코드를 생성하도록 더 동작 가능함 - ; 및
    상기 복수의 메모리 장치 다이들 중 적어도 하나의 읽기 주소에 쓰여진 데이터에 대응하는 상기 제1 오류 검사 코드 및 상기 복수의 메모리 장치 다이들 중 적어도 하나의 상기 읽기 주소에서 읽힌 상기 데이터에 대응하는 상기 제2 오류 검사 코드를 수신하도록 결합된 오류 비교기 - 상기 오류 비교기는 상기 읽기 주소에서 읽힌 상기 데이터에 대응하는 상기 제1 오류 검사 코드가 상기 수신된 데이터에 대응하는 상기 제2 오류 검사 코드와 일치하지 않는 경우 오류로 표시하도록 동작 가능함 -
    를 포함하는, 메모리 장치 시스템.
  2. 제1항에 있어서, 상기 오류 코드 생성기는 상기 오류 표시에 대응하여 상기 메모리 장치 다이들 중 적어도 하나의 상기 읽기 주소에서 읽힌 상기 데이터를 교정하고 상기 읽기 주소에 상기 교정된 읽힌 데이터가 다시 쓰여지게 하도록 더 동작 가능한, 메모리 장치 시스템.
  3. 제1항에 있어서, 상기 로직 다이는,
    상기 오류 검사 시스템에 결합된 임베디드된 프로세서 또는 하드웨어 상태 머신 - 상기 임베디드된 프로세서 또는 하드웨어 상태 머신은 상기 오류 표시에 응답하여 상기 오류 표시를 가져온 상기 데이터가 읽힌 상기 주소에 대한 메모리 요청을 다른 주소로 재지정하도록 동작 가능함 -
    을 더 포함하는, 메모리 장치 시스템.
  4. 시스템으로서,
    프로세서;
    복수의 도전체를 통해 서로 연결된 복수의 메모리 장치 다이들 - 상기 복수의 메모리 장치 다이들은 서로의 위에 적층되며, 상기 복수의 메모리 장치 다이들의 각각은 복수의 메모리 셀을 포함함 - ; 및
    상기 프로세서에 결합되고 복수의 도전체를 통해 상기 복수의 메모리 장치 다이들에 결합되며, 상기 복수의 메모리 장치 다이들에 데이터를 쓰고 상기 복수의 메모리 장치 다이들에서 데이터를 읽을 수 있도록 동작 가능하고, 오류 검사 시스템을 포함하는 로직 다이
    를 포함하며, 상기 오류 검사 시스템은,
    상기 복수의 메모리 장치 다이들 중 적어도 하나의 메모리 장치 다이에 쓰여진 데이터를 수신하도록 결합된 오류 코드 생성기 - 상기 오류 코드 생성기는 상기 복수의 메모리 장치 다이들 중 적어도 하나의 주소에 쓰여질 데이터에 대응하는 제1 오류 검사 코드를 생성하고 저장하도록 동작 가능하며, 상기 오류 코드 생성기는 상기 복수의 메모리 장치 다이들 중 적어도 하나의 주소에서 읽힌 데이터를 수신하고 그에 대응하는 제2 오류 검사 코드를 생성하도록 더 동작 가능함 - ;
    상기 복수의 메모리 장치 다이들 중 적어도 하나의 읽기 주소에 쓰여진 데이터에 대응하는 상기 제1 오류 검사 코드 및 상기 복수의 메모리 장치 다이들 중 적어도 하나의 상기 읽기 주소에서 읽힌 상기 데이터에 대응하는 상기 제2 오류 검사 코드를 수신하도록 결합된 오류 비교기 - 상기 오류 비교기는 상기 제1 오류 검사 코드가 상기 제2 오류 검사 코드와 일치하지 않는 경우 오류로 표시하도록 동작 가능함 - ; 및
    상기 로직 다이에 결합된 메모리 액세스 장치 - 상기 메모리 액세스 장치는 상기 로직 다이에서 오류 표시를 수신하고, 메모리 요청을 상기 복수의 메모리 장치 다이들 중 적어도 하나에 인가하도록 동작가능하며, 상기 메모리 액세스 장치는 상기 로직 다이에서 오류 표시를 수신한 것에 응답하여 상기 제1 오류 검사 코드가 생성되는 결과를 가져온 읽히고 있는 상기 메모리 셀에 대응하는 상기 주소를 기록하도록 더 동작 가능하고, 상기 메모리 액세스 장치는 그 후 상기 기록된 주소를 제외한 주소의 상기 적어도 하나의 메모리 장치 다이로 메모리 요청을 발행하도록 더 동작 가능함 -
    를 포함하는, 시스템.
  5. 제4항에 있어서, 상기 오류 검사 시스템은 우선 교정된 읽기 데이터가 상기 복수의 메모리 장치 다이들 중 적어도 하나의 상기 읽기 주소에 쓰여지도록 하는 쓰기 명령을 생성하고, 그리고 나서 상기 복수의 메모리 장치 다이들 중 적어도 하나의 상기 읽기 주소에 쓰여진 상기 교정된 읽기 데이터가 읽히도록 하는 읽기 명령을 생성하는 것에 의해 상기 오류 표시가 하드 오류에 응답하여 생성된 것인지를 판정할 수 있도록 동작 가능한 임베디드된 프로세서 또는 상태 머신을 더 포함하고, 상기 오류 비교기는 상기 교정된 읽기 데이터로부터 생성된 상기 제1 오류 검사 코드를 상기 교정되고 읽힌 읽기 데이터로부터 생성된 상기 제2 오류 검사 코드와 비교하도록 동작 가능하고, 상기 임베디드된 프로세서 또는 상태 머신은 상기 비교의 결과로 상기 오류 비교기에서 오류 표시를 수신한 것에 응답하여 하드 오류를 표시하는 신호를 생성하고 출력하도록 더 동작 가능한, 시스템.
  6. 제4항에 있어서, 상기 복수의 메모리 장치 다이들의 각각은 각각의 DRAM 장치 다이들을 포함하는, 시스템.
  7. 서로 간에 그리고 로직 다이에 연결된 복수의 적층된 메모리 장치 다이들에 데이터를 쓰고 상기 메모리 장치 다이들에서 데이터를 읽는 방법으로서,
    상기 로직 다이에 쓰기 데이터를 전송하는 것에 의해 상기 복수의 메모리 장치 다이들 중 적어도 하나의 주소에 데이터를 쓰는 단계;
    상기 복수의 메모리 장치 다이들 중 상기 적어도 하나의 상기 주소에 쓰여진 상기 데이터에 대응하는 오류 검사 코드를 생성하는 단계;
    상기 생성된 오류 검사 코드를 저장하는 단계;
    상기 복수의 메모리 장치 다이들 중 상기 적어도 하나의 상기 주소에 쓰여진 데이터를 후속적으로 읽는 단계;
    상기 복수의 메모리 장치 다이들 중 상기 적어도 하나의 상기 주소에서 후속적으로 읽힌 상기 데이터에 대응하는 오류 검사 코드를 생성하는 단계;
    상기 저장된 오류 검사 코드를 상기 생성된 오류 검사 코드와 비교하는 단계;
    상기 저장된 오류 검사 코드가 상기 생성된 오류 검사 코드와 일치하지 않는 경우, 상기 후속적으로 읽힌 데이터가 읽힌 상기 주소를 식별하는 단계; 및
    그 후 상기 식별된 주소를 제외한 상기 적어도 하나의 메모리 장치 다이의 주소에 데이터를 쓰고 그 주소에서 데이터를 읽는 단계
    를 포함하는, 방법.
  8. 제7항에 있어서, 상기 식별된 주소에 대한 메모리 요청을 상이한 주소로 재지정하는 단계를 더 포함하는, 방법.
  9. 로직 다이에서, 메모리 위치로부터 수신된 데이터와 연관된 에러를 검출하는 단계 - 상기 메모리 위치는 주소와 연관됨 - ;
    상기 에러를 검출한 것에 대응하여 상기 메모리 위치가 결함 있는 것인지 여부를 판정하는 단계;
    상기 메모리 위치가 결함 있는 것으로 판정된 것에 대응하여, 쓰기 데이터를 대체 메모리 위치에 저장하는 단계; 및
    상기 주소에의 메모리 액세스 요청에 대응하여 상기 대체 메모리 위치를 액세스하는 단계
    를 포함하는 방법.
KR1020127021899A 2008-07-02 2009-06-10 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치 KR101296070B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/166,814 US8756486B2 (en) 2008-07-02 2008-07-02 Method and apparatus for repairing high capacity/high bandwidth memory devices
US12/166,814 2008-07-02
PCT/US2009/046956 WO2010002561A2 (en) 2008-07-02 2009-06-10 Method and apparatus for repairing high capacity/high bandwidth memory devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020117002786A Division KR101234444B1 (ko) 2008-07-02 2009-06-10 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120098969A KR20120098969A (ko) 2012-09-05
KR101296070B1 true KR101296070B1 (ko) 2013-08-12

Family

ID=41465294

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117002786A KR101234444B1 (ko) 2008-07-02 2009-06-10 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치
KR1020127021899A KR101296070B1 (ko) 2008-07-02 2009-06-10 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117002786A KR101234444B1 (ko) 2008-07-02 2009-06-10 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치

Country Status (7)

Country Link
US (2) US8756486B2 (ko)
EP (1) EP2311043B1 (ko)
JP (1) JP5327484B2 (ko)
KR (2) KR101234444B1 (ko)
CN (1) CN102084430B (ko)
TW (1) TWI438776B (ko)
WO (1) WO2010002561A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119072A (ko) * 2017-04-24 2018-11-01 에스케이하이닉스 주식회사 반도체장치

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074103B2 (en) * 2007-10-19 2011-12-06 Oracle International Corporation Data corruption diagnostic engine
US8521979B2 (en) * 2008-05-29 2013-08-27 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US7979757B2 (en) * 2008-06-03 2011-07-12 Micron Technology, Inc. Method and apparatus for testing high capacity/high bandwidth memory devices
US8756486B2 (en) 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US7855931B2 (en) 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US8289760B2 (en) 2008-07-02 2012-10-16 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US8127204B2 (en) 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
US8032804B2 (en) * 2009-01-12 2011-10-04 Micron Technology, Inc. Systems and methods for monitoring a memory system
WO2011106262A2 (en) 2010-02-23 2011-09-01 Rambus Inc. Hierarchical memory architecture
US8683270B2 (en) * 2010-04-29 2014-03-25 Micron Technology, Inc. Signal line to indicate program-fail in memory
KR101728068B1 (ko) * 2010-06-01 2017-04-19 삼성전자 주식회사 적층 반도체 메모리 장치, 이를 포함하는 메모리 시스템, 및 관통전극 결함리페어 방법
US8400808B2 (en) 2010-12-16 2013-03-19 Micron Technology, Inc. Phase interpolators and push-pull buffers
US8554991B2 (en) 2011-02-09 2013-10-08 Avago Technologies General Ip (Singapore) Pte. Ltd. High speed interface for dynamic random access memory (DRAM)
US9432298B1 (en) 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US9075741B2 (en) * 2011-12-16 2015-07-07 Intel Corporation Dynamic error handling using parity and redundant rows
CN103999162A (zh) 2011-12-23 2014-08-20 英特尔公司 用于堆叠存储器架构的自修复逻辑
JP5992713B2 (ja) 2012-03-30 2016-09-14 株式会社ソニー・インタラクティブエンタテインメント メモリシステム、その制御方法及び情報処理装置
DE112012006171B4 (de) * 2012-03-30 2020-06-18 Intel Corporation On-Chip-Redundanzreparatur für Speichergeräte
US8924786B2 (en) 2012-06-28 2014-12-30 Intel Corporation No-touch stress testing of memory I/O interfaces
US9069698B2 (en) * 2012-09-06 2015-06-30 Advanced Micro Devices, Inc. Channel rotating error correction code
KR20140082173A (ko) * 2012-12-24 2014-07-02 에스케이하이닉스 주식회사 어드레스 카운팅 회로 및 이를 이용한 반도체 장치
US9135100B2 (en) 2013-03-14 2015-09-15 Micron Technology, Inc. Cooperative memory error detection and repair
US9223665B2 (en) 2013-03-15 2015-12-29 Micron Technology, Inc. Apparatuses and methods for memory testing and repair
JP2014241057A (ja) * 2013-06-12 2014-12-25 ソニー株式会社 インターフェース制御回路、メモリシステム、および、インターフェース制御回路の制御方法
US9171597B2 (en) 2013-08-30 2015-10-27 Micron Technology, Inc. Apparatuses and methods for providing strobe signals to memories
US9263157B2 (en) 2013-12-23 2016-02-16 International Business Machines Corporation Detecting defective connections in stacked memory devices
US10891185B2 (en) 2014-08-08 2021-01-12 Hewlett Packard Enterprise Development Lp Error counters on a memory device
KR20160022097A (ko) 2014-08-19 2016-02-29 삼성전자주식회사 재구성 차단 기능을 가지는 반도체 메모리 장치 및 메모리 모듈
US9842633B2 (en) * 2014-12-11 2017-12-12 Micron Technology, Inc. Tracking and correction of timing signals
US9685219B2 (en) 2015-05-13 2017-06-20 Samsung Electronics Co., Ltd. Semiconductor memory device for deconcentrating refresh commands and system including the same
CN107636623A (zh) * 2015-06-30 2018-01-26 惠普发展公司,有限责任合伙企业 基于电力状态的巡查刷洗时段
US10042701B2 (en) * 2015-09-29 2018-08-07 Apple Inc. Storing address of spare in failed memory location
US9858148B2 (en) 2015-11-22 2018-01-02 International Business Machines Corporation Raid data loss prevention
US9880903B2 (en) 2015-11-22 2018-01-30 International Business Machines Corporation Intelligent stress testing and raid rebuild to prevent data loss
US10049006B2 (en) * 2015-12-08 2018-08-14 Nvidia Corporation Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
KR102451650B1 (ko) * 2016-02-05 2022-10-11 에스케이하이닉스 주식회사 적층형 반도체 장치
US10628248B2 (en) 2016-03-15 2020-04-21 International Business Machines Corporation Autonomous dram scrub and error counting
US10042700B2 (en) 2016-05-28 2018-08-07 Advanced Micro Devices, Inc. Integral post package repair
US10268602B2 (en) * 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10042702B2 (en) * 2016-11-07 2018-08-07 SK Hynix Inc. Memory device transferring data between master and slave device and semiconductor package including the same
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
US10936221B2 (en) 2017-10-24 2021-03-02 Micron Technology, Inc. Reconfigurable memory architectures
US10628354B2 (en) 2017-12-11 2020-04-21 Micron Technology, Inc. Translation system for finer grain memory architectures
US10437557B2 (en) * 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
WO2019222960A1 (en) 2018-05-24 2019-11-28 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10573370B2 (en) 2018-07-02 2020-02-25 Micron Technology, Inc. Apparatus and methods for triggering row hammer address sampling
US11151006B2 (en) * 2018-07-02 2021-10-19 Samsung Electronics Co., Ltd. HBM RAS cache architecture
US11144385B2 (en) * 2018-08-21 2021-10-12 Micron Technology, Inc. Transmission failure feedback schemes for reducing crosstalk
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
US10957413B2 (en) * 2018-10-31 2021-03-23 Micron Technology, Inc. Shared error check and correct logic for multiple data banks
CN113168861B (zh) 2018-12-03 2024-05-14 美光科技公司 执行行锤刷新操作的半导体装置
CN117198356A (zh) 2018-12-21 2023-12-08 美光科技公司 用于目标刷新操作的时序交错的设备和方法
JP7184632B2 (ja) * 2018-12-25 2022-12-06 ルネサスエレクトロニクス株式会社 半導体装置
US10957377B2 (en) 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
CN109871293A (zh) * 2018-12-29 2019-06-11 成都锐成芯微科技股份有限公司 存储器的数据修复方法及存储器系统
US11200105B2 (en) * 2018-12-31 2021-12-14 Micron Technology, Inc. Normalization of detecting and reporting failures for a memory device
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11615831B2 (en) 2019-02-26 2023-03-28 Micron Technology, Inc. Apparatuses and methods for memory mat refresh sequencing
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11227649B2 (en) 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US10978132B2 (en) 2019-06-05 2021-04-13 Micron Technology, Inc. Apparatuses and methods for staggered timing of skipped refresh operations
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
US11393790B2 (en) * 2019-12-06 2022-07-19 Micron Technology, Inc. Memory with TSV health monitor circuitry
US11907570B2 (en) * 2020-02-25 2024-02-20 Micron Technology, Inc. Predictive media management for read disturb
CN113312294B (zh) * 2020-02-27 2024-06-18 瑞昱半导体股份有限公司 电子装置以及通讯方法
US12009034B2 (en) * 2020-03-02 2024-06-11 Micron Technology, Inc. Classification of error rate of data retrieved from memory cells
TWI729786B (zh) * 2020-04-24 2021-06-01 華邦電子股份有限公司 記憶體儲存裝置及其自動錯誤修復方法
US11257546B2 (en) 2020-05-07 2022-02-22 Micron Technology, Inc. Reading of soft bits and hard bits from memory cells
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
WO2022249220A1 (ja) * 2021-05-24 2022-12-01 日本電信電話株式会社 ソフトエラー検出用積層基板およびソフトエラー検出装置
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
CN115373926B (zh) * 2022-08-31 2023-05-16 西安微电子技术研究所 基于物理层ip的自测试及自修复方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303139A (ja) * 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
JP2005004947A (ja) * 2003-05-20 2005-01-06 Nec Electronics Corp メモリ装置及びメモリのエラー訂正方法

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263032A (en) * 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5179303A (en) 1991-10-24 1993-01-12 Northern Telecom Limited Signal delay apparatus employing a phase locked loop
JPH05265872A (ja) * 1992-03-17 1993-10-15 Fujitsu Ltd アクセス制御回路
JPH0774620A (ja) 1993-08-30 1995-03-17 Sony Corp バツフア回路
US5748914A (en) 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
JP3691170B2 (ja) 1996-08-30 2005-08-31 株式会社ルネサステクノロジ テスト回路
US5774475A (en) 1996-12-05 1998-06-30 National Semiconductor Corporation Testing scheme that re-uses original stimulus for testing circuitry embedded within a larger circuit
US6551857B2 (en) * 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
US6247138B1 (en) 1997-06-12 2001-06-12 Fujitsu Limited Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
US6020760A (en) 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
JP3270367B2 (ja) * 1997-09-29 2002-04-02 エヌイーシーフィールディング株式会社 半導体記憶装置
JPH11213666A (ja) 1998-01-30 1999-08-06 Mitsubishi Electric Corp 出力回路および同期型半導体記憶装置
US5982684A (en) 1998-05-28 1999-11-09 Intel Corporation Parallel access testing of a memory array
TW440767B (en) 1998-06-02 2001-06-16 Fujitsu Ltd Method of and apparatus for correctly transmitting signals at high speed without waveform distortion
US6181616B1 (en) 1998-09-03 2001-01-30 Micron Technology, Inc. Circuits and systems for realigning data output by semiconductor testers to packet-based devices under test
US6177807B1 (en) 1999-05-28 2001-01-23 International Business Machines Corporation High frequency valid data strobe
US6401213B1 (en) 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
JP4216415B2 (ja) 1999-08-31 2009-01-28 株式会社ルネサステクノロジ 半導体装置
JP2001236797A (ja) 1999-12-17 2001-08-31 Fujitsu Ltd 自己試験回路及びそれを内蔵するメモリデバイス
JP2001195899A (ja) 2000-01-06 2001-07-19 Mitsubishi Electric Corp 半導体記憶装置
TW587252B (en) 2000-01-18 2004-05-11 Hitachi Ltd Semiconductor memory device and data processing device
DE10002130A1 (de) 2000-01-19 2001-08-02 Infineon Technologies Ag Verfahren und Vorrichtung zum wechselweisen Betreiben eines Schreib-Lese-Speichers im Ein-Speicher-Betriebsmodus und im verschränkten Mehr-Speicher-Betriebsmodus
US6745275B2 (en) 2000-01-25 2004-06-01 Via Technologies, Inc. Feedback system for accomodating different memory module loading
US7168005B2 (en) 2000-09-14 2007-01-23 Cadence Design Systems, Inc. Programable multi-port memory BIST with compact microcode
US20030120858A1 (en) 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
US6574626B1 (en) 2000-09-29 2003-06-03 Agilent Technologies, Inc. Method and apparatus for administration of extended memory
US6418068B1 (en) 2001-01-19 2002-07-09 Hewlett-Packard Co. Self-healing memory
US20020100231A1 (en) 2001-01-26 2002-08-01 Miller Robert J. Textured laminate flooring
US6714476B2 (en) 2001-02-15 2004-03-30 Ibm Corporation Memory array with dual wordline operation
TW483258B (en) 2001-02-22 2002-04-11 Realtek Semiconductor Corp Phase interpolating circuit and the apparatus composed of phase interpolating circuits for generating phase interpolating signal
US6658523B2 (en) 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US6417695B1 (en) 2001-03-15 2002-07-09 Micron Technology, Inc. Antifuse reroute of dies
JP2003014819A (ja) 2001-07-03 2003-01-15 Matsushita Electric Ind Co Ltd 半導体配線基板,半導体デバイス,半導体デバイスのテスト方法及びその実装方法
US6990534B2 (en) * 2001-07-20 2006-01-24 Flowfinity Wireless, Inc. Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US6938133B2 (en) 2001-09-28 2005-08-30 Hewlett-Packard Development Company, L.P. Memory latency and bandwidth optimizations
US6889334B1 (en) 2001-10-02 2005-05-03 Advanced Micro Devices, Inc. Multimode system for calibrating a data strobe delay for a memory read operation
DE10163653A1 (de) 2001-12-21 2003-07-03 Bosch Gmbh Robert Vorrichtung für ein Radarsystem
US7197101B2 (en) 2002-01-02 2007-03-27 Intel Corporation Phase interpolator based clock recovering
US7203259B2 (en) 2002-01-02 2007-04-10 Intel Corporation Phase interpolator
US6650157B2 (en) 2002-01-11 2003-11-18 Sun Microsystems, Inc. Using a push/pull buffer to improve delay locked loop performance
JP4004811B2 (ja) 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
US7171596B2 (en) 2002-09-11 2007-01-30 Infineon Technologies Ag Circuit and method for testing embedded DRAM circuits through direct access mode
US7035150B2 (en) 2002-10-31 2006-04-25 Infineon Technologies Ag Memory device with column select being variably delayed
US20040098545A1 (en) 2002-11-15 2004-05-20 Pline Steven L. Transferring data in selectable transfer modes
JP4274811B2 (ja) 2003-02-17 2009-06-10 株式会社ルネサステクノロジ 同期型半導体記憶装置
JP4291596B2 (ja) 2003-02-26 2009-07-08 株式会社ルネサステクノロジ 半導体集積回路の試験装置およびそれを用いた半導体集積回路の製造方法
JP4419049B2 (ja) 2003-04-21 2010-02-24 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
US7447950B2 (en) 2003-05-20 2008-11-04 Nec Electronics Corporation Memory device and memory error correction method
US7184916B2 (en) 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
US7061273B2 (en) 2003-06-06 2006-06-13 Rambus Inc. Method and apparatus for multi-mode driver
TWI252494B (en) 2003-06-11 2006-04-01 Samsung Electronics Co Ltd Memory system with reduced pin count
JP2005025827A (ja) 2003-06-30 2005-01-27 Toshiba Corp 半導体集積回路装置およびそのエラー検知訂正方法
US20050071707A1 (en) 2003-09-30 2005-03-31 Hampel Craig E. Integrated circuit with bi-modal data strobe
EP1680734B1 (en) 2003-10-24 2016-12-21 Microchip Technology Incorporated Method and system for fast access to stack memory
JP2005191083A (ja) 2003-12-24 2005-07-14 Fujitsu Ltd 半導体集積回路および半導体集積回路の配線評価方法
KR20050079563A (ko) 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템
US7107424B1 (en) 2004-03-25 2006-09-12 Emc Corporation Memory read strobe pulse optimization training system
JP4451189B2 (ja) 2004-04-05 2010-04-14 株式会社アドバンテスト 試験装置、位相調整方法、及びメモリコントローラ
JP2005353168A (ja) 2004-06-10 2005-12-22 Canon Inc メモリインターフェース回路及びメモリインターフェース方法
GB0413071D0 (en) 2004-06-12 2004-07-14 Texas Instruments Ltd Triangulating phase interpolator
US20050289435A1 (en) 2004-06-29 2005-12-29 Mulla Dean A Fast approximate DINV calculation in parallel with coupled ECC generation or correction
KR100630343B1 (ko) 2004-07-14 2006-09-29 삼성전자주식회사 아날로그 위상 보간 기술을 이용한 클록 데이터 복원 회로및 그 동작 방법
US7330370B2 (en) * 2004-07-20 2008-02-12 Unity Semiconductor Corporation Enhanced functionality in a two-terminal memory array
US7389375B2 (en) 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7539800B2 (en) 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
EP1635261B1 (en) 2004-09-10 2008-06-11 STMicroelectronics S.r.l. Memory with embedded error correction code circuit
JP4444770B2 (ja) * 2004-09-14 2010-03-31 シャープ株式会社 メモリ装置
US7135905B2 (en) 2004-10-12 2006-11-14 Broadcom Corporation High speed clock and data recovery system
US7464241B2 (en) 2004-11-22 2008-12-09 Intel Corporation Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding
US7200021B2 (en) 2004-12-10 2007-04-03 Infineon Technologies Ag Stacked DRAM memory chip for a dual inline memory module (DIMM)
JP4309368B2 (ja) 2005-03-30 2009-08-05 エルピーダメモリ株式会社 半導体記憶装置
JP2006277872A (ja) 2005-03-30 2006-10-12 Elpida Memory Inc 半導体記憶装置及びそのテスト方法
EP1708021A1 (en) 2005-03-30 2006-10-04 Konica Minolta Medical & Graphic, Inc. Thermal processing method of silver salt photothermographic dry imaging material
US7205811B2 (en) 2005-03-31 2007-04-17 Agere Systems Inc. Methods and apparatus for maintaining desired slope of clock edges in a phase interpolator using an adjustable bias
US7296195B2 (en) 2005-05-02 2007-11-13 Credence Systems Corporation Bit synchronization for high-speed serial device testing
TWI289851B (en) 2005-05-04 2007-11-11 Univ Tsinghua Semiconductor memory and method of correcting errors for the same
US7317256B2 (en) 2005-06-01 2008-01-08 Intel Corporation Electronic packaging including die with through silicon via
DE112006004263B4 (de) 2005-09-02 2015-05-13 Google, Inc. Speicherbaustein
US7464225B2 (en) 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
JP4790386B2 (ja) 2005-11-18 2011-10-12 エルピーダメモリ株式会社 積層メモリ
US7802169B2 (en) * 2005-12-12 2010-09-21 Mediatek Inc. Error correction devices and correction methods
WO2007095080A2 (en) 2006-02-09 2007-08-23 Metaram, Inc. Memory circuit system and method
JP4828251B2 (ja) 2006-02-22 2011-11-30 エルピーダメモリ株式会社 積層型半導体記憶装置及びその制御方法
US8185711B2 (en) 2006-05-16 2012-05-22 Samsung Electronics Co., Ltd. Memory module, a memory system including a memory controller and a memory module and methods thereof
JP4267002B2 (ja) 2006-06-08 2009-05-27 エルピーダメモリ株式会社 コントローラ及びメモリを備えるシステム
EP2487794A3 (en) 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
JP4245180B2 (ja) 2006-10-30 2009-03-25 エルピーダメモリ株式会社 積層メモリ
US7694031B2 (en) 2006-10-31 2010-04-06 Globalfoundries Inc. Memory controller including a dual-mode memory interconnect
JP2008140220A (ja) 2006-12-04 2008-06-19 Nec Corp 半導体装置
WO2008076790A2 (en) 2006-12-14 2008-06-26 Rambus Inc. Multi-die memory device
US8110899B2 (en) * 2006-12-20 2012-02-07 Intel Corporation Method for incorporating existing silicon die into 3D integrated stack
US7984355B2 (en) 2007-04-09 2011-07-19 Qimonda Ag Memory module with ranks of memory chips
WO2008131058A2 (en) * 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
US20080270842A1 (en) * 2007-04-26 2008-10-30 Jenchang Ho Computer operating system handling of severe hardware errors
US7921264B2 (en) 2007-06-27 2011-04-05 International Business Machines Corporation Dual-mode memory chip for high capacity memory subsystem
US20090016130A1 (en) 2007-07-12 2009-01-15 Manfred Menke Memory device and method of testing a memory device
US7688652B2 (en) 2007-07-18 2010-03-30 Mosaid Technologies Incorporated Storage of data in memory via packet strobing
US8356138B1 (en) 2007-08-20 2013-01-15 Xilinx, Inc. Methods for implementing programmable memory controller for distributed DRAM system-in-package (SiP)
US20090091968A1 (en) 2007-10-08 2009-04-09 Stefan Dietrich Integrated circuit including a memory having a data inversion circuit
KR101396366B1 (ko) 2007-10-22 2014-05-20 삼성전자주식회사 선형 디지털 위상 보간기 및 이를 구비하는 세미 디지털지연동기루프
EP2223227B1 (en) 2007-10-22 2013-02-27 Rambus Inc. Low-power source-synchronous signaling
US20090196093A1 (en) 2008-01-31 2009-08-06 Qimonda Ag Stacked die memory
US7924637B2 (en) 2008-03-31 2011-04-12 Advanced Micro Devices, Inc. Method for training dynamic random access memory (DRAM) controller timing delays
US9252758B2 (en) 2008-04-08 2016-02-02 Realtek Semiconductor Corporation Multi-phase phase interpolator
US8521979B2 (en) 2008-05-29 2013-08-27 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US7979757B2 (en) 2008-06-03 2011-07-12 Micron Technology, Inc. Method and apparatus for testing high capacity/high bandwidth memory devices
US7710144B2 (en) 2008-07-01 2010-05-04 International Business Machines Corporation Controlling for variable impedance and voltage in a memory system
US8289760B2 (en) 2008-07-02 2012-10-16 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US8756486B2 (en) 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US7855931B2 (en) 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
JP5405771B2 (ja) * 2008-07-04 2014-02-05 株式会社日立メディアエレクトロニクス 光ピックアップ装置及び光ディスクドライブ装置。
US8103928B2 (en) 2008-08-04 2012-01-24 Micron Technology, Inc. Multiple device apparatus, systems, and methods
US8127204B2 (en) 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
US7872936B2 (en) 2008-09-17 2011-01-18 Qimonda Ag System and method for packaged memory
KR20100037427A (ko) 2008-10-01 2010-04-09 삼성전자주식회사 Ac 커플링 위상 보간기 및 이 장치를 이용하는 지연 고정루프
TWI420818B (zh) 2009-03-10 2013-12-21 Realtek Semiconductor Corp 避免在相位內插電路中時鐘切換造成脈衝的方法及裝置
KR101079209B1 (ko) 2010-04-28 2011-11-03 주식회사 하이닉스반도체 반도체 시스템의 데이터 송수신 장치 및 방법
JPWO2012060097A1 (ja) * 2010-11-02 2014-05-12 日本電気株式会社 メモリモジュールおよびメモリシステム
US8400808B2 (en) 2010-12-16 2013-03-19 Micron Technology, Inc. Phase interpolators and push-pull buffers
US9171597B2 (en) 2013-08-30 2015-10-27 Micron Technology, Inc. Apparatuses and methods for providing strobe signals to memories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303139A (ja) * 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
JP2005004947A (ja) * 2003-05-20 2005-01-06 Nec Electronics Corp メモリ装置及びメモリのエラー訂正方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119072A (ko) * 2017-04-24 2018-11-01 에스케이하이닉스 주식회사 반도체장치
KR102243582B1 (ko) * 2017-04-24 2021-04-23 에스케이하이닉스 주식회사 반도체장치

Also Published As

Publication number Publication date
CN102084430A (zh) 2011-06-01
JP2011527064A (ja) 2011-10-20
EP2311043A2 (en) 2011-04-20
KR101234444B1 (ko) 2013-02-18
EP2311043A4 (en) 2015-05-20
KR20110038119A (ko) 2011-04-13
US9146811B2 (en) 2015-09-29
TW201007749A (en) 2010-02-16
CN102084430B (zh) 2014-01-01
KR20120098969A (ko) 2012-09-05
EP2311043B1 (en) 2017-08-16
JP5327484B2 (ja) 2013-10-30
TWI438776B (zh) 2014-05-21
WO2010002561A2 (en) 2010-01-07
US8756486B2 (en) 2014-06-17
US20100005376A1 (en) 2010-01-07
WO2010002561A3 (en) 2010-03-11
US20140298119A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
KR101296070B1 (ko) 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치
US10818375B2 (en) Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
US7603528B2 (en) Memory device verification of multiple write operations
US4945512A (en) High-speed partitioned set associative cache memory
US8799726B2 (en) Method and apparatus for testing high capacity/high bandwidth memory devices
US10956260B2 (en) Semiconductor memory devices, and methods of operating semiconductor memory devices
KR100337218B1 (ko) 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템
US7506226B2 (en) System and method for more efficiently using error correction codes to facilitate memory device testing
US7747933B2 (en) Method and apparatus for detecting communication errors on a bus
US20080155378A1 (en) Memory modules with error detection and correction
US7454671B2 (en) Memory device testing system and method having real time redundancy repair analysis
US8566669B2 (en) Memory system and method for generating and transferring parity information
US11527302B2 (en) Buffer circuit with adaptive repair capability
CN110942798A (zh) 半导体存储器件、存储系统及操作半导体存储器件的方法
US11860734B2 (en) Semiconductor memory devices and memory systems
US20010010652A1 (en) Semiconductor memory device capable of reducing data test time in pipeline
US20010052100A1 (en) Data read/write controlling method, disk array apparatus, and recording medium for recording data read/write controlling program

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20160721

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170720

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180717

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190807

Year of fee payment: 7