KR102076067B1 - 메모리 모듈 및 메모리 시스템 - Google Patents

메모리 모듈 및 메모리 시스템 Download PDF

Info

Publication number
KR102076067B1
KR102076067B1 KR1020130025385A KR20130025385A KR102076067B1 KR 102076067 B1 KR102076067 B1 KR 102076067B1 KR 1020130025385 A KR1020130025385 A KR 1020130025385A KR 20130025385 A KR20130025385 A KR 20130025385A KR 102076067 B1 KR102076067 B1 KR 102076067B1
Authority
KR
South Korea
Prior art keywords
memory
address
fail
refresh
error
Prior art date
Application number
KR1020130025385A
Other languages
English (en)
Other versions
KR20140067875A (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 US14/087,167 priority Critical patent/US9087614B2/en
Publication of KR20140067875A publication Critical patent/KR20140067875A/ko
Application granted granted Critical
Publication of KR102076067B1 publication Critical patent/KR102076067B1/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers

Abstract

메모리 모듈은 복수의 메모리 장치들 및 버퍼 칩을 포함한다. 상기 버퍼 칩은 상기 복수의 메모리 장치들의 동작을 관리한다. 상기 버퍼 칩은 상기 메모리 장치들 각각에 대한 에러 정정 동작을 수행하는 에러 정정부를 구비하는 메모리 관리부를 포함한다. 상기 메모리 장치들 각각은 상기 메모리 관리부에서 액세스할 수 있는 적어도 하나의 스페어 칼럼을 포함한다. 상기 메모리 관리부는 상기 에러 정정부의 에러 정정 능력에 따라 상기 스페어 칼럼을 선택적으로 이용하여 상기 복수의 메모리 장치들의 에러를 정정한다.

Description

메모리 모듈 및 메모리 시스템{Memory modules and memory systems}
본 발명은 메모리 분야에 관한 것으로 보다 상세하게는 메모리 모듈 및 메모리 시스템에 관한 것이다.
고성능 전자 시스템에 사용되고 있는 반도체 장치는 그 용량 및 속도가 모두 증가하고 있다. 반도체 장치의 일예로서 DRAM은 휘발성 메모리 장치로서 커패시터에 저장된 전하에 의하여 데이터를 판정하는 메모리이다. 커패시터에 저장된 전하는 시간이 지나면 다양한 형태로 누설될 수 있으므로 DRAM은 유한 데이터 보유 특성을 갖는다. 상기와 같은 DRAM의 유한 데이터 보유 특성에 따라, 데이터의 보유를 지속하기 위한 다양한 정책들이 DRAM에 반영되고 있다. 또한 메모리 장치가 스케일링 다운됨에 따라 다양한 문제점들이 발생하고 있다.
본 발명의 일 목적은 점유 면적을 줄이면서 성능을 향상시킬 수 있는 메모리 모듈을 제공하는데 있다.
본 발명의 일 목적은 상기 메모리 모듈을 포함하는 메모리 시스템을 제공하는데 있다.
상기 본 발명의 일 목적을 달성하기 위한 본 발명의 일 실시예에 따른 메모리 모듈은 복수의 메모리 장치들 및 버퍼 칩을 포함한다. 상기 버퍼 칩은 상기 복수의 메모리 장치들의 동작을 관리한다. 상기 버퍼 칩은 상기 메모리 장치들 각각에 대한 에러 정정 동작을 수행하는 에러 정정부를 구비하는 메모리 관리부를 포함한다. 상기 메모리 장치들 각각은 상기 메모리 관리부에서 액세스할 수 있는 적어도 하나의 스페어 칼럼을 포함한다. 상기 메모리 관리부는 상기 에러 정정부의 에러 정정 능력에 따라 상기 스페어 칼럼을 선택적으로 이용하여 상기 복수의 메모리 장치들의 에러를 정정한다.
예시적인 실시예에 있어서, 상기 메모리 관리부는 상기 메모리 장치들 각각의 적어도 하나의 페일 셀을 구비하는 적어도 하나의 메모리 셀 로우의 어드레스들인 페일 어드레스 정보를 저장하는 제1 페일 어드레스 테이블을 더 포함할 수 있다.
상기 메모리 관리부는 상기 메모리 장치들을 액세스하기 위한 액세스 어드레스가 상기 페일 어드레스들 중 하나와 일치하는 경우 상기 액세스 어드레스에 상응하는 칼럼을 상기 스페어 칼럼으로 리페어하기 위한 스페어 칼럼 어드레스 신호를 활성화시키는 페일 어드레스 처리부를 더 포함할 수 있다.
상기 페일 어드레스 처리부는 상기 제1 페일 어드레스 테이블; 및 상기 제1 페일 어드레스 테이블에 저장된 페일 어드레스들과 상기 액세스 어드레스를 비교하고 비교 결과에 기초하여 상기 스페어 칼럼 어드레스 신호를 선택적으로 활성화시키는 어드레스 비교부를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 메모리 관리부는 상기 메모리 장치에서 상기 페일 어드레스에 상응하는 제1 메모리 셀 로우와는 다른 제2 메모리 셀 로우에서 에러가 발생하는 경우 상기 스페어 칼럼을 활성화시켜 상기 에러를 리페어할 수 있다.
예시적인 실시예에 있어서, 상기 복수의 메모리 장치들 중 적어도 하나의 메모리 장치에서 상기 에러 정정부에서 정정할 수 없는 에러들이 발생하는 경우, 상기 메모리 관리부는 상기 스페어 칼럼을 활성화시켜 상기 에러들 중 제1 에러를 구제하고, 상기 에러들 중 상기 제1 에러를 제외한 나머지 제2 에러는 상기 에러 정정부에서 정정하도록 할 수 있다.
예시적인 실시예에 있어서, 상기 메모리 관리부는 상기 메모리 장치들 각각에 대한 빌트-인 셀프 테스트(Built-in self test)를 수행하는 스크러버를 더 포함하고, 상기 페일 어드레스 정보는 상기 스크러버로부터 상기 제1 페일 어드레스 테이블에 전송되어 저장될 수 있다.
예시적인 실시예에 있어서, 상기 메모리 장치들 각각은 각각의 페일 어드레스 정보를 저장하는 제2 페일 어드레스 테이블을 포함할 수 있다.
상기 페일 어드레스 정보는 상기 메모리 모듈의 파워-업 시퀀스 동안이나 리셋 구간 동안에 상기 제2 페일 어드레스 테이블부터 상기 제1 페일 어드레스 테이블로 전송되어 저장될 수 있다.
상기 페일 어드레스 정보는 상기 메모리 장치들 각각의 데이터 핀을 통하여 상기 제1 페일 어드레스 테이블로 전송될 수 있다.
예시적인 실시예에 있어서, 상기 메모리 관리부는 상기 메모리 장치들 각각의 메모리 셀 로우들에 대한 액세스 빈도에 기초하여 미리 정해진 시간 동안에 액세스가 집중되는 메모리 셀 로우를 지정하는 집중 어드레스를 출력하는 로우 어드레스 활성화 카운팅부; 및 상기 집중 어드레스를 수신하고, 상기 집중 어드레스에 해당하는 메모리 셀 로우에 인접한 메모리 셀 로우들을 우선적으로 리프레쉬하는 리프레쉬 스케쥴러를 더 포함할 수 있다.
상기 미리 정해진 시간은 상기 메모리 장치의 리프레쉬 주기에 해당할 수 있다.
상기 인접한 메모리 셀 로우들에 대한 리프레쉬는 ROR(RAS only Refresh)이고, 상기 리프레쉬 스케쥴러는 상기 수신된 집중 어드레스에 기초하여 상기 인접한 메모리 셀 로우들에 상응하는 리프레쉬 로우 어드레스들을 상기 메모리 장치에 제공하여 상기 ROR을 수행할 수 있다.
상기 본 발명의 일 목적을 달성하기 위한 본 발명의 실시예에 따른 메모리 시스템은 메모리 컨트롤러 및 상기 메모리 컨트롤러와 통신하여 메모리 동작을 수행하는 메모리 모듈을 포함한다. 상기 메모리 모듈은 복수의 메모리 장치들 및 버퍼 칩을 포함한다. 상기 버퍼 칩은 상기 복수의 메모리 장치들의 동작을 관리한다. 상기 버퍼 칩은 상기 메모리 장치들 각각에 대한 에러 정정 동작을 수행하는 에러 정정부를 구비하는 메모리 관리부를 포함한다. 상기 메모리 장치들 각각은 상기 메모리 관리부에서 액세스할 수 있는 적어도 하나의 스페어 칼럼을 포함한다. 상기 메모리 관리부는 상기 에러 정정부의 에러 정정 능력에 따라 상기 스페어 칼럼을 선택적으로 이용하여 상기 복수의 메모리 장치들의 에러를 정정한다.
예시적인 실시예에 있어서, 상기 메모리 관리부는 상기 메모리 장치들 각각의 적어도 하나의 페일 셀을 구비하는 적어도 하나의 메모리 셀 로우의 어드레스들인 페일 어드레스 정보를 저장하는 제1 페일 어드레스 테이블; 및 상기 메모리 장치들을 액세스하기 위한 액세스 어드레스가 상기 페일 어드레스들 중 하나와 일치하는 경우 상기 액세스 어드레스에 상응하는 칼럼을 상기 스페어 칼럼으로 리페어하기 위한 스페어 칼럼 어드레스 신호를 활성화시키는 페일 어드레스 처리부를 더 포함하고, 상기 메모리 장치들 각각은 자신의 페일 어드레스를 저장하는 제2 페일 어드레스 테이블을 포함하고, 상기 페일 어드레스는 상기 메모리 시스템의 파워-업 시퀀스 동안이나 리셋 구간 동안에 상기 제2 페일 어드레스 테이블로부터 상기 제1 페일 어드레스 테이블로 전송되어 저장될 수 있다.
본 발명의 실시예들에 따르면, 메모리 모듈 상에 버퍼 칩을 구비하여 페일 어드레스가 액세스되면 외부에서 액세스가능한 스페어 칼럼 라인을 활성화시켜 페일 셀들을 구제하고, 특정 로우에 액세스가 집중되는 경우에는 인접 메모리 셀 로우들을 우선적으로 리프레쉬함으로써 메모리 장치 내부에서 처리하는 것보다 점유 면적을 줄이면서도 효율적으로 처리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템의 통신 방식의 일예를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 도 1의 AMB의 일 구현예를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 도 3의 메모리 관리부의 일 구현예를 나타내는 블록도이다.
도 5는 메모리 셀 어레이의 페이지 구조를 나타낸다.
도 6은 도 4의 메타 데이터 저장부의 일 예를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 도 4의 스크러버의 구성의 일예를 나타내는 블록도이다.
도 8은 본 발명의 일 실시예에 따른 도 4의 어드레스 교환 제어부의 구성의 일 예를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 도 4의 ECC부의 구성의 일 예를 나타내는 블록도이다.
도 10은 본 발명의 일 실시예에 따른 도 4의 로우 어드레스 활성화 카운팅부의 구성의 일예를 나타내는 블록도이다.
도 11은 본 발명의 일 실시예에 따른 도 4의 리프레쉬 스케쥴러의 구성의 일예를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 도 4의 페일 어드레스 저장 로직의 구성의 일예를 나타내는 블록도이다.
도 13은 본 발명의 일 실시예에 따른 도 1의 메모리 장치들 중 하나의 구성을 나타내는 블록도이다.
도 14는 도 13에서 하나의 뱅크 메모리 어레이와 하나의 뱅크 칼럼 디코더를 나타낸다.
도 15는 도 14의 메모리 장치의 칼럼 디코더의 동작 모드를 나타내는 타이밍도이다.
도 16은 본 발명의 실시예에 따른 메모리 모듈에서 에러를 정정하는 방법을 나타내는 흐름도이다.
도 17은 제1 페일 어드레스 테이블과 제2 페일 어드레스 테이블의 관계를 나타낸다.
도 18은 본 발명의 일 실시예에 따른 메모리 모듈의 액세스가 집중되는 메모리 셀 로우의 인접 메모리 셀 로우들을 리프레쉬하는 방법을 나타내는 흐름도이다.
도 19는 본 발명의 다른 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 20은 본 발명의 다른 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 21은 본 발명의 또 다른 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 22는 본 발명의 일실시예에 따른 반도체 장치를 나타내는 구조도이다.
도 23은 본 발명의 실시예들에 따른 메모리 모듈을 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 24는 본 발명의 실시예들에 따른 메모리 모듈을 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일하거나 유사한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
반도체 장치로서 메모리 장치는 DRAM(Dynamic Randon Access Memory)과 SRAM(Static Random Access Memory) 등의 휘발성(Volatile) 메모리와 PRAM(Phase change Random Access Memory)과 전이금속산화물(Complex Metal Oxides) 등의 가변저항 특성 물질을 이용한 RRAM(Resistive Random Access Memory)과 강자성체 물질을 이용한 MRAM(Magnetic Random Access Memory) 등의 이상적으로는 리프레쉬(Refresh)가 필요 없는 비휘발성 (Non-volatile) 메모리 등을 포함한다. 최근에는 비휘발성 메모리에도 리프레쉬 동작을 적용하는 경향이 있다.
DRAM은 그 구조상 유한 데이터 보유(Finite Data Retention) 특성을 가지므로 이에 대응하기 위한 다양한 수단이 고안되었다. 예를 들어 하드웨어적인 방법을 사용하여 DRAM에 저장된 데이터를 유지하였으며, 일정 시간 주기마다 리프레쉬 동작을 수행하는 방법은 널리 이용되고 있는 정책들 중 하나이다. 이와 같은 정책에 맞추어 DRAM의 코어 구조가 최적화되어 있으며, DRAM의 용도 또한 이에 맞게 진화되어 왔기 때문에, 메모리 계층내에서 이러한 정책들을 쉽게 바꾸기 어렵다.
DRAM의 유한 데이터 보유(Finite Data Retention) 특성에 따라, 정상적인 셀의 경우도 스펙(Spec)에서 정한 시간이 지나면 그 데이터의 유효성이 보장될 수 없다. 이에 대응하기 위한 정책의 일예로서, 리프레쉬 정책은, 스펙(Spec) 값이 64ms인 경우 상기 스펙(Spec) 값으로 설정되는 리프레쉬 주기마다 셀에 저장된 데이터를 리프레쉬한다. 그러나, DRAM 셀이 점차 작아짐에 따라 데이터 보유 특성이 저하되므로 스펙(Spec) 값은 더 작은 값으로 수정될 가능성이 있으며, 이 경우 리프레쉬를 더 자주 수행하게 되므로 파워 소모를 증가시킬 뿐 아니라, 리프레쉬 동작 구간이 늘어나게 되므로 I/O 대역폭(bandwidth)가 감소되는 문제가 발생하게 된다.
이외에도, 데이터의 유효성을 보장하기 위하여 각 어플리케이션마다 [0018] 서로 다른 정책들이 적용될 수 있다. 예컨데, 에러 정정 회로(Error Correction Circuit)의 채용이나 메모리 셀의 어드레스를 대체하는 리페어 (Repair) 기술의 채용은 유한 데이터 보유(Finite Data Retention) 특성에 대응하여 데이터의 유효성 증가를 위해 채용될 수 있다. 그러나, 이와 같은 다양한 정책들을 DRAM 칩 내부에 모두 채용하기는 어려우며, 또한 어플리케이션별로 서로 다른 정책을 채용한 DRAM 칩을 생산하는 것은 그 개발비나 생산 비용을 증대시키게 된다. 또한, 서로 다른 정책을 채용하는 경우, DRAM이 가질 수 있는 범용 메모리로서의 장점을 떨어뜨리게 된다.
이하에서는 본 발명의 실시예로서, 메모리 동작의 특성 향상을 위한 다양한 정책들을 채용하면서 범용 메모리서의 장점을 유지하도록 하는 메모리 모듈 및 메모리 시스템의 실시예를 소개한다.
도 1은 본 발명의 일 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 모듈(200A 내지 200C) 각각은 하나 이상의 반도체 장치(또는 메모리 장치, 201)를 포함한다. 한편, 메모리 시스템(100)은 메모리 컨트롤러(110)와 반도체 장치(201)가 장착된 메모리 모듈(200A 내지 200C)을 구비한다. 또한, 메모리 시스템(100)은 클럭 발생부(120)를 더 구비할 수 있으며, 클럭 발생부(120)로부터 발생되는 클럭 신호(CK)는 메모리 컨트롤러(110)로 제공되거나 각각의 메모리 모듈(200A 내지 200C)로 제공될 수 있다.
도 1에 도시된 메모리 모듈(200A 내지 200C)은 FBDIMM(Fully Buffered Dual In-line Memory Module) 형태의 모듈로서, 메모리 모듈(200A 내지 200C)은 각각은 AMB(Advanced Memory Buffer, 300)를 구비한다. FBDIMM 형태의 메모리 모듈 각각은 메모리 컨트롤러(110)와 통신하며, 메모리 컨트롤러(110)와 모듈 내의 AMB(300) 사이가 포인트 투 포인트(point-to-point) 방식으로 접속된다. 한 메모리 모듈에 구비되는 AMB와 다른 메모리 모듈에 구비되는 AMB는 서로 패킷을 송수신할 수 있다. 이에 따르면, 반도체 메모리 시스템(100)에 접속되는 메모리 모듈 수를 증가시킬 수 있으므로, 대용량화가 가능하며 또한 FBDIMM은 패킷 프로토콜(packet protocol)을 이용하기 때문에 고속 동작이 가능하다.
도 2는 도 1의 메모리 시스템의 통신 방식의 일예를 나타낸다.
도 2에서는 설명의 편의상 메모리 컨트롤러(110)와 제1 메모리 모듈(200A)만을 도시하였다. 도 2에 도시된 바와 같이 메모리 컨트롤러(110)와 제1 메모리 모듈(200A)의 AMB(300)는 직렬 통신 방식에 따라 패킷을 송수신하며, 제1 메모리 모듈(200A)의 AMB(300)는 인접한 메모리 모듈의 AMB(일예로서, 제2 메모리 모듈의 AMB)와 패킷을 송수신한다. 상기 패킷에 포함된 어드레스 및 커맨드(CMD/ADD), 클럭신호(CLK) 및 데이터(Data) 등은 반도체 장치(예컨데, DRAM 201)로 제공된다.
상기와 같이 구성될 수 있는 본 발명의 메모리 모듈 및 반도체 메모리 시스템을 하나의 메모리 모듈(예컨데, 제1 메모리 모듈, 200A)을 중심으로 하여 설명하면 다음과 같다.
도 3은 본 발명의 일 실시예에 따른 도 1의 AMB의 일 구현예를 나타내는 블록도이다.
도 3을 참조하면, 상기 AMB(300)는 외부의 클럭 신호(CK)를 수신하여 AMB(300) 내부에서 사용되는 클럭 신호(CLK)를 발생하는 PLL(350), 외부로부터의 패킷을 기입하고, 커맨드(CMD)를 디코딩하거나 패킷의 손상 유무를 확인하기 위한 CRC(Cyclic Redundancy Check)를 수행하는 AMB 코어(330) 및 패킷의 양방향으로의 전달을 제어하는 경로 제어 로직(340)을 구비한다. 특히, AMB(300)에는 본 발명의 실시예에 따른 다양한 정책이 적용되어 메모리에 대한 통합적인 관리를 수행하는 메모리 관리부(310)가 더 구비된다.
도 4는 본 발명의 일 실시예에 따른 도 3의 메모리 관리부의 일 구현예를 나타내는 블록도이다.
도 4를 참조하면, 상기 메모리 관리부(310)는 메타 데이터를 저장하는 메타 데이터 저장부(311)와 메모리 장치에 대한 리프레쉬 동작을 관리하는 리프레쉬 스케줄러(312)를 구비한다. 또한, 메모리 관리부(310)는 외부로부터 또는 AMB 코어(330)로부터 클럭 신호(CLK), 커맨드/어드레스(CMD, ADD) 및 데이터(DQ) 등을 수신하고 이를 처리하는 제어 유닛(316), 메모리의 일정 개수의 어드레스 정보를 저장하는 LRU/FIFO 부(313), 메모리 장치에 저장된 데이터의 비트 에러 여부를 모니터링하기 위해 메모리 셀을 리드하는 스크러버(Scrubber, 314) 및 메모리의 일부 페이지(Page)에 에러 정정이 불가능한 에러가 발생한 경우 에러 페이지(Page)를 리던던트 페이지(Page)로 대체하기 위한 어드레스 교환 제어부(315) 등을 더 구비할 수 있다. 또한, 메모리 관리부(310)는, 본 발명의 반도체 메모리 시스템이 사용되는 어플리케이션(예컨데 컴퓨터 시스템)의 작업 로드를 분석하고 예측하는 작업 로드 분석부(317), 메모리의 독출/기입에 관계된 동작 전압을 제어하는 DVFS(Dynamic Voltage Frequenvy Scaling) 제어부(318), 데이터에 대한 에러 정정을 수행하는 에러 정정부(ECC, 319) 및 주변 온도를 감지하여 온도 정보를 발생하는 온도 센서(320)를 더 구비할 수 있다. 또한, 메모리 관리부(310)는 에러 정정부(319)에서 정정할 수 없는 페이지의 어드레스인 페일 어드레스를 저장하는 제1 페일 어드레스 테이블(Fail Address Table; FAT, 321) 및 특정 로우로의 액세스 집중을 방지하기 위한 로우 어드레스 활성화 카운팅부(322)를 더 포함할 수 있다.
메타 데이터 저장부(311)는 레지스터로 구현될 수 있으며, 메모리 모듈상의 m 개의 페이지에 대응하여 m 개의 저장 영역이 할당될 수 있다.
도 5는 메모리 셀 어레이의 페이지 구조를 나타낸다.
도 5에는 도 1의 메모리 모듈(200A)에 장착된 n 개의 DRAM 칩(DRAM1 내지 DRAMn)이 도시되어 있으며, 각각의 DRAM 칩은 m 개의 페이지(Page)를 갖는 메모리 셀 어레이를 구비할 수 있다. 메모리 모듈로 한 번의 RAS Active 명령을 인가하였을 때 메모리 모듈 상의 어느 하나의 페이지(Page)의 데이터가 비트라인 센스앰프로 이동된다. 페이지(Page)는 동일 어드레스에 의해 선택될 수 있으며, 메모리 모듈 상에서 하나의 어드레스에 의해 소정의 바이트 크기의 페이지(Page)의 데이터(예컨데, 8k Byte의 데이터)가 비트라인 센스앰프로 이동된다.
도 6은 도 4의 메타 데이터 저장부의 일 예를 나타낸다.
도 6을 참조하면, 상기 메타 데이터 저장부(311)는 레지스터로 구현될 수 있으며, 도 5에 도시된 바와 같이 메모리 모듈 상의 m 개의 페이지(Page)에 대응하여 m 개의 저장 영역(R[1]내지 R[m])이 할당될 수 있다. 도 6은 어느 하나의 저장 영역(예컨데 제1 저장 영역, R[1])의 예를 나타내며, 제1 저장 영역(R[1])은 소정 크기의 버퍼를 포함하며 또한 다수 개의 필드로 이루어진다. 또한, 도 6a에서 제1 저장 영역(R[1])에 도시된 숫자는 버퍼의 비트 순서를 나타낸다.
제1 저장 영역(R[1])은, 리프레쉬 수행에 관계된 리프레쉬 필드(Refresh Field), 리프레쉬 주기와 관련된 듀얼 리텐션 필드(Dual Retention Field), 스크리빙 동작과 관련된 스크러빙 필드(Scrubbing Field), 메모리에 저장된 데이터의 리클레임(Reclaim)에 관련된 리클레임 필드(Reclaim Field), 에러 페이지(Page)의 어드레스 교환에 관련된 어드레스 교환 필드(Swap Address Field), 메모리의 독출/기입 동작의 전압에 관계된 동작 전압 필드(Voltage Operation Field) 및 ECC 정정과 관련된 ECC 필드(ECC Field) 등을 포함할 수 있다. 또한, 스크러빙 필드(Scrubbing Field)는 싱글비트 에러에 관계된 정보를 갖는 서브 필드와 페일 칼럼의 어드레스 정보를 갖는 서브 필드와, 해당 페이지가 멀티 비트 에러가 발생하였는지를 나타내는 정보를 갖는 서브 필드를 포함할 수 있다. 또한, 어드레스 교환 필드(Swap Address Field)는 소정 어드레스에 해당하는 페이지(Page)가 정정 불가능한 에러가 발생하였는지를 나타내는 서브 필드와 리던던트 페이지(Page)의 어드레스 정보를 갖는 서브필드를 포함할 수 있다. 상기와 같이 구성될 수 있는 본 발명의 다른 실시예의 메모리 모듈 및 반도체 메모리 시스템의 동작을 도 4 및 도 6을 참조하여 설명하면 다음과 같다. 스크러버(314)는 메모리(예컨데, 도 1의 메모리 장치(201)에 구비되는 메모리 셀 어레이)에서 싱글비트 에러가 발생하였는지 여부를 모니터링하기 위하여 메모리를 리드하는 스크러빙 동작을 일정 주기마다 수행한다. 메모리 관리부(310)의 스크러버(314)는 메모리 셀 어레이 각각의 페이지(Page)에 대해 스크러빙 동작을 수행하고, 스크러빙 결과 싱글비트 에러가 발생한 경우 그 결과를 메타 데이터 저장부(311)의 스크러빙 필드(Scrubbing Field)에 저장한다. 예컨데, 싱글비트 에러 서브 필드가 1 비트의 버퍼로 이루어지며, 제1 페이지 (Page)에 싱글비트 에러가 발생한 경우 제1 저장 영역(R[1])의 스크러빙 필드(Scrubbing Field)의 싱글비트 에러 서브 필드가 "1"의 값을 갖는다.
또한, 메모리 셀 어레이의 각각의 페이지(Page)의 스크러빙 결과에 따른 다른 정보들을 메타 데이터 저장부(311)의 스크러빙 필드(Scrubbing Field)에 저장한다. 예컨데, 페일 칼럼 어드레스 서브 필드는 12 비트의 버퍼로 이루어지며 상기 싱글비트 에러가 발생된 칼럼 어드레스(Column address)를 페일 칼럼 어드레스 서브 필드에 저장한다. 또한, 해당 페이지(Page)에서 두 개 이상의 에러가 검출된 경우, 상기 페이지(Page)에 대응하는 저장 영역의 스크러빙 필드(Scrubbing Field)에 이를 나타내는 정보를 저장한다. 예컨데, 스크러빙 필드(Scrubbing Field)의 멀티 비트 에러 서브 필드가 3 비트의 버퍼로 이루어진 경우, 해당 페이지에 2 비트의 페일이 발생한 경우 멀티 비트 에러 서브 필드에 "001"를 저장하고, 3 비트의 페일이 발생한 경우 멀티 비트 에러서브 필드에 "010"를 저장하며, 이와 유사한 방식에 따라 다른 수의 페일이 발생한 경우 이를 나타내는 정보를 저장한다. 또한, 8 비트 이상의 페일이 발생한 경우에는 멀티 비트 에러 서브 필드에 "111"를 저장한다.
스크러버(314)는 스크러빙을 수행함에 있어서, 메타 데이터 저장부(311)에 저장된 스크러빙 필드(Scrubbing Field)의 값을 참조하고 이에 기반하여 메모리 셀 어레이에 대한 스크러빙 동작을 수행한다. 예컨데, 스크러버(314)는 다수의 페이지(Page)를 순차적으로 스크러빙하며, 각각의 페이지(Page)에 대한 스크러빙을 수행하기 전에 메타 데이터 저장부(4211)의 스크러빙 필드(Scrubbing Field)의 값을 참조한다. 싱글비트 에러 서브 필드가 "0"의 값을 갖는 경우 스크러버(4214)는 이에 대응하는 페이지(Page)에 대해서는 스크러빙 동작을 수행하지 않으며, 반면에 싱글비트 에러 서브 필드가 "1"의 값을 갖는 경우 스크러버(4214)는 이에 대응하는 페이지(Page)에 대해서 스크러빙 동작을 수행한다. 또한, 스크러빙 동작을 수행함에 있어서 페일 칼럼 어드레스 서브 필드를 참조하고, 해당 페이지(Page)를 스크러빙함에 있어서 페일 칼럼 어드레스 서브 필드로부터 어드레스를 읽어낸 후 상기 어드레스를 시작 어드레스로 하여 해당 페이지(Page)에 대한 스크러빙 동작을 수행한다.
또한, 페이지(Page)에서 두 개 이상의 페일이 발생한 경우 데이터의 에러를 정정하기 위해서는 더 많은 비트의 ECC 자원(ECC 패리티(Parity))를 필요로 한다. 일반 기입 동작시, 스크러빙 필드(Scrubbing Field)의 멀티 비트 에러 서브 필드 값을 참조하고, 그 참조 결과에 따라 ECC 패리티(Parity)를 더 생성하여 데이터에 대한 에러 정정 동작이 수행되도록 한다. 예컨데, 멀티 비트 에러 서브 필드 값이 "000"인 경우 1 비트의 에러 정정 ECC를 사용하며, 멀티 비트 에러 서브 필드 값이 "011"인 경우 패리티(Parity) 비트를 더 추가하여 4 비트의 에러 정정 ECC를 사용한다. 도 4의 ECC부(319)는 멀티 비트 에러 서브 필드 값을 참조하여 데이터의 에러 정정을 위한 ECC 패리티(Parity)를 생성한다. 상기한 바와 같이, 멀티 비트 에러 서브 필드 값에 따라 서로 다른 비트 수의 ECC 패리티(Parity)를 생성하며, 상기 생성된 ECC 패리티(Parity)는 메타 데이터 저장부(311)의 ECC 필드(ECC Field)에 저장된다. 메모리 셀 어레이에 저장된 데이터를 리드하는 경우, 메모리에 저장된 데이터와 ECC 필드(ECC Field)에 저장된 ECC 패리티(Parity)를 이용하여 원래의 데이터를 찾아낼 수 있다.
한편, 메모리, 예컨데 DRAM이 사용되는 컴퓨터 시스템에서, 중앙 프로세서 유닛(CPU)이 메모리 자원을 요청하는 경우, 메모리에 빈 공간이 없으면 기존에 저장된 데이터를 삭제하고 해당 공간을 다른 용도로 사용하기 위한 리클레임(Reclaim) 동작이 수행되어야 한다. 리클레임(Reclaim) 동작 수행시, 메모리 셀 어레이의 해당 페이지(Page)의 데이터가 불휘발성 저장 장치(예컨데, 하드 디스크 드라이브, HDD)에 존재하는 원본 데이터와 동일한 경우에는 상기 페이지(Page)의 데이터를 바로 삭제할 수 있으나, 페이지(Page)의 데이터가 원본 데이터 와 다른 경우(또는, 페이지(Page)의 데이터가 더티 데이터(Dirty data)인 경우)에는 하드 디스크 드라이브(HDD)에 해당 데이터를 옮긴 이후에 해당 공간을 다른 용도로 사용해야 한다.
상기와 같은 리클레임(Reclaim) 동작을 관리하기 위하여, 도 4의 메모리 관리부(310)의 메타 데이터 저장부(311)는 리클레임 필드(Reclaim Field)를 포함하며, 메모리 셀 어레이의 각각의 페이지(Page)가 더티 데이터(Dirty data)를 포함하는지를 나타내는 정보를 리클레임 필드(Reclaim Field)에 저장할 수 있다. 이에 따라, 리클레임(Reclaim) 동작을 수행함에 있어서 각각의 페이지(Page)에 저장된 데이터를 하드 디스크 드라이브(HDD)에 백 업(Back-up)할 필요가 있는지를 리클레임 필드(Reclaim Field)를 통해 확인 가능하며, 그 확인 결과에 기반하여 리클레임(Reclaim) 동작이 수행되도록 한다. 예컨데, 하드 디스크 드라이브(HDD)의 데이터가 메모리로 옮겨지고 이후 독출 및/또는 기입을 위하여 메모리의 페이지(Page)가 오픈된 경우, 해당 페이지(Page)의 리클레임 필드(Reclaim Field)를 "1"의 값으로 변경할 수 있다.
또한 메모리 관리부(310)는 일정 규모의 크기를 가지는 LRU/FIFO 부(313)를 구비할 수 있으며, 리클레임 필드(Reclaim Field) 값이 변경된 페이지(Page)의 어드레스 정보가 LRU/FIFO 부(313)에 저장된다. 메모리 셀 어레이의 일정 개수(예컨데, 메모리의 전체 페이지(Page)의 30%)의 페이지(Page)의 어드레스 정보가 저장될 수 있으며, 최근에 사용된 페이지(Page)의 순서에 기반하여 어드레스 정보가 저장될 수 있다. 리클레임(Reclaim) 동작을 위하여, LRU/FIFO(313)에 저장된 어드레스 정보가 외부의 메모리 콘트롤러 또는 CPU로 제공되며, 외부로 제공된 어드레스 정보에 기반하여 리클레임(Reclaim)이 수행될 수 있다. 예컨데, 외부로 제공된 어드레스를 제외한 나머지 어드레스에 대응하는 페이지(Page)들에 대해 리클레임(Reclaim)이 수행되도록 한다.
한편, 메모리 관리부(310)의 어드레스 교환 제어부(315)는, 메모리의 일부 페이지(Page)에 에러 정정이 불가능한 에러가 발생한 경우 에러 페이지(Page)를 리던던트 페이지(Page)로 대체하기 위한 동작을 수행한다. 또한 이를 위하여, 메타 데이터 저장부(311)는 어드레스 교환 필드(Swap Address Field)를 포함하며, 어드레스 교환 필드(Swap Address Field)는 에러가 발생한 페이지(Page)의 어드레스 정보를 갖는 제1 서브 필드와 상기 에러 페이지(Page)를 대체(replace)하기 위한 리던던트 페이지(Page)의 어드레스 정보를 갖는 제2 서브 필드를 포함할 수 있다.
리던던트 페이지(Page)는 외부에서 보이지 않는 어드레스를 메모리 장치 또는 메모리 모듈 내에서 생성하여 선택된다. 소정의 페이지(Page)에 에러 정정이 불가능한 에러가 발생한 경우, 상기 페이지(Page)에 대응하는 어드레스 교환 필드(Swap Address Field)의 제1 서브 필드의 값을 변경시킴으로써(예컨데, 제1 서브 필드에 "1"의 값을 기록함으로써), 상기 페이지(Page)를 다른 페이지(Page)로 변경할 것인지의 정보를 갖도록 한다. 또한, 리드/라이트 대상의 페이지(Page)가 어드레스 교환 대상인 경우, 제2 서브 필드에 저장된 리던던트 페이지 (Page)의 어드레스 정보가 읽혀지고 리던던트 페이지(Page)의 어드레스가 메모리로 제공되도록 한다.
한편, 메모리 관리부(310)의 DVFS(Dynamic Voltage Frequenvy Scaling) 제어부(318)는 메모리의 독출/기입의 동작 전압에 관계된 정보를 관리한다. 또한 이를 위하여, 메타 데이터 저장부(311)는 메모리의 독출/기입 동작의 전압에 관계된 동작 전압 필드(Voltage Operation Field)를 포함한다. 메모리의 데이터 독출/기입 동작시 이용된 전압의 레벨에 관계된 정보가 동작 전압 필드(Voltage Operation Field)에 저장되며, 또한 상기와 같은 전압 레벨에 관계된 정보는 메모리의 각각의 페이지(Page)별로 구분되어 저장된다.
메모리에 데이터를 기입하는 경우, 예를 들어 1V의 전압으로 페이지(Page)에 데이터를 기입한 후 1.1V의 전압으로 해당 페이지(Page)의 데이터를 독출하는 경우, 데이터 "1"의 마진(margin)이 데이터 "0"의 마진(margin)에 비하여 취약해질 수 있다. 따라서, 페이지(Page)별로 동작 전압의 레벨에 관계된 정보를 동작 전압 필드(Voltage Operation Field)에 저장하고, 이후 각종 동작(예컨데, 리드 동작, 리프레쉬 동작 등) 수행시 동작 전압 필드(Voltage Operation Field)에 저장된 정보를 참조한다.
반도체 장치나 메모리 모듈에서의 파워 소모를 감소하기 위하여, 작업 로드 분석부(317)는 작업 로드를 분석하여 그 결과를 제공하며, 작업 로드가 작은 경우 DVFS(Dynamic Voltage Frequenvy Scaling) 제어부(4218)는 DRAM 셀로 제공되는 전압 레벨을 낮추어 동작하도록 한다(예컨데, 메모리의 동작 전압 레벨을 1.1V에 서 1.0V로 낮추어 동작시킨다). 또한 낮은 전압에 의해 동작된 페이지(Page)에 대응하는 동작 전압 필드(Voltage Operation Field)에 전압 레벨과 관계된 정보를 기록한다. 예컨데, 페이지(Page)가 낮은 전압에 의해 동작된 경우, 상기 페이지(Page)에 대응하는 동작 전압 필드(Voltage Operation Field)에 "1"의 값을 기록한다. 이후의 동작, 예컨데 리프레쉬 동작시 리프레쉬 스케줄러(312)는 메타 데이터 저장부(4211)의 동작전압 필드(Voltage Operation Field)를 참조하고, 참조 결과에 따라 리프레쉬를 조절할 수 있다.
동작 전압 필드(Voltage Operation Field)는, 변동 가능한 전압의 종류, 또는 개수에 따라 그 비트 수가 결정될 수 있다. 예컨데, 전압 레벨이 1.2V, 1.1V, 1.0V 및 0.9V의 4 단계로 변동하는 경우, 동작 전압 필드(Voltage Operation Field)는 2 비트의 버퍼를 구비할 수 있다. 만약, 메모리의 페이지(Page)가 0.9V나 1.0V에 해당하는 낮은 전압으로 기입 동작이 수행된 경우, 상기 페이지(Page)에 대해서는 정상 전압으로 수행되는 리프레쉬 동작이 우선 리프레쉬가 수행되도록 한다. 예컨데, 낮은 전압 모드에서 정상 전압 모드로 진입할 때, 메타 데이터 저장부(311)의 동작 전압 필드(Voltage Operation Field)가 스캐닝되고, 로우 전압 레벨로 동작(기입 등의 동작)이 이루어진 페이지(Page)를 정상 전압으로 리프레쉬한다. 이를 위하여, 리프레쉬 동작은 다수의 페이지에 대해 연속적으로 리프레쉬를 수행하는 연속 리프레쉬 방식과 페이지들을 분산하여 리프레쉬를 수행하는 분산 리프레쉬 방식을 포함할 수 있다. 리프레쉬 주기가 시작되면, 먼저 낮은 전압으로 동작된 페이지(Page)들을 연속하여 리프레쉬하고, 상기 페이지(Page)에 대한 리프레쉬 동작 수행이 완료되면 해당 페이지 (Page)에 대응하는 동작 전압 필드(Voltage Operation Field) 값을 변동시킨다. 이후, 나머지 페이지(Page)에 대해서는, 앞서 설명된 실시예에서와 같은 방식에 따라 리프레쉬를 수행한다. 정상 전압 모드에서 낮은 전압 모드로 다시 바뀐 경우, 기입 등의 동작을 위하여 페이지(Page)가 오픈되면 상기 오픈된 페이지(Page)에 대응하는 동작 전압 필드(Voltage Operation Field) 값을 변동시킨다.
페일 어드레스 처리부(321)는 에러 정정부(319)에서 ECC가 수행되는 단위로 정정 불가능한 멀티비트 에러가 발생하는 경우의 해당 메모리 셀들의 어드레스를 페일 어드레스로서 저장한다.
로우 어드레스 활성화 카운팅부(322)는 메모리의 특정 메모리 셀 로우에 액세스가 집중되는 경우, 특정 메모리 셀 로우가 활성화되는 빈도를 카운팅하여 그 카운팅 결과가 정해진 시간 동안에 문턱 값을 초과하는 경우에는 메모리의 리프레쉬 주기 동안에 특정 메모리 셀 로우의 인접 메모리 셀 로우들을 우선적으로 리프레쉬하도록 액세스가 집중되는 어드레스를 제공할 수 있다. 이렇게 액세스가 집중되는 특정 메모리 셀 로우에 인접한 메모리 셀 로우들을 우선적으로 리프레쉬함으로써 특정 메모리 셀 로우에 집중된 액세스에 기인한 인접 메모리 셀 로우들에 포함되는 메모리 셀들의 소실된 전하를 복원시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 도 4의 스크러버의 구성의 일예를 나타내는 블록도이다.
도 7을 참조하면, 스크러버(314)는 메모리 셀 어레이의 에러 발생 여부를 모니터링하는 메모리 BIST부(3140)와, 메모리 BIST부(3140)로부터의 테스트 결과를 이용하여 에러 검출을 수행하는 에러 검출부(3145)를 구비할 수 있다. 또한, 상기 메모리 BIST부(3140)는 모니터링 동작을 전반적으로 제어하거나 테스트 동작을 위한 각종 커맨드(CMD_BIST)를 발생하는 스테이트 머신(3141), 메모리 셀을 선택하기 위한 테스트 어드레스(ADD_BIST)를 발생하는 카운터부(3142), 테스트를 수행하기 위한 데이터 패턴(DQ_BIST)을 발생하는 패턴 발생부(3143) 및 데이터 패턴(DQ_BIST)과 메모리 셀로부터 읽혀진 패턴을 서로 비교하는 비교부(3144)를 구비할 수 있다.
스테이트 머신(3141)은 모드 제어신호(Mode Controls)나 필드 값(Field Values)을 수신하여 커맨드(CMD_BIST) 및 각종 제어신호를 발생한다. 예컨데, 모드 제어신호(Mode Controls)에 응답하여 스크러버(314)의 동작이 온/오프 제어될 수 있으며, 스테이트 머신(3141)은 필드 값(Field Values)을 참조하여 카운터부(3142)의 어드레스 발생 동작을 제어하거나 패턴 발생부(3143)의 패턴 발생 동작을 제어한다. 데이터 패턴(DQ_BIST)이 메모리 셀에 저장되고 소정의 시간 후 메모리 셀에 저장된 패턴이 독출된다. 비교부(3144)는 원래의 데이터 패턴(DQ_BIST)과 메모리 셀로부터 독출된 패턴을 비교한 결과를 에러 검출부(3150)로 제공한다.
에러 검출부(3145)는, 상기 비교 결과에 기반하여 페이지의 싱글비트 에러 발생여부, 에러가 발생한 칼럼 어드레스 정보 및 해당 페이지에서 발생된 에러 비트의 수를 검출한다. 또한, 에러 검출부(3150)는 상기 검출 결과에 따른 정보를 스크러빙 필드(Scrubbing Field)에 기록한다. 또한, 페이지에 멀티 비트 에러가 발생한 경우 이를 나타내는 정보를 ECC부(3145)로 제공함으로써, ECC부(3145)가 멀티 비트 에러에 대응하는 ECC 패리티(Parity)를 생성하도록 한다. 또한, 소정의 페이지에 다수의 비트 에러가 발생하여 에러 정정이 불가능한 경우, 이를 나타내는 정보를 어드레스 교환 제어부(315)로 제공할 수 있다. 또한 에러 검출부(3145)는 소정의 페이지에 다수의 비트 에러가 발생하여 에러 정정이 불가능한 경우, 이들 페이지의 어드레스를 페일 어드레스로서 도 4의 페일 어드레스 처리부(321)에 제공할 수 있다.
도 8은 본 발명의 일 실시예에 따른 도 4의 어드레스 교환 제어부의 구성의 일 예를 나타낸다.
도 8을 참조하면, 어드레스 교환 제어부(315)는 어드레스 교환 동작의 전반을 제어하는 제어로직(3151), 메타 데이터 저장부(311)를 억세스하여 필드 값을 기록하거나 필드 값을 리드하는 억세스부(3152), 해당 어드레스에 대응하는 페이지의 어드레스 교환 서브필드의 값을 검출하는 필드 값 검출부(3153) 및 필드 값을 검출한 결과에 따라 원래의 어드레스나 리던던트 어드레스를 선택적으로 출력하는 선택부(3154)를 구비할 수 있다.
제어로직(3151)은 도 7의 스크러버(314)로부터의 스크러빙 결과를 수신할 수 있으며, 이에 응답하여 메타 데이터 저장부(311)의 어드레스 교환 필드(Swap Address Field)를 설정 또는 갱신할 수 있다. 제어로직(3151)은 상기 스크러빙 결과에 응답하여 억세스부(3152)를 제어하며, 억세스부(3152)는 정정 불가능한 에러가 발생된 페이지에 대응하는 어드레스 교환 필드(Swap Address Field)의 제1 서브 필드의 값을 "1"로 변경시키고, 또한 제2 서브 필드에 상기 에러가 발생된 페이지를 대체하기 위한 리던던트 페이지의 어드레스 값을 기록한다.
이후, 메모리 셀 어레이에 대한 독출/기입을 위한 어드레스(ADD)가 수신되면, 제어로직(3151)은 억세스부(3152)를 제어하여 상기 어드레스(ADD)에 대응하는 어드레스 교환 필드(Swap Address Field)의 값을 억세스한다. 필드 값 검출부(3153)는 상기 어드레스(ADD)에 대응하는 제1 서브 필드의 값을 수신하고, 상기 제1 서브 필드의 값이 "1"인지 또는 "0"인지를 검출하여 그 검출 결과를 선택부(3154)로 제공한다. 선택부(3154)는 제1 서브 필드의 값이 "0"인 경우 상기 어드레스(ADD)를 출력하며, 제1 서브 필드의 값이 "1"인 경우 어드레스 교환 필드(Swap Address Field)의 제2 서브 필드에 기록된 리던던트 페이지의 어드레스(ADD_T)를 출력한다. 이에 따라, 리던던트 페이지를 이용하기 위한 어드레스 교환 동작이 DRAM 칩 외부(예컨데, 모듈 상의 ABM 칩)에서 수행되며, 교환된 어드레스가 DRAM 칩으로 제공됨에 따라 에러 정정이 불가능한 페이지가 리던던트 페이지로 대체된다.
도 9는 본 발명의 일 실시예에 따른 도 4의 ECC부의 구성의 일 예를 나타내는 블록도이다.
도 9를 참조하면, 상기 ECC부(319)는 에러 정정을 위한 전반적인 동작을 제어하는 제어로직(3191), 메타 데이터 저장부(311)를 억세스하여 ECC 동작에 관계된 필드 값을 기록하거나 리드하는 억세스부(3192), 기입 데이터(Data_W) 및 메타 데이터 저장부(311)의 필드 값을 참조하여 상기 기입 데이터(Data_W)에 대응하는 ECC 패리티를 발생하는 패리티 발생부(3193), 및 메모리 셀 어레이로부터의 독출 데이터와 ECC 패리티를 이용하여 에러 정정된 데이터(Data)를 발생하는 ECC 디코더부를 구비할 수 있다. ECC 디코더부(3194)는 독출 데이터로부터 에러 발생을 검출하는 에러 검출부(3195)와 에러 검출 결과에 따른 에러 정정 동작을 수행하는 에러 정정부(3196)를 포함할 수 있다.
제어로직(3191)은 도 7의 스크러버(314)로부터의 스크러빙 결과를 수신할 수 있으며, 또한 메타 데이터 저장부(311)에 저장된 필드 값(예컨데, 멀티 비트 에러 서브 필드 값)을 참조하여 ECC 동작을 제어할 수 있다. 또한, 제어로직(3151)은 기입/독출에 관계된 명령(CMD)에 응답하여 ECC 동작을 위한 각종 제어신호를 발생할 수 있다. 억세스부(3192)는 제어로직(3191)의 제어하에서 메타 데이터 저장부(311)의 필드값을 억세스하며, 억세스된 필드 값을 ECC부(319) 내의 각종 회로블록들로 제공함으로써 ECC 동작이 제어되도록 한다.
예컨데, 소정의 페이지에 대한 라이트 명령이 인가되면, 억세스부(3192)는 메타 데이터 저장부(311)의 멀티 비트 에러 서브 필드 값을 억세스하고, 억세스된 서브 필드 값을 패리티 발생부(3193)로 제공한다. 패리티 발생부(3193)는, 멀티 비트 에러 서브 필드 값에 따라 서로 다른 비트수를 갖는 ECC 패리티를 생성한다. 이에 따라, 기입 데이터(Data_W) 각각에 대하여 서로 다른 비트수를 갖는 ECC 패리티를 생성하고, 이를 억세스부(3192)로 제공한다. 억세스부(3192)는 상기 기입이 수행될 페이지에 대응하는 메타 데이터 저장부(311)의 ECC 필드(ECC Field)에 상기 생성된 ECC 패리티를 기록한다.
한편, 소정의 페이지에 대한 독출 명령이 인가되면, 억세스부(3192)는 상기 페이지에 대응하는 ECC 필드(ECC Field)에 기록된 ECC 패리티(parity)를 읽어내고 이를 ECC 디코더부(3194)로 제공한다. 에러 검출부(3195)와 에러 정정부(1396)는 독출 데이터(Data_R)와 ECC 패리티(parity)를 이용하여 독출 데이터(Data_R)에 대한 에러 검출 동작 및 에러 정정 동작을 수행하고, 에러 정정된 데이터(Data)를 외부로 제공한다.
또한 ECC부(319)는 스크러버(314)에서 수행된 BIST의 결과를 기초로 하여 정정할 수 없는 에러를 포함하는 메모리 셀의 에러를 도 14의 스페어 칼럼을 선택적으로 이용하여 정정할 수 있다.
도 10은 본 발명의 일 실시예에 따른 도 4의 로우 어드레스 활성화 카운팅부의 구성의 일예를 나타내는 블록도이다.
메모리 장치를 제조하는 제조 공정이 스케일-다운 되면서 워드라인들 사이의 간격이 더욱 좁아지게 되었다. 따라서 하나의 워드라인의 전압 분포에 의하여 인접한 워드라인에 연결된 메모리 셀의 전하가 영향을 받는 디스터브 현상이 빈번히 발생하게 된다. 즉 하나의 워드라인이 집중적으로 액세스되는 경우, 하나의 워드라인의 활성화 상태의 전압으로 인하여 인접한 워드라인에 연결된 메모리 셀들에 저장된 데이터가 소실되는 디스터브 현상이 증가하게 되었다.
도 10을 참조하면, 로우 어드레스 활성화 카운팅부(322)는 특정 메모리 셀 로우에 대한 집중 액세스의 모니터링 동작을 전반적으로 제어하기 위한 제어 로직(3221), 카운터(3222), 비교기(3223) 및 출력 로직(3224)을 포함할 수 있다.
제어 로직(3221)은 메모리 셀 로우의 활성화와 관계된 명령(CMD) 및 어드레스(ADD)를 수신하고, 어드레스(ADD)가 수신될 때마다 하이 레벨의 출력 신호를 카운터(3222)에 제공한다. 카운터(3222)는 하이 레벨의 출력 신호를 카운팅하여 카운팅 값을 비교기(3223)에 제공한다. 비교기(3223)는 문턱값(Vth)과 카운팅값을 비교하여 카운팅값이 문턱값(Vth)을 초과하는 경우에는 하이 레벨의 출력 신호를 출력 로직(3223)에 제공한다. 출력 로직(3224)은 하이 레벨의 출력 신호를 비교기(3223)로부터 수신한 경우에는 제어 로직(3221)으로부터 제공받은 어드레스를 액세스가 집중되는 어드레스(ADD_F)로서 도 4의 리프레쉬 스케쥴러(312)에 제공할 수 있다. 도 4의 리프레쉬 스케쥴러(312)는 액세스가 집중되는 어드레스(ADD_F)를 수신하면, 메모리의 리프레쉬 주기 동안에 다른 메모리 셀 로우들보다 액세스가 집중되는 어드레스(ADD_F)에 해당하는 메모리 셀 로우의 인접 메모리 셀 로우들을 우선적으로 리프레쉬할 수 있다.
비교기(3223)는 카운팅값이 문턱값(Vth) 이하인 경우에는 로우 레벨의 출력 신호를 제어 로직(3221)에 제공할 수 있다. 제어 로직(3221)은 카운터(3223)로부터 로우 레벨의 출력 신호에 응답하여 리셋 신호(RST)를 카운터(3222)에 제공하여 카운터(3222)를 리셋시킬 수 있다. 도 10의 로우 어드레스 활성화 카운팅부(322)는 미리 정해진 시간 동안에 특정한 메모리 셀 로우에 액세스가 집중되는 경우에 인접한 메모리 셀 로우들이 리프레쉬되도록 관련 정보를 리프레쉬 스케쥴러(314)에 제공할 수 있다. 여기서 제어 로직(3221)은 타이머(3225)를 구비하여 미리 정해진 시간 동안에 집중적으로 액세스되는 어드레스(ADD)에 응답하여 출력 신호를 카운터(3222)에 제공할 수 있다. 여기서 타이머(3225)는 액세스 어드레스(ADD)가 입력될 때마다 동작을 시작하여 메모리 장치의 리프레쉬 주기에 해당하는 시간이 지나면 리셋될 수 있다. 즉 상기 미리 정해진 시간은 메모리 장치의 리프레쉬 주기에 해당할 수 있다.
도 11은 본 발명의 일 실시예에 따른 도 4의 리프레쉬 스케쥴러의 구성의 일예를 나타낸다.
도 11을 참조하면, 리프레쉬 스케줄러(312)는 리프레쉬와 관계된 전반적인 제어 및 구동 동작을 수행하는 리프레쉬 구동부(3121), 클록 신호(CLK)를 카운팅하여 리프레쉬의 주기(Period)에 관계된 주기 정보(T_Ref)를 발생하는 주기정보 발생부(3122), 지연 동작에 기반하여 리프레쉬의 사이클(Cycle)에 관계된 사이클 정보(T_Rfc)를 발생하는 사이클 정보 발생부(3123), 및 리프레쉬 어드레스를 발생하는 리프레쉬 어드레스 포인터(1134)를 구비한다. 리프레쉬 어드레스 포인터(3124)는 로우 어드레스의 비트 수와 같은 수의 토글 플립 플롭이 직렬로 연결된 형태의 리플 캐리 카운터(Ripple Carry Counter)로 구현될 수 있다. 메모리 셀 어레이의 하나의 페이지(Page)를 선택하기 위한 어드레스가 p 비트인 경우, 리프레쉬 어드레스 포인터(3124)는 p 비트의 리프레쉬 어드레스를 발생한다. 또한, 리프레쉬 스케줄러(312)는 메타 데이터를 적어도 하나의 마스터 플래그와 비교하는 동작에 기반하여 리프레쉬 동작을 관리할 수 있으며, 이를 위하여 마스터 플래그를 저장하는 마스터 플래그 저장부(3125)가 더 구비될 수 있다. 또는, 리프레쉬 스케줄러(312) 내에서 발생되는 각종 정보가 상기 마스터 플래그로서 이용될 수 있으며, 예컨데 리프레쉬 어드레스 포인터(3124)에서 발생되는 리프레쉬 어드레스 중 어느 하나 또는 그 이상의 비트 값이 마스터 플래그로서 이용될 수도 있다.
주기정보 발생부(3122)는 디지털 방식 또는 아날로그 방식에 의하여 리프레쉬의 주기(Period)에 관계된 주기 정보(T_Ref)를 발생할 수 있다. 도 11에서는, 시스템 클록 신호(CLK)를 카운팅함에 의하여 주기 정보(T_Ref)를 발생하는 구성과, 오실레이터(Oscillator)로부터의 발진 신호를 주기 정보(T_Ref)로서 발생하는 구성이 주기정보 발생부(3122)에 구비되며, 상기 두 신호들 중 어느 하나의 신호를 주기 정보(T_Ref)로서 제공하기 위한 멀티플렉서가 주기정보 발생부(3122)에 더 구비되는 예를 도시하였다. 그러나, 주기정보 발생부(3122)는 디지털 방식 또는 아날로그 방식 중 어느 하나의 방식에 의해 주기 정보(T_Ref)를 발생하여도 무방하다. 또한, 사이클 정보 발생부(3123)는 리프레쉬 주기의 시작을 알리는 신호(Init)를 리프레쉬 구동부(3121)로부터 제공받으며, 상기 신호(Init)를 지연하는 동작에 기반하여 리프레쉬의 사이클(Cycle)에 관계된 사이클 정보(T_Rfc)를 발생한다.
리프레쉬 구동부(3121)는 리프레쉬와 관련된 각종 제어신호 및 정보들(Mode controls, Field Values, Temp)을 수신한다. 또한 리프레쉬 구동부(3121)는 도 10의 로우 어드레스 활성화 카운팅부(322)로부터 정해진 시간 동안에 액세스가 집중되는 로우 어드레스(ADD_F)를 수신할 수 있다. 각종 명령 및 정보들로서, 동작 모드에 관계된 모드 제어신호(Mode controls)가 리프레쉬 구동부(3121)로 제공될 수 있다. 상기 모드 제어신호(Mode controls)는 외부로부터 제공되는 제어 명령일 수 있다. 모드 제어신호(Mode controls)에 응답하여 리프레쉬 스케줄러(312)의 동작 모드가 제어되며, 예컨데 리프레쉬 구동부(3121)의 동작이 온/오프 제어될 수 있다. 또한, 필드 값(Field Values)은 리프레쉬에 관계된 메타 데이터로서 도 6의 메타 데이터 저장부(311)로부터 제공될 수 있다. 또한, 온도 정보(Temp)는 리프레쉬의 주기 값을 설정하기 위해 참조될 수 있으며, 도 4의 온도 센서(320)로부터 리프레쉬 구동부(3121)로 제공될 수 있다.
리프레쉬 구동부(3121)는 리프레쉬 어드레스 포인터(3124)로부터 발생되는 리프레쉬 어드레스(ADD_Ref)를 수신하고, 이를 도 1의 DRAM 칩으로 제공한다. 특히, 리프레쉬 구동부(3121)가 리프레쉬 어드레스(ADD_Ref)를 제공함에 있어서, 상기 리프레쉬 어드레스(ADD_Ref)에 대응하는 페이지(Page)의 리프레쉬 특성을 나타내는 필드 값과 마스터 플래그 저장부(1135)로부터의 마스터 플래그 값을 비교하고, 그 비교 결과에 기반하여 해당 페이지(Page)의 리프레쉬 동작이 선택적으로 수행되도록 제어한다. 예컨데, 리프레쉬 수행을 위하여 리프레쉬 주기 및 사이클 정보를 포함하는 각종 리프레쉬 커맨드(Refresh Begin, Refresh End)와 해당 페이지(Page)를 선택하기 위한 리프레쉬 어드레스(ADD_Ref)를 DRAM 칩으로 제공한다. 상기 필드 값과 마스터 플래그값을 비교한 결과에 따라, 리프레쉬 동작을 실제 수행할 페이지(Page)의 리프레쉬 어드레스(ADD_Ref)를 DRAM 칩으로 제공함으로써 리프레쉬 동작이 선별적으로 수행되도록 한다.
또한 리프레쉬 구동부(3121)는 도 10의 로우 어드레스 활성화 카운팅부(322)로부터 정해진 시간 동안에 액세스가 집중되는 로우 어드레스(ADD_F)를 수신하는 경우, 액세스가 집중되는 로우 어드레스(ADD_F)의 비트들을 조절하여 인접한 메모리 셀 로우들에 해당하는 리프레쉬 어드레스(ADD_Ref)를 DRAM 칩으로 제공함으로써 인접 메모리 셀 로우들이 우선적으로 리프레쉬 되도록 할 수 있다. 여기서 인접 메모리 셀들에 대한 우선적인 리프레쉬는 라스 온리 리프레쉬(RAS Only Refresh; ROR)일 수 있다. 라스 온리 리프레쉬에서는 CAS(column address strobe) 신호가 프리차아지 레벨로 유지하고 있는 동안에 RAS(row address strobe) 신호만을 인에이블시킴으로써 인접 메모리 셀 로우들에 대한 리프레쉬가 수행된다. 이 ROR 에서는 각 리프레쉬 동작들을 위해 외부에서 리프레쉬 어드레스들이 메모리 장치로 제공되어야 하며, 각 리프레쉬 동작들 동안에는 메모리 장치와 연결되어 있는 어드레스 버스들이 다른 목적들을 위해서 사용될 수가 없다.
도 12는 본 발명의 일 실시예에 따른 도 4의 페일 어드레스 저장 로직의 구성의 일예를 나타내는 블록도이다.
도 12를 참조하면, 페일 어드레스 저장 로직(321)은 메모리 셀 어레이에서 ECC부(319)에 의하여 정정 불가능한 에러를 포함하는 적어도 하나의 페이지의 어드레스를 저장하는 제1 페일 어드레스 테이블(3211) 및 어드레스 비교부(3212)를 포함한다. 어드레스 비교부(3212)는 메모리를 액세스하기 위한 어드레스(ADD)와 제1 페일 어드레스 테이블(3211)에 저장된 적어도 하나의 페일 어드레스를 비교하고, 그 비교결과에 따라 스페어 칼럼 어드레스 신호(CA13)를 선택적으로 활성화시켜 메모리 장치의 칼럼 어드레스 디코더에 제공할 수 있다. 예를 들어, 메모리를 액세스하기 위한 어드레스(ADD)와 적어도 하나의 페일 어드레스가 일치하는 경우에는 스페어 칼럼 어드레스 신호(CA13)가 하이 레벨을 가질 수 있다. 스페어 칼럼 어드레스 신호(CA13)가 하이 레벨을 가지는 경우에는 상응하는 메모리 장치에서는 페일 어드레스에 해당하는 메모리 셀들이 스페어 칼럼 어드레스에 상응하는 스페어 칼럼의 리던던트 셀들로 대체될 수 있다. 예를 들어, 메모리를 액세스하기 위한 어드레스(ADD)와 적어도 하나의 페일 어드레스가 일치하는 경우에는 스페어 칼럼 어드레스 신호(CA13)가 하이 레벨을 가질 수 있다. 스페어 칼럼 어드레스 신호(CA13)가 로우 레벨을 가지는 경우에는 상응하는 메모리 장치에서는 노멀 칼럼 액세스 동작이 수행될 수 있다.
제1 페일 어드레스 테이블(3211)에 저장되는 적어도 하나의 페일 어드레스는 스크러버(314)의 에러 감지부(3145)나 메모리 장치들 각각에 구비되는 제2 페일 어드레스 테이블로부터 제공될 수 있다.
도 13은 본 발명의 일 실시예에 따른 도 1의 메모리 장치들 중 하나의 구성을 나타내는 블록도이다.
도 13을 참조하면, 메모리 장치(201)는 제어 로직(210), 어드레스 레지스터(220), 뱅크 제어 로직(230), 카운터(235), 제2 페일 어드레스 테이블(237), 로우 어드레스 멀티플렉서(240), 컬럼 어드레스 래치(250), 로우 디코더, 컬럼 디코더, 메모리 셀 어레이, 센스 앰프부, 입출력 게이팅 회로(290) 및 데이터 입출력 버퍼(295)를 포함할 수 있다.
상기 메모리 셀 어레이는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)을 포함할 수 있다. 또한, 상기 로우 디코더는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 각각 연결된 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d)을 포함하고, 상기 컬럼 디코더는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 각각 연결된 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d)을 포함하며, 상기 센스 앰프부는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 각각 연결된 제1 내지 제4 뱅크 센스 앰프들(285a, 285b, 285c, 285d)을 포함할 수 있다. 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d), 제1 내지 제4 뱅크 센스 앰프들(285a, 285b, 285c, 285d), 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d) 및 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d)은 제1 내지 제4 뱅크들을 각각 구성할 수 있다. 도 13에는 4개의 뱅크들을 포함하는 메모리 장치(201)의 예가 도시되어 있으나, 실시예에 따라, 메모리 장치(201)는 임의의 수의 뱅크들을 포함할 수 있다.
또한, 실시예에 따라, 메모리 장치(201)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR(Low Power Double Data Rate) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등과 같은 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM)이거나, 리프레쉬 동작이 필요한 임의의 메모리 장치일 수 있다.
어드레스 레지스터(220)는 버퍼 칩(300)으로부터 뱅크 어드레스(BANK_ADDR), 로우 어드레스(ROW_ADDR) 및 컬럼 어드레스(COL_ADDR)를 포함하는 어드레스(ADDR)를 수신할 수 있다. 어드레스 레지스터(220)는 수신된 뱅크 어드레스(BANK_ADDR)를 뱅크 제어 로직(230)에 제공하고, 수신된 로우 어드레스(ROW_ADDR)를 로우 어드레스 멀티플렉서(240)에 제공하며, 수신된 컬럼 어드레스(COL_ADDR)를 컬럼 어드레스 래치(250)에 제공할 수 있다.
뱅크 제어 로직(230)은 뱅크 어드레스(BANK_ADDR)에 응답하여 뱅크 제어 신호들을 생성할 수 있다. 상기 뱅크 제어 신호들에 응답하여, 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 로우 디코더가 활성화되고, 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 컬럼 디코더가 활성화될 수 있다.
로우 어드레스 멀티플렉서(240)는 어드레스 레지스터(220)로부터 로우 어드레스(ROW_ADDR)를 수신하고, 카운터(235)로부터 생성된 리프레쉬쉬 로우 어드레스(REF_ADDR)를 수신할 수 있다. 로우 어드레스 멀티플렉서(240)는 로우 어드레스(ROW_ADDR) 또는 리프레쉬 로우 어드레스(REF_ADDR)를 선택적으로 출력할 수 있다. 로우 어드레스 멀티플렉서(240)로부터 출력된 로우 어드레스는 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d)에 각각 인가될 수 있다.
제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d) 중 뱅크 제어 로직(230)에 의해 활성화된 뱅크 로우 디코더는 로우 어드레스 멀티플렉서(240)로부터 출력된 로우 어드레스를 디코딩하여 상기 로우 어드레스에 상응하는 워드 라인을 활성화할 수 있다. 예를 들어, 상기 활성화된 뱅크 로우 디코더는 로우 어드레스에 상응하는 워드 라인에 워드 라인 구동 전압을 인가할 수 있다.
컬럼 어드레스 래치(250)는 어드레스 레지스터(220)로부터 컬럼 어드레스(COL_ADDR)를 수신하고, 수신된 컬럼 어드레스(COL_ADDR)를 일시적으로 저장할 수 있다. 또한, 컬럼 어드레스 래치(250)는, 버스트 모드에서, 수신된 컬럼 어드레스(COL_ADDR)를 점진적으로 증가시킬 수 있다. 컬럼 어드레스 래치(250)는 일시적으로 저장된 또는 점진적으로 증가된 컬럼 어드레스(COL_ADDR)를 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d)에 각각 인가할 수 있다.
제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d) 중 뱅크 제어 로직(230)에 의해 활성화된 뱅크 컬럼 디코더는 입출력 게이팅 회로(290)를 통하여 뱅크 어드레스(BANK_ADDR) 및 컬럼 어드레스(COL_ADDR)에 상응하는 센스 앰프를 활성화시킬 수 있다.
입출력 게이팅 회로(290)는 입출력 데이터를 게이팅하는 회로들과 함께, 입력 데이터 마스크 로직, 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)로부터 출력된 데이터를 저장하기 위한 독출 데이터 래치들, 및 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 데이터를 기입하기 위한 기입 드라이버들을 포함할 수 있다.
제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d) 중 하나의 뱅크 어레이에서 독출될 데이터(DQ)는 상기 하나의 뱅크 어레이에 상응하는 센스 앰프에 의해 감지되고, 상기 독출 데이터 래치들에 저장될 수 있다. 상기 독출 데이터 래치들에 저장된 데이터(DQ)는 데이터 입출력 버퍼(295)를 통하여 상기 버퍼 칩(300)에 제공될 수 있다. 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d) 중 하나의 뱅크 어레이에 기입될 데이터(DQ)는 상기 메모리 컨트롤러(110)로부터 버퍼 칩(300)을 통하여 데이터 입출력 버퍼(295)에 제공될 수 있다. 데이터 입출력 버퍼(295)에 제공된 데이터(DQ)는 상기 기입 드라이버들을 통하여 상기 하나의 뱅크 어레이에 기입될 수 있다.
제어 로직(210)은 메모리 장치(201)의 동작을 제어할 수 있다. 예를 들어, 제어 로직(210)은 메모리 장치(201)가 기입 동작 또는 독출 동작을 수행하도록 제어 신호들을 생성할 수 있다. 제어 로직(210)은 메모리 컨트롤러(110)로부터 버퍼 칩(300)을 통하여 수신되는 커맨드(CMD2)를 디코딩하는 커맨드 디코더(211) 및 메모리 장치(200)의 동작 모드를 설정하기 위한 모드 레지스터(212)를 포함할 수 있다. 예를 들어, 커맨드 디코더(211)는 기입 인에이블 신호(/WE), 로우 어드레스 스트로브 신호(/RAS), 컬럼 어드레스 스트로브 신호(/CAS), 칩 선택 신호(/CS) 등을 디코딩하여 커맨드(CMD)에 상응하는 상기 제어 신호들을 생성할 수 있다. 또한, 제어 로직(210)은 동기 방식으로 메모리 장치(200)를 구동하기 위한 클록 신호(CLK) 및 클록 인에이블 신호(/CKE)를 더 수신할 수 있다.
제2 페일 어드레스 테이블(237)은 메모리 셀 어레이의 페일 셀들의 어드레스나 위크 셀들의 어드레스인 페일 어드레스 정보(FA_INFO)를 저장하고, 이 페일 어드레스 정보(FA_INFO)를 메모리 장치(201)의 파워-업 시퀀스 동안이나 리셋 구간 동안에 데이터 입출력 버퍼(295) 및 데이터 핀을 통하여 도 4의 제1 페일 어드레스 처리부(321)에 제공할 수 있다.
도 14는 도 13에서 하나의 뱅크 메모리 어레이와 하나의 뱅크 칼럼 디코더를 나타낸다.
도 14를 참조하면, 뱅크 메모리 어레이(280a)와 뱅크 칼럼 디코더(270a)가 도시되어 있다.
뱅크 메모리 어레이(280a)는 워드 라인들(WL1~WLn)과 비트라인들(또는 칼럼 라인들(CSL1, CSL2,...))이 교차하는 지점에 형성된 메모리 셀들(C)과 워드 라인들(WL1~WLn)과 적어도 하나의 리던던트 비트라인(또는 외부에서 액세스 가능한 적어도 하나의 스페어 칼럼 라인(ERCSL))이 교차하는 지점에 연결된 리던던트 셀들(RC)을 포함한다. 메모리 셀들(C) 중 참조번호(281)는 노멀 셀을 나타내고, 참조번호(283)는 페일 셀을 나타낸다. 뱅크 칼럼 디코더(270a)는 칼럼 어드레스들 신호들(CA0~CA12)과 스페어 칼럼 어드레스 신호(CA13)를 수신하고, 스페어 칼럼 어드레스 신호(CA13)의 로직 레벨에 따라 노말 칼럼 액세스 모드 및 리던던시 칼럼 액세스 모드 중 하나의 모드로 동작한다. 여기서, 스페어 칼럼 어드레스 신호(CA13)는 도 12의 페일 어드레스 처리부(321)에서 제공될 수 있다. 즉 메모리 셀 어레이에 액세스하기 위한 어드레스(ADD)가 제1 페일 어드레스 테이블에 저장된 페일 어드레스들 중 하나와 일치하면, 스페어 칼럼 어드레스 신호(CA13)가 하이 레벨이 된다. 뱅크 칼럼 디코더(270a)는 칼럼 어드레스 신호(CA13)가 하이 레벨이면, 페일 셀이 연결된 칼럼 라인은 비활성화시키고, 스페어 칼럼 라인(ERCSL)은 활성화시켜 복수의 메모리 셀 로우들에 분산되어 있는 페일 셀들을 적은 수의 스페어 칼럼으로 구제할 수 있다. 도 14에서는 뱅크 메모리 어레이(280a)에 하나의 스페어 칼럼이 구비된 것으로 도시되었지만 뱅크 메모리 어레이에는 두 개 이상의 스페어 칼럼을 구비할 수 있다.
또한 도 4의 ECC부(319)는 에러정정 범위를 초과하는 에러들 중 일부는 스페어 칼럼을 이용하여 정정하고 나머지 에러는 ECC부(319)에서 패리티 비트들을 이용하여 정정할 수 있다. 또한 도 4의 ECC부(319)는 페일 어드레스에 상응하는 메모리 셀 로우 이외의 다른 메모리 셀 로우에서 에러가 발생하는 경우도 상기 스페어 칼럼을 이용하여 에러를 정정할 수 있다.
도 15는 도 14의 메모리 장치의 칼럼 디코더의 동작 모드를 나타내는 타이밍도이다.
도 15를 참조하면, 스페어 칼럼 어드레스 신호(CA13)가 로우 레벨이면 노멀 칼럼들에 대한 노멀 액세스가 수행되고 스페어 칼럼 어드레스 신호(CA13)가 하이 레벨이면, 스페어 칼럼 라인(ERCSL)은 스페어 칼럼에 대한 스페어 칼럼 액세스가 수행된다.
도 16은 본 발명의 실시예에 따른 메모리 모듈에서 에러를 정정하는 방법을 나타내는 흐름도이다.
도 4, 도 7, 도 14 및 도 16을 참조하면, 스크러버(314)의 메모리 BIST부(3140)에서 메모리(메모리 셀 어레이)에 대한 BIST 수행한다(S110). 에러 검출부(3145)에서는 BIST의 결과에 기초하여 메모리 셀 어레이가 ECC부(3145)가 정정 불가능한 에러를 포함하는지 여부를 판단한다(S120). 메모리 셀 어레이가 ECC부(3145)가 정정 가능한 에러를 포함하는 경우(NO), ECC부(3145)에서 에러를 정정한다(S130). 메모리 셀 어레이가 ECC부(3145)가 정정 불가능한 다중 비트의 에러를 포함하는 경우(YES)에는 다중 비트 에러를 포함하는 페이지의 어드레스를 페일 어드레스로서 페일 어드레스 처리부(321)의 제1 페일 어드레스 테이블(3211)에 저장한다(S140). 메모리 셀 어레이를 액세스하기 위한 어드레스(ADD)와 제1 페일 어드레스 테이블(3211)에 저장된 페일 어드레스들을 비교하여(S150). 액세스 어드레스(ADD)가 페일 어드레스들 중 하나와 일치하는지 여부를 판단한다(S160). 판단의 결과, 액세스 어드레스(ADD)가 페일 어드레스들과 일치하지 않는 경우(NO)에는 뱅크 칼럼 디코더(270a)에서 액세스 어드레스(ADD)에 상응하는 노멀 칼럼을 엑세스한다(S170). 판단의 결과, 액세스 어드레스(ADD)가 페일 어드레스들 중 하나와 일치하는 경우(YES)에는 뱅크 칼럼 디코더(270a)에서 액세스 어드레스(ADD)에 상응하는 노멀 칼럼을 비활성화시키고, 스페어 칼럼 라인(ERCSL)을 활성화 시켜(S180) 스페어 칼럼을 활성화시켜 페일 셀을 리던던시 셀로 구제한다.
상술한 바와 같이, 제1 페일 어드레스 테이블(3211)은 메모리 장치 각각의 제2 페일 어드레스 테이블(237)로부터 페일 어드레스들을 포함하는 페일 어드레스 정보를 제공받을 수 있다.
도 17은 제1 페일 어드레스 테이블과 제2 페일 어드레스 테이블의 관계를 나타낸다.
도 17을 참조하면, 메모리 장치(201)는 제2 페일 어드레스 테이블(237)을 포함하고, 메모리 관리부(310)의 페일 어드레스 처리부(321)는 제1 페일 어드레스 테이블(3211)을 포함할 수 있다. 제2 페일 어드레스 테이블(237)에 저장된 페일 어드레스들은 메모리 모듈(100)의 파워-업 시퀀스 동안이나 리셋 구간 동안에 메모리 장치(201)의 데이터 핀을 통하여 제1 페일 어드레스 테이블(3211)에 전송되어 저장될 수 있다.
도 18은 본 발명의 일 실시예에 따른 메모리 모듈의 액세스가 집중되는 메모리 셀 로우의 인접 메모리 셀 로우들을 리프레쉬하는 방법을 나타내는 흐름도이다.
도 4, 도 10, 도 11 및 도 18을 참조하면, 로우 어드레스 활성화 카운팅부(322)에서 액세스가 집중 되는 메모리 셀 로우의 활성화 빈도를 카운팅한다(S210). 정해진 시간 동안의 카운팅 값이 미리 정해진 문턱값을 초과하는지 여부를 판단한다(S220). 카운팅 값이 미리 정해진 문턱값 이하인 경우에는(NO) 다시 단계(S210)로 복귀한다. 카운팅 값이 미리 정해진 문턱값을 초과하는 경우에는(YES)에는 액세스가 집중되는 로우 어드레스(ADD_F)를 리프레쉬 스케쥴러(312)에 통지하고, 리프레쉬 스케쥴러(312)는 액세스가 집중되는 로우 어드레스(ADD_F)에 해당하는 메모리 셀 로우의 인접 메모리 셀 로우들을 우선적으로 리프레쉬한다(S230). 이를 위하여 리프레쉬 스케쥴러(312)는 액세스가 집중되는 로우 어드레스(ADD_F)를 수신하고 집중 로우 어드레스(ADD_F)의 비트들을 조절하여 인접한 메모리 셀 로우들에 해당하는 로우 어드레스들을 해당하는 메모리 장치에 제공하여 ROR을 수행할 수 있다.
도 19는 본 발명의 다른 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
앞선 실시예에서는 메모리 관리를 위한 다양한 정책이 FBDIMM(Fully-buffered DIMM)에 적용되는 일예를 설명하였으며, 도 19와 도 20에서는 본 발명의 실시예가 RDIMM(Registered Dual in-line memory module)에 적용되는 일예를 설명한다.
도 19를 참조하면, 메모리 모듈(500A)은 모듈 보드(Module Board) 상에 장착된 메모리 관리칩(510A)과 하나 이상의 반도체 장치(520A)을 포함한다. 상기 반도체 장치(520A)로서 DRAM 셀을 구비하는 DRAM이 적용될 수 있다. 한편, 도 19에는 메모리 컨트롤러(530A)가 더 도시되며, 메모리 컨트롤러(530A)와 메모리 모듈(500A)이 메모리 시스템을 구성할 수 있다. 메모리 컨트롤러(530A)와 메모리 모듈(500A)은 각종 시스템 버스, 예컨데 데이터 버스(DQ Bus), 커맨드/어드레스 버스(CA Bus) 및 클록 버스(CLK Bus)를 통해 통신한다. 메모리 컨트롤러(530A)로부터의 데이터 및 클록 신호는 상기 시스템 버스 및 반도체 장치(520A)들 각각에 대응하여 구분되게 배치되는 버스를 통해 반도체 장치(520A)로 제공된다. 한편, 커맨드/어드레스 신호는 메모리 관리 칩(510A)으로 먼저 제공되며, 메모리 관리 칩(510A)이 커맨드/어드레스 신호를 버퍼링하고 버퍼링된 커맨드/어드레스 신호 반도체 장치(520A)들 각각으로 제공한다.
도 19에는 도시되지 않았으나, 메모리 관리 칩(5100A)에는 앞서 설명된 실시예들에 구비되는 각종 기능 블록들이 구비될 수 있다. 예컨데, 메모리 관리 칩(510A)은 반도체 장치(520A)의 메모리에 관계된 메타 데이터를 저장하는 메타 데이터 저장부를 구비할 수 있다. 또한, 메모리 관리 칩(510A)은 메모리 셀 어레이의 리프레쉬 동작을 관리하기 위한 리프레쉬 스케줄러, LRU/FIFO 부, 스크러버, 페일 어드레스 처리부 및 로우 어드레스 활성화 카운팅 로직 등의 각종 기능 블록을 구비할 수 있다.
또한, 메모리 관리 칩(510A)은 시스템 버스(예컨데, 커맨드/어드레스 버스(CA Bus)를 통해 전송되는 커맨드/어드레스 신호를 저장하기 위한 커맨드/어드레스 버퍼(511A)를 구비한다. 커맨드/어드레스 버퍼(511A)로부터의 커맨드/어드레스 신호는 반도체 장치(520A)로 제공되며, 또는 커맨드/어드레스 신호는 메모리 관리칩(510A) 내에서 처리 동작이 수행되어 그 처리 동작이 수행된 커맨드/어드레스 신호가 반도체 장치(520A)로 제공된다. 예컨데, 메모리 관리 칩(510A)은 리드/라이트를 위한 외부의 커맨드/어드레스 신호를 버퍼링하여 반도체 장치(520A)로 제공하거나, 리프레쉬 동작에 관련된 리프레쉬 명령(CMD_Ref) 및 리프레쉬 어드레스(ADD_Ref)를 내부에서 발생하여 이를 반도체 장치(520A)로 제공한다. 커맨드/어드레스 신호는 모듈 보드 상에 배치되는 내부 버스(CABUS_I)를 통해 반도체 장치(520A)로 제공된다.
도 20은 본 발명의 다른 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 20에 도시된 메모리 모듈(500B) 또한 모듈 보드(Module Board) 상에 장착된 메모리 관리 칩(510B)과 하나 이상의 반도체 장치(520B)을 포함한다. 또한, 메모리 모듈(500B)은 시스템 버스(DQ Bus, CA Bus, CLK Bus)를 통해 메모리 컨트롤러(530B)와 통신한다. 메모리 관리 칩(510B)은 앞서 설명된 실시예들에 구비되는 각종 기능 블록들을 구비할 수 있으며, 또한 시스템 버스를 통해 전송되는 커맨드/어드레스 신호를 저장하기 위한 커맨드/어드레스 버퍼(511B)를 구비한다.
도 20은 플라이-바이 데이지 체인(fly-by daisy chain) 형태를 갖는 내부 버스(CABUS_I)를 채용한 메모리 모듈을 나타내며, 내부 버스(CABUS_I)는 메모리 모듈의 일측에서 타측 방향으로 내부 커맨드/어드레스 신호를 전달한다. 예컨데, 메모리 관리 칩(510A)에서 발생된 리프레쉬 명령(CMD_Ref) 및 리프레쉬 어드레스(ADD_Ref)는 제1 반도체 장치(DRAM1)로부터 제n 반도체 장치(DRAMn)로 순차적으로 전달된다.
도 21은 본 발명의 또 다른 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 21의 메모리 모듈(500C)은 모듈 보드(Module Board) 상에 장착된 마스터 칩(510C)과 하나 이상의 슬레이브 칩(520C)을 포함한다. 예컨데, 하나의 마스터 칩(510C)과 n 개의 슬레이브 칩(520C)이 모듈 보드(Module Board) 상에 장착된 예가 도 21에 도시된다.
마스터 칩(510C)은 외부의 메모리 컨트롤러(530C)와 통신하며, 시스템 버스를 통하여 클록 신호(CLK), 커맨드/어드레스 신호(CA) 및 데이터(DQ) 등을 송수신한다. 마스터 칩(510C)은 메모리 컨트롤러(530C)와의 인터페이스를 위한 인터페이스 회로(미도시)를 구비하고, 인터페이스 회로를 통하여 메모리 컨트롤러(530C)로부터의 신호를 슬레이브 칩(520C)으로 전달하며, 또한 슬레이브 칩(520C)으로부터의 신호를 메모리 컨트롤러(530C)로 전달한다. 또한, 슬레이브 칩(520C) 각각은 메모리 셀 어레이를 구비할 수 있으며, 예컨데 DRAM 셀을 포함하는 메모리 셀 어레이를 구비할 수 있다. 마스터 칩(510C)은 상기 인터페이스 회로 이외에 슬레이브 칩(520C)을 관리하기 위한 DRAM 관리부(미도시)를 더 구비할 수 있다. DRAM 관리부는 메모리 셀 어레이에 관계된 메타 데이터를 저장하는 메타 데이터 저장부 및 리프레쉬 동작을 관리하는 리프레쉬 스케줄러, 페일 어드레스 처리부, 로우 어드레스 활성화 카운팅부 등을 포함할 수 있으며, 앞선 실시예에서 설명된 메모리의 각종 정책에 관계된 기능 블록들을 포함할 수 있다. 상기 각종 정책과 관련된 DRAM 관리부의 동작은 앞선 실시예에서 설명되었던 것과 동일 또는 유사하므로 이에 대한 자세한 설명은 생략한다.
도 22는 본 발명의 일실시예에 따른 반도체 장치를 나타내는 구조도이다.
도 22에 도시된 바와 같이, 반도체 장치(600)는 다수의 반도체 레이어들(LA1 내지 LAn)을 구비할 수 있으며, 가장 아래에 위치하는 반도체 레이어(LA1)는 마스터 칩인 것으로 가정하며 또한 나머지 반도체 레이어들(LA2 내지 LAn)은 슬레이브 칩인 것으로 가정한다. 다수의 반도체 레이어들(LA1 내지 LAn)은 관통 실리콘 비아(TSV)를 통해 신호를 서로 송수신하며, 마스터 칩(LA1)은 외면에 형성된 도전 수단(미도시)을 통해 외부의 메모리 컨트롤러(미도시)와 통신한다. 마스터 칩으로서 제1 반도체 레이어(610)와 슬레이브 칩으로서 제n 반도체 레이어(620)를 중심으로 하여 반도체 장치(600)의 구성 및 동작을 설명하면 다음과 같다.
제1 반도체 레이어(610)는 슬레이브 칩들에 구비되는 메모리 영역(Memory region)을 구동하기 위한 각종 주변 회로들을 구비한다. 예컨데, 제1 반도체 레이어(610)는 메모리의 워드라인을 구동하기 위한 로우 드라이버(X-Driver, 6101)와, 메모리의 비트라인을 구동하기 위한 칼럼 드라이버(Y-Driver, 6102)와, 데이터의 입출력을 제어하기 위한 데이터 입출력부(6103), 외부로부터 커맨드(CMD)를 입력받아 버퍼링하는 커맨드 버퍼(6104)와, 외부로부터 어드레스를 입력받아 버퍼링하는 어드레스 버퍼(6105) 등을 구비할 수 있다.
또한 제1 반도체 레이어(610)는 슬레이브 칩의 메모리 영역을 관리하기 위한 DRAM 관리부(6106)를 더 구비할 수 있다. DRAM 관리부(6106)는 메모리 셀 어레이에 관계된 메타 데이터를 저장하는 메타 데이터 저장부 및 리프레쉬 동작을 관리하는 리프레쉬 스케줄러, 페일 어드레스 테이블 등을 포함할 수 있으며, 또한 앞선 실시예에서 설명된 메모리에 각종 정책에 관계된 기능 블록들(미도시)을 포함할 수 있다. 또한, 제1 반도체 레이어(6100)는 반도체 장치(600) 내의 기능을 빌트 인 형태로 테스트하기 위한 BIST부(6107)를 더 구비할 수 있다. 상기 BIST부(6107)의 테스트 결과에 따라 메모리 셀 어레이의 특성이 판별되며, 또한 판별 결과에 따른 페일 어드레스가 페일 어레드스 테이블에 저장되도록 할 수 있다. BIST부(6107)의 동작에 따라 반도체 장치(600)의 초기 구동시(예컨데 파워 업시) 페일 어드레스가 저장될 수 있으며, 또는 주기적으로 반도체 장치(600)에 대한 테스트가 수행되며 상기 테스트 결과에 따라 페일 어드레스가 주기적으로 갱신되도록 할 수 있다. 상기와 같은 반도체 장치(600) 내에 BIST부(6107)가 구비되는 구성과, BIST부(6107)의 테스트 수행에 따른 메타 데이터의 저장 및 갱신 동작은 앞서 설명되었던 다양한 메모리 모듈의 실시예에서도 동일 또는 유사하게 적용될 수 있다.
한편, 제n 반도체 레이어(620)는, 메모리 셀 어레이를 포함하는 메모리 영역(621)과 메모리 영역(621)의 데이터의 리드/라이트를 위한 기타 주변 회로들, 예컨데 로우 디코더, 칼럼 디코더, 비트라인 센스앰프 등(미도시)이 배치되는 주변회로 영역(622)을 구비할 수 있다.
도 22에 도시된 바에 따르면, 앞선 실시예에서와는 달리, 데이터를 구동하는 동작(독출, 기입, 리프레쉬 동작 등)과 데이터 구동에 관계된 각종 정책에 따른 관리 동작이 하나의 반도체 장치에 집적될 수 있다. 바람직하게는, 반도체 장치(600)가 다수의 반도체 레이어들(LA1 내지 LAn)을 구비하는 3 차원 구조의 메모리장치이고, 반도체 레이어들(LA1 내지 LAn)은 마스터 칩과 슬레이브 칩들을 포함하도록 하며, DRAM 관리부(6106)는 마스터 칩으로서 제1 반도체 레이어(610)에 배치된다. 커맨드 버퍼(6104) 및 어드레스 버퍼(6105)에 저장된 커맨드 신호, 어드레스 신호는 DRAM 관리부(6106)로 제공되며, DRAM 관리부(6106)는 그 내부에 구비되는 메타 데이터 저장부(미도시)의 각종 필드에 저장된 값을 참조하여 메모리 영역(621)을 관리하기 위한 각종 동작을 수행한다. 또한, DRAM 관리부(6106)는 메모리 영역(621)의 리프레쉬 동작을 제어하기 위한 리프레쉬 커맨드 및 리프레쉬 어드레스 등을 발생하며, 상기 발생된 리프레쉬 커맨드 및 리프레쉬 어드레스는 관통 실리콘 비아(TSV)를 통해 슬레이브 칩들로 제공된다.
도 23은 본 발명의 실시예들에 따른 메모리 모듈을 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 23을 참조하면, 모바일 시스템(700)은 어플리케이션 프로세서(710), 통신(Connectivity)부(720), 사용자 인터페이스(730), 비휘발성 메모리 장치(740), 메모리 모듈(750) 및 파워 서플라이(760)를 포함한다. 실시예에 따라, 모바일 시스템(700)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 시스템일 수 있다.
프로세서(710)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 프로세서(710)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(710)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 프로세서(710)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(720)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신부(720)는 이더넷(Ethernet) 통신, 근거리 자기장 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신부(720)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GPRS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
메모리 모듈(750)은 어플리케이션 프로세서(710)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 메모리 모듈은(750)은 복수의 메모리 장치들과 버퍼 칩(751)을 포함할 수 있다. 버퍼 칩(751)은 도 3의 버퍼칩(300)과 같이 구성되어 도 4와 같은 메모리 관리부(310)를 포함하여 복수의 메모리 장치들의 동작을 전반적으로 관리할 수 있다.
비휘발성 메모리 장치(740)는 모바일 시스템(700)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 비휘발성 메모리 장치(740)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다.
사용자 인터페이스(730)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(760)는 모바일 시스템(700)의 동작 전압을 공급할 수 있다. 또한, 실시예에 따라, 모바일 시스템(700)은 카메라 이미지 프로세서(Camera Image Processor; CIS)를 더 포함할 수 있고, 메모리 카드(Memory Card), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD), 씨디롬(CD-ROM) 등과 같은 저장 장치를 더 포함할 수 있다.
모바일 시스템(700) 또는 모바일 시스템(700)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
도 24는 본 발명의 실시예들에 따른 메모리 모듈을 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
도 24를 참조하면, 컴퓨팅 시스템(800)은 프로세서(810), 입출력 허브(820), 입출력 컨트롤러 허브(830), 적어도 하나의 메모리 모듈(840) 및 그래픽 카드(850)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(800)은 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(810)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(810)는 마이크로프로세서 또는 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 실시예에 따라, 프로세서(810)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(1510)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 도 18에는 하나의 프로세서(810)를 포함하는 컴퓨팅 시스템(800)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(800)은 복수의 프로세서들을 포함할 수 있다. 또한, 실시예에 따라, 프로세서(810)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
프로세서(810)는 메모리 모듈(840)의 동작을 제어하는 메모리 컨트롤러(811)를 포함할 수 있다. 프로세서(810)에 포함된 메모리 컨트롤러(811)는 집적 메모리 컨트롤러(Integrated Memory Controller; IMC)라 불릴 수 있다. 메모리 컨트롤러(811)와 메모리 모듈(840) 사이의 메모리 인터페이스는 복수의 신호선들을 포함하는 하나의 채널로 구현되거나, 복수의 채널들로 구현될 수 있다. 또한, 각 채널에는 하나 이상의 메모리 모듈(840)이 연결될 수 있다. 실시예에 따라, 메모리 컨트롤러(811)는 입출력 허브(820) 내에 위치할 수 있다. 메모리 컨트롤러(811)를 포함하는 입출력 허브(820)는 메모리 컨트롤러 허브(Memory Controller Hub; MCH)라 불릴 수 있다.
메모리 모듈(840)은 메모리 컨트롤러(811)로부터 제공된 데이터를 저장하는 복수의 메모리 장치들과 복수의 메모리 장치들의 동작들을 전반적으로 관리하는 버퍼 칩을 포함할 수 있다. 복수의 메모리 장치들 각각은 프로세서(810)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 예를 들어, 메모리 장치들 각각은 DDR SDRAM, LPDDR SDRAM, GDDR SDRAM, RDRAM 등과 같은 동적 랜덤 액세스 메모리이거나, 리프레쉬 동작이 필요한 임의의 휘발성 메모리 장치일 수 있다. 메모리 모듈(840)에 포함되는 버퍼 칩은 도 3의 버퍼칩(300)과 같이 구성되어 도 4와 같은 메모리 관리부(310)를 포함하여 복수의 메모리 장치들의 동작을 전반적으로 관리할 수 있다.
입출력 허브(820)는 그래픽 카드(850)와 같은 장치들과 프로세서(810) 사이의 데이터 전송을 관리할 수 있다. 입출력 허브(820)는 다양한 방식의 인터페이스를 통하여 프로세서(810)에 연결될 수 있다. 예를 들어, 입출력 허브(820)와 프로세서(810)는, 프론트 사이드 버스(Front Side Bus; FSB), 시스템 버스(System Bus), 하이퍼트랜스포트(HyperTransport), 라이트닝 데이터 트랜스포트(Lightning Data Transport; LDT), 퀵패스 인터커넥트(QuickPath Interconnect; QPI), 공통 시스템 인터페이스(Common System Interface; CSI) 등의 다양한 표준의 인터페이스로 연결될 수 있다. 도 18에는 하나의 입출력 허브(820)를 포함하는 컴퓨팅 시스템(800)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(800)은 복수의 입출력 허브들을 포함할 수 있다.
입출력 허브(820)는 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 허브(820)는 가속 그래픽 포트(Accelerated Graphics Port; AGP) 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; PCIe), 통신 스트리밍 구조(Communications Streaming Architecture; CSA) 인터페이스 등을 제공할 수 있다.
그래픽 카드(850)는 AGP 또는 PCIe를 통하여 입출력 허브(820)와 연결될 수 있다. 그래픽 카드(850)는 영상을 표시하기 위한 디스플레이 장치(미도시)를 제어할 수 있다. 그래픽 카드(850)는 이미지 데이터 처리를 위한 내부 프로세서 및 내부 반도체 메모리 장치를 포함할 수 있다. 실시예에 따라, 입출력 허브(820)는, 입출력 허브(820)의 외부에 위치한 그래픽 카드(850)와 함께, 또는 그래픽 카드(850) 대신에 입출력 허브(820)의 내부에 그래픽 장치를 포함할 수 있다. 입출력 허브(820)에 포함된 그래픽 장치는 집적 그래픽(Integrated Graphics)이라 불릴 수 있다. 또한, 메모리 컨트롤러 및 그래픽 장치를 포함하는 입출력 허브(820)는 그래픽 및 메모리 컨트롤러 허브(Graphics and Memory Controller Hub; GMCH)라 불릴 수 있다.
입출력 컨트롤러 허브(830)는 다양한 시스템 인터페이스들이 효율적으로 동작하도록 데이터 버퍼링 및 인터페이스 중재를 수행할 수 있다. 입출력 컨트롤러 허브(830)는 내부 버스를 통하여 입출력 허브(820)와 연결될 수 있다. 예를 들어, 입출력 허브(820)와 입출력 컨트롤러 허브(830)는 다이렉트 미디어 인터페이스(Direct Media Interface; DMI), 허브 인터페이스, 엔터프라이즈 사우스브릿지 인터페이스(Enterprise Southbridge Interface; ESI), PCIe 등을 통하여 연결될 수 있다.
입출력 컨트롤러 허브(830)는 주변 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 컨트롤러 허브(830)는 범용 직렬 버스(Universal Serial Bus; USB) 포트, 직렬 ATA(Serial Advanced Technology Attachment; SATA) 포트, 범용 입출력(General Purpose Input/Output; GPIO), 로우 핀 카운트(Low Pin Count; LPC) 버스, 직렬 주변 인터페이스(Serial Peripheral Interface; SPI), PCI, PCIe 등을 제공할 수 있다.
실시예에 따라, 프로세서(810), 입출력 허브(820) 및 입출력 컨트롤러 허브(830)는 각각 분리된 칩셋들 또는 집적 회로들로 구현되거나, 프로세서(810), 입출력 허브(820) 또는 입출력 컨트롤러 허브(830) 중 2 이상의 구성요소들이 하나의 칩셋으로 구현될 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따르면, 메모리 모듈 상에 버퍼 칩을 구비하여 페일 어드레스가 액세스되면 외부에서 액세스가능한 스페어 칼럼 라인을 활성화시켜 페일 셀들을 구제하고, 특정 로우에 액세스가 집중되는 경우에는 인접 메모리 셀 로우들을 우선적으로 리프레쉬함으로써 메모리 장치 내부에서 처리하는 것보다 점유 면적을 줄이면서도 효율적으로 처리할 수 있다.
본 발명의 실시예들은 다양한 고용량의 메모리 모듈들에 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 복수의 메모리 장치들; 및
    상기 복수의 메모리 장치들의 동작을 관리하는 버퍼 칩을 포함하고,
    상기 버퍼 칩은 상기 메모리 장치들 각각에 대한 에러 정정 동작을 수행하는 에러 정정부를 구비하는 메모리 관리부를 포함하고,
    상기 메모리 장치들 각각은 상기 메모리 관리부에서 액세스할 수 있는 적어도 하나의 스페어 칼럼을 포함하고,
    상기 메모리 관리부는 상기 에러 정정부의 에러 정정 능력에 따라 상기 스페어 칼럼을 선택적으로 이용하여 상기 복수의 메모리 장치들의 에러를 정정하는 메모리 모듈.
  2. 제1항에 있어서,
    상기 메모리 관리부는 상기 메모리 장치들 각각의 적어도 하나의 페일 셀을 구비하는 적어도 하나의 메모리 셀 로우의 어드레스들인 페일 어드레스 정보를 저장하는 제1 페일 어드레스 테이블을 더 포함하고,
    상기 메모리 관리부는 상기 메모리 장치들을 액세스하기 위한 액세스 어드레스가 상기 페일 어드레스들 중 하나와 일치하는 경우 상기 액세스 어드레스에 상응하는 칼럼을 상기 스페어 칼럼으로 리페어하기 위한 스페어 칼럼 어드레스 신호를 활성화시키는 페일 어드레스 처리부를 더 포함하는 것을 특징으로 하는 메모리 모듈.
  3. 제2항에 있어서, 상기 페일 어드레스 처리부는
    상기 제1 페일 어드레스 테이블; 및
    상기 제1 페일 어드레스 테이블에 저장된 페일 어드레스들과 상기 액세스 어드레스를 비교하고 비교 결과에 기초하여 상기 스페어 칼럼 어드레스 신호를 선택적으로 활성화시키는 어드레스 비교부를 포함하고,
    상기 메모리 관리부는 상기 메모리 장치에서 상기 페일 어드레스에 상응하는 제1 메모리 셀 로우와는 다른 제2 메모리 셀 로우에서 에러가 발생하는 경우 상기 스페어 칼럼을 활성화시켜 상기 에러를 리페어하는 것을 특징으로 하는 메모리 모듈.
  4. 제2항에 있어서,
    상기 복수의 메모리 장치들 중 적어도 하나의 메모리 장치에서 상기 에러 정정부에서 정정할 수 없는 에러들이 발생하는 경우, 상기 메모리 관리부는 상기 스페어 칼럼을 활성화시켜 상기 에러들 중 제1 에러를 구제하고, 상기 에러들 중 상기 제1 에러를 제외한 나머지 제2 에러는 상기 에러 정정부에서 정정하도록 하는 것을 특징으로 하는 메모리 모듈.
  5. 제2항에 있어서,
    상기 메모리 관리부는 상기 메모리 장치들 각각에 대한 빌트-인 셀프 테스트(Built-in self test)를 수행하는 스크러버를 더 포함하고,
    상기 페일 어드레스 정보는 상기 스크러버로부터 상기 제1 페일 어드레스 테이블에 전송되어 저장되는 것을 특징으로 하는 메모리 모듈.
  6. 제2항에 있어서,
    상기 메모리 장치들 각각은 각각의 페일 어드레스 정보를 저장하는 제2 페일 어드레스 테이블을 포함하고,
    상기 페일 어드레스 정보는 상기 제2 페일 어드레스 테이블로부터 상기 제1 페일 어드레스 테이블로 전송되어 저장되는 것을 특징으로 하는 메모리 모듈.
  7. 제6항에 있어서,
    상기 메모리 모듈의 파워-업 시퀀스 동안이나 리셋 구간 동안에 상기 메모리 장치들 각각의 데이터 핀을 통하여 상기 제1 페일 어드레스 테이블로 전송되어 저장되는 것을 특징으로 하는 메모리 모듈.
  8. 제1항에 있어서,
    상기 메모리 관리부는 상기 메모리 장치들 각각의 메모리 셀 로우들에 대한 액세스 빈도에 기초하여 미리 정해진 시간 동안에 액세스가 집중되는 메모리 셀 로우를 지정하는 집중 어드레스를 출력하는 로우 어드레스 활성화 카운팅부; 및
    상기 집중 어드레스를 수신하고, 상기 집중 어드레스에 해당하는 메모리 셀 로우에 인접한 메모리 셀 로우들을 우선적으로 리프레쉬하는 리프레쉬 스케쥴러를 더 포함하고,
    상기 미리 정해진 시간은 상기 메모리 장치의 리프레쉬 주기에 해당하고,
    상기 인접한 메모리 셀 로우들에 대한 리프레쉬는 ROR(RAS only Refresh)이고, 상기 리프레쉬 스케쥴러는 상기 수신된 집중 어드레스에 기초하여 상기 인접한 메모리 셀 로우들에 상응하는 리프레쉬 로우 어드레스들을 상기 메모리 장치에 제공하여 상기 ROR을 수행하는 것을 특징으로 하는 메모리 모듈.
  9. 메모리 컨트롤러; 및
    상기 메모리 컨트롤러와 통신하여 메모리 동작을 수행하는 메모리 모듈을 구비하고,
    상기 메모리 모듈은
    복수의 메모리 장치들; 및
    상기 복수의 메모리 장치들의 동작을 관리하는 버퍼 칩을 포함하고,
    상기 버퍼 칩은 상기 메모리 장치들 각각에 대한 에러 정정 동작을 수행하는 에러 정정부를 구비하는 메모리 관리부를 포함하고,
    상기 메모리 장치들 각각은 상기 메모리 관리부에서 액세스할 수 있는 적어도 하나의 스페어 칼럼을 포함하고,
    상기 메모리 관리부는 상기 에러 정정부의 에러 정정 능력에 따라 상기 스페어 칼럼을 선택적으로 이용하여 상기 복수의 메모리 장치들의 에러를 정정하는 메모리 시스템.
  10. 제9항에 있어서,
    상기 메모리 관리부는,
    상기 메모리 장치들 각각의 적어도 하나의 페일 셀을 구비하는 적어도 하나의 메모리 셀 로우의 어드레스들인 페일 어드레스 정보를 저장하는 제1 페일 어드레스 테이블; 및
    상기 메모리 장치들을 액세스하기 위한 액세스 어드레스가 상기 페일 어드레스들 중 하나와 일치하는 경우 상기 액세스 어드레스에 상응하는 칼럼을 상기 스페어 칼럼으로 리페어하기 위한 스페어 칼럼 어드레스 신호를 활성화시키는 페일 어드레스 처리부를 더 포함하고,
    상기 메모리 장치들 각각은 자신의 페일 어드레스를 저장하는 제2 페일 어드레스 테이블을 포함하고,
    상기 페일 어드레스는 상기 제2 페일 어드레스 테이블로부터 상기 제1 페일 어드레스 테이블로 전송되어 저장되는 것을 특징으로 하는 메모리 시스템.
KR1020130025385A 2012-11-27 2013-03-11 메모리 모듈 및 메모리 시스템 KR102076067B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/087,167 US9087614B2 (en) 2012-11-27 2013-11-22 Memory modules and memory systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261730143P 2012-11-27 2012-11-27
US61/730,143 2012-11-27

Publications (2)

Publication Number Publication Date
KR20140067875A KR20140067875A (ko) 2014-06-05
KR102076067B1 true KR102076067B1 (ko) 2020-02-11

Family

ID=51124014

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020130025385A KR102076067B1 (ko) 2012-11-27 2013-03-11 메모리 모듈 및 메모리 시스템
KR1020130026769A KR102048217B1 (ko) 2012-11-27 2013-03-13 메모리 장치 및 이를 갖는 메모리 시스템
KR1020130027867A KR101799439B1 (ko) 2012-11-27 2013-03-15 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020130026769A KR102048217B1 (ko) 2012-11-27 2013-03-13 메모리 장치 및 이를 갖는 메모리 시스템
KR1020130027867A KR101799439B1 (ko) 2012-11-27 2013-03-15 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법

Country Status (1)

Country Link
KR (3) KR102076067B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070729B1 (ko) 2013-11-12 2020-03-02 삼성전자주식회사 반도체 메모리 장치 및 그것을 포함하는 메모리 시스템
US10261697B2 (en) 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
KR102420897B1 (ko) 2016-03-17 2022-07-18 에스케이하이닉스 주식회사 메모리 모듈, 이를 포함하는 메모리 시스템 및 그의 동작 방법
KR20180012009A (ko) 2016-07-26 2018-02-05 에스케이하이닉스 주식회사 데이터 맵핑을 수행하는 반도체 장치 및 시스템
KR102638789B1 (ko) 2016-09-05 2024-02-22 에스케이하이닉스 주식회사 테스트방법 및 이를 이용한 반도체시스템
KR20180106494A (ko) 2017-03-20 2018-10-01 에스케이하이닉스 주식회사 반도체장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099389A1 (en) 2010-10-20 2012-04-26 Samsung Electronics Co., Ltd. Memory circuits, systems, and modules for performing dram refresh operations and methods of operating the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889305B2 (en) 2003-02-14 2005-05-03 Hewlett-Packard Development Company, L.P. Device identification using a memory profile
US20090013148A1 (en) * 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
JP2013525937A (ja) 2010-04-26 2013-06-20 モサイド・テクノロジーズ・インコーポレーテッド 相変化メモリにおける書き込み方式
US8499227B2 (en) 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099389A1 (en) 2010-10-20 2012-04-26 Samsung Electronics Co., Ltd. Memory circuits, systems, and modules for performing dram refresh operations and methods of operating the same

Also Published As

Publication number Publication date
KR20140067879A (ko) 2014-06-05
KR20140067875A (ko) 2014-06-05
KR20140067878A (ko) 2014-06-05
KR102048217B1 (ko) 2019-11-25
KR101799439B1 (ko) 2017-11-20

Similar Documents

Publication Publication Date Title
US9087614B2 (en) Memory modules and memory systems
US10545692B2 (en) Memory maintenance operations during refresh window
US8588017B2 (en) Memory circuits, systems, and modules for performing DRAM refresh operations and methods of operating the same
KR102067029B1 (ko) 반도체 메모리 장치 및 메모리 시스템
KR101974108B1 (ko) 리프레쉬 어드레스 생성기, 이를 포함하는 휘발성 메모리 장치 및 휘발성 메모리 장치의 리프레쉬 방법
KR102193682B1 (ko) 선택적 ecc 기능을 갖는 반도체 메모리 장치
US9336851B2 (en) Memory device and method of refreshing in a memory device
KR101962874B1 (ko) 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
US9558805B2 (en) Memory modules and memory systems
JP6291157B2 (ja) エラー訂正回路を具備したオンチップ・データ・スクラビング装置及び方法
KR20140076735A (ko) 휘발성 메모리 장치 및 메모리 시스템
US9164834B2 (en) Semiconductor memory devices, memory systems including the same and method of writing data in the same
US9460816B2 (en) Semiconductor memory devices and memory systems including the same
KR102076067B1 (ko) 메모리 모듈 및 메모리 시스템
KR20160056056A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9042194B2 (en) Refresh method, refresh address generator, volatile memory device including the same
KR20150099170A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
US9449673B2 (en) Memory device and memory system having the same
US9318168B2 (en) Memory system for continuously mapping addresses of a memory module having defective locations

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