KR20160099364A - 패킷 통신을 이용한 메모리 초기화 장치 및 방법 - Google Patents

패킷 통신을 이용한 메모리 초기화 장치 및 방법 Download PDF

Info

Publication number
KR20160099364A
KR20160099364A KR1020150021741A KR20150021741A KR20160099364A KR 20160099364 A KR20160099364 A KR 20160099364A KR 1020150021741 A KR1020150021741 A KR 1020150021741A KR 20150021741 A KR20150021741 A KR 20150021741A KR 20160099364 A KR20160099364 A KR 20160099364A
Authority
KR
South Korea
Prior art keywords
memory
module
processing module
memory module
initialization
Prior art date
Application number
KR1020150021741A
Other languages
English (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 KR1020150021741A priority Critical patent/KR20160099364A/ko
Publication of KR20160099364A publication Critical patent/KR20160099364A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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

Abstract

본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치는 슬레이브 프로토콜(Slave Protocol) 엔진을 구비하며, 직렬 패킷 통신을 이용하여 프로세싱 모듈로 메모리 정보를 포함하는 패킷을 전달하는 메모리 모듈 및 마스터 프로토콜(Master Protocol) 엔진을 구비하며, 직렬 패킷 통신을 이용하여 메모리 모듈과 데이터를 송수신하며, 수신된 패킷의 메모리 정보에 기초하여 메모리 상태를 파악하여 메모리 탐지 및 초기화를 수행하는 프로세싱 모듈을 포함한다.

Description

패킷 통신을 이용한 메모리 초기화 장치 및 방법{APPARATUS AND METHOD FOR MEMORY INITIALIZATION USING PACKET COMUNICATION}
본 발명은 메모리의 데이터 처리에 관한 기술로서, 보다 상세하게는 패킷 통신을 이용한 메모리 초기화 장치 및 방법에 관한 것이다.
DRAM 및 SDRAM과 같은 메모리는 전원이 입력된 후, 초기화를 통해 프로세서 측의 메모리 컨트롤러와 통신을 위한 설정을 수행한다. 메모리의 초기화는 프로세서 및 바이오스(Bios)에 의한 정보 획득과 메모리 액세스를 위한 여타의 타이밍과 레이턴시(Laytency) 정보 등의 교환이 이루어지는 단계이다. 메모리는 프로세서의 메모리 컨트롤러와 통신하는 과정에서 데이터 버스트(Burst) 길이, 순서, 형태 및 레이턴시(Laytency) 등을 결정하게 된다. 이와 같이, 초기 설정과정 및 데이터 처리 과정에서 메모리와 프로세서의 메모리 컨트롤러 사이의 인터페이스는 매우 중요한 문제이다.
일반적으로 사용되는 DRAM 모듈은 SPD(Serial Presence Detect) 롬(ROM)을 구비하고 있으며, SPD 롬(ROM)을 통해 메모리 컨트롤러와 통신을 수행한다. 하지만, SPD는 I2C 신호 전달 방식으로 데이터 라인 및 명령 라인이 아닌 제3의 라인을 통해 메모리 컨트롤러와 통신을 수행하기 때문에, SPD 롬을 위한 별도의 신호선 및 신호 전달 방식을 추가로 구비해야 하는 문제점이 있다. 또한, SPD 롬은 병렬 통신방식이기 때문에, 초기화 과정에서 프로세싱 모듈과 동기화하기 위한 레벨링(Leveling) 과정을 추가적으로 수행해야 하는 문제점이 있다. 미국공개특허 US2006/0004978호는 메모리 초기화 기술을 기재하고 있다. 하지만, 별도의 신호선을 추가로 구비해야 하고 레벨링 과정을 추가적으로 수행해야 하는 문제점의 해결 방안을 제시하지 있지 않다.
미국공개특허 US2006/0004978호
본 발명이 해결하고자 하는 과제는 종래의 I2C 통신을 이용한 SPD를 대체하여 별도의 통신 라인 및 신호 전달 방식을 필요로 하지 않는 메모리 초기화 장치 및 방법을제공하는 것이다.
본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치는 슬레이브 프로토콜(Slave Protocol) 엔진을 구비하며, 직렬 패킷 통신을 이용하여 프로세싱 모듈로 메모리 정보를 포함하는 패킷을 전달하는 메모리 모듈 및 마스터 프로토콜(Master Protocol) 엔진을 구비하며, 직렬 패킷 통신을 이용하여 메모리 모듈과 데이터를 송수신하며, 수신된 패킷의 메모리 정보에 기초하여 메모리 상태를 파악하여 메모리 탐지 및 초기화를 수행하는 프로세싱 모듈을 포함한다.
메모리 모듈 및 프로세싱 모듈은 시스템에 전원이 인가되면, 시동 자체 시험(Power-on self-test)을 진행하고, 둘 사이를 연결하는 시리얼 링크(Serial Link)의 초기화를 통해 상호 통신 속도 및 레인(Lane) 정보를 동기화하여 시리얼 링크 초기화를 진행한다. 그리고, 프로세싱 모듈은 수신된 메모리 정보에 기초하여 메모리 모듈의 존재 및 메모리 모듈의 용량을 포함하는 메모리 상태를 파악할 수 있다.
하나의 일례로서, 메모리 모듈 및 프로세싱 모듈은 실리콘 포토닉스(Silicon Photonics)를 이용하여 메모리 모듈 및 프로세싱 모듈 사이의 광링크를 연결할 수 있다. 그리고, 패킷 통신을 이용한 메모리 초기화 장치는 마스터 프로토콜 엔진 및 슬레이브 프로토콜 엔진의 프로토콜 규칙에 기초하여 하나의 프로세싱 모듈과 둘 이상의 메모리 모듈 사이의 시리얼 링크를 형성하는 마스터-슬레이브 형태로 연결될 수 있다.
시리얼 링크로 연결된 메모리 모듈 및 프로세싱 모듈 사이의 패킷 통신을 이용한 메모리 초기화 방법은 먼저, 시스템에 전원이 인가되면 메모리 모듈 및 프로세싱 모듈에서 시동 자체 시험(Power-on self-test)을 진행한다. 시동 자체 시험에서 메모리 모듈 및 프로세싱 모듈이 모두 정상적으로 동작하는 것으로 확인되면, 메모리 모듈 및 상기 프로세싱 모듈 사이의 상호 통신 속도 및 레인 상태를 확인하여 시리얼 링크를 초기화한다. 그리고, 초기화된 시리얼 링크를 통해 메모리 모듈에서 프로세싱 모듈로 메모리 정보를 전달한다. 프로세싱 모듈로 메모리 정보가 전달되면, 수신된 메모리 정보에 기초하여 프로세싱 모듈에서 메모리 초기화를 수행한다. 프로세싱 모듈에서 메모리 초기화를 수행하는 과정은 수신된 메모리 정보에 기초하여 메모리 모듈의 존재 및 메모리 모듈의 용량을 포함하는 메모리 상태를 파악하여 메모리 초기화를 수행할 수 있다.
본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치 및 방법에 의하면, 별도의 신호선 및 별도의 신호 전달 방식을 필요로 하지 않는다.
또한, 본 발명에 따른 패킷 통신을 이용한 초기화 장치 및 방법에 의하면, 레벨링 과정 및 칩 내 종단 저항과 같은 요소를 제거하여 보다 간략한 메모리 모듈을 구성할 수 있다.
또한, 본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치 및 초기화 방법에 의하면, 메모리 용량을 확대시킬 수 있고, 원거리 배치에 활용할 수 있다.
도 1은 본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 일 실시예를 나타내는 구성도이다.
도 2a는 본 발명의 일 실시예에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 메모리 모듈(110)의 상세도이다.
도 2b는 본 발명의 일 실시예에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 프로세싱 모듈(130)의 상세도이다.
도 3은 본 발명의 일 실시예에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 메모리 초기화 방법을 나타내는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 일 실시예를 나타내는 구성도이다.
도 1을 참조하면, 본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)는 내부에 프로토콜 엔진(Protocol Engine)을 장착하여 시리얼 통신의 규칙을 설정함으로써 시리얼 링크를 형성하고, 시리얼 링크를 통한 패킷 통신을 이용하여 초기화를 진행한다. 패킷 통신을 이용한 메모리 초기화 장치(100)는 메모리 모듈(110) 및 프로세싱 모듈(130)을 포함한다.
메모리 모듈(110)은 슬레이브 프로토콜(Slave Protocol) 엔진 및 시리얼 트랜시버를 구비한다. 메모리 모듈(110)은 슬레이브 프로토콜 엔진 및 시리얼 트랜시버를 통해 프로세싱 모듈(130)과의 시리얼 링크(Serial Link)를 형성하여 직렬 패킷 통신으로 연결된다. 슬레이브 프로토콜 엔진은 시리얼 링크를 형성하여 패킷 통신을 수행하는 프로토콜이다. 메모리 모듈(110)은 슬레이브 프로토콜 엔진을 통해 프로세싱 모듈(130)의 마스터 프로토콜(Master Protocol) 하에 둘 이상의 메모리 모듈(110)이 연결될 수 있다.
프로세싱 모듈(130)은 마스터 프로토콜 엔진 및 시리얼 트랜시버를 구비하여, 메모리 모듈(110)과 직렬 패킷 통신을 이용한 시리얼 링크를 통해 연결된다. 종래의 프로세싱 모듈은 초기화 과정에서 RAS(Row Address Strobe) 및 CAS(Column Address Strobe)를 메모리로 전달하고, 시그널 래칭 위치를 결정하여 시그널의 안정적인 래칭을 도모할 수 있는 레벨링(Leveling) 과정을 수행하기 때문에, 이를 위하여 별도의 메모리 컨트롤러를 필요로 한다. 하지만, 본 발명에 따른 프로세싱 모듈(130)은 패킷 통신을 이용하여 초기화를 수행하기 때문에, 종래의 프로세싱 모듈과 같이 RAS 및 CAS 정보를 전달하고 레벨링 과정을 수행하는 절차가 불필요하다. 따라서, 본 발명의 프로세싱 모듈(130)은 종래와 같은 복잡한 기능을 수행하는 메모리 컨트롤러를 단순화 시킬 수 있다.
메모리 초기화 장치(100)는 전원이 인가되면 시동 자체 시험(Power-on self-test)을 진행한다. 시동 자체 시험은 전원을 인가하였을 때, 시스템 전반을 검사하는 과정으로, 메모리 모듈(110) 및 프로세싱 모듈(130)이 올바르게 동작하는지 확인하는 절차이다.
패킷 통신에 사용하는 시리얼 트랜시버는 점대점(Point-to-point) 방식으로 로컬(Local)과 원격지(Remote) 사이의 트랜시버 초기화를 필요로 한다. 본 발명에서, 마스터 프로토콜 엔진을 구비한 프로세싱 모듈(130)이 로컬 역할을 수행하고, 슬레이브 프로토콜 엔진을 구비한 메모리 모듈(110)이 원격지 역할을 수행한다. 따라서, 시동 자체 시험을 수행하여 메모리 모듈(110) 및 프로세싱 모듈(130)이 정상적으로 작동하는 것이 확인되면, 메모리 모듈(110) 및 프로세싱 모듈(130)은 링크 초기화 과정을 수행한다. 링크 초기화를 통해 메모리 모듈(110) 및 프로세싱 모듈(130) 사이의 상호 통신 속도 및 레인(Lane)에 대한 기본적인 정보를 동기화한다.
링크 초기화 과정이 종료되면, 원격지에 장착된 메모리 모듈(110)은 메모리 정보를 직렬 패킷 통신을 통해 프로세싱 모듈(130)로 전달한다. 메모리 정보는 메모리 모듈(130)이 존재하는지에 대한 정보, 메모리 용량 및 생산자 식별정보(Manifacturer ID) 중에서 적어도 하나 이상을 포함할 수 있다. 프로세싱 모듈(130)은 수신된 메모리 정보를 이용하여 메모리가 존재하는지 여부를 확인할 수 있으며, 설치된 메모리의 용량 또한 확인할 수 있다. 그리고, 프로세싱 모듈(130)은 필요에 따라서 메모리 모듈(110)의 생산자를 식별할 수 있다. 특히, 메모리 모듈(110)이 DRAM(Dynamic Random Access Memory)인 경우, DRAM에 내장된 모드 레지스터의 초기화는 프로세싱 모듈(130)으로부터 전달받은 패킷을 통해 이루어질 수 있다.
본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)는 직렬 패킷 통신을 이용하여 메모리 모듈(110) 및 프로세싱 모듈(130)을 연결하기 때문에, 기존의 병렬 방식에서 필요로 하던 메모리 엑세스 타임, 메모리 레이턴시(Latency) 및 레벨링 정보(DLL Phase) 등은 필요하지 않게 된다. 본 발명에 따른 메모리 초기화 장치(100)는 메모리 모듈(110)과 프로세싱 모듈(130) 사이의 통신 미디어로 시리얼 트랜시버를 이용하기 때문에 프로세싱 모듈(130)이 메모리 엑세스 타임을 관장할 필요 없이 메모리 모듈(110)의 프로토콜(슬레이브 프로토콜 엔진)에서 직접 관장할 수 있다. 메모리 모듈(110)의 슬레이브 프로토콜 엔진은 메모리 생산자로부터 정보를 받아 처리하면 된다. 또한, 레이턴시 역시 프로세싱 모듈(130)에서 관장할 필요가 없다.
특히, 레벨링 정보의 경우, 본 발명에 따른 메모리 초기화 장치(100)는 병렬 구조에서 직렬 구조로 바뀌면서 데이터간 스큐 문제가 사라졌기 때문에 레벨링 정보를 필요로 하지 않는다. 메모리의 I/O 동작 속도의 증가에 있어서 가장 심각한 문제가 발생할 수 있는 부분은 신호의 전달 시간 차에 의한 스큐(Skew)이다. 종래의 SPD 롬을 이용하는 메모리 컨트롤러에서는 레벨링 과정을 통해 토폴로지 변화에 의한 데이터 캡처를 통해 스큐 문제를 해결하였다. 하지만, 본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)는 직렬 패킷 통신을 이용하기 때문에 레벨링 과정을 생략할 수 있다.
병렬로 구성된 메모리 채널 데이터는 스트로빙(DQS) 신호를 이용하여 래칭(Latching)한다. 다수로 구성된 데이터는 보드 상에서 선의 길이 및 상호 간섭에 의해 동일한 전파 시간을 가지지 못한다. 이러한 이유로 인해 목적지에서 래칭하는 스트로빙 신호는 모든 병렬 신호의 안정구간에서 래칭을 해야 한다. 이를 위해 필요한 과정이 레벨링 과정이다. 즉, 모든 병렬 신호의 안정구간을 찾기 위해 일정 간격으로 스트로빙 신호를 이동시켜 래칭하며, 모든 병렬 신호가 동일한 래칭값이 추출되는 순간의 스트로빙 신호를 고정시켜 래칭에 이용한다. 이와 같이 레벨링은 병렬 통신시 발생하는 데이터 간의 스큐 문제를 해결하기 위해 스트로빙 신호의 래칭 타임을 정하는 과정이다. 하지만, 본 발명의 직렬 패킷 통신은 종래의 병렬 패킷 통신과 같이 데이터 당 신호 선을 물리적으로 가지고 있지 않으며, 이로 인해 각 데이터를 래칭하기 위한 스트로빙 신호가 필요 없다. 특히, 직렬 패킷 통신의 경우 트랜시버 내부에 존재하는 클록데이터 복원기(Clock Data Recover) 회로를 이용한다. 이와 같은 이유로 종래의 SPD롬을 이용한 병렬 패킷 통신에서 본 발명에 따른 직렬 패킷 통신으로 변경함으로써 레벨링 과정을 생략할 수 있다.
패킷 통신을 이용한 메모리 초기화 장치(100)는 시리얼 통신으로 메모리 통신 방식을 변경하고, 병렬 방식에서 필요로 하던 레벨링 및 칩 내 종단 저항과 같은 요소를 제거하여 좀 더 간략한 메모리 모듈을 구성할 수 있다. 종래의 SPD 롬을 이용한 병렬 통신을 이용하는 경우, 프로세서의 약 40~50% 정도의 핀 카운트를 점유하고, 이로 인해 보드 상의 배치 및 배선(Placement and Routing, P&R)의 어려움과 메모리 용량의 확대 및 원거리 배치의 어려움을 안고 있다. 반면에, 본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)는 시리얼 통신의 도입을 통해 구성을 간소화할 수 있어 공간 확보에 용이하다.
도 2a는 본 발명의 일 실시예에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 메모리 모듈(110)의 상세도이다.
도 1 및 도 2a를 참조하면, 패킷 통신을 이용한 메모리 초기화 장치(100)의 메모리 모듈(110)은 메모리(111), 버퍼(112), 메모리 컨트롤러(113), 슬레이브 프로토콜 엔진(114) 및 통신 인터페이스(115)를 포함한다.
메모리 모듈(110)은 슬레이브 프로토콜 엔진(114) 및 시리얼 트랜시버인 통신 인터페이스(115)를 통해 프로세싱 모듈(130)과 시리얼 링크 초기화를 진행하고, 메모리 탐지 및 메모리 정보 전달을 통해 메모리 초기화를 진행한다.
메모리 모듈(110)은 슬레이브 프로토콜 엔진(114)의 프로토콜 규칙 및 통신 인터페이스(115)를 통해 프로세싱 모듈(130)과의 시리얼 링크를 형성하여 직렬 패킷 통신을 통해 연결된다. 슬레이브 프로토콜 엔진(114)은 시리얼 링크를 형성하여 패킷 통신을 수행하기 위한 프로토콜 규칙을 포함한다. 그리고, 슬레이브 프로토콜 엔진(114)을 구비한 메모리 모듈(110)은 하나의 프로세싱 모듈(130) 하에 둘 이상의 메모리 모듈(110)이 연결된 형태를 가질 수 있다.
메모리 모듈(110)은 먼저 프로세싱 모듈(130)과 시리얼 링크 초기화를 진행한다. 시스템에 전원이 인가되면 메모리 컨트롤러(113)는 시동 자체 시험(Power-on Self-Test)을 진행하여 메모리 모듈(113)이 정상적으로 동작하는지를 확인한다. 그리고, 메모리 컨트롤러(113)는 프로세싱 모듈(130)과의 상호 통신 속도 및 레인 정보를 통신 인터페이스(115)를 통해 동기화하여 시리얼 링크의 초기화를 진행한다. 시리얼 링크 초기화가 정상적으로 종료되면, 메모리 컨트롤러(113)는 메모리 정보를 통신 인터페이스(115)를 통해 프로세싱 모듈(130)로 전달한다. 메모리 정보는 메모리 모듈(130)의 상태에 대한 정보로서, 메모리 모듈(130) 존재 여부, 메모리 용량 및 생산자 식별정보 등을 포함할 수 있다. 프로세싱 모듈(130)은 수신된 메모리 정보를 이용하여 메모리가 존재하는지 여부를 확인할 수 있으며, 설치된 메모리의 용량 또한 확인할 수 있다.
통신 인터페이스(115)는 슬레이브 프로토콜 엔진(114)의 프로토콜 규칙에 기초하여 프로세싱 모듈(130)과 시리얼 링크를 형성한다. 통신 인터페이스(115)는 실리콘 포토닉스(Silicon Photonics)를 이용한 높은 집적도와 빠른 속도를 가지는 근거리 광통신을 통해 프로세싱 모듈(130)과 광링크를 연결할 수 있다. 실리콘 포토닉스는 광 정보를 송수신하는데 표준 실리콘을 이용하는 기술이다. 종래의 광통신이 부피가 커 장거리 통신이 아닌 단거리 통신에는 응용에 응용이 어려운 반면에, 실리콘 포토닉스는 실리콘 집적소자 기술에 초고속 광통신 기술을 적용하여 낮은 비용으로 단거리 광통신을 가능하게 한다. 실리콘 포토닉스는 하나의 일례일 뿐, 통신 인터페이스(115)의 종류를 한정하는 것은 아니며, 시스템의 종류 및 목적에 따라 통신 인터페이스(115)는 달라질 수 있다.
도 2b는 본 발명의 일 실시예에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 프로세싱 모듈(130)의 상세도이다.
도 2a 및 도 2b를 참조하면, 프로세싱 모듈(130)은 마스터 프로토콜 엔진(131) 및 마스터 통신 인터페이스(132)를 포함할 수 있다. 프로세싱 모듈(130)은 마스터 프로토콜 엔진(131)의 프로토콜 규칙에 따라 마스터 통신 인터페이스(132)를 통해 메모리 모듈(110)과 시리얼 링크를 형성하여 패킷 통신을 수행한다. 마스터 프로토콜 엔진(131)을 구비한 프로세싱 모듈(130)은 둘 이상의 메모리 모듈(110)과 연결될 수 있다.
전원이 인가되면, 프로세싱 모듈(130)은 시동 자체 시험을 진행하여 프로세싱 모듈(130)이 정상적으로 동작하는지 여부를 확인한다. 그리고, 프로세싱 모듈(130)은 메모리 모듈(110)과의 상호 통신 속도 및 레인 정보를 마스터 통신 인터페이스(132)를 통해 동기화하여 시리얼 링크의 초기화를 진행한다. 시리얼 링크 초기화가 정상적으로 종료되면, 메모리 모듈(110)로부터 마스터 통신 인터페이스(132)로 전달된 메모리 정보에 기초하여 메모리 모듈(110)을 감지하고, 메모리 초기화를 진행한다. 메모리 정보는 메모리 모듈(130)의 존재 여부, 메모리 용량 및 생산자 식별정보 등을 포함할 수 있다. 프로세싱 모듈(130)은 수신된 메모리 정보를 이용하여 메모리가 존재하는지 여부를 확인할 수 있으며, 설치된 메모리의 용량 또한 확인할 수 있다.
마스터 통신 인터페이스(115)는 마스터 프로토콜 엔진(114)의 프로토콜 규칙에 기초하여 메모리 모듈(110)과 시리얼 링크를 형성한다. 마스터 통신 인터페이스(115)는 메모리 모듈(110)의 통신 인터페이스(115)와 동일하게 실리콘 포토닉스를 통해 메모리 모듈(110)과 통신을 연결할 수 있다. 실리콘 포토닉스는 하나의 일례일 뿐, 마스터 통신 인터페이스(132)의 종류를 한정하는 것은 아니며, 시스템의 종류 및 목적에 따라 마스터 통신 인터페이스(132)는 달라질 수 있다.
본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)는 직렬 패킷 통신을 이용하여 메모리 모듈(110) 및 프로세싱 모듈(130)을 연결하기 때문에, 기존의 병렬 방식에서 필요로 하던 메모리 엑세스 타임, 메모리 레이턴시 및 레벨링 정보 등을 필요로 하지 않는다. 특히, 레벨링 정보의 경우 병렬 구조에서 직렬 구조로 바뀌면서 데이터간 스큐 문제는 사라졌기 때문에 레벨링 정보를 필요로 하지 않는다.
도 3은 본 발명의 일 실시예에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)의 메모리 초기화 방법을 나타내는 흐름도이다.
도 3을 참조하면, 패킷 통신을 이용한 메모리 초기화 장치(100)의 메모리 초기화 방법은 먼저, 전원이 인가되면, 메모리 모듈(110) 및 프로세싱 모듈(130)은 시동 자체 시험을 진행하여 스스로 정상적으로 동작하는지 여부를 확인한다(S301). 시동 자체 시험은 전원을 인가하였을 때, 시스템 전반을 검사하는 과정으로, 메모리 모듈(110) 및 프로세싱 모듈(130)이 올바르게 동작하는지 확인하는 절차이다.
시동 자체 시험에서 메모리 모듈(110) 및 프로세싱 모듈(130)이 정상적으로 동작하면, 메모리 모듈(110) 및 프로세싱 모듈(130)은 상호 통신 속도 및 레인을 확인(S302)하여, 시리얼 링크를 초기화한다(S303). 패킷 통신을 사용하는 본 발명은 점대점 방식으로 로컬과 원격지 사이의 시리얼 링크 초기화를 필요로 한다. 링크 초기화를 통해 메모리 모듈(110) 및 프로세싱 모듈(130) 사이의 상호 통신 속도 및 레인에 대한 기본적인 정보를 동기화한다.
시리얼 링크의 초기화가 정상적으로 수행되면, 메모리 모듈(110)은 저장된 메모리 정보를 패킷 통신을 통해 프로세싱 모듈(130)로 전달한다(S304). 메모리 정보는 메모리 모듈(130) 존재에 대한 정보, 메모리 용량 및 생산자 식별정보와 같은 메모리 관련 정보를 포함할 수 있다. 프로세싱 모듈(130)은 메모리 모듈(110)로부터 수신된 메모리 정보에 기초하여 메모리 모듈을 감지(S305)하고, 메모리 초기화를 수행한다(S306). 프로세싱 모듈(130)은 수신된 메모리 정보를 이용하여 메모리가 존재하는지 여부를 확인하고, 설치된 메모리의 용량을 확인하여 메모리 초기화를 수행한다.
본 발명에 따른 패킷 통신을 이용한 메모리 초기화 장치(100)는 직렬 패킷 통신을 이용하여 메모리 모듈(110) 및 프로세싱 모듈(130)을 연결하기 때문에, 기존의 병렬 방식에서 필요로 하던 메모리 엑세스 타임, 메모리 레이턴시 및 레벨링 정보 등은 필요하지 않게 된다. 특히, 레벨링 정보의 경우 병렬 구조에서 직렬 구조로 바뀌면서 데이터간 스큐 문제는 사라졌기 때문에 레벨링 정보를 필요로 하지 않는다. 이와 같이, 패킷 통신을 이용한 메모리 초기화 장치(100)는 시리얼 통신으로 메모리 통신 방식을 변경하고, 병렬 방식에서 필요로 하던 레벨링 및 칩 내 종단 저항과 같은 요소를 제거하여 좀 더 간략한 메모리 모듈을 구성할 수 있다.
상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.
100: 패킷 통신을 이용한 메모리 초기화 장치
110: 메모리 모듈 111: 메모리
112: 버퍼 113: 메모리 컨트롤러
114: 슬레이브 프로토콜 엔진 115: 통신 인터페이스
130: 프로세싱 모듈 131: 마스터 프로토콜 엔진
132: 마스터 통신 인터페이스

Claims (10)

  1. 슬레이브 프로토콜(Slave Protocol) 엔진을 통해 형성된 시리얼 링크(Serial Link)를 이용하여 메모리 정보를 포함하는 패킷을 프로세싱 모듈로 전달하는 메모리 모듈; 및
    마스터 프로토콜(Master Protocol) 엔진을 통해 상기 메모리 모듈과 시리얼 링크를 형성하고, 상기 형성된 시리얼 링크를 이용하여 상기 메모리 모듈과 데이터를 송수신하며, 상기 수신된 패킷의 메모리 정보에 기초하여 메모리 탐지 및 메모리 초기화를 수행하는 프로세싱 모듈;
    을 포함하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 장치.
  2. 제1항에 있어서,
    상기 메모리 모듈 및 상기 프로세싱 모듈은 전원이 인가되면, 시동 자체 시험(Power-on self-test)을 진행하고, 둘 사이를 연결하는 시리얼 링크의 초기화를 통해 상호 통신 속도 및 레인(Lane) 정보를 동기화하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 장치.
  3. 제1항에 있어서,
    상기 프로세싱 모듈은 수신된 상기 메모리 정보에 기초하여 상기 메모리 모듈의 존재 및 상기 메모리 모듈의 용량을 포함하는 메모리 상태를 파악하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 장치.
  4. 제1항에 있어서,
    상기 메모리 모듈 및 상기 프로세싱 모듈은 실리콘 포토닉스(Silicon Photonics)를 이용하여 상기 메모리 모듈 및 상기 프로세싱 모듈 사이의 광 링크(Optical Link)를 연결하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 장치.
  5. 제1항에 있어서
    상기 패킷 통신을 이용한 메모리 초기화 장치는 상기 마스터 프로토콜 엔진 및 상기 슬레이브 프로토콜 엔진의 프로토콜 규칙에 기초하여 하나의 프로세싱 모듈과 둘 이상의 메모리 모듈 사이의 시리얼 링크를 형성하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 장치.
  6. 시리얼 링크로 연결된 메모리 모듈 및 프로세싱 모듈 사이의 메모리 초기화 방법에 있어서,
    상기 메모리 모듈 및 상기 프로세싱 모듈 사이의 상호 통신 속도 및 레인 상태를 확인하여 시리얼 링크를 초기화하는 단계;
    상기 초기화된 시리얼 링크를 통해 상기 메모리 모듈에서 상기 프로세싱 모듈로 메모리 정보를 전달하는 단계; 및
    상기 메모리 정보에 기초하여 상기 프로세싱 모듈에서 메모리 탐지 및 메모리 초기화를 수행하는 단계;
    를 포함하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 방법.
  7. 제6항에 있어서,
    전원이 인가되면, 상기 메모리 모듈 및 상기 프로세싱 모듈에서 시동 자체 시험(Power-on self-test)을 진행하는 단계;
    를 더 포함하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 방법.
  8. 제6항에 있어서,
    상기 프로세싱 모듈에서 메모리 탐지 및 메모리 초기화를 수행하는 단계는 상기 메모리 정보에 기초하여 상기 메모리 모듈의 존재 및 상기 메모리 모듈의 용량을 포함하는 메모리 상태를 파악하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 방법.
  9. 제6항에 있어서,
    상기 메모리 모듈 및 상기 프로세싱 모듈은 실리콘 포토닉스(Silicon Photonics)를 이용하여 상기 메모리 모듈 및 상기 프로세싱 모듈 사이의 광 링크를 연결하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 방법.
  10. 제6항에 있어서
    상기 메모리 모듈 및 상기 프로세싱 모듈은 마스터 프로토콜 엔진 및 슬레이브 프로토콜 엔진의 프로토콜 규칙에 기초하여 하나의 프로세싱 모듈과 둘 이상의 메모리 모듈 사이의 시리얼 링크를 형성하는 것을 특징으로 하는 패킷 통신을 이용한 메모리 초기화 방법.
KR1020150021741A 2015-02-12 2015-02-12 패킷 통신을 이용한 메모리 초기화 장치 및 방법 KR20160099364A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150021741A KR20160099364A (ko) 2015-02-12 2015-02-12 패킷 통신을 이용한 메모리 초기화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150021741A KR20160099364A (ko) 2015-02-12 2015-02-12 패킷 통신을 이용한 메모리 초기화 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20160099364A true KR20160099364A (ko) 2016-08-22

Family

ID=56854873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150021741A KR20160099364A (ko) 2015-02-12 2015-02-12 패킷 통신을 이용한 메모리 초기화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20160099364A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004978A1 (en) 2004-06-30 2006-01-05 Fujitsu Limited Method and apparatus for controlling initialization of memories

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004978A1 (en) 2004-06-30 2006-01-05 Fujitsu Limited Method and apparatus for controlling initialization of memories

Similar Documents

Publication Publication Date Title
US11567895B2 (en) Method, apparatus and system for dynamic control of clock signaling on a bus
KR102035986B1 (ko) 타이밍 컨트롤러와 상기 타이밍 컨트롤러를 포함하는 디스플레이 시스템
US11704274B2 (en) System, apparatus and method for extended communication modes for a multi-drop interconnect
US7757020B2 (en) Point-to-point link negotiation method and apparatus
JP4519839B2 (ja) ビットレーン・フェイルオーバーのあるメモリ・チャネル
JP4210302B2 (ja) 単方向リンクを用いるメモリ・チャネル
JP5096905B2 (ja) サーバ装置及びそのリンク回復処理方法
CN103312636B (zh) 信息处理装置、串行通信系统和装置以及通信初始化方法
KR102007368B1 (ko) Pci 익스프레스 스위치 및 이를 이용한 컴퓨터 시스템
US9798353B2 (en) Command protocol for adjustment of write timing delay
US11425101B2 (en) System, apparatus and method for tunneling and/or multiplexing via a multi-drop interconnect
EP2704021B1 (en) SRAM handshake
JP2006526847A (ja) 転置状態パターンを利用するメモリ・チャネル
US20220327073A1 (en) Peripheral component interconnect express (pcie) interface device and method of operating the same
TWM596388U (zh) 記憶卡的讀寫控制系統
TWM592995U (zh) 記憶卡的讀寫控制系統
KR20160099364A (ko) 패킷 통신을 이용한 메모리 초기화 장치 및 방법
KR102635457B1 (ko) PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
TWM606415U (zh) 記憶體儲存裝置的讀寫控制系統
TWI717884B (zh) 記憶卡的讀寫控制系統及其方法
TWI816046B (zh) 記憶體儲存裝置的讀寫控制系統及方法
US20240012770A1 (en) Interface device having plurality of ports and method of operating the same
KR100737904B1 (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
KR20050011822A (ko) 동일한 어드레스를 가지는 복수의 디바이스들을 하나의버스제어기에 연결하기 위한 장치 및 그 운용 방법
KR20230142103A (ko) 인터페이스 장치 및 이를 포함하는 컴퓨팅 시스템

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination