KR100717113B1 - Semiconductor memory module and semiconductor memory system - Google Patents

Semiconductor memory module and semiconductor memory system Download PDF

Info

Publication number
KR100717113B1
KR100717113B1 KR1020050084813A KR20050084813A KR100717113B1 KR 100717113 B1 KR100717113 B1 KR 100717113B1 KR 1020050084813 A KR1020050084813 A KR 1020050084813A KR 20050084813 A KR20050084813 A KR 20050084813A KR 100717113 B1 KR100717113 B1 KR 100717113B1
Authority
KR
South Korea
Prior art keywords
memory
packet data
data
primary
host
Prior art date
Application number
KR1020050084813A
Other languages
Korean (ko)
Other versions
KR20070030056A (en
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 KR1020050084813A priority Critical patent/KR100717113B1/en
Priority to US11/451,802 priority patent/US7966446B2/en
Priority to JP2006228308A priority patent/JP5052842B2/en
Priority to TW095132757A priority patent/TW200731274A/en
Priority to DE102006043311A priority patent/DE102006043311A1/en
Priority to CNA2006101536308A priority patent/CN1933018A/en
Publication of KR20070030056A publication Critical patent/KR20070030056A/en
Application granted granted Critical
Publication of KR100717113B1 publication Critical patent/KR100717113B1/en
Priority to US12/006,766 priority patent/US7930492B2/en
Priority to US13/153,850 priority patent/US20110289269A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

본 발명의 반도체 메모리 모듈, 반도체 메모리 시스템에 따르면, 메모리 컨트롤러와 프라이머리 메모리간 커맨드/어드래스 패킷 데이터 및/또는 읽기 패킷 데이터 또는 쓰기 패킷 데이터를 주고받을 때 프라이머리 메모리 및 세컨더리 메모리간에도 병렬적으로 서로 다른 형태의 커맨드/어드레스 패킷 데이터 및/또는 패킷 데이터를 주고받는다. 따라서, 데이터의 처리율(throughput)을 높이고 병렬처리능력(concurrency)이 대폭 증가될 수 있다. 또한, 세컨더리 메모리의 핀 수를 프라이머리 메모리 보다 적게 하여 전체 메모리 시스템의 비용(cost)을 대폭 낮출 수 있다. 또한, 프라이머리 메모리 내에 캐시를 두어 메모리 시스템의 처리율(throughput)을 높일 수 있으며 캐시를 계층적으로 구성할 수도 있다. According to the semiconductor memory module and the semiconductor memory system of the present invention, when the command / address packet data and / or read packet data or write packet data are exchanged between the memory controller and the primary memory, the primary memory and the secondary memory are also paralleled. Send and receive different types of command / address packet data and / or packet data. Therefore, the throughput of data and the concurrency can be greatly increased. In addition, the number of pins of the secondary memory may be less than that of the primary memory, thereby greatly reducing the cost of the entire memory system. In addition, by placing the cache in the primary memory to increase the throughput (throughput) of the memory system, it is possible to organize the cache hierarchically.

Description

반도체 메모리 모듈 및 반도체 메모리 시스템{SEMICONDUCTOR MEMORY MODULE AND SEMICONDUCTOR MEMORY SYSTEM}Semiconductor memory module and semiconductor memory system {SEMICONDUCTOR MEMORY MODULE AND SEMICONDUCTOR MEMORY SYSTEM}

도 1은 종래의 멀티-드랍(multi-drop) 버스 구조를 가진 메모리 모듈의 일 예를 나타낸 블록도이다.1 is a block diagram illustrating an example of a memory module having a conventional multi-drop bus structure.

도 2는 종래의 멀티-드랍(multi-drop) 버스 구조를 가진 메모리 시스템의 다른 예를 나타낸 블록도이다.2 is a block diagram illustrating another example of a memory system having a conventional multi-drop bus structure.

도 3은 본 발명의 일 실시예에 따른 메모리 모듈을 나타낸 블록도이다. 3 is a block diagram illustrating a memory module according to an exemplary embodiment of the present invention.

도 4a 및 4b는 도 3의 메모리 모듈의 일 실시예를 나타낸 블록도이다. 4A and 4B are block diagrams illustrating example embodiments of the memory module of FIG. 3.

도 5는 도 3의 메모리 모듈의 다른 실시예를 나타낸 블록도이다. 5 is a block diagram illustrating another embodiment of the memory module of FIG. 3.

도 6은 도 3의 메모리 모듈의 또 다른 실시예를 나타낸 블록도이다. 6 is a block diagram illustrating still another embodiment of the memory module of FIG. 3.

도 7은 도 4a의 메모리 모듈의 WR/CA 핀을 통해 인가되는 패킷을 나타낸 도면이다. FIG. 7 is a diagram illustrating a packet applied through the WR / CA pin of the memory module of FIG. 4A.

도 8은 본 발명의 일실시예에 따른 다운로딩 및 업로딩 패킷 데이터를 나타낸 타이밍도이다. 8 is a timing diagram illustrating downloading and uploading packet data according to an embodiment of the present invention.

도 9는 도 4a의 메모리 모듈의 구체적인 동작을 설명하기 위한 타이밍도이다.FIG. 9 is a timing diagram for describing a detailed operation of the memory module of FIG. 4A.

도 10a는 데이터 읽기 동작시 도 6a의 호스트로부터 프라이머리 메모리로 인 가되는 커맨드 패킷을 나타낸 도면이다.FIG. 10A illustrates a command packet applied to a primary memory from the host of FIG. 6A during a data read operation.

도 10b는 데이터 읽기 동작시 도 6a의 프라이머리 메모리로부터 세컨더리 메모리로 인가되는 커맨드 패킷을 나타낸 도면이다.FIG. 10B illustrates a command packet applied to the secondary memory from the primary memory of FIG. 6A during a data read operation.

도 11a 및 도 11b는 본 발명의 다른 실시예들에 따른 메모리 시스템들을 나타낸 블록도이다. 11A and 11B are block diagrams illustrating memory systems according to other example embodiments of the inventive concepts.

도 12a 내지 도 12b는 본 발명의 또 다른 실시예들에 따른 메모리 시스템들을 나타낸 블록도이다. 12A through 12B are block diagrams illustrating memory systems in accordance with some example embodiments of the inventive concepts.

도 13a 내지 도 13b는 본 발명의 또 다른 실시예들에 따른 프라이머리 메모리와 세컨더리 메모리간 시리얼 링크로 연결된 메모리 시스템들을 나타낸 블록도이다. 13A to 13B are block diagrams illustrating memory systems connected by a serial link between a primary memory and a secondary memory according to another embodiment of the present invention.

도 13c는 데이터 읽기 동작시 시리얼 링크로 연결된 프라이머리 메모리로부터 세컨더리 메모리로 인가되는 패킷을 나타낸 도면이다. FIG. 13C illustrates a packet applied from a primary memory connected to a serial link to a secondary memory during a data read operation. FIG.

도 14a, 도 15 및 도 16은 본 발명의 또 다른 실시예에 따른 캐쉬 메모리를 내장한 메모리 시스템들을 나타낸 블록도이다. 14A, 15, and 16 are block diagrams illustrating memory systems including a cache memory, according to another exemplary embodiment.

도 14b는 도 14a의 프라이머리 메모리의 내부 블록의 일례를 나타낸 블록도이다. FIG. 14B is a block diagram illustrating an example of an internal block of the primary memory of FIG. 14A.

도 17은 본 발명의 또 다른 실시예에 따른 2 랭크 메모리 모듈의 메모리들이 적층 구조를 가지는 경우를 나타내는 개념도이다.17 is a conceptual diagram illustrating a case in which memories of a second rank memory module have a stacked structure according to another embodiment of the present invention.

도 18은 본 발명의 또 다른 실시예에 따른 4 랭크 메모리 모듈의 메모리들이 적층 구조를 가지는 경우를 나타내는 개념도이다.18 is a conceptual diagram illustrating a case in which memories of a 4 rank memory module have a stacked structure according to another embodiment of the present invention.

도 19는 본 발명의 또 다른 실시예에 따른 2 랭크 메모리 모듈의 메모리들이 배치된 구조를 나타내는 개념도이다.19 is a conceptual diagram illustrating a structure in which memories of a second rank memory module according to another embodiment of the present invention are arranged.

도 20 및 도 21은 본 발명의 또 다른 실시예에 따른 4 랭크 메모리 모듈의 메모리들이 배치된 구조를 나타내는 개념도이다.20 and 21 are conceptual views illustrating a structure in which memories of a 4 rank memory module according to still another exemplary embodiment of the present invention are arranged.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

300, 600, 1100, 1200a, 1200b, 1300a, 1300b, 1400, 1500, 1600 : 호스트Host: 300, 600, 1100, 1200a, 1200b, 1300a, 1300b, 1400, 1500, 1600

310, 610, 1110, 1210a, 1210b, 1310a, 1310b, 1410, 1510, 1610 : 프라이머리 메모리Primary memory: 310, 610, 1110, 1210a, 1210b, 1310a, 1310b, 1410, 1510, 1610

320, 620, 1120, 1220a, 1220b, 1320a, 1320b, 1420, 1520, 1620 : 세컨더리 메모리Secondary memory: 320, 620, 1120, 1220a, 1220b, 1320a, 1320b, 1420, 1520, 1620

350, 650, 1150, 1250a, 1250b, 1350a, 1350b, 1450, 1550, 1650 : 메모리 모듈Memory module: 350, 650, 1150, 1250a, 1250b, 1350a, 1350b, 1450, 1550, 1650

1415 : 캐시1415: cache

본 발명은 메모리 시스템에 관한 것으로, 특히 호스트와 메모리 사이에 패킷 데이터를 주고받는 반도체 메모리 모듈 및 반도체 메모리 시스템에 관한 것이다.The present invention relates to a memory system, and more particularly, to a semiconductor memory module and a semiconductor memory system for transmitting and receiving packet data between a host and a memory.

컴퓨터 시스템의 중앙처리장치(CPU)의 동작속도는 매우 고속, 예컨대 수 GHz 이상인 반면 메모리의 동작속도는 상대적으로 저속, 예컨대 수백 MHz이므로, 컴퓨터 시스템과 메모리 사이의 인터페이싱을 위하여 메모리 콘트롤러라는 칩셋을 연결한다. 컴퓨터 시스템과 메모리 콘트롤러 사이는 고속으로 데이터를 전송한다. 메모리 콘트롤러와 메모리 사이는 메모리의 동작속도로 데이터를 전송한다. The operating speed of the CPU of a computer system is very high, for example several GHz or more, while the operating speed of the memory is relatively low, for example several hundred MHz, so that a chipset called a memory controller can be connected for interfacing between the computer system and the memory. do. Data transfers between the computer system and the memory controller at high speed. Data is transferred between the memory controller and the memory at the operating speed of the memory.

도 1은 종래의 멀티-드랍(multi-drop) 버스 구조를 가진 메모리 모듈의 일 예를 나타낸 블록도이다.1 is a block diagram illustrating an example of a memory module having a conventional multi-drop bus structure.

도 1을 참조하면, 메모리 컨트롤러(미도시)의 신호에 복수개의 메모리(M1 내지 M8)가 멀티-드롭(multi-drop) 방식으로 연결된다.Referring to FIG. 1, a plurality of memories M1 to M8 are connected to a signal of a memory controller (not shown) in a multi-drop manner.

도 1에 도시된 바와 같이 일반적으로 SDRAM(Synchronous Dynamic Random Access Memory), DDR(Double Data Rate) 1, DDR 2 및 DDR 3과 같은 DRAM에 있어서는 메모리 컨트롤러(미도시)의 커맨드/어드레스(command/address) 버스(CA, 12)에 복수개의 DRAM이 동시에 연결되는 멀티-드롭(multi-drop) 버스 구조를 사용하였다. 또한, 쓰기(write)/읽기(read) 데이터 버스(14,DQ)는 복수개의 메모리(M1 내지 M8)에 대하여 각각 독립적으로 호스트에 배선되어 있다. As shown in FIG. 1, in general, DRAMs such as Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate (DDR) 1, DDR 2, and DDR 3 are provided with a command / address of a memory controller (not shown). ) A multi-drop bus structure in which a plurality of DRAMs are simultaneously connected to the buses CA and 12 is used. The write / read data buses 14 and DQ are each independently wired to the host with respect to the plurality of memories M1 to M8.

도 2는 종래의 멀티-드랍(multi-drop) 버스 구조를 가진 메모리 시스템을 나타낸 블록도로서 메모리의 용량을 늘이기 위해 복수개의 메모리 모듈로 구성되어 있는 예이다.2 is a block diagram illustrating a memory system having a conventional multi-drop bus structure, in which a plurality of memory modules are configured to increase a memory capacity.

도 2에 도시된 바와 같이, 메모리 컨트롤러(200)의 커맨드/어드레스 버스(CA)에 각 메모리 모듈(210, 220) 내의 복수개의 메모리(M11 내지 M1N, M21 내지 M2N)가 연결되고, 서로 다른 메모리 모듈의 선택은 칩 선택(chip select) 신호 (/CS0, /CS1, ...)를 통해 이루어진다. 메모리 모듈(210)내의 복수개의 메모리(M11 내지 M1N)의 각각의 쓰기/읽기 데이터 버스는 복수개의 메모리(M21 내지 M2N)의 각각의 쓰기/읽기 데이터 버스와 연결되어 호스트와 배선되어 있다.As illustrated in FIG. 2, a plurality of memories M11 to M1N and M21 to M2N in each memory module 210 and 220 are connected to a command / address bus CA of the memory controller 200, and different memories are provided. Module selection is achieved via chip select signals (/ CS0, / CS1, ...). Each write / read data bus of the plurality of memories M11 to M1N in the memory module 210 is connected to each write / read data bus of the plurality of memories M21 to M2N and wired to the host.

상기와 같이 종래의 멀티-드랍 방식의 버스 구조의 경우 대용량화를 위해서는 하나의 메모리 컨트롤러에 더 많은 메모리 모듈들을 연결하게 된다. 메모리 모듈들의 개수가 증가할수록 쓰기/읽기 데이터 버스에 연결되는 메모리들이 증가하게 된다. 즉, 쓰기/읽기 데이터 버스의 로딩(loading)이 커져 고속 동작 속도에 제한 요소가 된다. 예를 들어, 하나의 쓰기/읽기 데이터 버스에 연결되는 SDRAM의 개수는 최대 8개, DDR 1의 개수는 4개 그리고 DDR 2/DDR 3의 개수는 2개로 제한된다.As described above, in the case of the conventional multi-drop bus structure, more memory modules are connected to one memory controller in order to increase capacity. As the number of memory modules increases, the memory connected to the write / read data bus increases. That is, the loading of the write / read data bus becomes large, which is a limiting factor in the high speed of operation. For example, the maximum number of SDRAMs connected to a single write / read data bus is limited to eight, four DDR 1s and two DDR 2 / DDR 3s.

따라서, DDR 1, DDR2, DDR 3 메모리를 탑재한 메모리 모듈을 사용하여 종래의 멀티-드랍 버스 구조의 메모리 모듈로 고용량화를 할 경우에는 메모리 동작 속도의 고속화에 한계가 발생하게 된다. Therefore, when the memory module having DDR 1, DDR 2, DDR 3 memory is mounted using a memory module having a conventional multi-drop bus structure, there is a limit in speeding up the memory operation speed.

따라서, 본 발명의 제1 목적은 고속 고용량화가 가능한 메모리 모듈을 제공하는 것이다.Accordingly, it is a first object of the present invention to provide a memory module capable of high speed and high capacity.

또한, 본 발명의 제2 목적은 상기 메모리 모듈을 이용한 메모리 시스템을 제공하는 것이다. In addition, a second object of the present invention is to provide a memory system using the memory module.

상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 메모리 모듈은 N(N은 양의 정수) 개 핀의 제1 포트를 통하여 호스트와 제1 패킷 데이터 를 송수신하고, K(K는 N 보다 작은 정수) 개 핀의 제2 포트를 통하여 제2 패킷 데이터를 송수신하는 적어도 하나의 프라이머리 메모리; 및 K 개 핀의 제3 포트를 통하여 대응하는 프라이머리 메모리와 상기 제2 패킷 데이터를 수신하는 적어도 하나의 세컨더리 메모리를 포함한다. 상기 적어도 하나의 세컨더리 메모리는 상기 대응하는 프라이머리 메모리와 포인트-투-포인트 연결될 수 있다. 상기 적어도 하나의 프라이머리 메모리는 백그라운드 동작을 통하여 상기 제2 포트를 통하여 상기 소정의 제1 데이터를 상기 대응하는 세컨더리 메모리로부터 읽어들여 상기 제1 캐시 메모리에 저장할 수 있다. Memory module according to an aspect of the present invention for achieving the first object of the present invention described above transmits and receives the first packet data with the host through the first port of the N pin (N is a positive integer), K ( K is an integer smaller than N) at least one primary memory for transmitting and receiving second packet data through the second port of the pin; And at least one secondary memory receiving the corresponding primary memory and the second packet data through a third port of the K pins. The at least one secondary memory may be point-to-point connected with the corresponding primary memory. The at least one primary memory may read the predetermined first data from the corresponding secondary memory through the second port through a background operation and store the read first data in the first cache memory.

또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 메모리 시스템은 호스트; 및 N(N은 양의 정수) 개 핀의 제1 포트를 통하여 상기 호스트와 제1 패킷 데이터를 송수신하고 K(K는 N 보다 작은 정수) 개 핀의 제2 포트를 통하여 제2 패킷 데이터를 송수신하는 적어도 하나의 프라이머리 메모리와, K 개 핀의 제3 포트를 통하여 대응하는 프라이머리 메모리와 상기 제2 패킷 데이터를 수신하는 적어도 하나의 세컨더리 메모리를 가지는 메모리 모듈를 포함한다. 상기 메모리 시스템은 호스트에서 자주 액세스하는 소정의 데이터를 미리 저장하는 캐쉬 메모리를 상기 호스트와 상기 프라이머리 메모리 사이에 포함할 수 있다. In addition, a memory system according to an aspect of the present invention for achieving the second object of the present invention is a host; And transmitting and receiving first packet data with the host through a first port of N pins (N is a positive integer) and transmitting and receiving second packet data through a second port of K pins (K is an integer less than N). And a memory module having at least one primary memory, a corresponding primary memory and at least one secondary memory receiving the second packet data through a third port of the K pins. The memory system may include a cache memory between the host and the primary memory that pre-stores predetermined data frequently accessed by the host.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

이하에서 설명하는 본 발명의 실시예들은 호스트와 복수의 메모리를 연결함에 있어서, 호스트와 프라이머리 메모리(primary memory)간과, 프라이머리 메모리와 적어도 하나의 세컨더리 메모리(secondary memory) 간은 포인트-투-포인트 연결된다. 여기서, 호스트와 프라이머리 메모리간의 버스 수, 인터페이스 방식 및/또는 프로토콜은 프라이머리 메모리와 세컨더리 메모리간의 버스 수, 인터페이스 방식 및/또는 프로토콜은 서로 다르게 구현될 수 있다. 그 결과, 프라이머리 메모리와 호스트가 어떤 형태의 데이터를 주고받을 때, 프라이머리 메모리와 세컨더리 메모리간에도 동시에 필요한 다른 형태의 데이터를 주고받는 동작(background operation)을 수행할 수 있도록 하여 메모리 시스템 전체의 효율성을 높일 수 있다. The embodiments of the present invention described below provide a point-to-point connection between a host and a primary memory, and between a primary memory and at least one secondary memory in connecting a host and a plurality of memories. Points are connected. Here, the number of buses between the host and the primary memory, the interface method and / or the protocol may be implemented differently from the number of buses between the primary memory and the secondary memory, the interface method and / or the protocol. As a result, when the primary memory and the host exchange data of some type, the background memory can be simultaneously transferred between the primary memory and the secondary memory so that the efficiency of the entire memory system can be improved. Can increase.

여기서, 프라이머리 메모리(primary memory)란 호스트와 포인트-투-포인트 연결된 메모리를 나타낸다. 세컨더리 메모리(secondary memory)란 상기 프라이머리 메모리에 포인트-투-포인트 연결된 메모리 또는 상기 프라이머리 메모리에 포인트-투-포인트 연결된 메모리끼리 연결된 메모리를 나타낸다. Here, primary memory refers to a memory that is point-to-point connected to a host. Secondary memory refers to a memory that is point-to-point coupled to the primary memory or memory that is point-to-point coupled to the primary memory.

이하, 프라이머리 메모리와 프라이머리 메모리에 종속된 세컨더리 메모리등는 동일 평면상에 연결시킬 수도 있다(planar structure). 프라이머리 메모리는 메모리 모듈의 일면에 장착되고 세컨더리 메모리는 메모리 모듈의 타면에 장착될 수도 있다. 또는, 프라이머리 메모리와 프라이머리 메모리에 종속된 세컨더리 메모리등은 다이 스택(die stack) 또는 패키지 스택(package stack)과 같은 적층 구조를 가지도록 구현할 수도 있다.Hereinafter, the primary memory and the secondary memory dependent on the primary memory may be connected on the same plane (planar structure). The primary memory may be mounted on one surface of the memory module and the secondary memory may be mounted on the other surface of the memory module. Alternatively, the primary memory and the secondary memory dependent on the primary memory may be implemented to have a stacked structure such as a die stack or a package stack.

이하의 도면에서는 각 메모리 모듈 내의 프라이머리 메모리가 1개인 경우만을 도시하였으나, 본 발명은 각 메모리 모듈내의 프라이머리 메모리가 병렬적으로 2개 이상인 경우에도 적용할 수 있음은 물론이다. In the following drawings, only one primary memory in each memory module is illustrated, but the present invention may be applied to a case in which two or more primary memories in each memory module are in parallel.

본 발명 실시예에 따른 메모리 모듈 내의 메모리는 DRAM, 예를 들어 DDR2, DDR3으로 구성될 수 있다.Memory in the memory module according to an embodiment of the present invention may be composed of DRAM, for example DDR2, DDR3.

<실시예><Example>

도 3은 본 발명의 일 실시예에 따른 메모리 시스템을 나타낸 블록도이다.3 is a block diagram illustrating a memory system according to an example embodiment.

도 3을 참조하면, 메모리 시스템은 호스트(300)와 메모리 모듈(350)을 포함한다. 여기서 호스트는 넓은 의미로는 메모리 모듈이 삽입되는 메모리 모듈 소켓이 실장된 메인보드를 말한다. 호스트는 좁은 의미로는 메모리 콘트롤러 칩셋(memory controller chip set) 또는 노스 브리지 칩셋(north bridge chip set) 등과 같이 메모리 모듈과 직접 교신하는 칩(chip)을 나타낸다. 도 3에서는 하나의 메모리 모듈(350) 내에 하나의 프라이머리 메모리(310)와 하나의 세컨더리 메모리(320)를 도시하였으나, 하나의 메모리 모듈(350) 내에는 2개 이상의 프라이머리 메모리(310)와 2개 이상의 세컨더리 메모리(320)를 포함할 수 있다. Referring to FIG. 3, the memory system includes a host 300 and a memory module 350. In this case, the host refers to a main board in which a memory module socket in which a memory module is inserted is mounted. The host in a narrow sense refers to a chip that directly communicates with a memory module, such as a memory controller chip set or a north bridge chip set. In FIG. 3, one primary memory 310 and one secondary memory 320 are illustrated in one memory module 350, but two or more primary memories 310 and one primary memory 310 are included in one memory module 350. Two or more secondary memories 320 may be included.

호스트(300)는 X개 핀의 제1 포트가 프라이머리 버스(PB)를 통해 메모리 모듈(350)의 프라이머리 메모리(310)와 포인트-투-포인트(point-to-point) 연결되고, 프라이머리 메모리(310)는 Y개 핀의 제2 포트가 세컨더리 버스(SB)를 통해 세컨더리 메모리(320)와 포인트-투-포인트 연결된다. 여기서, Y는 X보다 작은 값을 갖는 다. 상기 프라이머리 버스(PB) 및 세컨더리 버스(SB)를 통해 커맨드/어드레스 신호 및 쓰기/읽기 데이터가 전송된다. The host 300 has a first port of X pins connected point-to-point with the primary memory 310 of the memory module 350 through a primary bus (PB), and In the head memory 310, a second port of Y pins is point-to-point connected to the secondary memory 320 through the secondary bus SB. Where Y has a value less than X. Command / address signals and write / read data are transmitted through the primary bus PB and the secondary bus SB.

호스트(300)는 커맨드/어드레스 및/또는 쓰기 등을 위한 기준 클록(REFCLK)과 쓰기 기준클럭(WCLK, 미도시)을 메모리 모듈(350)에 제공한다. 메모리 모듈(350) 내의 메모리들은 상기 기준클럭(REFCLK)을 이용해서 읽기 데이터를 호스트(300)에 전송하기 위한 읽기 기준 클럭(RCLK, 미도시)을 생성한다. 상기 클럭들(REFCLK, WCLK, RCLK)은 통상의 데이터 버스 핀(pin)들의 그룹, 예를 들어 4개(nibble) 또는 8개(byte)당 하나로 구성될 수 있다. The host 300 provides the memory module 350 with a reference clock REFCLK and a write reference clock WCLK (not shown) for command / address and / or writing. The memories in the memory module 350 generate a read reference clock RCLK (not shown) for transmitting read data to the host 300 using the reference clock REFCLK. The clocks REFCLK, WCLK, and RCLK may be configured as a group of typical data bus pins, for example, one per four or eight bytes.

도 3을 참조하면, 세컨더리 메모리(320)의 핀수(Y)가 프라이머리 메모리(310)의 핀수(X)보다 작다. 호스트(300)와 프라이머리 메모리(310)간에 사용되는 프로토콜과 프라이머리 메모리(310)와 세컨더리 메모리(320)간에 사용되는 프로토콜은 서로 다를 수 있다. 구체적으로, 세컨더리 메모리(320)에 연결되는 제2 포트들의 버스 개수와 기능은 프라이머리 메모리(310)에 연결되는 제1 포트들의 버스 개수와 기능과 차이가 있다. 또한, 상기 프라이머리 버스(PB)에는 차동 입출력 신호가 전송되고, 상기 세컨더리 버스(SB)에는 싱글 엔디드(single ended) 신호가 전송될 수 있다. Referring to FIG. 3, the pin number Y of the secondary memory 320 is smaller than the pin number X of the primary memory 310. The protocol used between the host 300 and the primary memory 310 and the protocol used between the primary memory 310 and the secondary memory 320 may be different. In detail, the number and function of buses of the second ports connected to the secondary memory 320 are different from the number and function of buses of the first ports connected to the primary memory 310. In addition, a differential input / output signal may be transmitted to the primary bus PB, and a single ended signal may be transmitted to the secondary bus SB.

이 경우, 하나의 메모리 시스템을 이루는 메모리의 형태가 최소한 두 가지를 가질 수 있다. 구체적으로, 프라이머리 메모리(310)의 경우는 세컨더리 메모리(320)로 커맨드/어드레스 및 쓰기 패킷 데이터를 중계(repeating)시키는 기능, 세컨더리 메모리(320)로부터 읽은 데이터를 일시 저장하여 또는 직접적으로 호스트 (300)로 전달하는 기능 등의 다양한 기능을 수행할 수 있는 로직 회로들이 더 첨가될 수 있다. In this case, the memory of one memory system may have at least two types. Specifically, in the case of the primary memory 310, a function of repeating command / address and write packet data to the secondary memory 320, and temporarily storing data read from the secondary memory 320 or directly by a host ( Logic circuits capable of performing various functions, such as a function of transferring to 300, may be further added.

반면에, 세컨더리 메모리(320)의 제2 포트의 핀 수를 프라이머리 메모리(310) 보다 적게 하고, 주로 프라이머리 메모리(310)에 종속적으로 동작케 하여 전체 메모리 시스템의 비용(cost)을 대폭 낮출 수 있다. 특히, 세컨더리 메모리(320)의 세컨더리 버스에 시리얼한 입출력 신호를 사용하면 제2 포트의 핀 수를 대폭 줄일 수 있으므로 후술할 도 12a 내지 도 16에 도시된 바와 같이 고용량을 위하여 많은 메모리를 적층할 경우 배선 수를 크게 줄일 수 있다. On the other hand, the number of pins of the second port of the secondary memory 320 is less than that of the primary memory 310, and mainly depends on the primary memory 310 to significantly reduce the cost of the entire memory system. Can be. In particular, when the input / output signal serially connected to the secondary bus of the secondary memory 320 can significantly reduce the number of pins of the second port, when a large number of memories are stacked for high capacity as shown in FIGS. 12A to 16. The number of wirings can be greatly reduced.

도 4a 및 4b는 도 3의 메모리 모듈의 일 실시예를 나타낸 블록도이다. 도 4a는 호스트(600)와 프라이머리 메모리(610)가 데이터를 주고받는 포그라운드 동작(foreground operation, 680) 동안 동시에 백그라운드 동작(background operation, 682)을 통해 세컨더리 메모리(620)와 프라이머리 메모리(610)가 데이터를 주고받는 경우를 나타낸다. 도 4b는 호스트(600)에서 세컨더리 메모리(620)를 액세스하여 데이터를 주고받는 동작(684)을 개념적으로 나타낸다. 4A and 4B are block diagrams illustrating example embodiments of the memory module of FIG. 3. FIG. 4A illustrates a secondary memory 620 and a primary memory 620 through a background operation 682 simultaneously during a foreground operation 680 in which the host 600 and the primary memory 610 exchange data. 610 indicates a case of sending and receiving data. 4B conceptually illustrates an operation 684 of exchanging data by accessing the secondary memory 620 in the host 600.

도 4a를 참조하면, 호스트(600)와 프라이머리 메모리(610)간은 N 개의 핀의 WR/CA 포트 및 M 개의 핀의 읽기 데이터(RD) 포트를 통하여 포인트-투-포인트 연결된다. 또한, 프라이머리 메모리(610)와 세컨더리 메모리(620)간은 K 개의 핀의 WR/CA 포트와 L 개의 핀의 읽기 데이터(RD) 포트를 통하여 포인트-투-포인트 연결된다. N, M, K, L은 양의 정수이다. 예를 들어, N은 8, K는 4, M은 8 및 L은 4가 될 수 있다.Referring to FIG. 4A, a point-to-point connection between the host 600 and the primary memory 610 is performed through an N pin WR / CA port and an M pin read data (RD) port. In addition, the primary memory 610 and the secondary memory 620 are point-to-point connected through the WR / CA ports of the K pins and the read data (RD) ports of the L pins. N, M, K, and L are positive integers. For example, N may be 8, K is 4, M is 8 and L may be 4.

쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)가 병합되어 다운 로딩 버스(601, 611)를 구성한다. 읽기 데이터 버스(RD)는 업 로딩 버스(603, 613)를 구성한다. 또는, 도 5에 도시된 바와 같이, 커맨드/어드레스 버스(CA)가 분리되고, 읽기 데이터 버스(RD) 및 쓰기 데이터 버스(WR)가 병합될 수도 있다. 또는, 도 6에 도시된 바와 같이, 커맨드/어드레스 버스(CA), 읽기 데이터 버스(RD) 및 쓰기 데이터 버스(WR)가 각각 분리될 수도 있다. The write data bus WR and the command / address bus CA are merged to form the downloading buses 601 and 611. The read data bus RD constitutes the uploading buses 603 and 613. Alternatively, as shown in FIG. 5, the command / address bus CA may be separated, and the read data bus RD and the write data bus WR may be merged. Alternatively, as shown in FIG. 6, the command / address bus CA, the read data bus RD, and the write data bus WR may be separated from each other.

호스트(600)로부터 프라이머리 메모리(610)로 또는 프라이머리 메모리(610)로부터 세컨더리 메모리(620)로 커맨드/어드레스 패킷 데이터 및/또는 쓰기 패킷 데이터가 다운 로딩 버스(601, 611)를 통하여 패킷 데이터의 형태로 단방향으로 전송된다. Command / address packet data and / or write packet data from the host 600 to the primary memory 610 or from the primary memory 610 to the secondary memory 620 is transmitted via the download buses 601 and 611. It is transmitted in one direction in the form of.

또한, 업 로딩 버스(603, 613)를 통하여 단방향으로, 즉 프라이머리 메모리(610)로부터 호스트(600)로 또는 세컨더리 메모리(620)로부터 프라이머리 메모리(610)로 읽기 데이터가 패킷 데이터의 형태로 전송된다. In addition, the read data is unidirectionally through the uploading buses 603, 613, that is, from the primary memory 610 to the host 600 or from the secondary memory 620 to the primary memory 610 in the form of packet data. Is sent.

여기서, K는 N보다 작다. L은 M보다 작다. 즉, 세컨더리 메모리(620)의 핀수가 프라이머리 메모리(610)의 핀수보다 작으므로 하나의 메모리 모듈 내에 고용량을 위하여 다수의 메모리를 적층할 경우 배선 수를 크게 줄일 수 있다. Where K is less than N. L is less than M That is, since the number of pins of the secondary memory 620 is smaller than the number of pins of the primary memory 610, when the plurality of memories are stacked in one memory module for high capacity, the number of wirings may be greatly reduced.

도 7은 도 4a의 호스트로부터 메모리 모듈의 WR/CA 핀을 통해 프라이머리 메모리로 인가되는 패킷을 나타내며, 도 8은 본 발명의 일실시예에 따른 다운로딩 및 업로딩 패킷 데이터를 나타낸 타이밍도이다. 도 9는 도 4a의 메모리 모듈의 구체적인 동작을 설명하기 위한 타이밍도이다. 도 10a는 데이터 읽기 동작시 도 4a의 호 스트로부터 프라이머리 메모리로 인가되는 커맨드/어드레스 패킷을 나타내며, 도 10b는 도 10a의 데이터 읽기 동작시 도 4a의 프라이머리 메모리로부터 세컨더리 메모리로 인가되는 커맨드/어드레스 패킷을 나타낸다. FIG. 7 illustrates a packet applied from the host of FIG. 4A to the primary memory through the WR / CA pin of the memory module, and FIG. 8 is a timing diagram illustrating downloading and uploading packet data according to an embodiment of the present invention. FIG. 9 is a timing diagram for describing a detailed operation of the memory module of FIG. 4A. 10A illustrates a command / address packet applied to the primary memory from the host of FIG. 4A during a data read operation, and FIG. 10B illustrates a command / address applied to the secondary memory from the primary memory of FIG. 4A during a data read operation of FIG. 10A. Represents an address packet.

이하, 도 7 내지 도 10b를 참조하여 도 4a의 메모리 모듈의 동작을 설명한다. Hereinafter, the operation of the memory module of FIG. 4A will be described with reference to FIGS. 7 to 10B.

도 7은 프라이머리 메모리의 WR/CA 포트를 통하여 입력되는 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 나타낸다.7 illustrates command / address packet data and write packet data input through the WR / CA port of the primary memory.

도 7을 참조하면, 커맨드/어드래스 패킷 데이터가 기준 클럭(REF CLOCK) 또는 쓰기 기준 클럭(WCLK)의 한 주기 동안 WR/CA 포트의 8 개의 핀(PIN0 ~PIN8)을 통하여 인가되고, 쓰기 패킷 데이터(write packet data)가 기준 클럭(REF CLOCK) 또는 쓰기 기준 클럭(WCLK)에 맞춰 WR/CA 포트의 8개의 핀을 통하여 인가된다. 도 7에서는 예를 들어 2 주기 동안 20 버스트(burst) 패킷 데이터가 입력되는 경우를 가정하였다. 여기서는, 한 기준 클럭 주기당 입력되는 정보의 개수를 10개, WR/CA 포트의 핀수는 8을 가정하였으나, 기준 클럭 주파수에 따라서 줄이거나 늘일 수 있다. Referring to FIG. 7, command / address packet data is applied through eight pins PIN0 to PIN8 of the WR / CA port for one period of the reference clock REF CLOCK or the write reference clock WCLK, and a write packet Write packet data is applied through eight pins of the WR / CA port in accordance with a reference clock (REF CLOCK) or a write reference clock (WCLK). In FIG. 7, for example, it is assumed that 20 burst packet data are input for two periods. Here, although the number of information input per one reference clock period is assumed to be 10 and the number of pins of the WR / CA port is 8, it can be reduced or increased according to the reference clock frequency.

버스트 1의 WR/CA 포트의 핀(PIN) 0/1/2/3에 오퍼랜드(operand) 3/2/1/0이 입력되고 16개의 오퍼랜드의 조합에 의해 로우 어드레스 활성화(activation), 읽기(read), 쓰기(write), 프리차지(precharge), 리프레쉬(refresh) 동작 등의 명령을 나타낼 수 있다. 또한, 버스트 1의 WR/CA 포트의 핀(PIN) 5/6/7에 랭크(rank) 선택 신호 CS2/CS1/CS0이 입력되고, 최대 8개까지의 랭크(rank)를 선택할 수 있다. Operand 3/2/1/0 is input to pin 0/1/2/3 of the WR / CA port of burst 1, and row address activation and read (by combination of 16 operands) Commands such as read, write, precharge, and refresh operations may be indicated. In addition, a rank selection signal CS2 / CS1 / CS0 is input to pins 5/6/7 of the WR / CA port of the burst 1, and up to eight ranks can be selected.

버스트 2에서는 WR/CA 포트의 핀(PIN) 0/1/2/3에 4개의 메모리 뱅크 어드레스 BA3/BA2/BA1/BA0이 인가되어 최대 16개의 메모리 뱅크가 선택될 수 있다. 버스트 2의 WR/CA 포트의 핀(PIN) 5/6/7 및 버스트 3의 WR/CA 포트의 핀(PIN) 0 내지 7을 통하여 어드레스 A10 내지 A0이 입력되어 해당 로우 어드레스(row address) 또는 컬럼 어드레스(column address)를 선택할 수 있다. In burst 2, four memory bank addresses BA3 / BA2 / BA1 / BA0 are applied to pins 0/1/2/3 of the WR / CA port so that up to 16 memory banks can be selected. Addresses A10 through A0 are inputted through pins 5/6/7 of the WR / CA port of burst 2 and pins 0 through 7 of the WR / CA port of burst 3, so that the corresponding row address or You can select a column address.

버스트 4 이후는 RFU(Reserved for Future Use) 필드로 나타내었고, RFU 필드는 후술할 백그라운드 동작을 위한 영역으로 사용 가능하다. T1 주기 이후의 데이터는 T0 주기에 쓰기 커맨드가 입력되었다는 가정하에 입력되는 쓰기 데이터 패킷을 예로 들었다. 한 주기 동안 80 비트의 데이터가 전송된다.After burst 4, it is represented by a reserved for future use (RFU) field, and the RFU field may be used as an area for a background operation to be described later. The data after the T1 cycle is an example of a write data packet input under the assumption that a write command is input in the T0 cycle. 80 bits of data are transmitted in one cycle.

도 8을 참조하면, 다운로딩 패킷은 하나의 단위 패킷(CA 패킷) 또는 3개의 단위 패킷(CA 패킷, WR0 패킷, WR1 패킷)을 전송의 기본단위로 구성된다. WR0 패킷 및 WR1 패킷은 쓰기 패킷 데이터를 나타낸다. 업로딩 패킷 데이터는 두개의 단위 패킷(RD0 패킷, RD1 패킷)을 전송의 기본단위로 한다. RD0 패킷 및 RD1 패킷은 읽기 패킷 데이터를 나타낸다. Referring to FIG. 8, the downloading packet is composed of one unit packet (CA packet) or three unit packets (CA packet, WR0 packet, WR1 packet) as a basic unit of transmission. The WR0 packet and the WR1 packet represent write packet data. The uploading packet data uses two unit packets (RD0 packet and RD1 packet) as basic units of transmission. The RD0 packet and the RD1 packet represent read packet data.

예를 들어, 단위 패킷은 클록의 1주기동안 8비트 병렬 데이터를 연속하여 10회 전송하기 위하여 세로 8핀과 가로 10 버스트(burst)의 사이즈를 가진 80 비트 데이터로 구성될 수 있다. For example, the unit packet may consist of 80 bits of data having a length of 8 pins and a width of 10 bursts in order to transmit 8 bits of parallel data 10 times in succession during one cycle of the clock.

패킷의 종류는 커맨드/어드레스 패킷(CA 패킷)과 데이터 패킷으로 구분된다. 커맨드/어드레스 패킷은 커맨드 및 어드레스 정보를 포함한다. Packet types are classified into command / address packets (CA packets) and data packets. The command / address packet contains command and address information.

다시, 도 4a를 참조하면, 호스트(600)가 프라이머리 메모리(610)로부터 패킷 데이터를 읽어들이는 포그라운드 동작(680) 동안 프라이머리 메모리(610)는 세컨더리 메모리(620)로부터 패킷 데이터를 읽어들이는 백그라운드 동작(682)을 수행한다.Referring again to FIG. 4A, primary memory 610 reads packet data from secondary memory 620 during foreground operation 680 where host 600 reads packet data from primary memory 610. Performs a background operation 682.

호스트(600)가 프라이머리 메모리(610)만을 액세스하는 동안에는 프라이머리 메모리(610)는 "스마트(smart)" 상태로 동작하며, 세컨더리 메모리(620)는 아무 동작도 하지 않는 "스탠바이(stand-by)" 상태이다. While the host 600 only accesses the primary memory 610, the primary memory 610 operates in a “smart” state, and the secondary memory 620 does not operate at all “stand-by”. ) "State.

세컨더리 메모리(620)에 데이터를 쓰고자할 경우에는 프라이머리 메모리(610)는 호스트(600)로부터 커맨드와 어드레스 패킷 데이터 및 쓰기 패킷 데이터를 입력받아 세컨더리 메모리(620)로 필요한 패킷 데이터를 중계하는 리피터(repeater)로서 동작한다. When writing data to the secondary memory 620, the primary memory 610 receives a command, address packet data, and write packet data from the host 600, and repeats the packet data necessary for the secondary memory 620. It acts as a (repeater).

또한, 세컨더리 메모리(620)로부터 패킷 데이터를 읽고자 할 경우에는 프라이머리 메모리(610)는 세컨더리 메모리(620)로부터 읽어낸 읽기 패킷 데이터를 호스트(600)로 중계하는 리피터로서 동작한다. When reading packet data from the secondary memory 620, the primary memory 610 operates as a repeater for relaying read packet data read from the secondary memory 620 to the host 600.

이하, 호스트(600)가 랭크 0인 프라이머리 메모리(610)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들임과 함께, 랭크 1인 세컨더리 메모리(620)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 경우를 예로 들어 설명한다.Hereinafter, a case in which the host 600 reads packet data from memory bank 0 of the primary memory 610 having rank 0 and reads packet data from memory bank 0 of the secondary memory 620 having rank 1 is described below. It demonstrates by an example.

도 9를 참조하면, 먼저 호스트(600)로부터 WR/CA 버스를 통하여 랭크 0의 메모리 뱅크 0의 로우 어드레스를 활성화시키는 커맨드(ACT R0B0) 및 랭크 1의 메모리 뱅크 0의 로우 어드레스를 활성화시키는 커맨드(ACT R1B0)를 포함한 패킷 데이터(701)를 T1 순간에 기준 클럭(REF CLK)에 동기 시켜 프라이머리 메모리(610)로 전송한다. Referring to FIG. 9, first, a command ACT R0B0 for activating a row address of memory bank 0 in rank 0 and a command for activating row address of memory bank 0 in rank 1 from the host 600 through the WR / CA bus The packet data 701 including the ACT R1B0 is transmitted to the primary memory 610 in synchronization with the reference clock REF CLK at the time T1.

상기 ACT R0B0 및 상기 ACT R1B0 커맨드를 포함한 패킷 데이터(701)는 도 10a에 나타내었고, 상기 ACT R1B0 커맨드를 포함한 패킷 데이터(703)는 도 10b에 나타내었다. 프라이머리 메모리(610)는 호스트(600)로부터 버스트당 N 개 핀을 통해 전송된 N 개의 패킷 데이터를 버스트당 K 개 핀을 통해 K 개의 패킷 데이터로 전송할 수 있도록 변환하여 세컨더리 메모리(620)로 전송한다. 또한, 역으로 세컨더리 메모리(620)로부터 전송된 버스트당 K 개의 비트로 구성된 읽기 패킷 데이터를 버스트당 N 개의 읽기 패킷 데이터로 변환하여 호스트(620)로 전송한다. Packet data 701 including the ACT R0B0 and the ACT R1B0 commands is shown in FIG. 10A, and packet data 703 including the ACT R1B0 command is shown in FIG. 10B. The primary memory 610 converts the N packet data transmitted through the N pins per burst from the host 600 to be transmitted to the K packet data through the K pins per burst and transmits the data to the secondary memory 620. do. Conversely, read packet data consisting of K bits per burst transmitted from the secondary memory 620 is converted into N read packet data per burst and transmitted to the host 620.

도 10a를 참조하면, 버스트 1의 WR/CA 포트의 핀(PIN) 0/1/2/3에 프라이머리 메모리의 로우 어드레스의 활성화(activation) 커맨드를 나타내는 '0100'이 입력되고, 버스트 1의 WR/CA 포트의 핀(PIN) 5/6/7에 프라이머리 메모리인 랭크(rank) 0을 지시하는 '000'이 입력된다. 나머지 버스트 2 및 3의 프라이머리 메모리에 대한 메모리 뱅크 어드레스 및 메모리 어드레스는 도 8에서 설명한 바와 동일하다. Referring to FIG. 10A, '0100' indicating the activation command of the row address of the primary memory is input to pins 0/1/2/3 of the WR / CA port of the burst 1, and the burst 1 '000' indicating the rank 0, which is the primary memory, is input to pins 5/6/7 of the WR / CA port. The memory bank address and memory address for the remaining primary memories of bursts 2 and 3 are the same as described in FIG.

또한, 백그라운드 동작을 위하여 버스트 4의 WR/CA 포트의 핀(PIN) 0/1/2/3에 세컨더리 메모리의 로우 어드레스의 활성화(activation) 커맨드를 나타내는 '0100'이 입력되고, 버스트 4의 WR/CA 포트의 핀(PIN) 5/6/7에 세컨더리 메모리인 랭크(rank) 1을 지시하는 '001'이 입력된다. 나머지 버스트 5 및 6의 세컨더리 메모리에 대한 메모리 뱅크 어드레스 및 메모리 어드레스는 도 8에서 설명한 바와 동일하다. Also, for background operation, '0100' indicating the activation command of the row address of the secondary memory is input to pin 0/1/2/3 of the WR / CA port of the burst 4, and the WR of the burst 4 is input. '001', which indicates rank 1, the secondary memory, is input to pin 5/6/7 of the / CA port. The memory bank address and the memory address for the second memories of the remaining bursts 5 and 6 are the same as described with reference to FIG. 8.

도 10b를 참조하면, 버스트 1의 WR/CA 포트의 핀(PIN) 0/1/2/3에 세컨더리 메모리의 로우 어드레스의 활성화(activation) 커맨드를 나타내는 '0100'이 입력되고, 버스트 1의 WR/CA 포트의 핀(PIN) 5/6/7에 세컨더리 메모리인 랭크(rank) 1을 지시하는 '001'이 입력된다. 나머지 버스트 2 및 3의 세컨더리 메모리에 대한 메모리 뱅크 어드레스 및 메모리 어드레스는 도 7에서 설명한 바와 동일하다. Referring to FIG. 10B, '0100' indicating the activation command of the row address of the secondary memory is input to pin 0/1/2/3 of the WR / CA port of burst 1, and the WR of burst 1 is input. '001', which indicates rank 1, the secondary memory, is input to pin 5/6/7 of the / CA port. The memory bank address and the memory address for the secondary memories of the remaining bursts 2 and 3 are the same as described with reference to FIG. 7.

다시 도 4a 및 도 9를 참조하면, 프라이머리 메모리(610)는 상기 ACT R0B0 커맨드에 응답하여 랭크 0의 메모리 뱅크 0의 로우 어드레스를 활성화시키고, 상기 ACT R1B0 커맨드를 포함한 패킷 데이터(703)를 소정의 지연 시간(repeater delay) 후 T4 순간에 기준 클럭(REF CLK)에 동기시켜 WR/CA 포트를 통하여 세컨더리 메모리(620)로 출력한다. Referring again to FIGS. 4A and 9, the primary memory 610 activates a row address of memory bank 0 of rank 0 in response to the ACT R0B0 command, and predetermined packet data 703 including the ACT R1B0 command. After the delay time (repeater delay) of the T4 instantaneous synchronization with the reference clock (REF CLK) and outputs to the secondary memory 620 through the WR / CA port.

호스트(600)는 ACT R0B0 커맨드를 출력한 후부터 소정의 지연 시간(tRCD) 후인 T7 순간에 랭크 0의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 커맨드(RD R0B0) 및 랭크 1의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 커맨드(RD R1B0)를 포함하는 패킷 데이터(705)를 기준 클럭(REF CLK)에 동기시켜 WR/CA 버스를 통하여 프라이머리 메모리(610)로 전송한다.The host 600 reads the packet data from the memory bank 0 of the rank 0 and the packet from the memory bank 0 of the rank 1 from the output of the ACT R0B0 command after the predetermined delay time tRCD, at the time T7. The packet data 705 including the command RD R1B0 for reading data is transmitted to the primary memory 610 via the WR / CA bus in synchronization with the reference clock REF CLK.

프라이머리 메모리(610)는 ACT R1B0 커맨드를 세컨더리 메모리(620)로 중계(repeating)한 후부터 소정의 지연 시간(tRCD) 후인 T10 순간에 랭크 1의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 커맨드(RD R1B0)를 포함하는 패킷 데이터(707)를 읽기 클럭에 동기시켜 WR/CA 버스를 통하여 세컨더리 메모리(620)로 전송한다.The primary memory 610 reads the packet data from the memory bank 0 of rank 1 from the time of T10 at which the ACT R1B0 command is relayed to the secondary memory 620 after a predetermined delay time tRCD. The packet data 707 including R1B0 is transmitted to the secondary memory 620 through the WR / CA bus in synchronization with the read clock.

프라이머리 메모리(610)는 상기 RD R0B0 커맨드에 응답하여 소정의 CAS 래이 턴시(Column Address Strobe latency) 후 T13 순간에 상기 어드레스에 의해 지시된 데이터(709)를 WR/CA 버스를 통하여 호스트(600)로 출력한다.In response to the RD R0B0 command, the primary memory 610 transmits the data 709 indicated by the address through the WR / CA bus at a T13 instant after a predetermined column address strobe latency. Will output

세컨더리 메모리(620)는 상기 RD R1B0 커맨드에 응답하여 소정의 CAS 래이턴시 후 T16 순간에 상기 어드레스에 의해 지시된 데이터(711)를 WR/CA 버스를 통하여 프라이머리 호스트(610)로 출력한다. The secondary memory 620 outputs the data 711 indicated by the address to the primary host 610 through the WR / CA bus at the time T16 after a predetermined CAS latency in response to the RD R1B0 command.

프라이머리 메모리(610)는 소정의 리피터 지연 후 T18 순간에 상기 세컨더리 메모리(620)로부터 입력된 데이터(713)를 WR/CA 버스를 통하여 호스트(600)로 출력한다. The primary memory 610 outputs the data 713 inputted from the secondary memory 620 to the host 600 through the WR / CA bus at a time T18 after a predetermined repeater delay.

도 11a 내지 도 11d는 본 발명의 다른 실시예들에 따른 메모리 시스템을 나타낸 블록도이다. 11A through 11D are block diagrams illustrating a memory system according to other example embodiments of the inventive concepts.

도 11a 및 도 11b를 참조하면, 호스트(1100)는 복수의 채널-예를 들어(CH0~CH3 또는 CH0~CH7)-을 통해 메모리 모듈(1150)과 연결된다. 각 채널은 N 비트 다운 로딩 버스(down loading bus, 1101)와 M 비트 업 로딩 버스(up loading bus, 1103)로 구성된다. 여기서, N과 M은 서로 다른 값이 될 수 있으며, 서로 같은 값, 예를 들어 N은 8, M은 8을 가질 수 있다. 11A and 11B, the host 1100 is connected to the memory module 1150 through a plurality of channels, for example, CH0 to CH3 or CH0 to CH7. Each channel consists of an N bit down loading bus 1101 and an M bit up loading bus 1103. Here, N and M may be different values, and the same value, for example, N may have 8, and M may have 8.

이하, 다운 로딩 버스(1101)는 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)가 병합(merge)된 버스(도 4a 참조)가 될 수 도 있고, 또는 커맨드/어드레스 버스(CA)만을 나타낼 수도 있고(도 5 참조), 또는 서로 독립적으로 배선된 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)(도 6 참조)를 나타낼 수도 있다. Hereinafter, the downloading bus 1101 may be a bus in which the write data bus WR and the command / address bus CA are merged (see FIG. 4A), or only the command / address bus CA is used. The write data bus WR and the command / address bus CA (see Fig. 6) wired independently of each other may be shown.

업 로딩 버스(1103)는 쓰기 데이터 버스(WR)와 읽기 데이터 버스(RD)가 병합 된 버스가 될 수도 있고(도 5 참조), 읽기 데이터 버스(RD)만을 나타낼 수도 있다(도 6 및 4a 참조). The uploading bus 1103 may be a bus in which the write data bus WR and the read data bus RD are merged (see FIG. 5), or may represent only the read data bus RD (see FIGS. 6 and 4A). ).

호스트(1100)는 클록 신호(305)를 메모리 모듈(350)에 제공한다. 클록 신호(305)는 쓰기 기준 클럭(WCLK, 미도시) 또는 커맨드/어드레스 클럭(CACLK, 미도시)이 될 수 있다. 호스트(300)는 메모리 모듈(350)에 전원전압(미도시)을 제공한다. 메모리 모듈(1150) 내의 메모리들은 읽기 데이터를 호스트(1100)에 전송하기 위한 읽기 기준 클럭(RCLK, 미도시)을 생성한다. The host 1100 provides a clock signal 305 to the memory module 350. The clock signal 305 may be a write reference clock (WCLK, not shown) or a command / address clock (CACLK, not shown). The host 300 provides a power supply voltage (not shown) to the memory module 350. The memories in the memory module 1150 generate a read reference clock RCLK (not shown) for transmitting read data to the host 1100.

이하, 상기 클록 신호(CACLK, WCLK, RCLK)는 각각 커맨드/어드레스 패킷 데이터, 쓰기 데이터, 읽기 데이터를 입출력하는데 사용되며 도면상에서는 설명의 편의를 위해 도시를 생략하였다. Hereinafter, the clock signals CACLK, WCLK, and RCLK are used to input and output command / address packet data, write data, and read data, respectively, and are not shown in the drawings for convenience of description.

도 11a 및 도 11b에서는 하나의 메모리 모듈(1150)이 각각 4개 및 8개의 프라이머리 메모리와 각각 4개 및 8개의 세컨더리 메모리를 포함한 경우를 예로 들어 나타내었으나, 하나의 메모리 모듈(1150)은 4 이외의 n개의 프라이머리 메모리와 n개의 세컨더리 메모리를 포함할 수도 있다. 도 4a 및 도 4b에서는 도 11a의 복수의 프라이머리 메모리와 세컨더리 메모리 중 각각 하나씩만을 도시하였다. 11A and 11B illustrate an example in which one memory module 1150 includes four and eight primary memories and four and eight secondary memories, respectively, but one memory module 1150 is represented by four. Other n primary memories and n secondary memories may be included. 4A and 4B illustrate only one of the plurality of primary memories and the secondary memories of FIG. 11A.

다시 도 11a 및 도 11b를 참조하면, 호스트(1100)와 프라이머리 메모리(1110)는 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)가 병합된 다운 로딩 버스(1101)를 통하여 N 개의 핀의 WR/CA 포트와 M 개의 핀의 읽기 데이터(RD) 포트간 포인트-투-포인트 연결된다. Referring back to FIGS. 11A and 11B, the host 1100 and the primary memory 1110 may have N pins through the downloading bus 1101 in which the write data bus WR and the command / address bus CA are merged. A point-to-point connection is made between the WR / CA port of M and the read data (RD) port of M pins.

또한, 프라이머리 메모리(1110)와 세컨더리 메모리(1120)는 쓰기 데이터 버 스(WR)와 커맨드/어드레스 버스(CA)가 병합된 다운 로딩 버스(1111)를 통하여 N 개의 핀의 WR/CA 포트와 M 개의 핀의 읽기 데이터(RD) 포트간 포인트-투-포인트 연결된다. In addition, the primary memory 1110 and the secondary memory 1120 may be connected to the WR / CA ports of N pins through the downloading bus 1111 in which the write data bus WR and the command / address bus CA are merged. Point-to-point connections between the read data (RD) ports of the M pins.

호스트(1100)로부터 프라이머리 메모리(1110)로 또는 프라이머리 메모리(1110)로부터 세컨더리 메모리(1120)로 커맨드/어드레스 패킷 데이터 및/또는 쓰기 패킷 데이터가 상기 다운 로딩 버스(1101, 1111)를 통하여 패킷 데이터의 형태로 단방향으로 전송된다. Command / address packet data and / or write packet data from the host 1100 to the primary memory 1110 or from the primary memory 1110 to the secondary memory 1120 via the download buses 1101 and 1111. It is transmitted in one direction in the form of data.

또한, 상기 업 로딩 버스(1103, 1113)를 통하여 단방향으로, 즉 프라이머리 메모리(1110)로부터 호스트(1100)로 또는 세컨더리 메모리(1120)로부터 프라이머리 메모리(1110)로 읽기 데이터가 패킷 데이터의 형태로 전송된다. In addition, the read data is unidirectionally through the uploading buses 1103 and 1113, that is, from the primary memory 1110 to the host 1100 or from the secondary memory 1120 to the primary memory 1110 in the form of packet data. Is sent to.

예를 들어, N=8, K=4, M=4, L=2가 될 수 있으며, K는 N보다 작고 L은 M보다 작다. 즉, 세컨더리 메모리의 핀수가 프라이머리 메모리의 핀수보다 작으므로 하나의 메모리 모듈 내에 고용량을 위하여 다수의 메모리를 적층할 경우 메모리 모듈의 배선 수를 줄일 수 있다. For example, N = 8, K = 4, M = 4, L = 2, where K is less than N and L is less than M. That is, since the pin count of the secondary memory is smaller than the pin count of the primary memory, when a plurality of memories are stacked in one memory module for high capacity, the number of wirings of the memory module can be reduced.

도 12a 및 도 12b는 본 발명의 또 다른 실시예에 따른 메모리 시스템들을 나타낸 블록도이다.12A and 12B are block diagrams illustrating memory systems in accordance with some example embodiments of the inventive concepts.

도 12a는 쓰기 데이터 버스와 커맨드 및 어드레스 버스가 병합된 예를 나타내고, 도 12b는 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)가 독립적으로 배선된 예를 나타낸다. 도면에는 도시하지 않았지만, 쓰기 데이터 버스(WR)와 읽기 데이터 버스(RD)가 병합되도록 구성할 수도 있다.12A shows an example in which a write data bus, a command and an address bus are merged, and FIG. 12B shows an example in which the write data bus WR and the command / address bus CA are independently wired. Although not shown, the write data bus WR and the read data bus RD may be merged.

도 12a 및 도 12b를 참조하면, 호스트(1200a, 1200b)와 프라이머리 메모리(1210a, 1210b)간은 N 개의 핀과 M 개의 핀을 통하여 어드레스/커맨드, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 주고받는 반면, 프라이머리 메모리(1210a, 1210b)와 세컨더리 메모리(1220a, 1220b)간은 K 개의 핀과 L 개의 핀을 통하여 어드레스/커맨드, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 주고받는다. 여기서, K는 N보다 작고, L은 M보다 작은 값을 갖는다. 12A and 12B, the host 1200a and 1200b and the primary memory 1210a and 1210b exchange address / command, write packet data and read packet data through N pins and M pins. The primary memory 1210a and 1210b and the secondary memory 1220a and 1220b exchange address / command, write packet data and read packet data through K pins and L pins. Where K is less than N and L has a value less than M.

또한, 프라이머리 메모리(1210a, 1210b)와 써드 메모리(third memory, 1230a, 1230b)간은 K 개의 핀과 L 개의 핀을 통하여 어드레스/커맨드, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 주고받으며, 프라이머리 메모리(1210a, 1210b)와 포드 메모리(fourth memory, 1230a, 1230b)간은 K 개의 핀과 L 개의 핀을 통하여 어드레스/커맨드, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 주고받는다. In addition, the primary memory 1210a and 1210b and the third memory 1230a and 1230b exchange address / command, write packet data and read packet data through K pins and L pins. The 1212a and 1210b and the fourth memory 1230a and 1230b exchange address / command, write packet data and read packet data through K pins and L pins.

호스트(1200a, 1200b)와 프라이머리 메모리(1210a, 1210b)가 데이터를 주고받는 포그라운드 동작이 일어나는 동안 백그라운드 동작(background operation)이 병렬적으로 일어날 수 있다. Background operations may occur in parallel while foreground operations between the hosts 1200a and 1200b and the primary memories 1210a and 1210b exchange data.

여기서, 백그라운드 동작이라 함은 세컨더리 메모리(1220a, 1220b)와 프라이머리 메모리(1210a, 1210b)가 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및/또는 읽기 패킷 데이터를 주고받거나, 써드 메모리(1230a, 1230b)와 프라이머리 메모리(1210a, 1210b)가 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및/또는 읽기 패킷 데이터를 주고받거나, 포드 메모리(1240a, 1240b)와 프라이머리 메모리(1210a, 1210b)가 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및/또는 읽기 패킷 데이터를 주고받는 경우를 나타낸다. In this case, the background operation may be performed by the secondary memories 1220a and 1220b and the primary memories 1210a and 1210b exchanging address / command packet data, write packet data, and / or read packet data, or by third memory 1230a and 1230b. And primary memory 1210a and 1210b exchange address / command packet data, write packet data and / or read packet data, or pod memory 1240a and 1240b and primary memory 1210a and 1210b address / command packet. A case of exchanging data, write packet data, and / or read packet data is shown.

도 13a 및 도 13b는 본 발명의 또 다른 실시예에 따른 프라이머리 메모리와 세컨더리 메모리간 시리얼 링크(serial link)로 연결된 메모리 모듈들을 나타낸 블록도이다. 도면에는 도시하지 않았지만, 쓰기 데이터 버스(WR)와 읽기 데이터 버스(RD)가 병합되도록 구성할 수도 있다. 13A and 13B are block diagrams illustrating memory modules connected by a serial link between a primary memory and a secondary memory according to another embodiment of the present invention. Although not shown, the write data bus WR and the read data bus RD may be merged.

프라이머리 메모리(1310a, 1310b)는 내부에 N 비트 병렬 데이터를 직렬 데이터로 변환하는 직렬화기(serializer, 미도시)를 포함하고, 직렬 데이터를 N 비트 병렬 데이터로 변환하는 역직렬화기(deserializer, 미도시)를 포함한다. The primary memories 1310a and 1310b include a serializer (not shown) for converting N-bit parallel data into serial data therein and a deserializer for converting serial data to N-bit parallel data. City).

도 13a 및 도 13b를 참조하면, 호스트(1300a,1300b)와 프라이머리 메모리(1310a, 1310b)간의 프라이머리 링크의 핀 수에 비해 프라이머리 메모리(1310a, 1310b)와 세컨더리 메모리(1320a, 1320b)간의 세컨더리 링크의 핀 수를 대폭 줄여 시리얼 링크로 연결한다. Referring to FIGS. 13A and 13B, the primary memory 1310a and 1310b and the secondary memory 1320a and 1320b are compared with the number of pins of the primary link between the hosts 1300a and 1300b and the primary memories 1310a and 1310b. The number of pins on the secondary link is greatly reduced and connected to the serial link.

즉, 프라이머리 메모리(1310a, 1310b)와 이에 종속된 다른 종속 메모리(1320a, 1320b, 1330a, 1330b, 1340a, 1340b) 간은 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 시리얼로 전송한다.That is, between the primary memories 1310a and 1310b and the other dependent memories 1320a, 1320b, 1330a, 1330b, 1340a, and 1340b, the address / command packet data, write packet data, and read packet data are serially transmitted. .

호스트(1300a, 1300b)가 랭크 0인 프라이머리 메모리(1310a, 1310b)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이고, 랭크 1인 세컨더리 메모리(1320a, 1320b)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 동작에 대한 타이밍도는 패킷 전송이 시리얼로 이루어진다는 점을 제외하고는 도 7과 동일하므로 설명을 생략한다. Host 1300a, 1300b reads packet data from memory bank 0 of rank memory primary memory 1310a, 1310b, and reads packet data from memory bank 0 of rank memory secondary memory 1320a, 1320b. The timing diagram for the operation is the same as in FIG. 7 except that the packet transmission is serial, and thus description thereof is omitted.

도 13c는 도 7의 데이터 읽기 동작시 도 13a 및 도 13b의 프라이머리 메모리로부터 세컨더리 메모리로 직렬로 전송되는 커맨드 패킷을 나타낸다. 도 13c는 도 10b의 패킷 데이터를 직렬로 나타낸 것이다. 직렬화된 패킷 중 1301은 프라이머리 메모리의 로우 어드레스의 활성화(activation) 커맨드를 나타내고, 1305는 세컨더리 메모리인 랭크(rank) 1을 지시한다. 1309는 세컨더리 메모리에 대한 메모리 뱅크 어드레스 및 메모리 어드레스를 나타내고, 1311은 미사용 영역(reserved for future use)을 나타낸다.FIG. 13C illustrates a command packet serially transmitted from the primary memory of FIGS. 13A and 13B to the secondary memory in the data read operation of FIG. 7. FIG. 13C shows the packet data of FIG. 10B in series. 1301 of the serialized packet indicates an activation command of a row address of the primary memory, and 1305 indicates rank 1, which is a secondary memory. 1309 indicates a memory bank address and a memory address for the secondary memory, and 1311 indicates a reserved for future use.

본 발명의 메모리 시스템의 필요한 메모리 용량이 커져 메모리 모듈이 3 또는 4개 이상의 복수의 랭크(rank)로 이루어진 경우 프라이머리 메모리외의 세컨더리, 써드, 포드 메모리등 종속 메모리들을 액세스하기 위한 래이턴시(latency)가 증가할 수 있다. When the required memory capacity of the memory system of the present invention is increased and a memory module is composed of three or more ranks, a latency for accessing dependent memories such as secondary, third, and pod memories other than the primary memory is provided. ) May increase.

또한, 호스트의 입장에서도 각 랭크 별로 다른 읽기 래이턴시 또는 쓰기 래이턴시 때문에 커맨드 스케쥴링(command scheduling)이 어려워지고 버스의 효율성을 떨어뜨릴 수 있다. In addition, from the host's point of view, command scheduling may become difficult and bus efficiency may be reduced due to different read or write latency for each rank.

상기와 같은 문제점을 해결하기 위해 호스트와 인접한 프라이머리 메모리의 내부에 소정 사이즈의 캐시 메모리(cache)를 장착시킴으로써 필요한 데이터들을 세컨더리 메모리로부터 상기 캐시 메모리에 미리 프리-로드(pre-load)하도록 하여 메모리 액세스 전체적으로 볼 때 프라이머리 링크와의 액세스 확률(access probability)을 극대화시킬 수 있다. In order to solve the above problems, by installing a cache of a predetermined size inside the primary memory adjacent to the host, the necessary data is pre-loaded from the secondary memory into the cache memory in advance. In terms of access as a whole, the access probability with the primary link can be maximized.

도 14a, 도 15 및 도 16은 본 발명의 또 다른 실시예에 따른 캐시 메모리를 내장한 메모리 모듈들을 나타낸 블록도이다. 도 14b는 도 14a의 프라이머리 메모리의 내부 블록의 일례를 나타낸 것으로 프라이머리 메모리가 DRAM으로 구현되고, WR/CA 핀의 개수 I 가 1인 경우를 나타낸다. 본 발명의 실시예들은 도 14b에 도시된 메모리의 내부 블록 구성에 한정되지 않으며, 캐시 메모리를 구비한 메모리라면 도 14b의 내부 블록을 변형한 구조를 가진 다른 메모리 소자에도 적용될 수도 있음은 물론이다. 14A, 15, and 16 are block diagrams illustrating memory modules including a cache memory, according to another exemplary embodiment. FIG. 14B illustrates an example of an internal block of the primary memory of FIG. 14A, in which the primary memory is implemented as a DRAM and the number I of WR / CA pins is 1. Embodiments of the present invention are not limited to the internal block configuration of the memory illustrated in FIG. 14B, and a memory having a cache memory may also be applied to other memory devices having a modified structure of the internal block of FIG. 14B.

도 14a 및 도 14b를 참조하면, 프라이머리 메모리(1410) 내에 캐시(1415)를 두어 호스트(1400)에서 자주 액세스하는 데이터를 소정의 백그라운드 동작(1482)을 통하여 프라이머리 메모리(1410) 내의 메모리 셀 어레이(1476)로부터 읽어들여 미리 캐시(1415)에 가져다 저장해둔다. 예를 들어, 호스트(1400)에서 빈번히 액세스하는 데이터는 호스트의 과거의 메모리 데이터 액세스 경향을 반영하여 결정될 수 있다. 따라서, 호스트(1400)에서 페이지 히트(page hit) 시에 포그라운드 동작(1480)만을 통하여 프라이머리 메모리(1410)만을 액세스하면 되므로 세컨더리 메모리(1420) 이후의 종속 메모리들(1430)을 접속할 빈도를 줄여 전체적인 메모리 시스템의 처리율(throughput)을 높일 수 있다. Referring to FIGS. 14A and 14B, a memory 1415 is placed in the primary memory 1410 to access data frequently accessed by the host 1400 through a predetermined background operation 1462 through a memory background in the primary memory 1410. The data is read from the array 1476 and stored in the cache 1415 in advance. For example, data frequently accessed by the host 1400 may be determined to reflect the past memory data access trend of the host. Therefore, since only the primary memory 1410 needs to be accessed through the foreground operation 1480 during the page hit in the host 1400, the frequency of connecting the dependent memories 1430 after the secondary memory 1420 may be determined. This reduces the throughput of the overall memory system.

도 14b를 참조하면, 패킷 디코더(1452)는 호스트(1400)로부터 xN 핀을 통하여 WCLK 클럭에 동기된 WR/CA 패킷(쓰기 데이터, 커맨드/어드레스 패킷)을 입력받아 패킷을 분해하여 쓰기 데이터, 커맨드, 어드레스로 분해한다. 커맨드는 커맨드 디코더(1456)에서 해석되고, 어드레스(Address)는 어드레스 디코더(1458)에서 해석된다. 쓰기 데이터는 입력 버퍼(1454)로 제공되어 데이터 입력 레지스터(1472), 캐 시 버퍼(1415)를 거쳐 메모리 셀 어레이(1415)로 제공되거나, 또는 데이터 버퍼(1492), 시리얼라이저(1494) 및 리피터(1496)를 거쳐 세컨더리 메모리(1420)로 제공된다. 디멀티플럭서(1464)는 소정의 제어 신호(control 1)에 의해 상기 쓰기 데이터가 전달되는 상기 두가지 경로 중의 하나를 선택한다. 리피터(1496)는 일종의 출력 드라이버로 동작한다. 데이터 입력 레지스터(1472)는 데이터를 일시적으로 저장하는 버퍼 기능을 하며, 도 14b의 데이터 입력 레지스터(1472)는 생략될 수도 있다. Referring to FIG. 14B, the packet decoder 1452 receives a WR / CA packet (write data, command / address packet) synchronized with the WCLK clock from the host 1400 through the xN pin, and decomposes the packet to write data and command. To decompose it into addresses. The command is interpreted by the command decoder 1456 and the address is interpreted by the address decoder 1458. Write data is provided to the input buffer 1454 and provided to the memory cell array 1415 via the data input register 1472, the cache buffer 1415, or the data buffer 1492, the serializer 1494 and the repeater. Via 1496, it is provided to the secondary memory 1420. The demultiplexer 1464 selects one of the two paths through which the write data is transmitted by a predetermined control signal control 1. The repeater 1496 operates as a kind of output driver. The data input register 1472 functions as a buffer for temporarily storing data, and the data input register 1472 of FIG. 14B may be omitted.

한편, 세컨더리 메모리(1420)로부터 xJ 핀을 통하여 수신된 읽기 데이터는 입력 버퍼(1454)를 거쳐 메모리 셀 어레이(1415)로 제공되거나, 또는 디시리얼라이저(1466), 멀티플렉서(1468) 및 출력 버퍼(1470)를 거쳐 호스트(1400)로 제공된다. 디멀티플럭서(1462)는 소정의 제어 신호(control 2)에 의해 상기 읽기 데이터가 전달되는 상기 두가지 경로 중의 하나를 선택한다.On the other hand, read data received from the secondary memory 1420 through the xJ pin is provided to the memory cell array 1415 via the input buffer 1454, or the deserializer 1466, the multiplexer 1468, and the output buffer 1470. It is provided to the host 1400 via. The demultiplexer 1462 selects one of the two paths through which the read data is transmitted by a predetermined control signal (control 2).

여기서, 캐시(1415)는 소정의 제어 신호(control 3)에 기초하여 메모리 셀 어레이(1415)로부터 데이터를 읽어들이거나 메모리 셀 어레이(1415)로 데이터를 기록한다. 호스트(1500)에서 자주 필요로 하는 데이터는 세컨더리 메모리(1420) 및/또는 써드 메모리(1430) 등으로부터 읽혀져 프라이머리 메모리(1410)의 메모리 셀 어레이(1415)에 미리 저장되어 있을 수도 있고, 프라이머리 메모리(1410)의 메모리 셀 어레이(1415)에 미리 저장되어 있을 수도 있다. The cache 1415 reads data from or writes data to the memory cell array 1415 based on the predetermined control signal control 3. Frequently needed data in the host 1500 may be read from the secondary memory 1420 and / or the third memory 1430, and may be stored in advance in the memory cell array 1415 of the primary memory 1410. It may be previously stored in the memory cell array 1415 of the memory 1410.

프라이머리 메모리(1410)의 메모리 셀 어레이(1476)으로부터 읽혀진 데이터는 캐시(1415), 프리 페치부(1474), 멀티플렉서(1468) 및 출력 버퍼(1470)를 거쳐 호스트(1400)로 제공된다. 여기서, 멀티플렉서(1468)는 소정의 제어 신호(control 4)에 기초하여 세컨더리 메모리(1420)로부터 전송된 읽기 데이터 또는 프라이머리 메모리(1410)의 메모리 셀 어레이(1476)로부터 읽은 읽기 데이터 중 하나를 선택하여 출력 버퍼(1470)로 제공한다. 이때, 클럭 드라이버(1490)는 기준 클럭(REF CLK)를 이용하여 읽기 기준 클럭(RCLK)를 발생시켜 호스트(1400)로 함께 제공할 수 있다. Data read from the memory cell array 1476 of the primary memory 1410 is provided to the host 1400 via the cache 1415, the prefetch unit 1474, the multiplexer 1468, and the output buffer 1470. Here, the multiplexer 1468 selects either read data transmitted from the secondary memory 1420 or read data read from the memory cell array 1476 of the primary memory 1410 based on a predetermined control signal control 4. To the output buffer 1470. In this case, the clock driver 1490 may generate a read reference clock RCLK using the reference clock REF CLK and provide the read reference clock RCLK to the host 1400.

도 15는 호스트(1500)에서 자주 필요로 하는 데이터를 소정의 백그라운드 동작(1582)을 통하여 미리 프라이머리 메모리(1510)의 제1 캐시(1515)에 가져다 저장해두고, 프라이머리 메모리(1510)에서 자주 필요로 하는 데이터를 소정의 백그라운드 동작(1584)을 통하여 미리 세컨더리 메모리(1520)의 제2 캐시(1525)에 가져다 저장한다. 따라서, 호스트에서 페이지 히트(page hit) 시에 포그라운드 동작(1580)만을 통하여 프라이머리 메모리(1510)만을 액세스하면 되므로 세컨더리 메모리(1520) 이후의 종속 메모리들(1530)을 접속할 빈도를 줄여 전체적인 메모리 시스템의 처리율(throughput)을 높일 수 있다. 제1 캐시(1515) 및 제2 캐시(1525)의 캐시 사이즈는 서로 다를 수 있다. 즉, 캐시 사이즈를 메모리 랭크 깊이(depth) 별로 다르게 할 수 있다. 따라서, 페이지 로컬리티(page locality)에 따른 데이터 분산효과를 얻을 수 있다. FIG. 15 fetches and stores data frequently needed by the host 1500 in the first cache 1515 of the primary memory 1510 in advance through a predetermined background operation 1852 and frequently stores the data in the primary memory 1510. The required data is brought into the second cache 1525 of the secondary memory 1520 in advance through a predetermined background operation 1584 and stored therein. Accordingly, since only the primary memory 1510 needs to be accessed through the foreground operation 1580 when the page hits the host, the overall memory is reduced by reducing the frequency of accessing the slave memories 1530 after the secondary memory 1520. It can increase the throughput of the system. The cache sizes of the first cache 1515 and the second cache 1525 may be different. In other words, the cache size may be different for each memory rank depth. Therefore, the data distribution effect according to page locality can be obtained.

도 14a 및 도 15를 참조하면, 호스트(1400, 1500)와 프라이머리 메모리(1410, 1510)간은 N 개의 핀과 M 개의 핀을 통하여 커맨드/어드레스 패킷 데이터 및 패킷 데이터를 주고받는 반면, 프라이머리 메모리(1410, 1510)와 세컨더리 메모 리(1420, 1520)간은 I 개의 핀과 J 개의 핀을 통하여 커맨드/어드레스 패킷 데이터 및 패킷 데이터를 주고받는다. 또한, 세컨더리 메모리(1420, 1520)와 써드 메모리(1430, 1530)간은 I 개의 핀과 J 개의 핀을 통하여 커맨드/어드레스 패킷 데이터 및 패킷 데이터를 주고받는다. 여기서, I는 N보다 작고, J는 M보다 작은 양의 정수 값을 갖는다. 14A and 15, the host 1400 and 1500 and the primary memory 1410 and 1510 exchange command / address packet data and packet data through N pins and M pins, whereas primary The memory 1410 and 1510 and the secondary memory 1420 and 1520 exchange command / address packet data and packet data through I and J pins. In addition, the secondary memory 1420 and 1520 and the third memory 1430 and 1530 exchange command / address packet data and packet data through I and J pins. Where I is less than N and J has a positive integer value less than M.

도 16은 외부 캐시(external cache, 1605)가 메모리 모듈(1650)에 장착되고, 호스트(1600)에서 자주 사용하는 데이터를 소정의 백그라운드 동작(1682, 1684)을 통하여 미리 외부 캐시(1605)에 가져다 저장한다. 호스트(1600)는 페이지 히트가 발생시 포그라운드 동작(1680)만을 통하여 외부 캐시(1605)만을 액세스하면 되므로 세컨더리 메모리(1610a 내지 1610d) 이후의 종속 메모리들(1620a 및 1630a, 1620b 및 1630b, 1620c 및 1630c, 1620d 및 1630d)을 접속할 빈도를 줄여 전체적인 메모리 시스템의 처리율(throughput)을 높일 수 있다.FIG. 16 illustrates that an external cache 1605 is mounted in the memory module 1650 and the data frequently used by the host 1600 is brought to the external cache 1605 in advance through predetermined background operations 1802 and 1684. Save it. Since the host 1600 only needs to access the external cache 1605 through the foreground operation 1680 when a page hit occurs, the slave memories 1620a and 1630a, 1620b, and 1630b, 1620c, and 1630c after the secondary memories 1610a through 1610d. 1620d and 1630d may be reduced to increase throughput of the overall memory system.

도 17은 본 발명의 또 다른 실시예에 따른 도 11a와 같은 2 랭크 메모리 모듈의 프라이머리 메모리와 세컨더리 메모리들을 다이 스택(die stack) 또는 패키지 스택(package stack)의 적층 구조를 가지도록 구현한 경우를 나타낸다. FIG. 17 illustrates a case where a primary memory and a secondary memory of a second rank memory module as shown in FIG. 11A according to another embodiment of the present invention have a stack structure of a die stack or a package stack. Indicates.

도 17을 참조하면, 메모리 모듈(350)상의 첫번째 스택 메모리 중 밑에 위치한 프라이머리 메모리(310)는 호스트(미도시)와 다운 로딩 버스-예를 들어 WR/CA 버스-를 통하여 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 전송 받고, 프라이머리 메모리(310)는 메모리 모듈(350) 상의 세컨더리 메모리(320)로 상기 전송받은 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 재전송한다. Referring to FIG. 17, the primary memory 310 located below one of the first stack memories on the memory module 350 may transmit command / address packet data through a host (not shown) and a downloading bus, for example, a WR / CA bus. And the write packet data is received, and the primary memory 310 retransmits the received command / address packet data and the write packet data to the secondary memory 320 on the memory module 350.

상부의 세컨더리 메모리(320)로부터 읽혀진 데이터는 프라이머리 메모리(310)로 재전송되어 업 로딩 버스-예를 들어 읽기 데이터 버스(RD)-를 통하여 호스트(미도시)로 출력된다.Data read from the upper secondary memory 320 is retransmitted to the primary memory 310 and output to a host (not shown) through an upload bus, for example, a read data bus RD.

도 18은 본 발명의 또 다른 실시예에 따른 도 12a 내지 도 16과 같은 4 랭크 메모리 모듈의 프라이머리 메모리와 세컨더리 메모리들을 다이 스택(die stack) 또는 패키지 스택(package stack)의 적층 구조를 가지도록 구현한 경우를 나타낸다. FIG. 18 illustrates a stack structure of a die stack or a package stack of primary and secondary memories of a 4 rank memory module as shown in FIGS. 12A through 16 according to another embodiment of the present invention. The implementation case is shown.

도 18을 참조하면, 메모리 모듈(350)상의 첫번째 스택 메모리 중 밑에 위치한 프라이머리 메모리(1810)는 호스트(미도시)와 다운 로딩 버스-예를 들어 WR/CA 버스-를 통하여 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 전송 받고, 프라이머리 메모리(1810)는 메모리 모듈(350) 상의 세컨더리 메모리(1820)로 상기 전송받은 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 재전송한다. 프라이머리 메모리(1810)는 메모리 모듈(350) 상의 써드 메모리(1830)로 상기 전송받은 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 재전송한다. 프라이머리 메모리(1810)는 메모리 모듈(350) 상의 포드 메모리(1840)로 상기 전송받은 커맨드/어드레스 패킷 데이터 및 쓰기 패킷 데이터를 재전송한다. Referring to FIG. 18, the primary memory 1810 located below one of the first stack memories on the memory module 350 may transmit command / address packet data through a host (not shown) and a downloading bus, for example, a WR / CA bus. And write packet data, the primary memory 1810 retransmits the received command / address packet data and write packet data to the secondary memory 1820 on the memory module 350. The primary memory 1810 retransmits the received command / address packet data and write packet data to the third memory 1830 on the memory module 350. The primary memory 1810 retransmits the received command / address packet data and write packet data to the pod memory 1840 on the memory module 350.

상부의 세컨더리 메모리(1820), 써드 메모리(1830) 또는 포드 메모리(1840)로부터 읽혀진 데이터는 프라이머리 메모리(1810)로 재전송되어 업 로딩 버스-예를 들어 읽기 데이터 버스(RD)-를 통하여 호스트(미도시)로 출력된다.Data read from the upper secondary memory 1820, the third memory 1830, or the pod memory 1840 is retransmitted to the primary memory 1810 to be transferred to the host via an upload bus (eg, a read data bus RD). (Not shown).

도 19는 본 발명의 또 다른 실시예에 따른 2 랭크 메모리 모듈의 메모리들이 배치된 구조를 나타내는 개념도이고, 도 20 및 도 21은 본 발명의 또 다른 실시예 에 따른 4 랭크 메모리 모듈의 메모리들이 배치된 구조를 나타내는 개념도이다. 19 is a conceptual diagram illustrating a structure in which memories of a second rank memory module according to another embodiment of the present invention are arranged, and FIGS. 20 and 21 illustrate arrangements of memories of a fourth rank memory module according to another embodiment of the present invention. Is a conceptual diagram showing a structured structure.

도19의 메모리 모듈(350)은 반도체 기판(302) 제1면(302a)에 랭크 0의 프라이머리 메모리(310) 및 랭크1의 세컨더리 메모리(320)가 배치된 2랭크 메모리 시스템을 나타낸다. The memory module 350 of FIG. 19 illustrates a second rank memory system in which a primary memory 310 of rank 0 and a secondary memory 320 of rank 1 are disposed on a first surface 302a of a semiconductor substrate 302.

도 20의 메모리 모듈(1250)은 반도체 기판(1202) 제1면(1202a)에 랭크 0의 프라이머리 메모리(1210) 및 랭크 1의 세컨더리 메모리(1220)가 배치되고 반도체 기판(1202) 제2면(1202b)에 랭크 3의 써드 메모리(1230) 및 랭크 4의 포드 메모리(1240)가 배치된 4 랭크 메모리 시스템을 나타낸다. 상기 메모리들(1210 ~ 1240)들이 내부 버스(1215, 1225, 1235)에 의해 포인트 투 포인트(POINT-TO-POINT) 방식으로 종속적으로 연결된다. In the memory module 1250 of FIG. 20, a primary memory 1210 of rank 0 and a secondary memory 1220 of rank 1 are disposed on a first surface 1202a of a semiconductor substrate 1202, and a second surface of a semiconductor substrate 1202. A rank 3 third memory 1230 and rank 4 pod memory 1240 are disposed at 1202b. The memories 1210 to 1240 are connected in a point-to-point manner by the internal buses 1215, 1225, and 1235.

도 21의 메모리 모듈(1200)은 제1면(1202a)에 랭크 0의 프라이머리 메모리(1210), 랭크 1의 세컨더리 메모리(1220), 랭크 3의 써드 메모리(1230) 및 랭크 4의 포드 메모리(1240)가 배치된 4 랭크 메모리 시스템을 나타낸다. 상기 메모리들(1210 ~ 1240)들이 내부 버스(1215, 1225, 1235)에 의해 포인트 투 포인트(POINT-TO-POINT) 방식으로 종속적으로 연결된다. The memory module 1200 of FIG. 21 includes a primary memory 1210 of rank 0, a secondary memory 1220 of rank 1, a third memory 1230 of rank 3, and a pod memory of rank 4 on a first surface 1202a. 1240 illustrates a four rank memory system. The memories 1210 to 1240 are connected in a point-to-point manner by the internal buses 1215, 1225, and 1235.

외부 버스(305, 1205) 및 내부 버스(315, 1215, 1225, 1235)는 커맨드/어드레스(CA) 버스, 쓰기 데이터(WR) 버스 및 읽기 데이터(RD) 버스를 포함할 수 있다. 또는 외부 버스(305, 1205) 및 내부 버스(315, 1215)는 커맨드/어드레스(CA) 버스, 쓰기 데이터(WR) 버스 및 읽기 데이터(RD) 버스를 포함할 수 있다. 또는 외부 버스(305, 1205) 및 내부 버스(315, 1215)는 쓰기 데이터 및 커맨드/어드레스(WR/CA) 버스 및 읽기 데이터(RD) 버스를 포함할 수 있다. The external buses 305 and 1205 and the internal buses 315, 1215, 1225 and 1235 may include a command / address (CA) bus, a write data (WR) bus, and a read data (RD) bus. Alternatively, the external buses 305 and 1205 and the internal buses 315 and 1215 may include a command / address (CA) bus, a write data (WR) bus, and a read data (RD) bus. Alternatively, the external buses 305 and 1205 and the internal buses 315 and 1215 may include a write data and command / address (WR / CA) bus and a read data (RD) bus.

상기와 같은 메모리 모듈 및 메모리 시스템에 따르면, 호스트와 프라이머리 메모리간 커맨드/어드래스 및/또는 데이터를 주고받을 때 프라이머리 메모리 및 세컨더리 메모리 간에도 동시에 다른 형태의 커맨드/어드레스 및/또는 데이터를 주고받을 수 있다. 호스트는 프라이머리 메모리를 액세스할 경우 세컨더리 메모리의 포트로는 필요한 데이터들의 트랜잭션(transaction)이 일어나도록 커맨드를 준다. 그 결과, 호스트는 프라이머리 메모리와 커맨드/어드래스 및/또는 데이터를 주고받으며, 동시에 백그라운드 동작을 통해 필요한 데이터들은 세컨더리 메모리의 쉬고 있는 다른 포트들을 통해 입출력된다. 따라서, 데이터의 처리율(throughput)을 높이고 병렬처리능력(concurrency)이 대폭 증가될 수 있다. According to the memory module and the memory system as described above, when a command / address and / or data is exchanged between the host and the primary memory, another type of command / address and / or data can be simultaneously exchanged between the primary memory and the secondary memory. Can be. When the host accesses the primary memory, the host issues a command for a transaction of necessary data to the port of the secondary memory. As a result, the host exchanges commands / addresses and / or data with the primary memory, while at the same time the necessary data is inputted and outputted through the other resting ports of the secondary memory. Therefore, the throughput of data and the concurrency can be greatly increased.

또한, 세컨더리 메모리의 핀수를 프라이머리 메모리 보다 적게 하여 프라이머리 메모리에 종속적으로 동작케 함으로써 전체 메모리 시스템의 비용(cost)을 대폭 낮출 수 있다. 특히, 프라이머리 메모리와 세컨더리 메모리간 시리얼 링크를 사용할 경우 세컨더리 메모리의 핀 수를 대폭 줄일 수 있으므로 고용량을 위하여 메모리를 적층하는 구조를 사용할 경우 배선 수를 크게 줄일 수 있다. In addition, since the number of pins of the secondary memory is smaller than that of the primary memory, it is possible to operate dependently on the primary memory, thereby significantly reducing the cost of the entire memory system. In particular, when the serial link between the primary memory and the secondary memory is used, the number of pins of the secondary memory can be greatly reduced, and thus the number of wires can be greatly reduced when the memory stacking structure is used for high capacity.

또한, 프라이머리 메모리 내에 캐시를 두어 호스트에서 자주 필요로 하는 데이터를 미리 캐시에 가져다 저장해두고, 페이지 히트(page hit) 시에 세컨더리 메모리 이후의 종속 메모리들을 접속할 빈도를 줄여 전체적인 메모리 시스템의 처 리율(throughput)을 높일 수 있다.  In addition, the cache is stored in the primary memory to store the data that is frequently needed by the host in advance, and reduces the frequency of accessing the subordinate memories after the secondary memory at the time of page hit. throughput can be increased.

또한, 프라이머리 메모리 내부에 제1 캐시를 두고, 세컨더리 메모리 내부에 제1 캐시와 다른 캐시 사이즈를 가진 제2 캐시를 두어, 호스트에서 자주 필요로 하는 데이터를 미리 프라이머리 메모리의 제1 캐시에 가져다 저장해두고, 프라이머리 메모리에서 자주 필요로 하는 데이터를 미리 세컨더리 메모리의 제2 캐시에 가져다 저장한다. 캐시 사이즈를 메모리 링크 깊이(depth) 별로 다르게 하여 페이지 로컬리티(page locality)에 따른 데이터 분산효과를 얻을 수 있다. In addition, a first cache is placed inside the primary memory, and a second cache having a different cache size from the first cache is placed inside the secondary memory so that data frequently needed by the host is brought into the first cache of the primary memory in advance. In order to store the data frequently needed in the primary memory, the secondary memory is stored in advance in the second cache of the secondary memory. By varying the cache size for each memory link depth, data distribution effect according to page locality may be obtained.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

Claims (20)

N(N은 양의 정수) 개의 핀의 제1 포트를 통하여 호스트와 제1 패킷 데이터를 송수신하고, K(K는 N 보다 작은 정수) 개의 핀의 제2 포트를 통하여 제2 패킷 데이터를 송수신하는 적어도 하나의 프라이머리 메모리; 및Transmitting and receiving first packet data with a host through a first port of N (N is a positive integer) pins, and transmitting and receiving a second packet data through a second port of K (K is an integer less than N) pins. At least one primary memory; And K 개의 핀의 제3 포트를 통하여 대응하는 프라이머리 메모리와 상기 제2 패킷 데이터를 수신하는 적어도 하나의 세컨더리 메모리를 포함하는 메모리 모듈. And a corresponding primary memory and at least one secondary memory for receiving the second packet data through a third port of the K pins. 제1항에 있어서, 상기 적어도 하나의 세컨더리 메모리는 상기 대응하는 프라이머리 메모리와 포인트-투-포인트 연결되는 것을 특징으로 하는 메모리 모듈. The memory module of claim 1, wherein the at least one secondary memory is point-to-point coupled with the corresponding primary memory. 제1항에 있어서, 상기 제2 패킷 데이터는 하나의 버스트(burst)가 K개의 비트로 구성되고, 상기 제1 패킷 데이터는 하나의 버스트가 N 개의 비트로 구성되는 것을 특징으로 하는 메모리 모듈. The memory module of claim 1, wherein the second packet data includes one burst of K bits, and the first packet data includes one burst of N bits. 제3항에 있어서, 상기 적어도 하나의 프라이머리 메모리는 상기 버스트당 N 개의 비트로 구성된 제1 패킷 데이터를 버스트당 K 개의 비트를 갖도록 변환하여 상기 제2 패킷 데이터를 생성하는 것을 특징으로 하는 메모리 모듈. The memory module of claim 3, wherein the at least one primary memory converts the first packet data consisting of N bits per burst to have K bits per burst to generate the second packet data. 제3항에 있어서, 상기 적어도 하나의 프라이머리 메모리는 상기 버스트당 K 개의 비트로 구성된 제2 패킷 데이터를 버스트당 N 개의 비트를 갖도록 변환하여 상기 제1 패킷 데이터를 생성하는 것을 특징으로 하는 메모리 모듈. The memory module of claim 3, wherein the at least one primary memory converts second packet data consisting of K bits per burst to have N bits per burst to generate the first packet data. 제1항에 있어서, 상기 호스트가 상기 세컨더리 메모리로 쓰기 동작을 수행할 경우 상기 프라이머리 메모리는 상기 호스트로부터 커맨드 패킷 데이터, 어드레스 패킷 데이터 및 쓰기 패킷 데이터를 상기 제1 포트를 통하여 제공받아 상기 제2 포트를 통하여 상기 세컨더리 메모리로 중계하는 것을 특징으로 하는 메모리 모듈. The method of claim 1, wherein when the host performs a write operation to the secondary memory, the primary memory receives command packet data, address packet data, and write packet data from the host through the first port. And relay to the secondary memory through a port. 제1항에 있어서, 상기 호스트가 상기 세컨더리 메모리로부터 읽기 동작을 수행할 경우, 상기 프라이머리 메모리는 상기 세컨더리 메모리로부터 읽기 패킷 데이터를 상기 제2 포트를 통하여 제공받아 상기 제1 포트를 통하여 상기 호스트로 중계하는 것을 특징으로 하는 메모리 모듈. The method of claim 1, wherein when the host performs a read operation from the secondary memory, the primary memory receives read packet data from the secondary memory through the second port to the host through the first port. And a memory module for relaying. 제1항에 있어서, K는 1인 것을 특징으로 하는 메모리 모듈. 2. The memory module of claim 1 wherein K is one. 제8항에 있어서, 상기 호스트가 상기 세컨더리 메모리로 쓰기 동작을 수행할 경우 상기 프라이머리 메모리는 상기 호스트로부터 커맨드 패킷 데이터, 어드레스 패킷 데이터 및 쓰기 패킷 데이터를 상기 제1 포트를 통하여 제공받아 직렬화하여 상기 제2 포트를 통하여 상기 세컨더리 메모리로 중계하는 것을 특징으로 하는 메모리 모듈. The method of claim 8, wherein when the host performs a write operation to the secondary memory, the primary memory receives and serializes command packet data, address packet data, and write packet data from the host through the first port. And relay to the secondary memory through a second port. 제8항에 있어서, 상기 호스트가 상기 세컨더리 메모리로부터 읽기 동작을 수행할 경우, 상기 프라이머리 메모리는 상기 세컨더리 메모리로부터 읽기 패킷 데이터를 상기 제2 포트를 통하여 제공받아 역직렬화하여 상기 제1 포트를 통하여 상기 호스트로 중계하는 것을 특징으로 하는 메모리 모듈. The method of claim 8, wherein when the host performs a read operation from the secondary memory, the primary memory receives and deserializes read packet data from the secondary memory through the second port and through the first port. And relay to the host. 제1항에 있어서, 상기 적어도 하나의 프라이머리 메모리는 상기 호스트에서 자주 액세스하는 소정의 제1 데이터를 미리 저장하는 제1 캐쉬 메모리를 포함하는 것을 특징으로 하는 메모리 모듈. The memory module of claim 1, wherein the at least one primary memory comprises a first cache memory that stores in advance predetermined first data frequently accessed by the host. 제11항에 있어서, 상기 적어도 하나의 프라이머리 메모리는 백그라운드 동작을 통하여 상기 제2 포트를 통하여 상기 소정의 제1 데이터를 상기 대응하는 세컨더리 메모리로부터 읽어들여 상기 제1 캐시 메모리에 저장하는 것을 특징으로 하는 메모리 모듈. The method of claim 11, wherein the at least one primary memory reads the predetermined first data from the corresponding secondary memory through the second port through a background operation and stores the first data in the first cache memory. Memory module. 제11항에 있어서, 상기 적어도 하나의 세컨더리 메모리는 상기 대응하는 프라이머리 메모리에서 자주 액세스하는 소정의 제2 데이터를 미리 저장하는 제2 캐쉬 메모리를 더 포함하는 것을 특징으로 하는 메모리 모듈. 12. The memory module of claim 11, wherein the at least one secondary memory further comprises a second cache memory that pre-stores predetermined second data frequently accessed from the corresponding primary memory. 제13항에 있어서, 상기 제1 캐시 메모리와 상기 제2 캐시 메모리의 사이즈는 서로 다른 것을 특징으로 하는 메모리 모듈. The memory module of claim 13, wherein sizes of the first cache memory and the second cache memory are different from each other. 제1항에 있어서, 상기 적어도 하나의 세컨더리 메모리는 상기 K 개의 핀의 제3 포트를 통하여 대응하는 프라이머리 메모리로 제3 패킷 데이터를 송신하는 것을 특징으로 하는 메모리 모듈. The memory module of claim 1, wherein the at least one secondary memory transmits third packet data to a corresponding primary memory through a third port of the K pins. 제15항에 있어서, 상기 적어도 하나의 프라이머리 메모리는 상기 K 개의 핀의 제2 포트를 통하여 대응하는 세컨더리 메모리로부터 상기 제3 패킷 데이터를 수신하는 것을 특징으로 하는 메모리 모듈. 16. The memory module of claim 15, wherein the at least one primary memory receives the third packet data from a corresponding secondary memory through second ports of the K pins. 호스트; 및Host; And N(N은 양의 정수) 개의 핀의 제1 포트를 통하여 상기 호스트와 제1 패킷 데이터를 송수신하고 K(K는 N 보다 작은 정수) 개의 핀의 제2 포트를 통하여 제2 패킷 데이터를 송수신하는 적어도 하나의 프라이머리 메모리와, K 개의 핀의 제3 포트를 통하여 대응하는 프라이머리 메모리와 상기 제2 패킷 데이터를 수신하는 적어도 하나의 세컨더리 메모리를 가지는 메모리 모듈를 포함하는 메모리 시스템. Transmitting and receiving first packet data to and from the host through a first port of N (N is a positive integer) pins, and transmitting and receiving second packet data to and from a second port of K (K is an integer less than N) pins. And a memory module having at least one primary memory, a corresponding primary memory and at least one secondary memory receiving the second packet data through a third port of the K pins. 제17항에 있어서, K는 1인 것을 특징으로 하는 메모리 시스템.18. The memory system of claim 17 wherein K is one. 제17항에 있어서, 상기 적어도 하나의 프라이머리 메모리는 상기 호스트에서 자주 액세스하는 소정의 데이터를 미리 저장하는 캐쉬 메모리를 포함하는 것을 특징으로 하는 메모리 시스템.18. The memory system of claim 17 wherein the at least one primary memory comprises a cache memory that pre-stores predetermined data frequently accessed by the host. 제17항에 있어서, 상기 메모리 시스템은 상기 호스트에서 자주 액세스하는 소정의 데이터를 미리 저장하는 캐쉬 메모리를 상기 호스트와 상기 프라이머리 메모리 사이에 포함하는 것을 특징으로 하는 메모리 시스템.18. The memory system of claim 17 wherein the memory system includes a cache memory between the host and the primary memory that pre-stores predetermined data frequently accessed by the host.
KR1020050084813A 2005-09-12 2005-09-12 Semiconductor memory module and semiconductor memory system KR100717113B1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020050084813A KR100717113B1 (en) 2005-09-12 2005-09-12 Semiconductor memory module and semiconductor memory system
US11/451,802 US7966446B2 (en) 2005-09-12 2006-06-13 Memory system and method having point-to-point link
JP2006228308A JP5052842B2 (en) 2005-09-12 2006-08-24 Memory system and method having point-to-point links
TW095132757A TW200731274A (en) 2005-09-12 2006-09-05 Memory system and method having point-to-point link
DE102006043311A DE102006043311A1 (en) 2005-09-12 2006-09-11 storage system
CNA2006101536308A CN1933018A (en) 2005-09-12 2006-09-12 Memory system and method having point-to-point link
US12/006,766 US7930492B2 (en) 2005-09-12 2008-01-04 Memory system having low power consumption
US13/153,850 US20110289269A1 (en) 2005-09-12 2011-06-06 Memory system and method having point-to-point link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050084813A KR100717113B1 (en) 2005-09-12 2005-09-12 Semiconductor memory module and semiconductor memory system

Publications (2)

Publication Number Publication Date
KR20070030056A KR20070030056A (en) 2007-03-15
KR100717113B1 true KR100717113B1 (en) 2007-05-10

Family

ID=37878794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050084813A KR100717113B1 (en) 2005-09-12 2005-09-12 Semiconductor memory module and semiconductor memory system

Country Status (2)

Country Link
KR (1) KR100717113B1 (en)
CN (1) CN1933018A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100916215B1 (en) 2005-09-20 2009-09-08 삼성전자주식회사 Protocol memory, memory module, protocl memory system and method for controlling thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990029792A (en) * 1997-09-16 1999-04-26 가네꼬 히사시 Semiconductor integrated circuit device
US5900011A (en) 1996-07-01 1999-05-04 Sun Microsystems, Inc. Integrated processor/memory device with victim data cache
KR20020094354A (en) * 2001-06-11 2002-12-18 삼성전자 주식회사 semiconductor memory device having memory cell arrays capable of accomplishing random access
US6647474B2 (en) 1993-04-23 2003-11-11 Emc Corporation Remote data mirroring system using local and remote write pending indicators
KR20040005877A (en) * 2001-02-23 2004-01-16 마이크론 테크놀로지, 인크 A method of synchronizing read timing in a high speed memory system
KR20050078206A (en) * 2004-01-30 2005-08-04 삼성전자주식회사 Volatile memory device for buffering between non-volatile memory and host, multi-chip packaged semiconductor device and apparatus for processing data using the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647474B2 (en) 1993-04-23 2003-11-11 Emc Corporation Remote data mirroring system using local and remote write pending indicators
US5900011A (en) 1996-07-01 1999-05-04 Sun Microsystems, Inc. Integrated processor/memory device with victim data cache
KR19990029792A (en) * 1997-09-16 1999-04-26 가네꼬 히사시 Semiconductor integrated circuit device
KR20040005877A (en) * 2001-02-23 2004-01-16 마이크론 테크놀로지, 인크 A method of synchronizing read timing in a high speed memory system
KR20020094354A (en) * 2001-06-11 2002-12-18 삼성전자 주식회사 semiconductor memory device having memory cell arrays capable of accomplishing random access
KR20050078206A (en) * 2004-01-30 2005-08-04 삼성전자주식회사 Volatile memory device for buffering between non-volatile memory and host, multi-chip packaged semiconductor device and apparatus for processing data using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100916215B1 (en) 2005-09-20 2009-09-08 삼성전자주식회사 Protocol memory, memory module, protocl memory system and method for controlling thereof

Also Published As

Publication number Publication date
CN1933018A (en) 2007-03-21
KR20070030056A (en) 2007-03-15

Similar Documents

Publication Publication Date Title
US11194749B2 (en) Cross-threaded memory system
US9348786B2 (en) Semiconductor memory device with plural memory die and controller die
US6970968B1 (en) Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
US6968419B1 (en) Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
KR100732194B1 (en) Memory module, memory system and method for controlling thereof
US7965530B2 (en) Memory modules and memory systems having the same
TWI399756B (en) Memory modules and memory ststems having the same
US20060149857A1 (en) Memory system including a memory module having a memory module controller
US20140325105A1 (en) Memory system components for split channel architecture
CN110633229A (en) DIMM for high bandwidth memory channel
CN117099075A (en) Double fetch for memory data transfer for long burst length
CN110633230A (en) High bandwidth DIMM
JP5706060B2 (en) Semiconductor memory device and product development method
KR100717113B1 (en) Semiconductor memory module and semiconductor memory system
US20220368047A1 (en) Adapter card with compression attached memory modules
KR19980029009A (en) Semiconductor memory device
US11928039B1 (en) Data-transfer test mode
US12100468B2 (en) Standalone mode
US20240079036A1 (en) Standalone Mode
EP4312104A1 (en) Memory module adapter card with multiplexer circuitry
US20230333928A1 (en) Storage and access of metadata within selective dynamic random access memory (dram) devices
US20240070093A1 (en) Asymmetric Read-Write Sequence for Interconnected Dies
US20230393740A1 (en) Four way pseudo split die dynamic random access memory (dram) architecture
US20230044892A1 (en) Multi-channel memory module
WO2008014413A2 (en) Cross-threaded memory device and system

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: 20130430

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee