KR101906409B1 - 메모리 시스템 - Google Patents

메모리 시스템 Download PDF

Info

Publication number
KR101906409B1
KR101906409B1 KR1020120049775A KR20120049775A KR101906409B1 KR 101906409 B1 KR101906409 B1 KR 101906409B1 KR 1020120049775 A KR1020120049775 A KR 1020120049775A KR 20120049775 A KR20120049775 A KR 20120049775A KR 101906409 B1 KR101906409 B1 KR 101906409B1
Authority
KR
South Korea
Prior art keywords
memory
wba
address
sram
chip
Prior art date
Application number
KR1020120049775A
Other languages
English (en)
Other versions
KR20130026973A (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 삼성전자주식회사
Priority to US13/604,308 priority Critical patent/US8934311B2/en
Priority to CN 201210328280 priority patent/CN102982848A/zh
Publication of KR20130026973A publication Critical patent/KR20130026973A/ko
Application granted granted Critical
Publication of KR101906409B1 publication Critical patent/KR101906409B1/ko

Links

Images

Classifications

    • 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
    • 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/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • 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/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/787Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using a fuse hierarchy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2229/00Indexing scheme relating to checking stores for correct operation, subsequent repair or testing stores during standby or offline operation
    • G11C2229/70Indexing scheme relating to G11C29/70, for implementation aspects of redundancy repair
    • G11C2229/76Storage technology used for the repair
    • G11C2229/763E-fuses, e.g. electric fuses or antifuses, floating gate transistors

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

메모리 셀들 중 위크 비트를 스크린하고 위크 비트를 구제하는 반도체 장치, 이를 포함하는 메모리 모듈 및 메모리 시스템에 대하여 개시된다. 반도체 장치는, 복수개의 메모리 셀들을 포함하는 제1 메모리 영역, 제1 메모리 영역을 테스트하고 복수개의 메모리 셀들 중 위크 비트를 검출하는 테스트부, 그리고 제1 메모리 영역의 위크 비트 어드레스와 위크 비트에 저장될 데이터를 저장하는 제2 메모리 영역을 포함한다. 제1 메모리 영역과 제2 메모리 영역은 서로 다른 종류의 메모리 셀들로 구성되는 것을 특징으로 한다. 반도체 장치는, 제1 메모리 영역의 위크 비트 어드레스를 불휘발성하게 저장하는 제3 메모리 영역을 더 포함한다.

Description

메모리 시스템 {Memory systems}
본 발명은 메모리 시스템에 관한 것으로, 특히 메모리 셀들 중 위크 비트를 스크린하고 위크 비트를 구제하는 반도체 장치, 이를 포함하는 메모리 모듈 및 메모리 시스템에 관한 것이다.
고성능 전자 시스템에 널리 사용되고 있는 반도체 장치는 그 용량 및 속도가 증가하고 있다. 반도체 장치의 일 예로서, DRAM은 공정 스케일링에 따라 셀 커패시터가 감소되고 스몰 피쳐 사이즈(small feature size)가 구현되고 있다. 이로 인하여, 각종 소자 특성 저하가 나타날 수 있다. 예컨대, 짧은 리프레쉬 시간을 가지는 셀 증가, 셀 기입 특성 저하 또는 가변적인 리텐션 시간(variable retention time)을 보이는 셀 증가 등이 나타날 수 있다. 이러한 위크 특성을 보이는 위크 셀들을 기존의 리던던시 DRAM 셀들을 이용하여 대체하기에는 DRAM 칩 자체의 면적 패널티 문제를 야기할 수 있다.
본 발명이 이루고자하는 기술적 과제는 메모리 셀들 중 위크 비트를 스크린하고 위크 비트를 구제하는 반도체 장치, 이를 포함하는 메모리 모듈 및 메모리 시스템을 제공하는 데 있다.
본 발명의 일면에 따른 반도체 장치는, 복수개의 메모리 셀들을 포함하는 제1 메모리 영역, 제1 메모리 영역을 테스트하고 복수개의 메모리 셀들 중 위크 비트를 검출하는 테스트부, 그리고 제1 메모리 영역의 위크 비트 어드레스와 위크 비트에 저장될 데이터를 저장하는 제2 메모리 영역을 포함한다. 제1 메모리 영역과 제2 메모리 영역은 서로 다른 종류의 메모리 셀들로 구성되는 것을 특징으로 한다.
본 발명의 실시예들에 따른 반도체 장치는, 제1 메모리 영역의 위크 비트 어드레스를 불휘발성하게 저장하는 제3 메모리 영역을 더 포함할 수 있다.
본 발명의 실시예들에 따라, 제1 메모리 영역은 DRAM (Dynamic Random Access Memory) 셀로 구현될 수 있다. 위크 비트는 DRAM 셀들 중 리프레쉬 특성, 셀 기입 특성 또는 데이터 리텐션 특성이 위크한 특성을 갖는 비트일 수 있다.
본 발명의 실시예들에 따라, 제2 메모리 영역은 SRAM (Static Random Access Memory) 셀로 구현될 수 있다.
본 발명의 실시예들에 따라, 제3 메모리 영역은 안티 퓨즈 (anti fuse) 어레이 또는 퓨즈 (fuse) 어레이 중 어느 하나로 구성될 수 있다.
본 발명의 실시예들에 따라, 테스트부는 커맨드와 어드레싱의 조합으로 이루어진 테스트 시퀀스를 이용하여 위크 비트 어드레스를 스크린할 수 있다. 테스트부는 테스트시, 독출 또는 기입 명령이 없는 액티브-프리차아지 커맨드를 생성할 수 있다. 테스트 시퀀스는 상위 어드레스 시퀀스 루프 안에 하위 어드레스 시퀀스 루프가 존재하는 네스티드 어드레스 패턴을 생성할 수 있다.
본 발명의 실시예들에 따라, 테스트부는 팩토리에서, 제1 메모리 영역의 위크 비트 어드레스를 스크린하여 해당 위크 비트 어드레스와 데이터를 에러 로그 레지스터에 저장할 수 있다.
테스트부는 인-필드에서 사용자가 원하는 테스트 패턴을 프로그램하는 사용자 설정 테스트 시퀀스를 제공할 수 있다.
본 발명의 실시예들에 따라, 테스트부는 테스트 동안, 제1 메모리 영역의 DC 바이어스 레벨을 변경할 수 있다. 테스트부는 제1 메모리 영역 내 모드 레지스터를 이용하여 DC 바이어스 레벨을 조절할 수 있다. 모드 레지스터는 반도체 장치를 테스트하는 테스트 장비에서 제어할 수 있다.
본 발명의 실시예들에 따라, 테스트부는 제1 메모리 영역의 AC 타이밍 파라미터를 소정의 레졸루션으로 조절할 수 있다. 테스트부는 제1 메모리 영역 내 AC 타이밍 제어 레지스터를 이용하여 AC 타이밍 파라미터를 조절할 수 있다. AC 타이밍 제어 레지스터는 반도체 장치를 테스트하는 테스트 장비에서 제어할 수 있다.
본 발명의 실시예들에 따라, 제2 메모리 영역은 데이터 구제 단위 (DRG: Data Replacement Granularity)에 상기 제1 메모리 영역의 상기 위크 비트를 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위로 구제할 수 있다. 제2 메모리 영역은 제1 메모리 영역의 데이터 입출력 신호들(DQs)에 할당되는 SCB (Switch Control Bit)를 이용하여 구제되는 비트를 선택할 수 있다. 제2 메모리 영역은 DRG 및 SCB를 이용하여 구제되는 비트를 DQ에 맵핑하여 선택할 수 있다.
본 발명의 실시예들에 따라, 제2 메모리 영역은 위크 비트 어드레스를 저장하고, 리퀘스트 어드레스와 어드레스 매칭 동작을 수행하는 CAM (Content-Addressable Memory)으로 구현될 수 있다. 어드레스 매칭 동작은 리퀘스트 어드레스와 위크 비트 어드레스의 로우 어드레스를 비교한 후 칼럼 어드레스를 비교하는 동작으로 이루어질 수 있다.
본 발명의 실시예들에 따라, 제2 메모리 영역은 위크 비트 어드레스를 저장하는 위크 비트 어드레스 테이블 SRAM, 위크 비트 어드레스에 저장될 데이터를 저장하는 데이터 SRAM, 제1 메모리 영역 또는 상기 데이터 SRAM을 스위칭하는 스위치를 포함하고, 위크 비트 어드레스 테이블 SRAM과 데이터 SRAM은 오프-칩 인터페이스로 통신할 수 있다.
본 발명의 실시예들에 따라, 제2 메모리 영역은 위크 비트 어드레스 테이블 SRAM과 연결되고, 위크 비트 어드레스의 매칭 여부를 나타내는 사이드밴드 제어 데이터 패킷을 사이드밴드 버스를 통하여 스위치로 전달하는 사이드밴드 제어부를 포함할 수 있다. 사이드밴드 제어부는 프리앰블 및 포스트앰블 신호를 이용하여 사이드밴드 제어 데이터 패킷을 전달할 수 있다.
본 발명의 실시예들에 따라, 제2 메모리 영역은 제1 메모리 영역의 리프레쉬 사이클 동안, 자신의 에러를 정정하는 스크러빙 동작이 수행될 수 있다.
본 발명의 실시예들에 따라, 반도체 장치는 제1 메모리 영역의 파워 다운 모드, 리프레쉬 모드 또는 테스트 모드 동안, 제2 메모리 영역이 온되도록 파워 매니지먼트할 수 있다. 제2 메모리 영역의 파워 세이빙 모드 진입과 웨이크-업이 제1 메모리 영역 보다 먼저 수행되도록 할 수 있다.
본 발명의 실시예들에 따라, 반도체 장치는 제1 메모리 영역의 독출 또는 기입 동작 중에, 리퀘스트 어드레스가 제2 메모리 영역으로 대체되는 제1 메모리 영역의 데이터 입력 또는 출력 버퍼들을 턴-오프시킬 수 있다. 제1 메모리 영역의 데이터 마스크 신호를 이용하여 제1 메모리 영역의 데이터 경로를 턴-오프시킬 수 있다.
본 발명의 실시예들에 따라, 제3 메모리 영역은 위크 비트 어드레스에 대한 랭크 어드레스, 위크 비트 어드레스들의 수, 상기 위크 비트 어드레스에 대한 로우, 칼럼 및 뱅크 어드레스, 그리고 구제되는 비트를 DQs에 맵핑하는 SCB 비트들로 구성되는 메타 테이블을 저장할 수 있다.
본 발명의 실시예들에 따라, 메타 테이블은 반도체 장치의 파워 업 시 상기 제2 메모리 영역에 저장되고, 호스트로부터 요청되는 로우, 칼럼, 뱅크 및 랭크 어드레스와 제2 메모리 영역에 저장된 메타 테이블이 비교되어 매치 신호가 발생되고, SCB 비트들에 맵핑되는 DQs을 통하여 위크 비트를 구제할 수 있다.
본 발명의 실시예들에 따라, 제1 메모리 영역은 다수개의 DRAM 칩들이 관통 전극들과 마이크로 범프들을 통하여 전기적으로 연결되는 스택 구조를 갖을 수 있다. 테스트부와 상기 제2 메모리 영역은 인터페이스 칩에 내장되고, 인터페이스 칩 상부에 제1 메모리 영역이 배치될 수 있다.
본 발명의 다른 일면에 따른 메모리 모듈은, 모듈 보드, 모듈 보드 상에 장착되고 복수개의 메모리 셀들을 포함하는 적어도 하나 이상의 메모리 칩, 그리고 모듈 보드 상에 장착되고 메모리 칩의 동작을 관리하는 메모리 버퍼 칩을 포함한다. 메모리 버퍼 칩은 복수개의 메모리 셀들 중 위크 비트를 검출하는 테스트부, 메모리 칩의 위크 비트 어드레스와 위크 비트에 저장될 데이터를 저장하는 제1 메모리 영역, 그리고 제1 메모리 칩의 위크 비트 어드레스를 불휘발성하게 저장하는 제2 메모리 영역을 포함한다. 메모리 칩과 메모리 버퍼 칩 내 제1 메모리 영역은 서로 다른 종류의 메모리 셀들로 구성된다.
본 발명의 또다른 일면에 따른 메모리 콘트롤러는 복수개의 메모리 셀들을 포함하는 메모리 칩과 통신하고, 복수개의 메모리 셀들 중 위크 비트를 검출하는 테스트부, 메모리 칩의 위크 비트 어드레스와 위크 비트에 저장될 데이터를 저장하는 제1 메모리 영역, 그리고 제1 메모리 칩의 위크 비트 어드레스를 불휘발성하게 저장하는 제2 메모리 영역을 포함한다. 메모리 칩과 제1 메모리 영역은 서로 다른 종류의 메모리 셀들로 구성된다.
상술한 본 발명의 반도체 장치, 이를 포함하는 메모리 모듈 및 메모리 시스템에 따르면, 내장된 테스트부를 이용하여 제1 메모리 영역의 위크 비트를 스크린하고, 위크 비트 어드레스와 위크 비트에 저장될 데이터를 제2 메모리 영역에 저장한다. 이에 따라, 테스트부는 팩토리 또는 인필드에서 사용자 설정 테스트 시퀀스를 제공하여 호스트 모르게 위크 비트를 구제할 수 있다.
또한, 본 발명에 따르면, 제1 메모리 영역의 리프레쉬 사이클 동안 제2 메모리 영역의 스크러빙 동작을 수행하여 제2 메모리 영역의 멀티 비트 에러 누적을 방지하고 싱글 비트 에러들을 정정할 수 있다. 제1 메모리 영역의 파워 다운 모드 동안 제2 메모리 영역의 온/오프를 제어하는 파워 매니지먼트할 수 있다.
도 1은 본 발명의 다양한 실시예들에 따른 메모리 버퍼를 포함하는 메모리 시스템을 설명하는 제1 예의 도면이다.
도 2는 본 발명의 다양한 실시예들에 따른 BFM을 통한 사용자 프로그램 테스트 시퀀스를 설명하는 플로우이다.
도 3은 본 발명의 다양한 실시예들에 따른 BFM을 통한 서브 테스트 시퀀스들을 포함하는 테스트 시퀀스를 설명하는 도면이다.
도 4는 본 발명의 다양한 실시예들에 따른 BFM에 의한 인-필드 진단 리페어 플로우를 설명하는 도면이다.
도 5는 본 발명의 다양한 실시예들에 따른 BFM에 의한 인-필드 요구 리페어를 설명하는 도면이다.
도 6은 본 발명의 다양한 실시예들에 따른 팩토리에서의 에러 로그 및 저장 플로우를 설명하는 도면들이다.
도 7은 본 발명의 다양한 실시예들에 따른 BFM에 의한 인-필드 진단 리페어에서의 에러 로그 및 저장 플로우를 설명하는 도면이다.
도 8은 본 발명의 다양한 실시예들에 따른 BFM에 의한 인-필드 요구 리페어에서의 에러 로그 및 저장 플로우를 설명하는 도면이다.
도 9는 본 발명의 다양한 실시예에 따른 BFM의 테스트 방법을 설명하는 도면이다.
도 10은 본 발명의 다양한 실시예들에 따른 BFM의 내부 DC 전압 레벨 제어 방법을 설명하는 도면이다.
도 11은 도 10의 모드 레지스터 셋팅 타이밍을 설명하는 도면이다.
도 12는 본 발명의 다양한 실시예들에 따른 BFM의 내부 AC 타이밍 제어 방법을 설명하는 도면이다.
도 13 및 도 14는 본 발명의 다양한 실시예들에 따른 ATE 기반의 WBA 전달 플로우 및 타이밍을 설명하는 도면들이다.
도 15는 본 발명의 다양한 실시예에 따른 버퍼 칩으로의 WBA 전달을 설명하는 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 BFM의 WBA 필드를 설명하는 도면이다.
도 17 내지 도 20은 본 발명의 다양한 실시예에 따른 BFM의 WBA와 DQ 맵핑을 설명하는 도면이다.
도 21은 본 발명의 다양한 실시예들에 따른 BFM 기반의 WBA 생성 플로우를 설명하는 도면이다.
도 22는 본 발명의 다양한 실시예들에 따른 BFM 기반의 WBA를 전달하는 버퍼 칩(110)을 설명하는 제1 예의 도면이다.
도 23은 본 발명의 다양한 실시예들에 따른 BFM 기반의 WBA를 전달하는 버퍼 칩(110)을 설명하는 제2 예의 도면이다.
도 24 내지 도 26은 본 발명의 다양한 실시예들에 따른 WBA 테이블 및 데이터 SRAM 포맷을 설명하는 도면이다.
도 27은 본 발명의 다양한 실시예들에 따른 SCB 맵핑을 설명하는 도면이다.
도 28 및 도 29는 DRG와 SCB의 결합에 따른 WBA 테이블 및 데이터 SRAM의 용량을 설명하는 도면들이다.
도 30은 본 발명의 다양한 실시예들에 따른 랭크 기반의 WBA 병렬 비교를 설명하는 도면이다.
도 31a 및 도 31b는 본 발명의 다양한 실시예들에 따른 메타 테이블 포맷을 설명하는 제1 예의 도면이다.
도 32a 및 도 32b는 본 발명의 다양한 실시예들에 따른 NVM 포맷을 설명하는 제2 예의 도면이다.
도 33은 본 발명의 다양한 실시예들에 따른 시퀀셜 매칭을 설명하는 도면이다.
도 34는 본 발명의 다양한 실시예들에 따른 메모리 시스템을 설명하는 제2 예의 도면이다.
도 35 및 도 36은 본 발명의 다양한 실시예에 따른 사이드밴드 제어 데이터 패킷의 레이아웃과 필드들을 설명하는 도면이다.
도 37 및 도 38는 본 발명의 다양한 실시 예들에 따른 SBB 동작 타이밍을 설명하는 도면들이다.
도 39는 본 발명의 다양한 실시예들에 따른 SRAM 에러 핸들링을 설명하는 도면이다.
도 40은 본 발명의 다양한 실시예들에 따른 파워 매니지먼트를 설명하는 도면이다.
도 41은 본 발명의 다양한 실시예에 따른 메모리 장치를 설명하는 제1 예의 도면이다.
도 42는 본 발명의 다양한 실시예에 따른 메모리 장치를 설명하는 제2 예의 도면이다.
도 43는 본 발명의 다양한 실시예에 따른 메모리 모듈을 설명하는 도면이다.
도 44는 본 발명의 다양한 실시예에 따른 메모리 시스템을 설명하는 제 3 예의 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
DRAM 스케일링에 따라, 셀 커패시터가 감소되고 스몰 피쳐 사이즈(small feature size)가 구현되고 있다. 이로 인하여, 각종 소자 특성 저하가 나타날 수 있다. 예컨대, 짧은 리프레쉬 시간을 가지는 셀 증가, 셀 기입 특성 저하 또는 가변적인 리텐션 시간(variable retention time)을 보이는 셀 증가 등이 나타날 수 있다. 이러한 위크 특성을 보이는 위크 셀들을 기존의 리던던시 DRAM 셀들을 이용하여 대체하기에는 DRAM 칩 자체의 면적 패널티 문제를 야기할 수 있다.
게다가, 위크 특성이 리던던시 DRAM 셀 자체에도 동일하게 나타나기 때문에, 수율 확보 문제가 예상될 수 있다.
DRAM과는 별도의 메모리를 두어 위크 셀들을 대체할 경우, 메모리 시스템 자체의 성능 저하가 없으면서 외부 호스트 콘트롤러 모르게 하는 위크 셀 대체 기술이 부재하다. 위크 셀 스크린은 테스트 환경 구축과 검출 패턴의 복잡도에 의해 팩토리(factory)에서 수행되는 것이 일반적이다. 이에 따라, 팩토리 수준의 위크 셀 자체 검출 능력을 갖는 빌트-인 셀프 테스트 기법이 탑재된 메모리 버퍼 기반으로, 외부 메모리를 이용하여 위크 셀들을 호스트 모르게(transparent) 대체하는 메모리 시스템이 요구된다.
도 1은 본 발명의 다양한 실시예들에 따른 메모리 버퍼 칩을 포함하는 메모리 시스템을 설명하는 제1 예의 도면이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 버퍼 칩(110), 호스트(120) 그리고 메모리 장치(130)를 포함한다. 메모리 버퍼 칩(110)은 메모리 장치(130) 내 위크 메모리 셀들을 검출하는 테스트부(10)과 메모리 장치(130) 내 위크 메모리 셀들을 대체하기 위한 제1 메모리부(20)을 포함할 수 있다. 테스트부(10)는 BFM(Built-In Self Test for Memory)을 이용하고, 제1 메모리부(20)는 휘발성 메모리인 SRAM(Static Random Access Memory)을 이용할 수 있다.
메모리 버퍼 칩(110)은, 테스트부(10)에 의해 위크 메모리 셀들이 검출되면, 해당 위크 메모리 셀 어드레스를 저장하는 제2 메모리부(30)를 더 포함할 수 있다. 제2 메모리부(30)는 퓨즈 어레이 또는 안티 퓨즈 어레이와 같은 비휘발성 메모리(Non-Volatile Memory)를 이용할 수 있다. 이하 명세서에서는, 설명의 편의를 위하여, 테스트부(10)는 BFM(10)으로 칭하고, 제1 메모리부(20)는 SRAM(20)으로 칭하고, 제2 메모리부(30)는 NVM(30)으로 칭하여 설명될 수 있다. 그리고, 메모리 버퍼 칩(110)은 버퍼 칩(110)으로 칭하여 설명될 수 있고, 메모리 장치(130)는 DRAM(30), 메모리 모듈 또는 모듈로 공통으로 칭하여 설명될 수 있다.
BFM(10)은 DRAM(130) 내 위크 비트들(weak bits)을 스크린하는 주요한 요소이다. 위크 비트들은 리프레쉬, 셀 기입 특성 또는 데이터 리텐션 시간 등에서 위크 특성을 보이는 위크 셀들의 비트 어드레스를 말한다. BFM(10)은 실제 사용되고 있는 인-필드 뿐만 아니라 제조 중인 팩토리에서도 메모리 셀 결함들의 빠른 테스트가 가능토록 한다. BFM(10)은 위크 비트들을 검출하고, 위크 비트 어드레스들(Weak Bit Addresses, WBAs)을 NVM(30)에 저장할 수 있다. 이러한 작업들은 팩토리 또는 필드 어느 쪽에서도 가능할 수 있다. NVM(30)은 메모리, 버퍼 칩, 메모리 모듈, 3D 스택 내 로직 칩, 메모리 콘트롤러 또는 CPU 내 어디에도 위치할 수 있다.
추가적으로, 위크 비트들이 실시간으로 검출되는 경우, 어드레스 매치 테이블 또한 업데이트될 수 있다. BFM(10)에 의해 위크 비트 어드레스들(WBAs)이 검출되거나 호스트에 의해 하드 에러(hard error)가 검출되면, 위크 비트 어드레스들(WBAs)은 NVM(30) 내 어드레스 맵 테이블에 추가될 수 있다. 또한, 해당 위크 비트 어드레스가 대체된 후, 데이터는 SRAM(20)으로부터 억세스되기 때문에, 데이터는 DRAM(130)에서 SRAM(20)으로 복사될 수 있다. 이에 따라, SRAM(20)을 데이터 SRAM(20)이라 칭할 수 있다.
BFM(10)은, 제품 레벨 테스트 동안, DRAM(130)의 DC 바이어스 레벨을 변경할 수 있고, 사용자 설정 테스트 시퀀스들을 프로그램할 수 있도록 하는 것이 바람직하다. 주문받아 만들어진 DRAM(Customized DRAM) 테스트 시퀀스들은 BFM(10) 구동 전에, 모듈 어셈블리 후에 팩토리에서 사용자들에 의해 NVM(30)에 프로그램될 수 있다. 이러한 프리-프로그램된(pre-programmed) 테스트 시퀀스들은 BIST (Built-In Self Test) 엔진에 의해 선택적으로 수행된다. 이것은 팩토리 뿐만 아니라 인-필드에서도 다양한 종류들의 테스트 시퀀스들을 테스트할 수 있는 유연성을 사용자에게 제공할 수 있다.
BFM(10)은 어드레싱, 데이터 패턴 정의, 기본 테스트 알고리즘, 메모리 DC 레벨 제어, 사용자 정의 테스트 시퀀스 프로그래밍 플로우, 그리고 위크 비트 업데이트 방법을 포함할 수 있다. BFM(10)은 메모리 칩 설계 이후에 필요에 따라 사용자가 추가로 테스트 패턴을 프로그래밍할 수 있다. 테스트 패턴 프로그램은, 인-팩토리의 경우, 테스트 장비 또는 퍼스널 컴퓨터(PC)에 저장할 수 있다. 또한, 테스트 패턴 프로그램은, 인-필드의 경우, 메모리 모듈 내에 NVM에 저장할 수 있다.
도 2는 본 발명의 다양한 실시예들에 따른 BFM을 통한 사용자 프로그램 테스트 시퀀스를 설명하는 플로우이다.
도 2를 참조하면, 메모리 모듈 어셈블리 후(82)에, 테스트 시퀀스 프로그램을 테스트 장비나 PC, 또는 메모리 버퍼 칩(110) 내 NVM(30)에 저장할 수 있다(84). 이후, ATE(Auto Test Equipment)에 의해 BFM(10)이 동작되고(86), 위크 비트 어드레스들(WBAs)은 메모리 버퍼 칩(110) 내 NVM(30)에 저장될 수 있다.
각 테스트 시퀀스는 다수개의 서브 테스트 시퀀스들로 구성될 수 있다. 각 테스트 시퀀스에는, 예컨대, 256 서브 테스트 시퀀스들이 프로그램될 수 있다. 각 서브 테스트 시퀀스가 NVM(30)에 저장되기 전에, 현재 테스트 시퀀스를 프로그램하기 위한 목적지 NVM 위치는 BFM 레지스터, 예컨대, b[30:27] 레지스터 비트들에 의해 선택될 수 있다.
서브 테스트 시퀀스 수는 BFM 레지스터 내 b[38:31] 레지스터 비트들에 의해 정의될 수 있다. 또한, BFM 레지스터 비트들은 메모리 억세스 제어, 데이터 패턴들, DRAM 타이밍들, DC 전압 레벨, 그리고 알고리즘 등을 포함하는 테스트 플로우를 결정하기 위하여 셋팅될 수 있다. 모든 BFM 레지스터 비트들이 셋팅되면, NVM(30) 내 해당 시퀀스 필드들에 이들 비트 값들을 덤프하기 위하여 BFM 레지스터, 예컨대, bit3은 "1"로 셋팅될 수 있다.
BFM 레지스터 비트들이 셋팅되는 프로세스 동안 BFM 실행을 방지하기 위하여 BFM 레지스터 내 제1 비트는 "0"으로 유지될 수 있다. 서브 시퀀스 프로그램이 종료되면 bit3은 "0"으로 리셋될 수 있다. 이러한 테스트 플로우는 전체 서브 시퀀스들이 프로그램될 때까지 반복될 수 있다.
도 3은 본 발명의 다양한 실시예들에 따른 BFM을 통한 서브 테스트 시퀀스들을 포함하는 테스트 시퀀스를 설명하는 도면이다.
도 3을 참조하면, 테스트 시퀀스는 제1 테스트 시퀀스 프로그램을 시작할 수 있다(91). 제1 서브 테스트 시퀀스를 프로그램하고(92a), 제1 서브 테스트 시퀀스에 해당되는 BFM 레지스터 비트들을 셋팅하고(92b), NVM 내 해당 시퀀스 필드들에 이들 비트 값들을 덤프하는 것(92c)으로 제1 서브 테스트 시퀀스 프로그램(92)을 종료할 수 있다.
제2 서브 테스트 시퀀스를 프로그램하고(93a), 제2 서브 테스트 시퀀스에 해당되는 BFM 레지스터 비트들을 셋팅하고(93b), NVM 내 해당 시퀀스 필드들에 이들 비트 값들을 덤프하는 것(93c)으로 제2 서브 테스트 시퀀스 프로그램(93)을 종료할 수 있다. 이 후, 제3 서브 테스트 시퀀스 프로그램 프로세스(94, 94a, 94b, 94c)를 수행하고, 계속하여 제k+1 서브 테스트 시퀀스 프로그램 프로세스(95, 95a, 95b, 95c)를 수행하여 제1 테스트 시퀀스 프로그램(96)을 종료할 수 있다. 이어서, 제2, 3, ..., N 테스트 시퀀스의 서브 테스트 시퀀스들을 프로그램할 수 있다.
메모리 모듈 어셈블리 후 제조 중 또는 인-필드 작동 중 어디에서든지 BFM(10)에 의해 위크 셀들이 검출될 수 있다. 제조 중에서, BFM(10)은 ATE에 의해 동작되고, 불량 비트 어드레스들은 온-칩 NVM, 인-모듈 NVM 또는 PC와 ATE의 외부 저장부에 저장될 수 있다. 인-필드 작동 중에서, BFM(10)은 호스트(120)의 필요에 의해 동작되고, 불량 비트 어드레스들은 NVM(30) 뿐만 아니라 버퍼 칩 내부의 어드레스 맵 SRAM(20)에도 저장될 수 있다.
도 4는 본 발명의 다양한 실시예들에 따른 BFM에 의한 인-필드 진단 리페어 플로우를 설명하는 도면이다.
도 4를 참조하면, 호스트(120)에 의해 위크 비트 테스트가 요청되면(101), 호스트(120)는 노멀 프로세스를 중단한다(102). 호스트(120)에 의해 BFM(10)이 수행되고(103), 위크 비트 어드레스들(WBAs)이 NVM(30)에 저장되고(104), SRAM(20)에도 저장된다(105). 이 후 DRAM(130)에 저장된 해당 데이터의 정정된 데이터가 버퍼 칩 내부의 데이터 SRAM(20)에 복사된다(106). 위크 비트 어드레스들(WBAs)에 대한 모든 억세스는 DRAM(130) 대신에 버퍼 칩(110) 내 SRAM(20)에서 이루어진다. 호스트(120)는 전체 테스트 프로세스가 종료될 때까지 일시적으로 중단되었던 노멀 프로세스를 재개한다(107).
도 5는 본 발명의 다양한 실시예들에 따른 BFM에 의한 인-필드 요구 리페어를 설명하는 도면이다.
도 5를 참조하면, ECC 체크 기능을 갖는 호스트에서, 에러 발생들은 실시간으로 추적될 수 있다. 만약 두 개의 에러들이 동일한 어드레스에서 발생되는 경우(111), 이는 하드 불량(hard failure)일 가능성이 매우 높다. 이러한 경우, 노멀 동작들은 일시적으로 중단될 수 있다(112). 이 하드 불량 어드레스는 NVM(30)에 저장되고(113), 버퍼 칩(110) 내부의 SRAM(20)에도 저장될 수 있다(114). 이 경우, SRAM(20)을 위크 비트 어드레스 맵 SRAM(20)이라 칭할 수 있다.
DRAM(130)에 저장된 해당 데이터의 정정된 데이터가 버퍼 칩(110) 내부의 데이터 SRAM(20)에 복사된다(115). 위크 비트 어드레스들에 대한 모든 억세스는 DRAM(130) 대신에 버퍼 칩(110) 내 SRAM(20)에서 이루어진다. 호스트(120)는 전체 테스트 프로세스가 종료될 때까지 일시적으로 중단되었던 노멀 프로세스를 재개한다(116).
SRAM(20)과 NVM(30)을 업데이트하는 알고리즘이 도 6 내지 도 8에서 설명된다.
위크 셀 스크린 테스트 중에, 에러들이 에러 로그 레지스터들에 로그-인 될 수 있다. 그런데, 에러 로그들의 수가 제한되어 있기 때문에, 일단 에러 로그들이 채워지면, 이들 에러 로그들은 온-칩 또는 인-모듈 NVMs 또는 PC나 ATE 내부의 외부 저장부들 어디에 저장될 수 있다. 모든 에러 로그 레지스터들이 가득 차면, BIST 엔진은 에러 로그 레지스터들이 모두 비워질 때까지 일시적으로 테스트 프로세스를 중단할 것을 경고할 수 있다.
도 6은 팩토리에서의 에러 로그 및 저장 플로우를 설명하는 도면이다.
도 6을 참조하면, 파워-업이 되면, BFM이 초기화된다(121). ATE로부터 테스트 시퀀스를 시작하라는 명령이 발행되면, BFM 레지스터에 정의된 테스트 시퀀스가 실행된다. 먼저 시작 어드레스가 테스트되고(122), 에러가 검출되지 않으면(123), 이 어드레스가 마지막 어드레스인지를 체크한다(124). 만약 마지막 어드레스이면, BFM(10)은 다시 초기화되고, 다음 테스트 시작 명령을 수신하기 위한 웨이트 상태(wait state)로 놓이게 된다. 만약 마지막 어드레스가 아니라면, 이 루프는 전체 테스트 플로우가 종료될 때까지 반복된다. 테스트 시퀀스에서 명령에 의해 수행되는 동작은 가는 실선으로 표시되고. 자동적으로 수행되는 동작은 굵은 실선으로 표시된다.
테스트 플로우 중에 에러가 검출되면(123), 해당 에러 어드레스와 데이터는 에러 로그 레지스터에 기록된다(logged, 125). 에러 발생 때마다 모든 에러 로그 레지스터들이 가득 찼는지를 확인하고(126), 이 과정은 자동적으로 이루어질 수 있다. 에러 로그 레지스터들이 가득 차지 않았다면 테스트를 계속한다. 에러 로그 레지스터들이 가득 찼다면, 이들 레지스터들 내 저장된 어드레스와 데이터는 NVM(30)으로 덤프된다(127). 이 후, 자동적으로 테스트를 계속하여 다음에 발생할 에러들을 저장할 수 있도록 한다.
인-필드 동작들 중에, 어드레스 맵 테이블 및 데이터 SRAM(20)은 BFM(10)을 사용하는 호스트의 필요에 따라 또는 호스트 내 ECC에 의해 실시간으로 업데이트될 수 있다. 전자의 경우, 위크 비트들이 검출되면, 이들 어드레스들은 버퍼 칩(110) 내 어드레스 맵 테이블 SRAM(20)에 내부적으로 추가될 수 있다. 후자의 경우, 불량 비트의 어드레스가 식별되면, 어드레스 맵 테이블 SRAM(20)에 저장될 수 있다. 이 후, 동일 어드레스에 대한 데이터 독출 커맨드가 DRAM으로 발행되고, 해당 데이터의 정정된 데이터가 데이터 SRAM(20)에 저장될 수 있다.
도 7은 인-필드 진단 리페어에서의 에러 로그 및 저장 플로우를 설명하는 도면이다.
도 7을 참조하면, 파워-업이 되면, BFM(10)이 초기화된다(131). ATE로부터 테스트 시퀀스를 시작하라는 명령이 발행되면, BFM 레지스터에 정의된 테스트 시퀀스가 실행된다. 먼저 시작 어드레스가 테스트되고(132), 에러가 검출되지 않으면(133), 이 어드레스가 마지막 어드레스인지를 체크한다(134). 만약 마지막 어드레스이면, BFM(10)은 다시 초기화되고, 다음 테스트 시작 명령을 수신하기 위한 웨이트 상태(wait state)로 놓이게 된다. 만약 마지막 어드레스가 아니라면(134), 이 루프는 전체 테스트 플로우가 종료될 때까지 반복된다.
테스트 플로우 중에 에러가 검출되면(133), 해당 에러 어드레스와 데이터는 에러 로그 레지스터에 기록되고(logged), 어드레스 맵 테이블 SRAM(20)에 업데이트된다(135). 에러 발생 때마다 모든 에러 로그 레지스터들이 가득 찼는지를 확인하고(136), 이 과정은 자동적으로 이루어질 수 있다. 에러 로그 레지스터들이 가득 차지 않았다면 테스트를 계속한다. 에러 로그 레지스터들이 가득 찼다면 이들 레지스터들 내 저장된 어드레스와 데이터는 NVM(30)으로 덤프된다(137). 이 후, 자동적으로 테스트를 계속하여 다음에 발생할 에러들을 저장할 수 있도록 한다.
도 8은 인-필드 요구 리페어에서의 에러 로그 및 저장 플로우를 설명하는 도면이다.
도 8을 참조하면, 호스트(120)는 노멀 동작을 수행하고(141), 동일 어드레스에서 두 번의 에러가 발생하면(142), 호스트(120)는 노멀 동작을 일시적으로 중단하고(143), 자동적으로 연속하여 어드레스 맵 테이블 SRAM(20)을 업데이트시키고(144), NVM(30)을 업데이트시키고(145), 데이터 SRAM(20)을 업데이트시킨다(146). 이 후, 모든 대체 동작이 종료되면, 호스트(120)에 의해 노말 동작이 재개된다(141).
도 9는 본 발명의 다양한 실시예에 따른 BFM의 테스트 방법을 설명하는 도면이다.
도 9를 참조하면, 테스트시, 독출 또는 기입 명령이 없는 액티브-프리차아지 커맨드를 생성할 수 있다(151). 상위 어드레스 시퀀스 루프(152) 안에 하위 어드레스 시퀀스 루프(154)가 존재하는, 즉 네스티드(nested) 어드레스 패턴을 생성할 수 있다. 상위 어드레스 시퀀스 루프 테스트를 시작하고(153), 하위 어드레스 시퀀스 루프 테스트를 시작할 수 있다(154). 테스트 패턴들이 인가되는 데, 지정된 두개의 로우들을 반복적으로 백-앤드-포스(back and forth) 할 수 있다(155). 하나의 로우에 반복적으로 액티브-프리차아지 동작을 수행할 수 있다(156).
하위 어드레스 시퀀스 루프 테스트가 패스되면(157), 테스트 결과를 스캔 아웃할 수 있다(158). 스캔 아웃된 테스트 결과는 바람직한 실시예들(도 6, 도 7, 도 8)에서 설명된 에러 로그 및 저장 플로우를 따라 저장될 수 있다. 네스티드 어드레스 패턴에 대한 테스트가 완료되면(159), BFM 테스트를 종료한다. 테스트시, 액티브-프리차아지 명령과 액티브-프리차아지 명령 사이에 노-오퍼레이션 명령(No Operation Command, NOP) 수를 조절할 수 있다. 또한, 로우 또는 칼럼 방향 점프 크기를 프로그래머블하게 구성할 수 있다.
도 10은 본 발명의 다양한 실시예들에 따른 BFM의 내부 DC 전압 레벨 제어 방법을 설명하는 도면이다.
도 10을 참조하면, DRAM 내부의 모드 레지스터를 이용하여 DRAM 내부에서 발생되는 내부 DC 전압 레벨을 조절할 수 있는 프로토콜을 제공할 수 있다. 예컨대, MR3 모드 레지스터를 이용할 수 있다. MR3 모드 레지스터는 버퍼 칩이나 테스트 장비에서 제어 가능하게 설정될 수 있다. MR3 모드 레지스터와 링크되는 A3-A10 비트들은 DC 레벨들을 제어하도록 설정될 수 있다. 이들 레지스터 필드 비트들은 테스트 장비 또는 사용자 정의된 테스트 시퀀스 프로그램 어느 것에 의해서도 제어될 수 있다.
A3-A4 비트는 제1 DC 레벨(DC0)을 4 가지 다른 레벨로 셋팅할 수 있다. A5-A6 비트는 제2 DC 레벨(DC1)을 4 가지 다른 레벨로 셋팅할 수 있다. A7-A8 비트는 제3 DC 레벨(DC2)을 4 가지 다른 레벨로 셋팅할 수 있다. A9-A10 비트는 제4 DC 레벨(DC3)을 4 가지 다른 레벨로 셋팅할 수 있다. 제1 내지 제4 DC 레벨들(DC0-DC3)은 승압 전압(VPP) 레벨, 내부 전원 전압(VINT) 레벨, 백 바이어스 전압(VBB) 레벨 또는 비트라인 프리차아지 전압(VBL) 레벨 등으로 설정될 수 있다.
동일한 수의 비트들이 BFM 레지스터 내 특정 필드들에 정의될 수 있다. BFM 레지스터 비트[48:41]은 DCs의 4 가지 타입으로 설정될 수 있다. 각 DC는 4 가지 다른 레벨들로 셋팅될 수 있다. 이것은 필요에 따라 DC 전압 레벨들을 변경하는 사용자 정의 테스트 시퀀스 프로그램에 요구될 수 있다.
파워-업 후 디폴트 DC 레벨 셋팅은 MR3 레지스터와 BFM DC 레지스터 둘 다 "00"이다. 테스트 시퀀스가 종료될 때 마다 해당 MR3 및 BFM DC 레지스터 비트들은 "00"으로 다시 리셋될 수 있다.
MR3 레지스터가 테스트 장비에 의해 제어되면, 해당 비트들은 ATE에 의해 바로 프로그램될 수 있다. 노멀 동작 동안 원치 않는 우발적인 DC 바이어싱 레벨 변화를 방지하기 위하여, 메모리는 모든 리페어 프로세스를 종료한 후 DC 전압 레벨 제어 기능을 디세이블시키는 퓨즈 및 로직를 포함할 수 있다.
도 11은 도 10의 모드 레지스터 셋팅 타이밍을 설명하는 도면이다.
도11을 참조하면, MRS 커맨드들 사이의 최소 시간인 모드 레지스터 셋트 커맨드 사이클 시간(tMRD) 동안 모드 레지스터 기입 동작이 완료하도록 설정될 수 있다. MRS 커맨드와 비-MRS 커맨드 사이에 최소 시간 tMOD가 설정될 수 있다.
도 12는 본 발명의 다양한 실시예들에 따른 BFM의 내부 AC 타이밍 제어 방법을 설명하는 도면이다.
도 12를 참조하면, BFM(10)은 모든 AC 타이밍 파라미터들을 소정의 레졸루션(resolution)을 가지고 조절할 수 있다. AC 타이밍 파라미터들에는 tRAS, tRP, tRCD, tWR, tREF, tPAUSE 등이 있다. AC 타이밍은 버퍼 칩(110, 도 1)에서 시스템 클럭 주기(tCK)를 기반으로 조절될 수 있다. 또한, DRAM 칩(130, 도 1) 내부에서도 DRAM(130)과 버퍼 칩(110) 사이에 프로토콜을 구비하여, AC 타이밍 레졸루션을 정교하게 조절할 수 있다.
DRAM(130) 내부에 구비된 AC 타이밍 제어 레지스터(11)는 버퍼 칩(110)과 테스트 장비에서 제어 가능하다. 하나의 테스트 시퀀스에서 스트레스를 주기 위해 억세스되는 셀과 테스트 프리-컨디션을 위해 억세스되는 셀의 AC 타이밍을 서로 다르게 차별적으로 적용할 수 있다.
ATE 기반으로 DRAM 테스트 시, 위크 비트 어드레스(WBA)가 발생되어 DRAM(130) 내부의 비휘발성 메모리 또는 NVM(30) 에 저장될 수 있다.
도 13 및 도 14는 본 발명의 다양한 실시예들에 따른 ATE 기반의 WBA 전달 플로우 및 타이밍을 설명하는 도면들이다.
도 13을 참조하면, WBA 전달 플로우는, 파워-업(191) 후 개별 메모리 정보인 SPD(Serial Presence Detect)를 독출한다(192). SPD는 불휘발성 메모리(일예로서, EEPROM)로 구현될 수 있다. SPD에는, 메모리 인터페이스 설계시, 메모리 모듈에 장착된 반도체 메모리 장치들에 대한 정보(일예로서, 로우 및 칼럼 어드레스의 개수, 데이터 폭(width), 랭크의 수, 랭크당 메모리 밀도, 반도체 메모리 장치의 개수 및 반도체 메모리 장치당 메모리 밀도 등) 등이 기록될 수 있다. 메모리 시스템을 초기화하는 경우, 메모리 모듈의 정보(Module_info)가 SPD로부터 메모리 콘트롤러로 제공될 수 있다.
버퍼 칩(110)을 초기화(193)하고, DRAM(130)을 초기화한다(194). DRAM(130) 초기화 시, ATE 테스트 시 발생된 WBAs를 DRAM(130) 내부의 비휘발성 메모리에 저장할 수 있다. 이 후, DRAM(130)의 ZQ 캘리브레이션 동작(195)과, 버퍼 칩(110)에서의 DRAM 트레이닝(training) 동작(196), 그리고 호스트에 의한 버퍼 칩 트레이닝 동작(197)이 이루어지고, 노멀 트레이닝 동작(198)이 이루어진다.
모드 펄포즈 레지스터(Mode Purpose Register: MPR) 기능을 이용하는 WBA 전달 모드는, 모든 어플리케이션 셋팅에 대한 모드 레지스터들의 요구된 내용들이 충분히 초기화된 후, 모드 레지스트(MRS) 명령에 의해 초기화될 수 있다. WBA 전달 모드에서, DRAM 내 비휘발성 메모리로부터 위크 비트 어드레스들(WBAs)을 독출하는 것은 고정된 버스트 길이와 백-투-백 독출 모드 오더(order)에 의해 수행될 수 있다. 호스트(120)에 의해 발행되는 MPR 독출 커맨드의 수는 WBAs, 데이터 위스, 랭크 수 및 버스트 길이의 최대 수에 의존하는 미리 정해진 값이다.
DRAM의 유효한 수의 WBAs는 마지막 WBA와 함께 모든 DQs를 통하여 전달될 수 있다. WBA 전달은 랭크-바이-랭크로 수행될 수 있고, 이에 따라 WBAs의 전체 전달 시간은 tWBA로 계산될 수 있다. 도 14에 도시된 바와 같이, tWBA는 (전달 레이턴시(Transfer Latency:TL)+랭크 당 WBAs 수*랭크 수)로 결정될 수 있다. TL은 소정의 고정된 값을 갖고, 호스트에 의해 프로그램될 수 있다.
도 15는 본 발명의 다양한 실시예에 따른 버퍼 칩으로의 WBA 전달을 설명하는 도면이다.
도 15를 참조하면, DRAM(130)과 버퍼 칩(110) 사이의 WBA 전달을 보여준다. DRAM(130)은 비휘발성 메모리(211), WBA 버퍼부(212) 그리고 WBA 전송부(213)를 포함할 수 있다. 비휘발성 메모리(211)는 WBA에 따라 프로그램되는 안티 퓨즈로 구성될 수 있다. WBA 버퍼부(212)는 예컨대, x4 DRAM 아키텍쳐에 따라 4의 배수들에 해당하는 WBAs를 비휘발성 메모리(211)로부터 프리패칭할 수 있다.
WBA 전송부(213)는 WBA 버퍼부(212)로 프리패칭된 WBAs를 DQs로 전송할 수 있다. WBA 전송부(213)는 WBAs를 파이프라인 방식으로 버퍼 칩(110)으로 전달할 수 있다. 버퍼 칩(110)은 DRAM(130)으로부터 전송되는 WBAs를 수신하는 WBA 수신부(215)를 포함할 수 있다. 또한, WBA 수신부(215)는 DRAM(130)에서 독출되는 MPR 값들을 수신할 수 있다.
버퍼 칩(110)으로의 전달 레이트는, WBA 버퍼들로 예컨대, 4의 배수들(x4 DRAM) 또는 8의 배수들(x8 DRAM)로 WBAs 프리패칭 또는 디멀티플렉싱에 의한 버퍼된 WBAs의 파이프라이닝(pipelining)을 통하여 증가될 수 있다.
도 16은 본 발명의 다양한 실시예에 따른 BFM의 WBA 필드를 설명하는 도면이다.
도 16을 참조하면, WBA 필드는 뱅크 어드레스, 로우 어드레스 그리고 칼럼 어드레스로 구성될 수 있다. WBA 필드의 범위는 DRAM의 칩 용량에 의해 결정될 수 있다. 2Gb(=512Mb*4) DRAM의 경우, 뱅크 어드레스는 WBA[2:0] 비트들에 할당되고, 칼럼 어드레스는 WBA[13:3] 비트들에 할당되고, 로우 어드레스는 WBA[28:14] 비트들에 할당될 수 있다. 2Gb(=512Mb*8) DRAM의 경우, 뱅크 어드레스는 WBA[2:0] 비트들에 할당되고, 칼럼 어드레스는 WBA[12:3] 비트들에 할당되고, 로우 어드레스는 WBA[27:13] 비트들에 할당될 수 있다.
4Gb(=1G*4) DRAM의 경우, 뱅크 어드레스는 WBA[2:0] 비트들에 할당되고, 칼럼 어드레스는 WBA[13:3] 비트들에 할당되고, 로우 어드레스는 WBA[29:14] 비트들에 할당될 수 있다. 4G(=512Mb*8) DRAM의 경우, 뱅크 어드레스는 WBA[2:0] 비트들에 할당되고, 칼럼 어드레스는 WBA[12:3] 비트들에 할당되고, 로우 어드레스는 WBA[28:13] 비트들에 할당될 수 있다.
도 17 내지 도 20은 본 발명의 다양한 실시예에 따른 BFM의 WBA와 DQ 맵핑을 설명하는 도면이다.
도 17은 2Gb(=512Mb*4) DRAM 랭크(x72) 기반의 DQ 맵핑의 제1 예를 보여준다. 제1 위크 비트 어드레스(WBA0)의 WBA0[28:0] 비트들이 DQ0[28:0]로 맵핑될 수 있다. WBA0[0] 비트는 DQ0의 첫번째 클럭킹 DQ0[0]에 맵핑되고, WBA0[1] 비트는 DQ0의 두번째 클럭킹 DQ0[1]에 맵핑되고, WBA0[2] 비트는 DQ0의 세번째 클럭킹 DQ0[2]에 맵핑되고, WBA0[3] 비트는 DQ0의 네번째 클럭킹 DQ0[3]에 맵핑될 수 있다. 나머지 WBA0 비트들이 순차적인 클럭킹에 따라 DQ0에 밉핑되어져서, WBA0[28] 비트는 DQ0의 29번째 클럭킹 DQ0[28]에 맵핑될 수 있다.
제2 위크 비트 어드레스(WBA1)의 WBA1[28:0] 비트들이 DQ0[57:29]로 맵핑될 수 있다. WBA1[0] 비트는 DQ0의 30번째 클럭킹 DQ0[29]에 맵핑되고, WBA1[1] 비트는 DQ0의 31번째 클럭킹 DQ0[30]에 맵핑되고, WBA1[2] 비트는 DQ0의 32번째 클럭킹 DQ0[31]에 맵핑되고, WBA1[3] 비트는 DQ0의 33번째 클럭킹 DQ0[32]에 맵핑될 수 있다. 나머지 WBA0 비트들이 순차적인 클럭킹에 따라 DQ0에 맵핑되어져서, WBA1[28] 비트는 DQ0의 58번째 클럭킹 DQ0[57]에 맵핑될 수 있다.
이와 같은 방법으로, 제3 내지 제k WBA 어드레스들(WBA2 ~ WBAk-1)이 순차적인 클럭킹에 따라 DQ0에 맵핑되어진다. 마지막 유효 WBA 어드레스(WBAk[28:0])는 DQ0[29k+28:29k]로 맵핑될 수 있다. WBAk[0] 비트는 DQ0의 29k+1번째 클럭킹 DQ0[29k]에 맵핑되고, WBAk[1] 비트는 DQ0의 29k+2번째 클럭킹 DQ0[29k+1]에 맵핑되고, WBAk[2] 비트는 DQ0의 29k+3번째 클럭킹 DQ0[29k+2]에 맵핑되고, WBAk[3] 비트는 DQ0의 29k+4번째 클럭킹 DQ0[29k+3]에 맵핑될 수 있다. 나머지 WBAk 비트들이 순차적인 클럭킹에 따라 DQ0에 맵핑되어져서, WBAk[28] 비트는 DQ0의 29k+29번째 클럭킹 DQ0[29k+28]에 맵핑될 수 있다.
도 18은 2Gb(=512Mb*4) DRAM 랭크(x72) 기반의 DQ 맵핑의 제2 예를 보여준다. 제1 위크 비트 어드레스(WBA0)의 WBA0[28:0] 비트들이 DQ0[28:0]로 맵핑될 수 있다. WBA0의 첫번째 비트 WBA0[0]는 DQ0의 첫번째 클럭킹 DQ0[0]에 맵핑되고, WBA0의 두번째 비트 WBA0[1]는 DQ0의 두번째 클럭킹 DQ0[1]에 맵핑되고, WBA0의 세번째 비트 WBA0[2]는 DQ0의 세번째 클럭킹 DQ0[2]에 맵핑되고, WBA0의 네번째 비트 WBA0[3]는 DQ0의 네번째 클럭킹 DQ0[3]에 맵핑될 수 있다. 나머지 WBA0 비트들이 순차적인 클럭킹에 따라 DQ0에 맵핑되어져서, WBA0[28] 비트는 DQ0의 29번째 클럭킹 DQ0[28]에 맵핑될 수 있다.
제2 위크 비트 어드레스(WBA1)의 WBA1[28:0] 비트들이 DQ1[28:0]로 맵핑될 수 있다. WBA1[0] 비트는 DQ1의 첫번째 클럭킹 DQ1[0]에 맵핑되고, WBA1[1] 비트는 DQ1의 두번째 클럭킹 DQ1[1]에 맵핑되고, WBA1[2] 비트는 DQ1의 세번째 클럭킹 DQ1[2]에 맵핑되고, WBA1[3] 비트는 DQ1의 네번째 클럭킹 DQ1[3]에 맵핑될 수 있다. 나머지 WBA1 비트들이 순차적인 클럭킹에 따라 DQ1에 맵핑되어져서, WBA1[28] 비트는 DQ1의 29번째 클럭킹 DQ1[28]에 맵핑될 수 있다.
제3 위크 비트 어드레스(WBA2)의 WBA2[28:0] 비트들이 DQ2[28:0]로 맵핑될 수 있다. WBA2[0] 비트는 DQ2의 첫번째 클럭킹 DQ2[0]에 맵핑되고, WBA2[1] 비트는 DQ2의 두번째 클럭킹 DQ2[1]에 맵핑되고, WBA2[2] 비트는 DQ2의 세번째 클럭킹 DQ2[2]에 맵핑되고, WBA2[3] 비트는 DQ2의 네번째 클럭킹 DQ2[3]에 맵핑될 수 있다. 나머지 WBA2 비트들이 순차적인 클럭킹에 따라 DQ2에 맵핑되어져서, WBA2[28] 비트는 DQ2의 29번째 클럭킹 DQ2[28]에 맵핑될 수 있다.
제4 위크 비트 어드레스(WBA3)의 WBA3[28:0] 비트들이 DQ3[28:0]로 맵핑될 수 있다. WBA3[0] 비트는 DQ3의 첫번째 클럭킹 DQ3[0]에 맵핑되고, WBA3[1] 비트는 DQ3의 두번째 클럭킹 DQ3[1]에 맵핑되고, WBA3[2] 비트는 DQ3의 세번째 클럭킹 DQ3[2]에 맵핑되고, WBA3[3] 비트는 DQ3의 네번째 클럭킹 DQ3[3]에 맵핑될 수 있다. 나머지 WBA3 비트들이 순차적인 클럭킹에 따라 DQ3에 맵핑되어져서, WBA3[28] 비트는 DQ3의 29번째 클럭킹 DQ3[28]에 맵핑될 수 있다.
제1 내지 제4 위크 비트 어드레스들(WBA0[28:0] ~ WBA3[28:0]) 각각은, 순차적인 제1 내지 제29번째 클럭킹을 따라 DQ0[28:0] 내지 DQ3[28:0] 각각으로 동시에 맵핑될 수 있다. 제5 내지 제8 위크 비트 어드레스들(WBA4[28:0] ~ WBA7[28:0]) 각각은, 순차적인 제30 내지 제58번째 클럭킹을 따라 DQ0[57:29] 내지 DQ3[57:29] 각각으로 동시에 맵핑될 수 있다.
이와 같은 방법으로, WBAk-4[28:0] 내지 WBAk-1[28:0]) 비트들 각각은, 순차적인 클럭킹을 따라 DQ0[29(k-1)+28:29(k-1)] 내지 DQ3[29(k-1)+28:29(k-1)] 각각으로 동시에 맵핑될 수 있다. 마지막 유효 WBA 어드레스 WBAk[28:0] 비트들은 순차적인 클럭킹을 따라 DQ0[29k+28:29k]으로 맵핑될 수 있다.
도 19는 2Gb(=256Mb*8) DRAM 랭크(x72) 기반의 DQ 맵핑의 제3 예를 보여준다. 제1 위크 비트 어드레스(WBA0)의 WBA0[27:0] 비트들이 순차적인 클럭킹에 따라 DQ0[27:0]로 맵핑될 수 있다. 제2 위크 비트 어드레스(WBA1)의 WBA1[27:0] 비트들이 DQ0[56:28]로 맵핑될 수 있다. 이와 같은 방법으로, 제3 내지 제k WBA 어드레스 비트들(WBA2[27:0] ~ WBAk-1[27:0])이 순차적인 클럭킹에 따라 DQ0에 맵핑될 수 있다. 마지막 유효 WBA 어드레스(WBAk[27:0])는 순차적인 클럭킹에 따라 DQ0[28k+27:28k]로 맵핑될 수 있다.
도 20은 2Gb(=256Mb*8) DRAM 랭크(x72) 기반의 DQ 맵핑의 제4 예를 보여준다. 제1 위크 비트 어드레스(WBA0)의 WBA0[27:0] 비트들은 순차적인 클럭킹에 따라 DQ0[27:0]로 맵핑되고, 제2 위크 비트 어드레스(WBA1)의 WBA1[27:0] 비트들은 DQ1[27:0]로 맵핑되고, 제3 위크 비트 어드레스(WBA2)의 WBA2[27:0] 비트들은 DQ2[27:0]로 맵핑되고, 제4 위크 비트 어드레스(WBA3)의 WBA3[27:0] 비트들은 DQ3[27:0]로 맵핑될 수 있다. 그리고, 제5 내지 제8 위크 비트 어드레스들(WBA4[27:0] ~ WBA7[27:0]) 각각은, 순차적인 클럭킹을 따라 DQ4[27:0] 내지 DQ7[27:0] 각각으로 맵핑될 수 있다. 즉, 제1 내지 제8 위크 비트 어드레스들(WBA0[27:0] ~ WBA7[27:0]) 각각은 순차적인 클럭킹에 따라 DQ0[27:0] 내지 DQ7[27:0] 각각으로 동시에 맵핑될 수 있다.
이와 같은 방법으로, WBAk-8[27:0] 내지 WBAk-1[27:0]) 비트들 각각은, 순차적인 클럭킹을 따라 DQ0[28(k-1)+27:28(k-1)] 내지 DQ7[28(k-1)+27:28(k-1)] 각각으로 동시에 맵핑될 수 있다. 마지막 유효 WBA 어드레스 WBAk[27:0] 비트들은 순차적인 클럭킹을 따라 DQ0[28k+27:28k]으로 맵핑될 수 있다.
도 21은 본 발명의 다양한 실시예들에 따른 BFM 기반의 WBA 생성 플로우를 설명하는 도면이다.
도 21을 참조하면, BFM(10)을 이용하여 WBAs를 생성하고, WBAs를 버퍼 칩(110) 내 WBA 테이블 SRAM(20b)에 저장할 수 있다. BFM 기반의 WBA 전달 플로우는, 파워-업(251) 후 SPD 독출한다(252). 버퍼 칩(110)을 초기화(253)하고, DRAM(130)을 초기화한다(254).
DRAM(130)의 ZQ 캘리브레이션 동작(255)과, 버퍼 칩(110)에서의 DRAM 트레이닝(training) 동작(256), 그리고 호스트에 의한 버퍼 칩 트레이닝 동작(257)이 이루어지고, 노멀 트레이닝 동작(198)이 이루어진다. 이 후, 버퍼 칩(110)의 BFM(10)에 의한 WBAs를 생성할 수 있다(259).
도 22는 본 발명의 다양한 실시예들에 따른 BFM 기반의 WBA를 전달하는 버퍼 칩(110)을 설명하는 제1 예의 도면이다.
도 22를 참조하면, 버퍼 칩(110)은 BFM(10), SRAM(20), 제1 스위치(40) 그리고 제2 스위치(50)를 포함할 수 있다. 테스트시, 커맨드와 어드레스 버스 그리고 DQ 버스는 제2 스위치(50)를 통해 BFM(10)과 연결될 수 있다. BFM(10)에 의해 WBAs들이 검출되면, BFM(10)는 WBAs를 SRAM(20) 내 WBA 테이블 SRAM(20b)에 저장할 수 있다.
또한, BFM(10)은 DRAM(130)에 저장된 WBA에 해당되는 데이터를 데이터 SRAM(2b)에 저장할 수 있다. 이 후, 호스트(120)로부터 WBAs에 대한 모든 억세스는 제1 스위치(40)를 통해 DRAM(130) 대신에 버퍼 칩(110) 내 SRAM(20)에서 이루어질 수 있다.
도 23은 본 발명의 다양한 실시예들에 따른 BFM 기반의 WBA를 전달하는 버퍼 칩(110)을 설명하는 제2 예의 도면이다.
도 23을 참조하면, 테스트시, 커맨드와 어드레스 버스 그리고 DQ 버스는 제2 스위치(50)를 통해 BFM(10)과 연결될 수 있다. BFM(10)에 의해 WBAs들이 검출되면, BFM(10)는 WBAs를 SRAM(20) 내 WBA 테이블 SRAM(20b)과 NVM(30)에 업데이트할 수 있다. 또한, BFM(10)은 DRAM(130)에 저장된 WBA에 해당되는 데이터를 데이터 SRAM(20b)에 업데이트할 수 있다.
SRAM(20b) 및 NVM(30)에 WBA 테이블을 업데이트시키는 동작은 DRAM(130) 초기화 동안 또는 인-필드 동작에서 진행할 수 있다. 이 후, 호스트(120)로부터 WBAs에 대한 모든 억세스는 제1 스위치(40)를 통해 DRAM(130) 대신에 버퍼 칩(110) 내 SRAM(20)에서 이루어질 수 있다.
WBA 테이블은 로우 어드레스들, 칼럼 어드레스들, 뱅크 어드레스들 그리고 랭크 어드레스들을 저장할 수 있다. WBA 테이블 내 WBAs의 전체 어드레스 수는 (랭크 당 WBAs 수(ENmax)*랭크 수)로 계산될 수 있다. WBA 테이블과 데이터 SRAM의 포맷은 DRG(Data Replacement Granularity)에 의해 정해질 수 있다.
DRG는 하나의 랭크를 기준으로 할 수 있다. WBA의 크기는 구제 가능한 WBA 수, 필드 길이(field length)의 조합, 그리고 DRG에 의해 결정될 수 있다. WBA는 고정된 랭크 순서, 예컨대 "랭크0 -> 랭크1 -> 랭크2 -> 랭크3" 순으로 전달되기 때문에, WBAs은 랭크 별로 자동적으로 소팅할 수 있다.
도 24 내지 도 26은 본 발명의 다양한 실시예들에 따른 WBA 테이블 및 데이터 SRAM(20) 포맷을 설명하는 도면이다.
도 24를 참조하면, 하나의 랭크 기반의 WBA 테이블 SRAM(20a)은 로우 어드레스들, 칼럼 어드레스들 그리고 뱅크 어드레스들을 저장할 수 있다. 이 경우, DQ 어드레스 필드들이 존재하지 않는다. 그리고, 스위치 콘트롤 비트(Switch Control Bit: SCB)는 1 비트로써, 호스트 요청 어드레스들과 WBAs 사이의 비교 결과인 매치 또는 비-매치를 나타낼 수 있다. WBA에 해당되는 데이터는, 도 25와 같은 포맷으로 DQ 맵핑되어 데이터 SRAM(20b)에 저장될 수 있다.
DRG가 x4 또는 x8 칩 기반의 랭크 데이터 위스 보다 적다면, WBA 테이블은 DQ 어드레스들을 포함할 수 있다. WBA 테이블은, 도 26에 도시된 바와 같이, 개별적으로 또는 결합적으로 SCB와 함께 사용될 수 있다. DRG와 SCB 결합은 WBA 테이블 및 데이터 SRAM의 용량을 결정할 수 있다.
DRG는 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위 등으로 결정될 수 있다. DRG가 작을수록 WBA 크기가 커지게 된다. DRG 관련된 SCB는 개별적으로 DRAM 칩에 직접 맵핑할 수도 있고, SCB를 이용하여 인코딩하여 DRAM 칩을 선택할 수 있다.
도 27은 본 발명의 다양한 실시예들에 따른 SCB 맵핑을 설명하는 도면이다.
도 27을 참조하면, SCB[17:0] 비트들을 이용하여 x4 4 랭크의 DQs를 직접 맵핑할 수 있다. 예컨대, SCB의 가장 오른쪽에 할당된 1번째 비트는 DQ0-DQ3으로 맵핑되고, 2번째 비트는 DQ4-DQ7로 맵핑될 수 있다. SCB의 가장 왼쪽에 할당된 18번째 비트는 DQ68-DQ71로 맵핑되고, 17번째 비트는 DQ64-DQ67로 맵핑될 수 있다. SCB의 2번째 비트와 18번째 비트가 "1"로 설정되어, 맵핑되는 DQ4-DQ7, DQ68-DQ71는 SRAM(20)으로 스위치될 수 있다.
다른 방법으로, SCB[4:0] 비트들을 인코딩하여 DRAM 칩들을 선택할 수 있다. SCB[4:0] 비트들이 "00000"으로 설정되면 DQ0-DQ3이 맵핑되고, SCB[4:0] 비트들이 "00001"으로 설정되면 DQ4-DQ7이 맵핑될 수 있다. 그리고, SCB[4:0] 비트들이 "10000"으로 설정되면 DQ64-DQ67이 맵핑되고, SCB[4:0] 비트들이 "10001"으로 설정되면 DQ68-DQ71이 맵핑될 수 있다.
도 28 및 도 29는 DRG와 SCB의 결합에 따른 WBA 테이블 및 데이터 SRAM의 용량을 설명하는 도면들이다.
도 28을 참조하면, x8 랭크 기반의 경우, SCB는 1 비트로 설정하고, DRG는 x72로 설정하고, DRAM 칩 당 WBAs 수를 1024개 라고 가정하자. SCB+DRG 비트 수는 1+72=73 이다. 로우 어드레스, 칼럼 어드레스 그리고 뱅크 어드레스를 포함하는 WBA는 WBA[27:0]로서, 28 비트이다. 이에 따라, 랭크 당 WBA 테이블은 28x9x1024=252K 용량이 필요하다. 랭크 당 데이터 SRAM은 73x1024=73K 용량이 필요하다. 4 랭크 당 252Kx4≒1M 용량의 WBA 테이블 SRAM이 필요하고, 73Kx4=292K 용량의 데이터 SRAM이 필요하게 된다.
x4 랭크 기반의 경우, SCB는 1 비트로 설정하고, DRG는 x72로 설정하고, DRAM 칩 당 WBAs 수를 1024개 라고 가정하자. SCB+DRG 비트 수는 1+72=73 이다. 로우 어드레스, 칼럼 어드레스 그리고 뱅크 어드레스를 포함하는 WBA는 WBA[28:0]로서, 29 비트이다. 이에 따라, 랭크 당 WBA 테이블은 29x9x1024=522K 용량이 필요하다. 랭크 당 데이터 SRAM은 73x1024=73K 용량이 필요하다. 4 랭크 당 522Kx4≒2M 용량의 WBA 테이블 SRAM이 필요하고, 73Kx4=292K 용량의 데이터 SRAM이 필요하게 된다.
도 29를 참조하면, x8 칩 기반의 경우, SCB는 9 비트로 설정하고, DRG는 x8로 설정하고, DRAM 칩 당 WBAs 수를 1024개 라고 가정하자. SCB+DRG 비트 수는 9+8=17 이다. 로우 어드레스, 칼럼 어드레스 그리고 뱅크 어드레스를 포함하는 WBA는 WBA[27:0]로서, 28 비트이다. 이에 따라, 랭크 당 WBA 테이블은 28x9x1024=252K 용량이 필요하다. 랭크 당 데이터 SRAM은 17x1024=17K 용량이 필요하다. 4 랭크 당 252Kx4≒1M 용량의 WBA 테이블 SRAM이 필요하고, 17Kx4=68K 용량의 데이터 SRAM이 필요하게 된다.
x4 칩 기반의 경우, SCB는 18 비트로 설정하고, DRG는 x4로 설정하고, DRAM 칩 당 WBAs 수를 1024개 라고 가정하자. SCB+DRG 비트 수는 18+4=22 이다. 로우 어드레스, 칼럼 어드레스 그리고 뱅크 어드레스를 포함하는 WBA는 WBA[28:0]로서, 29 비트이다. 이에 따라, 랭크 당 WBA 테이블은 29x9x1024=522K 용량이 필요하다. 랭크 당 데이터 SRAM은 22x1024=22K 용량이 필요하다. 4 랭크 당 522Kx4≒2M 용량의 WBA 테이블 SRAM이 필요하고, 22Kx4=88K 용량의 데이터 SRAM이 필요하게 된다.
WBA 매치를 위한 비교 동작은 WBA 테이블 기준으로 각각의 랭크에서 수행될 수 있다.
도 30은 본 발명의 다양한 실시예들에 따른 랭크 기반의 WBA 병렬 비교를 설명하는 도면이다.
도 30을 참조하면, 어드레스 매칭 시간을 줄이기 위하여, 랭크들은 병렬적으로 비교 동작을 수행할 수 있다. 랭크 기반의 WBA는 메타 테이블들과 연계되고, 어드레스 매치 연산 모드를 셋팅하기 위하여 이용될 수 있다. 메타 테이블들은 실제적인 WBAs 수, WBA 필드들의 범위로 구성될 수 있고, NVM(30)에 저장될 수 있다. 이 하, 명세서에서 NVM(30)은 메타 테이블(30)로도 칭하여 설명될 수 있다.
ATE 기반의 WBAs 발생의 경우, 실제적인 WBAs 수는 추가적인 WBA 전달 사이클들을 통해 전달되거나 제품 테스트 시 NVM(30)에 저장될 수 있다. NVM(30)에 저장되는 WBAs은 메타 테이블로 구성되고, 파워-업 시 WBA 테이블 SRAM(20)에 저장될 수 있다. SCBs는 DRAM 칩의 DQs에 전용적으로 할당될 수 있다. 이 경우, SCBs는 대체를 위하여 멀티플 니블-와이드(multiple nibble-wide) DQs 을 식별하도록 사용될 수 있다.
SCB가 "1"이면, 버퍼 칩(110)는 SRAM(20)으로 스위치되고, 그렇지 않다면 DRAM(130)으로 스위치된다. 만약 호스트로부터 요청되는 로우/칼럼/뱅크/랭크 어드레스들과 WBA 테이블 SRAM(20) 사이에 매치가 있으며, 매치 신호(MATCH_RANK#)와 엔트리 식별 넘버(EID) 및/또는 SCBs를 데이터 SRAM과 데이터 멀티플렉싱 스위치로 전달할 수 있다.
도 31a 및 도 31b는 본 발명의 다양한 실시예들에 따른 메타 테이블 포맷을 설명하는 제1 예의 도면이다.
도 31a를 참조하면, NVM(30)에 저장되는 x4 기반 모듈의 메타 테이블을 설명한다. 메타 테이블(30)은 랭크 어드레스, 실제적인 WBAs 수, 로우 어드레스, 칼럼 어드레스, 뱅크 어드레스 그리고 SCB 맵핑 비트들로 구성될 수 있다.
제1 랭크의 메타 테이블(Meta0)은, 예컨대, 00 랭크 어드레스, WBAs 수(ENmax0), 로우 어드레스(WBA[46:32]), 칼럼 어드레스(WBA[31:21]), 뱅크 어드레스(WBA[20:18]) 그리고 SCB 비트들(WBA[17:0])로 구성될 수 있다. 제2 랭크의 메타 테이블(Meta1)은, 예컨대, 01 랭크 어드레스, WBAs 수(ENmax1), 로우 어드레스(WBA[46:32]), 칼럼 어드레스(WBA[31:21]), 뱅크 어드레스(WBA[20:18]) 그리고 SCB 비트들(WBA[17:0])로 구성될 수 있다.
제3 랭크의 메타 테이블(Meta2)은, 예컨대, 10 랭크 어드레스, WBAs 수(ENmax2), 로우 어드레스(WBA[46:32]), 칼럼 어드레스(WBA[31:21]), 뱅크 어드레스(WBA[20:18]) 그리고 SCB 비트들(WBA[17:0])로 구성될 수 있다. 제4 랭크의 메타 테이블(Meta3)은, 예컨대, 00 랭크 어드레스, WBAs 수(ENmax0), 로우 어드레스(WBA[46:32]), 칼럼 어드레스(WBA[31:21]), 뱅크 어드레스(WBA[20:18]) 그리고 SCB 비트들(WBA[17:0])로 구성될 수 있다.
도 31b를 참조하면, SCB[17:0] 비트들을 이용하여 x4 DRAM 칩을 직접 맵핑할 수 있다. 예컨대, SCB[0]은 DQ0-DQ3으로 맵핑되고, SCB[1]은 DQ4-DQ7로 맵핑될 수 있다. 나머지 SCB 비트들이 4 DQs에 순차적으로 할당되어, SCB[16]은 DQ64-DQ67로 맵핑되고, SCB[17]은 DQ68-DQ71로 맵핑될 수 있다.
SCB[17:0] 비트들 중 "1" 로 설정되는 비트는 해당되는 맵핑 DQs은 SRAM(20)으로 스위치될 수 있다. 예컨대, SCB[1]과 SCB[17]이 "1"로 설정되어 있으므로, DQ4-DQ7, DQ68-DQ71는 SRAM(20)으로 스위치될 수 있다.
도 32a 및 도 32b는 본 발명의 다양한 실시예들에 따른 NVM(30) 포맷을 설명하는 제2 예의 도면이다.
도 32a를 참조하면, NVM(30)에 저장되는 x8 기반 모듈의 메타 테이블을 설명한다. 메타 테이블은 랭크 어드레스, 실제적인 WBAs 수, 로우 어드레스, 칼럼 어드레스, 뱅크 어드레스 그리고 SCB 맵핑 비트들로 구성될 수 있다.
제1 랭크의 메타 테이블(Meta0)은, 예컨대, 00 랭크 어드레스, WBAs 수(ENmax0), 로우 어드레스(WBA[36:22]), 칼럼 어드레스(WBA[21:12]), 뱅크 어드레스(WBA[11:9]) 그리고 SCB 비트들(WBA[8:0])로 구성될 수 있다. 제2 랭크의 메타 테이블(Meta1)은, 예컨대, 01 랭크 어드레스, WBAs 수(ENmax1), 로우 어드레스(WBA[36:22]), 칼럼 어드레스(WBA[21:12]), 뱅크 어드레스(WBA[11:9]) 그리고 SCB 비트들(WBA[8:0])로 구성될 수 있다.
제3 랭크의 메타 테이블(Meta2)은, 예컨대, 10 랭크 어드레스, WBAs 수(ENmax2), 로우 어드레스(WBA[36:22]), 칼럼 어드레스(WBA[21:12]), 뱅크 어드레스(WBA[11:9]) 그리고 SCB 비트들(WBA[8:0])로 구성될 수 있다. 제4 랭크의 메타 테이블(Meta3)은, 예컨대, 11 랭크 어드레스, WBAs 수(ENmax3), 로우 어드레스(WBA[36:22]), 칼럼 어드레스(WBA[21:12]), 뱅크 어드레스(WBA[11:9]) 그리고 SCB 비트들(WBA[8:0])로 구성될 수 있다.
도 32b를 참조하면, SCB[8:0] 비트들을 이용하여 x8 DRAM 칩을 직접 맵핑할 수 있다. 예컨대, SCB[0]은 DQ0-DQ7으로 맵핑되고, SCB[1]은 DQ8-DQ15로 맵핑될 수 있다. 나머지 SCB 비트들이 8 DQs에 순차적으로 할당되어, SCB[7]은 DQ56-DQ63로 맵핑되고, SCB[8]은 DQ64-DQ71로 맵핑될 수 있다. SCB[8:0] 비트들 중 "1" 로 설정되는 비트는 해당되는 맵핑 DQs은 SRAM(20)으로 스위치될 수 있다. 예컨대, SCB[0]과 SCB[8]이 "1"로 설정되어 있으므로, DQ0-DQ7, DQ64-DQ71는 SRAM(20)으로 스위치될 수 있다.
SRAM(20)은 CAM (Content-Addressable Memory)으로 구현될 수 있다. 매칭 어드레스 동작과 SCB 독출은 TCAM(Ternary Content-Addressable Memory)를 이용하여 순차적인 방법으로 수행될 수 있다.
도 33은 본 발명의 다양한 실시예들에 따른 시퀀셜 매칭을 설명하는 도면이다.
도 33을 참조하면, 메타 테이블(30)에 저장된 WBAs이 CAM 타입의 WBA 테이블 SRAM(20a)에 저장될 수 있다. 먼저, 액티브 커맨드가 수신될 때, 랭크 매치된 CAM(20a) 내에서 로우와 뱅크 어드레스 비교가 수행될 수 있다. 이 후, 독출 또는 기입 명령이 인가될 때, 칼럼과 뱅크 어드레스 비교가 수행될 수 있다. 만약 매치가 있으면, SCB는 인코딩된 EID(Entry IDentification)로 독출될 수 있다. 메타 테이블(30)은 유효한 매치 라인들과 유효한 선택 라인들의 범위로 셋팅될 수 있다.
WBA 테이블 SRAM(20a)과 데이터 SRAM(20)은 오프-칩 인터페이스(off-chip interface)로 통신될 수 있다.
도 34는 본 발명의 다양한 실시예들에 따른 메모리 시스템을 설명하는 제2 예의 도면이다.
도 34를 참조하면, 메모리 시스템(300)은 제1 메모리 버퍼 칩들(310), 제2 메모리 버퍼 칩(340), 호스트(320) 그리고 메모리 장치(330)를 포함한다. 메모리 장치(330)는 다수개의 DRAM 칩들로 구성될 수 있다. 제1 메모리 버퍼 칩들(310)은 DRAM 칩(330) 각각과 연결되고, DRAM 칩(330) 개수만큼 존재할 수 있다.
제1 메모리 버퍼 칩(310)은 해당 DRAM 칩(330)의 WBA에 저장될 데이터를 대신 저장하는 데이터 SRAM(20b)과, DRAM 칩(330) 또는 데이터 SRAM(20b)을 스위칭하는 스위치(40)를 포함할 수 있다. 제2 메모리 버퍼 칩(340)은 WBA 테이블 SRAM(20a)과 사이드밴드 제어부(50)를 포함할 수 있다. 제1 메모리 버퍼 칩들(310)과 제2 메모리 버퍼 칩(340)은 사이드밴드 버스들(SideBand Buses: SBB)을 통하여 통신할 수 있다. WBA 테이블 SRAM(20a)과 데이터 SRAMs(20b)은 오프-칩 인터페이스로 통신할 수 있다.
만약 DRAM(330)에서 제2 메모리 버퍼 칩(340)으로 WBA 전달들이 있고 이들 사이에 직접 경로가 없다면, WBAs는 호스트(320)로 먼저 전달될 수 있고, 이 후 호스트(320)는 WBAs을 제2 메모리 버퍼 칩(340)으로 전달할 수 있다. WBAs은 WBA 테이블 SRAM(20a) 및/또는 NVM(미도시)에 저장될 수 있다.
SBB는 사이드밴드 클럭(SBCK, /SBCK), 사이드밴드 제어 신호들, 사이드밴드 제어 데이터들(SBCD), 그리고 SBCD를 위한 데이터 윈도우 신호로 구성될 수 있다. 사이드밴드 제어 데이터 패킷은 SBB를 통하여 전달될 수 있다.
도 35 및 도 36은 본 발명의 다양한 실시예에 따른 사이드밴드 제어 데이터 패킷의 레이아웃과 필드들을 설명하는 도면이다.
도 36과 연계하여, 도 35를 참조하면, SBB가 예컨대, 6 비트 위스를 갖는 경우 사이드밴드 제어 데이터 패킷 구성을 보여준다. 제1 내지 제6 SBCD 패킷들(SBCD0 ~ SBCD5)는 4 사이클 레이아웃으로 구성될 수 있다.
첫번째 사이클 2 비트 (SBCD1[0]:SBCD0[0])은 커맨드(COM[1:0])를 구성할 수 있다. 커맨드(COM[1:0])는 독출(00)/기입(01)/제어 상태 레지스터(10)/노 매치(11)로 설정될 수 있다. 2 비트 (SBCD3[0]:SBCD2[0])은 최대 4개 랭크들의 랭크 ID(RID[1:0])를 구성할 수 있다. 1 비트 (SBCD4[0])은 BL8 또는 BL4를 결정하는 버스트 촙(Burst Chop: CHP)을 구성할 수 있다. 3 비트 (SBCD1[1], SBCD0[1], SBCD5[0])은 버스트 오더링(Burst Ordering: BOD)을 구성할 수 있다.
10 비트(SBCD5[2], SBCD4[2], SBCD3[2], SBCD2[2], SBCD1[2], SBCD0[2], SBCD5[1], SBCD4[1], SBCD3[1], SBCD2[1])은, 예컨대, WBAs가 1024개일 경우, 엔트리 식별 번호(Entry Identification Number: EID[9:0])로 구성될 수 있다. 5 비트 (SBCD4[3], SBCD3[3], SBCD2[3], SBCD1[3], SBCD0[3])은, 예컨대 x4 니블 기반일 경우, 스위치 제어 비트(Switch Control Bit: SCB[4:0])로 구성될 수 있다. 나머지 1 비트는 남겨진다(reserved).
SCBs는 대체를 위하여 18 니블-와이드 DQs 중 하나를 식별하는 데 사용되므로, 5 비트 SCB면 충분할 것이다. 멀티플 니블-와이드 DQs를 대체하기 위해서는 더 많은 비트들이 SCB에 추가되어야 할 것이다. 이것은 SBB 동작 주파수의 증가가 없는 한, SBB의 버스 위스 증가를 초래할 수 있다. SBB는 노멀 커맨드/어드레스 버스들처럼 인-밴드 주파수(in-band frequency)로 동작할 것이 기대될 수 있다.
도 37 및 도 38는 본 발명의 다양한 실시 예들에 따른 SBB 동작 타이밍을 설명하는 도면들이다.
도 37을 참조하면, T0 타이밍에서, 버퍼 칩(110) 초기화 후, 모든 SBCD 비트들은 예컨대 "1"로 셋팅될 수 있다.
T2 타이밍에서, 어드레스 매치가 있다면, COM 필드 비트들(SBCD0, SBCD1)은 "00" 또는 "01"로 변경되고, 첫 번째 매치된 제어 데이터 패킷이 다음 3 사이클(T3-T5)까지 전달될 수 있다. 이 후, 만약 어드레스 매치가 없다면, COM 필드 비트들은 "11"로 리셋될 수 있다. 매치가 계속되면, 새로운 데이터 패킷들이 매 4 사이클마다 전달될 수 있다.
만약 가변적인 패킷 길이가 도입되면, 도 38와 같이, 유효한 패킷 윈도우를 보장하기 위하여 개별적인 프리앰블/포스트앰블 신호가 사용될 수 있다. 개별적인 프리앰블/포스트앰블 신호(SBCDW)가 "로우(Low)"로 셋팅되면, 제어 데이터의 유효한 전달이 패킷 레이턴시(tPKL, PacKet Latency) 후 시작될 수 있다. 제어 데이터의 유효한 전달은 SBCDW가 "하이"로 리셋될 때까지 계속될 수 있다.
제어 데이터의 전달은 타이밍 제한들을 준수할 것이 요구될 수 있다. 준수할 타이밍들에는, 각 WBA 테이블은 tRRD 시간 윈도우 안에서 1 로우 어드레스 매치를 수행한다, 각 WBA 테이블은 tCCD 시간 윈도우 안에서 1 칼럼 어드레스 매치를 수행한다, 또는 제어 데이터 패킷은 tCCD 시간 윈도우 내에서 전송되어야 한다 등으로 제한될 수 있다.
DRAM(130) 리프레쉬 사이클 동안 SRAM 스크러빙(scrubbing)을 수행하여 SRAM 신뢰도를 향상시킬 수 있다. SRAM(20)의 멀티 비트 에러 누적을 방지하고 싱글 비트 에러들을 정정하기 위하여, 셀프 스크러빙 ECC 회로부들이 동작될 수 있다.
도 39는 본 발명의 다양한 실시예들에 따른 SRAM 에러 핸들링을 설명하는 도면이다.
도 39를 참조하면, DRAM(130)으로 리프레쉬 커맨드가 인가될 때, SRAM 스크러빙 동작이 수행될 수 있다. 셀프-스크러빙 인터벌은 프로그램될 수 있고, 셀프-스크러빙은 디세이블될 수 있다.
랭크 기반의 WBA 테이블 및 데이터 SRAM, DRAM에 대하여 파워 매니지먼트를 수행할 수 있다. WBA 테이블 및 데이터 SRAM의 파워 세이빙 모드들은, 기본적으로 랭크 기반으로 DRAM의 파워 세이빙 모드처럼 제어될 수 있다.
도 40은 본 발명의 다양한 실시예들에 따른 파워 매니지먼트를 설명하는 도면이다.
도 40을 참조하면, DRAM(130)이 액티브 파워 다운 모드, 프리차아지 파워 다운 모드, 오토 리프레쉬 모드, 셀프 리프레쉬 모드, 파아셜 셀프 리프레쉬 모드(PASR), 또는 BFM 모드일 때, WBA 테이블 및 데이터 SRAM(20)의 코어 어레이 블락의 파워는 온(on)시키고, 주변 회로 블락은 오프(off)시킬 수 있다. DRAM이 오토 리프레쉬 모드일 때, WBA 테이블 및 데이터 SRAM(20)의 스크러빙 동안 SRAM(20)의 주변 회로 블락은 온(on) 될 수 있다. 또한, DRAM이 BFM 모드일 때, 필요에 따라 SRAM(20)의 주변 회로 블락은 온(on) 될 수 있다.
WBA 테이블 및 데이터 SRAM(20)의 파워 세이빙 모드 진입과 웨이크-업(wake-up)은 DRAM(130) 보다 먼저 수행될 수 있고, 이로 인해 소정의 타이밍 패널티가 예상될 수 있다. DRAM 독출/기입 동작 중에 WBA 테이블 및 데이터 SRAM(20)으로 인한 파워 증가의 양을 줄이기 위하여, 주어진 리퀘스트 어드레스가 SRAM(20)으로 대체되는 DRAM(130)은 데이터 입력/출력 버퍼들을 턴-오프시킬 수 있다. 또는 DRAM(130)은 추가적인 핀 또는 동작상 유용한 핀들, 예컨대 DM(Data Mask) 신호들을 이용하여 데이터 경로를 턴-오프시킬 수 있다.
도 41은 본 발명의 다양한 실시예에 따른 메모리 장치를 설명하는 제1 예의 도면이다.
도 41을 참조하면, 메모리 장치(400)는 테스트부(410), 제1 메모리 영역(430), 제2 메모리 영역(420), 그리고 주변 로직 회로부(440)를 포함한다. 테스트부(410)는 본 명세서에서 상술하고 있는 BFM에 해당할 수 있다. 제1 메모리 영역(430)은 DRAM 셀들로 구성되는 메모리 영역으로 구성되고, 제2 메모리 영역(420)은 SRAM 셀들로 구성되는 메모리 영역으로 구성될 수 있다.
메모리 장치(400)는 퓨즈 어레이 또는 안티 퓨즈 어레이와 같은 NVM 영역(441)과 제1 메모리 영역(430) 또는 제2 메모리 영역(420)을 선택적으로 억세스하는 스위치(442)를 더 포함할 수 있다. 설명의 편의를 위해, 테스트부(410)는 BFM(410)으로 칭하고, 제1 메모리 영역(430)은 DRAM 영역(430)으로 칭하고, 제2 메모리 영역(420)은 SRAM 영역(420)으로 칭할 수 있다.
BFM(410)은 제1 메모리 영역(430) 내 위크 비트를 스크린할 수 있다. BFM(410)은 팩토리 수준의 위크 비트 자체 검출 능력을 갖는 빌트-인 셀프 테스트 기법을 탑재하여, SRAM 영역(420)을 이용하여 DRAM 영역(430)의 위크 비트를 호스트 모르게 대체할 수 있다.
스크린된 위크 비트 어드레스(WBA)는 SRAM 영역(420)과 NVM 영역(441)에 저장될 수 있다. 주변 로직 회로부(440)는 스위치(442)를 통하여 WBA에 대한 억세스를 DRAM 영역(430) 대신에 SRAM 영역(420)에서 이루어지도록 제어할 수 있다.
BFM(410)은 커맨드와 어드레싱의 여러 조합으로 이루어진 테스트 시퀀스를 이용하여 WBA를 스크린할 수 있다. 테스트시, 독출 또는 기입 명령이 없는 액티브-프리차아지 커맨드를 생성할 수 있다. 테스트 시퀀스는 상위 어드레스 시퀀스 루프 안에 하위 어드레스 시퀀스 루프가 존재하는, 즉 네스티드 어드레스 패턴을 생성할 수 있다.
테스트 시퀀스는 칼럼 방향 스트라이드(Stride) 또는 점프(Jump) 크기를 프로그래머블하게 구성할 수 있다. 또는 로우 및 칼럼 두 방향 모두 스트라이드 또는 점프 크기를 프로그래머블하게 구성할 수 있다. 테스트 패턴들은 지정된 두개의 로우들에 반복적으로 백-앤드-포스(back and forth) 할 수 있다. 또는, 하나의 로우에 반복적으로 액티브-프리차아지 동작을 수행할 수 있다. 테스트시, 액티브-프리차아지 명령과 액티브-프리차아지 명령 사이에 노-오퍼레이션 명령(No Operation Command, NOP) 수를 조절할 수 있다.
BFM(410)은 테스트 동안 메모리 장치(400)의 DC 바이어스 레벨을 변경할 수 있고, 사용자 설정 테스트 시퀀스들을 프로그램할 수 있다. 팩토리 뿐만 아니라 인-필드에서도 다양한 종류들의 테스트 시퀀스들을 테스트할 수 있는 유연성을 사용자에게 제공할 수 있다.
BFM(410)은 인-팩토리에서 WBA를 스크린하여 에러 로그하고, WBA를 저장할 수 있다. 테스트 플로우 중에 에러가 검출되면, 해당 에러 어드레스와 데이터는 에러 로그 레지스터에 기록될 수 있다. 에러 발생 때마다 모든 에러 로그 레지스터들이 가득 찼는지를 확인하고, 이 과정은 자동적으로 이루어질 수 있다.
에러 로그 레지스터들이 가득 차지 않았다면 테스트를 계속할 수 있다. 에러 로그 레지스터들이 가득 찼다면, 이들 레지스터들 내 저장된 어드레스와 데이터는 NVM(441)으로 덤프될 수 있다. 이 후, 자동적으로 테스트를 계속하여 다음에 발생할 에러들을 저장하도록 할 수 있다. 또한, BFM(410)은 인-필드 동작들 중에, 호스트의 필요에 따라 또는 호스트 내 ECC에 의해 제2 메모리 영역(420)의 WBAs을 실시간으로 업데이트시킬 수 있다.
BFM(410)은 메모리 장치(400) 내부의 모드 레지스터를 이용하여 DRAM 영역(430)에서 발생되는 내부 DC 전압 레벨을 조절할 수 있는 프로토콜을 제공할 수 있다. 예컨대, MR3 모드 레지스터를 이용할 수 있다. MR3 모드 레지스터는 버퍼 칩이나 테스트 장비에서 제어 가능하게 설정될 수 있다.
MR3 모드 레지스터와 링크되는 A3-A10 비트들은 DC 레벨들을 제어하도록 설정될 수 있다. 이들 레지스터 필드 비트들은 테스트 장비 또는 사용자 정의된 테스트 시퀀스 프로그램 어느 것에 의해서도 제어될 수 있다. 또한, 동일한 수의 비트들이 BFM 레지스터 내 특정 필드들에 정의될 수 있다. 예컨대, BFM 레지스터 비트[48:41]은 DCs의 4 가지 타입으로 설정될 수 있다. 각 DC는 4 가지 다른 레벨들로 셋팅될 수 있다. 이것은 필요에 따라 DC 전압 레벨들을 변경하는 사용자 정의 테스트 시퀀스 프로그램에 요구될 수 있다.
BFM(410)은 메모리 장치(400) 내부의 AC 타이밍 파라미터들을 소정의 레졸루션을 가지고 조절할 수 있다. AC 타이밍 파라미터들에는 tRAS, tRP, tRCD, tWR, tREF, tPAUSE 등이 있다. AC 타이밍은 메모리 장치(400) 내 클럭 주기(tCK)를 기반으로 조절될 수 있다. 메모리 장치(400) 내부에 구비된 AC 타이밍 제어 레지스터는 버퍼 칩과 테스트 장비에서 제어 가능하다. 하나의 테스트 시퀀스에서 스트레스를 주기 위해 억세스되는 셀과 테스트 프리-컨디션을 위해 억세스되는 셀의 AC 타이밍을 서로 다르게 차별적으로 적용할 수 있다.
SRAM 영역(420)은 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들, 뱅크 어드레스들 그리고 랭크 어드레스들을 저장할 수 있다. 또한, SRAM 영역(420)은 WBA에 해당하는 DRAM 영역(430)에 저장된 데이터를 저장할 수 있다.
WBA 테이블 및 데이터 SRAM 영역(420)은 DRG에 의해 구제되는 비트의 단위가 정해질 수 있다. DRG는 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위 등으로 결정될 수 있다. WBA의 크기는 구제 가능한 WBA 수, 필드 길이의 조합, 그리고 DRG에 의해 결정될 수 있다. WBA는 고정된 랭크 순서, 예컨대 "랭크0 -> 랭크1 -> 랭크2 -> 랭크3" 순으로 전달되기 때문에, WBAs은 랭크 별로 자동적으로 소팅할 수 있다.
SRAM 영역(420)은 랭크 기반의 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들 그리고 뱅크 어드레스들을 저장할 수 있다. 이 경우, DQ 어드레스 필드들이 존재하지 않는다. 그리고, 스위치 콘트롤 비트(Switch Control Bit: SCB)는 1 비트로써, 호스트 요청 어드레스들과 WBAs 사이의 비교 결과인 매치 또는 비-매치를 나타낼 수 있다. WBA에 해당되는 데이터는 DQ 맵핑되어 데이터 SRAM 영역(420)에 저장될 수 있다.
DRG가 x4 또는 x8 칩 기반의 랭크 데이터 위스 보다 적다면, WBA 테이블은 DQ 어드레스들을 포함할 수 있다. WBA 테이블은 개별적으로 또는 결합적으로 SCB와 함께 사용될 수 있다. DRG와 SCB 결합은 WBA 테이블 및 데이터 SRAM 영역(420)의 용량을 결정할 수 있다. DRG가 작을수록 WBA 크기가 커지게 된다. DRG 관련된 SCB는 개별적으로 DRAM 칩에 직접 맵핑할 수도 있고, SCB를 이용하여 인코딩하여 DRAM 칩을 선택할 수 있다.
BFM(410)에 의해 WBAs들이 검출되면, BFM(410)는 WBAs를 NVM 영역(441)에 업데이트할 수 있다. 또는, ATE 기반의 WBA 발생의 경우, WBA는 제품 테스트 시 NVM 영역(441)에 저장될 수 있다. 어드레스 매칭 시간을 줄이기 위하여, 랭크들은 병렬적으로 비교 동작을 수행할 수 있다. 랭크 기반의 WBA는 메타 테이블들과 연계되고, 어드레스 매치 연산 모드를 셋팅하기 위하여 이용될 수 있다. 메타 테이블들은 실제적인 WBAs 수, WBA 필드들의 범위로 구성될 수 있고, NVM 영역(441)에 저장될 수 있다.
ATE 기반의 WBAs 발생의 경우, 실제적인 WBAs 수는 추가적인 WBA 전달 사이클들을 통해 전달되거나 제품 테스트 시 NVM(441)에 저장될 수 있다. NVM(441)에 저장되는 WBAs은 메타 테이블로 구성되고, 파워-업 시 WBA 테이블 SRAM(420)에 저장될 수 있다. SCBs는 DRAM 칩의 DQs에 전용적으로 할당될 수 있다. SCBs는 대체를 위하여 멀티플 니블-와이드(multiple nibble-wide) DQs 을 식별하도록 사용될 수 있다.
SCB가 "1"이면, 스위치(442)는 SRAM 영역(420)으로 스위치되고, 그렇지 않다면 DRAM 영역(430)으로 스위치된다. 만약 호스트로부터 요청되는 로우/칼럼/뱅크/랭크 어드레스들과 WBA 테이블 SRAM(420) 사이에 매치가 있으며, 매치 신호와 엔트리 식별 넘버 및/또는 SCBs를 데이터 SRAM(420)과 데이터 멀티플렉싱 스위치(442)로 전달할 수 있다.
메타 테이블 NVM(441)에 저장된 WBAs은 CAM 타입의 WBA 테이블 SRAM(420)에 저장될 수 있다. 먼저, 액티브 커맨드가 수신될 때, 랭크 매치된 CAM(420) 내에서 로우와 뱅크 어드레스 비교가 수행될 수 있다. 이 후, 독출 또는 기입 명령이 인가될 때, 칼럼과 뱅크 어드레스 비교가 수행될 수 있다. 만약 매치가 있으면, SCB는 인코딩된 EID(Entry IDentification)로 독출될 수 있다. 메타 테이블 NVM(441)은 유효한 매치 라인들과 유효한 선택 라인들의 범위로 셋팅될 수 있다.
SRAM 영역(420)은 WBA 테이블 SRAM 부분와 데이터 SRAM 부분을 오프-칩 인터페이스(off-chip interface)로 통신될 수 있다. 메모리 장치(400) 내 데이터 SRAM 영역(420)과 스위치(442)를 배치시키고, WBA 테이블 SRAM 부분은 메모리 장치(400)와는 별개의 칩으로 존재할 수 있다. 별개의 칩은 WBA 테이블 SRAM과 사이드밴드 제어부(50)를 포함할 수 있다. WBA 테이블 SRAM 영역와 별개의 데이터 SRAM 부분 사이의 오프 칩 인터페이스는 사이드밴드 버스들(SideBand Buses: SBB)을 통하여 통신할 수 있다.
SBB는 사이드밴드 클럭(SBCK, /SBCK), 사이드밴드 제어 신호들, 사이드밴드 제어 데이터들(SBCD), 그리고 SBCD를 위한 데이터 윈도우 신호로 구성될 수 있다. 사이드밴드 제어 데이터 패킷은 SBB를 통하여 전달될 수 있다. SBB는 노멀 커맨드/어드레스 버스들처럼 인-밴드 주파수(in-band frequency)로 동작할 수 있다.
SBB 동작은 메모리 장치(400)의 초기화 후, 모든 SBCD 비트들이 예컨대 "1"로 셋팅될 수 있다. 어드레스 매치가 있다면, COM 필드 비트들(SBCD0, SBCD1)은 "00" 또는 "01"로 변경되고, 첫 번째 매치된 제어 데이터 패킷이 다음 3 사이클까지 전달될 수 있다. 이 후, 만약 어드레스 매치가 없다면, COM 필드 비트들은 "11"로 리셋될 수 있다. 매치가 계속되면, 새로운 데이터 패킷들이 매 4 사이클마다 전달될 수 있다.
SBB 동작에서, 만약 가변적인 패킷 길이가 도입되면, 유효한 패킷 윈도우를 보장하기 위하여 개별적인 프리앰블/포스트앰블 신호가 사용될 수 있다. 개별적인 프리앰블/포스트앰블 신호(SBCDW)가 "로우"로 셋팅되면, 제어 데이터의 유효한 전달이 패킷 레이턴시(tPKL, PacKet Latency) 후 시작될 수 있다. 제어 데이터의 유효한 전달은 SBCDW가 "하이"로 리셋될 때까지 계속될 수 있다.
제어 데이터의 전달은 타이밍 제한들을 준수할 것이 요구될 수 있다. 준수할 타이밍들에는, 각 WBA 테이블은 tRRD 시간 윈도우 안에서 1 로우 어드레스 매치를 수행한다, 각 WBA 테이블은 tCCD 시간 윈도우 안에서 1 칼럼 어드레스 매치를 수행한다, 또는 제어 데이터 패킷은 tCCD 시간 윈도우 내에서 전송되어야 한다 등으로 제한될 수 있다.
DRAM 영역(430)의 리프레쉬 사이클 동안, WBA 테이블 및 데이터 SRAM 영역(420)의 스크러빙(scrubbing)을 수행하여 SRAM 영역(420)의 신뢰도를 향상시킬 수 있다. WBA 테이블 및 데이터 SRAM(420)의 멀티 비트 에러 누적을 방지하고 싱글 비트 에러들을 정정하기 위하여, 셀프 스크러빙 ECC 회로부들이 동작될 수 있다. DRAM 영역(430)으로 리프레쉬 커맨드가 인가될 때, SRAM 영역(420)의 스크러빙 동작이 수행될 수 있다. 셀프-스크러빙 인터벌은 프로그램될 수 있고, 셀프-스크러빙은 디세이블될 수 있다.
DRAM 영역(430)과 WBA 테이블 및 데이터 SRAM 영역(420)에 대하여 파워 매니지먼트가 수행될 수 있다. SRAM 영역(420)의 파워 세이빙 모드들은, 기본적으로 DRAM의 파워 세이빙 모드처럼 제어될 수 있다. DRAM 영역(430)이 액티브 파워 다운 모드, 프리차아지 파워 다운 모드, 오토 리프레쉬 모드, 셀프 리프레쉬 모드, 파아셜 셀프 리프레쉬 모드(PASR), 또는 BFM 모드일 때, SRAM 영역(420)의 코어 어레이 블락의 파워는 온(on)시키고, 주변 회로 블락은 오프(off)시킬 수 있다.
DRAM 영역(430)이 오토 리프레쉬 모드일 때, SRAM 영역(420)의 스크러빙 동안 SRAM 영역(420)의 주변 회로 블락은 온(on) 될 수 있다. 또한, DRAM 영역(430)이 BFM 모드일 때, 필요에 따라 SRAM 영역(20)의 주변 회로 블락은 온(on) 될 수 있다.
WBA 테이블 및 데이터 SRAM 영역(420)의 파워 세이빙 모드 진입과 웨이크-업(wake-up)은 DRAM 영역(430) 보다 먼저 수행될 수 있고, 이로 인해 소정의 타이밍 패널티가 예상될 수 있다. DRAM 영역(430)의 독출/기입 동작 중에 SRAM 영역(420)으로 인한 파워 증가의 양을 줄이기 위하여, 주어진 리퀘스트 어드레스가 SRAM 영역(420)으로 대체되는 DRAM 칩(430)은 데이터 입력/출력 버퍼들을 턴-오프시킬 수 있다. DRAM 영역(430)은 추가적인 핀 또는 동작상 유용한 핀들, 예컨대 DM(Data Mask) 신호들을 이용하여 데이터 경로를 턴-오프시킬 수 있다.
도 42는 본 발명의 다양한 실시예에 따른 메모리 장치를 설명하는 제2 예의 도면이다.
도 42를 참조하면, 메모리 장치(500)는 인터페이스 칩(540) 상에 4개의 메모리 칩들(550-580)이 하나의 패키지에 적층된 것을 도시하고 있다. 메모리 칩(550-580)은 DRAM 칩으로 구성될 수 있다. 메모리 장치(500)는 4개의 DRAM 칩들에 한정되지 않고 더 많은 수의 DRAM 칩들이 적층될 수 있다.
인터페이스 칩(540)은 메모리 장치(500) 외부와 인터페이스하기 위한 마스터 회로 영역을 포함할 수 있다. 인터페이스 칩(540)은 테스트부(510), 메모리 영역(520), 그리고 주변 로직 회로부(530)를 포함한다. 인터페이스 칩(540)은 퓨즈 어레이 또는 안티 퓨즈 어레이와 같은 NVM 영역(531)과 DRAM 칩(550-580) 또는 메모리 영역(520)을 선택적으로 억세스하는 스위치(532)를 더 포함할 수 있다. 테스트부(510)는 본 명세서에서 상술하고 있는 BFM에 해당할 수 있다. 메모리 영역(520)은 SRAM 셀들로 구성되는 메모리 영역으로 구성될 수 있다. 설명의 편의를 위하여, 테스트부(510)는 BFM(510)으로 칭하고, 메모리 영역(520)은 SRAM(520)으로 칭하고, NVM 영역(531)은 NVM(531)으로 칭한다.
인터페이스 칩(540)과 DRAM 칩들(550-580)은 TSV들(590t)과 마이크로 범프들(590b)를 통해 서로 전기적으로 연결되는 적층 구조를 가질 수 있다. 본 실시예에서는 인터페이스 칩(540)과 DRAM 칩들(550-580)이 TSV들(590t)과 마이크로 범프들(590b)를 통해 연결되는 적층 구조에 대하여 설명하고 있으나, 이에 한정되지 않고 와이어 본딩, 인터포즈 또는 배선이 형성된 테이프를 통해 적층되는 구조에도 적용할 수 있다.
또한, 인터페이스 칩(540)과 DRAM 칩들(550-580)은 광학적 입출력 접속(Optical IO Connection)으로 연결될 수 있다. 예컨대, 라디오 주파수(Radio frequency, RF)파 또는 초음파를 이용하는 방사형(radiative) 방식, 자기 유도(magnetic induction)을 이용하는 유도 커플링(inductive coupling) 방식, 또는 자기장 공진을 이용하는 비방사형(non-radiative) 방식을 이용하여 서로 연결될 수 있다.
방사형 방식은 모노폴(monopole)이나 PIFA(planar inverted-F antenna) 등의 안테나를 이용하여, 무선으로 신호를 전달하는 방식이다. 시간에 따라 변화하는 전계나 자계가 서로 영향을 주면서 방사가 일어나며, 같은 주파수의 안테나가 있을 경우 입사파의 극(polarization) 특성에 맞게 신호를 수신할 수 있다.
유도 커플링 방식은 코일을 여러 번 감아서 한 방향으로 강한 자계를 발생시키고, 비슷한 주파수에서 공진하는 코일을 근접시켜 커플링을 발생시키는 방식이다.
비방사형 방식은, 근거리 전자장을 통해 같은 주파수로 공진하는 두 매체들 사이에서 전자파를 이동시키는 감쇄파 결합(evanescent wave coupling)을 이용하는 방식이다.
인터페이스 칩(540)의 BFM(510)은 DRAM 칩들(550-580) 내 위크 비트를 스크린할 수 있다. BFM(510)은 팩토리 수준의 위크 비트 자체 검출 능력을 갖는 빌트-인 셀프 테스트 기법을 탑재하여, 인터페이스 칩(540)의 SRAM(520)을 이용하여 DRAM 칩들(550-580)의 위크 비트를 호스트 모르게 대체할 수 있다.
DRAM 칩들(550-580)의 위크 비트 어드레스(WBA)는 인터페이스 칩(540)의 SRAM(520)과 NVM(531)에 저장될 수 있다. 주변 로직 회로부(530)는 스위치(532)를 통하여 WBA에 대한 억세스를 DRAM 칩들(550-580) 대신에 인터페이스 칩(540)의 SRAM 영역(520)에서 이루어지도록 제어할 수 있다.
BFM(510)은 커맨드와 어드레싱의 여러 조합으로 이루어진 테스트 시퀀스를 이용하여 WBA를 스크린할 수 있다. 테스트 시퀀스는 상위 어드레스 시퀀스 루프 안에 하위 어드레스 시퀀스 루프가 존재하는, 즉 네스티드 어드레스 패턴을 생성할 수 있다. BFM(510)은 테스트 동안 DRAM 칩들(550-580)의 DC 바이어스 레벨을 변경할 수 있고, 사용자 설정 테스트 시퀀스들을 프로그램할 수 있다. BFM(510)은 DRAM 칩들(550-580) 내부의 AC 타이밍 파라미터들을 소정의 레졸루션을 가지고 조절할 수 있다.
인터페이스 칩(540)의 SRAM(520)은 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들, 뱅크 어드레스들 그리고 랭크 어드레스들을 저장할 수 있다. 또한, SRAM(520)은 WBA에 해당하는 DRAM 칩들(550-580)에 저장된 데이터를 저장할 수 있다. WBA 테이블 및 데이터 SRAM(520)은 DRG에 의해 구제되는 비트의 단위가 정해질 수 있다. DRG는 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위 등으로 결정될 수 있다.
BFM(510)에 의해 WBAs들이 검출되면, BFM(510)는 WBAs를 NVM(531)에 업데이트할 수 있다. 또는, ATE 기반의 WBA 발생의 경우, WBA는 제품 테스트 시 NVM(531)에 저장될 수 있다. 어드레스 매칭 시간을 줄이기 위하여, 랭크들은 병렬적으로 비교 동작을 수행할 수 있다. 랭크 기반의 WBA는 메타 테이블들과 연계되고, 어드레스 매치 연산 모드를 셋팅하기 위하여 이용될 수 있다. 메타 테이블들은 실제적인 WBAs 수, WBA 필드들의 범위로 구성될 수 있고, NVM(531)에 저장될 수 있다.
메타 테이블 NVM(531)에 저장된 WBAs은 CAM 타입의 WBA 테이블 SRAM(520)에 저장될 수 있다. 먼저, 액티브 커맨드가 수신될 때, 랭크 매치된 CAM(520) 내에서 로우와 뱅크 어드레스 비교가 수행될 수 있다. 이 후, 독출 또는 기입 명령이 인가될 때, 칼럼과 뱅크 어드레스 비교가 수행될 수 있다. 만약 매치가 있으면, SCB는 인코딩된 EID(Entry IDentification)로 독출될 수 있다. 메타 테이블 NVM(531)은 유효한 매치 라인들과 유효한 선택 라인들의 범위로 셋팅될 수 있다.
SRAM(520)은 WBA 테이블 SRAM 부분와 데이터 SRAM 부분을 오프-칩 인터페이스(off-chip interface)로 통신될 수 있다. 인터페이스 칩(540) 내 데이터 SRAM(520)과 스위치(532)를 배치시키고, WBA 테이블 SRAM 부분은 메모리 장치(500)와는 별개의 칩으로 존재할 수 있다. 별개의 칩은 WBA 테이블 SRAM과 사이드밴드 제어부를 포함할 수 있다. WBA 테이블 SRAM 영역와 별개의 데이터 SRAM 부분 사이의 오프 칩 인터페이스는 사이드밴드 버스들(SideBand Buses: SBB)을 통하여 통신할 수 있다.
DRAM 칩들(550-580)의 리프레쉬 사이클 동안, WBA 테이블 및 데이터 SRAM(520)의 스크러빙(scrubbing)을 수행하여 SRAM(520)의 신뢰도를 향상시킬 수 있다. WBA 테이블 및 데이터 SRAM(520)의 멀티 비트 에러 누적을 방지하고 싱글 비트 에러들을 정정하기 위하여, 셀프 스크러빙 ECC 회로부들이 동작될 수 있다. DRAM 칩들(550-580)로 리프레쉬 커맨드가 인가될 때, SRAM(520)의 스크러빙 동작이 수행될 수 있다. 셀프-스크러빙 인터벌은 프로그램될 수 있고, 셀프-스크러빙은 디세이블될 수 있다.
DRAM 칩들(550-580)과 인터페이스 칩(540)의 WBA 테이블 및 데이터 SRAM(520)에 대하여 파워 매니지먼트가 수행될 수 있다. SRAM(520)의 파워 세이빙 모드들은, 기본적으로 DRAM의 파워 세이빙 모드처럼 제어될 수 있다. DRAM 칩들(550-580)이 액티브 파워 다운 모드, 프리차아지 파워 다운 모드, 오토 리프레쉬 모드, 셀프 리프레쉬 모드, 파아셜 셀프 리프레쉬 모드(PASR), 또는 BFM 모드일 때, SRAM(520)의 코어 어레이 블락의 파워는 온(on)시키고, 주변 회로 블락은 오프(off)시킬 수 있다.
인터페이스 칩(540)의 WBA 테이블 및 데이터 SRAM(520)의 파워 세이빙 모드 진입과 웨이크-업(wake-up)은 DRAM 칩들(550-580) 보다 먼저 수행될 수 있고, 이로 인해 소정의 타이밍 패널티가 예상될 수 있다. DRAM 칩들(550-580)의 독출/기입 동작 중에 SRAM(520)으로 인한 파워 증가의 양을 줄이기 위하여, 주어진 리퀘스트 어드레스가 SRAM(520)으로 대체되는 DRAM 칩들(550-580)은 데이터 입력/출력 버퍼들을 턴-오프시킬 수 있다. DRAM 칩들(550-580)은 추가적인 핀 또는 동작상 유용한 핀들, 예컨대 DM(Data Mask) 신호들을 이용하여 데이터 경로를 턴-오프시킬 수 있다.
도 43는 본 발명의 다양한 실시예에 따른 메모리 모듈을 설명하는 도면이다.
도 43을 참조하면, 메모리 모듈(600)는 모듈 보드(Module Board) 상에 장착된 하나 이상의 반도체 메모리 장치(601-604)과 메모리 버퍼 칩(640)을 포함할 수 있다. 반도체 메모리 장치(601-604)로서 DRAM 셀을 구비하는 DRAM 칩이 적용될 수 있다. 메모리 버퍼 칩(640)은 반도체 메모리 장치(601-604)의 동작을 관리하고, 테스트부(610), 메모리 영역(620), 그리고 주변 로직 회로부(630)를 포함한다. 메모리 버퍼 칩(640)은 퓨즈 어레이 또는 안티 퓨즈 어레이와 같은 NVM 영역(631)과 DRAM 칩들(601-604) 또는 메모리 영역(620)을 선택적으로 억세스하는 스위치(632)를 더 포함할 수 있다. 테스트부(610)는 본 명세서에서 상술하고 있는 BFM에 해당할 수 있다. 메모리 영역(620)은 SRAM 셀들로 구성되는 메모리 영역으로 구성될 수 있다. 설명의 편의를 위하여, 테스트부(610)는 BFM(610)으로 칭하고, 메모리 영역(620)은 SRAM(620)으로 칭하고, NVM 영역(631)은 NVM(631)으로 칭한다.
메모리 모듈(600)은 다양한 형태의 메모리 모듈로서, 예컨대, SIMM(Single in-line memory module), DIMM(Dual in-line memory module), SO-DIMM(Small-outline DIMM), UDIMM(Unbuffered DIMM), FBDIMM(Fully-buffered DIMM), RBDIMM(Rank-buffered DIMM), LRDIMM(Load-reduced DIMM), mini-DIMM 및 micro-DIMM 등의 메모리 모듈에 적용될 수 있다. LRDIMM 형태의 메모리 모듈의 경우, 메모리 동작을 위한 하나 이상의 랭크(Rank)가 정의되며, DRAM 칩(601-604) 각각이 서로 다른 랭크(Rank)로 정의될 수 있다.
메모리 버퍼 칩(640)의 BFM(610)은 DRAM 칩들(601-604) 내 위크 비트를 스크린할 수 있다. BFM(610)은 팩토리 수준의 위크 비트 자체 검출 능력을 갖는 빌트-인 셀프 테스트 기법을 탑재하여, 메모리 버퍼 칩(640))의 SRAM(620)을 이용하여 DRAM 칩들(601-604)의 위크 비트를 호스트 모르게 대체할 수 있다.
DRAM 칩들(601-604)의 위크 비트 어드레스(WBA)는 메모리 버퍼 칩(640)의 SRAM(620)과 NVM(631)에 저장될 수 있다. 주변 로직 회로부(630)는 스위치(632)를 통하여 WBA에 대한 억세스를 DRAM 칩들(601-604) 대신에 메모리 버퍼 칩(640)의 SRAM(620)에서 이루어지도록 제어할 수 있다.
스크린된 위크 비트 어드레스(WBA)는 SRAM(620)과 NVM(631)에 저장될 수 있다. 주변 로직 회로부(630)는 스위치(632)를 통하여 WBA에 대한 억세스를 DRAM 칩들(601-604) 대신에 SRAM(620)에서 이루어지도록 제어할 수 있다.
BFM(610)은 커맨드와 어드레싱의 여러 조합으로 이루어진 테스트 시퀀스를 이용하여 WBA를 스크린할 수 있다. 테스트시, 독출 또는 기입 명령이 없는 액티브-프리차아지 커맨드를 생성할 수 있다. 테스트 시퀀스는 상위 어드레스 시퀀스 루프 안에 하위 어드레스 시퀀스 루프가 존재하는, 즉 네스티드 어드레스 패턴을 생성할 수 있다.
BFM(610)은 테스트 동안 DRAM 모듈(600)에 장착되는 DRAM 칩들(601-604)의 DC 바이어스 레벨을 변경할 수 있고, 사용자 설정 테스트 시퀀스들을 프로그램할 수 있다. 팩토리 뿐만 아니라 인-필드에서도 다양한 종류들의 테스트 시퀀스들을 테스트할 수 있는 유연성을 사용자에게 제공할 수 있다.
BFM(610)은 인-팩토리에서 WBA를 스크린하여 에러 로그하고, WBA를 저장할 수 있다. 테스트 플로우 중에 에러가 검출되면, 해당 에러 어드레스와 데이터는 에러 로그 레지스터에 기록될 수 있다. 에러 발생 때마다 모든 에러 로그 레지스터들이 가득 찼는지를 확인하고, 이 과정은 자동적으로 이루어질 수 있다.
에러 로그 레지스터들이 가득 차지 않았다면 테스트를 계속할 수 있다. 에러 로그 레지스터들이 가득 찼다면, 이들 레지스터들 내 저장된 어드레스와 데이터는 NVM(631)으로 덤프될 수 있다. 이 후, 자동적으로 테스트를 계속하여 다음에 발생할 에러들을 저장하도록 할 수 있다. 또한, BFM(610)은 인-필드 동작들 중에, 호스트의 필요에 따라 또는 호스트 내 ECC에 의해 SRAM(620)의 WBAs을 실시간으로 업데이트시킬 수 있다.
BFM(610)은 DRAM 모듈(600)에 장착되는 DRAM 칩(601-604) 내부의 모드 레지스터를 이용하여 DRAM 칩에서 발생되는 내부 DC 전압 레벨을 조절할 수 있는 프로토콜을 제공할 수 있다. 예컨대, MR3 모드 레지스터를 이용할 수 있다. MR3 모드 레지스터는 버퍼 칩이나 테스트 장비에서 제어 가능하게 설정될 수 있다.
BFM(610)은 DRAM 모듈(600)에 장착되는 DRAM 칩(601-604) 내부의 AC 타이밍 파라미터들을 소정의 레졸루션을 가지고 조절할 수 있다. AC 타이밍 파라미터들에는 tRAS, tRP, tRCD, tWR, tREF, tPAUSE 등이 있다. AC 타이밍은 DRAM 칩 내 클럭 주기(tCK)를 기반으로 조절될 수 있다. DRAM 칩 내부에 구비된 AC 타이밍 제어 레지스터는 버퍼 칩과 테스트 장비에서 제어 가능하다. 하나의 테스트 시퀀스에서 스트레스를 주기 위해 억세스되는 셀과 테스트 프리-컨디션을 위해 억세스되는 셀의 AC 타이밍을 서로 다르게 차별적으로 적용할 수 있다.
SRAM(620)은 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들, 뱅크 어드레스들 그리고 랭크 어드레스들을 저장할 수 있다. 또한, SRAM(620)은 WBA에 해당하는 DRAM 칩에 저장된 데이터를 저장할 수 있다.
WBA 테이블 및 데이터 SRAM 영역(620)은 DRG에 의해 구제되는 비트의 단위가 정해질 수 있다. DRG는 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위 등으로 결정될 수 있다. WBA의 크기는 구제 가능한 WBA 수, 필드 길이의 조합, 그리고 DRG에 의해 결정될 수 있다. WBA는 고정된 랭크 순서, 예컨대 "랭크0 -> 랭크1 -> 랭크2 -> 랭크3" 순으로 전달되기 때문에, WBAs은 랭크 별로 자동적으로 소팅할 수 있다.
SRAM(620)은 랭크 기반의 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들 그리고 뱅크 어드레스들을 저장할 수 있다. 이 경우, DQ 어드레스 필드들이 존재하지 않는다. 그리고, 스위치 콘트롤 비트(Switch Control Bit: SCB)는 1 비트로써, 호스트 요청 어드레스들과 WBAs 사이의 비교 결과인 매치 또는 비-매치를 나타낼 수 있다. WBA에 해당되는 데이터는 DQ 맵핑되어 데이터 SRAM 영역(620)에 저장될 수 있다.
DRG가 x4 또는 x8 칩 기반의 랭크 데이터 위스 보다 적다면, WBA 테이블은 DQ 어드레스들을 포함할 수 있다. WBA 테이블은 개별적으로 또는 결합적으로 SCB와 함께 사용될 수 있다. DRG와 SCB 결합은 WBA 테이블 및 데이터 SRAM 영역(620)의 용량을 결정할 수 있다. DRG가 작을수록 WBA 크기가 커지게 된다. DRG 관련된 SCB는 개별적으로 DRAM 칩에 직접 맵핑할 수도 있고, SCB를 이용하여 인코딩하여 DRAM 칩을 선택할 수 있다.
BFM(610)에 의해 WBAs들이 검출되면, BFM(610)는 WBAs를 NVM 영역(731)에 업데이트할 수 있다. 또는, ATE 기반의 WBA 발생의 경우, WBA는 제품 테스트 시 NVM 영역(631)에 저장될 수 있다. 어드레스 매칭 시간을 줄이기 위하여, 랭크들은 병렬적으로 비교 동작을 수행할 수 있다. 랭크 기반의 WBA는 메타 테이블들과 연계되고, 어드레스 매치 연산 모드를 셋팅하기 위하여 이용될 수 있다. 메타 테이블들은 실제적인 WBAs 수, WBA 필드들의 범위로 구성될 수 있고, NVM 영역(631)에 저장될 수 있다.
ATE 기반의 WBAs 발생의 경우, 실제적인 WBAs 수는 추가적인 WBA 전달 사이클들을 통해 전달되거나 제품 테스트 시 NVM(731)에 저장될 수 있다. NVM(631)에 저장되는 WBAs은 메타 테이블로 구성되고, 파워-업 시 WBA 테이블 SRAM(620)에 저장될 수 있다. SCBs는 DRAM 칩의 DQs에 전용적으로 할당될 수 있다. SCBs는 대체를 위하여 멀티플 니블-와이드(multiple nibble-wide) DQs 을 식별하도록 사용될 수 있다.
SCB가 "1"이면, 스위치(632)는 SRAM(620)으로 스위치되고, 그렇지 않다면 DRAM 모듈(600)에 장착된 DRAM 칩(601-604)으로 스위치된다. 만약 호스트로부터 요청되는 로우/칼럼/뱅크/랭크 어드레스들과 WBA 테이블 SRAM(620) 사이에 매치가 있으며, 매치 신호와 엔트리 식별 넘버 및/또는 SCBs를 데이터 SRAM(620)과 데이터 멀티플렉싱 스위치(632)로 전달할 수 있다.
메타 테이블 NVM(631)에 저장된 WBAs은 CAM 타입의 WBA 테이블 SRAM(620)에 저장될 수 있다. 먼저, 액티브 커맨드가 수신될 때, 랭크 매치된 CAM(620) 내에서 로우와 뱅크 어드레스 비교가 수행될 수 있다. 이 후, 독출 또는 기입 명령이 인가될 때, 칼럼과 뱅크 어드레스 비교가 수행될 수 있다. 만약 매치가 있으면, SCB는 인코딩된 EID(Entry IDentification)로 독출될 수 있다. 메타 테이블 NVM(631)은 유효한 매치 라인들과 유효한 선택 라인들의 범위로 셋팅될 수 있다.
SRAM(620)은 WBA 테이블 SRAM 부분와 데이터 SRAM 부분을 오프-칩 인터페이스(off-chip interface)로 통신될 수 있다. 메모리 버퍼 칩(640) 내 데이터 SRAM 영역(720)과 스위치(732)를 배치시키고, WBA 테이블 SRAM 부분은 메모리 버퍼 칩(640)과는 별개의 칩으로 존재할 수 있다. 별개의 칩은 WBA 테이블 SRAM과 사이드밴드 제어부를 포함할 수 있다. WBA 테이블 SRAM 영역와 별개의 데이터 SRAM 부분 사이의 오프 칩 인터페이스는 사이드밴드 버스들(SBB)을 통하여 통신할 수 있다.
SBB는 사이드밴드 클럭(SBCK, /SBCK), 사이드밴드 제어 신호들, 사이드밴드 제어 데이터들(SBCD), 그리고 SBCD를 위한 데이터 윈도우 신호로 구성될 수 있다. 사이드밴드 제어 데이터 패킷은 SBB를 통하여 전달될 수 있다. SBB는 노멀 커맨드/어드레스 버스들처럼 인-밴드 주파수(in-band frequency)로 동작할 수 있다.
SBB 동작에서, 만약 가변적인 패킷 길이가 도입되면, 유효한 패킷 윈도우를 보장하기 위하여 개별적인 프리앰블/포스트앰블 신호가 사용될 수 있다. 개별적인 프리앰블/포스트앰블 신호(SBCDW)가 "로우"로 셋팅되면, 제어 데이터의 유효한 전달이 패킷 레이턴시(tPKL, PacKet Latency) 후 시작될 수 있다. 제어 데이터의 유효한 전달은 SBCDW가 "하이"로 리셋될 때까지 계속될 수 있다.
DRAM 모듈(600) 내 DRAM 칩(601-604)의 리프레쉬 사이클 동안, WBA 테이블 및 데이터 SRAM 영역(620)의 스크러빙(scrubbing)을 수행하여 SRAM 영역(620)의 신뢰도를 향상시킬 수 있다. WBA 테이블 및 데이터 SRAM(620)의 멀티 비트 에러 누적을 방지하고 싱글 비트 에러들을 정정하기 위하여, 셀프 스크러빙 ECC 회로부들이 동작될 수 있다. DRAM 칩으로 리프레쉬 커맨드가 인가될 때, SRAM 영역(620)의 스크러빙 동작이 수행될 수 있다. 셀프-스크러빙 인터벌은 프로그램될 수 있고, 셀프-스크러빙은 디세이블될 수 있다.
DRAM 모듈(600) 내 DRAM 칩과 WBA 테이블 및 데이터 SRAM 영역(620)에 대하여 파워 매니지먼트가 수행될 수 있다. SRAM 영역(620)의 파워 세이빙 모드들은, 기본적으로 DRAM의 파워 세이빙 모드처럼 제어될 수 있다. DRAM 칩이 액티브 파워 다운 모드, 프리차아지 파워 다운 모드, 오토 리프레쉬 모드, 셀프 리프레쉬 모드, 파아셜 셀프 리프레쉬 모드(PASR), 또는 BFM 모드일 때, SRAM 영역(620)의 코어 어레이 블락의 파워는 온(on)시키고, 주변 회로 블락은 오프(off)시킬 수 있다.
DRAM 모듈(600) 내 DRAM 칩(601-604)이 오토 리프레쉬 모드일 때, SRAM 영역(620)의 스크러빙 동안 SRAM 영역(620)의 주변 회로 블락은 온(on) 될 수 있다. 또한, DRAM 칩(601-604)이 BFM 모드일 때, 필요에 따라 SRAM 영역(620)의 주변 회로 블락은 온(on) 될 수 있다.
WBA 테이블 및 데이터 SRAM 영역(620)의 파워 세이빙 모드 진입과 웨이크-업(wake-up)은 DRAM 모듈(600) 내 DRAM 칩(601-604) 보다 먼저 수행될 수 있고, 이로 인해 소정의 타이밍 패널티가 예상될 수 있다. DRAM 칩의 독출/기입 동작 중에 SRAM 영역(620)으로 인한 파워 증가의 양을 줄이기 위하여, 주어진 리퀘스트 어드레스가 SRAM 영역(620)으로 대체되는 DRAM 칩은 데이터 입력/출력 버퍼들을 턴-오프시킬 수 있다. DRAM 모듈(600) 내 DRAM 칩(601-604)은 추가적인 핀 또는 동작상 유용한 핀들, 예컨대 DM(Data Mask) 신호들을 이용하여 데이터 경로를 턴-오프시킬 수 있다.
도 44는 본 발명의 다양한 실시예에 따른 메모리 시스템을 설명하는 제 3 예의 도면이다.
도 44를 참조하면, 메모리 시스템(700)은 메모리 콘트롤러(740)와 다수개의 메모리 모듈들(750)을 포함할 수 있다. 각 메모리 모듈(750)은 서로 다른 랭크로 정의되는 DRAM 모듈로 구성될 수 있다. 메모리 콘트롤러(740)는 테스트부(710), 메모리 영역(720), 그리고 주변 로직 회로부(730)를 포함한다. 메모리 콘트롤러(740)는 퓨즈 어레이 또는 안티 퓨즈 어레이와 같은 NVM 영역(731)과 DRAM 모듈(750) 또는 메모리 영역(720)을 선택적으로 억세스하는 스위치(732)를 더 포함할 수 있다. 테스트부(710)는 본 명세서에서 상술하고 있는 BFM에 해당할 수 있다. 메모리 영역(720)은 SRAM 셀들로 구성되는 메모리 영역으로 구성될 수 있다. 설명의 편의를 위하여, 테스트부(710)는 BFM(710)으로 칭하고, 메모리 영역(720)은 SRAM(720)으로 칭하고, NVM 영역(731)은 NVM(731)으로 칭한다.
BFM(710)은 DRAM 모듈(750)에 장착되는 DRAM 칩 내 위크 비트를 스크린할 수 있다. BFM(710)은 팩토리 수준의 위크 비트 자체 검출 능력을 갖는 빌트-인 셀프 테스트 기법을 탑재하여, SRAM (720)을 이용하여 DRAM 모듈(750)에 장착된 DRAM 칩의 위크 비트를 호스트 모르게 대체할 수 있다.
스크린된 위크 비트 어드레스(WBA)는 SRAM(720)과 NVM(731)에 저장될 수 있다. 주변 로직 회로부(730)는 스위치(732)를 통하여 WBA에 대한 억세스를 DRAM 모듈(750)에 장착된 DRAM 칩 대신에 SRAM(720)에서 이루어지도록 제어할 수 있다.
BFM(710)은 커맨드와 어드레싱의 여러 조합으로 이루어진 테스트 시퀀스를 이용하여 WBA를 스크린할 수 있다. 테스트시, 독출 또는 기입 명령이 없는 액티브-프리차아지 커맨드를 생성할 수 있다. 테스트 시퀀스는 상위 어드레스 시퀀스 루프 안에 하위 어드레스 시퀀스 루프가 존재하는, 즉 네스티드 어드레스 패턴을 생성할 수 있다.
BFM(710)은 테스트 동안 DRAM 모듈(750)에 장착되는 DRAM 칩의 DC 바이어스 레벨을 변경할 수 있고, 사용자 설정 테스트 시퀀스들을 프로그램할 수 있다. 팩토리 뿐만 아니라 인-필드에서도 다양한 종류들의 테스트 시퀀스들을 테스트할 수 있는 유연성을 사용자에게 제공할 수 있다.
BFM(710)은 인-팩토리에서 WBA를 스크린하여 에러 로그하고, WBA를 저장할 수 있다. 테스트 플로우 중에 에러가 검출되면, 해당 에러 어드레스와 데이터는 에러 로그 레지스터에 기록될 수 있다. 에러 발생 때마다 모든 에러 로그 레지스터들이 가득 찼는지를 확인하고, 이 과정은 자동적으로 이루어질 수 있다.
에러 로그 레지스터들이 가득 차지 않았다면 테스트를 계속할 수 있다. 에러 로그 레지스터들이 가득 찼다면, 이들 레지스터들 내 저장된 어드레스와 데이터는 NVM(731)으로 덤프될 수 있다. 이 후, 자동적으로 테스트를 계속하여 다음에 발생할 에러들을 저장하도록 할 수 있다. 또한, BFM(710)은 인-필드 동작들 중에, 호스트의 필요에 따라 또는 호스트 내 ECC에 의해 SRAM(720)의 WBAs을 실시간으로 업데이트시킬 수 있다.
BFM(710)은 DRAM 모듈(750)에 장착되는 DRAM 칩 내부의 모드 레지스터를 이용하여 DRAM 칩에서 발생되는 내부 DC 전압 레벨을 조절할 수 있는 프로토콜을 제공할 수 있다. 예컨대, MR3 모드 레지스터를 이용할 수 있다. MR3 모드 레지스터는 버퍼 칩이나 테스트 장비에서 제어 가능하게 설정될 수 있다.
BFM(710)은 DRAM 모듈(750)에 장착되는 DRAM 칩 내부의 AC 타이밍 파라미터들을 소정의 레졸루션을 가지고 조절할 수 있다. AC 타이밍 파라미터들에는 tRAS, tRP, tRCD, tWR, tREF, tPAUSE 등이 있다. AC 타이밍은 DRAM 칩 내 클럭 주기(tCK)를 기반으로 조절될 수 있다. DRAM 칩 내부에 구비된 AC 타이밍 제어 레지스터는 버퍼 칩과 테스트 장비에서 제어 가능하다. 하나의 테스트 시퀀스에서 스트레스를 주기 위해 억세스되는 셀과 테스트 프리-컨디션을 위해 억세스되는 셀의 AC 타이밍을 서로 다르게 차별적으로 적용할 수 있다.
SRAM(720)은 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들, 뱅크 어드레스들 그리고 랭크 어드레스들을 저장할 수 있다. 또한, SRAM(720)은 WBA에 해당하는 DRAM 칩에 저장된 데이터를 저장할 수 있다.
WBA 테이블 및 데이터 SRAM 영역(720)은 DRG에 의해 구제되는 비트의 단위가 정해질 수 있다. DRG는 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위 등으로 결정될 수 있다. WBA의 크기는 구제 가능한 WBA 수, 필드 길이의 조합, 그리고 DRG에 의해 결정될 수 있다. WBA는 고정된 랭크 순서, 예컨대 "랭크0 -> 랭크1 -> 랭크2 -> 랭크3" 순으로 전달되기 때문에, WBAs은 랭크 별로 자동적으로 소팅할 수 있다.
SRAM(720)은 랭크 기반의 WBA 테이블을 저장할 수 있다. WBA 테이블은 로우 어드레스들, 칼럼 어드레스들 그리고 뱅크 어드레스들을 저장할 수 있다. 이 경우, DQ 어드레스 필드들이 존재하지 않는다. 그리고, 스위치 콘트롤 비트(Switch Control Bit: SCB)는 1 비트로써, 호스트 요청 어드레스들과 WBAs 사이의 비교 결과인 매치 또는 비-매치를 나타낼 수 있다. WBA에 해당되는 데이터는 DQ 맵핑되어 데이터 SRAM 영역(720)에 저장될 수 있다.
DRG가 x4 또는 x8 칩 기반의 랭크 데이터 위스 보다 적다면, WBA 테이블은 DQ 어드레스들을 포함할 수 있다. WBA 테이블은 개별적으로 또는 결합적으로 SCB와 함께 사용될 수 있다. DRG와 SCB 결합은 WBA 테이블 및 데이터 SRAM 영역(720)의 용량을 결정할 수 있다. DRG가 작을수록 WBA 크기가 커지게 된다. DRG 관련된 SCB는 개별적으로 DRAM 칩에 직접 맵핑할 수도 있고, SCB를 이용하여 인코딩하여 DRAM 칩을 선택할 수 있다.
BFM(710)에 의해 WBAs들이 검출되면, BFM(710)는 WBAs를 NVM 영역(731)에 업데이트할 수 있다. 또는, ATE 기반의 WBA 발생의 경우, WBA는 제품 테스트 시 NVM 영역(731)에 저장될 수 있다. 어드레스 매칭 시간을 줄이기 위하여, 랭크들은 병렬적으로 비교 동작을 수행할 수 있다. 랭크 기반의 WBA는 메타 테이블들과 연계되고, 어드레스 매치 연산 모드를 셋팅하기 위하여 이용될 수 있다. 메타 테이블들은 실제적인 WBAs 수, WBA 필드들의 범위로 구성될 수 있고, NVM 영역(731)에 저장될 수 있다.
ATE 기반의 WBAs 발생의 경우, 실제적인 WBAs 수는 추가적인 WBA 전달 사이클들을 통해 전달되거나 제품 테스트 시 NVM(731)에 저장될 수 있다. NVM(731)에 저장되는 WBAs은 메타 테이블로 구성되고, 파워-업 시 WBA 테이블 SRAM(720)에 저장될 수 있다. SCBs는 DRAM 칩의 DQs에 전용적으로 할당될 수 있다. SCBs는 대체를 위하여 멀티플 니블-와이드(multiple nibble-wide) DQs 을 식별하도록 사용될 수 있다.
SCB가 "1"이면, 스위치(732)는 SRAM(720)으로 스위치되고, 그렇지 않다면 DRAM 모듈(750)에 장착된 DRAM 칩으로 스위치된다. 만약 호스트로부터 요청되는 로우/칼럼/뱅크/랭크 어드레스들과 WBA 테이블 SRAM(720) 사이에 매치가 있으며, 매치 신호와 엔트리 식별 넘버 및/또는 SCBs를 데이터 SRAM(720)과 데이터 멀티플렉싱 스위치(732)로 전달할 수 있다.
메타 테이블 NVM(731)에 저장된 WBAs은 CAM 타입의 WBA 테이블 SRAM(720)에 저장될 수 있다. 먼저, 액티브 커맨드가 수신될 때, 랭크 매치된 CAM(720) 내에서 로우와 뱅크 어드레스 비교가 수행될 수 있다. 이 후, 독출 또는 기입 명령이 인가될 때, 칼럼과 뱅크 어드레스 비교가 수행될 수 있다. 만약 매치가 있으면, SCB는 인코딩된 EID(Entry IDentification)로 독출될 수 있다. 메타 테이블 NVM(731)은 유효한 매치 라인들과 유효한 선택 라인들의 범위로 셋팅될 수 있다.
SRAM(720)은 WBA 테이블 SRAM 부분와 데이터 SRAM 부분을 오프-칩 인터페이스(off-chip interface)로 통신될 수 있다. 메모리 콘트롤러(740) 내 데이터 SRAM 영역(720)과 스위치(732)를 배치시키고, WBA 테이블 SRAM 부분은 메모리 콘트롤러(740)와는 별개의 칩으로 존재할 수 있다. 별개의 칩은 WBA 테이블 SRAM과 사이드밴드 제어부를 포함할 수 있다. WBA 테이블 SRAM 영역와 별개의 데이터 SRAM 부분 사이의 오프 칩 인터페이스는 사이드밴드 버스들(SBB)을 통하여 통신할 수 있다.
SBB는 사이드밴드 클럭(SBCK, /SBCK), 사이드밴드 제어 신호들, 사이드밴드 제어 데이터들(SBCD), 그리고 SBCD를 위한 데이터 윈도우 신호로 구성될 수 있다. 사이드밴드 제어 데이터 패킷은 SBB를 통하여 전달될 수 있다. SBB는 노멀 커맨드/어드레스 버스들처럼 인-밴드 주파수(in-band frequency)로 동작할 수 있다.
SBB 동작에서, 만약 가변적인 패킷 길이가 도입되면, 유효한 패킷 윈도우를 보장하기 위하여 개별적인 프리앰블/포스트앰블 신호가 사용될 수 있다. 개별적인 프리앰블/포스트앰블 신호(SBCDW)가 "로우"로 셋팅되면, 제어 데이터의 유효한 전달이 패킷 레이턴시(tPKL, PacKet Latency) 후 시작될 수 있다. 제어 데이터의 유효한 전달은 SBCDW가 "하이"로 리셋될 때까지 계속될 수 있다.
DRAM 모듈(750) 내 DRAM 칩의 리프레쉬 사이클 동안, WBA 테이블 및 데이터 SRAM 영역(720)의 스크러빙(scrubbing)을 수행하여 SRAM 영역(720)의 신뢰도를 향상시킬 수 있다. WBA 테이블 및 데이터 SRAM(720)의 멀티 비트 에러 누적을 방지하고 싱글 비트 에러들을 정정하기 위하여, 셀프 스크러빙 ECC 회로부들이 동작될 수 있다. DRAM 칩으로 리프레쉬 커맨드가 인가될 때, SRAM 영역(720)의 스크러빙 동작이 수행될 수 있다. 셀프-스크러빙 인터벌은 프로그램될 수 있고, 셀프-스크러빙은 디세이블될 수 있다.
DRAM 모듈(750) 내 DRAM 칩과 WBA 테이블 및 데이터 SRAM 영역(720)에 대하여 파워 매니지먼트가 수행될 수 있다. SRAM 영역(720)의 파워 세이빙 모드들은, 기본적으로 DRAM의 파워 세이빙 모드처럼 제어될 수 있다. DRAM 칩이 액티브 파워 다운 모드, 프리차아지 파워 다운 모드, 오토 리프레쉬 모드, 셀프 리프레쉬 모드, 파아셜 셀프 리프레쉬 모드(PASR), 또는 BFM 모드일 때, SRAM 영역(720)의 코어 어레이 블락의 파워는 온(on)시키고, 주변 회로 블락은 오프(off)시킬 수 있다.
DRAM 모듈(750) 내 DRAM 칩이 오토 리프레쉬 모드일 때, SRAM 영역(720)의 스크러빙 동안 SRAM 영역(720)의 주변 회로 블락은 온(on) 될 수 있다. 또한, DRAM 칩이 BFM 모드일 때, 필요에 따라 SRAM 영역(720)의 주변 회로 블락은 온(on) 될 수 있다.
WBA 테이블 및 데이터 SRAM 영역(720)의 파워 세이빙 모드 진입과 웨이크-업(wake-up)은 DRAM 모듈(750) 내 DRAM 칩 보다 먼저 수행될 수 있고, 이로 인해 소정의 타이밍 패널티가 예상될 수 있다. DRAM 칩의 독출/기입 동작 중에 SRAM 영역(720)으로 인한 파워 증가의 양을 줄이기 위하여, 주어진 리퀘스트 어드레스가 SRAM 영역(720)으로 대체되는 DRAM 칩은 데이터 입력/출력 버퍼들을 턴-오프시킬 수 있다. DRAM 모듈(750) 내 DRAM 칩은 추가적인 핀 또는 동작상 유용한 핀들, 예컨대 DM(Data Mask) 신호들을 이용하여 데이터 경로를 턴-오프시킬 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (20)

  1. 복수개의 메모리 셀들을 포함하는 제1 메모리 영역;
    상기 제1 메모리 영역을 테스트하고, 상기 복수개의 메모리 셀들 중 위크 비트를 검출하는 테스트부; 및
    상기 제1 메모리 영역의 위크 비트 어드레스와 상기 위크 비트 어드레스에 저장될 데이터를 저장하는 제2 메모리 영역을 구비하고,
    상기 제1 메모리 영역과 상기 제2 메모리 영역은 서로 다른 종류의 메모리 셀들로 구성되고,
    상기 제2 메모리 영역은 데이터 구제 단위 (DRG: Data Replacement Granularity)에 의해 상기 제1 메모리 영역의 상기 위크 비트를 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위로 구제하는 것을 특징으로 하는 반도체 장치.
  2. 제1항에 있어서, 상기 반도체 장치는
    상기 제1 메모리 영역의 상기 위크 비트 어드레스를 불휘발성하게 저장하는 제3 메모리 영역을 더 구비하는 것을 특징으로 하는 반도체 장치.
  3. 제1항에 있어서,
    상기 제1 메모리 영역은 DRAM (Dynamic Random Access Memory) 셀로 구현되고,
    상기 위크 비트는 상기 DRAM 셀들 중 리프레쉬 특성, 셀 기입 특성 또는 데이터 리텐션 특성이 위크한 특성을 갖는 비트인 것을 특징으로 하는 반도체 장치.
  4. 제1항에 있어서,
    상기 제2 메모리 영역은 SRAM (Static Random Access Memory) 셀로 구현되는 것을 특징으로 하는 반도체 장치.
  5. 제1항에 있어서, 상기 테스트부는
    테스트 동안, 상기 제1 메모리 영역의 DC 바이어스 레벨을 변경하는 것을 특징으로 하는 반도체 장치.
  6. 제1항에 있어서, 상기 테스트부는
    상기 제1 메모리 영역의 AC 타이밍 파라미터를 소정의 레졸루션으로 조절하는 것을 특징으로 하는 반도체 장치.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제1항에 있어서, 상기 제2 메모리 영역은
    상기 위크 비트 어드레스를 저장하고, 리퀘스트 어드레스와 어드레스 매칭 동작을 수행하는 CAM (Content-Addressable Memory)으로 구현되는 것을 특징으로 하는 반도체 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 제2항에 있어서,
    상기 제3 메모리 영역은 안티 퓨즈 (anti fuse) 어레이 또는 퓨즈 (fuse) 어레이 중 어느 하나로 구성되고,
    상기 위크 비트 어드레스에 대한 랭크 어드레스, 위크 비트 어드레스들의 수, 상기 위크 비트 어드레스에 대한 로우, 칼럼 및 뱅크 어드레스, 그리고 구제되는 비트를 DQs에 맵핑하는 SCB 비트들로 구성되는 메타 테이블을 저장하는 것을 특징으로 하는 반도체 장치.
  17. 모듈 보드;
    상기 모듈 보드 상에 장착되고, 복수개의 메모리 셀들을 포함하는 적어도 하나 이상의 메모리 칩; 및
    상기 모듈 보드 상에 장착되고, 상기 메모리 칩의 동작을 관리하는 메모리 버퍼 칩을 구비하고,
    상기 메모리 버퍼 칩은
    상기 복수개의 메모리 셀들 중 위크 비트를 검출하는 테스트부;
    상기 메모리 칩의 위크 비트 어드레스와 상기 위크 비트에 저장될 데이터를 저장하는 제1 메모리 영역; 및
    상기 메모리 칩의 상기 위크 비트 어드레스를 불휘발성하게 저장하는 제2 메모리 영역을 구비하고,
    상기 메모리 칩과 상기 메모리 버퍼 칩 내 상기 제1 메모리 영역은 서로 다른 종류의 메모리 셀들로 구성되고,
    상기 제2 메모리 영역은 데이터 구제 단위 (DRG: Data Replacement Granularity)에 의해 상기 제1 메모리 영역의 상기 위크 비트를 개별 비트 단위, 칩 단위, 칩 그룹 단위 또는 랭크 단위로 구제하는 것을 특징으로 하는 메모리 모듈.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020120049775A 2011-09-06 2012-05-10 메모리 시스템 KR101906409B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/604,308 US8934311B2 (en) 2011-09-06 2012-09-05 Semiconductor memory device capable of screening a weak bit and repairing the same
CN 201210328280 CN102982848A (zh) 2011-09-06 2012-09-06 存储器系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161531197P 2011-09-06 2011-09-06
US61/531,197 2011-09-06

Publications (2)

Publication Number Publication Date
KR20130026973A KR20130026973A (ko) 2013-03-14
KR101906409B1 true KR101906409B1 (ko) 2018-12-07

Family

ID=48178086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120049775A KR101906409B1 (ko) 2011-09-06 2012-05-10 메모리 시스템

Country Status (1)

Country Link
KR (1) KR101906409B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409598B2 (en) 2020-03-17 2022-08-09 SK Hynix Inc. Semiconductor devices

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150006167A (ko) 2013-07-08 2015-01-16 에스케이하이닉스 주식회사 반도체 시스템 및 그 리페어 방법
KR20180085184A (ko) 2017-01-18 2018-07-26 에스케이하이닉스 주식회사 로우 해머링을 개선할 수 있는 메모리 모듈 및 이의 동작 방법
KR102658230B1 (ko) * 2018-06-01 2024-04-17 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090303813A1 (en) * 2008-06-06 2009-12-10 Khaled Fekih-Romdhane Integrated circuit that stores first and second defective memory cell addresses
US20100238695A1 (en) * 2009-03-18 2010-09-23 Elpida Memory, Inc. Memory module including memory chips

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090303813A1 (en) * 2008-06-06 2009-12-10 Khaled Fekih-Romdhane Integrated circuit that stores first and second defective memory cell addresses
US20100238695A1 (en) * 2009-03-18 2010-09-23 Elpida Memory, Inc. Memory module including memory chips

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409598B2 (en) 2020-03-17 2022-08-09 SK Hynix Inc. Semiconductor devices

Also Published As

Publication number Publication date
KR20130026973A (ko) 2013-03-14

Similar Documents

Publication Publication Date Title
US8934311B2 (en) Semiconductor memory device capable of screening a weak bit and repairing the same
US11581024B2 (en) Memory module with battery and electronic system having the memory module
CN103544988B (zh) 控制刷新周期的半导体存储器件、存储系统及其操作方法
US9858981B2 (en) Semiconductor memory devices including redundancy memory cells
US7937631B2 (en) Method for self-test and self-repair in a multi-chip package environment
US7315970B2 (en) Semiconductor device to improve data retention characteristics of DRAM
US20120099389A1 (en) Memory circuits, systems, and modules for performing dram refresh operations and methods of operating the same
US9082504B2 (en) Semiconductor memory device storing refresh period information and operating method thereof
CN107437435A (zh) 半导体存储器件及其操作方法
JP2004158098A (ja) システム・イン・パッケージ型半導体装置
CN107204197B (zh) 存储模块及其存储系统和操作方法
KR20220041948A (ko) 수정된 명령과 관련 방법 및 시스템을 갖는 반도체 디바이스
KR101906409B1 (ko) 메모리 시스템
CN109036492A (zh) 半导体存储器装置及其操作方法以及存储器系统
US20240078153A1 (en) Semiconductor device with modified access and associated methods and systems
US6798701B2 (en) Semiconductor integrated circuit device having data input/output configuration variable
CN102651232B (zh) 半导体存储装置
US10990317B2 (en) Memory with automatic background precondition upon powerup
JP4136657B2 (ja) 半導体記憶装置及びアドレス変換回路
US20120131397A1 (en) Semiconductor device having test mode and method of controlling the same
KR20230051835A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
CN113362883A (zh) 可配置软封装后修复(sppr)方案
US20210065796A1 (en) Memory with automatic background precondition upon powerup
CN109872744A (zh) 一种方便测试的单元存储器
KR100627839B1 (ko) 프로그램 가능한 프로세서를 갖는 메모리 장치

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