KR100750183B1 - 메모리 시스템 및 그 제어방법 - Google Patents
메모리 시스템 및 그 제어방법 Download PDFInfo
- Publication number
- KR100750183B1 KR100750183B1 KR1020060002500A KR20060002500A KR100750183B1 KR 100750183 B1 KR100750183 B1 KR 100750183B1 KR 1020060002500 A KR1020060002500 A KR 1020060002500A KR 20060002500 A KR20060002500 A KR 20060002500A KR 100750183 B1 KR100750183 B1 KR 100750183B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- scheduling
- elements
- controlling
- command
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 11
- 239000000758 substrate Substances 0.000 claims description 8
- 108091006146 Channels Proteins 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 4
- 101150087393 PIN3 gene Proteins 0.000 description 3
- 102000005591 NIMA-Interacting Peptidylprolyl Isomerase Human genes 0.000 description 2
- 108010059419 NIMA-Interacting Peptidylprolyl Isomerase Proteins 0.000 description 2
- 102100025568 Voltage-dependent L-type calcium channel subunit beta-1 Human genes 0.000 description 2
- 101710176690 Voltage-dependent L-type calcium channel subunit beta-1 Proteins 0.000 description 2
- 102100025807 Voltage-dependent L-type calcium channel subunit beta-2 Human genes 0.000 description 2
- 101710176691 Voltage-dependent L-type calcium channel subunit beta-2 Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21F—SAFETY DEVICES, TRANSPORT, FILLING-UP, RESCUE, VENTILATION, OR DRAINING IN OR OF MINES OR TUNNELS
- E21F17/00—Methods or devices for use in mines or tunnels, not covered elsewhere
- E21F17/18—Special adaptations of signalling or alarm devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Mining & Mineral Resources (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Geochemistry & Mineralogy (AREA)
- Geology (AREA)
- Dram (AREA)
Abstract
메모리 시스템 및 그 제어방법을 개시한다. 메모리 시스템은 커맨드 및 어드레스 버스와 데이터 버스를 포함하는 복수의 입출력 채널들을 가진 메모리 콘트롤러와, 복수의 입출력 채널들 중 각각 대응하는 입출력 채널을 통하여 메모리 콘트롤러에 직접 연결된 복수의 제1메모리 소자들을 구비한다. 메모리 콘트롤러는 복수의 입출력 채널들을 통하여 복수의 제1메모리 소자들 각각에 서로 독립적인 커맨드 및 어드레스와 데이터를 전송하여 서로 독립적으로 동작시킨다.
Description
도 1은 종래의 메모리 모듈을 설명하기 위한 도면이다.
도 2는 본 발명과 관련된 포인트 투 포인트 방식으로 연결된 메모리 시스템을 나타낸 도면이다.
도 3은 본 발명에 의한 메모리 시스템의 블록도이다.
도 4는 도 3의 메모리 콘트롤러의 동작을 설명하기 위한 흐름도이다.
도 5a 내지 도 5c는 본 발명에 의한 다양한 메모리 사이즈를 가진 메모리 모듈의 구성을 나타낸 도면들이다.
도 6a 및 도 6b는 본 발명에 의한 계층적 중계 구조를 가진 메모리 모듈의 구성을 나타낸 도면들이다.
도 7은 도 6a의 계층적 중계 링크 구조를 가진 메모리 시스템의 리드 동작 타이밍도이다.
도 8 내지 도 11은 도 8의 리드 동작에 따른 커맨드 및 어드레스 패킷의 구성을 나타낸다.
본 발명은 고속 고용량 메모리 시스템 및 그 제어방법에 관한 것으로, 특히 동일 랭크의 복수의 메모리 소자들을 서로 독립적으로 제어할 수 있는 메모리 시스템 및 그 제어방법에 관한 것이다.
컴퓨터 시스템의 중앙처리장치의 동작속도가 고속화 및 고성능화되어 감에 따라 메인 메모리로 사용되는 동기식 디램의 동작속도도 고속화 및 고용량화가 요구되고 있다.
도 1은 일반적인 메모리 시스템의 일예를 나타낸다. 도 1을 참조하면, 메인 메모리의 대용량화 추세에 맞추어 디램 칩들(DRAM11~DRAMmn)이 메트릭스 형상으로 배치된다. 각 로우들의 디램 칩들(DRAM11~DRAM1n), ((DRAM21~DRAM2n), ---, (DRAMm1~DRAMmn)은 대응하는 커맨드 및 어드레스 버스들(CABUS1), (CABUS2), ---, (CABUSm)을 공유한다. 각 컬럼들의 디램 칩들(DRAM11~DRAMm1), ((DRAM12~DRAMm2), ---, (DRAM1n~DRAMmn)은 각각 대응하는 데이터 버스들(DBUS1), (DBUS2), ---, (DBUSn)를 공유한다. 컬럼방향으로 디램 칩들의 수가 늘어나면 메모리 콘트롤러(12)의 데이터 입출력핀의 용량성 부하량이 증가하게 된다. 로우방향으로 디램 칩들의 수가 증가하게 되면 메모리 콘트롤러(12)의 커맨드/어드레스 출력핀의 용량성 부하량이 증가하게 된다.
디램 칩들의 동작 주파수에 비하여 각 핀의 용량성 부하가 현저히 큰 경우에는 이와 같은 멀티 드롭 방식의 버스 구조의 신호 전달특성이 크게 문제될 것은 없다. 그러나, 디램 칩의 동작 주파수가 높아짐에 따라 각 핀의 용량성 부하에 의한 신호 감쇄가 커지면 신호전달이 성공적으로 이루어질 수 없게 된다. 따라서 용량성 부하의 크기가 동작 주파수에 따라 제한되므로 각 핀에 공통 연결되는 디램 칩의 수가 제한된다. 그러므로 무한정으로 메모리를 연결할 수 없으므로 메모리 확장이 곤란해진다.
따라서, DDR2, DDR3 이상의 동작속도에서는 멀티 드롭 방식의 버스구조로는 디램 칩 자체의 대용량화 이외에는 하나의 핀에 많은 수의 메모리들을 공통 연결하는 방식으로는 더 이상 메모리 사이즈의 증가가 곤란해진다.
한편, 최근에는 상술한 멀티 드롭 버스 구조의 문제점을 해결하고자 포인트-투-포인트(P2P ; Point-to-Point) 방식의 버스구조가 연구되고 있다. P2P 버스구조에서는 메모리 콘트롤러에 직접 연결될 수 있는 디램 칩의 숫자는 메모리 콘트롤러의 핀 배치 공간의 한계로 제한적이다.
P2P 버스 구조에서 메모리 사이즈를 확장하기 위해서는 도 2에 도시한 계층적 링크 구조가 도입되어야 한다. 도 2를 참조하면, 메모리 콘트롤러(22)와 직접 연결된 프라이머리 디램 칩(24)이 세컨더리 디램 칩(26)에 커맨드 및 어드레스 또는 데이터 등을 중계하는 링크 구조가 요구된다. 프라이머리 디램 칩(24)과 세컨더리 디램 칩(26) 사이도 P2P 버스 구조로 연결된다.
한편, 도 1에 도시한 종래의 메모리 시스템은 동일 랭크에 배치된 복수의 메모리 소자들은 공통 커맨드 및 어드레스 버스를 사용한다. 그러므로 동일 랭크에 배치된 모든 메모리 소자들은 동시에 동일한 명령을 수행하도록 활성화된다. 따라서, 예컨대 동일 랭크에서 하나의 메모리 소자만 데이터 입출력이 요구되고 나머지 메모리 소자들은 데이터 입출력 동작이 요구되지 않을 경우에도 동일한 커맨드를 받아서 활성화 되기 때문에 불필요한 전력소모가 발생된다. 또한, 응용분야에 따라 시스템 환경에 최적화된 메모리 공간의 활용이 곤란하다.
그리고, 공통 커맨드 및 어드레스 버스를 사용하기 때문에 메모리 사이즈, 입출력 핀수, 메모리 깊이, 뱅크 수, 버스트 길이 등을 자유로이 조합하는 것이 곤란하다. 따라서, 메모리 모듈의 용량 및 실장된 메모리 소자의 수는 거의 2의 자승의 법칙을 따르게 된다.
그러나, 메모리 소자의 응용분야가 컴퓨터 시스템을 벗어나 다양한 응용분야, 예컨대, 모바일, 개인 휴대장치, 가전제품 등으로 그 사용영역이 확장되어 감에 따라 2진 컴퓨터 환경을 벗어난 다양한 크기의 메모리 용량, 메모리 공간 사용의 다양화 등이 요구되고 있다. 시스템 설계자들은 이진율에 따른 메모리 용량 및 공간 구성으로 인하여 불필요하게 큰 메모리 공간을 응용분야에 적용하지 않으면 아니 되었었고 이와 같은 큰 메모리 용량의 구성은 제품의 원가 상승의 요인으로 작용한다.
본 발명의 목적은 이와 같은 종래 기술의 문제점을 해결하기 위하여 하나의 메모리 콘트롤러에서 복수의 메모리 소자들을 서로 독립적으로 제어할 수 있는 메모리 시스템 및 그 제어방법을 제공하는 데 있다.
본 발명의 다른 목적은 복수의 메모리 소자들을 서로 독립적으로 제어할 수 있는 메모리 콘트롤러를 제공하는 데 있다.
본 발명의 또 다른 목적은 동일 랭크에 배치되고 서로 독립적으로 커맨드를 수행할 수 있는 복수의 메모리 소자들이 실장된 메모리 모듈을 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 메모리 시스템은 커맨드 및 어드레스 버스와 데이터 버스를 포함하는 복수의 입출력 채널들을 가진 메모리 콘트롤러와, 복수의 입출력 채널들 중 각각 대응하는 입출력 채널을 통하여 메모리 콘트롤러에 직접 연결된 복수의 제1메모리 소자들을 구비한다. 메모리 콘트롤러는 복수의 입출력 채널들을 통하여 복수의 제1메모리 소자들 각각에 서로 독립적인 커맨드 및 어드레스와 데이터를 전송하여 서로 독립적으로 동작시킨다. 또한, 메모리 시스템은 복수의 제1메모리 소자들 각각에 적어도 하나 이상 종속적으로 연결된 복수의 제2메모리 소자들을 더 구비할 수 있다. 복수의 제1메모리 소자 각각은 연결된 제2메모리 소자와 메모리 콘트롤러 사이의 커맨드 및 어드레스와 데이터 등을 중계하는 기능을 포함한다. 여기서, 커맨드 및 어드레스 버스와 데이터 버스는 통상의 메모리 표준 인터페이싱 버스 구조로 구성할 수도 있고, 패킷 인터페이스 방식으로 구성할 수도 있다.
본 발명에서 제1 및 제2 메모리 소자들은 n(= 2m×q) 비트 데이터 버스 폭을 가지며, 2m 개 실장 면적과 2m+1개 실장 면적 사이의 면적을 가진 모듈기판 상에 실장된 메모리 모듈 형태로 제공될 수 있다. 제1 및 제2메모리 소자들의 개수는 2m와 2m+1의 사이의 개수이고, 이들 중 2m개는 상기 제1메모리 소자들로 프라이머리 랭크에 배치되고, 나머지는 상기 제2메모리 소자들로 세컨더리 랭크에 배치된다. 또한, 모듈기판의 열적 제한 환경에 최적화시켜서 메모리 소자의 실장 개수를 제한할 수도 있다.
또한, 본 발명에서는 모듈기판 상에 실장되는 소자 수뿐만 아니라 각 메모리 소자들의 메모리 사이즈, 뱅크의 수, 깊이, 페이지 사이즈, 버스트 길이 들 중 적어도 어느 하나가 서로 다르게 조합하여 시스템의 특성에 최적화시키는 것이 가능하다.
본 발명의 방법은 하나의 메모리 콘트롤러에 제1 및 제2메모리 소자들이 제1 및 제2 채널을 통하여 각각 연결된 메모리 시스템의 제어방법에 있어서, 메모리 콘트롤러에서 제1 및 제2메모리 소자들에 각각 대응하는 독립된 제1 및 제2메모리 스케쥴링을 각각 작성한다. 이어서, 작성된 제1메모리 스케쥴링에 의해 제1메모리 소자를 제어하고, 제2메모리 스케쥴링에 의해 제2메모리 소자를 제어한다.
각 제어단계는 각 채널별로 서로 독립적인 커맨드, 어드레스 및 데이터를 전송한다. 또한, 제1 또는 제2메모리 소자가 전력소모가 큰 동작제어상태일 때, 상기 제2 또는 제1메모리 소자는 전력소모가 작은 동작제어상태로 제어하는 등의 전력소모 특성에 따라 메모리 스케쥴링을 최적화 시킬 수 있다.
본 발명의 메모리 콘트롤러는 기계적 독출이 가능한 기록매체와, 기록매체에 저장되고, 기계적 독출이 가능한 프로그램 코드를 구비한다. 프로그램 코드는 서로 독립된 제1 및 제2메모리 스케쥴링을 각각 작성하는 단계와, 제1메모리 스케쥴링에 의해 제1메모리 소자를 제어하는 단계와, 제2메모리 스케쥴링에 의해 제1메모리 소자를 제어하는 단계를 포함한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 구체적으로 설명하고자 한다. 이 실시예는 이 기술에 숙련된 자들이 본 발명을 실시할 수 있게 충분히 상세하게 기술한다.
도 3은 본 발명에 의한 메모리 시스템의 블록도를 나타낸다.
도 3을 참조하면, 메모리 시스템은 메모리 콘트롤러(30)와 복수의 메모리 소자들(32)을 포함한다. 메모리 콘트롤러(30)는 제1메모리 스케쥴링 블록(30a)과 제2메모리 스케쥴링 블록(30b)을 포함한다. 제1메모리소자(CM1)는 제1입출력 채널(CH1)을 통하여 메모리 콘트롤러(30)에 직접 연결된다. 제2메모리소자(CM2)는 제2입출력 채널(CH2)을 통하여 메모리 콘트롤러(30)에 직접 연결된다. 각 입출력 채널(CH1, CH2)은 커맨드 및 어드레스 버스(CAB1, CAB2)와 데이터 버스(DB1, DB2)를 각각 포함한다. 커맨드 및 어드레스 버스(CAB1, CAB2)는 단방향 버스이고, 데이터 버스(DB1, DB2)는 쌍방향 버스이다. 각 버스들은 일반적인 메모리 표준 버스 방식인 병렬버스 구조이거나 패킷전송을 위한 버스 구조이거나 시리얼 버스 구조 중 어느 하나로 구성할 수 있다.
도 4는 본 발명에 의한 메모리 콘트롤러(30)의 제어 흐름도를 나타낸다.
도 4를 참조하면, 메모리 콘트롤러(30)는 각 메모리 소자들의 트래픽 정보에 응답하여 제1 및 제2메모리 스케쥴링을 각각 서로 독립적으로 작성한다. 제1 메모리 스케쥴링 블록(30a)은 제1메모리 소자(CM1)에 관련된 메모리 스케쥴링을 작성하고 제2메모리 스케쥴링 블록(30b)은 제2메모리 소자(CM2)에 관련된 메모리 스케쥴링을 작성한다(S100). 이어서, 작성된 제1메모리 스케쥴링에 따라 제1메모리 소자 (CM1)를 제어하고(S102), 작성된 제2메모리 스케쥴링에 따라 제2메모리 소자(CM2)를 제어한다(S104). 메모리 콘트롤러(30)에서는 제1 및 제2메모리 스케쥴링을 작성함에 있어서 제1 및 제2메모리 소자의 동시 동작시 전체적인 전력소모를 고려하여 순간 전력소모량을 분산시키는 방향으로 최적화된 스케쥴링을 작성하는 것이 바람직하다. 예컨대, 제1메모리 소자(CM1)가 리드 또는 라이트 동작과 같이 소비전력이 많이 소모되는 동작을 수행하는 동안에 제2메모리 소자(CM2)는 디프 파워다운모드, 리프레시, 프리차지 등의 가급적 전력소모가 적게 소모되는 동작을 수행하도록 스케쥴링을 작성한다.
따라서, 메모리 콘트롤러(30)는 서로 독립적인 커맨드 및 어드레스 버스를 통하여 제1 및 제2메모리들(CM1, CM2)을 독립적으로 제어할 수 있게 된다.
도 5a 내지 도 5c는 본 발명에 의한 메모리 모듈의 다양한 조합 구조를 나타낸 도면들이다.
도 5a는 동일 메모리 사이즈 및 동일 데이터 입출력핀 수를 가진 DRAM 소자들로 메모리 모듈을 구성한 것으로 메모리 모듈(50)은 8개의 데이터 출력핀을 가진 1Gbits (128M X 8) DRAM 소자들(50a~50d)로 구성된다. 따라서, 메모리 모듈(50)의 사이즈는 각 개별 DRAM 소자들 마다 128MByte를 가지므로 총 512MByte이다. 4개의 DRAM 소자들(50a 내지 50d)은 각각의 채널을 통하여 메모리 콘트롤러에 서로 독립적으로 연결된다. 즉, 각 채널 별로 서로 독립된 커맨드 및 어드레스를 유지한다.
도 5b는 동일 메모리 사이즈이나 데이터 입출력핀 수가 다른 DRAM 소자들을 조합한 것으로, 메모리 모듈(52)은 8개의 데이터 출력핀을 가진 1Gbits(128M X 8) DRAM 소자 쌍(52a, 52f)과 4개의 데이터 출력핀을 가진 1Gbits(256M X 4) DRAM 소자 쌍(52b~52e)으로 구성된다. 따라서, 메모리 모듈(52)의 사이즈는 128MByte×6이므로 총 768MByte 사이즈를 가진다. DRAM 소자 쌍(52b 및 52c)(52d 및 50e)은 각각 다운로딩버스를 공유하고 각각 독립된 업로딩버스를 가진다. DRAM 소자 쌍(52b 및 52c)(52d 및 50e) 내의 DRAM 소자들은 커맨드 및 어드레스를 공유한다. 즉, 메모리 모듈(52)은 메모리 모듈(50)과 동일한 32 입출력핀수를 만족하면서 메모리 사이즈를 512MB에서 768MB로 다르게 구성할 수 있다. 메모리 소자(52a), DRAM 소자들 쌍(52b 및 52c),(52d 및 50e), 메모리 소자(52f)는 메모리 콘트롤러에 서로 독립적으로 연결된다.
이와 같이 데이터 입출력 핀 수가 서로 다른 DRAM 소자들을 조합하여 페이지 사이즈를 서로 다르게 구성하여 캐시 억세스 또는 전력 효율화 등을 최적화시킬 수 있다.
도 5c는 메모리 깊이(depth) 및 입출력핀 수가 서로 다른 DRAM 소자들을 조합한 것으로 메모리 모듈(54)은 8개의 데이터 입출력 핀을 가진 512Mbits(64M×8) DRAM 소자들(54a, 54f)과 4개의 데이터 입출력 핀을 가진 1Gbits(256M×4) DRAM 소자들(54b~54e)을 실장한다. 따라서, 메모리 모듈(52)의 사이즈는 (64MByte×2) + (128MByte×4)이므로 총 640MByte 사이즈를 가진다. DRAM 소자 쌍(54b 및 54c)(54d 및 54e)은 다운로딩버스를 공유하고 각각 독립된 업로딩버스를 가진다. 즉, 메모리 모듈(54)은 메모리 모듈(50)과 동일한 32 입출력 핀 수를 만족하면서 메모리 사이즈를 512MB에서 640MB로 다르게 구성할 수 있다. 메모리 소자(54a), DRAM 소자 쌍(54b 및 54c),(54d 및 54e), 메모리 소자(54f)는 메모리 콘트롤러에 서로 독립적으로 연결된다.
이와 같이 메모리 사이즈를 달리 함으로써 더 많은 데이터의 입출력이 요구되는 DRAM 소자의 메모리 사이즈를 더 크게 최적화시킬 수 있다.
또한, 도 5b 및 도 5c에서는 메모리 모듈의 총 메모리 사이즈가 2의 자승의 법칙에 따르는 예컨대 512MByte(29) 또는 1GByte(210)의 사이즈를 가지지 않고 768MB 도는 640MB 등의 다양한 사이즈로 구성할 수 있다. 메모리 모듈에 실장되는 칩수도 4개와 8개 사이인 6개의 칩들로 구성할 수 있다. 그러므로, 응용분야의 시스템 특성에 가장 적합한 크기, 전력 또는 열적 환경 등에 맞는 메모리 모듈의 설계 자유도가 커진다.
도 6a 및 도 6b는 본 발명에 의한 계층적 중계 링크 구조를 가진 메모리 모듈의 실시예를 나타낸다. 도 6a는 싱글 메모리 소자를 사용한 예를 나타내고 도 6b는 멀티 칩 모듈을 사용한 예를 나타낸다.
도 6a의 경우는 모듈 기판의 면적이 DRAM 소자들을 8개 이상은 충분히 수용 가능하고 약간의 여부 공간이 있으나 16개의 DRAM 소자들을 수용하기에는 좁은 면적을 가진 경우에 여유 공간을 최대한 사용하여 메모리 모듈을 구성한 예를 나타낸다.
도 6a를 참조하면, 메모리 모듈(60)은 프라이머리 랭크(P-RANK)에 8개의 프라이머리 메모리 소자들을 배치하고, 세컨더리 랭크(S-RANK)에 4개의 세컨더리 메모리 소자들을 배치한 것이다. 프라이머리 랭크에 배치된 4개의 메모리 소자들(62) 은 각각 2개씩 공통으로 다운 로딩 버스(68)에 각각 연결되고, 개별적인 업 로딩 버스(69)에 각각 연결된다. 프라이머리 랭크에 배치된 4개의 다른 메모리 소자들(64)은 각각 2개씩 공통으로 다운 로딩 버스(68)에 각각 연결되고, 개별적인 업 로딩 버스(69)에 각각 연결된다. 또한, 각 메모리 소자들(64)은 각각 중계버스(70)를 통하여 세컨더리 랭크에 배치된 4개의 메모리 소자들(66)에 각각 연결된다. 다운로딩 버스(68)는 커맨드 및 어드레스 패킷과 라이트 데이터 패킷을 전송한다. 업 로딩 버스(69)는 리드 데이터 패킷을 전송한다. 다운 로딩 버스(68)을 공유하는 한 쌍의 메모리 소자들은 커맨드 및 어드레스를 공유한다. 따라서, 메모리 모듈(60)은 각각 독립된 4개의 채널(CH1~CH4)을 구성한다. 채널(CH2, CH3)은 계층적 중계링크 구조로 구성되고, 채널(CH1, CH4)은 단일 층으로 구성된다.
도 6b의 경우는 모듈 기판의 면적이 DRAM 소자들을 8개 정도로 타이트하게 제한된 면적을 가지며, 8개 이상은 충분히 수용할 열적 환경을 가지고 있으나 16개의 DRAM 소자들을 수용하기에는 제한된 열적 환경을 가진 경우에 주어진 열적 조건 내에서 수용 가능한 메모리 모듈을 구성한 예를 나타낸다. 도 6a에 도시된 예와 비교하여 채널(CH2, CH3)의 계층적 중계링크 구조의 메모리 소자들을 멀티 칩 모듈(72)로 대치한 것만 다르고 나머지 구성은 동일하므로 동일 부호로 처리한다. 멀티 칩 모듈(72)의 하층 메모리(72a)는 프라이머리 메모리 소자로 제공되고, 상층 메모리(72b)는 세컨더리 메모리 소자로 제공된다.
도 7은 도 6a에 도시한 메모리 모듈의 중계링크 구조의 리드 동작을 설명하기 위한 동작 타이밍을 나타낸다. 도 8 내지 도 11은 각 동작에 따른 커맨드 및 어 드레스 패킷의 구성을 나타낸다.
메모리 콘트롤러는 MRS 커맨드를 통하여 프라이머리 메모리 소자(64) 및 세컨더리 메모리 소자(66)을 주어진 동작 스피드에 맞추어 컬럼 레이턴시 6클록으로 설정한다. 메모리 콘트롤러는 커맨드 및 어드레스 패킷을 다운로딩 버스(68)를 통하여 메모리 모듈(60)에 하달한다.
프로토콜 메모리 소자(64)는 다운로딩버스를 통해 메모리 콘트롤러로부터 도 8의 커맨드 및 어드레스 패킷(702)을 도 7의 T1의 선단에서 접수한다. 패킷(702)의 BURST2의 PIN1~PIN3에 대응하는 CS0~CS2 필드 값이 000 이므로 패킷(702)의 BURST1 컬럼의 PIN0~PIN3의 OP0~OP3 필드의 "0000" 커맨드인 ACT 커맨드를 수행한다. 여기서, OP0~OP3 필드의 값은 4비트로 총 16가지의 커맨드 조합을 나타낸다. 즉, 프라이머리 메모리 소자(64)의 해당 뱅크의 로우 어드레스를 활성화시켜서 액티브된 로우에 관련된 복수의 메모리 셀들로부터 셀 데이터를 가져다가 센스증폭기로 옮겨 놓는다. 이와 함께, 프라이머리 메모리 소자(64)는 도 7의 T4의 선단에서 RBUS를 통해 세컨더리 메모리 소자(66)에 도 9의 커맨드 및 어드레스 패킷(704)을 중계한다. 패킷(704)은 패킷(702)의 BURST7~12에 실린 패킷 데이터를 그대로 포함한다.
세컨더리 메모리 소자(66)는 중계된 패킷(704)을 해석한다. 패킷(704)의 BURST2의 PIN1~PIN3에 대응하는 RS0~RS2 필드 값이 001 이므로 패킷(704)의 OP0~OP3 필드의 0000 커맨드인 ACT 커맨드를 수행한다. 세컨더리 메모리(66)의 해당 뱅크의 로우 어드레스를 활성화시켜서 액티브된 로우에 관련된 복수의 메모리 셀들로부터 셀 데이터를 가져다가 센스증폭기로 옮겨 놓는다.
도 7의 T7의 선단에서 프라이머리 메모리 소자(64)는 도 10의 커맨드 및 어드레스 패킷(706)을 접수한다. CS0~CS2 필드 값이 000 이므로 OP0~OP3 필드의 1000 커맨드인 READ 커맨드를 수행한다. 즉, 프라이머리 메모리 소자(64)의 해당 뱅크의 센스증폭기에 센싱된 셀 데이터들 중 해당 어드레스의 데이터를 데이터 버퍼를 통해 출력버퍼로 전송한다. 출력버퍼는 모드레지스터에 설정된 컬럼 레이턴시 이후에 리드 데이터 패킷(710)을 외부로 출력한다.
따라서, 설정된 6클록 CAS 레이턴시 이후인 T13의 선단에서 업 로딩버스(69)를 통해 프라이머리 메모리 소자(64)로부터 리드 데이터 패킷(710)이 메모리 콘트롤러로 전달된다.
도 7의 T10의 선단에서 세컨더리 메모리 소자(66)는 도 12의 커맨드 및 어드레스 패킷(708)을 접수한다. 패킷(708)의 RS0~RS2 필드 값이 001 이므로 OP0~OP3 필드의 0001 커맨드인 READ 커맨드를 수행한다. 즉, 세컨더리 메모리 소자(66)의 해당 뱅크의 센스증폭기에 센싱된 셀 데이터들 중 해당 어드레스의 데이터를 데이터 버퍼를 통해 출력버퍼로 전송한다. 출력버퍼는 모드레지스터에 설정된 6클록 CAS 레이턴시 이후에 중계버스(70)를 통해 리드 데이터 패킷(712)을 프라이머리 메모리(64)로 전달한다.
프라이머리 메모리(64)에서는 전달된 리드 데이터 패킷(712)을 업 로딩 버스(69)를 통하여 메모리 콘트롤러에 중계한다. 즉, 프라이머리 메모리(64)의 중계 지연시간(~3ns)이 지난 T18의 선단에서 메모리 콘트롤러로 전달된다.
예시한 바와 같이 본 발명에서는 서로 독립된 커맨드 및 어드레스 체계와 계층적 중계링크 구조를 조합하여 메모리 모듈의 설치 공간 또는 열적 조건 등의 제한적 요인에 의해 최대로 수용 가능한 범위 내에서 메모리 모듈을 최적으로 구성할 수 있으므로 메모리 시스템의 공간 활용을 극대화 시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 패킷 형태의 어드레스, 커맨드 및 데이터를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상술한 바와 같이 본 발명에서는 메모리 콘트롤러에서 메모리 소자들을 각각 서로 독립된 커맨드 및 어드레스로 인터페이스 함으로써 적용 분야에 최적의 메모리 시스템을 자유롭게 설계할 수 있는 환경을 제공할 수 있다. 따라서, 시스템 설계자는 가장 경제적이고 효율적인 메모리 설계를 할 수 있게 된다.
Claims (12)
- 커맨드 및 어드레스 버스와 데이터 버스를 포함하는 복수의 입출력 채널들을 가진 메모리 콘트롤러;상기 복수의 입출력 채널들 중 각각 대응하는 입출력 채널을 통하여 상기 메모리 콘트롤러에 직접 연결된 복수의 제1메모리 소자들을 포함하고,상기 메모리 콘트롤러는 상기 복수의 입출력 채널들을 통하여 상기 복수의 제1 메모리 소자들 각각에 서로 독립적인 커맨드 및 어드레스와 데이터를 전송하여 서로 독립적으로 동작시키고, 상기 복수의 제1 메모리 소자들 중 일부가 전력소모가 큰 동작 제어 상태일 때 상기 복수의 제1 메모리 소자들 중 나머지는 전력소모가 작은 동작제어상태로 제어하는 것을 특징으로 하는 메모리 시스템.
- 제1항에 있어서, 상기 메모리 시스템은상기 복수의 제1메모리 소자들 각각에 적어도 하나 이상 종속적으로 연결된 복수의 제2메모리 소자들을 더 구비하고,상기 복수의 제1메모리 소자 각각은 연결된 제2메모리 소자와 상기 메모리 콘트롤러 사이의 커맨드 및 어드레스와 데이터 등을 중계하는 것을 특징으로 하는 메모리 시스템.
- 제2항에 있어서, 상기 복수의 제1 및 제2 메모리 소자들은n(= 2m ×q) 비트 데이터 버스 폭을 가지며, 2m 개 실장 면적과 2m+1개 실장 면적 사이의 면적을 가진 모듈기판 상에 실장되고, 상기 제1 및 제2메모리 소자들의 개수는 2m와 2m+1의 사이의 개수이고, 이들 중 2m개는 상기 제1메모리 소자들로 프라이머리 랭크에 배치되고, 나머지는 상기 제2메모리 소자들로 세컨더리 랭크에 배치되는 것을 특징으로 하는 메모리 시스템.
- 제2항에 있어서, 상기 제1 및 제2메모리 소자들은n(= 2m × q) 비트 데이터 버스 폭을 가지며, 2m+1개 미만의 열적 제한 환경을 가진 모듈기판 상에 실장되고, 상기 제1 및 제2메모리 소자들의 개수는 2m와 2m+1의 사이의 개수이고, 이들 중 2m개는 상기 제1메모리 소자들로 프라이머리 랭크에 배치되고, 나머지는 상기 제2메모리 소자들로 세컨더리 랭크에 배치되는 것을 특징으로 하는 메모리 시스템.
- 제1항에 있어서, 상기 제1 및 제2메모리 소자들은메모리 사이즈, 뱅크의 수, 깊이, 페이지 사이즈, 버스트 길이 들 중 적어도 어느 하나가 서로 다른 것을 특징으로 하는 메모리 시스템.
- 하나의 메모리 콘트롤러에 제1 및 제2 메모리 소자들이 제1 및 제2 채널을 통하여 각각 연결된 메모리 시스템의 제어방법에 있어서,상기 메모리 콘트롤러에서 제1 및 제2 메모리 소자들에 각각 대응하는 독립된 제1 및 제2메모리 스케쥴링을 각각 작성하는 단계;상기 제1 메모리 스케쥴링에 의해 상기 제1 메모리 소자를 제어하는 단계; 및상기 제2 메모리 스케쥴링에 의해 상기 제1 메모리 소자를 제어하는 단계를 포함하고,상기 제1 또는 제2 메모리 소자가 전력소모가 큰 동작 제어 상태일 때, 상기 제2 또는 제1 메모리 소자는 전력소모가 작은 동작제어상태로 제어하는 메모리 시스템의 제어방법.
- 제6항에 있어서, 상기 각 제어단계는각 채널별로 서로 독립적인 커맨드, 어드레스 및 데이터를 전송하는 것을 특징으로 하는 메모리 시스템의 제어방법.
- 삭제
- 기계적 독출이 가능한 기록매체; 및상기 기록매체에 저장되고, 기계적 독출이 가능한 프로그램 코드를 구비하고,상기 프로그램 코드는서로 독립된 제1 및 제2메모리 스케쥴링을 각각 작성하는 단계;상기 제1메모리 스케쥴링에 의해 제1메모리 소자를 제어하는 단계; 및상기 제2메모리 스케쥴링에 의해 제1메모리 소자를 제어하는 단계를 포함하며,상기 제1 또는 제2 메모리 소자가 전력소모가 큰 동작제어상태일 때, 상기 제2 또는 제1 메모리 소자는 전력소모가 작은 동작제어상태로 제어되도록 상기 제1 및 제2 메모리 스케쥴링을 작성하는 메모리 콘트롤러.
- 삭제
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060002500A KR100750183B1 (ko) | 2006-01-10 | 2006-01-10 | 메모리 시스템 및 그 제어방법 |
US11/649,477 US20070162689A1 (en) | 2006-01-10 | 2007-01-04 | Memory controller, memory module and memory system having the same, and method of controlling the memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060002500A KR100750183B1 (ko) | 2006-01-10 | 2006-01-10 | 메모리 시스템 및 그 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070074679A KR20070074679A (ko) | 2007-07-18 |
KR100750183B1 true KR100750183B1 (ko) | 2007-08-17 |
Family
ID=38234076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060002500A KR100750183B1 (ko) | 2006-01-10 | 2006-01-10 | 메모리 시스템 및 그 제어방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070162689A1 (ko) |
KR (1) | KR100750183B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101008923B1 (ko) | 2010-01-15 | 2011-01-17 | 주식회사 노바칩스 | 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9331483B2 (en) | 2009-12-17 | 2016-05-03 | Battelle Memorial Institute | Thermal energy storage apparatus, controllers and thermal energy storage control methods |
US8590802B2 (en) * | 2009-12-17 | 2013-11-26 | Battelle Memorial Institute | Water heater control module |
US8392650B2 (en) | 2010-04-01 | 2013-03-05 | Intel Corporation | Fast exit from self-refresh state of a memory device |
US8484410B2 (en) * | 2010-04-12 | 2013-07-09 | Intel Corporation | Method to stagger self refreshes |
KR101854251B1 (ko) * | 2010-11-30 | 2018-05-03 | 삼성전자주식회사 | 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030043409A (ko) * | 2001-11-28 | 2003-06-02 | 삼성전자주식회사 | 두 개의 데이터 채널들을 가지는 메모리 모듈을 포함하는메모리 시스템 |
WO2003060722A1 (fr) | 2002-01-09 | 2003-07-24 | Renesas Technology Corp. | Système de mémoire et carte mémoire |
KR20040010493A (ko) * | 2003-12-30 | 2004-01-31 | 이효승 | 고속 메모리를 사용한 멀티 채널 컨트롤러 장치 및 방법 |
KR20050090256A (ko) * | 2004-03-08 | 2005-09-13 | 삼성전자주식회사 | 데이터 버스 및 커맨드/어드레스 버스를 통해 전송되는신호의 충실도를 향상시킬 수 있는 메모리 모듈 및 이를포함하는 메모리 시스템 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5036493A (en) * | 1990-03-15 | 1991-07-30 | Digital Equipment Corporation | System and method for reducing power usage by multiple memory modules |
US6535450B1 (en) * | 2000-08-18 | 2003-03-18 | Micron Technology, Inc. | Method for selecting one or a bank of memory devices |
US7308524B2 (en) * | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
US7269088B2 (en) * | 2005-05-17 | 2007-09-11 | Intel Corporation | Identical chips with different operations in a system |
-
2006
- 2006-01-10 KR KR1020060002500A patent/KR100750183B1/ko not_active IP Right Cessation
-
2007
- 2007-01-04 US US11/649,477 patent/US20070162689A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030043409A (ko) * | 2001-11-28 | 2003-06-02 | 삼성전자주식회사 | 두 개의 데이터 채널들을 가지는 메모리 모듈을 포함하는메모리 시스템 |
WO2003060722A1 (fr) | 2002-01-09 | 2003-07-24 | Renesas Technology Corp. | Système de mémoire et carte mémoire |
KR20040010493A (ko) * | 2003-12-30 | 2004-01-31 | 이효승 | 고속 메모리를 사용한 멀티 채널 컨트롤러 장치 및 방법 |
KR20050090256A (ko) * | 2004-03-08 | 2005-09-13 | 삼성전자주식회사 | 데이터 버스 및 커맨드/어드레스 버스를 통해 전송되는신호의 충실도를 향상시킬 수 있는 메모리 모듈 및 이를포함하는 메모리 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101008923B1 (ko) | 2010-01-15 | 2011-01-17 | 주식회사 노바칩스 | 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20070162689A1 (en) | 2007-07-12 |
KR20070074679A (ko) | 2007-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100732194B1 (ko) | 메모리 모듈과 메모리 시스템 및 그 제어방법 | |
KR100750183B1 (ko) | 메모리 시스템 및 그 제어방법 | |
Ganesh et al. | Fully-buffered DIMM memory architectures: Understanding mechanisms, overheads and scaling | |
KR100588599B1 (ko) | 메모리 모듈 및 메모리 시스템 | |
JP4742347B2 (ja) | ディジーチェーン型メモリトポロジのメモリコマンド遅延バランシング | |
CN102576565B (zh) | 利用存储模块上的分布式字节缓冲器的***和方法 | |
JP5040660B2 (ja) | 記憶領域割当システム及び方法と制御装置 | |
CN108701108A (zh) | 具有窄带宽中继器通道的存储器子*** | |
US20140019705A1 (en) | Bridging device having a configurable virtual page size | |
US7463535B2 (en) | Memory modules and memory systems having the same | |
US20110289269A1 (en) | Memory system and method having point-to-point link | |
JP4527643B2 (ja) | メモリ装置及びメモリ装置の動作方法 | |
CN101004674B (zh) | 数据处理***和包括数据处理***的高清晰度电视机 | |
CN102541769A (zh) | 一种存储器接口访问控制方法及装置 | |
US8539196B2 (en) | Hierarchical organization of large memory blocks | |
JP4828037B2 (ja) | 半導体メモリ装置及びデータ伝送方法 | |
TWI451260B (zh) | 記憶體系統及方法 | |
TWI449043B (zh) | 高速記憶體系統 | |
EP0831402A1 (en) | Dynamically configuring timing to match memory bus loading conditions | |
CN106716384A (zh) | 一种数据混洗的装置及方法 | |
US20220253240A1 (en) | Cascaded memory system | |
US10747693B2 (en) | Semiconductor device with a time multiplexing mechanism for size efficiency | |
KR100717113B1 (ko) | 반도체 메모리 모듈 및 반도체 메모리 시스템 | |
KR102468698B1 (ko) | 메모리 장치 | |
US7729198B2 (en) | Synchronous memory circuit |
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 | ||
G170 | Publication of correction | ||
LAPS | Lapse due to unpaid annual fee |