KR100916215B1 - Protocol memory, memory module, protocl memory system and method for controlling thereof - Google Patents

Protocol memory, memory module, protocl memory system and method for controlling thereof Download PDF

Info

Publication number
KR100916215B1
KR100916215B1 KR1020050087212A KR20050087212A KR100916215B1 KR 100916215 B1 KR100916215 B1 KR 100916215B1 KR 1020050087212 A KR1020050087212 A KR 1020050087212A KR 20050087212 A KR20050087212 A KR 20050087212A KR 100916215 B1 KR100916215 B1 KR 100916215B1
Authority
KR
South Korea
Prior art keywords
command
memory
packet
memory device
primary
Prior art date
Application number
KR1020050087212A
Other languages
Korean (ko)
Other versions
KR20070032857A (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 KR1020050087212A priority Critical patent/KR100916215B1/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
Publication of KR20070032857A publication Critical patent/KR20070032857A/en
Priority to US12/006,766 priority patent/US7930492B2/en
Application granted granted Critical
Publication of KR100916215B1 publication Critical patent/KR100916215B1/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
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Landscapes

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

Abstract

패킷 데이터를 송수신하는 프로토콜 메모리 시스템을 개시한다. 본 발명에 의한 메모리 시스템은 프라이머리 커맨드와 세컨더리 커맨드를 포함하는 하나의 커맨드 패킷을 발생하는 호스트와, 호스트에 결합된 메모리 모듈을 구비한다. 메모리 모듈은 모듈기판 상에 프라이머리 메모리 소자와 세컨더리 메모리 소자를 실장한다. 프라이머리 메모리 소자는 호스트로부터 제공되는 커맨드 패킷을 수신하고, 커맨드 패킷에 포함된 프라이머리 커맨드에 응답하여 호스트와 데이터를 송수신하고, 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 상기 세컨더리 커맨드를 포함하는 중계 커맨드 패킷을 중계한다. 세컨더리 메모리 소자는 상기 프라이머리 메모리 소자로부터 중계된 상기 중계 커맨드 패킷을 수신하고, 수신된 중계 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 프라이머리 메모리 소자를 통하여 호스트와 데이터를 송수신한다. 따라서, 프로토콜 메모리 소자의 억세스와 동시에 서브 프로토콜 메모리 소자를 제어함으로서 데이터의 전송성능(throughput)을 높히고 병렬처리능력(concurrency)을 대폭 증가시킬 수 있다. A protocol memory system for transmitting and receiving packet data is disclosed. A memory system according to the present invention includes a host generating one command packet including a primary command and a secondary command, and a memory module coupled to the host. The memory module mounts a primary memory device and a secondary memory device on a module substrate. The primary memory device receives a command packet provided from the host, transmits and receives data with the host in response to the primary command included in the command packet, and relays the secondary command including the secondary command in response to the secondary command included in the command packet. Relay a command packet. The secondary memory device receives the relay command packet relayed from the primary memory device, and transmits and receives data to and from the host through the primary memory device in response to the secondary command included in the received relay command packet. Accordingly, by controlling the sub-protocol memory device simultaneously with accessing the protocol memory device, the throughput of data and the concurrency can be greatly increased.

Description

프로토콜 메모리, 메모리 모듈 및 프로토콜 메모리 시스템과 그 제어방법.{PROTOCOL MEMORY, MEMORY MODULE, PROTOCL MEMORY SYSTEM AND METHOD FOR CONTROLLING THEREOF}Protocol memory, memory modules and protocol memory systems and control methods thereof. {PROTOCOL MEMORY, MEMORY MODULE, PROTOCL MEMORY SYSTEM AND METHOD FOR CONTROLLING THEREOF}

도 1은 본 발명에 의한 바람직한 일실시예의 메모리 시스템의 구성을 나타낸도면이다. 1 is a view showing the configuration of a memory system according to an embodiment of the present invention.

도 2a 내지 도 2c는 본 발명에 의한 2랭크 시스템의 메모리 모듈의 다양한 실장상태를 나타낸 측단면도들이다. 2A to 2C are side cross-sectional views illustrating various mounting states of a memory module of a second rank system according to the present invention.

도 3은 본 발명에 의한 프로토콜 메모리 소자의 바람직한 일실시예의 블록 도이다. Figure 3 is a block diagram of one preferred embodiment of a protocol memory device according to the present invention.

도 4는 본 발명에 의한 오프셋 방식의 다운로딩 및 업로딩 패킷 데이터의 구성을 나타낸 도면이다. 4 is a diagram showing the configuration of the downloading and uploading packet data of the offset method according to the present invention.

도 5 및 도 6은 본 발명에 의한 패킷들의 구성을 각각 나타낸 도면들이다. 5 and 6 are diagrams showing the configuration of packets according to the present invention, respectively.

도 7 및 도 8은 본 발명에 의한 커맨드 패킷의 각 기능들의 진리표를 나타낸 도면들이다. 7 and 8 are diagrams showing the truth table of the functions of the command packet according to the present invention.

도 9는 본 발명에 의한 2랭크 메모리 시스템의 동작을 설명하기 위한 도면이다. 9 is a view for explaining the operation of the second rank memory system according to the present invention.

도 10은 본 발명에 의한 2랭크 메모리 시스템의 리드 동작 타이밍도이다. 10 is a timing diagram of a read operation of the second rank memory system according to the present invention.

도 11 내지 도 14는 도 10의 리드 동작에 따른 커맨드 및 어드레스 패킷의 구성을 나타낸다.11 to 14 illustrate a configuration of a command and an address packet according to the read operation of FIG. 10.

도 15는 본 발명에 의한 2랭크 메모리 시스템의 라이트 동작 타이밍도이다. 15 is a write operation timing diagram of the second rank memory system according to the present invention.

본 발명은 고속 고용량 메모리 시스템에 관한 것으로, 특히 호스트와 메모리 모듈 사이에 패킷을 주고 받는 프로토콜 메모리 시스템에 관한 것이다. The present invention relates to a high speed, high capacity memory system, and more particularly to a protocol memory system for sending and receiving packets between a host and a memory module.

통상적으로 컴퓨터 시스템에서 메모리 시스템은 메모리 콘트롤러를 포함하는 호스트와 메모리 콘트롤러에 연결된 메모리 모듈로 구성된다. In a computer system, a memory system typically includes a host including a memory controller and a memory module connected to the memory controller.

메모리 시스템의 기억용량을 증가시키기 위해서는 메모리 모듈의 수를 증가시키거나 메모리 모듈 내부에 실장된 메모리 칩을 고용량의 메모리 칩으로 구성하는 것이다. In order to increase the memory capacity of the memory system, the number of memory modules is increased or a memory chip mounted in the memory module is configured as a high capacity memory chip.

메모리 모듈의 수를 증가시키는 경우에는 메모리 모듈들의 데이터 버스가 공통 연결되는 멀티 드롭 방식의 버스 구조가 된다. 멀티 드롭 방식의 버스 구조는 하나의 버스에 복수의 메모리 모듈들이 공통으로 연결되므로 부하량이 증가하여 데이터의 전송속도가 떨어지는 단점이 있다. 따라서 버스에 연결되는 DRAM의 숫자는 주어진 동작속도에 의해 제한되어 SDRAM에서는 최대 8개, DDR에서는 4개 그리고 DDR2/3에서는 2개 등으로 제한되어지고 있다. Increasing the number of memory modules results in a multi-drop bus structure in which data buses of memory modules are commonly connected. In the multi-drop bus structure, since a plurality of memory modules are commonly connected to one bus, a load is increased and a data transfer rate is lowered. Thus, the number of DRAMs connected to the bus is limited by a given operating speed, up to eight in SDRAM, four in DDR, and two in DDR2 / 3.

그러나 컴퓨터 시스템의 고속화의 추세가 이러한 여러 개의 DRAM이 controller에 연결되는 구조를 허용할 수 없는 상황, 예를들면 2Gbps 이상에서는 controller와 DRAM간의 연결은 1:1이 될 수 (PTP : point-to-point라 일컬음) 밖에 없다. 이는 데이터 버스에서는 더욱 그러하겠지만 커맨드 및 어드레스 버스도 예외일 수는 없다. However, in a situation where the trend of computer systems to speed up cannot allow such a structure in which multiple DRAMs are connected to the controller, for example, the connection between the controller and the DRAM may be 1: 1 in 2 Gbps or more (PTP: point-to-point). There is only a point). This is true of the data bus, but the command and address buses are no exception.

이러한 PTP 구조에서 생기는 가장 큰 문제는 메모리의 고용량화를 위해 하나의 메모리 모듈에 많은 수의 메모리 소자들을 실장할 경우 메모리 콘트롤러와 메모리 모듈을 연결하기 위한 메모리 모듈의 핀수가 증가한다는 것이다. The biggest problem in the PTP structure is that when a large number of memory devices are mounted in one memory module for increasing the capacity of the memory, the pin count of the memory module for connecting the memory controller and the memory module increases.

이를 극복하기 위하여 메모리 콘트롤러와 메모리 소자들 간의 전송신호를 패킷 형태로 구성하는 연구가 진행되고 있다. In order to overcome this problem, researches for constructing a transmission signal between a memory controller and memory devices in the form of a packet have been conducted.

본 발명의 목적은 이와 같은 종래 기술의 문제점을 해결하기 위하여 복수의커맨드를 포함하는 하나의 패킷을 수신하고 복수의 커맨드들 중 일부 커맨드를 중계할 수 있는 프로토콜 메모리 소자를 제공하는 데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a protocol memory device capable of receiving one packet including a plurality of commands and relaying some of the commands in order to solve the problems of the prior art.

본 발명의 다른 목적은 종속 연결된 프로토콜 메모리 소자들을 포함하는 메모리 모듈을 제공하는 데 있다. Another object of the present invention is to provide a memory module comprising cascaded protocol memory elements.

본 발명의 또 다른 목적은 종속 결합된 복수의 메모리 소자들의 각 커맨드를 하나의 패킷으로 구성하여 제공하고 메모리 소자들 사이에 이를 중계하도록 함으로써 전송능력을 높이고 병렬처리능력을 증가시킬 수 있는 메모리 시스템 및 그 제어방법을 제공하는 데 있다. It is still another object of the present invention to provide a memory system capable of increasing transmission capacity and increasing parallel processing capacity by providing each command of a plurality of cascaded memory elements in one packet and relaying the same between the memory elements; It is to provide a control method.

상기 목적을 달성하기 위하여 본 발명의 프로토콜 메모리 소자는 제1포트와, 제2포트와, 데이터를 저장하기 위한 메모리 코아와, 제1포트를 통해 호스트로부터 제공된 커맨드 패킷을 수신하고, 상기 커맨드 패킷은 프라이머리 커맨드와 세컨더리 커맨드를 포함하며, 상기 프라이머리 커맨드에 의해 상기 메모리 코아와 상기 호스트 사이의 메모리 데이터 송수신을 제어하고, 상기 세컨더리 커맨드를 포함한 중계 커맨드 패킷을 상기 제2포트를 통해 다른 프로토콜 메모리 소자에 중계하는 링크 처리부를 구비한 것을 특징으로 한다. 본 발명에서 중계 커맨드 패킷은 메모리 소자와 메모리 소자 사이에서 중계되는 커맨드 패킷으로 정의한다. In order to achieve the above object, the protocol memory device of the present invention receives a first packet, a second port, a memory core for storing data, and a command packet provided from a host through the first port. A primary command and a secondary command, the primary command controls the memory data transmission and reception between the memory core and the host, and a relay command packet including the secondary command is transferred through the second port to another protocol memory device. It is characterized by including a link processing unit for relaying. In the present invention, the relay command packet is defined as a command packet relayed between the memory device and the memory device.

본 발명에서 링크처리부는 제2포트를 통하여 다른 프로토콜 메모리 소자로부터 제공된 데이터 패킷을 수신하고, 수신된 데이터 패킷을 제1포트를 통하여 호스트로 중계한다. 링크처리부는 세컨더리 커맨드에 포함된 중계지시정보에 응답하여 상기 중계 커맨드 패킷을 중계한다. 여기서, 중계지시정보가 “0”이면 중계동작을 수행하지 않고, “1”이면 중계동작을 수행하도록 설정되는 것이 바람직하다. In the present invention, the link processing unit receives a data packet provided from another protocol memory device through the second port, and relays the received data packet to the host through the first port. The link processing unit relays the relay command packet in response to the relay instruction information included in the secondary command. If the relay instruction information is "0", the relay operation is not performed. If the relay instruction information is "1", the relay operation is preferably performed.

본 발명에 의한 메모리 시스템은 프라이머리 커맨드와 세컨더리 커맨드를 포함하는 하나의 커맨드 패킷을 발생하는 호스트와, 호스트에 결합된 메모리 모듈을 구비한다. 메모리 모듈은 모듈기판 상에 프라이머리 메모리 소자와 세컨더리 메모리 소자를 실장한다. 프라이머리 메모리 소자는 호스트로부터 제공되는 커맨드 패킷을 수신하고, 커맨드 패킷에 포함된 프라이머리 커맨드에 응답하여 호스트와 데이터를 송수신하고, 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 상기 세컨더리 커맨드를 포함하는 중계 커맨드 패킷을 중계한다. 세컨더리 메모리 소자는 상 기 프라이머리 메모리 소자로부터 중계된 상기 중계 커맨드 패킷을 수신하고, 수신된 중계 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 프라이머리 메모리 소자를 통하여 호스트와 데이터를 송수신한다. A memory system according to the present invention includes a host generating one command packet including a primary command and a secondary command, and a memory module coupled to the host. The memory module mounts a primary memory device and a secondary memory device on a module substrate. The primary memory device receives a command packet provided from the host, transmits and receives data with the host in response to the primary command included in the command packet, and relays the secondary command including the secondary command in response to the secondary command included in the command packet. Relay a command packet. The secondary memory device receives the relay command packet relayed from the primary memory device, and transmits and receives data to and from the host through the primary memory device in response to the secondary command included in the received relay command packet.

호스트, 즉 메모리 콘트롤러는 기계적 독출이 가능한 기록매체와, 기록매체에 저장되고, 기계적 독출이 가능한 프로그램 코드를 구비한다. 프로그램 코드는 프라이머리 메모리 소자의 동작을 위한 프라이머리 커맨드를 발생하고, 세컨더리 메모리 소자의 동작을 위한 세컨더리 커맨드를 발생하고, 프라이머리 커맨드와 세컨더리 커맨드를 포함하는 하나의 커맨드 패킷을 발생하는 명령을 포함한다. The host, that is, the memory controller, includes a recording medium capable of mechanical reading, and program code stored in the recording medium and capable of mechanical reading. The program code includes instructions for generating a primary command for operation of the primary memory device, generating a secondary command for operation of the secondary memory device, and generating one command packet including the primary command and the secondary command. do.

본 발명의 종속 결합된 메모리 소자들의 제어방법은 제1메모리 소자에서 프라이머리 커맨드와 세컨더리 커맨드를 포함하는 커맨드 패킷을 수신하고, 수신된 커맨드 패킷의 프라이머리 커맨드를 수행하면서, 세컨더리 커맨드를 포함하는 중계 커맨드 패킷을 제2메모리 소자로 중계한다. 제1메모리 소자로부터 중계된 중계 커맨드 패킷을 제2메모리 소자에서 수신하고, 제2 메모리소자에서 수신된 중계 커맨드 패킷의 세컨더리 커맨드를 수행한다. In the method of controlling dependently coupled memory devices of the present invention, a relay including a secondary command while receiving a command packet including a primary command and a secondary command in a first memory device, and performing a primary command of the received command packet The command packet is relayed to the second memory element. The relay command packet relayed from the first memory element is received by the second memory element, and the secondary command of the relay command packet received from the second memory element is performed.

호스트와 복수의 프라이머리 프로토콜 메모리들 각각은 n비트 다운 로딩 버스와, n비트 업로딩 버스를 통해 직접 연결된다. n 비트 다운 로딩 버스를 통하여 호스트로부터 프라이머리 프로토콜 메모리 소자로 커맨드 및 어드레스 패킷, 또는 커맨드 및 어드레스 패킷 및 라이트 데이터 패킷을 전송하고, n 비트 업로딩 버스를 통하여 프라이머리 프로토콜 메모리 소자로부터 호스트로 리드 데이터 패킷을 전송한다. 프라이머리 프로토콜 메모리와 세컨더리 프로토콜 메모리는 n비트 다운 로딩 중계버스와, n비트 업로딩 중계버스를 통해 직접 연결된다. n 비트 다운 로딩 중계버스를 통하여 프라이머리 프로토콜 메모리 소자로부터 세컨더리 프로토콜 메모리 소자로 커맨드 및 어드레스 패킷, 또는 커맨드 및 어드레스 패킷 및 라이트 데이터 패킷을 전송하고, n 비트 업 로딩 중계버스를 통하여 세컨더리 프로토콜 메모리 소자로부터 프라이머리 프로토콜 메모리 소자로 리드 데이터 패킷을 전송한다. The host and each of the plurality of primary protocol memories are directly connected through an n-bit downloading bus and an n-bit uploading bus. send command and address packets, or command and address packets, and write data packets from the host to the primary protocol memory device via the n bit downloading bus, and read data packets from the primary protocol memory device to the host via the n bit uploading bus. Send it. The primary protocol memory and the secondary protocol memory are directly connected through an n-bit downloading relay bus and an n-bit uploading relay bus. Send a command and address packet, or a command and address packet and a write data packet from a primary protocol memory device to a secondary protocol memory device via an n bit downloading relay bus, and from the secondary protocol memory device through an n bit uploading relay bus. The read data packet is transmitted to the primary protocol memory device.

프라이머리 프로토콜 메모리는 리드 또는 라이트 동작과 동시에 세컨더리 프로토콜 메모리와 호스트 사이의 데이터 송수신을 중계한다. The primary protocol memory relays data transmission and reception between the secondary protocol memory and the host at the same time as the read or write operation.

프라이머리 프로토콜 메모리는 제1포트와, 제2포트와, 데이터를 저장하기 위한 메모리 코아와, 제1포트를 통해 연결된 호스트와 메모리 코아 사이의 데이터 송수신을 제어함과 동시에 제2포트를 통해 연결된 다른 프로토콜 메모리 소자와 상기 호스트 사이의 데이터 송수신을 중계하는 링크 처리부를 포함한다. The primary protocol memory controls data transmission and reception between a first port, a second port, a memory core for storing data, and a host and a memory core connected through the first port, and at the same time, the other port connected with the second port. And a link processor for relaying data transmission and reception between the protocol memory device and the host.

본 발명에서 메모리 코아는 DDR2/3 DRAM 코아로 구성하는 것이 바람직하다. In the present invention, the memory core is preferably composed of a DDR2 / 3 DRAM core.

제1포트는 커맨드 및 어드레스 데이터와 라이트 데이터를 포함하는 다운 로딩 패킷을 호스트로부터 다운받기 위한 다운로딩버스와, 리드 데이터를 포함하는 업 로딩 패킷을 호스트에 업로딩하기 위한 업 로딩 버스를 포함한다. The first port includes a download bus for downloading a download packet including command and address data and write data from the host, and an upload bus for uploading an upload packet including read data to the host.

본 발명에서 다운 로딩 버스 및 업 로딩 버스의 데이터 라인 폭은 각각 m라인이고, 다운 로딩 패킷 및 업 로딩 패킷은 메모리 코아의 1클록 주기 동안 q회 연속으로 제공되는 병렬 m비트 데이터들로 구성되는 것이 바람직하다. 다운로딩 패킷은 커맨드 및 어드레스 패킷 또는 커맨드 어드레스 패킷 및 라이트 데이터 패킷을 포함한다. 커맨드 및 어드레스 패킷은 메모리 코아를 제어하기 위한 메인 커맨드 및 어드레스 정보와, 제2포트를 통해 연결된 세컨더리 프로토콜 메모리 소자에게 중계되는 서브 커맨드 및 어드레스 정보를 포함한다. In the present invention, the data line widths of the download bus and the upload bus are each m lines, and the download packet and the upload packet are each composed of parallel m-bit data provided q consecutive times during one clock period of the memory core. desirable. The downloading packet includes a command and address packet or a command address packet and a write data packet. The command and address packet includes main command and address information for controlling the memory core, and subcommand and address information relayed to the secondary protocol memory device connected through the second port.

제2포트는 커맨드 및 어드레스 데이터와 라이트 데이터를 포함하는 다운 로딩 패킷을 세컨더리 프로토콜 메모리 소자에게 다운하기 위한 다운로딩 중계버스와, 리드 데이터를 포함하는 업 로딩 패킷을 세컨더리 프로토콜 메모리 소자로부터 업로딩하기 위한 업 로딩 중계버스를 포함한다. The second port includes a downloading relay bus for downloading a download packet including command and address data and write data to the secondary protocol memory device, and an upload for uploading an upload packet including read data from the secondary protocol memory device. It includes a loading relay bus.

본 발명에서 스마트 상태란 메모리 소자가 어떤 로직에 의해 주어진 타스크를 원활히 수행하고 있는 상태이고, 딜리전트 상태란 수동적으로 제한된 타스크만을 수행하고 있는 상태이고, 데드 상태는 거의 타스크를 수행하지 않는 상태를 의미한다. In the present invention, a smart state is a state in which a memory device is performing a task given by a certain logic smoothly, and a deliberate state is a state in which only a limited task is manually performed, and a dead state is a state in which a task is hardly performed. do.

본 발명의 패킷은 두 가지 형태로 제공될 수 있다. 하나는 커맨드 및 어드레스 패킷에 함께 보낼 수 있는 각 랭크의 커맨드 및 어드레스 그룹 수보다 랭크수가 작은 경우이고 하나는 랭크 수가 많은 경우이다. 예컨대 패킷 비트수가 80비트인 경우 각 랭크의 커맨드 및 어드레스 비트수가 30비트로 할당될 경우 2랭크 시스템의 경우에는 각 랭크의 커맨드 및 어드레스 정보를 모두 포함할 수 있으므로 하나의 패킷 내에 함께 실어서 보내는 멀티플렉싱 방식을 사용한다. 그러나, 4뱅크 및 8뱅크의 경우에는 하나의 패킷에 모든 랭크의 커맨드 및 어드레스를 실을 수 없기 대문에 오프셋방식을 사용한 제한된 백그라운드 오퍼레이션 정보를 사용한다.The packet of the present invention may be provided in two forms. One is when the number of ranks is smaller than the number of commands and address groups of each rank that can be sent together in the command and address packets, and one is when the number of ranks is large. For example, when the number of bits and the number of command and address bits of each rank is allocated to 30 bits when the number of packet bits is 80 bits, the multiplexing method that includes both the command and address information of each rank may be included in one packet and sent together. Use However, in the case of 4 banks and 8 banks, limited background operation information using an offset method is used because it is not possible to carry all rank commands and addresses in one packet.

본 발명의 프로토콜 메모리 시스템의 동작방법은 호스트에 대해서 종속 연결 된 복수의 랭크들에 대한 각 커맨드들을 포함하는 패킷 데이터를 수신하고, 호스트와 직접 연결된 메인 랭크의 커맨드를 수행하고, 메인 랭크에 연결된 서브 랭크의 커맨드를 포함하는 패킷을 중계하는 단계를 포함한다. 또한, 서브 랭크의 커맨드를 수행하고, 서브 랭크로부터 메인 랭크에 전달된 데이터 패킷을 호스트로 중계하는 단계를 더 포함하는 것이 바람직하다. The operating method of the protocol memory system of the present invention receives packet data including respective commands for a plurality of ranks cascaded to a host, performs a command of a main rank directly connected to the host, and a sub connected to the main rank. Relaying a packet containing a rank command. The method may further include performing a command of the sub rank, and relaying the data packet transferred from the sub rank to the main rank to the host.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 구체적으로 설명하고자 한다. 이 실시예는 이 기술에 숙련된 자들이 본 발명을 실시할 수 있게 충분히 상세하게 기술한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. This embodiment is described in sufficient detail to enable those skilled in the art to practice the invention.

< 실시예 ><Example>

도 1은 본 발명에 의한 바람직한 일실시예의 메모리 시스템의 구성을 나타낸다. 1 shows a configuration of a memory system according to an embodiment of the present invention.

도면을 참조하면, 메모리 시스템은 호스트(100)와 메모리 모듈(200)을 포함한다. 여기서 호스트(100)는 넓은 의미로는 메모리 모듈이 삽입되는 메모리 모듈 소켓이 실장된 메인 보드를 말한다. 좁은 의미로는 메모리 콘트롤러 칩셋 또는 노스 브리지 칩셋 등과 같이 메모리 모듈과 직접 교신하는 칩을 칭한다. Referring to the drawing, the memory system includes a host 100 and a memory module 200. The host 100 in the broad sense refers to a main board on which a memory module socket into which a memory module is inserted is mounted. In a narrow sense, it refers to a chip that directly communicates with a memory module, such as a memory controller chipset or a north bridge chipset.

호스트(100)는 4 채널(CH0~CH3)을 통해 메모리 모듈(200)과 연결된다. 각 채널은 n비트 다운 로딩 버스(DLB)와 n비트 업 로딩 버스(ULB)로 구성된다. 호스트(200)는 복수의 기준클록신호(FCLK)들을 메모리 모듈(200)에 제공한다.The host 100 is connected to the memory module 200 through four channels CH0 to CH3. Each channel consists of an n-bit download bus (DLB) and an n-bit upload bus (ULB). The host 200 provides a plurality of reference clock signals FCLK to the memory module 200.

n 비트 다운 로딩 버스는 차동 입출력라인 구조로 형성되고, m 비트 패킷 데이터 라인들, 라이트 클록 라인, p개의 전원전압라인들을 포함한다. 또한 n 비트 업 로딩 버스는 마찬가지로 차동 입출력라인 구조로 형성되고, m 비트 패킷 데이터 라인들, 리드 클록 라인, p개의 전원전압라인들을 포함한다The n bit down downloading bus is formed in a differential input / output line structure and includes m bit packet data lines, a write clock line, and p power supply voltage lines. The n bit upload bus is likewise formed with a differential input / output line structure and includes m bit packet data lines, read clock lines, and p power supply voltage lines.

따라서, 본 발명은 호스트(100)와 메모리 모듈(200)을 연결하기 위한 핀 수는 차동 입출력라인 구조이므로 각 버스당 최소한 2m(data line pairs) + 2(clock line pair) + 2p(power line pairs)의 핀수가 소요된다. 여기서, m=8, p=7이라면 채널당 64(=32(up loading bus)+32(down loading bus))핀이 소요되므로 4채널 메모리 모듈의 핀수는 기타 기준클록 핀수 등을 포함한다면 대략 260핀 내지 280핀으로 구성될 수 있다. 따라서, 본 발명의 메모리 모듈은 기존의 DDR2/3 의 메모리 모듈의 핀수와 큰 차이 없이 구성할 수 있다. Therefore, since the pin number for connecting the host 100 and the memory module 200 is a differential input / output line structure, at least 2m (data line pairs) + 2 (clock line pair) + 2p (power line pairs) for each bus. ) Is required. Here, if m = 8 and p = 7, 64 (= 32 (up loading bus) +32 (down loading bus)) pins per channel are required, so the number of pins of the four-channel memory module is approximately 260 pins, including the other reference clock pins. To 280 pins. Therefore, the memory module of the present invention can be configured without a significant difference from the number of pins of the conventional DDR2 / 3 memory module.

본 실시예에서 메모리 모듈(200)은 채널당 프라이머리 메모리 소자(210)와 세컨더리 메모리 소자(220)로 구성된다. 프라이머리 메모리 소자(210)는 외부버스(OBUS)를 통하여 호스트(100)와 직접 연결된다. 프라이머리 메모리 소자(210)는 내부버스(또는 중계버스)(IBUS)를 통해 세컨더리 메모리 소자(220)와 연결된다. 따라서, 세컨더리 메모리 소자(220)는 프라이머리 메모리 소자(210)를 통하여 호스트(100)와 연결된다. In the present embodiment, the memory module 200 includes a primary memory element 210 and a secondary memory element 220 per channel. The primary memory device 210 is directly connected to the host 100 through an external bus OBUS. The primary memory device 210 is connected to the secondary memory device 220 through an internal bus (or relay bus) IBUS. Therefore, the secondary memory device 220 is connected to the host 100 through the primary memory device 210.

도 2a, 도 2b, 도 2c는 도 1의 메모리 모듈 내의 다양한 실장상태를 나타낸 측단면도들이다. 도 2a는 모듈기판(202)의 양면에 각각 실장된 상태를 나타내고, 도 2b는 모듈기판(202)의 전면(202b)에 단층 구조로 실장된 예를 나타내고, 도 2c는 모듈기판(202)의 전면(202a)에 복층 구조로 실장된 상태를 나타낸다. 양면 실장구조(도 2a)와 단층 실장구조(도 2b)는 모듈기판(202)의 다층 인쇄회로기판의 패 턴형성에 의해 내부버스(IBUS)가 형성되고, 복층 실장구조(도 2c)는 멀티 레이어 칩 형성에 의해 내부버스(IBUS)가 형성된다. 2A, 2B, and 2C are side cross-sectional views illustrating various mounting states in the memory module of FIG. 1. FIG. 2A illustrates a state in which the module substrate 202 is mounted on both surfaces thereof, and FIG. 2B illustrates an example in which a single layer structure is mounted on the front surface 202b of the module substrate 202, and FIG. 2C illustrates the module substrate 202. The state mounted in the multilayer structure on the front surface 202a is shown. In the double-sided mounting structure (FIG. 2A) and the single-layer mounting structure (FIG. 2B), an internal bus (IBUS) is formed by pattern formation of the multilayer printed circuit board of the module substrate 202, and the multi-layer mounting structure (FIG. 2C) is multiplied. An internal bus IBUS is formed by forming a layer chip.

도 3은 본 발명에 의한 프라이머리 메모리 소자의 바람직한 일실시예의 블록 구성을 나타낸다. 3 is a block diagram of a preferred embodiment of a primary memory device according to the present invention.

도 3을 참조하면, 프라이머리 메모리 소자(210)는 제1포트(212), 제2포트(214), 메모리 코아(216), 링크처리부(218), 위상동기회로(219)를 포함한다. 제1포트(212)는 호스트(100)와 직접 연결되는 외부버스(OBUS)와 연결된다. 제1포트(212)는 n비트 다운로딩버스(DLB)와 n비트 업로딩버스(ULB)에 연결된다. 제2포트(214)는 n비트 다운로딩 중계버스(DLRB)와 n비트 업로딩 중계버스(ULRB)에 연결된다.Referring to FIG. 3, the primary memory device 210 includes a first port 212, a second port 214, a memory core 216, a link processor 218, and a phase synchronization circuit 219. The first port 212 is connected to an external bus (OBUS) that is directly connected to the host 100. The first port 212 is connected to the n-bit downloading bus (DLB) and the n-bit uploading bus (ULB). The second port 214 is connected to the n-bit downloading relay bus (DLRB) and the n-bit uploading relay bus (ULRB).

메모리 코아(216)는 링크 처리부(218)을 통하여 제1포트(212) 및 제2포트(214)에 연결된다. 위상동기회로(209)는 기준클록신호(FCLK)를 입력하여 메모리 클록신호(MCLK), 리드 클록신호(RCLK), 라이트 클록신호(WCLK)를 각각 생성한다. The memory core 216 is connected to the first port 212 and the second port 214 through the link processor 218. The phase synchronization circuit 209 receives the reference clock signal FCLK to generate the memory clock signal MCLK, the read clock signal RCLK, and the write clock signal WCLK, respectively.

링크처리부(218)는 제어부(218a), 제1스위치(218b), 제2스위치(218c), 다운로딩 중계버퍼(218d)와 업로딩 중계버퍼(218e)를 포함한다. 다운로딩버스(DLB)는 제어부(218a)와 다운로딩 중계버퍼(218d)에 각각 연결된다. 다운로딩 중계버퍼(218d)는 다운로딩 내부 중계버스(DLIRB)를 통하여 제2스위치(218c)에 연결된다. 업로딩버스(ULB)는 제1스위치(218b)의 출력단자에 연결된다. 다운로딩 중계버스(DLRB)는 제2 스위치(218c)에 연결된다. 업로딩 중계버스(ULRB)는 업로딩 중계버퍼(218e)에 연결된다. 업로딩 내부 중계버스(ULIRB)는 업로딩 중계버퍼(218e)와 제1스위치(218b)의 일측 입력단자 사이에 연결된다. 업로딩 내부버스(ULIB)는 제어부 (218a)와 제1스위치(218b)의 다른 일측 입력단자 사이에 연결된다. 제어부(218a)는 메모리 코아(216)와 메모리 버스(MB)를 통해 연결된다. 제어부(218a)는 제어신호선(CSL1)을 통하여 제1스위치(218b)를 온/오프제어한다. 제어부(218a)는 제어신호선(CSL2)을 통하여 제2스위치(218c)를 온/오프제어한다. 제어부(218a)는 제어신호선(CSL3, CsL4)을 통하여 업로딩 중계버퍼(218e)와 다운로딩 중계버퍼(218d)의 리드 라이트를 제어한다.The link processing unit 218 includes a control unit 218a, a first switch 218b, a second switch 218c, a downloading relay buffer 218d, and an uploading relay buffer 218e. The downloading bus DLB is connected to the control unit 218a and the downloading relay buffer 218d, respectively. The downloading relay buffer 218d is connected to the second switch 218c through the downloading internal relay bus DLIRB. The upload bus ULB is connected to the output terminal of the first switch 218b. The downloading relay bus DLRB is connected to the second switch 218c. The uploading relay bus ULRB is connected to the uploading relay buffer 218e. The uploading internal relay bus ULIRB is connected between the uploading relay buffer 218e and one input terminal of the first switch 218b. The uploading internal bus ULIB is connected between the controller 218a and the other input terminal of the first switch 218b. The controller 218a is connected to the memory core 216 through a memory bus MB. The controller 218a controls the first switch 218b on / off through the control signal line CSL1. The controller 218a controls on / off of the second switch 218c through the control signal line CSL2. The controller 218a controls the read write of the uploading relay buffer 218e and the downloading relay buffer 218d through the control signal lines CSL3 and CsL4.

제1스위치(218b)는 프라이머리 메모리(210)의 리드 동작시에 ULIB가 ULB에 연결되도록 스위칭된다. 제1스위치(218b)는 서브 프로토콜 메모리(220)의 리드 중계동작시에 ULIRB가 ULB에 연결되도록 스위칭된다. 제2스위치(218c)는 다운로딩 중계동작시에 DLIRB가 DLRB에 연결되도록 스위칭된다. The first switch 218b is switched so that ULIB is connected to the ULB during the read operation of the primary memory 210. The first switch 218b is switched so that the ULIRB is connected to the ULB during the read relay operation of the subprotocol memory 220. The second switch 218c is switched so that the DLIRB is connected to the DLRB during the downloading relay operation.

다운로딩 중계버퍼(218d)는 제1포트(212)를 통해 수신된 다운로딩 패킷 데이터를 저장하고, 저장된 다운로딩 패킷 데이터를 제2포트(214)를 통해 송신한다. 업로딩 중계버퍼(218e)는 제2포트(214)를 통해 수신된 업로딩 패킷 데이터를 저장하고, 저장된 업로딩 패킷 데이터를 제1포트(212)를 통해 송신한다. The downloading relay buffer 218d stores the downloading packet data received through the first port 212 and transmits the stored downloading packet data through the second port 214. The uploading relay buffer 218e stores the uploading packet data received through the second port 214 and transmits the stored uploading packet data through the first port 212.

제어부(218a)는 패킷과 함께 수신된 라이트 클록신호에 응답하여 다운로딩 패킷 데이터를 수신하여 커맨드 및 어드레스 패킷을 디코딩한다. The control unit 218a receives the downloading packet data in response to the write clock signal received with the packet to decode the command and address packets.

디코딩된 명령이 라이트 명령이면, 라이트 패킷 데이터를 메모리 데이터로 변환시킨다. 변환된 메모리 데이터는 메모리 클록신호(MCLK)에 응답하여 메모리 코아(216)에 기입된다. 디코딩된 명령이 리드명령이라면, 메모리 코아(216)으로부터 데이터를 독출하여 리드 패킷 데이터를 생성시킨다. 생성된 리드 패킷 데이터는 제 1스위치(218b) 및 업로딩 버스(ULB)를 통해 호스트(100)로 송신된다. 이때 리드클록신호(RCLK)도 함께 송신된다. If the decoded command is a write command, the write packet data is converted into memory data. The converted memory data is written to the memory core 216 in response to the memory clock signal MCLK. If the decoded command is a read command, data is read from the memory core 216 to generate read packet data. The generated read packet data is transmitted to the host 100 through the first switch 218b and the upload bus ULB. At this time, the read clock signal RCLK is also transmitted.

디코딩된 명령이 다운로딩 중계명령이면, 다운 로딩 중계버퍼(218d)에 저장된 패킷 데이터를 DLIRB, 제2스위치(218c), DLRB를 통해 세컨더리 메모리(220)에 중계시킨다. 이때 라이트 클록신호(WCLK)도 함께 송신된다. If the decoded command is a downloading relay command, the packet data stored in the downloading relay buffer 218d is relayed to the secondary memory 220 through the DLIRB, the second switch 218c, and the DLRB. At this time, the write clock signal WCLK is also transmitted.

디코딩된 명령이 업로딩 중계명령이면, 업로딩 중계버퍼(218e)에 저장된 패킷 데이터를 ULIRB, 제1스위치(218b), ULB를 통해 호스트(100)로 중계시킨다. 여기서, 디코딩된 명령이 리드명령과 업로딩 중계명령이 동시에 지시된 경우에 병렬처리방식으로 동시에 진행이 가능하다. 구체적인 설명은 후술한다.If the decoded command is an uploading relay command, the packet data stored in the uploading relay buffer 218e is relayed to the host 100 through the ULIRB, the first switch 218b, and the ULB. In this case, when the decoded command is simultaneously indicated by the read command and the uploading relay command, the decoded command may be simultaneously processed in parallel processing. A detailed description will be described later.

도 4는 본 발명에 의한 다운로딩 및 업로딩 패킷의 구성을 나타낸다. 도 5 및 도 6은 본 발명에 의한 패킷들의 구성을 각각 나타낸 도면들이다. 도 7 및 도 8은 본 발명에 의한 커맨드 패킷의 각 기능들의 진리표를 나타낸 도면들이다. 이들 도면들을 참조하여 본 발명의 패킷 구조를 설명하면 다음과 같다. Figure 4 shows the configuration of the downloading and uploading packet according to the present invention. 5 and 6 are diagrams showing the configuration of packets according to the present invention, respectively. 7 and 8 are diagrams showing the truth table of the functions of the command packet according to the present invention. Referring to these drawings, the packet structure of the present invention will be described.

다운로딩 패킷은 도 4에 도시한 바와 같이 커맨드 및 어드레스 패킷과 라이트 데이터 패킷을 포함하거나, 커맨드 및 어드레스 패킷 단독으로 구성될 수 있다. 업로딩 패킷 은 도 4에 도시한 바와 같이 하나 이상의 리드 데이터 패킷을 포함한다. 도면에 도시한 실시예에서 단위 패킷(400)은 메모리 클록의 1주기동안 m( = 8)비트 병렬 데이터를 연속하여 q( = 10)회 전송하기 위하여 세로 8핀과 가로 10버스트(burst)의 사이즈를 가진 80( = m x q)비트 사이즈로 구성된다. The downloading packet may include a command and address packet and a write data packet as shown in FIG. 4, or may consist of a command and address packet alone. The uploading packet includes one or more read data packets as shown in FIG. In the embodiment shown in the figure, the unit packet 400 has 8 vertical pins and 10 horizontal bursts to transmit m (= 8) bits of parallel data continuously q (= 10) times during one period of the memory clock. It consists of a size of 80 bits (= mxq) with size.

패킷의 종류는 커맨드 및 어드레스 패킷(410)과 데이터 패킷(420)으로 구분 된다. 커맨드 및 어드레스 패킷(410)은 메모리소자들(210, 220)의 커맨드 및 어드레스 정보를 포함한다. 도 5의 참조번호 412는 프라이머리 랭크의 커맨드 및 어드레스 정보이고, 참조번호 414는 세컨더리 랭크의 커맨드 및 어드레스 정보이다. The packet type is divided into a command and address packet 410 and a data packet 420. The command and address packet 410 includes command and address information of the memory elements 210 and 220. Reference numeral 412 in FIG. 5 denotes command and address information of the primary rank, and reference numeral 414 denotes command and address information of the secondary rank.

412영역의 1컬럼의 FOP0 ~ FOP3은 Fore-Ground Operation 커맨드로 프라이머리 메모리 소자(210)의 커맨드 조합을 제공한다. 커맨드 조합은 도 7에 도시되어 있다. 커맨드는 ACT, READ, WRITE, READ & APC, WRITE & APC, REF, ARF, SRF, PDM, MRS, NOP 등의 일반적인 디램의 커맨드들과, BAOS, RAOS, CAOS, RDOS, WTOS 등의 오프셋 커맨드들이 제공된다. FOP0 to FOP3 in one column of the region 412 provide a command combination of the primary memory element 210 as a Fore-Ground Operation command. The command combination is shown in FIG. Commands include general DRAM commands such as ACT, READ, WRITE, READ & APC, WRITE & APC, REF, ARF, SRF, PDM, MRS, and NOP, and offset commands such as BAOS, RAOS, CAOS, RDOS, and WTOS. Is provided.

BAOS는 뱅크 어드레스 오프셋 커맨드이다. BAOS는 프라이머리 메모리와 세컨더리 메모리의 뱅크어드레스가 서로 다른 경우 뱅크 오프셋을 알리는 커맨드이다. 즉, 이 커맨드가 수신되면 세컨더리 메모리에서는 뱅크어드레스(여기서 뱅크어드레스는 프라이머리 메모리의 뱅크 어드레스와 동일)에 주어진 오프셋 값에 부가하여 지정된 뱅크에 대하여 프라이머리 메모리에서 수행되는 동작과 동일한 동작을 수행한다. 따라서, 세컨더리 메모리는 프라이머리 메모리에 종속적인 동작을 수행한다. 예컨대, 프라이머리 메모리는 뱅크0을 프리차지시키고, 세컨더리 메모리는 뱅크1을 프리차지시키고 싶다면, 프라이머리 메모리에는 프리자치 커맨드를 하달하고, 세컨더리 메모리에는 뱅크 오프셋값이 +1인 BAOS 커맨드를 하달하면 된다. BAOS is a bank address offset command. BAOS is a command for notifying the bank offset when the bank addresses of the primary memory and the secondary memory are different. That is, when this command is received, the secondary memory performs the same operation as that performed in the primary memory in addition to the offset value given to the bank address (where the bank address is the same as the bank address of the primary memory). . Therefore, the secondary memory performs an operation dependent on the primary memory. For example, if the primary memory precharges bank 0, and the secondary memory precharges bank 1, the preliminary command is given to the primary memory, and the BAOS command with a bank offset value of +1 is given to the secondary memory. do.

RAOS는 로우 어드레스 오프셋 커맨드이고, CAOS는 컬럼 어드레스 오프셋 커맨드이고, RDOS는 리드 오프셋 커맨드이고 WTOS는 라이트 오프셋 커맨드이다. 이들 오프셋 커맨드들은 상술한 BAOS 커맨드와 유사하게 프라이머리 메모리의 커맨드와 동일한 커맨드를 세컨더리 메모리의 오프셋값으로 지정된 저장장소에 대해 하달하기 위한 것이다. RAOS is a row address offset command, CAOS is a column address offset command, RDOS is a read offset command and WTOS is a write offset command. These offset commands are for delivering the same command as the command of the primary memory to the storage designated as the offset value of the secondary memory similarly to the BAOS command described above.

여기서 오프셋 값은 MRS 등을 통하여 미리 특정 값으로 세팅하거나 패킷 내에 코드값들의 조합이나 미사용 예비비트부분을 통하여 커맨드와 동시에 제공할 수 있다. In this case, the offset value may be set to a specific value in advance through an MRS or the like, or may be simultaneously provided with a command through a combination of code values or an unused reserved bit portion in a packet.

이와 같은 오프셋 커맨드는 메인 데이터와 서브 데이터의 관계(예컨대 화상데이터와 그 속성 데이터의 관계, 또는 동영상 압축데이터에서 독립 필드 데이터와 종속필드 데이터의 관계)를 가진 데이터의 처리시 매우 유용하다. Such an offset command is very useful for processing data having a relationship between main data and sub data (e.g., image data and attribute data, or independent field data and dependent field data in moving image compressed data).

CS0 ~ CS2는 모듈 내의 랭크를 선택하기 위한 비트들로 최대 RANK0 ~ RANK7까지 선택 가능하다. 따라서, CS0 ~ CS2의 랭크 지정신호에 해당되는 랭크의 프로토콜 메모리소자는 412 영역의 명령을 수행하게 된다. 2컬럼의 BA0~BA4는 뱅크 어드레스로 최대 16뱅크까지 지정이 가능하다. 2 내지 4컬럼의 A0~A10은 로우 어드레스 또는 컬럼 어드레스로 제공된다. RFU(Reserved for Future Use)는 미래 확장을 위한 예비비트들이다. CS0 to CS2 are bits for selecting a rank in the module and can be selected up to RANK0 to RANK7. Therefore, the rank protocol memory device corresponding to the rank designation signal of CS0 to CS2 executes the command of the region 412. Two columns, BA0 to BA4, can be assigned up to 16 banks as bank address. A0 to A10 of 2 to 4 columns are provided as row addresses or column addresses. Reserved for Future Use (RFU) are reserved bits for future expansion.

414영역의 5컬럼의 BGO는 중계지시(Back-Ground Operation 또는 Repeat Operation)명령으로 “0”의 값이면 중계동작 전체가 무시되고, Fore-Ground Operation 명령, 즉 412영역의 명령만을 수행한다. “1”이면 FGO 및 BGO 명령을 동시에 진행하거나 BGO 명령만을 수행한다. If the BGO of 5 columns in the area 414 is a relay instruction (Back-Ground Operation or Repeat Operation), if the value is “0”, the entire relay operation is ignored and only the Fore-Ground Operation command, that is, the command in the area 412 is executed. If it is “1”, FGO and BGO commands are executed simultaneously or only BGO commands are executed.

BP0 ~ BOP3은 Back-Ground Operation 커맨드로 세컨더리 메모리 소자(220)의 커맨드 조합을 제공한다. 커맨드의 내용은 상술한 Fore-Ground Operation 커맨드와 동일하다. RS0~RS2는 BGO 명령이 수행될 세컨더리 랭크들을 지정하기 위한 비트들이다. 세컨더리 랭크 지정은 도 8에 도시한 바와 같이 4랭크 구조에서 단독 또는 동시 그룹지정이 가능하다. 8랭크 구조에서는 7개의 세컨더리 랭크들(RANK1~RANK7)을 하나씩 지정하는 것이 가능하다. BP0 to BOP3 provide a command combination of the secondary memory device 220 as a back-ground operation command. The content of the command is the same as the Fore-Ground Operation command described above. RS0 to RS2 are bits for specifying secondary ranks to which a BGO instruction is to be performed. Secondary rank designation is possible to designate single or simultaneous grouping in the 4-rank structure as shown in FIG. In the eight-rank structure, it is possible to designate seven secondary ranks (RANK1 to Rank7) one by one.

도 6을 참조하면, 데이터 패킷(422, 424)은 각각 8비트 데이터들이 10회 연속된 것으로 최대 80비트 사이즈를 가진다. 80비트 전체가 메모리 소자에 라이트되는 데이터이거나 또는 메모리 소자로부터 리드된 데이터들로 구성된다. 라이트 또는 리드하고자 하는 데이터의 사이즈가 80비트를 초과하게 되면 연속하여 또 하나의 데이터 패킷을 구성하게 된다. 따라서 데이터 패킷은 적어도 하나 이상이 연속하여 전송될 수 있다. Referring to FIG. 6, data packets 422 and 424 each have 8 consecutive bits of data and have a maximum size of 80 bits. The entire 80 bits are either data written to the memory element or composed of data read from the memory element. When the size of data to be written or read exceeds 80 bits, another data packet is continuously formed. Therefore, at least one data packet may be transmitted continuously.

< 동작 설명 ><Description of operation>

1. 리드 동작1. Lead operation

도 9는 본 발명에 의한 2랭크 메모리 시스템의 리드 동작을 설명하기 위한 도면이다. 도 10은 도 9의 각부 동작 타이밍을 나타낸다. 도 11 내지 도 14는 각 동작에 따른 커맨드 및 어드레스 패킷의 구성을 나타낸다. 9 is a view for explaining a read operation of the second rank memory system according to the present invention. FIG. 10 illustrates operation timings of each part of FIG. 9. 11 to 14 show the configuration of a command and an address packet according to each operation.

도면을 참조하면, 참조번호 902는 랭크0의 프라이머리 메모리(210)의 FGO 동작 흐름을 나타내고, 참조번호 904는 랭크1의 세컨더리 메모리(220)의 BGO 동작 흐름을 나타낸다. Referring to the drawings, reference numeral 902 denotes an FGO operation flow of rank 0 primary memory 210, and reference numeral 904 denotes a BGO operation flow of rank 1 secondary memory 220.

프로토콜 메모리(210)는 DLB를 통해 호스트(100)로부터 도 11의 커맨드 및 어드레스 패킷을 접수한다. CS0~CS2 값이 “000”이므로 FOP0~FOP3의 “0000” 커맨드인 ACT 커맨드를 수행한다. 즉, 프라이머리 메모리(210)의 뱅크0의 로우 어드레스를 활성화시켜서(즉 메모리의 뱅크를 오픈하여) 액티브된 로우에 관련된 복수의 메모리 셀들로부터 셀데이터를 가져다가 센스증폭기로 옮겨 놓는다. 이어서, 프라이머리 메모리(210)는 BGO값이“1”이므로 도 10의 T4의 선단에서 DLRB를 통해 세컨더리 메모리(220)에 도 12의 랭크1의 커맨드 및 어드레스 패킷, 즉 중계 커맨드 패킷을 중계한다. 세컨더리 메모리(220)는 중계된 패킷을 해석한다. CS0~CS2 값이 “001”이므로 FOP0~FOP3의 “0000”커맨드인 ACT 커맨드를 수행한다. 즉, 세컨더리 메모리(220)의 뱅크0의 로우 어드레스를 활성화시켜서(즉 메모리의 뱅크를 오픈하여) 액티브된 로우에 관련된 복수의 메모리 셀들로부터 셀데이터를 가져다가 센스증폭기로 옮겨 놓는다 The protocol memory 210 receives the command and address packet of FIG. 11 from the host 100 via the DLB. Since CS0 ~ CS2 value is “000”, execute ACT command which is “0000” command of FOP0 ~ FOP3. That is, by activating the row address of bank 0 of the primary memory 210 (ie, opening the bank of the memory), the cell data is taken from a plurality of memory cells associated with the activated row and transferred to the sense amplifier. Next, since the BGO value is "1", the primary memory 210 relays the rank 1 command and the address packet of FIG. 12, that is, the relay command packet, to the secondary memory 220 through the DLRB at the tip of T4 of FIG. 10. . The secondary memory 220 interprets the relayed packet. Since CS0 ~ CS2 value is “001”, execute ACT command which is “0000” command of FOP0 ~ FOP3. That is, by activating the row address of the bank 0 of the secondary memory 220 (ie, opening the bank of the memory), the cell data is taken from the plurality of memory cells associated with the activated row and transferred to the sense amplifier.

도 10의 T7의 선단에서 프라이머리 메모리(210)는 도 13의 커맨드 및 어드레스 패킷을 접수한다. CS0~CS2 값이 “000”이므로 FOP0~FOP3의 “0001”커맨드인 READ 커맨드를 수행한다. 즉, 프라이머리 메모리(210)의 뱅크0의 센스증폭기에 센싱된 셀데이터를 메모리 코아의 입출력회로를 통해 링크제어부에 전달한다. 링크제어부에서는 전달된 메모리 데이터를 리드 데이터 패킷으로 형성한다. 따라서, 5클록 CAS 레이턴시 이후에 ULB를 통해 리드 데이터 패킷이 호스트(100)로 전달된다. 이어서, 프라이머리 메모리(210)는 BGO값이 “1”이므로 도 10의 T10의 선단에서 DLRB를 통해 세컨더리 메모리(220)에 도 14의 랭크1의 커맨드 및 어드레스 패킷을 중계한다. At the tip of T7 in FIG. 10, the primary memory 210 receives the command and address packet of FIG. 13. Since CS0 ~ CS2 value is “000”, execute READ command which is “0001” command of FOP0 ~ FOP3. That is, the cell data sensed by the sense amplifier of the bank 0 of the primary memory 210 is transferred to the link controller through the input / output circuit of the memory core. The link control unit forms the transferred memory data into a read data packet. Thus, after 5 clock CAS latency, the read data packet is delivered to the host 100 via the ULB. Subsequently, since the BGO value is “1”, the primary memory 210 relays the rank 1 command and address packet of FIG. 14 to the secondary memory 220 through the DLRB at the tip of T10 of FIG. 10.

도 10의 T10의 선단에서 세컨더리 메모리(220)는 도 14의 커맨드 및 어드레스 패킷을 접수한다. CS0~CS2 값이 “001”이므로 BOP0~BOP3의 “0001”커맨드인 READ 커맨드를 수행한다. 즉, 세컨더리 메모리(210)의 뱅크0의 센스증폭기에 센싱된 셀데이터를 메모리 코아의 입출력회로를 통해 링크제어부에 전달한다. 링크제어부에서는 전달된 메모리 데이터를 리드 데이터 패킷 으로 형성한다 따라서, 5클록 CAS 레이턴시 이후에 ULRB를 통해 리드 데이터 패킷이 랭크0의 프라이머리 메모리(210)로 전달된다. 프라이머리 메모리(210)에서는 전달된 랭크1의 리드 데이터 패킷을 업 로딩 중계버퍼에 일시 저장한다. 업로딩 중계버퍼에 저장된 데이터 패킷은 즉시 스위치(218b)를 통하여 호스트(100)로 전달된다. 즉, 프라이머리 메모리(210)의 중계 지연시간(~3ns)이 지난 T18의 선단에서 ULB를 통해 호스트(100)로 전달된다. At the tip of T10 of FIG. 10, the secondary memory 220 receives the command and address packet of FIG. 14. Since CS0 ~ CS2 value is “001”, execute READ command which is “0001” command of BOP0 ~ BOP3. That is, the cell data sensed by the sense amplifier of the bank 0 of the secondary memory 210 is transferred to the link controller through the input / output circuit of the memory core. The link control unit forms the transferred memory data as a read data packet. Accordingly, after 5 clock CAS latency, the read data packet is transferred to the primary memory 210 of rank 0 through the ULRB. The primary memory 210 temporarily stores the transferred read data packet of the rank 1 in the upload relay buffer. Data packets stored in the upload relay buffer are immediately transferred to the host 100 through the switch 218b. That is, the relay delay time (˜3 ns) of the primary memory 210 is transmitted to the host 100 through the ULB at the front end of T18.

따라서, 프라이머리 메모리(210)은 자신의 리드 커맨드를 처리함과 동시에 세컨더리 메모리(220)의 리드 커맨드 중계에 이어서 리드 데이터의 중계 동작을 수행하게 되는 것이다. Therefore, the primary memory 210 processes the read command of the primary memory 210 and performs the relay operation of the read data following the relay of the read command of the secondary memory 220.

2. 라이트 동작2. Light operation

도 15는 본 발명에 의한 2랭크 메모리 시스템의 라이트 동작을 설명하기 위한 도면이다. 라이트 동작은 DLB를 통해 커맨드 및 어드레스 패킷이 도 15의 T1의 선단에서 프라이머리 메모리(210)에 전달된다. 프라이머리 메모리(210)는 커맨드를 해석하여 라이트하고자 하는 뱅크0의 로우를 활성화시킨다. 동시에 프라이머리 메 모리(210)는 BGO값이“1”이므로 세컨더리 메모리(220)의 커맨드 및 어드레스 패킷을 생성하여 세컨더리 메모리(220)에 중계한다. 세컨더리 메모리(220)에서는 T4의 선단에서 커맨드 및 어드레스 패킷을 수신한다. 세컨더리 메모리 (220)는 수신된 커맨드를 해석하고 라이트하고자 하는 뱅크 0의 로우를 활성화시킨다. 15 is a view for explaining the write operation of the second rank memory system according to the present invention. In the write operation, a command and an address packet are transmitted to the primary memory 210 at the tip of T1 of FIG. 15 through the DLB. The primary memory 210 interprets the command to activate the row of bank 0 to be written. At the same time, since the BGO value is "1", the primary memory 210 generates a command and an address packet of the secondary memory 220 and relays it to the secondary memory 220. The secondary memory 220 receives a command and an address packet at the tip of T4. The secondary memory 220 interprets the received command and activates the row of bank 0 to be written.

T7의 선단에서 라이트 커맨드 패킷에 이어서 연속하여 라이트 데이터 패킷들이 프라이머리 메모리(210)에 전달된다. 프라이머리 메모리(210)는 커맨드를 해석하여 해당 컬럼을 활성화시켜서 라이트 데이터를 셀에 기입한다. 동시에 프라이머리 메모리(210)는 세컨더리 메모리(220)의 커맨드 및 어드레스 패킷을 생성하여 세컨더리 메모리(220)에 중계한다. 세컨더리 메모리(220)에서는 T10의 선단에서 커맨드 및 어드레스 패킷과 라이트 데이터 패킷을 수신한다. 세컨더리 메모리 (220)는 수신된 커맨드를 해석하고 해당 컬럼을 활성화시켜서 라이트 데이터를 셀에 기입한다. The write data packets are delivered to the primary memory 210 in succession following the write command packet at the tip of T7. The primary memory 210 interprets the command to activate the corresponding column and writes the write data to the cell. At the same time, the primary memory 210 generates commands and address packets of the secondary memory 220 and relays them to the secondary memory 220. The secondary memory 220 receives a command and an address packet and a write data packet at the tip of T10. The secondary memory 220 interprets the received command and activates the corresponding column to write the write data into the cell.

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

상술한 바와 같이 본 발명에서는 프로토콜 메모리 소자의 억세스와 동시에 서브 프로토콜 메모리 소자를 제어함으로서 데이터의 전송성능(throughput)을 높히 고 병렬처리능력(concurrency)을 대폭 증가시킬 수 있다. As described above, in the present invention, by controlling the sub-protocol memory device simultaneously with the access of the protocol memory device, the throughput of data can be increased and the concurrency can be greatly increased.

Claims (7)

제1포트;First port; 제2포트;Second port; 데이터를 저장하기 위한 메모리 코아;A memory core for storing data; 상기 제1포트를 통해 호스트로부터 제공된 커맨드 패킷을 수신하고, 상기 커맨드 패킷은 프라이머리 커맨드와 세컨더리 커맨드를 포함하며, 상기 프라이머리 커맨드에 의해 상기 메모리 코아와 상기 호스트 사이의 메모리 데이터 송수신을 제어하고, 상기 세컨더리 커맨드를 포함한 중계 커맨드 패킷을 상기 제2포트를 통해 다른 프로토콜 메모리 소자에 중계하는 링크 처리부를 구비하고, 상기 메모리 코아는 상기 링크 처리부를 통하여 상기 제1 포트 및 상기 제2 포트에 연결되는 것을 특징으로 하는 프로토콜 메모리 소자.Receiving a command packet provided from a host through the first port, the command packet including a primary command and a secondary command, controlling transmission and reception of memory data between the memory core and the host by the primary command, And a link processor for relaying a relay command packet including the secondary command to another protocol memory device through the second port, wherein the memory core is connected to the first port and the second port through the link processor. Protocol memory device characterized in that. 제1항에 있어서, 상기 링크처리부는 The method of claim 1, wherein the link processing unit 상기 제2포트를 통하여 상기 다른 프로토콜 메모리 소자로부터 제공된 데이터 패킷을 수신하고, 수신된 데이터 패킷을 상기 제1포트를 통하여 상기 호스트로 중계하는 것을 특징으로 하는 프로토콜 메모리 소자.Receiving a data packet provided from the other protocol memory device through the second port, and relaying the received data packet to the host through the first port. 제1항에 있어서, 상기 링크처리부는 The method of claim 1, wherein the link processing unit 상기 세컨더리 커맨드에 포함된 중계지시정보에 응답하여 상기 중계 커맨드패킷을 중계하는 것을 특징으로 하는 프로토콜 메모리 소자.And relaying the relay command packet in response to the relay instruction information included in the secondary command. 하나의 모듈기판 상에 종속 결합된 프라이머리 메모리 소자와 세컨더리 메모리 소자를 구비하고, A primary memory element and a secondary memory element subordinately coupled on one module substrate, 상기 프라이머리 메모리 소자는 호스트로부터 제공되는 커맨드 패킷을 수신하고, 상기 커맨드 패킷에 포함된 프라이머리 커맨드에 응답하여 호스트와 데이터를 송수신하고, 상기 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 상기 세컨더리 커맨드를 포함하는 중계 커맨드 패킷을 중계하고, The primary memory device receives a command packet provided from a host, transmits and receives data with a host in response to a primary command included in the command packet, and sends the secondary command in response to a secondary command included in the command packet. Relay a relay command packet, 상기 세컨더리 메모리 소자는 상기 프라이머리 메모리 소자로부터 제공된 상기 중계 커맨드 패킷을 수신하고, 상기 수신된 중계 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 상기 프라이머리 메모리 소자를 통하여 상기 호스트와 데이터를 송수신하는 것을 특징으로 하는 메모리 모듈. The secondary memory device receives the relay command packet provided from the primary memory device, and transmits and receives data to and from the host through the primary memory device in response to the secondary command included in the received relay command packet. Memory module. 프라이머리 커맨드와 세컨더리 커맨드를 포함하는 하나의 커맨드 패킷을 발생하는 호스트; 및A host for generating one command packet including a primary command and a secondary command; And 상기 호스트에 결합된 메모리 모듈을 구비하고, A memory module coupled to the host, 상기 메모리 모듈은 모듈기판 상에 프라이머리 메모리 소자와 세컨더리 메모리 소자를 실장하고, The memory module mounts a primary memory device and a secondary memory device on a module substrate. 상기 프라이머리 메모리 소자는 상기 호스트로부터 제공되는 커맨드 패킷을 수신하고, 상기 커맨드 패킷에 포함된 프라이머리 커맨드에 응답하여 상기 호스트와 데이터를 송수신하고, 상기 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 상기 세컨더리 커맨드를 포함하는 중계 커맨드 패킷을 중계하며, The primary memory device receives a command packet provided from the host, transmits and receives data with the host in response to a primary command included in the command packet, and responds to the secondary command included in the command packet. Relay a relay command packet including a command, 상기 세컨더리 메모리 소자는 상기 프라이머리 메모리 소자로부터 중계된 상기 중계 커맨드 패킷을 수신하고, 상기 수신된 중계 커맨드 패킷에 포함된 세컨더리 커맨드에 응답하여 상기 프라이머리 메모리 소자를 통하여 상기 호스트와 데이터를 송수신하는 것을 특징으로 하는 메모리 시스템. The secondary memory device receives the relay command packet relayed from the primary memory device, and transmits and receives data to and from the host through the primary memory device in response to the secondary command included in the received relay command packet. Characterized by a memory system. 삭제delete 제1메모리 소자에서 프라이머리 커맨드와 세컨더리 커맨드를 포함하는 커맨드 패킷을 수신하는 단계;Receiving a command packet including a primary command and a secondary command in a first memory device; 상기 수신된 커맨드 패킷의 프라이머리 커맨드를 수행하면서, 상기 세컨더리 커맨드를 포함하는 중계 커맨드 패킷을 제2메모리 소자로 중계하는 단계;Relaying a relay command packet including the secondary command to a second memory device while performing a primary command of the received command packet; 상기 제1메모리 소자로부터 중계된 상기 중계 커맨드 패킷을 제2메모리 소자에서 수신하는 단계;Receiving the relay command packet relayed from the first memory device at a second memory device; 상기 제2 메모리소자에서 상기 수신된 중계 커맨드 패킷의 세컨더리 커맨드를 수행하는 단계를 구비하는 것을 특징으로 하는 종속 결합된 메모리 소자의 제어방법.And performing a secondary command of the received relay command packet in the second memory device.
KR1020050087212A 2005-09-12 2005-09-20 Protocol memory, memory module, protocl memory system and method for controlling thereof KR100916215B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020050087212A KR100916215B1 (en) 2005-09-20 2005-09-20 Protocol memory, memory module, protocl memory system and method for controlling thereof
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
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
KR1020050087212A KR100916215B1 (en) 2005-09-20 2005-09-20 Protocol memory, memory module, protocl memory system and method for controlling thereof

Publications (2)

Publication Number Publication Date
KR20070032857A KR20070032857A (en) 2007-03-23
KR100916215B1 true KR100916215B1 (en) 2009-09-08

Family

ID=41560600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050087212A KR100916215B1 (en) 2005-09-12 2005-09-20 Protocol memory, memory module, protocl memory system and method for controlling thereof

Country Status (1)

Country Link
KR (1) KR100916215B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086441A1 (en) 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system
KR100717113B1 (en) 2005-09-12 2007-05-10 삼성전자주식회사 Semiconductor memory module and semiconductor memory system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086441A1 (en) 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system
KR100717113B1 (en) 2005-09-12 2007-05-10 삼성전자주식회사 Semiconductor memory module and semiconductor memory system

Also Published As

Publication number Publication date
KR20070032857A (en) 2007-03-23

Similar Documents

Publication Publication Date Title
KR100732194B1 (en) Memory module, memory system and method for controlling thereof
KR100936637B1 (en) Dynamic command and/or address mirroring system and method for memory modules
US6459651B1 (en) Semiconductor memory device having data masking pin and memory system including the same
EP1665056B1 (en) Multiple processor system and method including multiple memory hub modules
US7024518B2 (en) Dual-port buffer-to-memory interface
US5870350A (en) High performance, high bandwidth memory bus architecture utilizing SDRAMs
EP1036362B1 (en) Memory system including a memory module having a memory module controller
US6968419B1 (en) Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
US7680968B2 (en) Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US6970968B1 (en) Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
KR101611516B1 (en) Method and system for improving serial port memory communication latency and reliability
KR0164395B1 (en) Semiconductor memory device and its read/write method
US7171508B2 (en) Dual port memory with asymmetric inputs and outputs, device, system and method
KR101462604B1 (en) Semiconductor device and multi-chip package
KR100588599B1 (en) Memory module and memory system
US7007130B1 (en) Memory system including a memory module having a memory module controller interfacing between a system memory controller and memory devices of the memory module
US8688930B2 (en) Memory register encoding apparatus and methods
EP1981033B1 (en) Apparatus and method for pipelined memory operations with write mask
US20060294294A1 (en) Non-DRAM indicator and method of accessing data not stored in DRAM array
JP2007080258A (en) Memory system and method having point-to-point link
US20070005902A1 (en) Integrated sram cache for a memory module and method therefor
US7518935B2 (en) Synchronous RAM memory circuit
JPH1021684A (en) Synchronous semiconductor memory device
KR100916215B1 (en) Protocol memory, memory module, protocl memory system and method for controlling thereof
US20220100420A1 (en) Apparatus with access control mechanism and methods for operating the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee