KR20150071925A - 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법 - Google Patents

중앙처리장치와 주기억장치의 인터페이스 장치 및 방법 Download PDF

Info

Publication number
KR20150071925A
KR20150071925A KR1020130159058A KR20130159058A KR20150071925A KR 20150071925 A KR20150071925 A KR 20150071925A KR 1020130159058 A KR1020130159058 A KR 1020130159058A KR 20130159058 A KR20130159058 A KR 20130159058A KR 20150071925 A KR20150071925 A KR 20150071925A
Authority
KR
South Korea
Prior art keywords
packet
signal
protocol engine
connection protocol
optical connection
Prior art date
Application number
KR1020130159058A
Other languages
English (en)
Other versions
KR102102160B1 (ko
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 KR1020130159058A priority Critical patent/KR102102160B1/ko
Priority to US14/551,826 priority patent/US9379824B2/en
Publication of KR20150071925A publication Critical patent/KR20150071925A/ko
Application granted granted Critical
Publication of KR102102160B1 publication Critical patent/KR102102160B1/ko

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/80Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water
    • H04B10/801Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water using optical interconnects, e.g. light coupled isolators, circuit board interconnections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Optical Communication System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결하도록 한 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법이 제시된다. 제시된 중앙처리장치와 주기억장치의 인터페이스 장치는 중앙처리장치의 공유캐쉬 기억장치로부터 입력되는 동작 제어 신호를 직렬신호로 변환하는 마스터 광연결 프로토콜 엔진; 마스터 광연결 프로토콜 엔진에서 변환된 직렬신호를 광신호로 변환하는 제1전광 변환기; 제1전광 변환기에서 변환된 광신호를 직렬신호로 변환하는 제2전광 변환기; 제2전광 변환기에서 변환된 직렬신호를 동작 제어 신호로 변환하는 슬레이브 광연결 프로토콜 엔진; 및 슬레이브 광연결 프로토콜 엔진에서 변환된 동작 제어 신호를 근거로 주기억장치에 액세스하는 메모리 컨트롤러를 포함한다.

Description

중앙처리장치와 주기억장치의 인터페이스 장치 및 방법{APPARATUS AND METHOD FOR INTERFACING BETWEEN CENTRAL PROCESSING UNIT AND MAIN MEMORY UNIT}
본 발명은 중앙처리장치와 주기억장치의 인터페이스 장치에 관한 것으로, 더욱 상세하게는 광신호를 이용하여 중앙처리장치와 주기억장치 간의 데이터를 전송하는 중앙처리장치와 주기억장치의 인터페이스 장치에 대한 것이다.
컴퓨터 시스템, 통신 시스템 등과 같이 중앙처리장치(10; Central Processing Unit;CPU) 등으로 식별되는 마이크로프로세서를 기반으로 하는 시스템에서는 데이터 처리를 위해 고속 동작이 가능한 많은 양의 주기억장치(20; Main Memory Unit)를 필요로 한다.
도 1은 종래의 중앙처리장치(10)와 주기억장치(20) 간 인터페이스 장치의 구성을 도시한다. 일반적으로, 중앙처리장치(10)는 1개 내지 8개의 코어(11)로 구성될 수 있으며, 도 1에서는 4개의 코어(11)를 포함하는 중앙처리장치(10)를 예로 도시한다.
중앙처리장치(10)는 연산을 수행하는 복수의 코어(11)들을 포함한다. 이때, 각 코어(11)는 개별캐쉬 기억장치(12)와 연결된다.
개별캐쉬 기억장치(12)는 공유캐쉬 기억장치(13)와의 인터페이스되며, 중앙처리장치(10)의 코어(11)가 4개이므로 개별캐쉬 기억장치(12)와 공유캐쉬 기억장치(13)간의 인터페이스는 총 4개가 된다.
공유캐쉬 기억장치(13)는 메모리 컨트롤러(14)를 통해 주기억장치(20)와 인터페이스되어 데이터를 송수신한다. 공유캐쉬 기억장치(13)는 주변기기 입출력 컨트롤러(15)를 통해 주변장치(예를 들면, 보조기억장치, 입출력장치 등)와 데이터를 송수신한다.
종래기술에서는 대용량 및 고속의 처리를 위해 주기억장치(20)로 DDR(Double Data Rate) 방식의 메모리를 주로 사용하고 있다. 주기억장치(20)로 사용되는 메모리는 고속 동작을 위해 CPU 등에 내장되어 있는 메모리 컨트롤러(14)와의 인터페이스로 데이터 폭의 경우 32비트 혹은 64비트의 신호선을 가지는 인터페이스를 채택하고 있다.
또한, 주기억장치(20)로 사용되는 메모리는 어드레스 및 컨트롤 정보를 위해 40비트 이상의 신호선을 가지는 인터페이스로 연결되므로 총 100개 이상의 신호선을 필요로 한다. 이때, 신호선은 고속 동작을 필요로 하므로 DDR 방식의 가장 오래된 버전에서는 400MHz의 동작을 필요로 하며, 현재 규격화된 최신의 DDR 방식인 DDR4의 경우 3200MHz까지의 고속의 동작을 필요로 한다.
메모리 컨트롤러(14)와 주기억장치(20)와의 결합 형태를 채널이라고 명명하며, 초기의 DDR 방식에서는 채널당 4개까지의 메모리를 결합하는 것이 가능하였으나, 최근의 고속 DDR 방식에서는 채널당 1개의 메모리만 접속이 가능하다.
현재의 빅데이터 처리 요구 등의 고성능 컴퓨팅을 위해서는 필요로 하는 메모리의 양이 막대하게 증가하므로 종래기술에서는 주기억장치(20) 자체의 용량을 늘리거나 채널의 개수를 늘리는 방식을 채택하여 가용한 메모리를 늘리는 시도를 하고 있다.
하지만, 메모리 용량을 늘리는 것은 공정상의 발전을 기반으로 한 무어의 법칙 및 황의 법칙 등이 공정이 더 이상 진전하지 못함에 따라 그 한계가 있다.
또한, 채널의 개수를 늘리는 것 역시 앞서 설명한 대로 메모리 컨트롤러(14)와 주기억장치(20)간의 인터페이스의 개수가 많으므로 다이 크기의 한계를 가지게 된다.
또한, 신호선마다의 크로스토크 및 전력 소모량 때문에 메모리 컨트롤러(14)와 주기억장치(20)간에 신호선은 최대한 가깝게 배치시켜야 하므로 중앙처리장치(10)의 크기와 주기억장치(20) 크기 때문에 채널이 늘어날수록 여러 개의 채널을 모두 가깝게 배치시키는 데에는 한계를 가지므로 현재는 2~3개의 채널 확장만이 가능한 한계가 있다.
이처럼, 주기억장치(20) 단위의 메모리의 용량 증가는 이미 한계가 있으므로, 이러한 제약사항을 근본적으로 해결하기 위해서는 신호선 자체를 줄여서 중앙처리장치(10)에서 채널의 개수를 늘리는 데 제약이 없도록 하는 방법이 가장 바람직하다.
도 2는 도 1에 도시된 메모리 컨트롤러(14)와 주기억장치(20)간의 신호선의 개수를 줄이기 위한 종래의 인터페이스 장치이다. 도 2에서는 메모리 컨트롤러(14)와 주기억장치(20) 사이를 직접 연결하는 대신에 중간에 전자/광학 변환기(40)를 배치한다. 이를 통해, 전기신호를 직접 송수신하는 대신에 메모리 컨트롤러(14)와 전자/광학 변환기(40)간에 전기신호를 송수신한다, 이때, 두 개의 전자/광학 변환기(40)간에는 광학 신호를 송수신하고, 전자/광학 변환기(40)와 주기억장치(20)간에는 전기신호를 송수신한다. 이를 통해, 앞서 언급한 제약사항 중 중앙처리장치(10)와 주기억장치(20)의 크기 때문에 발생하는 배치상의 제약 조건을 일부 해소할 수 있다. 하지만, 중앙처리장치(10)의 다이 크기 때문에 발생하는 채널 개수의 증가의 어려움은 아직 해소하지 못하고 있다.
도 3은 도 1에 도시된 메모리 컨트롤러(14)와 주기억장치(20)간의 신호선의 개수를 줄이기 위한 종래의 인터페이스 장치이다. 도 3에 도시된 중앙처리장치(10)의 전광 변환기(16)를 통해 메모리 컨트롤러(14)에서 발생하는 신호선을 각각 광신호로 변환하고(E/O), 각각의 광신호를 다중화 장치(17, OMUX)를 통해 다중화하여 주기억장치(20)로 전송한다. 그에 따라, 주기억장치(20)의 다중화 장치(21)는 중앙처리장치(10)로부터 수신한 다중화된 광신호를 메모리셀(23)에 연결된 각 신호선으로 분리하고, 광전 변환기(22)를 통해 광신호를 전기신호로 변환(O/E)하여 메모리셀(23)로 전송한다.
한편, 주기억장치(20)는 전광 변환기(24)를 통해 메모리셀(23)에서 발생하는 신호선을 각각 광신호로 변환하고, 각각의 광신호를 다중화 장치(25)를 통해 다중화하여 메모리 컨트롤러(14)로 전송한다. 그에 따라, 중앙처리장치(10)의 다중화 장치(18)는 주기억장치(20)로부터 수신한 다중화된 광신호를 메모리 컨트롤러(14)에 연결된 각 신호선으로 분리하고, 광전 변환기(19)를 통해 광신호를 전기신호로 변환하여 메모리 컨트롤러(14)로 전송한다. 이때, 메모리 컨트롤러(14)의 신호선이 100개 이상 되는 현실에서 신호선의 신호들을 광신호로 변환하려면 100개 이상의 전광 변환기(16, 24) 또는 광전 변환기(19, 22)가 필요하여 중앙처리장치(10)의 면적에서 한계가 있다. 100개의 광신호를 다중화하는 것은 현재 기술로서는 한계가 있어 실제 구현이 어려워 현재 고속의 메모리에 적용하기에는 한계가 있다.
또한, 신호선의 개수가 많으므로 신호선마다의 스큐 문제 등이 존재하여 데이터 송수신에 문제가 발생할 수 있다. 하지만, 신호선을 정렬하기 위한 방법이 위의 종래기술에는 존재하지 않으므로, 동작환경에 따라 영향을 받지 않도록 하기 위해 보드상에 정밀한 측정과 구현이 필요하며, 광신호선의 길이에도 제약사항이 있다.
한편, 통신장비 등에 있어서는 데이터량의 증가 및 고속화에 대응하기 위해 광통신이 이미 응용되고 있다. 통신장비에 사용되는 광통신의 경우 신호선간의 스큐 보상도 가능하며, 데이터의 안전 송수신이 보장되고 있다.
따라서, 메모리 컨트롤러(14)와 주기억장치(20)간의 인터페이스에 있어 상술한 제약사항을 극복하기 위해서는 통신에서 사용되는 알고리즘의 적용이 바람직하다.
하지만, 통신장비에 사용되는 광통신의 경우 통신 프로토콜에 국한되어 메모리 등의 액세스에는 적합하게 설계되어 있지 않고, 많은 지연시간을 가지고 있어 빠른 응답시간을 필요로 하는 메모리 억세스 등에는 그대로 응용할 수 없는 문제점이 있다.
선행문헌1: 한국공개특허 제10-2012-0027209호(명칭: 광학 메모리 확장) 선행문헌2: 한국공개특허 제10-2013-0028563호(명칭: 광 연결 장치, 이의 제조 방법, 및 상기 광 연결 장치를 포함하는 메모리 시스템)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결하도록 한 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 장치는, 중앙처리장치의 공유캐쉬 기억장치로부터 입력되는 동작 제어 신호를 직렬신호로 변환하는 마스터 광연결 프로토콜 엔진; 마스터 광연결 프로토콜 엔진에서 변환된 직렬신호를 광신호로 변환하는 제1전광 변환기; 제1전광 변환기에서 변환된 광신호를 직렬신호로 변환하는 제2전광 변환기; 제2전광 변환기에서 변환된 직렬신호를 동작 제어 신호로 변환하는 슬레이브 광연결 프로토콜 엔진; 및 슬레이브 광연결 프로토콜 엔진에서 변환된 동작 제어 신호를 근거로 주기억장치에 액세스하는 메모리 컨트롤러를 포함한다.
메모리 컨트롤러는 동작 제어 신호에 따른 주기억장치의 액세스 결과를 근거로 응답 신호를 생성하고, 슬레이브 광연결 프로토콜 엔진은 메모리 컨트롤러에서 변환된 병렬신호를 직렬신호로 변환하고, 제2전광 변환기는 슬레이브 광연결 프로토콜 엔진에서 변환된 직렬신호를 광신호로 변환하고, 제1전광 변환기는 제2전광 변환기에서 변환된 광신호를 직렬신호로 변환하고, 마스터 광연결 프로토콜 엔진은 제1전광 변환기에서 변환된 직렬신호를 병렬신호로 변환하여 공유캐쉬 기억장치에게로 전송한다.
마스터 광연결 프로토콜 엔진은, 공유캐쉬 기억장치로부터 입력된 동작 제어 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성하는 제1패킷 생성 모듈; 제1패킷 생성 모듈에서 생성된 패킷 헤더를 저장하는 패킷 송신 헤더 버퍼 모듈; 제1패킷 생성 모듈에서 생성된 패킷 데이터를 저장하는 패킷 송신 데이터 버퍼 모듈; 패킷 헤더 및 패킷 데이터를 근거로 패킷 순서 및 CRC를 생성하고, 패킷 해더, 패킷 데이터, 패킷 순서 및 CRC를 연결하여 동작 제어 패킷을 생성하는 패킷 순서 및 CRC 생성 모듈; 및 동작 제어 패킷을 직렬신호로 변환하고, 직렬신호를 제1전광 변환기에게로 전송하는 제1패킷 데이터 직렬화 모듈을 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
마스터 광연결 프로토콜 엔진은, 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보를 제1전광 변환기로부터 직렬신호로 전송받고, 직렬신호를 병렬신호로 변환하는 제1패킷 데이터 병렬화 모듈; 병렬신호를 근거로 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보를 관리하고, 자체 버퍼 모듈의 상태정보를 관리하는 패킷 검사 모듈; 공유캐쉬 기억장치로부터 동작 제어 신호가 입력되면 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보 및 자체 버퍼 모듈의 상태정보를 근거로 여유 공간 존재 여부를 판단하고, 여유 공간이 존재하면 동작 제어 신호를 근거로 패킷 헤더를 생성하여 자체 버퍼 모듈에 저장하는 제1패킷 생성 모듈; 패킷 헤더 및 동작 제어 신호를 근거로 패킷 순서 및 CRC를 생성하고, 패킷 순서, CRC, 패킷 헤더 및 동작 제어 신호를 연결하여 패킷을 생성하는 패킷 순서 및 CRC 생성 모듈; 및 패킷을 직렬신호로 변환하여 제1전광 변환기에게로 전송하는 제1패킷 데이터 직렬화 모듈을 포함한다.
제1패킷 데이터 병렬화 모듈은 제1전광 변환기로부터 직렬신호에 대한 응답 신호를 수신하여 병렬신호로 변환하고, 패킷 검사 모듈은 병렬신호를 근거로 패킷 수신 정보를 생성하고, 패킷 순서 및 CRC 생성 모듈은 패킷 수신 정보를 근거로 정상 수신 여부를 판단하여 정상 수신 신호 또는 수신 오류 신호를 생성하고, 제1패킷 데이터 직렬화 모듈은 정상 수신 신호 또는 수신 오류 신호를 직렬신호로 변환하여 제1전광 변환기에게로 전송한다.
패킷 검사 모듈은 슬레이브 광연결 프로토콜 엔진으로부터 수신한 병렬신호를 근거로 응답 신호에 포함된 패킷 헤더 및 패킷 데이터를 버퍼 모듈에 저장하고, 패킷 번역 모듈은 저장된 패킷 헤더를 검출하고, 패킷 헤더를 근거로 패킷 데이터를 검출하여 공유캐쉬 기억장치에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은, 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 제2패킷 데이터 병렬화 모듈; 및 변환된 병렬신호에 포함된 패킷 순서 및 CRC를 근거로 병렬신호의 정상 수신 여부 및 중복 수신 여부를 판단하고, 정상 수신한 병렬신호들 중에서 중복 수신이 아닌 병렬신호를 메모리 컨트롤러에게로 전송하는 패킷 검사 및 번역 모듈을 포함한다.
패킷 검사 및 번역 모듈은 메모리 컨트롤러로부터 동작 제어 신호에 대한 응답 신호를 수신하고, 슬레이브 광연결 프로토콜 엔진은, 응답 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 제2패킷 데이터 직렬화 모듈을 더 포함한다.
슬레이브 광연결 프로토콜 엔진은, 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 제2패킷 데이터 병렬화 모듈; 변환된 병렬신호를 근거로 동작 제어 신호의 정상 수신 여부 및 중복 수신 여부를 판단하고, 정상 수신된 동작 제어 신호들 중에서 중복 수신이 아닌 동작 제어 신호를 메모리 컨트롤러에게로 전송하는 패킷 검사 및 번역 모듈; 메모리 컨트롤러에서 전송된 동작 제어 신호에 대응되는 데이터를 수신하여 저장하는 제2패킷 수신 데이터 버퍼 모듈; 제2패킷 수신 데이터 버퍼 모듈에 저장된 데이터를 근거로 패킷 순서 및 패킷 헤더를 생성하고, 패킷 순서, 패킷 헤더 및 데이터를 근거로 CRC를 생성하여 응답 신호를 생성하는 제2패킷 생성 모듈; 및 제2패킷 생성 모듈에서 생성한 응답 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 제2패킷 데이터 직렬화 모듈을 포함한다.
패킷 검사 및 번역 모듈은 제2전광 변환기로부터 수신한 병렬신호를 근거로 패킷 수신 정보를 생성하고, 제2패킷 생성 모듈은 패킷 수신 정보를 근거로 병렬신호의 정상 수신 여부를 검시하고, 병렬 신호의 수신 오류시 응답 신호의 재전송 요청 신호를 생성하고, 제2패킷 데이터 직렬화 모듈은 재전송 요청 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송한다.
상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법은, 마스터 광연결 프로토콜 엔진에 의해, 중앙처리장치의 공유캐쉬 기억장치로부터 입력되는 동작 제어 신호를 직렬신호로 변환하는 단계; 제1전광 변환기에 의해, 직렬신호로 변환하는 단계에서 변환된 직렬신호를 광신호로 변환하는 단계; 제2전광 변환기에 의해, 광신호로 변환하는 단계에서 변환된 광신호를 직렬신호로 변환하는 단계 ; 슬레이브 광연결 프로토콜 엔진에 의해, 직렬신호로 변환하는 단계에서 변환된 직렬신호를 동작 제어 신호로 변환하는 단계; 및 메모리 컨트롤러에 의해, 동작 제어 신호로 변환하는 단계에서 변환된 동작 제어 신호를 근거로 주기억장치에 액세스하는 단계를 포함한다.
메모리 컨트롤러에 의해, 동작 제어 신호에 따른 주기억장치의 액세스 결과를 근거로 응답 신호를 생성하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 응답 신호를 생성하는 단계에서 변환된 병렬신호를 직렬신호로 변환하는 단계; 제2전광 변환기에 의해, 직렬신호를 광신호로 변환하는 단계; 제1전광 변환기에 의해, 광신호를 직렬신호로 변환하는 단계; 및 마스터 광연결 프로토콜 엔진에 의해, 직렬신호를 병렬신호로 변환하여 공유캐쉬 기억장치에게로 전송하는 단계를 더 포함한다.
동작 제어 신호를 직렬신호로 변환하는 단계는, 마스터 광연결 프로토콜 엔진에 의해, 공유캐쉬 기억장치로부터 입력된 동작 제어 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 패킷 헤더 및 패킷 데이터를 근거로 패킷 순서 및 CRC를 생성하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 패킷 해더, 패킷 데이터, 패킷 순서 및 CRC를 연결하여 동작 제어 패킷을 생성하는 단계; 및 마스터 광연결 프로토콜 엔진에 의해, 동작 제어 패킷을 직렬신호로 변환하여 제1전광 변환기에게로 전송하는 단계를 포함한다.
슬레이브 광연결 프로토콜 엔진에 의해, 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 병렬신호에 포함된 패킷 순서 및 CRC를 근거로 병렬신호의 정상 수신 여부 및 중복 수신 여부를 판단하는 단계; 및, 슬레이브 광연결 프로토콜 엔진에 의해, 판단하는 단계에서 정상 수신으로 판단한 병렬신호들 중에서 중복 수신이 아닌 것으로 판단한 병렬신호를 메모리 컨트롤러에게로 전송하는 단계를 포함한다.
슬레이브 광연결 프로토콜 엔진에 의해, 메모리 컨트롤러로부터 동작 제어 신호에 대한 응답 신호를 수신하는 단계; 및 슬레이브 광연결 프로토콜 엔진에 의해, 응답 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 더 포함한다.
마스터 광연결 프로토콜 엔진에 의해, 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보 및 자체 버퍼 모듈의 상태 정보를 관리하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 공유캐쉬 기억장치로부터 동작 제어 신호가 입력되면 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보 및 자체 버퍼 모듈의 상태정보를 근거로 여유 공간 존재 여부를 판단하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 판단하는 단계에서 여유 공간이 존재하는 것으로 판단하면 동작 제어 신호를 근거로 패킷 헤더를 생성하여 자체 버퍼 모듈에 저장하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 패킷 헤더 및 동작 제어 신호를 근거로 패킷 순서 및 CRC를 생성하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 패킷 순서, CRC, 패킷 헤더 및 동작 제어 신호를 연결하여 패킷을 생성하는 단계; 및 마스터 광연결 프로토콜 엔진에 의해, 패킷을 직렬신호로 변환하여 제1전광 변환기에게로 전송하는 단계를 포함한다.
마스터 광연결 프로토콜 엔진에 의해, 제1전광 변환기로부터 직렬신호에 대한 응답 신호를 수신하여 병렬신호로 변환하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 병렬신호를 근거로 패킷 수신 정보를 생성하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 패킷 수신 정보를 근거로 정상 수신 여부를 판단하여 정상 수신 신호 또는 수신 오류 신호를 생성하는 단계; 및 마스터 광연결 프로토콜 엔진에 의해, 정상 수신 신호 또는 수신 오류 신호를 직렬신호로 변환하여 제1전광 변환기에게로 전송하는 단계를 더 포함한다.
마스터 광연결 프로토콜 엔진에 의해, 슬레이브 광연결 프로토콜 엔진으로부터 수신한 병렬신호를 근거로 응답 신호에 포함된 패킷 헤더 및 패킷 데이터를 버퍼 모듈에 저장하는 단계; 및 마스터 광연결 프로토콜 엔진에 의해, 저장된 패킷 헤더를 검출하는 단계; 마스터 광연결 프로토콜 엔진에 의해, 패킷 헤더를 근거로 패킷 데이터를 검출하여 공유캐쉬 기억장치에게로 전송하는 단계를 더 포함한다.
동작 제어 신호로 변환하는 단계는, 슬레이브 광연결 프로토콜 엔진에 의해, 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 변환된 병렬신호를 근거로 동작 제어 신호의 정상 수신 여부 및 중복 수신 여부를 판단하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 판단하는 단계에서 정상 수신으로 판단한 동작 제어 신호들 중에서 중복 수신이 아닌 것으로 판단한 동작 제어 신호를 메모리 컨트롤러에게로 전송하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 메모리 컨트롤러로부터 전송된 동작 제어 신호에 대응되는 데이터를 수신하여 저장하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 저장된 데이터를 근거로 패킷 순서 및 패킷 헤더를 생성하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 패킷 순서, 패킷 헤더 및 데이터를 근거로 CRC를 생성하여 응답 신호를 생성하는 단계; 및 슬레이브 광연결 프로토콜 엔진에 의해, 응답 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 포함한다.
슬레이브 광연결 프로토콜 엔진에 의해, 제2전광 변환기로부터 수신한 병렬신호를 근거로 패킷 수신 정보를 생성하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 패킷 수신 정보를 근거로 병렬신호의 정상 수신 여부를 검시하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 정상 수신 여부를 검시하는 단계에서 병렬 신호의 수신 오류로 판단하면 응답 신호의 재전송 요청 신호를 생성하는 단계; 슬레이브 광연결 프로토콜 엔진에 의해, 재전송 요청 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 더 포함한다.
본 발명에 의하면, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 공유캐쉬 기억장치와 주기억장치의 데이터 송수신을 위한 신호선의 개수를 최소화할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 주기억장치의 채널 증설이 가능하여 필요로하는 메모리 용량을 증설할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 광신호의 사용으로 신호의 왜곡 및 간섭 현상을 최소화할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 중앙처리장치와 주기억장치의 인터페이스에 따른 전력 소모량을 최소화할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 마스터 광연결 프로토콜 엔진 및 슬레이브 광연결 프로토콜 엔진에서 중앙처리장치와 주기억장치의 인터페이스시 발생하는 수신 오류 처리를 수행함으로써, 데이터의 안전한 송수신이 가능하고, 데이터가 깨지거나 데이터 신호선간의 스큐 현상을 미연에 방지하므로, 연장 거리에서 제한을 가지지 않는 구조를 제공할 수 있는 효과가 있다.
도 1 내지 도 3은 종래의 중앙처리장치와 주기억장치의 인터페이스 장치를 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 장치를 설명하기 위한 블록도.
도 5는 도 4의 마스터 광연결 프로토콜 엔진을 설명하기 위한 블록도.
도 6은 도 4의 슬레이브 광연결 프로토콜 엔진을 설명하기 위한 블록도.
도 7은 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법을 설명하기 위한 흐름도.
도 8은 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법의 주기억장치 쓰기 동작 방법을 설명하기 위한 흐름도.
도 9 내지 도 11은 도 8의 쓰기 동작 신호를 전기신호로 변환하여 제1광전 변환기에게로 전송하는 단계를 설명하기 위한 흐름도.
도 12는 도 8의 전기신호를 쓰기 동작 신호로 변환하여 메모리 컨트롤러에게로 전송하는 단계를 설명하기 위한 흐름도.
도 13은 도 8의 쓰기 동작 응답 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도.
도 14는 도 8의 쓰기 동작 응답 신호에 따른 처리 단계를 설명하기 위한 흐름도.
도 15 및 도 16은 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법의 주기억장치 읽기 동작 방법을 설명하기 위한 흐름도.
도 17은 도 15의 버퍼 상태 관리 단계를 설명하기 위한 흐름도.
도 18은 도 15의 버퍼 상태와 읽기 동작 신호를 근거로 패킷을 생성하는 단계를 설명하기 위한 흐름도.
도 19는 도 15의 패킷을 직렬신호로 변환하여 제1전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도.
도 20은 도 15의 직렬신호를 병렬신호로 변환하여 메모리 컨트롤러에게로 전송하는 단계를 설명하기 위한 흐름도.
도 21은 도 15의 데이터를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도.
도 22는 도 16의 응답 신호를 생성하여 제1전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도.
도 23은 도 16의 직렬신호에 따른 읽기 동작을 수행하는 단계를 설명하기 위한 흐름도.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 장치를 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다. 도 4는 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 장치를 설명하기 위한 블록도이다. 도 5는 도 4의 마스터 광연결 프로토콜 엔진을 설명하기 위한 블록도이고, 도 6은 도 4의 슬레이브 광연결 프로토콜 엔진을 설명하기 위한 블록도이다.
도 4에 도시된 바와 같이, 중앙처리장치(200)와 주기억장치(300)의 인터페이스 장치(100)는 마스터 광연결 프로토콜 엔진(110), 제1전광 변환기(130), 제2전광 변환기(150), 슬레이브 광연결 프로토콜 엔진, 메모리 컨트롤러(190)를 포함하여 구성된다. 이때, 마스터 광연결 프로토콜 엔진(110) 및 제1전광 변환기(130)는 중앙처리장치(200)에 내장되거나, 별도의 장치로 구성된다. 제2전광 변환기(150), 슬레이브 광연결 프로토콜 엔진 및 메모리 컨트롤러(190)는 별도의 장치로 구성되거나, 주기억장치(300)에 내장된다.
마스터 광연결 프로토콜 엔진(110)은 중앙처리장치(200)의 공유캐쉬 기억장치(230) 및 제1전광 변환기(130)와 연결된다. 마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 공유캐쉬 기억장치(230)와 메모리 컨트롤러(190) 간에 송수신되는 신호를 변환한다.
마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 공유캐쉬 기억장치(230)에서 메모리 컨트롤러(190)로 전송되는 패킷을 변환한다. 즉, 마스터 광연결 프로토콜 엔진(110)은 공유캐쉬 기억장치(230)로부터 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 수신한다. 이때, 마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 병렬신호로 수신한다. 마스터 광연결 프로토콜 엔진(110)은 수신한 병렬신호를 직렬화하여 직렬신호로 변환한다. 마스터 광연결 프로토콜 엔진(110)은 변환한 직렬신호를 제1전광 변환기(130)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위항 동작 제어 신호(패킷)를 공유캐쉬 기억장치(230)로부터 입력받는다. 이때, 마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작, 읽기 동작 등의 동작 제어 신호를 병렬신호 형태로 입력받는다. 마스터 광연결 프로토콜 엔진(110)은 수신한 동작 제어 신호를 직렬화하여 직렬신호로 변환한다. 마스터 광연결 프로토콜 변환한 직렬신호로 변환한 동작 제어 신호를 제1전광 변환기(130)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 중앙처리장치(200)의 공유캐쉬 기억장치(230)로부터 주기억장치(300)의 쓰기 동작을 위한 쓰기 동작 신호를 입력받는다. 이때, 마스터 광연결 프로토콜 엔진(110)은 메모리 주소, 메모리 컨트롤 정보, 메모리 쓰기 데이터를 포함하는 쓰기 동작 신호를 전기신호 형태(즉, 병렬신호)로 입력받는다. 여기서, 메모리 주소는 중앙처리장치(200)가 액세스 가능한 총 메모리 주소 영역의 길이만큼의 메모리 주소이다. 메모리 컨트롤 정보는 쓰기 동작임을 알려주는 신호, 데이터의 버스트 동작 여부(즉, 데이터의 길이를 결정하는 신호), 및 데이터에서 실제 쓰기 동작이 일어날 부분을 알려주는 마스크 정보 등을 포함한다. 마스터 광연결 프로토콜 엔진(110)은 입력받은 쓰기 동작 신호를 전기신호로 변환하여 제1전광 변환기(130)에게로 전송한다. 이때, 마스터 광연결 프로토콜 엔진(110)은 병렬신호인 전기신호를 직렬신호로 변환하여 제1전광 변환기(130)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 공유캐쉬 기억장치(230)로부터 읽기 동작 신호를 입력받는다. 이때, 읽기 동작 신호는 메모리 주소 및 메모리 컨트롤 정보를 포함한다. 여기서, 메모리 주소는 중앙처리장치(200)가 액세스 가능한 총 메모리 주소 영역의 길이만큼 입력된다. 메모리 컨트롤 정보는 읽기 동작임을 알려주는 신호, 데이터의 길이를 결정하는 데이터의 버스트 동작 여부 신호, 및 데이터에서 실제 읽기 동작이 일어날 부분을 알려주는 마스크 정보를 포함한다. 마스터 광연결 프로토콜 엔진(110)은 자체 버퍼 상태 및 슬레이브 광연결 프로토콜 엔진의 버퍼 상태와 읽기 동작 신호를 근거로 패킷을 생성한다. 즉, 마스터 광연결 프로토콜 엔진(110)은 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118)의 상태 및 제2패킷 수신 데이터 버퍼 모듈(179)에 여유 공간이 존재하면, 읽기 동작 신호를 근거로 생성한 패킷 헤더, 패킷 순서 및 CRC를 연결하여 패킷을 생성한다. 마스터 광연결 프로토콜 엔진(110)은 생성한 병렬신호 형태의 패킷을 직렬신호로 변환하여 제1전광 변환기(130)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 메모리 컨트롤러(190)에서 공유캐쉬 기억장치(230)로 전송되는 패킷을 변환한다.즉, 마스터 광연결 프로토콜 엔진(110)은 제1전광 변환기(130)로부터 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 수신한다. 이때, 마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 직렬신호로 수신한다. 마스터 광연결 프로토콜 엔진(110)은 수신한 직렬신호를 병렬신호로 변환한다. 마스터 광연결 프로토콜 엔진(110)은 변환한 병렬신호를 공유캐쉬 기억장치(230)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 재1전광 변환기로부터 동작 제어 신호에 대한 응답 신호를 입력받는다. 이때, 마스터 광연결 프로토콜 엔진(110)은 쓰기 동작 응답 신호, 읽기 동작 응답 신호, 일기 동작 응답 신호의 재전송 요청 신호 등의 응답 신호를 직렬신호 형태로 입력받는다. 마스터 광연결 프로토콜 엔진(110)은 수신한 동작 제어 신호에 병렬신호 형태로 변환하여 자체 처리를 수행하거나, 변환한 병렬신호를 공유캐쉬 기억장치(230)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 제1전광 변환기(130)로부터 쓰기 동작 응답 신호를 입력받는다. 이때, 마스터 광연결 프로토콜 엔진(110)은 쓰기 동작 완료에 해당하는 쓰기 동작 응답 신호이면 쓰기 동작을 종료한다. 마스터 광연결 프로토콜 엔진(110)은 쓰기 동작 응답 신호를 설정시간 내에 수신하지 못하거나, 쓰기 동작 오류에 해당하는 쓰기 동작 응답 신호를 수신하면 기전송한 쓰기 동작 신호를 직렬신호로 변환하여 제1전광 변환기(130)에게로 재전송한다.
이를 위해, 도 5에 도시된 바와 같이, 마스터 광연결 프로토콜 엔진(110)은 제1패킷 생성 모듈(111), 패킷 송신 헤더 버퍼 모듈(112), 패킷 송신 데이터 버퍼 모듈(113), 패킷 순서 및 CRC 생성 모듈(114), 제1패킷 데이터 직렬화 모듈(115), 패킷 번역 모듈(116), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118), 패킷 검사 모듈(119), 제1패킷 데이터 병렬화 모듈(120)을 포함하여 구성된다.
제1패킷 생성 모듈(111)은 입력받은 쓰기 동작 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성한다. 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112) 및 패킷 송신 데이터 버퍼 모듈(113)에 여유공간을 검사한다.
제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112) 및 패킷 송신 데이터 버퍼 모듈(113)에 여유공간이 존재하면, 쓰기 동작 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성한다. 이때, 제1패킷 생성 모듈(111)은 메모리 주소, 쓰기 동작 신호임을 알려주는 필드, 데이터 길이, 데이터의 마스크 정보, 패킷 데이터 버퍼 모듈 주소를 포함하는 패킷 헤더를 생성한다. 여기서, 패킷 데이터 버퍼 모듈 주소는 패킷 헤더의 내용과 연계된 패킷 데이터가 패킷 데이터 버퍼 모듈에 실제 저장된 영역의 주소를 의미한다.
제1패킷 생성 모듈(111)은 생성한 패킷 헤더 및 패킷 데이터를 저장한다. 즉, 제1패킷 생성 모듈(111)은 생성한 헤더를 패킷 헤더 버퍼 모듈에 저장하고, 생성한 데이터를 패킷 데이터 버퍼 모듈에 저장한다. 이때, 제1패킷 생성 모듈(111)은 패킷 헤더 및 패킷 데이터를 저장하면서, 후속 동작 제어 신호를 조정하여 여러 개의 데이터를 송신하는 경우에 후속되는 데이터가 입력될 수 있도록 하거나, 한 개의 데이터만을 송신하는 경우에는 후속되는 액세스가 연속적으로 이루어질 수 있도록 한다.
제1패킷 생성 모듈(111)은 마스터 패킷 송신 헤더 버퍼 또는 마스터 패킷 송신 데이터 버퍼에 여유 공간이 없으면 후속 동작 제어 신호를 조정하여 공유 캐쉬 기억장치에서 후속되는 데이터나 후속되는 액세스가 바로 진행되지 않고 현재의 동작을 그대로 대기한다.
제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118)의 상태 및 제2패킷 수신 데이터 버퍼 모듈(179)에 여유 공간이 존재여부를 판단한다.
제1패킷 생성 모듈(111)은 모든 버퍼 모듈들에 여유 공간이 존재하면, 읽기 동작 신호를 근거로 패킷 헤더를 생성한다. 이때, 제1패킷 생성 모듈(111)은 메모리의 주소와 읽기임을 알려주는 필드, 데이터의 길이와 데이터의 마스크 정보를 포함하는 패킷 헤더를 생성한다.
제1패킷 생성 모듈(111)은 기생성한 패킷 헤더를 패킷 송신 헤더 버퍼 모듈(112)에 저장한다. 이때, 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112)에 패킷 헤더를 저장하는 동작을 수행하면서 후속 동작 제어 신호를 조정하여 후속되는 액세스가 연속적으로 이루어질 수 있도록 한다.
제1패킷 생성 모듈(111)은 버퍼 모듈들 중에 적어도 하나에 여유 공간이 부족하면 대기상태로 유지한다. 즉, 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118)의 상태 및 제2패킷 수신 데이터 버퍼 모듈(179) 중에 적어도 하나에 여유 공간이 부족하면 후속 동작 제어 신호를 조정하여 공유캐쉬 기억장치(230)에서 후속하는 액세스를 바로 진행하지 않고 현재의 동작을 그대로 대기한다.
패킷 송신 헤더 버퍼 모듈(112)은 제1패킷 생성 모듈(111)에서 생성된 패킷 헤더를 저장한다.
패킷 송신 데이터 버퍼 모듈(113)은 제1패킷 생성 모듈(111)에서 생성된 패킷 데이터를 저장한다.
패킷 순서 및 CRC 생성 모듈(114)은 제1패킷 생성 모듈(111)에서 생성된 패킷 헤더 및 패킷 데이터의 저장이 완료되면 패킷 순서를 발생한다. 즉, 패킷 순서 및 CRC 생성 모듈(114)은 제1패킷 생성 모듈(111)에서 패킷 송신 헤더 버퍼 및 패킷 송신 데이터 버퍼에 패킷 헤더와 패킷 데이터를 저장하는 동작을 완료하면, 패킷 송신 헤더 버퍼 및 패킷 송신 데이터 버퍼에 데이터가 있음을 알게 된다. 그에 따라, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 순서를 발생한다.
패킷 순서 및 CRC 생성 모듈(114)은 패킷 헤더 버퍼 모듈에 저장된 패킷 헤더를 검출한다. 즉, 패킷 순서 및 CRC 생성 모듈(114)은 메모리 주소, 쓰기 동작 신호임을 알려주는 필드, 데이터 길이, 데이터의 마스크 정보, 패킷 데이터 버퍼 모듈 주소를 포함하는 패킷 헤더를 패킷 헤더 버퍼 모듈로부터 검출한다.
패킷 순서 및 CRC 생성 모듈(114)은 검출한 패킷 헤더를 근거로 패킷 데이터를 검출한다. 즉, 패킷 순서 및 CRC 생성 모듈(114)은 기검출한 패킷 헤더에 포함된 패킷 데이터 버퍼 모듈 주소를 검출한다. 패킷 순서 및 CRC 생성 모듈(114)은 검출한 패킷 데이터 버퍼 모듈 주소에 해당하는 영역에 저장된 패킷 데이터를 검출한다.
패킷 순서 및 CRC 생성 모듈(114)은 기검출한 패킷 헤더 및 패킷 데이터를 근거로 패킷 CRC를 생성한다. 패킷 순서 및 CRC 생성 모듈(114)은 검출한 패킷 헤더 및 패킷 데이터와, 패킷 CRC를 연결하여 패킷을 생성한다. 패킷 순서 및 CRC 생성 모듈(114)은 생성한 패킷을 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다. 패킷 순서 및 CRC 생성 모듈(114)은 패킷을 송신한 정보를 패킷 검사모듈에게로 전송한 후 대기한다.
패킷 순서 및 CRC 생성 모듈(114)은 제1패킷 검사 모듈(119)로부터 수신한 패킷 수신 정보를 근거로 읽기 응답 신호의 정상 수신 여부를 판단한다. 이때, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 수신 정보에 포함된 패킷 순서 및 CRC를 근거로 읽기 응답 신호의 정상 수신 여부를 판단한다.
패킷 순서 및 CRC 생성 모듈(114)은 읽기 응답 신호를 정상 수신한 경우 읽기 응답 신호에 대한 정상 수신 신호를 생성하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다. 즉, 패킷 순서 및 CRC 생성 모듈(114)에서 정상 수신으로 판단한 경우 기전송한 읽기 동작 신호가 주기억장치(300)에 정상적으로 전달된 것을 의미한다. 따라서, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 송신 헤더 버퍼 모듈(112) 및 패킷 송신 데이터 버퍼 모듈(113)에서 후속하는 메모리 액세스 정보를 읽어서 다음 패킷을 송신할 수 있는 상태가 된다. 패킷 순서 및 CRC 생성 모듈(114)은 다음 메모리 액세스 정보를 읽기 전에 메모리 읽기 응답 패킷을 수신하였다는 정보를 슬레이브 광연결 프로토콜 엔진에게 알려주기 위해서, 메모리 읽기 응답 패킷을 제대로 수신하였다는 내용을 포함하는 정상 수신 신호를 생성한다. 패킷 순서 및 CRC 생성 모듈(114)은 기생성한 정상 수신 신호를 병렬신호로 하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다.
패킷 순서 및 CRC 생성 모듈(114)은 읽기 응답 신호의 비정상 수신으로 판단하면 읽기 응답 신호의 수신 오류 신호를 생성하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다. 즉, 패킷 순서 및 CRC 생성 모듈(114)은 슬레이브 광연결 프로토콜 엔진에게 읽기 응답 신호의 재전송을 요청하기 위해서 수신한 읽기 응답 신호에 오류(문제)가 있음을 의미하는 수신 오류 신호를 생성한다. 패킷 순서 및 CRC 생성 모듈(114)은 생성한 수신 오류 신호를 병렬신호 형태로 하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다.
제1패킷 데이터 직렬화 모듈(115)은 패킷 순서 및 CRC 생성 모듈(114)에서 발생한 패킷 순서를 근거로 패킷을 직렬화하여 직렬신호를 생성한다. 제1패킷 데이터 직렬화 모듈(115)은 기생성된 직렬신호를 제1전광 변환기(130)에게로 전송한다. 이때, 제1패킷 데이터 직렬화 모듈(115)은 패킷을 제1전광 변환기(130)에서 처리 가능한 대역폭만큼 직렬화한다. 여기서, 마스터 광연결 프로토콜 엔진(110)에서 처리할 수 있는 대역폭보다 제1전광학 변환기에서 가능한 대역폭이 더 적을 경우 제1패킷 데이터 직렬화 모듈(115)을 복수로 구성하여 마스터 광연결 프로토콜 엔진(110)에서 처리할 수 있는 대역폭에 적합하도록 패킷을 직렬화할 수도 있다.
제1패킷 데이터 직렬화 모듈(115)은 병렬신호를 직렬신호로 변환하여 제1전광 변환기(130)에게로 전송한다. 즉, 제1패킷 데이터 직렬화 모듈(115)은 패킷 순서 및 CRC 생성 모듈(114)로부터 수신한 읽기 응답 신호에 대한 정상 수신 신호 또는 수신 오류 신호를 직렬화하여 직렬신호로 변환한다. 제1패킷 데이터 직렬화 모듈(115)은 변환한 직렬신호를 제1전광 변환기(130)에게로 전송한다.
패킷 번역 모듈(116)은 패킷 헤더 및 데이터의 저장이 완료되면 저장된 패킷 헤더를 근거로 데이터의 저장위치를 검출한다. 즉, 패킷 번역 모듈(116)은 패킷 수신 헤더 버퍼 모듈(117)에 저장된 패킷 헤더를 검출한다. 패킷 번역 모듈(116)은 검출한 패킷 헤더로부터 데이터의 저장위치를 검출한다.
패킷 번역 모듈(116)은 검출한 저장위치를 근거로 제1패킷 수신 데이터 버퍼 모듈(118)로부터 데이터를 검출한다. 즉, 패킷 번역 모듈(116)은 제1패킷 수신 데이터 버퍼 모듈(118)에 저장된 데이터들 중에서 기검출한 저장위치에 저장된 데이터(즉, 읽기 동작 신호에 따라 주기억장치(300)로부터 검출한 데이터)를 검출한다.
패킷 번역 모듈(116)은 검출한 데이터를 읽기 동작 신호와 함께 공유캐쉬 기억장치(230)에게로 전송한다.
제1패킷 데이터 병렬화 모듈(120)은 제1전광 변환기(130)로부터 수신한 직렬신호를 병렬신호로 변환한다. 즉, 제1패킷 데이터 병렬화 모듈(120)은 제1전광 변환기(130)로부터 수신한 직렬신호 형태의 패킷(즉, 읽기 응답 신호, 쓰기 응답 신호 등)을 병렬신호로 변환한다. 제1패킷 데이터 병렬화 모듈(120)은 변환한 병렬신호를 패킷 검사 모듈(119)에게로 전송한다.
패킷 검사 모듈(119)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117) 및 제1패킷 수신 데이터 버퍼 모듈(118)의 상태를 모니터링하여 관리한다. 즉, 패킷 검사 모듈(119)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117) 및 제1패킷 수신 데이터 버퍼 모듈(118)의 여유공간을 포함하는 상태정보를 모니터링하여 관리한다.
패킷 검사 모듈(119)은 제1패킷 데이터 병렬화 모듈(120)로부터 수신한 병렬신호로부터 패킷 헤더 및 데이터를 검출한다. 패킷 검사 모듈(119)은 검출한 패킷 헤더를 패킷 수신 헤더 버퍼 모듈(117)에 저장한다. 패킷 검사 모듈(119)은 검출한 데이터를 제1패킷 수신 데이터 버퍼 모듈(118)에 저장한다.
패킷 검사 모듈(119)은 제1패킷 데이터 병렬화 모듈(120)로부터 수신한 병렬신호의 중복 수신 여부를 검사한다. 즉, 패킷 검사 모듈(119)은 수신한 병렬신호로부터 패킷 순서 및 CRC를 검출하여 중복 수신 여부를 검사한다. 이때, 패킷 검사 모듈(119)은 중복 수신된 병렬신호가 아니면 패킷 수신 정보를 생성하여 패킷 순서 및 CRC 생성 모듈(114)에게로 전송한다. 여기서, 패킷 검사 모듈(119)은 패킷 순서 및 CRC를 포함하는 패킷 수신 정보를 생성한다. 한편, 패킷 검사 모듈(119)은 중복 수신된 병렬신호이면 해당 병렬신호에 대한 동작을 종료한다.
패킷 수신 헤더 버퍼 모듈(117)은 패킷 검사 모듈(119)로부터 수신한 패킷 헤더를 저장한다. 여기서, 패킷 헤더는 패킷의 길이, 패킷 헤더에 대응하는 데이터가 제1패킷 수신 데이터 버퍼 모듈(118)에 저장된 위치를 포함한다.
제1패킷 수신 데이터 버퍼 모듈(118)은 패킷 검사 모듈(119)로부터 수신한 데이터를 저장한다.
제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 수신한 전기신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송한다. 즉, 제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 수신한 전기신호 형태의 동작 제어 신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송한다. 이때, 제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 직렬신호 형태의 동작 제어 신호를 수신한다. 제1전광 변환기(130)는 수신한 직렬신호를 광신호로 변환한다. 제1전광 변환기(130)는 변환한 광신호를 제2전광 변환기(150)에게로 전송한다.
제1전광 변환기(130)는 제2전광 변환기(150)로부터 수신한 광신호를 전기신호로 변환하여 마스터 광영결 프로토콜 엔진에게로 전송한다. 즉, 제1전광 변환기(130)는 제2전광 변환기(150)로부터 광신호를 수신한다. 제1전광 변환기(130)는 수신한 광신호를 직렬신호로 변환한다. 제1전광 변환기(130)는 변환한 직렬신호를 마스터 광연결 프로토콜 엔진(110)에게로 전송한다.
제2전광 변환기(150)는 제1전광 변환기(130)로부터 수신한 광신호를 전기신호로 변환하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다. 즉, 제2전광 변환기(150)는 제1전광 변환기(130)로부터 광신호를 수신한다. 제2전광 변환기(150)는 수신한 광신호를 직렬신호로 변환한다. 제2전광 변환기(150)는 변환한 직렬신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
제2전광 변환기(150)는 슬레이브 광연결 프로토콜 엔진으로부터 수신한 전기신호를 광신호로 변환하여 제1전광 변환기(130)에게로 전송한다. 즉, 제2전광 변환기(150)는 슬레이브 광연결 프로토콜 엔진으로부터 직렬신호를 수신한다. 제2전광 변환기(150)는 수신한 직렬신호를 광신호로 변환한다. 제2전광 변환기(150)는 변환한 광신호를 제1전광 변환기(130)에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150) 및 메모리 컨트롤러(190)와 연결된다. 슬레이브 광연결 프로토콜 엔진은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 공유캐쉬 기억장치(230)와 메모리 컨트롤러(190) 간에 송수신되는 신호를 변환한다.
슬레이브 광연결 프로토콜 엔진은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 공유캐쉬 기억장치(230)에서 메모리 컨트롤러(190)로 전송되는 패킷을 변환한다. 즉, 슬레이브 광연결 프로토콜 엔진은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷에 해당하는 직렬신호를 제2전광 변환기(150)로부터 수신한다. 슬레이브 광연결 프로토콜 엔진은 수신한 직렬신호를 병렬신호로 변환한다. 마스터 광연결 프로토콜 엔진(110)은 변환한 병렬신호를 메모리 컨트롤러(190)에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 전기신호 형태의 동작 제어 신호를 병렬신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다. 이때, 슬레이브 광연결 프로토콜 엔진은 쓰기 동작 신호, 읽기 동작 신호 등의 동작 제어 신호를 제2전광 변환기(150)로부터 직렬신호 형태로 수신한다. 슬레이브 광연결 프로토콜 엔진은 직렬신호를 병렬신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 메모리 컨트롤러(190)에서 공유캐쉬 기억장치(230)로 전송되는 패킷을 변환한다. 즉, 슬레이브 광연결 프로토콜 엔진은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 메모리 컨트롤러(190)로부터 수신한다. 이때, 슬레이브 광연결 프로토콜 엔진은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 병렬신호로 수신한다. 슬레이브 광연결 프로토콜 엔진은 수신한 병렬신호를 직렬화하여 직렬신호로 변환한다. 마스터 광연결 프로토콜 엔진(110)은 변환한 직렬신호를 제2전광 변환기(150)에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 직렬신호에 따른 동작 제어를 수행한다. 즉, 슬레이브 광연결 프로토콜 엔진은 수신한 직렬신호 형태의 동작 제어 신호에 대해 자체 처리 또는 메모리 컨트롤러(190)로 동작 제어 신호의 전송을 수행한다. 이때, 슬레이브 광연결 프로토콜 엔진은 중복 수신 또는 오류가 발생한 직렬신호인 경우 읽기 동작 종료하거나, 읽기 응답 신호의 재전송을 마스터 광연결 프로토콜에게로 요청한다. 슬레이브 광연결 프로토콜 엔진은 정상 수신된 직렬신호인 경우 직렬신호를 병렬신호 형태의 동작 제어 신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 메모리 컨트롤러(190)로부터 수신한 데이터를 직렬신호로 변환하여 제2전광 변환기(150)에게로 전송한다. 즉, 슬레이브 광연결 프로토콜 엔진은 쓰기 동작 신호 또는 읽기 동작 신호에 대한 수행 결과를 포함하는 응답 신호(즉, 읽기 응답 신호, 쓰기 동작 응답 신호 등)를 메모리 컨트롤러(190)로부터 병렬신호 형태로 수신한다. 슬레이브 광연결 프로토콜 엔진은 병렬신호 형태의 응답 신호를 직렬신호로 변환하여 제2전광 변환기(150)에게로 전송한다.
이를 위해, 도 6에 도시된 바와 같이, 슬레이브 광연결 프로토콜 엔진은 제2패킷 데이터 병렬화 모듈(171), 패킷 검사 및 번역 모듈(173), 제2패킷 생성 모듈(175), 제2패킷 데이터 직렬화 모듈(177), 제2패킷 수신 데이터 버퍼 모듈(179)을 포함하여 구성된다.
제2패킷 데이터 병렬화 모듈(171)은 제2전광 변환기(150)로부터 수신한 직렬신호 형태의 동작 제어 신호 및 응답 신호를 병렬신호로 변환한다. 즉, 제2패킷 데이터 병렬화 모듈(171)은 직렬신호 형태의 쓰기 동작 신호 및 읽기 동작 신호 등의 동작 제어 신호와, 정상 수신 신호 및 수신 오류 신호 등의 응답 신호를 병렬신호로 변환한다. 제2패킷 데이터 병렬화 모듈(171)은 변환한 병렬신호를 패킷 검사 및 번역 모듈(173)에게로 전송한다.
패킷 검사 및 번역 모듈(173)은 제2패킷 데이터 병렬화 모듈(171)로부터 수신한 병렬신호를 근거로 동작 제어 신호의 정상 수신 여부를 검사한다. 즉, 패킷 검사 및 번역 모듈(173)은 패킷 검사 및 번역 모듈(173)은 제2패킷 데이터 병렬화 모듈(171)로부터 수신한 병렬신호의 패킷 순서와 CRC를 근거로 병렬신호의 정상 수신 여부를 판단한다. 이때, 패킷 검사 및 번역 모듈(173)은 병렬신호의 패킷 순서와 CRC를 근거로 병렬신호의 손실 여부를 판단한다.
패킷 검사 및 번역 모듈(173)은 수신한 병렬신호가 정상 수신한 쓰기 동작 신호이면 병렬신호를 근거로 쓰기 동작 신호를 생성한다. 즉, 패킷 검사 및 번역 모듈(173)은 정상으로 수신한 병렬신호 형태의 쓰기 동작 신호를 이용하여 메모리 주소, 메모리 컨트롤 정보, 메모리 쓰기 데이터 등을 포함하는 쓰기 동작 신호를 생성한다.
패킷 검사 및 번역 모듈(173)은 패킷을 정상 수신하지 못한 경우 해당 병렬신호에 대한 처리를 종료한다. 즉, 패킷 검사 및 번역 모듈(173)은 병렬신호의 손실 또는 중복 수신이 경우 해당 패킷을 버리고 후속 병렬신호에 대한 처리를 수행한다. 이때, 패킷 검사 및 번역 모듈(173)은 정상 수신하지 못한 병렬신호 형태의 쓰기 동작 신호에 대한 재전송 요청 신호를 마스터 광연결 프로토콜 엔진(110)에게로 전송할 수도 있다.
패킷 검사 및 번역 모듈(173)은 생성한 쓰기 동작 신호를 메모리 컨트롤러(190)에게로 전송한다. 이때, 패킷 검사 및 번역 모듈(173)은 데이터가 여러 개일 경우에는 후속 동작 제어 신호를 바탕으로 여러 개의 데이터를 메모리 컨트롤러(190)로 전송한다.
패킷 검사 및 번역 모듈(173)은 정상 수신한 동작 제어 신호에 대한 중복 수신 여부를 검사한다. 이때, 패킷 검사 및 번역 모듈(173)은 병렬신호의 패킷 순서와 CRC를 근거로 병렬신호의 중복 수신 여부를 판단한다.
패킷 검사 및 번역 모듈(173)은 패킷의 중복 수신이 아니면 수신한 읽기 동작 신호의 패킷을 메모리 컨트롤러(190)에게로 전송한다. 이때, 패킷 검사 및 번역 모듈(173)은 메모리 주소, 메모리 컨트롤 정보를 포함하는 패킷을 메모리 컨트롤러(190)에게로 전송한다. 이와 함께, 패킷 검사 및 번역 모듈(173)은 패킷 수신 정보를 제2패킷 생성 모듈(175)에게로 전송한다. 여기서, 패킷 검사 및 번역 모듈(173)은 중복 수신된 패킷이면 해당 패킷을 메모리 컨트롤러(190)에게 전송하지 않고 읽기 동작 신호에 대한 동작을 종료한다.
패킷 검사 및 번역 모듈(173)은 메모리 컨트롤러(190)로부터 수신한 쓰기 동작 응답 신호를 제2패킷 생성 모듈(175)에게로 전송한다. 즉, 패킷 검사 및 번역 모듈(173)은 병렬신호의 패킷 순서 및 CRC를 검사하여 패킷 수신 정보를 생성한다. 패킷 검사 및 번역 모듈(173)은 패킷 순서 또는 CRC에 오류가 있는 경우 수신 오류를 의미하는 패킷 수신 정보를 생성하고, 오류가 없는 경우 정상 수신을 의미하는 패킷 수신 정보를 생성한다. 패킷 검사 및 번역 모듈(173)은 생성한 패킷 수신 정보와 병렬신호(즉, 응답 신호)를 제2패킷 생성 모듈(175)에게로 전송한다.
제2패킷 생성 모듈(175)은 수신한 쓰기 동작 응답 신호에 해당하는 쓰기 동작 응답 패킷을 생성한다. 제2패킷 생성 모듈(175)은 생성한 쓰기 동작 응답 패킷을 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다. 이때, 제2패킷 생성 모듈(175)은 쓰기 동작 완료 패킷을 병렬신호로 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다.
제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)의 상태를 모니터링한다. 이때, 제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)의 여유 공간을 포함하는 상태정보를 주기적으로 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다.
제2패킷 생성 모듈(175)은 패킷 순서와 패킷 헤더를 생성한다. 즉, 제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)에 데이터의 저장이 완료되면 패킷 검사 및 번역 모듈(173)에게로 저장 완료 신호를 전송한다. 제2패킷 생성 모듈(175)은 패킷의 수신 정보를 근거로 패킷 순서 및 패킷 헤더를 생성한다.
제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)에 저장된 데이터를 검출한다. 즉, 제2패킷 생성 모듈(175)은 읽기 동작 신호에 따라 제2패킷 수신 데이터 버퍼 모듈(179)에 저장된 데이터를 검출한다.
제2패킷 생성 모듈(175)은 패킷 순서, 패킷 헤더 및 검출한 데이터를 근거로 CRC를 생성한다. 제2패킷 생성 모듈(175)은 패킷 순서, 패킷 헤더, 데이터 및 CRC를 연결하여 읽기 응답 패킷을 생성한다. 제2패킷 생성 모듈(175)은 생성한 읽기 응답 패킷을 병렬신호로 변환하여 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다.
제2패킷 생성 모듈(175)은 패킷 수신 정보를 근거로 병렬신호(즉, 응답 신호)의 정상 수신 여부를 판단한다. 이때, 제2패킷 생성 모듈(175)은 수신 오류를 의미하는 패킷 수신 정보를 수신하면 병렬의 수신 오류로 판단한다.
제2패킷 생성 모듈(175)은 병렬신호의 수신 오류로 판단하면 마스터 광연결 프로토콜 엔진(110)에게로 읽기 응답 신호의 재전송을 요청한다. 즉, 제2패킷 생성 모듈(175)은 응답 신호의 재전송을 요청하는 신호(또는 패킷)를 생성하여 병렬신호 형태로 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다. 제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬신호로 변환하여 제2전광 변환기(150)에게로 전송한다. 제2전광 변환기(150)는 광신호를 제1전광 변환기(130)에게로 전송하고, 제1전광 변환기(130)는 광신호를 직렬신호로 변환하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다.
제2패킷 생성 모듈(175)은 정상 수신한 병렬신호가 정상 수신 신호이면 다음 동작 제어 신호에 대한 준비를 수행한다. 즉, 제2패킷 생성 모듈(175)은 현재 진행중인 메모리 읽기 응답 패킷을 마스터 광연결 프로토콜 엔진(110)에서 수신하였다는 것이 확인되었으므로, 그 다음 패킷 검사 및 번역 모듈(173)에서 전송받은 패킷 수신 정보와 패킷 수신 데이터 버퍼 모듈의 내용을 가지고 쓰기 응답 패킷이나 읽기 응답 패킷을 생성할 준비가 된다.
제2패킷 생성 모듈(175)은 수신한 패킷 수신 정보가 오류 응답 신호 패킷이면 제2패킷 데이터 직렬화 모듈(177)에게로 읽기 응답 신호를 재전송한다. 즉, 제2패킷 생성 모듈(175)은 오류 응답 신호 패킷을 수신하면 기전송한 읽기 응답 신호를 재전송한다. 제2패킷 생성 모듈(175)은 메모리 읽기 응답 패킷이 제대로 송신되었다는 패킷(즉, 읽기 응답 신호에 대한 응답 패킷)을 수신할 때까지 대기하게 된다. 이때, 제2패킷 생성 모듈(175)은 설정시간 내에 읽기 응답 신호에 대한 응답 패킷을 수신하지 못하면 읽기 응답 신호가 마스터 광연결 프로토콜 엔진(110)에 정상적으로 전송되지 않은 것으로 판단한다. 그에 따라, 제2패킷 생성 모듈(175)은 상술한 과정을 반복하여 읽기 응답 신호를 재전송한다. 여기서, 설정시간 내에 읽기 응답 신호에 대한 응답 패킷을 수신하지 못하는 경우는 읽기 응답 패킷을 송신하는 선로에 문제가 발생했거나, 읽기 응답 패킷을 수신하였다는 내용을 알려주는 응답 패킷을 수신하는 선로에 문제가 발생하였을 경우가 있다.
제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬화하여 제2전광 변환기(150)에게로 전송한다. 이때, 제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬화한 직렬신호를 제2전광 변환기(150)에게로 전송한다. 메모리 컨트롤러(190)의 대역폭이 제2전광 변환기(150)보다 크면 여러 개의 제2전광 변환기(150)를 사용할 수도 있다. 제2패킷 데이터 직렬화 모듈(177)은 제2패킷 생성 모듈(175)로부터 수신한 상태정보를 직렬화하여 직렬신호를 생성하여 제2전광 변환기(150)에게로 전송한다.
제2패킷 수신 데이터 버퍼 모듈(179)은 메모리 컨트롤러(190)로부터 수신한 데이터를 저장한다.
메모리 컨트롤러(190)는 슬레이브 광연결 프로토콜 엔진으로부터 수신한 병렬신호를 근거로 주기억장치(300)를 액세스한다. 메모리 컨트롤러(190)는 수신한 병렬신호가 쓰기 동작 신호(write)인 경우 주기억장치(300)에 쓰기를 완료한 후 동작을 종료한다. 메모리 컨트롤러(190)는 수신한 병렬신호가 읽기 동작 신호(read)인 경우 주기억장치(300)로부터 데이터를 검출한다. 메모리 컨트롤러(190)는 검출한 데이터(즉, 읽기 데이터)를 전기신호를 통해 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
메모리 컨트롤러(190)는 병렬신호(즉, 동작 제어 신호)의 동작 결과(예를 들면, 정상, 오류 등)를 포함하는 응답 패킷을 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
메모리 컨트롤러(190)는 쓰기 동작 신호에 따른 쓰기 동작 응답 신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다. 이때, 메모리 컨트롤러(190)는 쓰기 동작 완료 신호 또는 쓰기 동작 오류 신호를 쓰기 동작 응답 신호로 전송한다.
메모리 컨트롤러(190)는 읽기 동작 신호에 따른 데이터를 검출하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다. 즉, 메모리 컨트롤러(190)는 수신한 병렬신호에 포함된 메모리 주소, 메모리 컨트롤 정보를 근거로 데이터를 검출한다. 메모리 컨트롤러(190)는 검출한 데이터와 함께 읽기 데이터 제어 신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
이하, 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법을 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다. 도 7은 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법을 설명하기 위한 흐름도이다.
공유캐쉬 기억장치(230)로부터 패킷을 수신하면(S100; 예), 마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위해 공유캐쉬 기억장치(230)에서 메모리 컨트롤러(190)로 전송되는 패킷을 전기신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S105). 즉, 마스터 광연결 프로토콜 엔진(110)은 주기억장치(300)의 쓰기 동작 또는 읽기 동작을 위한 패킷을 병렬신호로 수신한다. 마스터 광연결 프로토콜 엔진(110)은 수신한 병렬신호를 직렬화하여 직렬신호로 변환한다. 마스터 광연결 프로토콜 엔진(110)은 변환한 직렬신호를 제1전광 변환기(130)에게로 전송한다.
제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 수신한 전기신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송한다(S110). 즉, 제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 수신한 직렬신호를 광신호로 변환한다. 제1전광 변환기(130)는 변환한 광신호를 제2전광 변환기(150)에게로 전송한다.
제2전광 변환기(150)는 제1전광 변환기(130)로부터 수신한 광신호를 전기신호로 변환하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다(S115). 즉, 제2전광 변환기(150)는 제1전광 변환기(130)로부터 수신한 광신호를 직렬신호로 변환한다. 제2전광 변환기(150)는 변환한 직렬신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 전기신호를 병렬신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다(S120). 즉, 슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 직렬신호를 병렬신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다.
메모리 컨트롤러(190)는 슬레이브 광연결 프로토콜 엔진으로부터 수신한 병렬신호를 근거로 주기억장치(300)를 액세스하여 쓰기 동작 또는 읽기 동작을 수행한다(S125). 즉, 메모리 컨트롤러(190)는 수신한 병렬신호가 쓰기 동작 신호(write)인 경우 주기억장치(300)에 쓰기를 완료한 후 동작을 종료한다. 메모리 컨트롤러(190)는 쓰기 동작의 결과(예를 들면, 정상, 오류 등)를 포함하는 응답 패킷을 슬레이브 광연결 프로토콜 엔진에게로 전송한다. 메모리 컨트롤러(190)는 수신한 병렬신호가 읽기 동작 신호(read)인 경우 주기억장치(300)로부터 데이터를 검출한다. 메모리 컨트롤러(190)는 검출한 데이터(즉, 읽기 데이터)를 응답 패킷으로 구성하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
메모리 컨트로러로부터 패킷을 수신하면(S130; 예), 슬레이브 광연결 프로토콜 엔진은 수신한 패킷을 전기신호로 변환하여 제2전광 변환기(150)에게로 전송한다(S135). 즉, 슬레이브 광연결 프로토콜 엔진은 응답 패킷을 메모리 컨트롤러(190)로부터 병렬신호로 수신한다. 슬레이브 광연결 프로토콜 엔진은 수신한 병렬신호를 직렬화하여 직렬신호로 변환한다. 마스터 광연결 프로토콜 엔진(110)은 변환한 직렬신호를 제2전광 변환기(150)에게로 전송한다.
제2전광 변환기(150)는 슬레이브 광연결 프로토콜 엔진으로부터 수신한 직렬신호를 광신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S140). 즉, 제2전광 변환기(150)는 응답 패킷을 슬레이브 광연결 프로토콜 엔진으로부터 직렬신호로 수신한다. 제2전광 변환기(150)는 수신한 직렬신호를 광신호로 변환하여 제1전광 변환기(130)에게로 전송한다.
제1전광 변환기(130)는 제2전광 변환기(150)로부터 수신한 광신호를 전기신호로 변환하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다(S145). 즉, 제1전광 변환기(130)는 제2전광 변환기(150)로부터 수신한 광신호를 직렬신호로 변환한다. 제1전광 변환기(130)는 변환한 직렬신호를 마스터 광연결 프로토콜 엔진(110)에게로 전송한다.
마스터 광연결 프로토콜 엔진(110)은 제1전광 변환기(130)로부터 수신한 전기신호를 병렬신호로 변환하여 공유캐쉬 기억장치(230)에게로 전송한다(S150). 즉, 마스터 광연결 프로토콜 엔진(110)은 수신한 직렬신호를 병렬신호로 변환하여 공유캐쉬 기억장치(230)에게로 전송한다.
이하, 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법의 주기억장치 쓰기 동작 방법을 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다. 도 8은 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법의 주기억장치 쓰기 동작 방법을 설명하기 위한 흐름도이다. 도 9 내지 도 11은 도 8의 쓰기 동작 신호를 전기신호로 변환하여 제1광전 변환기에게로 전송하는 단계를 설명하기 위한 흐름도이고, 도 12는 도 8의 전기신호를 쓰기 동작 신호로 변환하여 메모리 컨트롤러에게로 전송하는 단계를 설명하기 위한 흐름도이다. 도 13은 도 8의 쓰기 동작 응답 신호를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도이고, 도 14는 도 8의 쓰기 동작 응답 신호에 따른 처리 단계를 설명하기 위한 흐름도이다.
중앙처리장치(200)의 공유캐쉬 기억장치(230)는 주기억장치(300)의 쓰기 동작을 위해 메모리 주소, 메모리 컨트롤 정보, 메모리 쓰기 데이터를 포함하는 데이터를 쓰기 동작 신호를 마스터 광연결 프로토콜 엔진(110)으로 입력한다. 이때, 공유캐쉬 기억장치(230)는 전기신호 형태의 쓰기 동작 신호를 마스터 광연결 프로토콜 엔진(110)으로 입력한다. 여기서, 메모리 주소는 중앙처리장치(200)가 액세스 가능한 총 메모리 주소 영역의 길이만큼의 메모리 주소이다. 메모리 컨트롤 정보는 쓰기 동작임을 알려주는 신호, 데이터의 버스트 동작 여부(즉, 데이터의 길이를 결정하는 신호), 및 데이터에서 실제 쓰기 동작이 일어날 부분을 알려주는 마스크 정보 등을 포함한다.
공유캐쉬 기억장치(230)로부터 주기억장치(300) 쓰기 동작을 위한 쓰기 동작 신호가 입력되면(S200; 예), 마스터 광연결 프로토콜 엔진(110)은 입력받은 쓰기 동작 신호를 전기신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S210). 이때, 마스터 광연결 프로토콜 엔진(110)은 병렬신호인 전기신호를 직렬신호로 변환하여 제1전광 변환기(130)에게로 전송한다. 이를 첨부된 도 9를 참조하여 더욱 상세하게 설명하면 아래와 같다.
제1패킷 생성 모듈(111)은 입력받은 쓰기 동작 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성한다(S211). 이를 첨부된 도 10을 참조하여 설명하면 아래와 같다.
제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112) 및 패킷 송신 데이터 버퍼 모듈(113)에 여유공간을 검사한다(S212). 즉, 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112)에서 데이터의 저장이 가능한 공간과, 패킷 송신 데이터 버퍼 모듈(113)에서 데이터의 저장이 가능한 공간을 검사한다.
여유공간이 존재하면(S213; 예), 제1패킷 생성 모듈(111)은 쓰기 동작 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성한다(S214). 제1패킷 생성 모듈(111)은 입력된 쓰기 동작 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성한다. 이때, 제1패킷 생성 모듈(111)은 메모리 주소, 쓰기 동작 신호임을 알려주는 필드, 데이터 길이, 데이터의 마스크 정보, 패킷 데이터 버퍼 모듈 주소를 포함하는 패킷 헤더를 생성한다. 여기서, 패킷 데이터 버퍼 모듈 주소는 패킷 헤더의 내용과 연계된 패킷 데이터가 패킷 데이터 버퍼 모듈에 실제 저장된 영역의 주소를 의미한다.
제1패킷 생성 모듈(111)은 생성한 패킷 헤더 및 패킷 데이터를 저장한다(S215). 즉, 제1패킷 생성 모듈(111)은 생성한 헤더를 패킷 헤더 버퍼 모듈에 저장하고, 생성한 데이터를 패킷 데이터 버퍼 모듈에 저장한다. 이때, 제1패킷 생성 모듈(111)은 패킷 헤더 및 패킷 데이터를 저장하면서, 후속 동작 제어 신호를 조정하여 여러 개의 데이터를 송신하는 경우에 후속되는 데이터가 입력될 수 있도록 하거나, 한 개의 데이터만을 송신하는 경우에는 후속되는 액세스가 연속적으로 이루어질 수 있도록 한다.
한편, 제1패킷 생성 모듈(111)은 마스터 패킷 송신 헤더 버퍼 또는 마스터 패킷 송신 데이터 버퍼에 여유 공간이 없으면 후속 동작 제어 신호를 조정하여 공유 캐쉬 기억장치에서 후속되는 데이터나 후속되는 액세스가 바로 진행되지 않고 현재의 동작을 그대로 대기한다(S216).
패킷 순서 및 CRC 생성 모듈(114)은 제1패킷 생성 모듈(111)에서 생성한 패킷 헤더 및 패킷 데이터를 근거로 패킷을 생성한다(S217). 이를 첨부된 도 11을 참조하여 더욱 상세하게 설명하면 아래와 같다.
제1패킷 생성 모듈(111)에서 생성된 패킷 헤더 및 패킷 데이터의 저장이 완료되면, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 순서를 발생한다(S221). 즉, 패킷 순서 및 CRC 생성 모듈(114)은 제1패킷 생성 모듈(111)에서 패킷 송신 헤더 버퍼 및 패킷 송신 데이터 버퍼에 패킷 헤더와 패킷 데이터를 저장하는 동작을 완료하면, 패킷 송신 헤더 버퍼 및 패킷 송신 데이터 버퍼에 데이터가 있음을 알게 된다. 그에 따라, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 순서를 발생한다.
패킷 순서 및 CRC 생성 모듈(114)은 패킷 헤더 버퍼 모듈에 저장된 패킷 헤더를 검출한다(S222). 즉, 패킷 순서 및 CRC 생성 모듈(114)은 메모리 주소, 쓰기 동작 신호임을 알려주는 필드, 데이터 길이, 데이터의 마스크 정보, 패킷 데이터 버퍼 모듈 주소를 포함하는 패킷 헤더를 패킷 헤더 버퍼 모듈로부터 검출한다.
패킷 순서 및 CRC 생성 모듈(114)은 검출한 패킷 헤더를 근거로 패킷 데이터를 검출한다(S223). 즉, 패킷 순서 및 CRC 생성 모듈(114)은 기검출한 패킷 헤더에 포함된 패킷 데이터 버퍼 모듈 주소를 검출한다. 패킷 순서 및 CRC 생성 모듈(114)은 검출한 패킷 데이터 버퍼 모듈 주소에 해당하는 영역에 저장된 패킷 데이터를 검출한다.
패킷 순서 및 CRC 생성 모듈(114)은 기검출한 패킷 헤더 및 패킷 데이터를 근거로 패킷 CRC를 생성한다(S224).
패킷 순서 및 CRC 생성 모듈(114)은 검출한 패킷 헤더 및 패킷 데이터와, 패킷 CRC를 연결하여 패킷을 생성한다(S225).
패킷 순서 및 CRC 생성 모듈(114)은 생성한 패킷을 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다(S226).
패킷 순서 및 CRC 생성 모듈(114)은 패킷을 송신한 정보를 패킷 검사모듈에게로 전송한 후 대기한다(S227).
제1패킷 데이터 직렬화 모듈(115)은 패킷 순서 및 CRC 생성 모듈(114)에서 발생한 패킷 순서를 근거로 패킷을 직렬화하여 직렬신호를 생성한다(S218). 이때, 제1패킷 데이터 직렬화 모듈(115)은 패킷을 제1전광 변환기(130)에서 처리 가능한 대역폭만큼 직렬화한다. 여기서, 마스터 광연결 프로토콜 엔진(110)에서 처리할 수 있는 대역폭보다 제1전광학 변환기에서 가능한 대역폭이 더 적을 경우 제1패킷 데이터 직렬화 모듈(115)을 복수로 구성하여 마스터 광연결 프로토콜 엔진(110)에서 처리할 수 있는 대역폭에 적합하도록 패킷을 직렬화할 수도 있다.
제1패킷 데이터 직렬화 모듈(115)은 기생성된 직렬신호를 제1전광 변환기(130)에게로 전송한다(S219).
제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 수신한 전기신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송한다(S230). 즉, 제1전광 변환기(130)는 마스터 광연결 프로토콜 엔진(110)으로부터 수신한 직렬신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송한다
제2전광 변환기(150)는 제1전광 변화기로부터 전송받은 광신호를 전기신호로 변환하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다(S235). 즉, 제2전광 변환기(150)는 광신호를 전기신호로 변환하여 직렬신호를 검출한다. 제2전광 변환기(150)는 검출한 직렬신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 전기신호를 쓰기 동작 신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다(S240). 즉, 슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 직렬신호를 병렬신호인 쓰기 동작 신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다. 이를 첨부된 도 12를 참조하여 더욱 상세하게 설명하면 아래와 같다.
쓰기 동작 신호에 해당하는 직렬신호를 수신하면(S241; 예), 제2패킷 데이터 병렬화 모듈(171)은 제2전광 변환기(150)로부터 수신한 직렬신호를 병렬신호로 변환한다(S242). 제2패킷 데이터 병렬화 모듈(171)은 변환한 병렬신호를 패킷 검사 및 번역 모듈(173)에게로 전송한다.
패킷 검사 및 번역 모듈(173)은 수신한 병렬신호의 순서와 CRC를 근거로 병렬신호의 정상 수신 여부를 판단한다(S243). 이때, 패킷 검사 및 번역 모듈(173)은 병렬신호의 순서와 CRC를 근거로 병렬신호의 손실 여부 또는 중복 수신 여부를 판단한다.
정상 수신으로 판단되면(S244; 예), 패킷 검사 및 번역 모듈(173)은 수신한 병렬신호를 근거로 쓰기 동작 신호를 생성한다(S245). 즉, 패킷 검사 및 번역 모듈(173)은 정상으로 수신한 병렬신호를 이용하여 메모리 주소, 메모리 컨트롤 정보, 메모리 쓰기 데이터 등을 포함하는 쓰기 동작 신호를 생성한다.
패킷 검사 및 번역 모듈(173)은 생성한 쓰기 동작 신호를 메모리 컨트롤러(190)에게로 전송한다(S246). 이때, 패킷 검사 및 번역 모듈(173)은 데이터가 여러 개일 경우에는 후속 동작 제어 신호를 바탕으로 여러 개의 데이터를 메모리 컨트롤러(190)로 전송한다.
한편, 패킷 검사 및 번역 모듈(173)은 패킷을 정상 수신하지 못한 경우 해당 병렬신호에 대한 처리를 종료한다(S247). 즉, 패킷 검사 및 번역 모듈(173)은 병렬신호의 손실 또는 중복 수신이 경우 해당 패킷을 버리고 후속 병렬신호에 대한 처리를 수행한다.
메모리 컨트롤러(190)는 수신한 쓰기 동작 신호를 근거로 주기억장치(300)에 액세스하여 쓰기 동작을 수행한다(S250).
메모리 컨트롤러(190)는 쓰기 동작 신호에 따른 쓰기 동작 응답 신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다(S255). 이때, 메모리 컨트롤러(190)는 쓰기 동작 완료 신호 또는 쓰기 동작 오류 신호를 쓰기 동작 응답 신호로 전송한다.
슬레이브 광연결 프로토콜 엔진은 메모리 컨트롤러(190)로부터 수신한 쓰기 동작 응답 신호를 직렬신호로 변환하여 제2전광 변환기(150)에게로 전송한다(S260). 이를 첨부된 도 13을 참조하여 더욱 상세하게 설명하면 아래와 같다.
메모리 컨트롤러(190)로부터 쓰기 동작 응답 신호를 수신하면(S261; 예), 패킷 검사 및 번역 모듈(173)은 제2패킷 생성 모듈(175)에게로 쓰기 동작 응답 신호를 전송한다(S262).
제2패킷 생성 모듈(175)은 수신한 쓰기 동작 응답 신호에 해당하는 쓰기 동작 응답 패킷을 생성한다(S263).
제2패킷 생성 모듈(175)은 생성한 쓰기 동작 응답 패킷을 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다(S264). 이때, 제2패킷 생성 모듈(175)은 쓰기 동작 완료 패킷을 병렬신호로 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다.
제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬화하여 제2전광 변환기(150)에게로 전송한다(S265). 이때, 제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬화한 직렬신호를 제2전광 변환기(150)에게로 전송한다. 메모리 컨트롤러(190)의 대역폭이 제2전광 변환기(150)보다 크면 여러 개의 제2전광 변환기(150)를 사용할 수도 있다.
제2전광 변환기(150)는 직렬신호를 광신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S270).
제1전광 변환기(130)는 수신한 광신호를 전기신호로 변환하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다(S275).
마스터 광연결 프로토콜 엔진(110)은 수신한 쓰기 동작 응답 신호에 따른 처리를 수행한다(S280). 이를 첨부된 도 14를 참조하여 더욱 상세하게 설명하며 아래와 같다.
설정시간 이내에 쓰기 동작 응답 신호를 수신하면(S281; 예), 마스터 광연결 프로토콜 엔진(110)은 제1전광 변환기(130)로부터 수신한 쓰기 동작 응답 신호를 병렬신호로 변환한다(S282).
마스터 광연결 프로토콜 엔진(110)은 변환한 병렬신호로부터 패킷 순서 및 CRC를 검사하여 패킷 수신 정보를 생성한다(S283). 이때, 마스터 광연결 프로토콜 엔진(110)은 쓰기 동작 완료 신호 또는 쓰기 동작 오류 신호를 포함하는 패킷 수신 정보를 생성한다. 여기서, 슬레이브 광연결 프로토콜 엔진은 후속 동작 제어 신호에 문제가 발생하였거나, 쓰기 동작 신호의 순서와 CRC 검사 결과 문제가 발생하면 쓰기 동작 오류 신호를 생성하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다.
생성한 패킷 수신 정보에 쓰기 동작 완료 신호가 포함되어 쓰기 동작 완료로 판단하면(S284; 예), 마스터 광연결 프로토콜 엔진(110)은 해당 쓰기 동작 신호에 대한 처리를 종료하고, 후속 동작 제어 신호를 처리한다(S285). 즉, 마스터 광연결 프로토콜 엔진(110)은 정상 처리가 된 경우 패킷 송신 헤더 버퍼 및 패킷 송신 데이터 버퍼에서 후속하는 메모리 쓰기나 읽기의 액세스 정보를 읽어서 다음 패킷을 메모리 컨트롤러(190)에게로 전송한다.
한편, 생성한 패킷 수신 정보에 쓰기 동작 오류 신호가 포함되어 쓰기 동작 오류로 판단하거나 설정시간 이내에 쓰기 동작 응답 신호를 수신하지 못하면, 마스터 광연결 프로토콜 엔진(110)은 상술한 단계를 반복 수행하여 쓰기 동작 신호를 메모리 컨트롤러(190)에게로 재전송한다(S286). 이때, 설정시간 이내에 쓰기 동작 응답 신호를 수신하지 못하는 경우는 마스터 광연결 프로토콜 엔진(110)에서 쓰기 동작 신호를 슬레이브 광연결 프로토콜 엔진에서 송신하는 선로에 문제가 생겼거나, 슬레이브 광연결 프로토콜 엔진에서 쓰기 동작 응답 신호를 생성하여 전송하였으나 마스터 프로토콜 엔진이 수신하는 선로에 문제가 생겼을 경우가 있다.
이하, 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법의 주기억장치 읽기 동작 방법을 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다. 도 15 및 도 16은 본 발명의 실시예에 따른 중앙처리장치와 주기억장치의 인터페이스 방법의 주기억장치 읽기 동작 방법을 설명하기 위한 흐름도이다. 도 17은 도 15의 버퍼 상태 관리 단계를 설명하기 위한 흐름도이고, 도 18은 도 15의 버퍼 상태와 읽기 동작 신호를 근거로 패킷을 생성하는 단계를 설명하기 위한 흐름도이고, 도 19는 도 15의 패킷을 직렬신호로 변환하여 제1전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도이다. 도 20은 도 15의 직렬신호를 병렬신호로 변환하여 메모리 컨트롤러에게로 전송하는 단계를 설명하기 위한 흐름도이고, 도 21은 도 15의 데이터를 직렬신호로 변환하여 제2전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도이고, 도 22는 도 16의 응답 신호를 생성하여 제1전광 변환기에게로 전송하는 단계를 설명하기 위한 흐름도이고, 도 23은 도 16의 직렬신호에 따른 읽기 동작을 수행하는 단계를 설명하기 위한 흐름도이다.
마스터 광연결 프로토콜 엔진(110)은 자체 버퍼 상태 및 슬레이브 광연결 프로토콜 엔진의 버퍼 상태를 관리한다(S300). 마스터 광연결 프로토콜 엔진(110)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118) 및 제2 패킷 수신 데이터 버퍼 모듈의 상태를 관리한다. 이때, 마스터 광연결 프로토콜 엔진(110)은 버퍼 모듈들의 여유공간 상태를 관리한다. 이를 첨부된 도 17을 참조하여 더욱 상세하게 설명하면 아래와 같다.
제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)의 상태를 모니터링한다(S301). 이때, 제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)의 여유 공간을 포함하는 상태정보를 주기적으로 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다.
제2패킷 데이터 직렬화 모듈(177)은 제2패킷 생성 모듈(175)로부터 수신한 상태정보를 직렬화하여 직렬신호를 생성하여 제2전광 변환기(150)에게로 전송한다(S302).
제2전광 변환기(150)는 수신한 직렬신호를 광신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S303).
제1전광 변환기(130)는 수신한 광신호를 전기신호로 변환하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다(S304). 제1전광 변환기(130)는 수신한 광신호를 전기신호인 직렬신호로 변환한다. 제1전광 변환기(130)는 변환한 직렬신호를 마스터 광연결 프로토콜 엔진(110)의 제1패킷 데이터 병렬화 모듈(120)에게로 전송한다.
제1패킷 데이터 병렬화 모듈(120)은 수신한 직렬신호를 병렬신호로 변환하여 패킷 검사 모듈(119)에게로 전송한다(S305).
패킷 검사 모듈(119)은 수신한 병렬신호를 근거로 슬레이브 광연결 프로토콜 엔진의 제2패킷 수신 데이터 버퍼 모듈(179)의 상태를 관리한다(S306).
패킷 검사 모듈(119)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117) 및 제1패킷 수신 데이터 버퍼 모듈(118)의 상태를 모니터링하여 관리한다(S307). 즉, 패킷 검사 모듈(119)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117) 및 제1패킷 수신 데이터 버퍼 모듈(118)의 여유공간을 포함하는 상태정보를 모니터링하여 관리한다.
마스터 광연결 프로토콜 엔진(110)은 공유캐쉬 기억장치(230)로부터 읽기 동작 신호를 입력받는다(S310). 이때, 읽기 동작 신호는 메모리 주소 및 메모리 컨트롤 정보를 포함한다. 여기서, 메모리 주소는 중앙처리장치(200)가 액세스 가능한 총 메모리 주소 영역의 길이만큼 입력된다. 메모리 컨트롤 정보는 읽기 동작임을 알려주는 신호, 데이터의 길이를 결정하는 데이터의 버스트 동작 여부 신호, 및 데이터에서 실제 읽기 동작이 일어날 부분을 알려주는 마스크 정보를 포함한다.
마스터 광연결 프로토콜 엔진(110)은 자체 버퍼 상태 및 슬레이브 광연결 프로토콜 엔진의 버퍼 상태와 읽기 동작 신호를 근거로 패킷을 생성한다(S320). 이를 첨부된 도 18을 참조하여 더욱 상세하게 설명하면 아래와 같다.
제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118)의 상태 및 제2패킷 수신 데이터 버퍼 모듈(179)에 여유 공간이 존재여부를 판단한다(S321).
모든 버퍼 모듈들에 여유 공간이 존재하면(S322; 예), 제1패킷 생성 모듈(111)은 읽기 동작 신호를 근거로 패킷 헤더를 생성한다(S323). 이때, 제1패킷 생성 모듈(111)은 메모리의 주소와 읽기임을 알려주는 필드, 데이터의 길이와 데이터의 마스크 정보를 포함하는 패킷 헤더를 생성한다.
제1패킷 생성 모듈(111)은 기생성한 패킷 헤더를 패킷 송신 헤더 버퍼 모듈(112)에 저장한다(S324). 이때, 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112)에 패킷 헤더를 저장하는 동작을 수행하면서 후속 동작 제어 신호를 조정하여 후속되는 액세스가 연속적으로 이루어질 수 있도록 한다.
제1패킷 생성 모듈(111)은 버퍼 모듈들 중에 적어도 하나에 여유 공간이 부족하면 대기상태로 유지한다(S325). 즉, 제1패킷 생성 모듈(111)은 패킷 송신 헤더 버퍼 모듈(112), 패킷 수신 헤더 버퍼 모듈(117), 제1패킷 수신 데이터 버퍼 모듈(118)의 상태 및 제2패킷 수신 데이터 버퍼 모듈(179) 중에 적어도 하나에 여유 공간이 부족하면 후속 동작 제어 신호를 조정하여 공유캐쉬 기억장치(230)에서 후속하는 액세스를 바로 진행하지 않고 현재의 동작을 그대로 대기한다.
마스터 광연결 프로토콜 엔진(110)은 생성한 패킷을 직렬신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S330). 이를 첨부된 도 19을 참조하여 더욱 상세하게 설명하면 아래와 같다.
제1패킷 생성 모듈(111)에서 패킷 헤더의 저장이 완료되면(S331; 예), 패킷 순서 및 CRC 생성 모듈(114)은 패킷 순서를 생성한다(S332).
패킷 순서 및 CRC 생성 모듈(114)은 패킷 송신 헤더 버퍼 모듈(112)로부터 패킷 헤더를 검출한다(S333).
패킷 순서 및 CRC 생성 모듈(114)은 패킷 순서 및 패킷 헤더를 근거로 패킷 CRC를 생성한다(S334).
패킷 순서 및 CRC 생성 모듈(114)은 패킷 순서, 패킷 헤더 및 패킷 CRC를 연결하여 하나의 패킷을 생성한다(S335). 패킷 순서 및 CRC 생성 모듈(114)은 생성한 패킷을 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다
패킷 순서 및 CRC 생성 모듈(114)은 생성한 패킷을 송신한 정보를 패킷 검사 모둘에게로 전송한다(S336). 이후, 패킷 순서 및 CRC 생성 모듈(114)은 대기상태를 유지한다.
제1패킷 데이터 직렬화 모듈(115)은 수신한 패킷을 직렬화하여 직렬신호를 생성한다(S337). 죽, 제1패킷 데이터 직렬화 모듈(115)은 제1전광 변환기(130)에서 처리 가능한 대역폭만큼 직렬화를 시도한다. 이때, 마스터 광연결 프로토콜 엔진(110)에서 처리할 수 있는 대역폭보다 제1전광 변환기(130)에서 처리 가능한 대역폭이 더 적을 경우에는 패킷 데이터 직렬화 모듈을 복수로 구성하여 마스터 광연결 프로토콜 엔진(110)에서 처리할 수 있는 대역폭에 맞도록 할 수도 있다.
제1전광 변환기(130)는 직렬신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송하고(S340), 제2전광 변환기(150)는 수신한 광신호를 직렬신호로 변환하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다(S345)
슬레이브 광연결 프로토콜 엔진은 수신한 직렬신호를 병렬신호로 변환하여 메모리 컨트롤러(190)에게로 전송한다(S350). 이를 첨부된 도 20를 참조하여 더욱 상세하게 설명하면 아래와 같다.
제2패킷 데이터 병렬화 모듈(171)은 수신한 직렬신호를 병렬신호로 변환한다(S351). 즉, 제2패킷 데이터 병렬화 모듈(171)은 직렬신호 형태의 읽기 동작 신호의 패킷을 병렬신호 형태의 패킷으로 변환한다. 제2패킷 데이터 병렬화 모듈(171)은 변환한 병렬신호를 패킷 검사 및 번역 모듈(173)에게로 전송한다.
패킷 검사 및 번역 모듈(173)은 수신한 병렬신호로부터 패킷 순서와 CRC를 검출하여 읽기 동작 신호의 패킷에 대한 정상 수신 여부를 검사한다(S532).
패킷의 정상 수신으로 판단하면(S353; 예), 패킷 검사 및 번역 모듈(173)은 패킷의 중복 수신 여부를 검사한다. 패킷의 중복 수신이 아니면(S354; 예), 패킷 검사 및 번역 모듈(173)은 수신한 읽기 동작 신호의 패킷을 메모리 컨트롤러(190)에게로 전송한다(S355). 이때, 패킷 검사 및 번역 모듈(173)은 메모리 주소, 메모리 컨트롤 정보를 포함하는 패킷을 메모리 컨트롤러(190)에게로 전송한다. 이와 함께, 패킷 검사 및 번역 모듈(173)은 패킷 수신 정보를 제2패킷 생성 모듈(175)에게로 전송한다.
패킷 검사 및 번역 모듈(173)은 중복 수신된 패킷이면 해당 패킷을 메모리 컨트롤러(190)에게 전송하지 않고 읽기 동작 신호에 대한 동작을 종료한다(S356).
메모리 컨트롤러(190)는 수신한 병렬신호를 근거로 데이터를 검출하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다(S360). 즉, 메모리 컨트롤러(190)는 수신한 패킷에 포함된 메모리 주소, 메모리 컨트롤 정보를 근거로 데이터를 검출한다. 메모리 컨트롤러(190)는 검출한 데이터와 함께 읽기 데이터 제어 신호를 슬레이브 광연결 프로토콜 엔진에게로 전송한다.
슬레이브 광연결 프로토콜 엔진은 메모리 컨트롤러(190)로부터 수신한 데이터를 직렬신호로 변환하여 제2전광 변환기(150)에게로 전송한다(S370). 이를 첨부된 도 21을 참조하여 더욱 상세하게 설명하면 아래와 같다.
제2패킷 수신 데이터 버퍼 모듈(179)은 메모리 컨트롤러(190)로부터 수신한 데이터를 저장한다(S371).
제2패킷 생성 모듈(175)은 패킷 순서와 패킷 헤더를 생성한다(S372). 즉, 제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)에 데이터의 저장이 완료되면 패킷 검사 및 번역 모듈(173)에게로 저장 완료 신호를 전송한다. 제2패킷 생성 모듈(175)은 패킷의 수신 정보를 근거로 패킷 순서 및 패킷 헤더를 생성한다.
제2패킷 생성 모듈(175)은 제2패킷 수신 데이터 버퍼 모듈(179)에 저장된 데이터를 검출한다(S373). 즉, 제2패킷 생성 모듈(175)은 읽기 동작 신호에 따라 제2패킷 수신 데이터 버퍼 모듈(179)에 저장된 데이터를 검출한다.
제2패킷 생성 모듈(175)은 패킷 순서, 패킷 헤더 및 검출한 데이터를 근거로 CRC를 생성한다(S374).
제2패킷 생성 모듈(175)은 패킷 순서, 패킷 헤더, 데이터 및 CRC를 연결하여 읽기 응답 패킷을 생성한다(S375).
제2패킷 생성 모듈(175)은 생성한 읽기 응답 패킷을 병렬신호로 변환하여 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다(S376).
제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬화하여 직렬신호를 생성한다(S377). 제2패킷 데이터 직렬화 모듈(177)은 생성한 직렬신호를 제2전광 변환기(150)에게로 전송한다. 이때, 제2패킷 데이터 직렬화 모듈(177)은 메모리 컨트롤러(190)의 대역폭이 제2 전광 변환기보다 크면 복수의 전광 변환기로 구성하여 전송할 수도 있다.
제2전광 변환기(150)는 수신한 직렬신호를 광신호로 변환하여 제1전광 변환기(130)에게로 전송하고(S380), 제1전광 변환기(130)는 수신한 광신호를 직렬신호로 변환하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다(S385).
마스터 광연결 프로토콜 엔진(110)은 수신한 직렬신호를 근거로 읽기 응답 신호에 대한 응답 신호를 생성하여 제1전광 변환기(130)에게로 전송한다(S390). 이를 첨부된 도 22을 참조하여 더욱 상세하게 설명하면 아래와 같다.
제1패킷 데이터 병렬화 모듈(120)은 수신한 직렬신호를 병렬 신호로 변환하여 패킷 검사 모듈(119)에게로 전송한다(S391). 즉, 제1패킷 데이터 병렬화 모듈(120)은 제1전광 변환기(130)로부터 수신한 직렬신호 형태의 패킷(즉, 읽기 응답 신호)을 병렬신호로 변환한다. 제1패킷 데이터 병렬화 모듈(120)은 변환한 병렬신호를 패킷 검사 모듈(119)에게로 전송한다.
패킷 검사 모듈(119)은 병렬신호로부터 패킷 순서 및 CRC를 검출하여 중복 수신 여부를 검사한다. 이때, 중복 수신된 병렬신호(즉, 읽기 응답 신호)가 아니면(S392; 예), 패킷 검사 모듈(119)은 패킷 수신 정보를 생성하여 패킷 순서 및 CRC 생성 모듈(114)에게로 전송한다(S393). 이때, 패킷 검사 모듈(119)은 패킷 순서 및 CRC를 포함하는 패킷 수신 정보를 생성한다.
한편, 패킷 검사 모듈(119)은 중복 수신된 병렬신호이면 해당 병렬신호에 대한 동작을 종료한다(S394).
패킷 순서 및 CRC 생성 모듈(114)은 제1패킷 검사 모듈(119)로부터 수신한 패킷 수신 정보를 근거로 읽기 응답 신호의 정상 수신 여부를 판단한다. 이때, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 수신 정보에 포함된 패킷 순서 및 CRC를 근거로 읽기 응답 신호의 정상 수신 여부를 판단한다. 읽기 응답 신호를 정상 수신한 경우(S395; 예), 패킷 순서 및 CRC 생성 모듈(114)은 읽기 응답 신호에 대한 정상 수신 신호를 생성하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다(S396). 즉, 패킷 순서 및 CRC 생성 모듈(114)에서 정상 수신으로 판단한 경우 기전송한 읽기 동작 신호가 주기억장치(300)에 정상적으로 전달된 것을 의미한다. 따라서, 패킷 순서 및 CRC 생성 모듈(114)은 패킷 송신 헤더 버퍼 모듈(112) 및 패킷 송신 데이터 버퍼 모듈(113)에서 후속하는 메모리 액세스 정보를 읽어서 다음 패킷을 송신할 수 있는 상태가 된다. 패킷 순서 및 CRC 생성 모듈(114)은 다음 메모리 액세스 정보를 읽기 전에 메모리 읽기 응답 패킷을 수신하였다는 정보를 슬레이브 광연결 프로토콜 엔진에게 알려주기 위해서, 메모리 읽기 응답 패킷을 제대로 수신하였다는 내용을 포함하는 정상 수신 신호를 생성한다. 패킷 순서 및 CRC 생성 모듈(114)은 기생성한 정상 수신 신호를 병렬신호로 하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다.
한편, S395 단계에서 읽기 응답 신호의 비정상 수신으로 판단하면, 패킷 순서 및 CRC 생성 모듈(114)은 읽기 응답 신호의 수신 오류 신호를 생성하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다(S397). 즉, 패킷 순서 및 CRC 생성 모듈(114)은 슬레이브 광연결 프로토콜 엔진에게 읽기 응답 신호의 재전송을 요청하기 위해서 수신한 읽기 응답 신호에 오류(문제)가 있음을 의미하는 수신 오류 신호를 생성한다. 패킷 순서 및 CRC 생성 모듈(114)은 생성한 수신 오류 신호를 병렬신호 형태로 하여 제1패킷 데이터 직렬화 모듈(115)에게로 전송한다.
제1패킷 데이터 직렬화 모듈(115)은 병렬신호를 직렬신호로 변환하여 제1전광 변환기(130)에게로 전송한다(S398). 즉, 제1패킷 데이터 직렬화 모듈(115)은 패킷 순서 및 CRC 생성 모듈(114)로부터 수신한 읽기 응답 신호에 대한 정상 수신 신호 또는 수신 오류 신호를 직렬화하여 직렬신호로 변환한다. 제1패킷 데이터 직렬화 모듈(115)은 변환한 직렬신호를 제1전광 변환기(130)에게로 전송한다.
제1전광 변환기(130)는 수신한 직렬신호를 광신호로 변환하여 제2전광 변환기(150)에게로 전송하고(S400), 제2전광 변환기(150)는 수신한 광신호를 직렬신호로 변환하여 슬레이브 광연결 프로토콜 엔진에게로 전송한다(S405).
슬레이브 광연결 프로토콜 엔진은 제2전광 변환기(150)로부터 수신한 직렬신호에 따른 읽기 동작을 수행한다(S410). 즉, 슬레이브 광연결 프로토콜 엔진은 직렬신호에 따라 읽기 동작 종료 또는 읽기 응답 신호의 재전송 중에 하나의 읽기 동작을 수행한다. 이를 첨부된 도 23를 참조하여 상세하게 설명하면 아래와 같다.
제2패킷 데이터 병렬화 모듈(171)은 제2전광 변환기(150)로부터 수신한 직렬신호를 병렬신호로 변환하여 패킷 검사 및 번역 모듈(173)에게로 전송한다(S411). 즉, 제2패킷 데이터 병렬화 모듈(171)은 수신한 직렬신호 형태의 응답 신호(즉, 정상 수신 신호 또는 수신 오류 신호)를 병렬신호로 변환하여 패킷 검사 및 번역 모듈(173)에게로 전송한다.
패킷 검사 및 번역 모듈(173)은 병렬신호의 패킷 순서 및 CRC를 검사하여 패킷 수신 정보를 생성한다(S412). 패킷 검사 및 번역 모듈(173)은 패킷 순서 또는 CRC에 오류가 있는 경우 수신 오류를 의미하는 패킷 수신 정보를 생성하고, 오류가 없는 경우 정상 수신을 의미하는 패킷 수신 정보를 생성한다. 패킷 검사 및 번역 모듈(173)은 생성한 패킷 수신 정보와 병렬신호(즉, 응답 신호)를 제2패킷 생성 모듈(175)에게로 전송한다.
제2패킷 생성 모듈(175)은 패킷 수신 정보를 근거로 병렬신호(즉, 응답 신호)의 정상 수신 여부를 판단한다. 이때, 제2패킷 생성 모듈(175)은 수신 오류를 의미하는 패킷 수신 정보를 수신하면 병렬신호의 수신 오류로 판단한다. 병렬신호의 수신 오류로 판단하면(S413; 아니오), 제2패킷 생성 모듈(175)은 마스터 광연결 프로토콜 엔진(110)에게로 읽기 응답 신호의 재전송을 요청한다(S414). 즉, 제2패킷 생성 모듈(175)은 응답 신호의 재전송을 요청하는 신호(또는 패킷)를 생성하여 병렬신호 형태로 제2패킷 데이터 직렬화 모듈(177)에게로 전송한다. 제2패킷 데이터 직렬화 모듈(177)은 병렬신호를 직렬신호로 변환하여 제2전광 변환기(150)에게로 전송한다. 제2전광 변환기(150)는 광신호를 제1전광 변환기(130)에게로 전송하고, 제1전광 변환기(130)는 광신호를 직렬신호로 변환하여 마스터 광연결 프로토콜 엔진(110)에게로 전송한다.
병렬신호를 정상 수신하고, 병렬신호가 정상 수신 신호이면(S415; 예), 제2패킷 생성 모듈(175)은 다음 동작 제어 신호에 대한 준비를 수행한다(S416). 즉, 제2패킷 생성 모듈(175)은 현재 진행중인 메모리 읽기 응답 패킷을 마스터 광연결 프로토콜 엔진(110)에서 수신하였다는 것이 확인되었으므로, 그 다음 패킷 검사 및 번역 모듈(173)에서 전송받은 패킷 수신 정보와 패킷 수신 데이터 버퍼 모듈의 내용을 가지고 쓰기 응답 패킷이나 읽기 응답 패킷을 생성할 준비가 된다.
한편, 제2패킷 생성 모듈(175)은 수신한 패킷 수신 정보가 오류 응답 신호 패킷이면 제2패킷 데이터 직렬화 모듈(177)에게로 읽기 응답 신호를 재전송한다(S417). 즉, 제2패킷 생성 모듈(175)은 오류 응답 신호 패킷을 수신하면 기전송한 읽기 응답 신호를 재전송한다. 제2패킷 생성 모듈(175)은 메모리 읽기 응답 패킷이 제대로 송신되었다는 패킷(즉, 읽기 응답 신호에 대한 응답 패킷)을 수신할 때까지 대기하게 된다. 이때, 제2패킷 생성 모듈(175)은 설정시간 내에 읽기 응답 신호에 대한 응답 패킷을 수신하지 못하면 읽기 응답 신호가 마스터 광연결 프로토콜 엔진(110)에 정상적으로 전송되지 않은 것으로 판단한다. 그에 따라, 제2패킷 생성 모듈(175)은 상술한 과정을 반복하여 읽기 응답 신호를 재전송한다. 여기서, 설정시간 내에 읽기 응답 신호에 대한 응답 패킷을 수신하지 못하는 경우는 읽기 응답 패킷을 송신하는 선로에 문제가 발생했거나, 읽기 응답 패킷을 수신하였다는 내용을 알려주는 응답 패킷을 수신하는 선로에 문제가 발생하였을 경우가 있다.
이와 함께, 패킷 검사 모듈(119)은 패킷 헤더 및 데이터를 버퍼 모듈에 저장한다(S420). 즉, 패킷 검사 모듈(119)은 패킷 수신 정보의 전송과 동시에 수신한 읽기 응답 신호에 포함된 패킷 헤더를 패킷 수신 헤더 버퍼 모듈(117)에 저장한다. 패킷 검사 모듈(119)은 수신한 읽기 응답 신호에 포함된 패킷 데이터를 제1패킷 수신 데이터 버퍼 모듈(118)에 저장한다. 여기서, 패킷 헤더는 패킷의 길이, 패킷 헤더에 대응하는 데이터가 제1패킷 수신 데이터 버퍼 모듈(118)에 저장된 위치를 포함한다.
패킷 번역 모듈(116)은 패킷 헤더 및 데이터의 저장이 완료되면 저장된 패킷 헤더를 근거로 데이터의 저장위치를 검출한다(S425). 즉, 패킷 번역 모듈(116)은 패킷 수신 헤더 버퍼 모듈(117)에 저장된 패킷 헤더를 검출한다. 패킷 번역 모듈(116)은 검출한 패킷 헤더로부터 데이터의 저장위치를 검출한다.
패킷 번역 모듈(116)은 검출한 저장위치를 근거로 제1패킷 수신 데이터 버퍼 모듈(118)로부터 데이터를 검출한다(S430). 즉, 패킷 번역 모듈(116)은 제1패킷 수신 데이터 버퍼 모듈(118)에 저장된 데이터들 중에서 기검출한 저장위치에 저장된 데이터(즉, 읽기 동작 신호에 따라 주기억장치(300)로부터 검출한 데이터)를 검출한다.
패킷 번역 모듈(116)은 검출한 데이터를 읽기 동작 신호와 함께 공유캐쉬 기억장치(230)에게로 전송한다(S435).
상술한 바와 같이, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 공유캐쉬 기억장치와 주기억장치의 데이터 송수신을 위한 신호선의 개수를 최소화할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 주기억장치의 채널 증설이 가능하여 필요로하는 메모리 용량을 증설할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 광신호의 사용으로 신호의 왜곡 및 간섭 현상을 최소화할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 복수의 코어로부터 동작 제어 신호를 입력받는 공유캐쉬 기억장치와 주기억장치를 하나의 광신호선으로 연결함으로써, 중앙처리장치와 주기억장치의 인터페이스에 따른 전력 소모량을 최소화할 수 있는 효과가 있다.
또한, 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법은 마스터 광연결 프로토콜 엔진 및 슬레이브 광연결 프로토콜 엔진에서 중앙처리장치와 주기억장치의 인터페이스시 발생하는 수신 오류 처리를 수행함으로써, 데이터의 안전한 송수신이 가능하고, 데이터가 깨지거나 데이터 신호선간의 스큐 현상을 미연에 방지하므로, 연장 거리에서 제한을 가지지 않는 구조를 제공할 수 있는 효과가 있다.
이상에서 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형예 및 수정예를 실시할 수 있을 것으로 이해된다.
100: 인터페이스 장치 110: 마스터 광연결 프로토콜 엔진
111: 제1패킷 생성 모듈 112: 패킷 송신 헤더 버퍼 모듈
113: 패킷 송신 데이터 버퍼 모듈 114: 패킷 순서 및 CRC 생성 모듈
115: 제1패킷 데이터 직렬화 모듈 116: 패킷 번역 모듈
117: 패킷 수신 헤더 버퍼 모듈 118: 제1패킷 수신 데이터 버퍼 모듈
119: 패킷 검사 모듈 120: 제1패킷 데이터 병렬화 모듈
130: 제1전광 변환기 150: 제2전광 변환기
170: 슬레이브 광연결 프로토콜 엔진 171: 제2패킷 데이터 병렬화 모듈
173: 패킷 검사 및 번역 모듈 175: 제2패킷 생성 모듈
177: 제2패킷 데이터 직렬화 모듈 179: 제2패킷 수신 데이터 버퍼 모듈
190: 메모리 컨트롤러 200: 중앙처리장치
210: 코어 220: 개별캐쉬 기억장치
230: 공유캐쉬 기억장치 240: 주변기기 입출력 컨트롤러
300: 주기억장치 400: 주변장치

Claims (20)

  1. 중앙처리장치의 공유캐쉬 기억장치로부터 입력되는 동작 제어 신호를 직렬신호로 변환하는 마스터 광연결 프로토콜 엔진;
    상기 마스터 광연결 프로토콜 엔진에서 변환된 직렬신호를 광신호로 변환하는 제1전광 변환기;
    상기 제1전광 변환기에서 변환된 광신호를 직렬신호로 변환하는 제2전광 변환기;
    상기 제2전광 변환기에서 변환된 직렬신호를 동작 제어 신호로 변환하는 슬레이브 광연결 프로토콜 엔진; 및
    상기 슬레이브 광연결 프로토콜 엔진에서 변환된 동작 제어 신호를 근거로 주기억장치에 액세스하는 메모리 컨트롤러를 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  2. 청구항 1에 있어서,
    상기 메모리 컨트롤러는 상기 동작 제어 신호에 따른 주기억장치의 액세스 결과를 근거로 응답 신호를 생성하고,
    상기 슬레이브 광연결 프로토콜 엔진은 상기 메모리 컨트롤러에서 변환된 병렬신호를 직렬신호로 변환하고,
    상기 제2전광 변환기는 상기 슬레이브 광연결 프로토콜 엔진에서 변환된 직렬신호를 광신호로 변환하고,
    상기 제1전광 변환기는 상기 제2전광 변환기에서 변환된 광신호를 직렬신호로 변환하고,
    상기 마스터 광연결 프로토콜 엔진은 상기 제1전광 변환기에서 변환된 직렬신호를 병렬신호로 변환하여 상기 공유캐쉬 기억장치에게로 전송하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  3. 청구항 1에 있어서,
    상기 마스터 광연결 프로토콜 엔진은,
    상기 공유캐쉬 기억장치로부터 입력된 동작 제어 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성하는 제1패킷 생성 모듈;
    상기 제1패킷 생성 모듈에서 생성된 패킷 헤더를 저장하는 패킷 송신 헤더 버퍼 모듈;
    상기 제1패킷 생성 모듈에서 생성된 패킷 데이터를 저장하는 패킷 송신 데이터 버퍼 모듈;
    상기 패킷 헤더 및 패킷 데이터를 근거로 패킷 순서 및 CRC를 생성하고, 상기 패킷 해더, 패킷 데이터, 패킷 순서 및 CRC를 연결하여 동작 제어 패킷을 생성하는 패킷 순서 및 CRC 생성 모듈; 및
    상기 동작 제어 패킷을 직렬신호로 변환하고, 상기 직렬신호를 상기 제1전광 변환기에게로 전송하는 제1패킷 데이터 직렬화 모듈을 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  4. 청구항 1에 있어서,
    상기 마스터 광연결 프로토콜 엔진은,
    상기 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보를 상기 제1전광 변환기로부터 직렬신호로 전송받고, 상기 직렬신호를 병렬신호로 변환하는 제1패킷 데이터 병렬화 모듈;
    상기 병렬신호를 근거로 상기 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보를 관리하고, 자체 버퍼 모듈의 상태정보를 관리하는 패킷 검사 모듈;
    상기 공유캐쉬 기억장치로부터 동작 제어 신호가 입력되면 상기 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보 및 상기 자체 버퍼 모듈의 상태정보를 근거로 여유 공간 존재 여부를 판단하고, 여유 공간이 존재하면 상기 동작 제어 신호를 근거로 패킷 헤더를 생성하여 상기 자체 버퍼 모듈에 저장하는 제1패킷 생성 모듈;
    상기 패킷 헤더 및 상기 동작 제어 신호를 근거로 패킷 순서 및 CRC를 생성하고, 상기 패킷 순서, CRC, 패킷 헤더 및 동작 제어 신호를 연결하여 패킷을 생성하는 패킷 순서 및 CRC 생성 모듈; 및
    상기 패킷을 직렬신호로 변환하여 상기 제1전광 변환기에게로 전송하는 제1패킷 데이터 직렬화 모듈을 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  5. 청구항 4에 있어서,
    상기 제1패킷 데이터 병렬화 모듈은 상기 제1전광 변환기로부터 상기 직렬신호에 대한 응답 신호를 수신하여 병렬신호로 변환하고,
    상기 패킷 검사 모듈은 상기 병렬신호를 근거로 패킷 수신 정보를 생성하고,
    상기 패킷 순서 및 CRC 생성 모듈은 상기 패킷 수신 정보를 근거로 정상 수신 여부를 판단하여 정상 수신 신호 또는 수신 오류 신호를 생성하고,
    상기 제1패킷 데이터 직렬화 모듈은 상기 정상 수신 신호 또는 수신 오류 신호를 직렬신호로 변환하여 상기 제1전광 변환기에게로 전송하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  6. 청구항 4에 있어서,
    상기 패킷 검사 모듈은 상기 슬레이브 광연결 프로토콜 엔진으로부터 수신한 병렬신호를 근거로 응답 신호에 포함된 패킷 헤더 및 패킷 데이터를 버퍼 모듈에 저장하고,
    상기 패킷 번역 모듈은 상기 저장된 패킷 헤더를 검출하고, 상기 패킷 헤더를 근거로 패킷 데이터를 검출하여 상기 공유캐쉬 기억장치에게로 전송하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  7. 청구항 1에 있어서,
    상기 슬레이브 광연결 프로토콜 엔진은,
    상기 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 제2패킷 데이터 병렬화 모듈; 및
    상기 변환된 병렬신호에 포함된 패킷 순서 및 CRC를 근거로 상기 병렬신호의 정상 수신 여부 및 중복 수신 여부를 판단하고, 정상 수신한 병렬신호들 중에서 중복 수신이 아닌 병렬신호를 상기 메모리 컨트롤러에게로 전송하는 패킷 검사 및 번역 모듈을 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  8. 청구항 7에 있어서,
    상기 패킷 검사 및 번역 모듈은 상기 메모리 컨트롤러로부터 상기 동작 제어 신호에 대한 응답 신호를 수신하고,
    상기 슬레이브 광연결 프로토콜 엔진은,
    상기 응답 신호를 직렬신호로 변환하여 상기 제2전광 변환기에게로 전송하는 제2패킷 데이터 직렬화 모듈을 더 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  9. 청구항 1에 있어서,
    상기 슬레이브 광연결 프로토콜 엔진은,
    상기 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 제2패킷 데이터 병렬화 모듈;
    상기 변환된 병렬신호를 근거로 동작 제어 신호의 정상 수신 여부 및 중복 수신 여부를 판단하고, 정상 수신된 동작 제어 신호들 중에서 중복 수신이 아닌 동작 제어 신호를 상기 메모리 컨트롤러에게로 전송하는 패킷 검사 및 번역 모듈;
    상기 메모리 컨트롤러에서 상기 전송된 동작 제어 신호에 대응되는 데이터를 수신하여 저장하는 제2패킷 수신 데이터 버퍼 모듈;
    상기 제2패킷 수신 데이터 버퍼 모듈에 저장된 데이터를 근거로 패킷 순서 및 패킷 헤더를 생성하고, 상기 패킷 순서, 상기 패킷 헤더 및 상기 데이터를 근거로 CRC를 생성하여 응답 신호를 생성하는 제2패킷 생성 모듈; 및
    상기 제2패킷 생성 모듈에서 생성한 응답 신호를 직렬신호로 변환하여 상기 제2전광 변환기에게로 전송하는 제2패킷 데이터 직렬화 모듈을 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  10. 청구항 9에 있어서,
    상기 패킷 검사 및 번역 모듈은 상기 제2전광 변환기로부터 수신한 병렬신호를 근거로 패킷 수신 정보를 생성하고,
    상기 제2패킷 생성 모듈은 상기 패킷 수신 정보를 근거로 상기 병렬신호의 정상 수신 여부를 검시하고, 상기 병렬 신호의 수신 오류시 상기 응답 신호의 재전송 요청 신호를 생성하고,
    상기 제2패킷 데이터 직렬화 모듈은 상기 재전송 요청 신호를 직렬신호로 변환하여 상기 제2전광 변환기에게로 전송하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 장치.
  11. 마스터 광연결 프로토콜 엔진에 의해, 중앙처리장치의 공유캐쉬 기억장치로부터 입력되는 동작 제어 신호를 직렬신호로 변환하는 단계;
    제1전광 변환기에 의해, 상기 직렬신호로 변환하는 단계에서 변환된 직렬신호를 광신호로 변환하는 단계;
    제2전광 변환기에 의해, 상기 광신호로 변환하는 단계에서 변환된 광신호를 직렬신호로 변환하는 단계 ;
    슬레이브 광연결 프로토콜 엔진에 의해, 상기 직렬신호로 변환하는 단계에서 변환된 직렬신호를 동작 제어 신호로 변환하는 단계; 및
    메모리 컨트롤러에 의해, 상기 동작 제어 신호로 변환하는 단계에서 변환된 동작 제어 신호를 근거로 주기억장치에 액세스하는 단계를 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  12. 청구항 11에 있어서,
    상기 메모리 컨트롤러에 의해, 상기 동작 제어 신호에 따른 주기억장치의 액세스 결과를 근거로 응답 신호를 생성하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 응답 신호를 생성하는 단계에서 변환된 병렬신호를 직렬신호로 변환하는 단계;
    상기 제2전광 변환기에 의해, 상기 직렬신호를 광신호로 변환하는 단계;
    상기 제1전광 변환기에 의해, 상기 광신호를 직렬신호로 변환하는 단계; 및
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 직렬신호를 병렬신호로 변환하여 상기 공유캐쉬 기억장치에게로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  13. 청구항 11에 있어서,
    상기 동작 제어 신호를 직렬신호로 변환하는 단계는,
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 공유캐쉬 기억장치로부터 입력된 동작 제어 신호를 근거로 패킷 헤더 및 패킷 데이터를 생성하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷 헤더 및 패킷 데이터를 근거로 패킷 순서 및 CRC를 생성하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷 해더, 패킷 데이터, 패킷 순서 및 CRC를 연결하여 동작 제어 패킷을 생성하는 단계; 및
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 동작 제어 패킷을 직렬신호로 변환하여 상기 제1전광 변환기에게로 전송하는 단계를 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  14. 청구항 11에 있어서,
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 병렬신호에 포함된 패킷 순서 및 CRC를 근거로 상기 병렬신호의 정상 수신 여부 및 중복 수신 여부를 판단하는 단계; 및,
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 판단하는 단계에서 정상 수신으로 판단한 병렬신호들 중에서 중복 수신이 아닌 것으로 판단한 병렬신호를 상기 메모리 컨트롤러에게로 전송하는 단계를 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  15. 청구항 14에 있어서,
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 메모리 컨트롤러로부터 상기 동작 제어 신호에 대한 응답 신호를 수신하는 단계; 및
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 응답 신호를 직렬신호로 변환하여 상기 제2전광 변환기에게로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  16. 청구항 11에 있어서,
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보 및 자체 버퍼 모듈의 상태 정보를 관리하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 공유캐쉬 기억장치로부터 동작 제어 신호가 입력되면 상기 슬레이브 광연결 프로토콜 엔진의 버퍼 모듈에 대한 상태 정보 및 상기 자체 버퍼 모듈의 상태정보를 근거로 여유 공간 존재 여부를 판단하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 판단하는 단계에서 여유 공간이 존재하는 것으로 판단하면 상기 동작 제어 신호를 근거로 패킷 헤더를 생성하여 상기 자체 버퍼 모듈에 저장하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷 헤더 및 상기 동작 제어 신호를 근거로 패킷 순서 및 CRC를 생성하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷 순서, CRC, 패킷 헤더 및 동작 제어 신호를 연결하여 패킷을 생성하는 단계; 및
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷을 직렬신호로 변환하여 상기 제1전광 변환기에게로 전송하는 단계를 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  17. 청구항 16에 있어서,
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 제1전광 변환기로부터 상기 직렬신호에 대한 응답 신호를 수신하여 병렬신호로 변환하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 병렬신호를 근거로 패킷 수신 정보를 생성하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷 수신 정보를 근거로 정상 수신 여부를 판단하여 정상 수신 신호 또는 수신 오류 신호를 생성하는 단계; 및
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 정상 수신 신호 또는 수신 오류 신호를 직렬신호로 변환하여 상기 제1전광 변환기에게로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  18. 청구항 17에 있어서,
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 슬레이브 광연결 프로토콜 엔진으로부터 수신한 병렬신호를 근거로 응답 신호에 포함된 패킷 헤더 및 패킷 데이터를 버퍼 모듈에 저장하는 단계;
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 저장된 패킷 헤더를 검출하는 단계; 및
    상기 마스터 광연결 프로토콜 엔진에 의해, 상기 패킷 헤더를 근거로 패킷 데이터를 검출하여 상기 공유캐쉬 기억장치에게로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  19. 청구항 11에 있어서,
    상기 동작 제어 신호로 변환하는 단계는,
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 제2전광 변환기로부터 수신한 직렬신호를 병렬신호로 변환하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 변환된 병렬신호를 근거로 동작 제어 신호의 정상 수신 여부 및 중복 수신 여부를 판단하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 판단하는 단계에서 정상 수신으로 판단한 동작 제어 신호들 중에서 중복 수신이 아닌 것으로 판단한 동작 제어 신호를 상기 메모리 컨트롤러에게로 전송하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 메모리 컨트롤러로부터 상기 전송된 동작 제어 신호에 대응되는 데이터를 수신하여 저장하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 저장된 데이터를 근거로 패킷 순서 및 패킷 헤더를 생성하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 패킷 순서, 상기 패킷 헤더 및 상기 데이터를 근거로 CRC를 생성하여 응답 신호를 생성하는 단계; 및
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 응답 신호를 직렬신호로 변환하여 상기 제2전광 변환기에게로 전송하는 단계를 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
  20. 청구항 19에 있어서,
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 제2전광 변환기로부터 수신한 병렬신호를 근거로 패킷 수신 정보를 생성하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 패킷 수신 정보를 근거로 상기 병렬신호의 정상 수신 여부를 검시하는 단계;
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 정상 수신 여부를 검시하는 단계에서 상기 병렬 신호의 수신 오류로 판단하면 상기 응답 신호의 재전송 요청 신호를 생성하는 단계; 및
    상기 슬레이브 광연결 프로토콜 엔진에 의해, 상기 재전송 요청 신호를 직렬신호로 변환하여 상기 제2전광 변환기에게로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙처리장치와 주기억장치의 인터페이스 방법.
KR1020130159058A 2013-12-19 2013-12-19 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법 KR102102160B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130159058A KR102102160B1 (ko) 2013-12-19 2013-12-19 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법
US14/551,826 US9379824B2 (en) 2013-12-19 2014-11-24 Apparatus and method for interfacing between central processing unit and main memory unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130159058A KR102102160B1 (ko) 2013-12-19 2013-12-19 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150071925A true KR20150071925A (ko) 2015-06-29
KR102102160B1 KR102102160B1 (ko) 2020-04-21

Family

ID=53401291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130159058A KR102102160B1 (ko) 2013-12-19 2013-12-19 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법

Country Status (2)

Country Link
US (1) US9379824B2 (ko)
KR (1) KR102102160B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102457820B1 (ko) * 2016-03-02 2022-10-24 한국전자통신연구원 메모리 인터페이스 장치
KR102438319B1 (ko) * 2018-02-07 2022-09-01 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188702B1 (en) * 1998-11-17 2001-02-13 Inrange Technologies Corporation High speed linking module
KR20120027209A (ko) 2009-04-29 2012-03-21 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 광학 메모리 확장
KR20130028563A (ko) 2011-09-09 2013-03-19 삼성전자주식회사 광 연결 장치, 이의 제조 방법, 및 상기 광 연결 장치를 포함하는 메모리 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112287A (en) * 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
US5349653A (en) * 1990-10-12 1994-09-20 Hitachi, Ltd. Apparatus for converting parallel bits of an electrical data signal into serial bits of an optical data signal utilizing an optical time delay
JP2000268006A (ja) * 1999-03-15 2000-09-29 Fuji Xerox Co Ltd マルチプロセッサシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188702B1 (en) * 1998-11-17 2001-02-13 Inrange Technologies Corporation High speed linking module
KR20120027209A (ko) 2009-04-29 2012-03-21 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 광학 메모리 확장
KR20130028563A (ko) 2011-09-09 2013-03-19 삼성전자주식회사 광 연결 장치, 이의 제조 방법, 및 상기 광 연결 장치를 포함하는 메모리 시스템

Also Published As

Publication number Publication date
KR102102160B1 (ko) 2020-04-21
US20150180574A1 (en) 2015-06-25
US9379824B2 (en) 2016-06-28

Similar Documents

Publication Publication Date Title
US20110145645A1 (en) Test system and method for testing electronic devices using a pipelined testing architecture
JPH0334661A (ja) デジタル・データ通信装置及びそれに使用するデータ通信アダプタ
JPWO2006114822A1 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
EP4050491A1 (en) Method for converting avalon bus into axi4 bus
WO2022009691A1 (ja) 通信装置および通信方法、並びにプログラム
JP2009217813A (ja) 集積回路内のデバイス間のデータ転送
WO1999022307A1 (fr) Interface de donnees et systeme de communication haute vitesse utilisant cette interface
KR102102160B1 (ko) 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법
CN103685578A (zh) 主从设备的数据传输方法
KR101994929B1 (ko) 집합 통신 수행 방법 및 이를 이용한 집합 통신 시스템
US7873861B2 (en) Apparatus to use fabric initialization to test functionality of all inter-chip paths between processors in system
CN114615106B (zh) 环形数据处理系统、方法以及网络设备
KR20120134918A (ko) 복수의 프로세서를 포함하는 전자 장치
CN114880266B (zh) 故障处理的方法、装置、计算机设备和存储介质
CN114443530B (zh) 基于TileLink的芯片互联电路及数据传输方法
US20020089940A1 (en) Duplexing apparatus and method in large scale system
CN210380890U (zh) 一种Modbus设备的通讯系统及SIS系统
JP4494299B2 (ja) プログラマブルコントローラ
JP2008210114A (ja) カード間通信を行う内部バス解析システム、その方法及びそのプログラム
CN114520729B (zh) 一种通信隔离系统及通信隔离的方法
JP2740031B2 (ja) データ受信装置
CN112667541B (zh) 一种ip动态配置电路和fpga
EP3631640A1 (en) Communication between field programmable gate arrays
KR100677914B1 (ko) 주기적으로 입출력을 검사하는 시스템에서 epmcq2를원격 모드로 사용할 때 속도를 향상시키는 방법
CN115696433A (zh) 一种信息处理方法、装置和网络设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant