KR100717113B1 - Semiconductor memory module and semiconductor memory system - Google Patents
Semiconductor memory module and semiconductor memory system Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/1075—Input/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
도 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,
도 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
상기와 같이 종래의 멀티-드랍 방식의 버스 구조의 경우 대용량화를 위해서는 하나의 메모리 컨트롤러에 더 많은 메모리 모듈들을 연결하게 된다. 메모리 모듈들의 개수가 증가할수록 쓰기/읽기 데이터 버스에 연결되는 메모리들이 증가하게 된다. 즉, 쓰기/읽기 데이터 버스의 로딩(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 1, DDR2, DDR 3 메모리를 탑재한 메모리 모듈을 사용하여 종래의 멀티-드랍 버스 구조의 메모리 모듈로 고용량화를 할 경우에는 메모리 동작 속도의 고속화에 한계가 발생하게 된다. Therefore, when the memory
따라서, 본 발명의 제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
호스트(300)는 X개 핀의 제1 포트가 프라이머리 버스(PB)를 통해 메모리 모듈(350)의 프라이머리 메모리(310)와 포인트-투-포인트(point-to-point) 연결되고, 프라이머리 메모리(310)는 Y개 핀의 제2 포트가 세컨더리 버스(SB)를 통해 세컨더리 메모리(320)와 포인트-투-포인트 연결된다. 여기서, Y는 X보다 작은 값을 갖는 다. 상기 프라이머리 버스(PB) 및 세컨더리 버스(SB)를 통해 커맨드/어드레스 신호 및 쓰기/읽기 데이터가 전송된다. The
호스트(300)는 커맨드/어드레스 및/또는 쓰기 등을 위한 기준 클록(REFCLK)과 쓰기 기준클럭(WCLK, 미도시)을 메모리 모듈(350)에 제공한다. 메모리 모듈(350) 내의 메모리들은 상기 기준클럭(REFCLK)을 이용해서 읽기 데이터를 호스트(300)에 전송하기 위한 읽기 기준 클럭(RCLK, 미도시)을 생성한다. 상기 클럭들(REFCLK, WCLK, RCLK)은 통상의 데이터 버스 핀(pin)들의 그룹, 예를 들어 4개(nibble) 또는 8개(byte)당 하나로 구성될 수 있다. The
도 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
이 경우, 하나의 메모리 시스템을 이루는 메모리의 형태가 최소한 두 가지를 가질 수 있다. 구체적으로, 프라이머리 메모리(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
반면에, 세컨더리 메모리(320)의 제2 포트의 핀 수를 프라이머리 메모리(310) 보다 적게 하고, 주로 프라이머리 메모리(310)에 종속적으로 동작케 하여 전체 메모리 시스템의 비용(cost)을 대폭 낮출 수 있다. 특히, 세컨더리 메모리(320)의 세컨더리 버스에 시리얼한 입출력 신호를 사용하면 제2 포트의 핀 수를 대폭 줄일 수 있으므로 후술할 도 12a 내지 도 16에 도시된 바와 같이 고용량을 위하여 많은 메모리를 적층할 경우 배선 수를 크게 줄일 수 있다. On the other hand, the number of pins of the second port of the
도 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
도 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
쓰기 데이터 버스(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
호스트(600)로부터 프라이머리 메모리(610)로 또는 프라이머리 메모리(610)로부터 세컨더리 메모리(620)로 커맨드/어드레스 패킷 데이터 및/또는 쓰기 패킷 데이터가 다운 로딩 버스(601, 611)를 통하여 패킷 데이터의 형태로 단방향으로 전송된다. Command / address packet data and / or write packet data from the
또한, 업 로딩 버스(603, 613)를 통하여 단방향으로, 즉 프라이머리 메모리(610)로부터 호스트(600)로 또는 세컨더리 메모리(620)로부터 프라이머리 메모리(610)로 읽기 데이터가 패킷 데이터의 형태로 전송된다. In addition, the read data is unidirectionally through the uploading
여기서, 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
도 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)를 선택할 수 있다.
버스트 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
버스트 4 이후는 RFU(Reserved for Future Use) 필드로 나타내었고, RFU 필드는 후술할 백그라운드 동작을 위한 영역으로 사용 가능하다. T1 주기 이후의 데이터는 T0 주기에 쓰기 커맨드가 입력되었다는 가정하에 입력되는 쓰기 데이터 패킷을 예로 들었다. 한 주기 동안 80 비트의 데이터가 전송된다.After
도 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
패킷의 종류는 커맨드/어드레스 패킷(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,
호스트(600)가 프라이머리 메모리(610)만을 액세스하는 동안에는 프라이머리 메모리(610)는 "스마트(smart)" 상태로 동작하며, 세컨더리 메모리(620)는 아무 동작도 하지 않는 "스탠바이(stand-by)" 상태이다. While the
세컨더리 메모리(620)에 데이터를 쓰고자할 경우에는 프라이머리 메모리(610)는 호스트(600)로부터 커맨드와 어드레스 패킷 데이터 및 쓰기 패킷 데이터를 입력받아 세컨더리 메모리(620)로 필요한 패킷 데이터를 중계하는 리피터(repeater)로서 동작한다. When writing data to the
또한, 세컨더리 메모리(620)로부터 패킷 데이터를 읽고자 할 경우에는 프라이머리 메모리(610)는 세컨더리 메모리(620)로부터 읽어낸 읽기 패킷 데이터를 호스트(600)로 중계하는 리피터로서 동작한다. When reading packet data from the
이하, 호스트(600)가 랭크 0인 프라이머리 메모리(610)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들임과 함께, 랭크 1인 세컨더리 메모리(620)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 경우를 예로 들어 설명한다.Hereinafter, a case in which the
도 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
상기 ACT R0B0 및 상기 ACT R1B0 커맨드를 포함한 패킷 데이터(701)는 도 10a에 나타내었고, 상기 ACT R1B0 커맨드를 포함한 패킷 데이터(703)는 도 10b에 나타내었다. 프라이머리 메모리(610)는 호스트(600)로부터 버스트당 N 개 핀을 통해 전송된 N 개의 패킷 데이터를 버스트당 K 개 핀을 통해 K 개의 패킷 데이터로 전송할 수 있도록 변환하여 세컨더리 메모리(620)로 전송한다. 또한, 역으로 세컨더리 메모리(620)로부터 전송된 버스트당 K 개의 비트로 구성된 읽기 패킷 데이터를 버스트당 N 개의 읽기 패킷 데이터로 변환하여 호스트(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
또한, 백그라운드 동작을 위하여 버스트 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
도 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
다시 도 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
호스트(600)는 ACT R0B0 커맨드를 출력한 후부터 소정의 지연 시간(tRCD) 후인 T7 순간에 랭크 0의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 커맨드(RD R0B0) 및 랭크 1의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 커맨드(RD R1B0)를 포함하는 패킷 데이터(705)를 기준 클럭(REF CLK)에 동기시켜 WR/CA 버스를 통하여 프라이머리 메모리(610)로 전송한다.The
프라이머리 메모리(610)는 ACT R1B0 커맨드를 세컨더리 메모리(620)로 중계(repeating)한 후부터 소정의 지연 시간(tRCD) 후인 T10 순간에 랭크 1의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 커맨드(RD R1B0)를 포함하는 패킷 데이터(707)를 읽기 클럭에 동기시켜 WR/CA 버스를 통하여 세컨더리 메모리(620)로 전송한다.The
프라이머리 메모리(610)는 상기 RD R0B0 커맨드에 응답하여 소정의 CAS 래이 턴시(Column Address Strobe latency) 후 T13 순간에 상기 어드레스에 의해 지시된 데이터(709)를 WR/CA 버스를 통하여 호스트(600)로 출력한다.In response to the RD R0B0 command, the
세컨더리 메모리(620)는 상기 RD R1B0 커맨드에 응답하여 소정의 CAS 래이턴시 후 T16 순간에 상기 어드레스에 의해 지시된 데이터(711)를 WR/CA 버스를 통하여 프라이머리 호스트(610)로 출력한다. The
프라이머리 메모리(610)는 소정의 리피터 지연 후 T18 순간에 상기 세컨더리 메모리(620)로부터 입력된 데이터(713)를 WR/CA 버스를 통하여 호스트(600)로 출력한다. The
도 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
이하, 다운 로딩 버스(1101)는 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)가 병합(merge)된 버스(도 4a 참조)가 될 수 도 있고, 또는 커맨드/어드레스 버스(CA)만을 나타낼 수도 있고(도 5 참조), 또는 서로 독립적으로 배선된 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)(도 6 참조)를 나타낼 수도 있다. Hereinafter, the downloading
업 로딩 버스(1103)는 쓰기 데이터 버스(WR)와 읽기 데이터 버스(RD)가 병합 된 버스가 될 수도 있고(도 5 참조), 읽기 데이터 버스(RD)만을 나타낼 수도 있다(도 6 및 4a 참조). The uploading
호스트(1100)는 클록 신호(305)를 메모리 모듈(350)에 제공한다. 클록 신호(305)는 쓰기 기준 클럭(WCLK, 미도시) 또는 커맨드/어드레스 클럭(CACLK, 미도시)이 될 수 있다. 호스트(300)는 메모리 모듈(350)에 전원전압(미도시)을 제공한다. 메모리 모듈(1150) 내의 메모리들은 읽기 데이터를 호스트(1100)에 전송하기 위한 읽기 기준 클럭(RCLK, 미도시)을 생성한다. The
이하, 상기 클록 신호(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
다시 도 11a 및 도 11b를 참조하면, 호스트(1100)와 프라이머리 메모리(1110)는 쓰기 데이터 버스(WR)와 커맨드/어드레스 버스(CA)가 병합된 다운 로딩 버스(1101)를 통하여 N 개의 핀의 WR/CA 포트와 M 개의 핀의 읽기 데이터(RD) 포트간 포인트-투-포인트 연결된다. Referring back to FIGS. 11A and 11B, the
또한, 프라이머리 메모리(1110)와 세컨더리 메모리(1120)는 쓰기 데이터 버 스(WR)와 커맨드/어드레스 버스(CA)가 병합된 다운 로딩 버스(1111)를 통하여 N 개의 핀의 WR/CA 포트와 M 개의 핀의 읽기 데이터(RD) 포트간 포인트-투-포인트 연결된다. In addition, the
호스트(1100)로부터 프라이머리 메모리(1110)로 또는 프라이머리 메모리(1110)로부터 세컨더리 메모리(1120)로 커맨드/어드레스 패킷 데이터 및/또는 쓰기 패킷 데이터가 상기 다운 로딩 버스(1101, 1111)를 통하여 패킷 데이터의 형태로 단방향으로 전송된다. Command / address packet data and / or write packet data from the
또한, 상기 업 로딩 버스(1103, 1113)를 통하여 단방향으로, 즉 프라이머리 메모리(1110)로부터 호스트(1100)로 또는 세컨더리 메모리(1120)로부터 프라이머리 메모리(1110)로 읽기 데이터가 패킷 데이터의 형태로 전송된다. In addition, the read data is unidirectionally through the uploading
예를 들어, 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
또한, 프라이머리 메모리(1210a, 1210b)와 써드 메모리(third memory, 1230a, 1230b)간은 K 개의 핀과 L 개의 핀을 통하여 어드레스/커맨드, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 주고받으며, 프라이머리 메모리(1210a, 1210b)와 포드 메모리(fourth memory, 1230a, 1230b)간은 K 개의 핀과 L 개의 핀을 통하여 어드레스/커맨드, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 주고받는다. In addition, the
호스트(1200a, 1200b)와 프라이머리 메모리(1210a, 1210b)가 데이터를 주고받는 포그라운드 동작이 일어나는 동안 백그라운드 동작(background operation)이 병렬적으로 일어날 수 있다. Background operations may occur in parallel while foreground operations between the
여기서, 백그라운드 동작이라 함은 세컨더리 메모리(1220a, 1220b)와 프라이머리 메모리(1210a, 1210b)가 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및/또는 읽기 패킷 데이터를 주고받거나, 써드 메모리(1230a, 1230b)와 프라이머리 메모리(1210a, 1210b)가 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및/또는 읽기 패킷 데이터를 주고받거나, 포드 메모리(1240a, 1240b)와 프라이머리 메모리(1210a, 1210b)가 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및/또는 읽기 패킷 데이터를 주고받는 경우를 나타낸다. In this case, the background operation may be performed by the
도 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
도 13a 및 도 13b를 참조하면, 호스트(1300a,1300b)와 프라이머리 메모리(1310a, 1310b)간의 프라이머리 링크의 핀 수에 비해 프라이머리 메모리(1310a, 1310b)와 세컨더리 메모리(1320a, 1320b)간의 세컨더리 링크의 핀 수를 대폭 줄여 시리얼 링크로 연결한다. Referring to FIGS. 13A and 13B, the
즉, 프라이머리 메모리(1310a, 1310b)와 이에 종속된 다른 종속 메모리(1320a, 1320b, 1330a, 1330b, 1340a, 1340b) 간은 어드레스/커맨드 패킷 데이터, 쓰기 패킷 데이터 및 읽기 패킷 데이터를 시리얼로 전송한다.That is, between the
호스트(1300a, 1300b)가 랭크 0인 프라이머리 메모리(1310a, 1310b)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이고, 랭크 1인 세컨더리 메모리(1320a, 1320b)의 메모리 뱅크 0으로부터 패킷 데이터를 읽어들이는 동작에 대한 타이밍도는 패킷 전송이 시리얼로 이루어진다는 점을 제외하고는 도 7과 동일하므로 설명을 생략한다.
도 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
본 발명의 메모리 시스템의 필요한 메모리 용량이 커져 메모리 모듈이 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
도 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
한편, 세컨더리 메모리(1420)로부터 xJ 핀을 통하여 수신된 읽기 데이터는 입력 버퍼(1454)를 거쳐 메모리 셀 어레이(1415)로 제공되거나, 또는 디시리얼라이저(1466), 멀티플렉서(1468) 및 출력 버퍼(1470)를 거쳐 호스트(1400)로 제공된다. 디멀티플럭서(1462)는 소정의 제어 신호(control 2)에 의해 상기 읽기 데이터가 전달되는 상기 두가지 경로 중의 하나를 선택한다.On the other hand, read data received from the
여기서, 캐시(1415)는 소정의 제어 신호(control 3)에 기초하여 메모리 셀 어레이(1415)로부터 데이터를 읽어들이거나 메모리 셀 어레이(1415)로 데이터를 기록한다. 호스트(1500)에서 자주 필요로 하는 데이터는 세컨더리 메모리(1420) 및/또는 써드 메모리(1430) 등으로부터 읽혀져 프라이머리 메모리(1410)의 메모리 셀 어레이(1415)에 미리 저장되어 있을 수도 있고, 프라이머리 메모리(1410)의 메모리 셀 어레이(1415)에 미리 저장되어 있을 수도 있다. The
프라이머리 메모리(1410)의 메모리 셀 어레이(1476)으로부터 읽혀진 데이터는 캐시(1415), 프리 페치부(1474), 멀티플렉서(1468) 및 출력 버퍼(1470)를 거쳐 호스트(1400)로 제공된다. 여기서, 멀티플렉서(1468)는 소정의 제어 신호(control 4)에 기초하여 세컨더리 메모리(1420)로부터 전송된 읽기 데이터 또는 프라이머리 메모리(1410)의 메모리 셀 어레이(1476)로부터 읽은 읽기 데이터 중 하나를 선택하여 출력 버퍼(1470)로 제공한다. 이때, 클럭 드라이버(1490)는 기준 클럭(REF CLK)를 이용하여 읽기 기준 클럭(RCLK)를 발생시켜 호스트(1400)로 함께 제공할 수 있다. Data read from the
도 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
도 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
도 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
도 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
상부의 세컨더리 메모리(320)로부터 읽혀진 데이터는 프라이머리 메모리(310)로 재전송되어 업 로딩 버스-예를 들어 읽기 데이터 버스(RD)-를 통하여 호스트(미도시)로 출력된다.Data read from the upper
도 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
상부의 세컨더리 메모리(1820), 써드 메모리(1830) 또는 포드 메모리(1840)로부터 읽혀진 데이터는 프라이머리 메모리(1810)로 재전송되어 업 로딩 버스-예를 들어 읽기 데이터 버스(RD)-를 통하여 호스트(미도시)로 출력된다.Data read from the upper
도 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
도 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
도 21의 메모리 모듈(1200)은 제1면(1202a)에 랭크 0의 프라이머리 메모리(1210), 랭크 1의 세컨더리 메모리(1220), 랭크 3의 써드 메모리(1230) 및 랭크 4의 포드 메모리(1240)가 배치된 4 랭크 메모리 시스템을 나타낸다. 상기 메모리들(1210 ~ 1240)들이 내부 버스(1215, 1225, 1235)에 의해 포인트 투 포인트(POINT-TO-POINT) 방식으로 종속적으로 연결된다. The
외부 버스(305, 1205) 및 내부 버스(315, 1215, 1225, 1235)는 커맨드/어드레스(CA) 버스, 쓰기 데이터(WR) 버스 및 읽기 데이터(RD) 버스를 포함할 수 있다. 또는 외부 버스(305, 1205) 및 내부 버스(315, 1215)는 커맨드/어드레스(CA) 버스, 쓰기 데이터(WR) 버스 및 읽기 데이터(RD) 버스를 포함할 수 있다. 또는 외부 버스(305, 1205) 및 내부 버스(315, 1215)는 쓰기 데이터 및 커맨드/어드레스(WR/CA) 버스 및 읽기 데이터(RD) 버스를 포함할 수 있다. The
상기와 같은 메모리 모듈 및 메모리 시스템에 따르면, 호스트와 프라이머리 메모리간 커맨드/어드래스 및/또는 데이터를 주고받을 때 프라이머리 메모리 및 세컨더리 메모리 간에도 동시에 다른 형태의 커맨드/어드레스 및/또는 데이터를 주고받을 수 있다. 호스트는 프라이머리 메모리를 액세스할 경우 세컨더리 메모리의 포트로는 필요한 데이터들의 트랜잭션(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)
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)
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)
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 |
-
2005
- 2005-09-12 KR KR1020050084813A patent/KR100717113B1/en not_active IP Right Cessation
-
2006
- 2006-09-12 CN CNA2006101536308A patent/CN1933018A/en active Pending
Patent Citations (6)
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)
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 |
---|---|
KR20070030056A (en) | 2007-03-15 |
CN1933018A (en) | 2007-03-21 |
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 | |
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 | |
CN112614523A (en) | Memory system, memory controller and memory chip |
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 |