KR100763352B1 - 전용 데이터 및 컨트롤 버스들을 사용하는 메모리 시스템, 모듈들, 컨트롤러들 및 방법들 - Google Patents
전용 데이터 및 컨트롤 버스들을 사용하는 메모리 시스템, 모듈들, 컨트롤러들 및 방법들 Download PDFInfo
- Publication number
- KR100763352B1 KR100763352B1 KR20060013956A KR20060013956A KR100763352B1 KR 100763352 B1 KR100763352 B1 KR 100763352B1 KR 20060013956 A KR20060013956 A KR 20060013956A KR 20060013956 A KR20060013956 A KR 20060013956A KR 100763352 B1 KR100763352 B1 KR 100763352B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- buses
- control
- dedicated
- serial data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
- G11C5/063—Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
메모리 시스템은 적어도 하나의 메모리 모듈 상에 세트들로 배열되는 복수개의 메모리 디바이스들을 구비하며, 각 세트는 적어도 하나의 메모리 디바이스를 포함한다. 상기 메모리 시스템은 각각의 상기 메모리 디바이스 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 데이터 및 컨트롤 버스들을 구비한다. 상기 전용 직렬 데이터 및 컨트롤 버스들은 상기 메모리 컨트롤러로부터 상기 각각의 메모리 디바이스들에 비(非)버퍼되는 억세스를 제공하도록 형성될 수 있다.
메모리, 모듈, 데이터, 포인트, 커맨드, 어드레스, 네트 토폴로지
Description
본 발명의 상세한 설명에서 사용되는 도면을 보다 충분히 이해하기 위하여, 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 UDIMM을 나타내는 도면이다.
도 2는 종래의 RDIMM을 나타내는 도면이다.
도 3은 본 발명의 실시예들에 따른 UDIMM 및 메모리 컨트롤러를 나타내는 도면이다.
도 4는 본 발명의 다른 실시예에 따른 메모리 디바이스를 나타내는 도면이다.
도 5는 본 발명의 다른 실시예에 따른 도 3의 UDIMM의 예시적인 동작을 나타내는 타이밍도이다.
도 6은 본 발명의 추가적인 실시예에 따른 UDIMM과 메모리 컨트롤러를 나타내는 도면이다.
도 7은 본 발명의 추가적인 실시예에 따른 RDIMM과 메모리 컨트롤러를 나타 내는 도면이다.
도 8 및 도 9는 본 발명의 다른 실시예에 따른 다수의 UDIMM들의 배열 및 메모리 컨트롤러를 나타내는 도면이다.
본 발명은 메모리 디바이스들 및 그의 구동방법들에 관한 것으로서, 특히, 메모리 모듈 시스템들 및 그의 구동방법들에 관한 것이다.
개인용 컴퓨터들, 노트북 컴퓨터들 및 다른 디바이스들에 사용되는 종래의 메모리 디바이스들은 전형적으로 모듈방식으로 구성된다. 특히, 데스크탑 또는 노트북 컴퓨터는 하나 또는 그 이상의 메모리 모듈을 포함할 수 있으며, 상기 메모리 모듈들 각각은 상기 컴퓨터의 마더보드(motherboard) 상의 버스 커넥터와 상응하도록 형성되는 커넥터를 더 포함하는 회로기판(예; PCB) 상에 탑재된 복수의 메모리 디바이스 칩들을 포함한다. 종래의 메모리 모듈들은 UDIMM(Unbuffered Dual In-line Memory Module), RDIMM(Registered Dual In-line Memory Module)및 FBDIMM(Fully Buffered Dual In -line Memory Module)같은 여러 가지의 다른 형태들을 가질 수 있다.
도 1은 종래의 UDIMM(100)을 나타낸다. 상기 UDIMM(100)은 회로기판(110) 및 그 위에 배치된 복수의 메모리 디바이스(120)들을 포함한다. 상기 메모리 디바이스 (120)들은 UDIMM(100)의 외부의 메모리 컨트롤러(160)에 의해서 제어된다. 도시되는 바와 같이, 각각의 양방향(bidirectional) 데이터 버스들(150)은 각각의 메모리 디바이스들(120)과 상기 메모리 컨트롤러(160) 사이를 확장하는 반면에, 상기 메모리 컨트롤러(160)와 상기 메모리 디바이스(120)들 각각은 컨트롤/어드레스(C/A) 버스(130) 및 클락 라인(140)에 공통으로 커플될 수 있다. 이와 같은 배치에서, 상기 데이터 버스들(150)보다 상기 C/A 버스(130)에 더 많은 메모리 디바이스들이 커플된다. 결과적으로, 상기 C/A 버스(130) 및 상기 클락 버스(140)는 상기 데이터 버스들(150)보다 큰 부하를 가질 수 있다.
메모리 컨트롤러와 메모리 모듈 사이의 컨트롤/어드레스 라인 부하를 줄이기 위한 종래의 한 기술은 상기 메모리 모듈 상의 컨트롤/어드레스, 클락 및 데이터 신호들을 버퍼하여 메모리 컨트롤러와 메모리 모듈 사이에 포인트 대 포인트(point-to-point) 링크(link)들을 제공하는 것이다. 예를 들어, 도 2는 클락 및 C/A 신호 버퍼을 제공하는 종래의 RDIMM(200)을 나타낸다. 상기 RDIMM(200)은 회로기판(210) 상에 배치되는 복수개의 메모리 디바이스(220)들, C/A 버퍼(222) 및 클락 버퍼(예; 위상 동기 루프 회로, PLL)(224)를 포함한다. UDIMM과 유사하게, 각각의 데이터 버스들(250)은 각각의 상기 메모리 디바이스들(220)과 외부 메모리 컨트롤러(260) 사이에 확장된다. 하나의 C/A 버스(230)은 상기 메모리 컨트롤러(260)와 상기 C/A 버퍼(222) 사이에 확장된다. 상기 모듈(200) 상의 C/A 서브(sub) 버스(226)는 상기의 C/A 버퍼(222)와 상기 메모리 디바이스(220)들 커플(couple)한다. 유사하게, 하나의 클락 버스(240)는 상기 메모리 컨트롤러(260)와 상기 클락 버퍼(224) 사이를 확장하고, 그리고, 클락 서브 버스(228)는 상기 메모리 디바이스(220)에 상기 클락 버퍼(224)를 커플한다. 이와 같은 배치에서, 상기 데이터 버스(250)들, 상기 C/A 버스(230) 및 상기 클락 버스(240)의 부하(loading)는 개략적으로 동등할 수도 있으나, 상기 모듈(200)의 상기 서브 버스들(226, 228)은 상기 데이터 버스들(250)에 비해 상대적으로 더 큰 부하를 가질 수 있다.
본 발명의 목적은 커맨드/어드레스 버스가 데이터 버스와 실질적으로 동일한 부하를 가지는 메모리 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 상기 메모리 시스템의 구동방법을 제공하는 데 있다.
본 발명의 실시예들에서, 메모리 시스템은 적어도 하나의 메모리 모듈 상에 세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들을 구비한다. 상기 시스템은 각각의 상기 메모리 디바이스 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 데이터 및 컨트롤 버스들을 더 구비한다. 상기 전용 직렬 데이터 및 컨트롤 버스들은 상기 메모리 컨트롤러로부터 상기 각각의 메모리 디바이스들에 비(非)버퍼되는 억세스를 제공하도록 형성될 수 있다.
각 메모리 모듈은 상기 메모리 컨트롤러에 커플되도록 형성되는 데이터 및 컨트롤 버퍼를 포함할 수 있다. 상기 적어도 하나의 메모리 모듈은 복수개의 메모리 모듈들을 구비할 수 있으며, 상기 각 메모리 디바이스 세트는 다수개의 상기 모듈들로부터의 디바이스들을 포함할 수 있다. 각 메모리 디바이스는 관련되는 상기 컨트롤 버스에 커플되며, 상기 컨트롤 버스를 통하여 수신되는 패킷들로부터 어드레스 및 커맨드 데이터를 디코딩하도록 형성되는 패킷 디코더를 구비할 수 있다. 상기 시스템은 각각의 상기 메모리 디바이스 세트들을 상기 메모리 컨트롤러에 커플되도록 형성되는 각각의 클락 라인들을 더 구비할 수 있다. 상기 전용 직렬 데이터 및 컨트롤 버스들은 차동형(differential) 또는 싱글엔드형(single-ended) 버스들을 포함할 수 있다. 상기 컨트롤 버스들은 어드레스 및 커맨드 정보를 전송하도록 형성될 수 있다. 각 컨트롤 버스가 하나 이상의 직렬 버스를 구비할 수 있다. 상기 데이터 버스들이 양방향(bidirectional) 또는 일방향(unidirectional)일 수 있다.
본 발명의 다른 실시예들에 따르면, 메모리 시스템은 적어도 하나의 메모리 모듈 상에 세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들; 및 각각의 상기 메모리 디바이스 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 데이터 및 컨트롤 버스들을 구비한다. 상기 전용 직렬 데이터 및 컨트롤 버스들은 동일한 네트 토폴러지(net topology)를 가진다. 동일한 수의 상기 메모리 디바이스들이 상기 전용 직렬 데이터 및 컨트롤 버스들 각각에 커플될 수 있다. 상기 메모리 디바이스 세트들은 하나 또는 다수의 메모리 디바이스들을 포함할 수 있다.
본 발명의 추가적인 실시예에 의하면, 메모리 모듈은 세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들; 및 각각의 상기 메모리 디바이스 세트들을 메모리 컨트롤러에 커플하도록 형성되는 각각의 직렬 데이터 및 컨트롤 버스들의 전용 쌍을 구비한다. 각각의 세트는 하나의 메모리 디바이스 또는 다수의 메모리 디바이스들을 포함할 수 있다. 각각의 상기 전용 쌍에서의 상기 데이터 및 컨트롤 버스들은 동일한 네트 토폴러지(net topology)를 가질 수 있다. 각각의 상기 전용 쌍에서의 상기 데이터 및 컨트롤 버스들은 동일한 수의 메모리 디바이스들에 연결될 수 있다.
본 발명의 다른 실시예는 세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들을 구비한느 메모리 모듈을 제공한다. 상기 메모리 모듈은 메모리 컨트롤 버퍼, 각각의 상기 메모리 디바이스 세트들을 상기 메모리 컨트롤 버퍼에 커플하는 각각의 전용 직렬 데이터 버스들 및 각각의 상기 메모리 디바이스 세트들을 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 컨트롤 버스들 구비한다. 각각의 세트는 하나의 메모리 디바이스 또는 다수의 메모리 디바이스들을 포함할 수 있다. 각각의 상기 전용 쌍에서의 상기 데이터 및 컨트롤 버스들은 동일한 네트 토폴러지(net topology)를 가질 수 있다. 상기 전용 직렬 데이터 및 컨트롤 버스들 각각은 상기 메모리 컨트롤러를 동일한 수의 메모리 디바이스들에 연결할 수 있다. 상기 데이터 버스들은 양방향(bidirectional) 또는 일방향(unidirectional)일 수 있다.
본 발명의 추가적인 실시예는 적어도 하나의 메모리 모듈 상의 복수개의 메모리 디바이스들을 구동하는 방법을 제공한다. 각각의 전용 직렬 데이터 버스들 및 직렬 컨트롤 버스들을 사용하여, 각각의 메모리 디바이스들의 세트들은 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 직접적으로 커플된다. 상기 각각의 전용 직렬 데이터 및 직렬 컨트롤 버스들 통하여 데이터 및 컨트롤 신호들이 제공된다. 상기 각각의 전용 직렬 데이터 버스들 및 직렬 컨트롤 버스들을 사용하여, 각각의 메모리 디바이스들의 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 직접적으로 커플하는 것은 각각의 직렬 데이터 및 컨트롤 버스들의 전용 쌍을 이용하여, 각각의 상기 메모리 디바이스 세트들을 메모리 컨트롤러에 커플하는 것을 포함할 수 있다. 상기의 메모리 디바이스들과 상기 메모리 컨트롤러 사이의 신호들은 상기 적어도 하나의 메모리 모듈 상의 각각의 메모리 컨트롤 버퍼들을 통하여 버퍼된다.
본 발명은 본 발명의 실시예들이 도시되는 첨부 도면들을 참조하여 더욱 완전하게 기술된다. 그러나, 본 발명은 다양한 다른 형태로 구현될 수 있으며, 여기에 설명되는 실시예에 한정하여 해석되지는 않는다. 오히려, 이러한 실시예들은 이러한 개시가 보다 철저하고 완전하여지고, 당업자에게 발명의 범위를 충분히 전달하기 위하여 제공된다. 상기 도면들에서, 요소들의 크기들 또는 형태들은 명확화를 위하여 이상적이거나 과장될 수 있다.
한 요소가 다른 구성요소에 "연결되는" 또는 "커플(couple)되는" 것으로 언급될 때는, 다른 요소에 직접적으로 연결 또는 커플되거나, 혹은 매개요소가 존재할 수 있다는 것은 이해될 것이다. 반면에, 한 요소가 다른 요소에 "직접적으로 연결되는" 또는 "직접적으로 커플(couple)되는" 것으로 언급될 때는, 매개요소가 존재하지 않는다. 전체적으로 동일한 참조번호는 동일한 구성요소를 언급한다. 본 명세서에서 사용되는 바와 같은, "및/또는" 용어는 관련되어 리스트(list)된 품목의 하나 또는 그 이상의 어떠한 조합 및 모든 조합을 포함한다.
본 명세서에서, 제1, 제2, 제3 등의 용어들이 다양한 요소들, 구성요소들 및/또는 섹션들을 기술하기 위하여 사용되더라도, 이러한 요소들, 구성요소들 및/또는 섹션들은 이러한 용어들에 의해 제한되지 않는다. 이러한 용어들은 단지 하나의 요소, 구성요소 또는 섹션을 다른 요소, 영역(region) 또는 섹션으로부터 구분하기 위하여 사용된다. 그래서, 다음에 논의되는 제1 요소, 구성요소 또는 섹션은, 본 발명의 사상에서 벗어나지 않게, 제2 요소, 구성요소 또는 섹션으로 언급될 수 있다.
본 명세서에서 사용되는 전문용어들은 단지 특별의 실시예들을 기술하기 위한 목적이며, 본 발명의 한정을 의도하지는 않는다. 본 명세서에서 사용되는 바와 같이, 문맥이 명확하게 다른 것을 나타내지 않는다면, 상기 단수형태들은 복수형태들을 포함하도록 의도된다. 그리고, "구비하다" 및/또는 "구비하는" 용어는, 본 명세서에서 사용될 때, 언급되는 특성, 정수들, 단계들, 동작들, 요소들 및/또는 구 성요소들의 존재를 상술하지만, 하나 혹은 그 이상의 다른 특성, 정수들, 단계들, 동작들, 요소들, 구성요소들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지는 않는다.
다르게 정의되지 않는다면, 본 명세서에서 사용되는 모든 용어들(기술적 및 과학적 용어들 포함)은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의하여 공통적으로 이해되는 의미를 지닌다. 공통적으로 사용되는 사전들에서 정의되는 것과 같은 용어들은, 관련 기술분야의 문맥에서의 그들의 의미와 일관되는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의되지 않는다면 이상적 혹은 과도하게 형식적으로 해석되지 않는다는 것은 이해될 것이다.
본 발명의 실시예들은, 메모리 아키텍쳐(architecture)에서의 데이터 및 컨트롤(예;커맨드/어드레스) 라인들의 실질적으로 균형된 부하가 각각의 메모리 디바이스들 또는 메모리 모듈(예; UDIMM, RDIMM 또는 FBDIMM)의 메모리 디바이스들의 그룹들을 메모리 컨트롤 회로(예; 외부의 메모리 컨트롤러 및 상기 모듈 상의 버퍼 회로)에 커플하도록 직렬 데이터 및 컨트롤(예; 커맨드/어드레스) 버스의 전용 쌍을 사용함으로써 이루어질 수 있다는 인식으로부터 기인(基因)되는데, 주어진 메모리 디바이스 혹은 메모리 디바이스들 각각의 그룹에 연결되는 상기 직렬 데이터 및 컨트롤 버스들은 동일한 네트(net) 토폴러지(topology)를 가진다. 예를 들면, 상기 직렬 데이터 및 컨트롤 버스들의 신호 패스(path)들(예; 싱글엔드형(single-ended) 신호 라인들 또는 차동형(differential) 신호 라인 쌍들)은 거기에 연결되는 동일한 수의 부하를 가진다. 그래서, 실시예들에서, 비정상적으로 많은 수들의 신호 라인들을 사용하지 않고, 보다 복잡한 포인트 대 포인트(point-to-point) 버퍼 솔루션(buffered solution)에 의하여 제공되는 것과 유사하게, 상대적으로 간단하가나 덜 비싼 UDIMM 형태들이 모듈연결들에 대한 메모리 컨트롤러의 균형된 부하를 이루기 위하여 사용될 수 있다. 추가적인 실시예들에서, 버퍼된 솔루션들의 성능특성은 또한 향상될 수 있다.
본 명세서에서 사용되는 "컨트롤 버스"는 스트로브 신호들(예; CAS, RAS 등), 인에이블 신호들(예; WE, RE 등)과 같은 메모리 컨맨드 신호들 및 어드레스 신호들을 전달하도록 형성되는 버스이다. 데이터 버스는 데이터를 메모리 기억 장소들에 저장되는 데이터 또는 메모리 저장 장소들로부터 추출되는 데이터를 이송하도록 형성된다. 컨트롤 및 데이터 버스들은 일방향(unidirectional) 또는 양방향(bidirectional)일 수 있으며, 싱글엔드형(single-ended) 혹은 차동형(differential)일 수 있다. 본 명세서에서 사용되는 바와 같이, "버스"는 다수의 신호 패스들, 예를 들면, 다수의 데이터 채널들 및 다수의 컨트롤 채널들을 포함할 수 있다는 것은 이해될 것이다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다.
도 3은 본 발명의 실시예들에 따른 UDIMM(300)및 메모리 컨트롤러(360)를 나타낸다. 상기 UDIMM(300)은 회로기판(310)(예; PCB)을 포함하며, 상기 회로기판(310) 상에는 복수의 메모리 디바이스(300)가 배치된다. 각각의 메모리 디바이스(320)들은 각각의 직렬 데이터 버스들(350), 클락 버스들(340) 및 직렬 컨트롤/어 드레스(C/A) 버스들(330)에 의하여 메모리 컨트롤러(360)에 커플된다. 그래서, 상기 각각의 메모리 디바이스들(320)은 자신에 연결되는 각각의 데이터 및 컨트롤 버스들의 전용 쌍들을 가진다. 각각의 전용 클락 버스는 각각의 전용 데이터 및 컨트롤 버스들과 함께 제공될 수도 있으며, 혹은 공통 클락 또는 다른 클락 신호 배열이 사용될 수도 있다는 것은 이해될 것이다.
본 발명의 실시예들에서의 컨트롤 정보(예; 커맨드 및 어드레스 정보)는 패킷 형태 즉, 컨트롤 및 어드레스 정보를 포함하는 패킷의 스트림(stream)으로서 C/A 버스를 통하여 전송될 수 있다. 도 4는 본 발명의 실시예들에 따른 도 3의 메모리 모듈(300)에서 사용될 수 있는 패킷 C/A 인터페이스를 가지는 메모리 디바이스(320)에 대한 예시적인 구성을 나타낸다.
상기 메모리 디바이스(320)는 예를 들어, 도 3의 직렬 C/A 버스(330)와 같은 직렬 C/A 버스로부터, C/A 신호 패킷들을 수신하도록 구성되는 패킷 디코더(410)를 포함한다. 상기 패킷 디코더(410)는 수신되는 C/A를 분석하여 그것으로부터 커맨드들(CMDs) 및 어드레스(ADDRESS)를 복원하며, 상기 커맨드들(CMDs) 및 어드레스(ADDRESS)는 메모리 어레이(450)에 대한 독출 또는 기입에 사용된다. 상기 어드레스(ADDRESS)는 상기 로우(row) 선택기(430) 및 상기 칼럼(column) 선택기(440)에 제공되는 반면에, 상기 커맨드들(CMDs)은 커맨드 디코더(420)에 제공된다. 상기 커맨드 디코더(420)는 워드라인 신호(WL)들을 발생하는 로우 선택기(430), 메모리 어레이(450)에 대한 칼럼 선택 신호들(CSLs)을 응답적으로 발생하는 칼럼 선택기(440) 및 데이터 버스(DQ)를 통하여 데이터를 송신 및 수신하는 데이터 입출력 회로(460)에 대한 컨트롤 신호들을 응답적으로 발생한다.
본 발명의 실시예들에 의하면, 도 3의 데이터 및 C/A 직렬 버스들(350, 330)과 같은 전용 직렬 데이터 또는 C/A 버스는 메모리 모듈 상의 각 메모리 디바이스 또는 메모리 디바이스들의 세트를 위하여 제공될 수 있다. 이러한 직렬 버스들의 신호 패스들(혹은 채널들)의 수는 일반적으로 상기 메모리의 크기(예; 요구되는 어드레스 비트들의 수 또는 상기 메모리의 데이터 폭(width)), 독출/기입 또는 다른 동작들을 수행하는데 요구되는 커맨드들의 수 등과 같은 요소에 의존한다. 도 5는 다수의 신호 패스들(예; 다수의 싱글엔드형 신호 라인들 및 다수의 차동형 신호 라인 쌍들)을 가지는 전용 직렬 데이터 및 C/A 버스들과 함께 사용되도록 형성되는 메모리 디바이스의, 본 발명의 다른 실시예들에 따른 예시적인 동작을 나타내는 타이밍 다이어그램이다.
16의 버스트 길이(DDR(double data rate) 동작으로 가정하고)를 가지는 독출/기입 싸이클(cycle)에 대하여, 16비트들이 대응하는 클락 신호(CLK)의 주기에 대응하는 구간에서 메모리 컨트롤러(예; 도 3의 메모리 컨트롤러(360))로부터 데이터 패스들(DQ 0-3)을 통하여 메모리 디바이스(예; 도 3의 메모리 디바이스(320))에 전송된다. 데이터의 전송과 동시에, 적어도 32비트의 C/A 정보들이 상기 데이터의 버스트(burst)와 함께 전송되도록, C/A 패스들(C/A1-2)을 통하여 송신될 수 있다. 예를 들어, 상기 메모리 디바이스의 버스트 길이가 16(예;32)보다 높게 제한된다면, 하나의 신호 패스로서 충분한 C/A 비트들을 전송하는 것이 가능할 수 있으며, 반면에, 버스트 길이가 16보다 작게 허용된다면 추가적인 전용 C/A 신호 패스들이 사용 될 수 있다. 일반적으로, 상기 C/A 버스들 상의 "직렬" 또는 "패킷화" 통신은 컨트롤/어드레스 신호들의 수가 C/A 신호 패스들의 수보다 크다는 것을 의미한다.
도 3에 도시되는 형태는 UDIMM(300)의 각 메모리 디바이스(320)에 대한 직렬 데이터 버스(350) 및 직렬 C/A 버스(330)(그리고, 임의적으로 전용 어드레스 버스(340))를 포함하는 전용 쌍의 제공과 관련되는데, 상기 데이터 및 어드레스 버스들은 동일한 네트 토폴러지 즉, 그들의 신호 패스들은 거기에 연결되는 동일한 수의 디바이스들을 가진다. 이것은 상기 데이터 버스들 및 상기 C/A 버스들의 실질적으로 동등한 수용 부하를 제공할 수 있는데, 상기 데이터 및 C/A 버스들은 실질적으로 동일한 비트 레이트(bit rate)를 지원하여서, 상대적으로 단순한 UDIMM 모듈들을 사용하면서도, 종래의 포인트 대 포인트 버퍼된 솔루션들에 비견될 수 있는 이점들을 제공한다.
본 발명의 다른 실시예들에 의하면, 이러한 접근은 복수의 메모리 디바이스들을 포함하는 각각의 그룹들에 직렬 데이터 및 C/A 버스들의 전용 쌍들의 제공에 더욱 일반화될 수 있다. 예를 들면, 도 6은 회로기판(610) 상에 배치되는 메모리 디바이스들(620)의 그룹들(625)을 포함하는 UDIMM(600)을 나타낸다. 메모리 디바이스들(620)의 각각의 그룹들(625)은 직렬 데이터 버스들(650)과 직렬 C/A 버스들(630)의 각각의 전용 쌍(전용 클락 버스들(640)과 함께)에 의해서 메모리 컨트롤러(660)에 커플된다. 따라서, 상기 데이터 버스(650) 및 상기 C/A 버스들(630)은 동일한 네트 토폴러지를 가진다.
본 발명은 RDIMM와 FBDIMM에 또한 응용될 수 있다. 도 7은 RDIMM(700) 및 관 련되는 메모리 컨트롤러(760)를 나타낸다. 상기 RDIMM(700)은 회로기판(710) 상에 배치되며, 각각의 데이터 버스들(750)에 의하여 상기 메모리 컨트롤러(760)에 커플되도록 구성되는 복수개의 메모리 디바이스들(720)을 포함한다. 상기 RDIMM(700)은 각각 C/A 버스(737) 및 클락 버스(747)에 의하여 상기 메모리 컨트롤러(760)에 커플되도록 구성되는 C/A 버퍼(735) 및 클락 버퍼(여기에서는 위상 동기 루프(PLL: phase locked loop)(745))를 더 포함한다. 상기 각각의 메모리 디바이스들(720)은 각각의 C/A 버스들(730)에 의하여 상기 C/A 버퍼(735)에 커플되는데, 각 메모리 디바이스(720)는 직렬 데이터 버스(750) 및 직렬 컨트롤/어드레스 버스(730)을 포함하는 전용 쌍에 의해 지원된다. 도시되는 바와 같이, 전용 클락 버스들(740)은 또한 상기 PLL(745)로부터 상기 각각의 메모리 디바이스들(720)에 제공된다. 도 7에서 도시되는 배열과 유사하게, RDIMM은 또한 다수의 메모리 디바이스들의 각각의 그룹들이 각각의 데이터 및 C/A(컨트롤) 버스들에 의해 지원되도록 배열될 수 있다는 것은 이해될 것이다.
본 발명의 다른 실시예들에 의하면, 다수의 모듈들로부터의 디바이스들을 포함하는 메모리 디바이스들의 세트들의 각각의 그룹들은 데이터 버스들과 C/A 버스들의 각각의 전용 쌍들에 의하여 메모리 컨트롤 회로 요소(예; 상기 모듈 외부의 메모리 컨트롤러)에 커플될 수 있다. 예를 들면, 도 8과 도 9에 도시되는 본 발명의 실시예들에 따른 메모리 모듈/메모리 컨트롤러 형태에서, 메모리 컨트롤러(860)는 각각의 데이터, C/A 및 클락 버스들(850,830,840)에 의하여 다수의 UDIMM들(800)의 메모리 디바이스들(820)의 다수의 세트들(825)에 커플되도록 형성될 수 있 다. 메모리 디바이스들(820)의 각 세트(825)는 다수의 UDIMM들(800)로부터의 디바이스들을 포함하며, 각각의 상기 세트들(825)은 각각의 데이터 및 C/A 버스들(850,830)의 전용 쌍들에 의하여 지원된다.
상기와 같은 본 발명의 메모리 시스템에서는, 컨트롤러와 각 메모리 디바이스 사이의 커맨드/어드레스 버스들은, 데이터 버스와 마찬가지로, 포인트 대 포인트 방식으로 설치된다. 그러므로, 상기 데이터 및 어드레스 버스들은 동일한 네트 토폴러지를 가지게 되며, 커맨드 어드레스 버스의 부하는 상기 데이터 버스의 부하와 실질적으로 동일하게 된다. 따라서, 본 발명의 메모리 시스템에 의하면, 상기 데이터 및 C/A 버스들은 실질적으로 동일한 비트 레이트(bit rate)를 지원하여서, 상대적으로 단순한 UDIMM 모듈들을 사용하면서도, 종래의 포인트 대 포인트 버퍼된 솔루션들에 비견될 수 있는 이점들이 제공된다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (29)
- 메모리 시스템에 있어서,적어도 하나의 메모리 모듈 상에 세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들; 및각각의 상기 메모리 디바이스 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 데이터 및 컨트롤 버스들을 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 전용 직렬 데이터 및 컨트롤 버스들은상기 메모리 컨트롤러로부터 상기 각각의 메모리 디바이스들에 비(非)버퍼되는 억세스를 제공하도록 형성되는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 적어도 하나의 메모리 모듈 각각은상기 메모리 컨트롤러에 커플되도록 형성되는 데이터 및 컨트롤 버퍼를 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서,상기 적어도 하나의 메모리 모듈은 복수개의 메모리 모듈들을 구비하며,상기 메모리 디바이스 세트들 각각은 다수개의 상기 모듈들로부터의 디바이스들을 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 각 메모리 디바이스는관련되는 상기 컨트롤 버스에 커플되며, 상기 컨트롤 버스를 통하여 수신되는 패킷들로부터 어드레스 및 커맨드 데이터를 디코딩하도록 형성되는 패킷 디코더를 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 메모리 시스템은각각의 상기 메모리 디바이스 세트들을 상기 메모리 컨트롤러에 커플되도록 형성되는 각각의 클락 라인들을 더 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 전용 직렬 데이터 및 컨트롤 버스들은차동형(differential) 또는 싱글엔드형(single-ended) 버스들을 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 컨트롤 버스들은어드레스 및 커맨드 정보를 전송하도록 형성되는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 각 컨트롤 버스가하나 이상의 직렬 버스를 구비하는 것을 특징으로 하는 메모리 시스템.
- 제1 항에 있어서, 상기 데이터 버스들이양방향(bidirectional) 또는 일방향(unidirectional)인 것을 특징으로 하는 메모리 시스템.
- 메모리 시스템에 있어서,적어도 하나의 메모리 모듈 상에 세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들; 및각각의 상기 메모리 디바이스 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 데이터 및 컨트롤 버스들을 구비하며,상기 전용 직렬 데이터 및 컨트롤 버스들은 동일한 네트 토폴러지(net topology)를 가지는 것을 특징으로 하는 메모리 시스템.
- 제11 항에 있어서, 동일한 수의 상기 메모리 디바이스들이상기 전용 직렬 데이터 및 컨트롤 버스들 각각에 커플되는 것을 특징으로 하는 메모리 시스템.
- 제11 항에 있어서, 상기 메모리 디바이스 세트들은하나 또는 다수의 메모리 디바이스들을 구비하는 것을 특징으로 하는 메모리 시스템.
- 메모리 모듈에 있어서,세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나 의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들; 및각각의 상기 메모리 디바이스 세트들을 메모리 컨트롤러에 커플하도록 형성되는 각각의 직렬 데이터 및 컨트롤 버스들의 전용 쌍을 구비하는 것을 특징으로 하는 메모리 모듈.
- 제14 항에 있어서, 상기 각 세트는하나의 메모리 디바이스 또는 다수의 메모리 디바이스들을 포함하는 것을 특징으로 하는 메모리 모듈.
- 제14 항에 있어서, 각각의 상기 전용 쌍에서의 상기 데이터 및 컨트롤 버스들은동일한 네트 토폴러지(net topology)를 가지는 것을 특징으로 하는 메모리 모듈.
- 제14 항에 있어서, 각각의 상기 전용 쌍에서의 상기 데이터 및 컨트롤 버스들은동일한 수의 메모리 디바이스들에 연결되는 것을 특징으로 하는 메모리 모 듈.
- 메모리 모듈에 있어서,세트들로 배열되는 복수개의 메모리 디바이스들로서, 각 세트는 적어도 하나의 메모리 디바이스를 포함하는 상기 복수개의 메모리 디바이스들;메모리 컨트롤 버퍼;각각의 상기 메모리 디바이스 세트들을 상기 메모리 컨트롤 버퍼에 커플하는 각각의 전용 직렬 데이터 버스들; 및각각의 상기 메모리 디바이스 세트들을 외부의 메모리 컨트롤러에 커플하도록 형성되는 각각의 전용 직렬 컨트롤 버스들 구비하는 것을 특징으로 하는 메모리 모듈.
- 제18 항에 있어서, 상기 각 세트는하나의 메모리 디바이스 또는 다수의 메모리 디바이스들을 포함하는 것을 특징으로 하는 메모리 모듈.
- 제18 항에 있어서, 각각의 상기 전용 직렬 데이터 버스들은 동일한 네트 토폴러지(net topology)를 가지고,각각의 상기 전용 직렬 컨트롤 버스들은 동일한 네트 토폴러지(net topology)를 가지는 것을 특징으로 하는 메모리 모듈.
- 제18 항에 있어서, 각각의 상기 전용 직렬 데이터 버스들은 동일한 수의 메모리 디바이스들에 연결되고,각각의 상기 전용 직렬 컨트롤 버스들은 동일한 수의 메모리 디바이스들에 연결되는 것을 특징으로 하는 메모리 모듈.
- 각각의 전용 직렬 데이터 버스 및 전용 직렬 컨트롤 버스들에 의해 하나 혹은 그 이상의 메모리 모듈들 상의 각각의 메모리 디바이스들의 세트들에 커플되도록 형성되는 버스 인터페이스를 구비하는 것을 특징으로 하는 메모리 컨트롤러.
- 제22 항에 있어서, 상기 각 세트는하나의 메모리 디바이스 또는 다수의 메모리 디바이스들을 포함하는 것을 특징으로 하는 메모리 컨트롤러.
- 제22 항에 있어서, 상기 각각의 전용 직렬 데이터 버스들은 동일한 네트 토폴러지(net topology)를 가지고,상기 각각의 전용 직렬 컨트롤 버스들은 동일한 네트 토폴러지(net topology)를 가지는 것을 특징으로 하는 메모리 컨트롤러.
- 제22 항에 있어서, 상기 전용 직렬 데이터 버스들 각각은 상기 메모리 컨트롤러를 동일한 수의 메모리 디바이스들에 연결하고,상기 전용 직렬 컨트롤 버스들 각각은 상기 메모리 컨트롤러를 동일한 수의 메모리 디바이스들에 연결하는 것을 특징으로 하는 메모리 컨트롤러.
- 제22 항에 있어서, 상기 전용 직렬 데이터 버스들은양방향(bidirectional) 또는 일방향(unidirectional)인 것을 특징으로 하는 메모리 컨트롤러.
- 적어도 하나의 메모리 모듈 상의 복수개의 메모리 디바이스들을 구동하는 방법에 있어서,각각의 전용 직렬 데이터 버스들 및 직렬 컨트롤 버스들을 사용하여, 각각의 메모리 디바이스들의 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 직접적으로 커플하는 단계; 및상기 각각의 전용 직렬 데이터 버스들 및 직렬 컨트롤 버스들을 통하여 데이터 및 컨트롤 신호들을 제공하는 단계를 구비하는 것을 특징으로 하는 복수개의 메모리 디바이스들을 구동하는 방법.
- 제27 항에 있어서,상기 각각의 전용 직렬 데이터 버스들 및 직렬 컨트롤 버스들을 사용하여, 각각의 메모리 디바이스들의 세트들을 상기 적어도 하나의 메모리 모듈의 외부의 메모리 컨트롤러에 직접적으로 커플하는 단계는각각의 직렬 데이터 및 컨트롤 버스들의 전용 쌍을 이용하여, 각각의 상기 메모리 디바이스 세트들을 메모리 컨트롤러에 커플하는 단계를 구비하는 것을 구비하는 것을 특징으로 하는 복수개의 메모리 디바이스들을 구동하는 방법.
- 제27 항에 있어서, 상기 적어도 하나의 메모리 모듈 상의 각각의 메모리 컨트롤 버퍼들을 통하여, 상기의 메모리 디바이스들과 상기 메모리 컨트롤러 사이의 신호들을 버퍼하는 단계를 더 구비하는 것을 특징으로 하는 복수개의 메모리 디바이스들을 구동하는 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050039008 | 2005-05-10 | ||
KR1020050039008 | 2005-05-10 | ||
US11/267,669 US7577760B2 (en) | 2005-05-10 | 2005-11-04 | Memory systems, modules, controllers and methods using dedicated data and control busses |
US11/267,669 | 2005-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060116684A KR20060116684A (ko) | 2006-11-15 |
KR100763352B1 true KR100763352B1 (ko) | 2007-10-04 |
Family
ID=37295609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20060013956A KR100763352B1 (ko) | 2005-05-10 | 2006-02-14 | 전용 데이터 및 컨트롤 버스들을 사용하는 메모리 시스템, 모듈들, 컨트롤러들 및 방법들 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2006318456A (ko) |
KR (1) | KR100763352B1 (ko) |
DE (1) | DE102006022026A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008097997A1 (en) * | 2007-02-06 | 2008-08-14 | Rambus Inc. | Semiconductor module with micro-buffers |
WO2011132310A1 (ja) * | 2010-04-23 | 2011-10-27 | 株式会社日立製作所 | 情報処理装置、及び、半導体記憶装置 |
US10437483B2 (en) | 2015-12-17 | 2019-10-08 | Samsung Electronics Co., Ltd. | Computing system with communication mechanism and method of operation thereof |
CN112286842B (zh) * | 2019-07-22 | 2023-07-04 | 苏州库瀚信息科技有限公司 | 用于存储器控制器与存储器设备互连的总线 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010088376A (ko) * | 2000-03-10 | 2001-09-26 | 가나이 쓰토무 | 메모리 시스템 |
KR20030048036A (ko) * | 2000-09-14 | 2003-06-18 | 인텔 코오퍼레이션 | 스택된 메모리 디바이스를 격리하는 버퍼를 갖는 메모리모듈 |
KR20030085134A (ko) * | 2001-03-30 | 2003-11-03 | 선 마이크로시스템즈, 인코포레이티드 | 복수의 메모리 모듈들의 배열을 사용한 멀티-뱅크 메모리서브시스템 |
-
2006
- 2006-02-14 KR KR20060013956A patent/KR100763352B1/ko not_active IP Right Cessation
- 2006-04-20 JP JP2006117000A patent/JP2006318456A/ja active Pending
- 2006-05-10 DE DE200610022026 patent/DE102006022026A1/de not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010088376A (ko) * | 2000-03-10 | 2001-09-26 | 가나이 쓰토무 | 메모리 시스템 |
KR20030048036A (ko) * | 2000-09-14 | 2003-06-18 | 인텔 코오퍼레이션 | 스택된 메모리 디바이스를 격리하는 버퍼를 갖는 메모리모듈 |
KR20030085134A (ko) * | 2001-03-30 | 2003-11-03 | 선 마이크로시스템즈, 인코포레이티드 | 복수의 메모리 모듈들의 배열을 사용한 멀티-뱅크 메모리서브시스템 |
Also Published As
Publication number | Publication date |
---|---|
JP2006318456A (ja) | 2006-11-24 |
DE102006022026A1 (de) | 2006-11-16 |
KR20060116684A (ko) | 2006-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7577760B2 (en) | Memory systems, modules, controllers and methods using dedicated data and control busses | |
US7334150B2 (en) | Memory module with a clock signal regeneration circuit and a register circuit for temporarily storing the incoming command and address signals | |
US7574555B2 (en) | Memory system having daisy chained memory controllers | |
US8750010B2 (en) | Memory modules and memory devices having memory device stacks, and method of forming same | |
US20180139843A1 (en) | Load reduced memory module | |
US7463535B2 (en) | Memory modules and memory systems having the same | |
US7730254B2 (en) | Memory buffer for an FB-DIMM | |
US7965530B2 (en) | Memory modules and memory systems having the same | |
US10109324B2 (en) | Extended capacity memory module with dynamic data buffers | |
US7966446B2 (en) | Memory system and method having point-to-point link | |
US11947474B2 (en) | Multi-mode memory module and memory component | |
US20080091888A1 (en) | Memory system having baseboard located memory buffer unit | |
US7778042B2 (en) | Memory system having point-to-point (PTP) and point-to-two-point (PTTP) links between devices | |
US7711887B1 (en) | Employing a native fully buffered dual in-line memory module protocol to write parallel protocol memory module channels | |
US7761668B2 (en) | Processor architecture having multi-ported memory | |
KR100763352B1 (ko) | 전용 데이터 및 컨트롤 버스들을 사용하는 메모리 시스템, 모듈들, 컨트롤러들 및 방법들 | |
JP4943136B2 (ja) | メモリモジュールの構成を変更可能なメモリシステム | |
JP5165233B2 (ja) | メモリシステム | |
US20100238695A1 (en) | Memory module including memory chips | |
US7404055B2 (en) | Memory transfer with early access to critical portion | |
US20070198764A1 (en) | Semiconductor arrangement and method for operating a semiconductor arrangement | |
US20090307417A1 (en) | Integrated buffer device |
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 | ||
FPAY | Annual fee payment |
Payment date: 20120831 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130902 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140901 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150831 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |