KR101799439B1 - 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법 - Google Patents

메모리 시스템 및 이를 이용한 어드레스 맵핑 방법 Download PDF

Info

Publication number
KR101799439B1
KR101799439B1 KR1020130027867A KR20130027867A KR101799439B1 KR 101799439 B1 KR101799439 B1 KR 101799439B1 KR 1020130027867 A KR1020130027867 A KR 1020130027867A KR 20130027867 A KR20130027867 A KR 20130027867A KR 101799439 B1 KR101799439 B1 KR 101799439B1
Authority
KR
South Korea
Prior art keywords
memory
address
memory module
bank
bad
Prior art date
Application number
KR1020130027867A
Other languages
English (en)
Other versions
KR20140067879A (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/090,510 priority Critical patent/US9318168B2/en
Publication of KR20140067879A publication Critical patent/KR20140067879A/ko
Application granted granted Critical
Publication of KR101799439B1 publication Critical patent/KR101799439B1/ko

Links

Images

Classifications

    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Abstract

메모리 시스템은 메모리 모듈 및 메모리 컨트롤러를 포함한다. 메모리 모듈은 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스한다. 메모리 모듈은 베드 페이지의 개수를 기초로 덴시티(density) 정보를 생성한다. 메모리 컨트롤러는 메모리 모듈로부터 수신한 덴시티 정보를 기초로 피지컬 어드레스를 메모리 모듈의 디램 어드레스로 연속적으로 맵핑한다.

Description

메모리 시스템 및 이를 이용한 어드레스 맵핑 방법{MEMORY SYSTEMS AND METHODS OF MAPPING ADDRESS USING THE SAME}
본 발명은 메모리 분야에 관한 것으로, 보다 상세하게는 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법에 관한 것이다.
DRAM(Dynamic Random Access Memory)과 같은 메모리 장치의 스케일링이 지속되면서 기존의 리던던시 셀(Redundancy Cell) 대체를 통한 풀 덴시티(Full Density) 보장 개념에서 탈피하여 가능한 수율 달성 범위에서 특정 덴시티만을 보장하는 메모리를 적용하는 메모리 시스템이 개발되고 있다.
상기 특정 덴시티만을 보장하는 메모리 시스템에서, 메모리는 연속적인 어드레스를 보장하는 일반적인 셀 영역 및 불량이 발생한 페이지를 대체하기 위한 리플레이스먼트 셀 영역을 포함한다. 따라서, 상기 메모리의 실질적으로 사용가능한 덴시티가 줄어들게 된다.
특히, 패키지 온 패키지(PoP), 싱글 인라인 패키지(SiP), 듀얼 인라인 메모리 모듈(DIMM) 등의 시스템에서 메모리의 사용 불가능한 영역 정보를 인지하여 상기 사용 불가능한 영역에 접근하지 않도록 피지컬 어드레스 또는 디램 어드레스를 맵핑하는 기술이 요구된다.
상기 메모리의 스택(Stack) 구조에서 상기 덴시티가 감소한 메모리가 스택될 경우, 어드레스의 범위가 연속적이지 못하고 어드레스 사이에 사용이 불가능한 영역의 홀이 발생하게 되어 연속적인 어드레스를 제공할 수 없는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 불연속 어드레스 공간을 연속적인 어드레스 공간으로 맵핑할 수 있는 메모리 시스템을 제공하는 것이다.
본 발명의 다른 목적은 상기 메모리 시스템을 이용하는 어드레스 맵핑 방법을 제공하는 것이다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 메모리 시스템은 메모리 모듈 및 메모리 컨트롤러를 포함한다. 상기 메모리 모듈은 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스한다. 상기 메모리 모듈은 상기 베드 페이지의 개수를 기초로 덴시티(density) 정보를 생성한다. 상기 메모리 컨트롤러는 상기 메모리 모듈로부터 수신한 상기 덴시티 정보를 기초로 피지컬 어드레스를 상기 메모리 모듈의 디램 어드레스로 연속적으로 맵핑한다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈이 하나의 메모리 장치를 포함하고, 상기 메모리 장치가 복수의 뱅크를 포함할 때, 상기 덴시티 정보는 상기 뱅크 중 배드 페이지가 가장 많은 뱅크를 기초로 생성될 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수의 최대값이 max(a)일 때, 상기 피지컬 어드레스의 최대값은 X - N * max(a)일 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈의 어드레스 맵핑 순서는 로우 어드레스, 뱅크 어드레스 및 컬럼 어드레스 순일 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수가 각각 a1 내지 aN일 때, 상기 피지컬 어드레스의 최대값은
Figure 112013022592514-pat00001
일 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈의 어드레스 맵핑 순서는 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스 순일 수 있다.
본 발명의 일 실시예에 있어서, 상기 피지컬 어드레스를 상기 디램 어드레스로 맵핑할 때, 상기 뱅크의 상기 배드 페이지의 개수에 대응하는 페이지 오프셋 값이 상기 디램 어드레스에 합산될 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈은 복수의 메모리 장치를 포함하고, 상기 덴시티 정보는 상기 메모리 장치 중 배드 페이지가 가장 많은 메모리 장치를 기초로 생성될 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈의 풀 어드레스가 X이고, 상기 메모리 장치의 개수가 M개이고, 상기 메모리 장치의 배드 페이지의 개수의 최대값이 max(Da)일 때, 상기 피지컬 어드레스의 최대값은 X - M * max(Da)일 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 모듈의 풀 어드레스가 X이고, 상기 메모리 장치의 개수가 M개이고, 상기 메모리 장치의 배드 페이지의 개수가 각각 Da1 내지 DaM일 때, 상기 피지컬 어드레스의 최대값은
Figure 112013022592514-pat00002
일 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 컨트롤러는 상기 피지컬 어드레스의 최대값을 오퍼레이팅 시스템에 출력할 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 어드레스 맵핑 방법은 불량이 발생한 배드 페이지의 개수를 기초로 메모리 패키지의 덴시티(density) 정보를 생성하는 단계 및 메모리 패키지로부터 수신한 상기 덴시티 정보를 기초로 피지컬 어드레스를 상기 메모리 패키지의 디램 어드레스로 연속적으로 맵핑하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 상기 메모리 패키지가 하나의 메모리 장치를 포함하고, 상기 메모리 장치가 복수의 뱅크를 포함할 때, 상기 덴시티 정보는 상기 뱅크 중 배드 페이지가 가장 많은 뱅크를 기초로 생성될 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 패키지의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수의 최대값이 max(a)일 때, 상기 피지컬 어드레스의 최대값은 X - N * max(a)일 수 있다.
본 발명의 일 실시예에 있어서, 상기 메모리 패키지의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수가 각각 a1 내지 aN일 때, 상기 피지컬 어드레스의 최대값은
Figure 112013022592514-pat00003
일 수 있다.
본 발명의 실시예들에 따른 메모리 시스템은 메모리의 덴시티 정보를 기초로 메모리의 사용 불가능한 영역에 접근하지 않도록 어드레스를 맵핑하는 메모리 컨트롤러를 포함한다. 따라서, 덴시티가 2K이 아닌 복수의 메모리를 스택하더라도 연속적인 어드레스를 보장할 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템 및 오퍼레이팅 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 모듈의 뱅크 별 배드 페이지를 나타내는 개념도이다.
도 3은 도 1의 메모리 컨트롤러에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 4는 본 발명의 다른 실시예에 따른 메모리 컨트롤러에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 5는 본 발명의 다른 실시예에 따른 오퍼레이팅 시스템에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 6은 본 발명의 다른 실시예에 따른 오퍼레이팅 시스템에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 7은 본 발명의 다른 실시예에 따른 메모리 모듈의 메모리 장치 별 배드 페이지를 나타내는 개념도이다.
도 8은 도 7의 메모리 시스템의 메모리 컨트롤러에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 9는 본 발명의 다른 실시예에 따른 메모리 컨트롤러에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 10은 본 발명의 다른 실시예에 따른 메모리 시스템 및 오퍼레이팅 시스템을 나타내는 블록도이다.
도 11은 도 10의 제1 및 제2 메모리 모듈의 뱅크를 나타내는 개념도이다.
도 12는 본 발명의 다른 실시예에 따른 메모리 시스템 및 오퍼레이팅 시스템을 나타내는 블록도이다.
도 13은 본 발명의 다른 실시예에 따른 배드 페이지를 정상 페이지로 리플레이스하는 방법을 나타내는 개념도이다.
도 14는 본 발명의 실시예들에 따른 메모리 장치를 포함하는 메모리 모듈을 나타내는 블록도이다.
도 15는 본 발명의 실시예들에 따른 메모리 모듈이 모바일 시스템에 응용된 예를 나타내는 도면이다.
도 16은 본 발명의 실시예들에 따른 메모리 모듈이 컴퓨팅 시스템에 응용된 예를 나타내는 도면이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템 및 오퍼레이팅 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템은 메모리 모듈(100) 및 메모리 컨트롤러(200)를 포함한다. 상기 메모리 시스템은 오퍼레이팅 시스템(300)과 연결된다.
상기 메모리 모듈(100)은 메모리 장치를 포함한다. 실시예에 따라, 상기 메모리 장치는 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) 일 수 있다.
상기 메모리 장치는 제어 로직, 어드레스 레지스터, 뱅크 제어 로직, 로우 어드레스 멀티플렉서, 컬럼 어드레스 래치, 로우 디코더, 컬럼 디코더, 메모리 셀 어레이, 센스 앰프부, 입출력 게이팅 회로 및 데이터 입출력 버퍼를 포함할 수 있다.
상기 메모리 셀 어레이는 복수의 뱅크 어레이들을 포함할 수 있다. 예를 들어, 상기 메모리 셀 어레이는 제1 내지 제4 뱅크 어레이들을 포함할 수 있다. 상기 로우 디코더는 제1 내지 제4 뱅크 어레이들에 각각 연결된 제1 내지 제4 뱅크 로우 디코더들을 포함하고, 상기 컬럼 디코더는 제1 내지 제4 뱅크 어레이들에 각각 연결된 제1 내지 제4 뱅크 컬럼 디코더들을 포함하며, 상기 센스 앰프부는 제1 내지 제4 뱅크 어레이들에 각각 연결된 제1 내지 제4 뱅크 센스 앰프들을 포함할 수 있다.
제1 내지 제4 뱅크 어레이들, 제1 내지 제4 뱅크 센스 앰프들, 제1 내지 제4 뱅크 로우 디코더들 및 제1 내지 제4 뱅크 컬럼 디코더들은 제1 내지 제4 뱅크들을 각각 구성할 수 있다.
제어 로직은 메모리 장치의 동작을 제어할 수 있다. 예를 들어, 제어 로직은 메모리 장치가 기입 동작 또는 독출 동작을 수행하도록 제어 신호들을 생성할 수 있다. 제어 로직은 커맨드 핀을 통해 메모리 컨트롤러(200)로부터 수신되는 커맨드 신호를 디코딩하는 커맨드 디코더 및 메모리 장치의 동작 모드를 설정하기 위한 모드 레지스터를 포함할 수 있다. 예를 들어, 커맨드 디코더는 기입 인에이블 신호(/WE), 로우 어드레스 스트로브 신호(/RAS), 컬럼 어드레스 스트로브 신호(/CAS), 칩 선택 신호(/CS) 등을 디코딩하여 커맨드 신호에 상응하는 상기 제어 신호들을 생성할 수 있다. 제어 로직은 동기 방식으로 메모리 장치를 구동하기 위한 클록 신호(CLK) 및 클록 인에이블 신호(/CKE)를 더 수신할 수 있다.
어드레스 레지스터는 어드레스 핀을 통해 메모리 컨트롤러(200)로부터 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스를 포함하는 어드레스 신호를 수신할 수 있다. 어드레스 레지스터는 수신된 뱅크 어드레스를 뱅크 제어 로직에 제공하고, 수신된 로우 어드레스를 로우 어드레스 멀티플렉서에 제공하고, 수신된 컬럼 어드레스를 컬럼 어드레스 래치에 제공할 수 있다.
뱅크 제어 로직은 뱅크 어드레스에 응답하여 뱅크 제어 신호들을 생성할 수 있다. 상기 뱅크 제어 신호들에 응답하여, 제1 내지 제4 뱅크 로우 디코더들 중 뱅크 어드레스에 상응하는 뱅크 로우 디코더가 활성화되고, 제1 내지 제4 뱅크 컬럼 디코더들 중 뱅크 어드레스에 상응하는 뱅크 컬럼 디코더가 활성화될 수 있다.
로우 어드레스 멀티플렉서는 어드레스 레지스터로부터 로우 어드레스를 수신하고, 리프레시 제어 회로로부터 리프레시 로우 어드레스를 수신할 수 있다. 로우 어드레스 멀티플렉서는 리프레시 신호에 응답하여 로우 어드레스 및 리프레시 로우 어드레스 중의 하나를 선택적으로 출력할 수 있다. 로우 어드레스 멀티플렉서로부터 출력된 로우 어드레스는 제1 내지 제4 뱅크 로우 디코더들에 각각 인가될 수 있다.
제1 내지 제4 뱅크 로우 디코더들 중 뱅크 제어 로직에 의해 활성화된 뱅크 로우 디코더는 로우 어드레스 멀티플렉서로부터 출력된 로우 어드레스를 디코딩하여 상기 로우 어드레스에 상응하는 워드 라인을 활성화할 수 있다. 예를 들어, 상기 활성화된 뱅크 로우 디코더는 로우 어드레스에 상응하는 워드 라인에 워드 라인 구동 전압을 인가할 수 있다.
컬럼 어드레스 래치는 어드레스 레지스터로부터 컬럼 어드레스를 수신하고, 수신된 컬럼 어드레스를 일시적으로 저장할 수 있다. 또한, 컬럼 어드레스 래치는, 버스트 모드에서, 수신된 컬럼 어드레스를 점진적으로 증가시킬 수 있다. 컬럼 어드레스 래치는 일시적으로 저장된 또는 점진적으로 증가된 컬럼 어드레스를 제1 내지 제4 뱅크 컬럼 디코더들에 각각 인가할 수 있다.
제1 내지 제4 뱅크 컬럼 디코더들 중 뱅크 제어 로직에 의해 활성화된 뱅크 컬럼 디코더는 입출력 게이팅 회로를 통하여 뱅크 어드레스 및 컬럼 어드레스에 상응하는 센스 앰프를 활성화시킬 수 있다.
입출력 게이팅 회로는 입출력 데이터를 게이팅하는 회로들과 함께, 입력 데이터 마스크 로직, 제1 내지 제4 뱅크 어레이들로부터 출력된 데이터를 저장하기 위한 독출 데이터 래치들, 및 제1 내지 제4 뱅크 어레이들에 데이터를 기입하기 위한 기입 드라이버들을 포함할 수 있다.
제1 내지 제4 뱅크 어레이들 중 하나의 뱅크 어레이에서 독출될 데이터는 상기 하나의 뱅크 어레이에 상응하는 센스 앰프에 의해 감지되고, 상기 독출 데이터 래치들에 저장될 수 있다. 상기 독출 데이터 래치들에 저장된 데이터는 데이터 입출력 버퍼 및 데이터 핀을 통해 메모리 컨트롤러(200)에 제공될 수 있다. 제1 내지 제4 뱅크 어레이들 중 하나의 뱅크 어레이에 기입될 데이터는 메모리 컨트롤러로부터 데이터 핀을 통해 데이터 입출력 버퍼에 제공될 수 있다. 데이터 입출력 버퍼에 제공된 데이터는 상기 기입 드라이버들을 통하여 상기 하나의 뱅크 어레이에 기입될 수 있다.
상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)의 동작을 전반적으로 제어한다. 예컨대, 메모리 컨트롤러(200)는 상기 메모리 모듈(100)에 데이터를 기입하거나(write) 상기 메모리 모듈(100)로부터 데이터를 독출한다(read).
또한, 메모리 컨트롤러(200)는 메모리 모듈(100)을 제어하기 위한 동작 커맨드들을 인가하여, 메모리 모듈(100)의 동작을 제어한다.
메모리 컨트롤러(200)는 커맨드 핀, 어드레스 핀 및 데이터 핀을 포함할 수 있다.
메모리 컨트롤러(200)의 커맨드 핀은 메모리 모듈(100)의 커맨드 핀과 커맨드 버스를 통해 연결될 수 있다.
메모리 컨트롤러(200)의 어드레스 핀은 메모리 모듈(100)의 어드레스 핀과 어드레스 버스를 통해 연결될 수 있다.
메모리 컨트롤러(200)의 데이터 핀은 메모리 모듈(100)의 데이터 핀과 데이터 버스를 통해 연결될 수 있다.
메모리 모듈(100)은 메모리 장치의 셀 어레이의 주소를 나타내는 디램 어드레스(DADDR)를 갖는다. 디램 어드레스(DADDR)는 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스를 포함할 수 있다.
상기 메모리 모듈(100)은 불량이 발생한 배드 페이지를 정상 페이지로 대체한다. 상기 메모리 모듈(100)은 상기 불량이 발생한 배드 페이지를 대체하기 위한 별도의 리던던시 셀 영역을 포함하지 않는다. 따라서, 상기 배드 페이지가 발생할 경우, 풀 덴시티 내의 정상 페이지가 상기 리플레이스먼트 페이지로 사용되므로, 상기 배드 페이지가 증가할수록 상기 메모리 모듈(100)의 실질적인 덴시티는 감소하게 된다.
본 실시예에서, 상기 메모리 모듈(100)은 안티 퓨즈(Anti-fuse)를 이용한 페이지 테이블을 포함하여, 상기 배드 페이지를 상기 정상 페이지로 리플레이스할 수 있다.
상기 메모리 모듈(100)은 상기 배드 페이지의 개수를 카운트한다. 상기 메모리 모듈(100)은 상기 배드 페이지의 개수를 기초로 상기 메모리 모듈(100)의 덴시티 정보를 생성할 수 있다.
상기 메모리 모듈(100)의 덴시티 정보를 얻는 방법에 대해서는 도 2를 참조하여 후술한다.
본 실시예에서, 메모리 모듈(100)은 하나의 메모리 장치 또는 복수의 메모리 장치를 포함하는 메모리의 그룹을 의미한다. 따라서, 상기 메모리 모듈(100)은 메모리 패키지(100)로도 표현할 수 있다.
상기 메모리 컨트롤러(200)는 상기 오퍼레이팅 시스템(300)으로부터 피지컬 어드레스(PADDR)를 수신한다. 상기 메모리 컨트롤러(200)는 상기 피지컬 어드레스(PADDR)를 이용하여 상기 메모리 모듈(100)을 관리한다.
상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)로부터 상기 덴시티 정보를 수신한다. 상기 메모리 컨트롤러(200)는 상기 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 디램 어드레스(DADDR)로 맵핑한다.
상기 오퍼레이팅 시스템(300)은 버추얼 어드레스(VADDR)를 이용하여 상기 메모리 시스템을 관리한다. 상기 오퍼레이팅 시스템(300)은 상기 버추얼 어드레스(VADDR)를 상기 피지컬 어드레스(PADDR)로 맵핑한다.
상기 오퍼레이팅 시스템(300)은 메모리 관리 유닛 및 트랜슬레이션 룩어사이드 버퍼를 포함할 수 있다. 상기 메모리 관리 유닛은 상기 트랜슬레이션 룩어사이드 버퍼를 이용하여 상기 버추얼 어드레스(VADDR)를 상기 피지컬 어드레스(PADDR)로 변환한다.
도 2는 도 1의 메모리 모듈(100)의 뱅크 별 배드 페이지를 나타내는 개념도이다.
본 실시예에서, 상기 메모리 모듈(100)은 하나의 메모리 장치를 포함하는 것으로 가정한다. 상기 메모리 장치는 복수의 뱅크를 포함하는 것으로 가정한다. 상기 메모리 장치는 4개의 뱅크를 포함하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않는다.
도 2를 참조하면, 제1 뱅크(B1)는 a1만큼의 배드 페이지를 갖는다. 상기 제1 뱅크(B1)는 실질적으로 풀 덴시티보다 a1만큼 작은 덴시티를 갖는다. 상기 제1 뱅크(B1)의 풀 덴시티는 2K1일 수 있다. 이때, 상기 제1 뱅크(B1)의 실질적인 덴시티는 2K1-a1일 수 있다. 상기 제1 뱅크(B1)의 경우 LSB 또는 MSB 영역으로부터 2K1-a1만큼의 어드레스만 이용 가능하다.
제2 뱅크(B2)는 a2만큼의 배드 페이지를 갖는다. 상기 제2 뱅크(B2)는 실질적으로 풀 덴시티보다 a2만큼 작은 덴시티를 갖는다. 상기 제2 뱅크(B2)의 풀 덴시티는 2K2일 수 있다. 이때, 상기 제2 뱅크(B2)의 실질적인 덴시티는 2K2-a2일 수 있다. 상기 제2 뱅크(B2)의 경우 LSB 또는 MSB 영역으로부터 2K2-a2만큼의 어드레스만 이용 가능하다.
제3 뱅크(B3)는 a3만큼의 배드 페이지를 갖는다. 상기 제3 뱅크(B3)는 실질적으로 풀 덴시티보다 a3만큼 작은 덴시티를 갖는다. 상기 제3 뱅크(B3)의 풀 덴시티는 2K3일 수 있다. 이때, 상기 제3 뱅크(B3)의 실질적인 덴시티는 2K3-a3일 수 있다. 상기 제3 뱅크(B3)의 경우 LSB 또는 MSB 영역으로부터 2K3-a3만큼의 어드레스만 이용 가능하다.
제4 뱅크(B4)는 a4만큼의 배드 페이지를 갖는다. 상기 제4 뱅크(B4)는 실질적으로 풀 덴시티보다 a4만큼 작은 덴시티를 갖는다. 상기 제4 뱅크(B4)의 풀 덴시티는 2K4일 수 있다. 이때, 상기 제4 뱅크(B4)의 실질적인 덴시티는 2K4-a4일 수 있다. 상기 제4 뱅크(B4)의 경우 LSB 또는 MSB 영역으로부터 2K4-a4만큼의 어드레스만 이용 가능하다.
도시한 바와 같이, 상기 제1 뱅크(B1)의 배드 페이지의 수(a1), 상기 제2 뱅크(B2)의 배드 페이지의 수(a2), 상기 제3 뱅크(B3)의 배드 페이지의 수(a3) 및 상기 제4 뱅크(B4)의 배드 페이지의 수(a4)는 서로 상이할 수 있다.
도 3은 도 1의 메모리 컨트롤러(200)에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 1 내지 도 3을 참조하면, 상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)로부터 수신한 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 메모리 모듈(100)의 디램 어드레스(DADDR)로 연속적으로 맵핑한다.
상기 제1 내지 제4 뱅크(B1 내지 B4)의 어드레스를 단순히 이어 붙이게 되면, 상기 제1 뱅크(B1)의 정상 페이지 영역의 디램 어드레스와 상기 제2 뱅크(B2)의 정상 페이지 영역의 디램 어드레스 사이에는 상기 제1 뱅크(B1)의 리플레이스먼트 영역의 디램 어드레스가 존재하고, 상기 제2 뱅크(B2)의 정상 페이지 영역의 디램 어드레스와 상기 제3 뱅크(B3)의 정상 페이지 영역의 디램 어드레스 사이에는 상기 제2 뱅크(B2)의 리플레이스먼트 영역의 디램 어드레스가 존재하며, 상기 제3 뱅크(B3)의 정상 페이지 영역의 디램 어드레스와 상기 제4 뱅크(B4)의 정상 페이지 영역의 디램 어드레스 사이에는 상기 제3 뱅크(B3)의 리플레이스먼트 영역의 디램 어드레스가 존재한다.
상기 정상 페이지 영역 사이에 배치되는 리플레이스먼트 영역의 디램 어드레스는 어드레스 홀이라고 할 수 있다. 따라서, 상기 제1 내지 제4 뱅크(B1 내지 B4)의 디램 어드레스를 단순히 이어 붙이면 연속적인 어드레스 관리가 불가능하다.
본 발명의 실시예에서, 상기 메모리 모듈(100)은 상기 제1 내지 제4 뱅크(B1 내지 B4) 중 배드 페이지가 가장 많은 뱅크(예를 들어, B4)를 기초로 덴시티 정보를 생성할 수 있다.
상기 메모리 모듈(100)은 상기 제1 내지 제4 뱅크(B1 내지 B4)의 배드 페이지의 개수의 최대값인 제4 뱅크(B4)의 배드 페이지의 개수 a4를 상기 메모리 컨트롤러(200)에 전달할 수 있다.
상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 뱅크(B1 내지 B4)에 대해 상기 제4 뱅크의 배드 페이지의 개수(a4)를 기준으로 상기 메모리 모듈의 어드레스 비할당 영역을 설정한다.
따라서, 상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 뱅크(B1 내지 B4)의 디램 어드레스를 연속적으로 맵핑할 수 있다.
상기 메모리 모듈(100)의 풀 덴시티에 대응하는 풀 어드레스가 X라고 하면, 상기 피지컬 어드레스(PADDR)의 최대값은 X - 4 * a4일 수 있다.
이를 일반화하면, 상기 메모리 모듈(100)의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수의 최대값이 max(a)라고 할 때, 상기 피지컬 어드레스(PADDR)의 최대값은 X - N * max(a)일 수 있다.
상기 메모리 컨트롤러(200)는 상기 피지컬 어드레스의 최대값 MAX(PADDR)을 상기 오퍼레이팅 시스템(300)에 출력할 수 있다.
예를 들어, 이러한 방식의 어드레스 맵핑 방식은 상기 메모리 모듈의 어드레스 맵핑 순서가 로우 어드레스, 뱅크 어드레스 및 컬럼 어드레스 순(RA-BA-CA)일 때에 적합할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러(200)는 상기 피지컬 어드레스(PADDR)를 상기 메모리 모듈(100)의 디램 어드레스(DADDR)로 연속적으로 맵핑하기 위한 페이지 트랜슬레이션 레이어(Page translation layer, PTL)를 포함할 수 있다.
메모리 모듈(100)에서 배드 페이지를 리플레이스하여 연속적인 어드레스 공간을 확보하고 출하한 후, 추가로 상기 메모리 모듈(100)에 발생한 배드 페이지에 대하여, 상기 페이지 트랜슬레이션 레이어(PTL)를 이용하여 리맵핑을 수행할 수 있다.
상기 페이지 트랜슬레이션 레이어(PTL)는 배드 페이지 정보를 검출 및 저장하고, 새로운 리플레이스 페이지로 리맵핑하여 연속적인 디램 어드레스 공간을 보장한다.
본 실시예에 따르면, 상기 메모리 모듈(100)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 메모리 컨트롤러(200)의 상기 피지컬 어드레스(PADDR)는 연속적인 어드레스를 보장할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 메모리 컨트롤러(200)에 의한 어드레스 맵핑을 나타내는 개념도이다.
본 실시예에 따른 뱅크 별 배드 페이지는 도 2의 뱅크 별 배드 페이지와 동일한 것으로 가정한다.
도 1, 도 2 및 도 4를 참조하면, 상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)로부터 수신한 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 메모리 모듈(100)의 디램 어드레스(DADDR)로 연속적으로 맵핑한다.
본 발명의 실시예에서, 상기 메모리 모듈(100)은 상기 제1 내지 제4 뱅크(B1 내지 B4) 각각의 배드 페이지의 개수 a1 내지 a4를 상기 메모리 컨트롤러(200)에 전달할 수 있다.
상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 뱅크(B1 내지 B4)에 대해 상기 제1 내지 제4 뱅크(B1 내지 B4)의 배드 페이지의 개수(a1 내지 a4)를 기준으로 상기 메모리 모듈의 어드레스 비할당 영역을 설정한다.
상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 뱅크(B1 내지 B4)의 배드 페이지의 개수(a1 내지 a4)에 대응하는 오프셋 어드레스를 이용하여 상기 제1 내지 제4 뱅크(B1 내지 B4)의 디램 어드레스를 연속적으로 맵핑할 수 있다.
예를 들어, 상기 제1 뱅크(B1)의 정상 페이지 영역에 대해서는 상기 피지컬 어드레스(PADDR)가 상기 디램 어드레스(DADDR)와 평행하게 맵핑된다.
상기 제1 뱅크(B1)의 정상 페이지 영역의 종료점의 다음 피지컬 어드레스(PADDR)는 상기 제1 뱅크(B1)의 리플레이스먼트 영역의 시작점의 디램 어드레스(DADDR)를 가리키는 것이 아니고, 상기 제2 뱅크(B2)의 정상 페이지 영역의 시작점의 디램 어드레스(DADDR)를 가리키도록 맵핑된다.
즉, 상기 피지컬 어드레스(PADDR)는 상기 제1 뱅크(B1)의 리플레이스먼트 영역에 대응하는 상기 디램 어드레스(DADDR)를 건너뛰도록 맵핑된다.
예를 들어, 상기 제1 뱅크(B1)의 정상 페이지 영역의 종료점의 다음 피지컬 어드레스(PADDR)에는 상기 배드 페이지의 개수에 대응하는 페이지 오프셋 값이 상기 제1 뱅크(B1)의 리플레이스먼트 영역의 시작점을 가리키는 상기 디램 어드레스에 합산되어 맵핑될 수 있다.
이러한 방식으로, 상기 피지컬 어드레스(PADDR)는 불연속 영역이 없이 연속적으로 맵핑된다.
본 실시예에서, 상기 메모리 모듈(100)의 풀 덴시티에 대응하는 풀 어드레스가 X라고 하면, 상기 피지컬 어드레스(PADDR)의 최대값은 X - (a1 + a2 + a3 + a4)일 수 있다.
이를 일반화하면, 상기 메모리 모듈(100)의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수가 각각 a1 내지 aN이라고 할 때, 상기 피지컬 어드레스(PADDR)의 최대값은
Figure 112013022592514-pat00004
일 수 있다.
상기 메모리 컨트롤러(200)는 상기 피지컬 어드레스의 최대값 MAX(PADDR)을 상기 오퍼레이팅 시스템(300)에 출력할 수 있다.
예를 들어, 이러한 방식의 어드레스 맵핑 방식은 상기 메모리 모듈의 어드레스 맵핑 순서가 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스 순(BA-RA-CA)일 때에 적합할 수 있다.
본 실시예에 따르면, 상기 메모리 모듈(100)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 메모리 컨트롤러(200)의 상기 피지컬 어드레스(PADDR)는 연속적인 어드레스를 보장할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 오퍼레이팅 시스템(300)에 의한 어드레스 맵핑을 나타내는 개념도이다.
본 실시예에 따른 어드레스 맵핑 방법은 연속적인 어드레스 맵핑을 오퍼레이팅 시스템(300)에서 보장하는 것을 제외하면 도 1 내지 도 3에 따른 어드레스 맵핑 방법과 실질적으로 동일하므로, 중복되는 설명은 생략한다.
본 실시예에 따른 메모리 모듈(100)의 뱅크 별 배드 페이지는 도 2에 따른 메모리 모듈(100)의 뱅크 별 배드 페이지와 동일한 것으로 가정한다.
도 1, 도 2 및 도 5를 참조하면, 상기 오퍼레이팅 시스템(300)은 상기 메모리 컨트롤러(200)로부터 상기 메모리 모듈(100)의 덴시티 정보를 수신한다. 상기 오퍼레이팅 시스템(300)은 상기 메모리 모듈(100)로부터 수신한 상기 덴시티 정보를 기초로 상기 버추얼 어드레스(VADDR)를 상기 메모리 컨트롤러(200)의 피지컬 어드레스(PADDR)로 연속적으로 맵핑한다.
본 발명의 실시예에서, 상기 메모리 모듈(100)은 상기 제1 내지 제4 뱅크(B1 내지 B4) 중 배드 페이지가 가장 많은 뱅크(예를 들어, B4)를 기초로 덴시티 정보를 생성할 수 있다.
상기 메모리 모듈(100)은 상기 제1 내지 제4 뱅크(B1 내지 B4)의 배드 페이지의 개수의 최대값인 제4 뱅크(B4)의 배드 페이지의 개수 a4를 상기 메모리 컨트롤러(200)에 전달할 수 있다.
상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)의 덴시티 정보를 상기 오퍼레이팅 시스템(300)으로 전달한다.
상기 오퍼레이팅 시스템(300)은 상기 제1 내지 제4 뱅크(B1 내지 B4)에 대해 상기 제4 뱅크의 배드 페이지의 개수(a4)를 기준으로 상기 메모리 모듈의 어드레스 비할당 영역을 설정한다.
따라서, 오퍼레이팅 시스템(300)은 상기 제1 내지 제4 뱅크(B1 내지 B4)에 대응하는 피지컬 어드레스(PADDR)를 연속적으로 맵핑할 수 있다. 결과적으로, 상기 디램 어드레스(DADDR)는 연속적으로 맵핑될 수 있다.
본 실시예에 따르면, 상기 메모리 모듈(100)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 오퍼레이팅 시스템(300)의 상기 버추얼 어드레스(VADDR)는 연속적인 어드레스를 보장할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 오퍼레이팅 시스템(300)에 의한 어드레스 맵핑을 나타내는 개념도이다.
본 실시예에 따른 어드레스 맵핑 방법은 연속적인 어드레스 맵핑을 오퍼레이팅 시스템(300)에서 보장하는 것을 제외하면 도 1, 도 2 및 도 4에 따른 어드레스 맵핑 방법과 실질적으로 동일하므로, 중복되는 설명은 생략한다.
본 실시예에 따른 메모리 모듈(100)의 뱅크 별 배드 페이지는 도 2에 따른 메모리 모듈(100)의 뱅크 별 배드 페이지와 동일한 것으로 가정한다.
도 1, 도 2 및 도 6을 참조하면, 상기 오퍼레이팅 시스템(300)은 상기 메모리 컨트롤러(200)로부터 상기 메모리 모듈(100)의 덴시티 정보를 수신한다. 상기 오퍼레이팅 시스템(300)은 상기 메모리 모듈(100)로부터 수신한 상기 덴시티 정보를 기초로 상기 버추얼 어드레스(VADDR)를 상기 메모리 컨트롤러(200)의 피지컬 어드레스(PADDR)로 연속적으로 맵핑한다.
본 발명의 실시예에서, 본 발명의 실시예에서, 상기 메모리 모듈(100)은 상기 제1 내지 제4 뱅크(B1 내지 B4) 각각의 배드 페이지의 개수 a1 내지 a4를 상기 메모리 컨트롤러(200)에 전달할 수 있다.
상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)의 덴시티 정보를 상기 오퍼레이팅 시스템(300)으로 전달한다.
상기 오퍼레이팅 시스템(300)은 상기 제1 내지 제4 뱅크(B1 내지 B4)에 대해 상기 제1 내지 제4 뱅크(B1 내지 B4)의 배드 페이지의 개수(a1 내지 a4)를 기준으로 상기 메모리 모듈의 어드레스 비할당 영역을 설정한다.
상기 오퍼레이팅 시스템(300)은 상기 제1 내지 제4 뱅크(B1 내지 B4)의 배드 페이지의 개수(a1 내지 a4)에 대응하는 오프셋 어드레스를 이용하여 상기 제1 내지 제4 뱅크(B1 내지 B4)에 대응하는 피지컬 어드레스(PADDR)를 연속적으로 맵핑할 수 있다. 결과적으로, 상기 디램 어드레스(DADDR)는 연속적으로 맵핑될 수 있다.
본 실시예에 따르면, 상기 메모리 모듈(100)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 오퍼레이팅 시스템(300)의 상기 버추얼 어드레스(VADDR)는 연속적인 어드레스를 보장할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 메모리 모듈의 메모리 장치 별 배드 페이지를 나타내는 개념도이다.
본 실시예에 따른 메모리 모듈은 복수의 메모리 장치를 포함하는 것으로 가정한다. 상기 메모리 모듈은 4개의 메모리 장치를 포함하는 것으로 도시하였으나, 이에 한정되지 않는다.
복수의 뱅크가 각각의 배드 페이지를 갖는 경우에 대해 설명한 도 1 내지 도 3의 어드레스 맵핑 방법은 복수의 메모리 장치가 각각의 배드 페이지를 갖는 경우에도 실질적으로 동일한 방식으로 적용될 수 있다.
도 1 및 도 7을 참조하면, 제1 메모리 장치(DM1)는 Da1만큼의 배드 페이지를 갖는다. 여기서, 상기 제1 메모리 장치(DM1)의 정상 페이지 영역은 서로 연속하는 어드레스를 갖는다. 상기 제1 메모리 장치(DM1)는 실질적으로 풀 덴시티보다 Da1만큼 작은 덴시티를 갖는다. 상기 제1 메모리 장치(DM1)의 풀 덴시티는 2L1일 수 있다. 이때, 상기 제1 메모리 장치(DM1)의 실질적인 덴시티는 2L1-Da1일 수 있다. 상기 제1 메모리 장치(DM1)의 경우 LSB 또는 MSB 영역으로부터 2L1-Da1만큼의 어드레스만 이용 가능하다.
제2 메모리 장치(DM2)는 Da2만큼의 배드 페이지를 갖는다. 상기 제2 메모리 장치(DM2)는 실질적으로 풀 덴시티보다 Da2만큼 작은 덴시티를 갖는다. 상기 제2 메모리 장치(DM2)의 풀 덴시티는 2L2일 수 있다. 이때, 상기 제2 메모리 장치(DM2)의 실질적인 덴시티는 2L2-Da2일 수 있다. 상기 제2 메모리 장치(DM2)의 경우 LSB 또는 MSB 영역으로부터 2L2-Da2만큼의 어드레스만 이용 가능하다.
제3 메모리 장치(DM3)는 Da3만큼의 배드 페이지를 갖는다. 상기 제3 메모리 장치(DM3)는 실질적으로 풀 덴시티보다 Da3만큼 작은 덴시티를 갖는다. 상기 제3 메모리 장치(DM3)의 풀 덴시티는 2L3일 수 있다. 이때, 상기 제3 메모리 장치(DM3)의 실질적인 덴시티는 2L3-Da3일 수 있다. 상기 제3 메모리 장치(DM3)의 경우 LSB 또는 MSB 영역으로부터 2L3-Da3만큼의 어드레스만 이용 가능하다.
제4 메모리 장치(DM4)는 Da4만큼의 배드 페이지를 갖는다. 상기 제4 메모리 장치(DM4)는 실질적으로 풀 덴시티보다 Da4만큼 작은 덴시티를 갖는다. 상기 제4 메모리 장치(DM4)의 풀 덴시티는 2L4일 수 있다. 이때, 상기 제4 메모리 장치(DM4)의 실질적인 덴시티는 2L4-Da4일 수 있다. 상기 제4 메모리 장치(DM4)의 경우 LSB 또는 MSB 영역으로부터 2L4-Da4만큼의 어드레스만 이용 가능하다.
도시한 바와 같이, 상기 제1 메모리 장치(DM1)의 배드 페이지의 수(Da1), 상기 제2 메모리 장치(DM2)의 배드 페이지의 수(Da2), 상기 제3 메모리 장치(DM3)의 배드 페이지의 수(Da3) 및 상기 제4 메모리 장치(DM4)의 배드 페이지의 수(Da4)는 서로 상이할 수 있다.
도 8은 도 7의 메모리 시스템의 메모리 컨트롤러(200)에 의한 어드레스 맵핑을 나타내는 개념도이다.
도 1, 도 7 및 도 8을 참조하면, 상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)로부터 수신한 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 메모리 모듈(100)의 디램 어드레스(DADDR)로 연속적으로 맵핑한다.
상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 어드레스를 단순히 이어 붙이게 되면, 상기 메모리 장치의 정상 페이지 영역들 사이에 배치되는 리플레이스먼트 영역이 생성되고, 상기 리플레이스먼트 영역의 디램 어드레스는 어드레스 홀이라고 할 수 있다. 따라서, 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 디램 어드레스를 단순히 이어 붙이면 연속적인 어드레스 관리가 불가능하다.
본 발명의 실시예에서, 상기 메모리 모듈(100)은 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4) 중 배드 페이지가 가장 많은 메모리 장치(예를 들어, DM4)를 기초로 덴시티 정보를 생성할 수 있다.
상기 메모리 모듈(100)은 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 배드 페이지의 개수의 최대값인 제4 메모리 장치(DM4)의 배드 페이지의 개수 Da4를 상기 메모리 컨트롤러(200)에 전달할 수 있다.
상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)에 대해 상기 제4 메모리 장치(DM4)의 배드 페이지의 개수(Da4)를 기준으로 상기 메모리 모듈의 어드레스 비할당 영역을 설정한다.
따라서, 상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 디램 어드레스를 연속적으로 맵핑할 수 있다.
상기 메모리 모듈(100)의 풀 덴시티에 대응하는 풀 어드레스가 X라고 하면, 상기 피지컬 어드레스(PADDR)의 최대값은 X - 4 * Da4일 수 있다.
이를 일반화하면, 상기 메모리 모듈(100)의 풀 어드레스가 X이고, 상기 메모리 장치의 개수가 M개이고, 상기 메모리 장치(M)의 배드 페이지의 개수의 최대값이 max(Da)라고 할 때, 상기 피지컬 어드레스(PADDR)의 최대값은 X - N * max(Da)일 수 있다.
상기 메모리 컨트롤러(200)는 상기 피지컬 어드레스의 최대값 MAX(PADDR)을 상기 오퍼레이팅 시스템(300)에 출력할 수 있다.
예를 들어, 이러한 방식의 어드레스 맵핑 방식은 상기 메모리 모듈의 어드레스 맵핑 순서가 칩 셀렉트 신호, 로우 어드레스, 뱅크 어드레스 및 컬럼 어드레스 순(Cs-RA-BA-CA)일 때에 적합할 수 있다.
본 실시예에 따르면, 상기 메모리 모듈(100)의 상기 메모리 장치들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 메모리 컨트롤러(200)의 상기 피지컬 어드레스(PADDR)는 연속적인 어드레스를 보장할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 메모리 컨트롤러에 의한 어드레스 맵핑을 나타내는 개념도이다.
본 실시예에 따른 메모리 장치 별 배드 페이지는 도 7의 메모리 장치 별 배드 페이지와 동일한 것으로 가정한다.
도 1, 도 7 및 도 9를 참조하면, 상기 메모리 컨트롤러(200)는 상기 메모리 모듈(100)로부터 수신한 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 메모리 모듈(100)의 디램 어드레스(DADDR)로 연속적으로 맵핑한다.
본 발명의 실시예에서, 상기 메모리 모듈(100)은 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4) 각각의 배드 페이지의 개수 Da1 내지 Da4를 상기 메모리 컨트롤러(200)에 전달할 수 있다.
상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)에 대해 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 배드 페이지의 개수(Da1 내지 Da4)를 기준으로 상기 메모리 모듈의 어드레스 비할당 영역을 설정한다.
상기 메모리 컨트롤러(200)는 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 배드 페이지의 개수(Da1 내지 Da4)에 대응하는 오프셋 어드레스를 이용하여 상기 제1 내지 제4 메모리 장치(DM1 내지 DM4)의 디램 어드레스를 연속적으로 맵핑할 수 있다.
예를 들어, 상기 제1 메모리 장치(DM1)의 정상 페이지 영역에 대해서는 상기 피지컬 어드레스(PADDR)가 상기 디램 어드레스(DADDR)와 평행하게 맵핑된다.
상기 제1 메모리 장치(DM1)의 정상 페이지 영역의 종료점의 다음 피지컬 어드레스(PADDR)는 상기 제1 메모리 장치(DM1)의 리플레이스먼트 영역의 시작점의 디램 어드레스(DADDR)를 가리키는 것이 아니고, 상기 제2 메모리 장치(DM2)의 정상 페이지 영역의 시작점의 디램 어드레스(DADDR)를 가리키도록 맵핑된다.
즉, 상기 피지컬 어드레스(PADDR)는 상기 제1 메모리 장치(DM1)의 리플레이스먼트 영역에 대응하는 상기 디램 어드레스(DADDR)를 건너뛰도록 맵핑된다.
예를 들어, 상기 제1 메모리 장치(DM1)의 정상 페이지 영역의 종료점의 다음 피지컬 어드레스(PADDR)에는 상기 배드 페이지의 개수에 대응하는 페이지 오프셋 값이 상기 제1 메모리 장치(DM1)의 리플레이스먼트 영역의 시작점을 가리키는 상기 디램 어드레스에 합산되어 맵핑될 수 있다.
이러한 방식으로, 상기 피지컬 어드레스(PADDR)는 불연속 영역이 없이 연속적으로 맵핑된다.
본 실시예에서, 상기 메모리 모듈(100)의 풀 덴시티에 대응하는 풀 어드레스가 X라고 하면, 상기 피지컬 어드레스(PADDR)의 최대값은 X - (Da1 + Da2 + Da3 + Da4)일 수 있다.
이를 일반화하면, 상기 메모리 모듈(100)의 풀 어드레스가 X이고, 상기 메모리 장치(DM)의 개수가 M개이고, 상기 메모리 장치(DM)의 배드 페이지의 개수가 각각 Da1 내지 DaM이라고 할 때, 상기 피지컬 어드레스(PADDR)의 최대값은
Figure 112013022592514-pat00005
일 수 있다.
상기 메모리 컨트롤러(200)는 상기 피지컬 어드레스의 최대값 MAX(PADDR)을 상기 오퍼레이팅 시스템(300)에 출력할 수 있다.
예를 들어, 이러한 방식의 어드레스 맵핑 방식은 상기 메모리 모듈의 어드레스 맵핑 순서가 칩 셀렉트 신호, 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스 순(Cs-BA-RA-CA)일 때에 적합할 수 있다.
본 실시예에 따르면, 상기 메모리 모듈(100)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 메모리 컨트롤러(200)의 상기 피지컬 어드레스(PADDR)는 연속적인 어드레스를 보장할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 메모리 시스템을 나타내는 블록도이다. 도 11은 도 10의 제1 및 제2 메모리 모듈의 뱅크를 나타내는 개념도이다.
본 실시예에 따른 메모리 시스템은 복수의 메모리 모듈을 포함하는 것을 제외하면, 도 1 내지 도 3에 따른 메모리 시스템과 실질적으로 동일하므로, 중복되는 설명은 생략한다.
도 10 및 도 11을 참조하면, 메모리 시스템은 제1 메모리 모듈(110), 제2 메모리 모듈(120) 및 메모리 컨트롤러(200)를 포함한다. 상기 메모리 시스템은 오퍼레이팅 시스템(300)과 연결된다.
본 실시예에서, 상기 제1 메모리 모듈(110)은 제1 메모리 장치를 포함하는 것으로 가정한다. 상기 제1 메모리 장치는 복수의 뱅크를 포함하는 것으로 가정한다. 상기 제1 메모리 장치는 4개의 뱅크를 포함하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않는다.
본 실시예에서, 상기 제2 메모리 모듈(120)은 제2 메모리 장치를 포함하는 것으로 가정한다. 상기 제2 메모리 장치는 복수의 뱅크를 포함하는 것으로 가정한다. 상기 제2 메모리 장치는 4개의 뱅크를 포함하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않는다.
상기 제1 메모리 모듈(110)은 제1 내지 제4 뱅크(B11, B12, B13, B14)를 포함한다. 상기 제2 메모리 모듈(120)은 제1 내지 제4 뱅크(B21, B22, B23, B24)를 포함한다.
상기 제1 메모리 모듈(110)은 제1 디램 어드레스(DADDR1)를 갖고, 상기 제2 메모리 모듈(120)은 제2 디램 어드레스(DADDR2)를 갖는다.
상기 메모리 컨트롤러(200)는 상기 제1 메모리 모듈(110)로부터 수신한 제1 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 제1 메모리 모듈(110)의 제1 디램 어드레스(DADDR1)로 연속적으로 맵핑한다.
상기 메모리 컨트롤러(200)는 상기 제2 메모리 모듈(120)로부터 수신한 제2 덴시티 정보를 기초로 상기 피지컬 어드레스(PADDR)를 상기 제2 메모리 모듈(120)의 제2 디램 어드레스(DADDR2)로 연속적으로 맵핑한다.
상기 제1 디램 어드레스(DADDR1) 및 상기 제2 디램 어드레스(DADDR2)는 서로 독립적으로 관리될 수 있다.
도 3의 방식과 같이, 상기 메모리 컨트롤러(200)는 상기 제1 메모리 모듈(110)의 제1 내지 제4 뱅크(B11 내지 B14)에 대해 상기 뱅크의 배드 페이지의 개수의 최대값인 am1을 기준으로, 상기 제1 메모리 모듈(110)의 어드레스 비할당 영역을 설정한다.
따라서, 상기 메모리 컨트롤러(200)는 상기 제1 메모리 모듈(110)의 상기 제1 내지 제4 뱅크(B11 내지 B14)의 제1 디램 어드레스(DADDR1)를 연속적으로 맵핑할 수 있다.
도 3의 방식과 같이, 상기 메모리 컨트롤러(200)는 상기 제2 메모리 모듈(120)의 제1 내지 제4 뱅크(B21 내지 B24)에 대해 상기 뱅크의 배드 페이지의 개수의 최대값인 am2를 기준으로, 상기 제2 메모리 모듈(120)의 어드레스 비할당 영역을 설정한다.
따라서, 상기 메모리 컨트롤러(200)는 상기 제2 메모리 모듈(120)의 상기 제1 내지 제4 뱅크(B21 내지 B24)의 제2 디램 어드레스(DADDR2)를 연속적으로 맵핑할 수 있다.
이와는 달리, 도 4의 방식과 같이, 상기 메모리 컨트롤러(200)는 상기 제1 메모리 모듈(110)의 뱅크 각각의 배드 페이지의 개수를 이용하여, 상기 제1 디램 어드레스(DADDR1)를 연속적으로 맵핑할 수 있다.
또한, 상기 메모리 컨트롤러(200)는 상기 제2 메모리 모듈(120)의 뱅크 각각의 배드 페이지의 개수를 이용하여, 상기 제2 디램 어드레스(DADDR2)를 연속적으로 맵핑할 수 있다.
이와는 달리, 도 5의 방식과 같이, 상기 오퍼레이팅 시스템(300)은 상기 제1 메모리 모듈(110)의 상기 뱅크의 배드 페이지의 개수의 최대값(am1)을 이용하여, 상기 제1 디램 어드레스(DADDR1)를 연속적으로 맵핑할 수 있다.
또한, 상기 오퍼레이팅 시스템(300)은 상기 제2 메모리 모듈(120)의 상기 뱅크의 배드 페이지의 개수의 최대값(am2)을 이용하여, 상기 제2 디램 어드레스(DADDR2)를 연속적으로 맵핑할 수 있다.
이와는 달리, 도 6의 방식과 같이, 상기 오퍼레이팅 시스템(300)은 상기 제1 메모리 모듈(110)의 뱅크 각각의 배드 페이지의 개수를 이용하여, 상기 제1 디램 어드레스(DADDR1)를 연속적으로 맵핑할 수 있다.
또한, 상기 오퍼레이팅 시스템(300)은 상기 제2 메모리 모듈(120)의 뱅크 각각의 배드 페이지의 개수를 이용하여, 상기 제2 디램 어드레스(DADDR2)를 연속적으로 맵핑할 수 있다.
도 7 내지 도 9를 참조하여 설명한 하나의 메모리 모듈이 복수의 메모리 장치를 갖는 경우의 어드레스 맵핑 방법은 본 실시예의 제1 메모리 모듈(110) 및 제2 메모리 모듈(120)에 적용될 수 있다.
본 실시예에 따르면, 상기 제1 메모리 모듈(110)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 메모리 컨트롤러(200)의 상기 제1 메모리 모듈(110)에 대응하는 상기 피지컬 어드레스(PADDR)는 연속적인 어드레스를 보장할 수 있다. 상기 제2 메모리 모듈(120)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 제2 메모리 모듈(120)에 대응하는 상기 메모리 컨트롤러(200)의 상기 피지컬 어드레스(PADDR)는 연속적인 어드레스를 보장할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
본 실시예에 따른 메모리 시스템은 복수의 메모리 컨트롤러 및 복수의 메모리 모듈을 포함하는 것을 제외하면, 도 1 내지 도 3에 따른 메모리 시스템과 실질적으로 동일하므로, 중복되는 설명은 생략한다.
도 12를 참조하면, 메모리 시스템은 제1 메모리 모듈(110), 제2 메모리 모듈(120), 제1 메모리 컨트롤러(210) 및 제2 메모리 컨트롤러(220)를 포함한다. 상기 메모리 시스템은 오퍼레이팅 시스템(300)과 연결된다.
상기 제1 메모리 컨트롤러(210)는 상기 제1 메모리 모듈(110)의 동작을 전반적으로 제어한다. 상기 제2 메모리 컨트롤러(220)는 상기 제2 메모리 모듈(120)의 동작을 전반적으로 제어한다.
상기 제1 메모리 모듈(110)은 제1 디램 어드레스(DADDR1)를 갖고, 상기 제2 메모리 모듈(120)은 제2 디램 어드레스(DADDR2)를 갖는다.
상기 제1 메모리 컨트롤러(210)는 상기 제1 메모리 모듈(110)로부터 수신한 제1 덴시티 정보를 기초로 제1 피지컬 어드레스(PADDR1)를 상기 제1 메모리 모듈(110)의 제1 디램 어드레스(DADDR1)로 연속적으로 맵핑한다.
상기 제2 메모리 컨트롤러(220)는 상기 제2 메모리 모듈(120)로부터 수신한 제2 덴시티 정보를 기초로 제2 피지컬 어드레스(PADDR2)를 상기 제2 메모리 모듈(120)의 제2 디램 어드레스(DADDR2)로 연속적으로 맵핑한다.
상기 제1 디램 어드레스(DADDR1) 및 상기 제2 디램 어드레스(DADDR2)는 서로 독립적으로 관리될 수 있다.
도 3 내지 도 9의 어드레스 맵핑 방식은 상기 제1 메모리 모듈(110), 상기 제1 메모리 컨트롤러(210) 및 상기 오퍼레이팅 시스템(300) 간에 적용될 수 있다.
도 3 내지 도 9의 어드레스 맵핑 방식은 상기 제2 메모리 모듈(120), 상기 제2 메모리 컨트롤러(220) 및 상기 오퍼레이팅 시스템(300) 간에 적용될 수 있다.
본 실시예에 따르면, 상기 제1 메모리 모듈(110)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 제1 메모리 컨트롤러(210)의 상기 제1 피지컬 어드레스(PADDR1)는 연속적인 어드레스를 보장할 수 있다. 상기 제2 메모리 모듈(120)의 상기 뱅크들 사이에 불연속적인 디램 어드레스 영역이 있음에도, 상기 제2 메모리 컨트롤러(220)의 상기 제2 피지컬 어드레스(PADDR2)는 연속적인 어드레스를 보장할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 배드 페이지를 정상 페이지로 리플레이스하는 방법을 나타내는 개념도이다.
본 실시예에 따른 메모리 시스템은 메모리 장치가 배드 페이지를 정상 페이지로 리플레이스하는 방식을 제외하면 도 1 내지 도 3에 따른 메모리 시스템과 실질적으로 동일하므로, 중복되는 설명은 생략한다.
도 1 및 도 13을 참조하면, 메모리 시스템은 메모리 모듈(100) 및 메모리 컨트롤러(200)를 포함한다. 상기 메모리 시스템은 오퍼레이팅 시스템(300)과 연결된다.
상기 메모리 모듈(100)은 불량이 발생한 배드 페이지를 정상 페이지로 대체한다. 상기 메모리 모듈(100)은 상기 불량이 발생한 배드 페이지를 대체하기 위한 별도의 리던던시 셀 영역을 포함하지 않는다. 따라서, 상기 배드 페이지가 발생할 경우, 풀 덴시티 내의 정상 페이지가 상기 리플레이스먼트 페이지로 사용되므로, 상기 배드 페이지가 증가할수록 상기 메모리 모듈(100)의 실질적인 덴시티는 감소하게 된다.
본 실시예에서, 상기 메모리 모듈(100)은 불량이 발생한 배드 페이지의 어드레스를 저장하는 페이지 테이블(S1 내지 S128)을 포함한다.
상기 메모리 모듈(100)은 디램 어드레스(DADDR)가 입력되면, 상기 디램 어드레스(DADDR)를 상기 페이지 테이블 내의 불량 어드레스와 비교하여, 상기 디램 어드레스(DADDR)가 상기 불량 어드레스에 해당하는 경우, 대체 어드레스를 지정하여, 배드 페이지를 정상 페이지로 대체한다.
상기 불량 어드레스를 저장하는 상기 페이지 테이블은 해싱(Hashing) 함수를 활용할 수 있다. 상기 불량 어드레스는 상기 해싱 함수를 이용하여 그룹화할 수 있다.
해싱 함수를 이용한 그룹들의 결정 방식은 해싱 로직(HASH0 내지HASH3)으로 표현될 수 있다. 예를 들어, 해싱 로직은 복수의 배타적 논리합 게이트들을 포함할 수 있다. 배타적 논리합 게이트들은 행 어드레스의 전체 비트 중에서 일부의 비트들에 대해 배타적 논리합 연산을 수행하여 그룹 어드레스의 비트들을 생성할 수 있다.
상기 해싱 함수를 이용하여 상기 불량 어드레스를 그룹화하므로, 비교기(C1 내지 C4)의 개수 및 룩업 타임을 감소시킬 수 있다.
상기 페이지 테이블은 베이스 어드레스 및 오프셋 어드레스를 이용하는 방식으로 압축될 수 있다.
예를 들어, 상기 불량 어드레스를 저장하는 상기 페이지 테이블(S1 내지 S128)은 뱅크 별로 128개의 필드를 저장할 수 있다. 예를 들어, 상기 페이지 테이블은 32개의 필드를 갖는 4개의 열을 포함할 수 있다.
상기 페이지 테이블 내의 상기 불량 어드레스는 상기 베이스 어드레스 및 상기 오프셋 어드레스를 이용하여 압축되므로, 상기 페이지 테이블의 사이즈를 감소시킬 수 있다.
도 14는 본 발명의 실시예들에 따른 메모리 장치를 포함하는 메모리 모듈을 나타내는 블록도이다.
도 14를 참조하면, 메모리 모듈(700)은 복수의 메모리 장치들(720)을 포함할 수 있다. 실시예에 따라, 메모리 모듈(700)은 UDIMM(Unbuffered Dual In-line Memory Module), RDIMM(Registered Dual In-line Memory Module), FBDIMM(Fully Buffered Dual In-line Memory Module), LRDIMM(Load Reduced Dual In-line Memory Module) 또는 다른 메모리 모듈일 수 있다.
메모리 모듈(700)은 메모리 컨트롤러로부터 복수의 신호선들을 통하여 커맨드, 어드레스, 및 데이터를 수신하고, 상기 커맨드, 어드레스, 및 데이터를 버퍼링하여 메모리 장치들(720)에 제공하는 버퍼(710)를 더 포함할 수 있다.
버퍼(710)와 메모리 장치들(720) 사이의 데이터 전송선들은 포인트-투-포인트 방식으로 연결될 수 있다. 또한, 버퍼(710)와 메모리 장치들(720) 사이의 커맨드/어드레스 전송선들은 멀티-드롭 방식, 데이지-체인 방식, 또는 플라이-바이 데이지-체인 방식으로 연결될 수 있다. 버퍼(710)가 상기 커맨드, 어드레스, 및 데이터를 모두 버퍼링하므로, 상기 메모리 컨트롤러는 버퍼(710)의 로드만을 구동함으로써 메모리 모듈(700)과 인터페이스 할 수 있다. 이에 따라, 메모리 모듈(700)은 보다 많은 수의 메모리 장치들(720) 및 메모리 랭크들을 포함할 수 있고, 메모리 시스템은 보다 많은 수의 메모리 모듈들(700)을 포함할 수 있다.
메모리 장치(720)는 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스하고, 상기 배드 페이지의 개수를 기초로 덴시티 정보를 생성하여 메모리 컨트롤러에 전달한다. 따라서, 메모리 장치(720)가 불연속적인 디램 어드레스를 갖더라도, 메모리 컨트롤러 또는 오퍼레이팅 시스템에 의해 연속적인 피지컬 어드레스 또는 버추얼 어드레스를 갖도록 맵핑될 수 있다. 메모리 장치(720)는 도 1 및 도 2에 도시된 메모리 장치(100)로 구현될 수 있다. 도 1 및 도 2의 메모리 장치(100)의 구성 및 동작에 대해서는 도 1 내지 3을 참조하여 상세히 설명하였으므로, 여기서는 메모리 장치(720)에 대한 상세한 설명은 생략한다.
도 15는 본 발명의 실시예들에 따른 메모리 시스템이 모바일 시스템에 응용된 예를 나타내는 도면이다.
도 15를 참조하면, 모바일 시스템(800)은 어플리케이션 프로세서(810), 통신(Connectivity)부(820), 사용자 인터페이스(830), 비휘발성 메모리 장치(NVM)(840), 휘발성 메모리 장치(VM)(850) 및 파워 서플라이(860)를 포함한다. 실시예에 따라, 모바일 시스템(800)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 시스템일 수 있다.
어플리케이션 프로세서(810)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 어플리케이션 프로세서(810)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(810)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 어플리케이션 프로세서(810)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(820)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신부(820)는 이더넷(Ethernet) 통신, 근거리 자기장 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신부(820)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GPRS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
휘발성 메모리 장치(850)는 어플리케이션 프로세서(810)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 휘발성 메모리 장치(850)는 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스하고, 배드 페이지의 개수를 기초로 덴시티 정보를 생성하여 메모리 컨트롤러에 전달한다. 따라서, 휘발성 메모리 장치(850)가 불연속적인 디램 어드레스를 갖더라도, 메모리 컨트롤러 또는 오퍼레이팅 시스템에 의해 연속적인 피지컬 어드레스 또는 버추얼 어드레스를 갖도록 맵핑될 수 있다. 휘발성 메모리 장치(850)는 도 1 및 도 2에 도시된 메모리 장치(100)로 구현될 수 있다. 도 1 및 도 2의 메모리 장치(100)의 구성 및 동작에 대해서는 도 1 내지 3을 참조하여 상세히 설명하였으므로, 여기서는 휘발성 메모리 장치(850)에 대한 상세한 설명은 생략한다.
비휘발성 메모리 장치(840)는 모바일 시스템(800)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 비휘발성 메모리 장치(840)는 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) 또는 이와 유사한 메모리로 구현될 수 있다.
사용자 인터페이스(830)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(860)는 모바일 시스템(800)의 동작 전압을 공급할 수 있다.
또한, 실시예에 따라, 모바일 시스템(800)은 이미지 프로세서를 더 포함할 수 있고, 메모리 카드(Memory Card), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD), 씨디롬(CD-ROM) 등과 같은 저장 장치를 더 포함할 수 있다.
모바일 시스템(800) 또는 모바일 시스템(800)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, 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) 등과 같은 패키지들을 이용하여 실장될 수 있다.
도 16은 본 발명의 실시예들에 따른 메모리 시스템이 컴퓨팅 시스템에 응용된 예를 나타내는 도면이다.
도 16을 참조하면, 컴퓨팅 시스템(900)은 프로세서(910), 입출력 허브(IOH)(920), 입출력 컨트롤러 허브(ICH)(930), 적어도 하나의 메모리 모듈(940) 및 그래픽 카드(950)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(900)은 개인용 컴퓨터(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) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(910)는 특정 계산들 또는 태스크들을 실행하는 특정 소프트웨어를 실행하는 것과 같이 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(910)는 마이크로프로세서 또는 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 실시예에 따라, 프로세서(910)는 하나의 프로세서 코어를 포함하거나, 복수의 프로세서 코어들을 포함할 수 있다. 예를 들어, 프로세서(910)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 도 9에는 하나의 프로세서(910)를 포함하는 컴퓨팅 시스템(900)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(900)은 복수의 프로세서들을 포함할 수 있다.
프로세서(910)는 메모리 모듈(940)의 동작을 제어하는 메모리 컨트롤러(911)를 포함할 수 있다. 프로세서(910)에 포함된 메모리 컨트롤러(911)는 집적 메모리 컨트롤러(Integrated Memory Controller; IMC)라 불릴 수 있다. 메모리 컨트롤러(911)와 메모리 모듈(940) 사이의 메모리 인터페이스는 복수의 신호선들을 포함하는 하나의 채널로 구현되거나, 복수의 채널들로 구현될 수 있다. 또한, 각 채널에는 하나 이상의 메모리 모듈(940)이 연결될 수 있다. 실시예에 따라, 메모리 컨트롤러(911)는 입출력 허브(920) 내에 위치할 수 있다. 메모리 컨트롤러(911)를 포함하는 입출력 허브(920)는 메모리 컨트롤러 허브(Memory Controller Hub; MCH)라 불릴 수 있다.
메모리 모듈(940)은 메모리 컨트롤러(911)로부터 제공된 데이터를 저장하는 복수의 메모리 장치들(MEM)(941)을 포함할 수 있다. 메모리 장치(941)는 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스하고, 상기 배드 페이지의 개수를 기초로 덴시티 정보를 생성하여 메모리 컨트롤러에 전달한다. 따라서, 메모리 장치(941)가 불연속적인 디램 어드레스를 갖더라도, 메모리 컨트롤러 또는 오퍼레이팅 시스템에 의해 연속적인 피지컬 어드레스 또는 버추얼 어드레스를 갖도록 맵핑될 수 있다. 메모리 장치(941)는 도 1 및 도 2에 도시된 메모리 장치(100)로 구현될 수 있다. 도 1 및 도 2의 메모리 장치(100)의 구성 및 동작에 대해서는 도 1 내지 3을 참조하여 상세히 설명하였으므로, 여기서는 메모리 장치(941)에 대한 상세한 설명은 생략한다.
입출력 허브(920)는 그래픽 카드(950)와 같은 장치들과 프로세서(910) 사이의 데이터 전송을 관리할 수 있다. 입출력 허브(920)는 다양한 방식의 인터페이스를 통하여 프로세서(910)에 연결될 수 있다. 예를 들어, 입출력 허브(920)와 프로세서(910)는, 프론트 사이드 버스(Front Side Bus; FSB), 시스템 버스(System Bus), 하이퍼트랜스포트(HyperTransport), 라이트닝 데이터 트랜스포트(Lightning Data Transport; LDT), 퀵패스 인터커넥트(QuickPath Interconnect; QPI), 공통 시스템 인터페이스(Common System Interface; CSI) 등의 다양한 표준의 인터페이스로 연결될 수 있다. 입출력 허브(920)는 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 허브(920)는 가속 그래픽 포트(Accelerated Graphics Port; AGP) 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; PCIe), 통신 스트리밍 구조(Communications Streaming Architecture; CSA) 인터페이스 등을 제공할 수 있다. 도 9에는 하나의 입출력 허브(920)를 포함하는 컴퓨팅 시스템(900)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(900)은 복수의 입출력 허브들을 포함할 수 있다.
그래픽 카드(950)는 AGP 또는 PCIe를 통하여 입출력 허브(920)와 연결될 수 있다. 그래픽 카드(950)는 영상을 표시하기 위한 디스플레이 장치를 제어할 수 있다. 그래픽 카드(950)는 이미지 데이터 처리를 위한 내부 프로세서 및 내부 메모리 장치를 포함할 수 있다. 실시예에 따라, 그래픽 카드(950)는 입출력 허브(920) 외부에 위치할 수도 있고 입출력 허브(920)의 내부에 위치할 수도 있다. 입출력 허브(920)에 포함된 그래픽 장치는 집적 그래픽(Integrated Graphics)이라 불릴 수 있다. 또한, 메모리 컨트롤러 및 그래픽 장치를 포함하는 입출력 허브(920)는 그래픽 및 메모리 컨트롤러 허브(Graphics and Memory Controller Hub; GMCH)라 불릴 수 있다.
입출력 컨트롤러 허브(930)는 다양한 시스템 인터페이스들이 효율적으로 동작하도록 데이터 버퍼링 및 인터페이스 중재를 수행할 수 있다. 입출력 컨트롤러 허브(930)는 내부 버스를 통하여 입출력 허브(920)와 연결될 수 있다. 예를 들어, 입출력 허브(920)와 입출력 컨트롤러 허브(930)는 다이렉트 미디어 인터페이스(Direct Media Interface; DMI), 허브 인터페이스, 엔터프라이즈 사우스브릿지 인터페이스(Enterprise Southbridge Interface; ESI), PCIe 등을 통하여 연결될 수 있다.
입출력 컨트롤러 허브(930)는 주변 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 컨트롤러 허브(930)는 범용 직렬 버스(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 등을 제공할 수 있다.
실시예에 따라, 프로세서(910), 입출력 허브(920) 및 입출력 컨트롤러 허브(930)는 각각 분리된 칩셋들 또는 집적 회로들로 구현될 수도 있고, 프로세서(910), 입출력 허브(920) 및 입출력 컨트롤러 허브(930) 중에서 둘 이상의 구성요소들이 하나의 칩셋으로 구현될 수도 있다.
본 발명은 메모리 장치를 구비하는 임의의 전자 장치에 유용하게 이용될 수 있다. 예를 들어, 본 발명은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등에 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스하고, 상기 배드 페이지의 개수를 기초로 덴시티(density) 정보를 생성하는 메모리 모듈; 및
    상기 메모리 모듈로부터 수신한 상기 덴시티 정보를 기초로 피지컬 어드레스를 상기 메모리 모듈의 디램 어드레스로 연속적으로 맵핑하는 메모리 컨트롤러를 포함하고,
    상기 메모리 모듈이 하나의 메모리 장치를 포함하고, 상기 메모리 장치는 복수의 뱅크를 포함할 때,
    상기 덴시티 정보는 상기 뱅크 중 배드 페이지가 가장 많은 뱅크를 기초로 생성되는 것을 특징으로 하는 메모리 시스템.
  2. 삭제
  3. 제1항에 있어서, 상기 메모리 모듈의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수의 최대값이 max(a)일 때,
    상기 피지컬 어드레스의 최대값은 X - N * max(a)이고,
    상기 피지컬 어드레스의 최대값은 상기 메모리 모듈 내에서 연속적인 맵핑을 보장하는 상기 어드레스의 개수인 것을 특징으로 하는 메모리 시스템.
  4. 제1항에 있어서, 상기 메모리 모듈의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수가 각각 a1 내지 aN일 때,
    상기 피지컬 어드레스의 최대값은
    Figure 112017047331291-pat00006
    이고,
    상기 피지컬 어드레스의 최대값은 상기 메모리 모듈 내에서 연속적인 맵핑을 보장하는 상기 어드레스의 개수인 것을 특징으로 하는 메모리 시스템.
  5. 제4항에 있어서, 상기 피지컬 어드레스를 상기 디램 어드레스로 맵핑할 때,
    상기 뱅크의 상기 배드 페이지의 개수에 대응하는 페이지 오프셋 값이 상기 디램 어드레스에 합산되는 것을 특징으로 하는 메모리 시스템.
  6. 불량이 발생한 배드 페이지를 정상 페이지로 리플레이스하고, 상기 배드 페이지의 개수를 기초로 덴시티(density) 정보를 생성하는 메모리 모듈; 및
    상기 메모리 모듈로부터 수신한 상기 덴시티 정보를 기초로 피지컬 어드레스를 상기 메모리 모듈의 디램 어드레스로 연속적으로 맵핑하는 메모리 컨트롤러를 포함하고,
    상기 메모리 모듈은 복수의 메모리 장치를 포함하고,
    상기 덴시티 정보는 상기 메모리 장치 중 배드 페이지가 가장 많은 메모리 장치를 기초로 생성되는 것을 특징으로 하는 메모리 시스템.
  7. 불량이 발생한 배드 페이지의 개수를 기초로 메모리 패키지의 덴시티(density) 정보를 생성하는 단계;
    상기 메모리 패키지로부터 수신한 상기 덴시티 정보를 기초로 피지컬 어드레스를 상기 메모리 패키지의 디램 어드레스로 연속적으로 맵핑하는 단계를 포함하고,
    상기 메모리 패키지가 하나의 메모리 장치를 포함하고, 상기 메모리 장치가 복수의 뱅크를 포함할 때,
    상기 덴시티 정보는 상기 뱅크 중 배드 페이지가 가장 많은 뱅크를 기초로 생성되는 것을 특징으로 하는 어드레스 맵핑 방법.
  8. 삭제
  9. 제7항에 있어서, 상기 메모리 패키지의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수의 최대값이 max(a)일 때,
    상기 피지컬 어드레스의 최대값은 X - N * max(a)이고,
    상기 피지컬 어드레스의 최대값은 상기 메모리 패키지 내에서 연속적인 맵핑을 보장하는 상기 피지컬 어드레스의 개수인 것을 특징으로 하는 어드레스 맵핑 방법.
  10. 제7항에 있어서, 상기 메모리 패키지의 풀 어드레스가 X이고, 상기 뱅크의 개수가 N개이고, 상기 뱅크의 배드 페이지의 개수가 각각 a1 내지 aN일 때,
    상기 피지컬 어드레스의 최대값은
    Figure 112017047331291-pat00007
    이고,
    상기 피지컬 어드레스의 최대값은 상기 메모리 패키지 내에서 연속적인 맵핑을 보장하는 상기 피지컬 어드레스의 개수인 것을 특징으로 하는 어드레스 맵핑 방법.
KR1020130027867A 2012-11-27 2013-03-15 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법 KR101799439B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/090,510 US9318168B2 (en) 2012-11-27 2013-11-26 Memory system for continuously mapping addresses of a memory module having defective locations

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
KR20140067879A KR20140067879A (ko) 2014-06-05
KR101799439B1 true KR101799439B1 (ko) 2017-11-20

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 Before (2)

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 메모리 장치 및 이를 갖는 메모리 시스템

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149687A1 (en) 2003-02-14 2005-07-07 Adelmann Todd C. Device identification using a memory profile
US20090013148A1 (en) * 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110261616A1 (en) * 2010-04-26 2011-10-27 Mosaid Technologies Incorporated Write scheme in phase change memory
US8499227B2 (en) * 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149687A1 (en) 2003-02-14 2005-07-07 Adelmann Todd C. Device identification using a memory profile
US20090013148A1 (en) * 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays

Also Published As

Publication number Publication date
KR102048217B1 (ko) 2019-11-25
KR20140067875A (ko) 2014-06-05
KR20140067879A (ko) 2014-06-05
KR20140067878A (ko) 2014-06-05
KR102076067B1 (ko) 2020-02-11

Similar Documents

Publication Publication Date Title
KR102067029B1 (ko) 반도체 메모리 장치 및 메모리 시스템
KR102107470B1 (ko) 메모리 장치 및 메모리 장치의 리프레시 방법
US9460816B2 (en) Semiconductor memory devices and memory systems including the same
US9536586B2 (en) Memory device and memory system having the same
US9164834B2 (en) Semiconductor memory devices, memory systems including the same and method of writing data in the same
KR101799439B1 (ko) 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법
US9042194B2 (en) Refresh method, refresh address generator, volatile memory device including the same
KR102344834B1 (ko) 솔리드 스테이트 드라이브 및 이를 포함하는 컴퓨팅 시스템
US8705302B2 (en) Semiconductor memory devices having self-refresh capability
US9064603B1 (en) Semiconductor memory device and memory system including the same
KR20160016051A (ko) 선택적 ecc 기능을 갖는 반도체 메모리 장치
KR102194003B1 (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템
KR102400991B1 (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10318469B2 (en) Semiconductor memory device, memory system, and method using bus-invert encoding
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
JP6231194B2 (ja) 電子デバイス、メモリコントローラ、装置
KR20220000249A (ko) 스토리지 장치 및 그 동작 방법
KR20140131851A (ko) 반도체 메모리 장치 및 메모리 시스템
US10545675B2 (en) Memory system including multi-interfaces
KR20160065468A (ko) 솔리드 스테이트 드라이브의 동작 방법
KR20150068679A (ko) 메모리 시스템 및 이를 포함하는 컴퓨팅 시스템
US11734168B2 (en) Storage device and operating method thereof
US9519531B2 (en) Memory devices and memory systems having the same

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