KR102195069B1 - 패킷 송신기 및 이를 포함하는 인터페이스 장치 - Google Patents

패킷 송신기 및 이를 포함하는 인터페이스 장치 Download PDF

Info

Publication number
KR102195069B1
KR102195069B1 KR1020140101121A KR20140101121A KR102195069B1 KR 102195069 B1 KR102195069 B1 KR 102195069B1 KR 1020140101121 A KR1020140101121 A KR 1020140101121A KR 20140101121 A KR20140101121 A KR 20140101121A KR 102195069 B1 KR102195069 B1 KR 102195069B1
Authority
KR
South Korea
Prior art keywords
header
signal
data
payload data
packet
Prior art date
Application number
KR1020140101121A
Other languages
English (en)
Other versions
KR20160017494A (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 KR1020140101121A priority Critical patent/KR102195069B1/ko
Priority to US14/714,499 priority patent/US10075566B2/en
Publication of KR20160017494A publication Critical patent/KR20160017494A/ko
Application granted granted Critical
Publication of KR102195069B1 publication Critical patent/KR102195069B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Abstract

패킷 송신기는 상위 계층 송신부 및 하위 계층 송신부를 포함한다. 상기 상위 계층 송신부는 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력한다. 상기 하위 계층 송신부는 상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력한다.

Description

패킷 송신기 및 이를 포함하는 인터페이스 장치{Packet transmitter and interface device including the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 패킷 송신기, 이를 포함하는 인터페이스 장치 및 컴퓨팅 시스템에 관한 것이다.
모바일 장치 등에 포함되는 디스플레이 장치, 이미지 센서 등의 성능이 향상되고 해상도가 증가함에 따라서 전송 데이터의 양이 급격하게 증가하고 있다. 모바일 장치의 발전으로 인하여 내부의 배선수도 증가하고 전자기 간섭(EMI, electromagnetic interference)이 증가한다. 이러한 문제점들의 해결을 위하여 미피(MIPI, mobile industry processor interface), 미디(MDDI, mobile display digital interface)와 같은 직렬 인터페이스에 대한 연구가 활발히 진행되고 있다.
미피 유니프로(MIPI UniPro)와 같은 프로토콜에 따른 일반적인 패킷 송신기는 데이터의 분할(segmentation)과 재전송(retransmission)을 해당 계층(layer)들이 각각 수행한다. 이 경우 각각의 계층들이 독립적으로 동작하면서 복수의 메모리들 또는 버퍼들을 사용하게 되고, 이는 패킷 송신기의 레이턴시(latency)의 증가, 점유 면적(occupation area)의 증가, 소모 전력(power consumption)의 증가 등의 중요한 요인이 되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 점유 면적 및 레이턴시를 감소하면서 효율적으로 패킷을 발생할 수 있는 패킷 송신기를 제공하는 것이다.
또한 본 발명의 일 목적은, 점유 면적 및 레이턴시를 감소하면서 효율적으로 패킷을 발생할 수 있는 패킷 송신기를 포함하는 인터페이스 장치 및 컴퓨팅 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 패킷 송신기는 상위 계층 송신부 및 하위 계층 송신부를 포함한다.
상기 상위 계층 송신부는 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력한다.
상기 하위 계층 송신부는 상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력한다.
상기 상위 계층 송신부는 상기 애플리케이션 계층 데이터 신호에 포함된 송신 메시지를 버퍼링하지 않고 바이패싱하여 상기 페이로드 데이터로서 출력할 수 있다.
상기 하위 계층 송신부는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열함으로써 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력할 수 있다.
상기 상위 계층 송신부는 상기 애플리케이션 계층 데이터 신호에 포함된 송신 메시지를 분할하기 위한 버퍼를 포함하지 않고, 상기 하위 계층 송신부는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열하여 상기 송신 메시지의 분할 및 패킷의 재전송을 수행할 수 있다.
상기 상위 계층 송신부는, 상기 애플리케이션 계층 제어 신호에 기초하여 상기 상위 계층 제어 신호, 헤더 신호 및 출력 선택 신호를 발생하는 상위 계층 제어부, 및 상기 출력 선택 신호에 응답하여 상기 헤더 신호에 포함되는 상기 헤더 및 상기 애플리케이션 계층 데이터 신호에 포함되는 상기 페이로드 데이터 중 하나를 선택적으로 출력하여 상기 상위 계층 데이터 신호를 발생하는 출력 선택부를 포함할 수 있다.
상기 상위 계층 제어부는, 하나의 패킷에 포함될 수 있는 페이로드 데이터의 최대 사이즈 및 상기 애플리케이션 계층 제어 신호에 포함되는 메시지 종료 신호에 기초하여 상기 출력 선택 신호의 천이 타이밍 및 상기 헤더의 발생 타이밍을 결정할 수 있다.
상기 출력 선택부는, 상기 출력 선택 신호에 응답하여, 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력하여 상기 상위 계층 데이터 신호를 발생할 수 있다.
상기 하위 계층 송신부는, 상기 상위 계층 제어 신호에 기초하여 기입 제어 신호 및 독출 제어 신호를 발생하는 하위 계층 제어부, 및 상기 기입 제어 신호 및 상기 독출 제어 신호에 응답하여 상기 상위 계층 송신부로부터 상기 상위 계층 데이터 신호를 통하여 제공되는 상기 페이로드 데이터 및 상기 헤더를 저장하고 상기 하위 계층 데이터 신호를 발생하는 버퍼를 포함할 수 있다.
상기 버퍼는 상기 기입 제어 신호에 포함되는 기입 포인터에 응답하여 상기 페이로드 데이터 및 상기 헤더의 저장 순서를 재배열할 수 있다.
상기 버퍼는 상기 독출 제어 신호에 포함되는 독출 포인터에 응답하여 상기 페이로드 데이터 및 상기 헤더를 재배열된 저장 순서에 따라 순차적으로 출력함으로써 상기 하위 계층 데이터 신호를 발생할 수 있다.
상기 하위 계층 제어부는, 상기 버퍼에 먼저 입력되는 상기 페이로드 데이터가 상기 버퍼의 후순위의 저장 위치에 저장되고 상기 페이로드 데이터의 뒤에 입력되는 상기 헤더가 상기 버퍼의 선순위의 저장 위치에 저장되어 상기 페이로드 데이터 및 상기 헤더의 저장 순서가 재배열되도록 상기 기입 제어 신호에 포함되는 기입 포인터를 제어할 수 있다.
상기 하위 계층 제어부는, 상기 페이로드 데이터 및 상기 헤더가 재배열된 저장 순서에 따라 순차적으로 출력되도록 상기 독출 제어 신호에 포함되는 독출 포인터를 저장 위치의 순위에 따라서 순차적으로 증가시킬 수 있다.
상기 하위 계층 제어부는, 상기 상위 계층 제어 신호에 포함되는 전송 유효 신호에 응답하여 상기 버퍼에 입력되는 상기 페이로드 데이터의 저장 위치를 나타내는 페이로드 포인터를 발생하는 제1 카운터, 상기 버퍼에 현재 입력되는 페이로드 데이터의 사이즈를 나타내는 길이 신호 및 상기 상위 계층 제어 신호에 포함되는 패킷 종료 신호에 응답하여 상기 버퍼에 입력되는 상기 헤더의 저장 위치를 나타내는 헤더 포인터를 발생하는 제2 카운터, 및 포인터 선택 신호에 응답하여 상기 페이로드 포인터 및 상기 헤더 포인터 중 하나를 선택하여 상기 버퍼에 입력되는 상기 페이로드 데이터 및 상기 헤더 중 하나의 저장 위치를 나타내는 기입 포인터를 발생하는 포인터 선택부를 포함할 수 있다.
상기 제1 카운터는 상기 전송 유효 신호가 활성화되는 동안 상기 페이로드 포인터를 순차적으로 증가시킬 수 있다.
상기 제2 카운터는 상기 패킷 종료 신호가 활성화될 때, 상기 헤더 포인터를 상기 버퍼에 현재 입력되는 페이로드 데이터의 사이즈에 1을 더한 값만큼 증가시킬 수 있다.
상기 일 목적을 달성하기 위해 본 발명의 실시예들에 따른 인터페이스 장치는, 물리적 계층부, 애플리케이션 계층부, 상기 애플리케이션 계층부로부터 수신된 송신 메시지를 패킷화하여 상기 물리적 계층부를 통하여 송신하는 패킷 송신기, 및 상기 물리적 계층부를 통하여 수신된 패킷을 분해하여 수신 메시지를 상기 애플리케이션 계층부에 제공하는 패킷 수신기를 포함한다.
상기 패킷 송신기는 상위 계층 송신부 및 하위 계층 송신부를 포함한다.
상기 상위 계층 송신부는 상기 송신 메시지를 포함하는 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력한다.
상기 하위 계층 송신부는 상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력한다.
상기 패킷 송신기는 미피 유니프로(MIPI UniPro) 프로토콜에 부합할 수 있다.
상기 하위 계층 송신부는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열함으로써 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력할 수 있다.
상기 상위 계층 송신부는 상기 애플리케이션 계층 데이터 신호에 포함된 송신 메시지를 분할하기 위한 버퍼를 포함하지 않고, 상기 하위 계층 송신부는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열하여 상기 송신 메시지의 분할 및 패킷의 재전송을 수행하는 버퍼를 포함할 수 있다.
상기 일 목적을 달성하기 위해 본 발명의 실시예들에 따른 컴퓨팅 시스템은, 정보를 교환하도록 버스를 통하여 결합된 프로세서, 메모리 장치 및 입출력 장치를 포함한다. 상기 프로세서, 상기 메모리 장치 및 상기 입출력 장치의 적어도 하나는 패킷 송신기를 포함한다.
상기 패킷 송신기는, 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력하는 상위 계층 송신부, 및 상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력하는 하위 계층 송신부를 포함한다.
본 발명의 실시예들에 따른 패킷 송신기, 이를 포함하는 인터페이스 장치 및 컴퓨팅 시스템은 데이터의 분할을 위한 버퍼를 포함하지 않고 데이터의 재전송을 위한 하나의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 함께 수행함으로써 점유 면적을 감소할 수 있다.
또한 본 발명의 실시예들에 따른 패킷 송신기, 이를 포함하는 인터페이스 장치 및 컴퓨팅 시스템은 헤더와 페이로드 데이터의 저장 순서를 재배열하여 출력함으로써 패킷 발생의 레이턴시를 감소할 수 있다.
도 1은 본 발명의 실시예들에 따른 패킷 송신기를 나타내는 블록도이다.
도 2는 도 1의 패킷 송신기에 포함되는 상위 계층 송신부의 동작을 나타내는 타이밍도이다.
도 3은 도 1의 패킷 송신기에 포함되는 하위 계층 송신부의 동작을 나타내는 타이밍도이다.
도 4는 버퍼에 입력되는 페이로드 데이터와 헤더의 순서를 나타내는 도면이다.
도 5는 버퍼로부터 출력되는 페이로드 데이터와 헤더의 순서를 나타내는 도면이다.
도 6은 도 1의 패킷 송신기에 포함되는 버퍼의 일 실시예를 나타내는 도면이다.
도 7은 도 1의 패킷 송신기에 포함되는 기입 포인터 발생부의 일 실시예를 나타내는 도면이다.
도 8은 도 7의 기입 포인터 발생부의 동작의 일 예를 나타내는 타이밍도이다.
도 9, 10, 11 및 12는 본 발명의 실시예들에 따른 패킷 송신기의 저장 순서의 재배열을 설명하기 위한 도면들이다.
도 13 및 14는 각각의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 독립적으로 수행하는 패킷 송신기의 구성 및 동작을 나타내는 도면들이다.
도 15 및 16은 본 발명의 실시예들에 따라서 하나의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 함께 수행하는 패킷 송신기의 구성 및 동작을 나타내는 도면들이다.
도 17은 본 발명의 실시예들에 따른 패킷 송신기의 점유 면적의 감소를 설명하기 위한 도면이다.
도 18은 본 발명의 실시예들에 따른 인터페이스 장치를 나타내는 블록도이다.
도 19는 본 발명의 실시예들에 따른 패킷 송신기를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 20은 도 19의 컴퓨팅 시스템에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되지 않는다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 패킷 송신기를 나타내는 블록도이다.
도 1을 참조하면, 패킷 송신기(packet transmitter)(10)는 상위 계층 송신부(higher layer transmission block)(11) 및 하위 계층 송신부(lower layer transmission block)(12)를 포함할 수 있다.
본 명세서에서 상위 계층이라 함은 상대적으로 더 추상적인 프로토콜에 부합하는 부분을 나타내고 하위 계층이라 함은 상대적으로 덜 추상적인 프로토콜에 부합하는 부분을 나타낸다. 예를 들어, 상위 계층은 트랜잭션 계층(transaction layer)이고, 하위 계층은 데이터 링크 계층(data link layer)일 수 있다.
이러한 계층의 명칭 및 패킷, 메시지와 같은 프로토콜 데이터 유닛(PDU, protocol data unit)의 명칭에 관계 없이, 본 발명의 기술적 사상은 데이터(예를 들어, 페이로드 데이터) 및 상기 데이터에 관한 정보(예를 들어, 헤더)에 관한 정보를 합성하여 프로토콜 데이터 유닛(예를 들어, 패킷)을 송신하는 임의의 장치 및 시스템에 적용될 수 있다.
상위 계층 송신부(11)는 애플리케이션 계층 데이터 신호(ADT) 및 애플리케이션 계층 제어 신호(AVAL, AEOM)에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호(HDT)를 발생한다.
애플리케이션 계층 제어 신호는 전송 유효 신호(AVAL), 메시지 종료 신호(AEOM) 등을 포함할 수 있다. 전송 유효 신호(AVAL)는 상위 계층 송신부(11)에 현재 입력되는 신호가 유효한 것인지의 여부를 나타낼 수 있다. 메시지 종료 신호(AEOM)는 애플리케이션 계층 데이터 신호(ADT)에 포함되는 각각의 메시지의 종료 타이밍을 나타낼 수 있다.
도 2 및 4를 참조하여 후술하는 바와 같이, 상위 계층 송신부(11)는 상위 계층 데이터 신호(HDT)를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력한다.
하위 계층 송신부(12)는 상위 계층 데이터 신호(HDT) 및 상위 계층 제어 신호(HVAL, HEOP)에 기초하여 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호(LDT)를 발생한다.
상위 계층 제어 신호는 전송 유효 신호(HVAL), 패킷 종료 신호(HEOP) 등을 포함할 수 있다. 전송 유효 신호(HVAL)는 하위 계층 송신부(12)에 현재 입력되는 신호가 유효한 것인지의 여부를 나타낼 수 있다. 패킷 종료 신호(HEOP)는 상위 계층 데이터 신호(HDT)에 포함되는 각각의 패킷의 종료 타이밍을 나타낼 수 있다.
도 3 및 5를 참조하여 후술하는 바와 같이, 하위 계층 송신부(12)는 하위 계층 데이터 신호(LDT)를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력한다.
상위 계층 송신부(11)는, 출력 선택부(MUX)(100) 및 상위 계층 제어부(HCON)(200)를 포함하여 구현될 수 있다. 상위 계층 제어부(200)는 애플리케이션 계층 제어 신호(AVAL, AEOM)에 기초하여 상위 계층 제어 신호(HVAL, HEOP), 헤더 신호(HDR)및 출력 선택 신호(HSW)를 발생할 수 있다. 출력 선택부(100)는 출력 선택 신호(HSW)에 응답하여 헤더 신호(HDR)에 포함되는 헤더 및 애플리케이션 계층 데이터 신호(ADT)에 포함되는 페이로드 데이터 중 하나를 선택적으로 출력하여 상위 계층 데이터 신호(HDT)를 발생할 수 있다.
이와 같이, 상위 계층 송신부(11)는 애플리케이션 계층 데이터 신호(ADT)에 포함된 송신 메시지를 버퍼링하지 않고 바이패싱하여 상기 페이로드 데이터로서 출력할 수 있다. 따라서, 헤더를 생성하기 전에 먼저 페이로드 데이터를 하위 계층 송신부(12)에 전달함으로써 최종적인 패킷을 출력하기까지의 레이턴시를 감소할 수 있다.
하위 계층 송신부(12)는, 버퍼(BUFF)(300) 및 하위 계층 제어부(LCON)(400)를 포함하여 구현될 수 있다. 하위 계층 제어부(400)는 상위 계층 제어 신호(HVAL, HEOP)에 기초하여 기입 제어 신호(WCS) 및 독출 제어 신호(RCS)를 발생할 수 있다. 버퍼(300)는 기입 제어 신호(WCS) 및 독출 제어 신호(RCS)에 응답하여 상위 계층 송신부(11)로부터 수신되는 상기 페이로드 데이터 및 상기 헤더를 저장하고 하위 계층 데이터 신호(LDT)를 발생할 수 있다.
후술하는 바와 같이, 하위 계층 송신부(12)는 버퍼(300) 및 이를 제어하기 위한 기입 제어 신호(WCS)와 독출 제어 신호(RCS)를 이용하여 상위 계층 송신부(11)로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열할 수 있다. 재배열된 저장 순서에 따라서 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력할 수 있다.
일반적인 패킷 송신기는 데이터의 분할(segmentation)을 위한 버퍼를 상위 계층에 포함하고 데이터의 재전송(retransmission)을 위한 버퍼를 하위 계층에 포함한다. 이 경우 각각의 계층들이 독립적으로 동작하면서 복수의 메모리들 또는 버퍼들을 사용하게 되고, 이는 패킷 송신기의 레이턴시(latency)의 증가 및 점유 면적(occupation area)을 증가시킨다.
도 1을 참조하여 설명한 바와 같이, 상위 계층 송신부(11)는 애플리케이션 계층 데이터 신호(ADT)에 포함된 송신 메시지를 분할하기 위한 버퍼를 포함하지 않는다. 한편 하위 계층 송신부(12)는 상위 계층 송신부(11)로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열하여 상기 송신 메시지의 분할 및 패킷의 재전송을 수행하는 버퍼(300)를 포함한다. 하위 계층 제어부(400)는 패킷 전송의 성공 또는 실패를 나타내는 신호(SF)에 기초하여 리드 제어 신호(RCS)를 조절하여 버퍼(300)에 저장된 패킷의 재전송을 수행할 수 있다.
이와 같이, 본 발명의 실시예들에 따른 패킷 송신기(10)는 데이터의 분할을 위한 버퍼를 포함하지 않고 데이터의 재전송을 위한 하나의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 함께 수행함으로써 점유 면적을 감소할 수 있다. 또한 본 발명의 실시예들에 따른 패킷 송신기(10)는 헤더와 페이로드 데이터의 저장 순서를 재배열하여 출력함으로써 패킷 발생의 레이턴시를 감소할 수 있다.
이하, 도 2 및 3을 참조하여 도 1의 패킷 송신기(10)의 기본적인 동작을 설명한다.
도 2는 도 1의 패킷 송신기에 포함되는 상위 계층 송신부의 동작을 나타내는 타이밍도이고, 도 3은 도 1의 패킷 송신기에 포함되는 하위 계층 송신부의 동작을 나타내는 타이밍도이다.
도 2 및 3에 도시된 단위 데이터들(D1~D9)의 각각은 미리 결정된 복수 비트들을 포함할 수 있다. 각 단위 데이터의 복수 비트들은 최종적으로 발생된 패킷이 직렬화되기 전까지는 클록 신호(CLK)의 사이클 주기마다 병렬적으로 동시에 전달될 수 있다. 예를 들어, 각 단위 데이터는 바이트(byte) 데이터일 수 있고 이 경우 단위 데이터의 비트수는 8일 수 있다. 다른 예에서, 각 단위 데이터는 워드(word) 데이터일 수 있고 이 경우 단위 데이터의 비트수는 16일 수 있다.
한편 하나의 패킷에 포함될 수 있는 페이로드 데이터의 최대 사이즈(MXS)는 하나의 패킷에 포함될 수 있는 단위 데이터의 최대 개수로 정의될 수 있다. 이 경우, 하나의 패킷에 포함될 수 있는 최대 비트수는 하나의 단위 데이터에 포함되는 비트수와 최대 사이즈(MXS)의 곱으로 표현될 수 있다.
이하, 설명의 편의를 위하여, 최대 사이즈(MXS)는 도 2 및 3에 도시된 바와 같이 4인 것으로 가정한다. 각 단위 데이터의 비트수 및 최대 사이즈(MXS)는 다양하게 변경될 수 있다.
애플리케이션 계층 데이터 신호(ADT)는 복수의 단위 데이터들로 구성된 메시지를 포함할 수 있다. 상기 메시지의 사이즈가 최대 사이즈(MXS)보다 큰 경우에는 상기 메시지는 복수의 페이로드 데이터들로 분할된다. 예를 들어, 도 2에 도시된 바와 같이, 메시지가 7개의 단위 데이터들(D1~D7)을 포함하여 메시지의 사이즈가 7이고 최대 사이즈(MXS)가 4인 경우에는 상기 메시지는 사이즈가 4인 제1 페이로드 데이터(D1~D4) 및 사이즈가 3인 제2 페이로드 데이터(D5~D7)로 분할된다.
도 1 및 2를 참조하면, 상위 계층 송신부(11)의 상위 계층 제어부(200)는, 하나의 패킷에 포함될 수 있는 페이로드 데이터의 최대 사이즈(MXS) 및 메시지 종료 신호(AEOM)에 기초하여 출력 선택 신호(HSW)의 천이 타이밍 및 헤더(H1, H2)의 발생 타이밍을 결정할 수 있다.
도 2에 도시된 바와 같이, 상위 계층 제어부(200)는 최대 사이즈(MXS)에 해당하는 시구간 T4에서 메시지 종료 신호(AEOM)가 활성화되지 않으며, 메시지가 분할될 것임을 인식하고 다음의 시구간 T5 동안에 내부적으로 발생된 제1 헤더(H1)를 헤더 신호(HDR)를 통하여 출력하고 출력 선택 신호(HSW)를 제1 논리 레벨(예를 들어, 논리 로우 레벨)에서 제2 논리 레벨(예를 들어, 논리 하이 레벨)로 활성화할 수 있다.
한편 상위 계층 제어부(200)는 최대 사이즈(MXS)보다 작은 사이즈에 해당하는 시구간 T8에서 메시지 종료 신호(AEOM)가 활성화되면, 메시지의 종료를 인식하고 다음의 시구간 T9 동안에 내부적으로 발생된 제2 헤더(H2)를 헤더 신호(HDR)를 통하여 출력하고 출력 선택 신호(HSW)를 논리 로우 레벨에서 논리 하이 레벨로 활성화할 수 있다.
시구간 T1~T4에서 전송 유효 신호(AVAL)가 논리 하이 레벨로 활성화되고, 상위 계층 송신부(11)의 출력 선택부(100)는 애플리케이션 계층 데이터 신호(ADT)를 통하여 최대 사이즈(MXS)의 제1 페이로드 데이터(D1~D4)를 수신한다. 시구간 T1~T4에서 출력 선택 신호(HSW)는 논리 로우 레벨을 갖고, 출력 선택부(100)는 출력 선택 신호(HSW)의 논리 로우 레벨에 응답하여 애플리케이션 계층 데이터 신호(ADT)에 포함되는 제1 페이로드 데이터(D1~D4)를 선택하여 출력한다. 즉 출력 선택부(100)는 수신된 제1 페이로드 데이터(D1~D4)를 버퍼링하지 않고 바이패싱하여 상위 계층 데이터 신호(HDT)를 통하여 출력한다.
시구간 T5에서 출력 선택 신호(HSW)는 논리 하이 레벨을 갖고, 출력 선택부(100)는 출력 선택 신호(HSW)의 논리 하이 레벨에 응답하여 헤더 신호(HDR)에 포함되는 제1 헤더(H1)를 선택하여 상위 계층 데이터 신호(HDT)를 통하여 출력한다.
시구간 T6~T8에서 전송 유효 신호(AVAL)가 다시 논리 하이 레벨로 활성화되고, 상위 계층 송신부(11)의 출력 선택부(100)는 애플리케이션 계층 데이터 신호(ADT)를 통하여 최대 사이즈(MXS)보다 작은 사이즈의 제2 페이로드 데이터(D5~D7)를 수신한다. 시구간 T6~T8에서 출력 선택 신호(HSW)는 논리 로우 레벨을 갖고, 출력 선택부(100)는 출력 선택 신호(HSW)의 논리 로우 레벨에 응답하여 애플리케이션 계층 데이터 신호(ADT)에 포함되는 제2 페이로드 데이터(D5~D7)를 선택하여 출력한다. 즉 출력 선택부(100)는 수신된 제2 페이로드 데이터(D5~D7)를 버퍼링하지 않고 바이패싱하여 상위 계층 데이터 신호(HDT)를 통하여 출력한다.
시구간 T9에서 출력 선택 신호(HSW)는 논리 하이 레벨을 갖고, 출력 선택부(100)는 출력 선택 신호(HSW)의 논리 하이 레벨에 응답하여 헤더 신호(HDR)에 포함되는 제1 헤더(H1)를 선택하여 상위 계층 데이터 신호(HDT)를 통하여 출력한다.
이와 같이, 출력 선택부(100)는 상위 계층 제어부(200)로부터 제공되는 출력 선택 신호(HSW)에 응답하여, 페이로드 데이터를 먼저 출력하고 헤더를 상기 페이로드 데이터의 뒤에 출력하여 상위 계층 데이터 신호(HDT)를 발생할 수 있다.
도 1 및 3을 참조하면, 시구간 T1~T11 동안에 전송 유효 신호(HVAL)가 논리 하이 레벨로 활성화되고 페이로드 데이터들(D1~D9) 및 헤더들(H1, H2)이 전술한 출력 순서에 따라서 상위 계층 데이터 신호(HDT)를 통하여 상위 계층 송신부(11)에서 하위 계층 송신부(12)로 전달된다. 시구간 T5 및 T9에서 패킷 종료 신호(HEOP)가 논리 하이 레벨로 활성화되고 이때 상위 계층 데이터 신호(HDT)를 헤더들(H1, H2)이 각각 전달된다.
하위 계층 송신부(12)의 하위 계층 제어부(400)는, 상기 페이로드 데이터 및 상기 헤더의 저장 순서가 재배열되도록 기입 제어 신호(WCS_에 포함되는 기입 포인터(WPT)를 제어할 수 있다. 설명의 편의를 위하여, 기입 포인터(WPT)의 값이 작을수록 버퍼(300)의 저장 공간, 즉 메모리 영역 내에서 선순위의 저장 위치를 나타낸다고 가정한다. 즉 도 3에서 P1은 가장 선순위의 저장 위치에 해당하고, Pk+1은 Pk보다 다음 후순위의 저장 위치를 나타낸다.
도 3에 도시된 바와 같이, 버퍼(300)에 먼저 입력되는 제1 페이로드 데이터(D1~D4)가 버퍼(300)의 후순위의 저장 위치(P2~P5)에 저장되고 제1 페이로드 데이터(D1~D4)의 뒤에 입력되는 제1 헤더(H1)가 버퍼(300)의 선순위의 저장 위치(P1)에 저장된다. 또한 버퍼(300)에 먼저 입력되는 제2 페이로드 데이터(D5~D7)가 버퍼(300)의 후순위의 저장 위치(P7~P9)에 저장되고 제2 페이로드 데이터(D5~D7)의 뒤에 입력되는 제2 헤더(H2)가 버퍼(300)의 선순위의 저장 위치(P6)에 저장된다.
이와 같이, 버퍼(300)는 기입 제어 신호(WCS)에 포함되는 기입 포인터(WPT)에 응답하여 상위 계층 데이터 신호(HDT)를 통하여 제공되는 페이로드 데이터 및 헤더의 저장 순서를 재배열할 수 있다. 기입 포인터(WPT)의 제어 방법에 관한 실시예는 도 7 및 8을 참조하여 후술한다.
한편, 하위 계층 송신부(12)의 하위 계층 제어부(400)는, 상 페이로드 데이터 및 상기 헤더가 재배열된 저장 순서에 따라 순차적으로 출력되도록 독출 제어 신호(RCS)에 포함되는 독출 포인터(RPT)를 저장 위치의 순위에 따라서 순차적으로 증가시킬 수 있다.
도 3에 도시된 바와 같이, 독출 포인터(RPT)는 가장 선순위의 저장 위치(P1)를 나타내도록 초기화된 상태에서 패킷 종료 신호(HEOP)예 응답하여 순차적으로 증가할 수 있다. 결과적으로 재배열된 저장 순서에 따라서, 제1 헤더(H1)가 먼저 출력되고 제1 페이로드 데이터(D1~D4)가 다음에 출력될 수 있다.
이와 같이, 버퍼(300)는 독출 제어 신호(RCS)에 포함되는 독출 포인터(RPT)에 응답하여 페이로드 데이터 및 헤더를 재배열된 저장 순서에 따라 순차적으로 출력함으로써 하위 계층 데이터 신호(LDT)를 발생할 수 있다.
도 4는 버퍼에 입력되는 페이로드 데이터와 헤더의 순서를 나타내는 도면이고, 도 5는 버퍼로부터 출력되는 페이로드 데이터와 헤더의 순서를 나타내는 도면이다.
도 4를 참조하면, 상위 계층 데이터 신호(HDT)를 통하여, 제1 페이로드 데이터(D1~D4), 제1 헤더(H1), 제2 페이로드 데이터(D5~D7) 및 제2 헤더(H2)가 순차적으로 버퍼(300)에 입력된다. 패킷의 수신 측에서는 메시지의 세그먼트들, 즉 복수의 패킷들에 분산된 페이로드 데이터들로부터 상기 메시지를 복원하기 위해서는 각각의 패킷에 대하여 페이로드 데이터보다 헤더가 먼저 수신되어야 한다.
도 5를 참조하면, 하위 계층 데이터 신호(LDT)를 통하여, 제1 헤더(H1), 제1 페이로드 데이터(D1~D4), 제2 헤더(H2) 및 제2 페이로드 데이터(D5~D7)가 순차적으로 버퍼(300)로부터 출력된다.
전술한 바와 같이, 버퍼(300)의 저장 순서를 재배열함으로써 각각의 패킷에 대하여 버퍼(300)로부터 헤더가 먼저 출력되고 페이로드 데이터가 뒤에 출력될 수 있다.
도 6은 도 1의 패킷 송신기에 포함되는 버퍼의 일 실시예를 나타내는 도면이다.
도 6을 참조하면, 버퍼(300)는 기입 제어부(WRC)(310), 메모리 영역(MEM)(320) 및 독출 제어부(RDC)(330)를 포함할 수 있다.
버퍼(300)의 저장 공간, 즉 메모리 영역(320)의 저장 위치들은 기입 포인터(WPT)와 독출 포인터(RPT)의 값들에 각각 매핑될 수 있다. 전술한 바와 같이 포인터의 값이 작을수록 버퍼(300)의 저장 공간, 즉 메모리 영역 내에서 선순위의 저장 위치를 나타낸다고 가정할 수 있다. 즉 도 3을 참조하여 설명한 바와 같이, P1은 가장 선순위의 저장 위치에 해당하고, Pk+1은 Pk보다 다음 후순위의 저장 위치를 나타낼 수 있다.
기입 제어부(310)는 하위 계층 제어부(400)로부터 제공되는 기입 제어 신호(WCS)에 기초하여, 수신된 상위 계층 데이터 신호(HDT)에 포함된 페이로드 데이터 및 헤더를 메모리 영역(320))의 상응하는 저장 위치에 저장한다. 기입 제어 신호(WCS)는 기입 동작의 타이밍을 제어하기 위한 기입 인에이블 신호(WEN) 및 데이터가 기입될 저장 위치를 지정하는 기입 포인터(WPT)를 포함할 수 있다.
독출 제어부(330)는 하위 계층 제어부(400)로부터 제공되는 독출 제어 신호(RCS)에 기초하여, 메모리 영역(320))의 상응하는 저장 위치로부터 헤더 또는 페이로드 데이터를 독출하여 하위 계층 데이터 신호(LDT)를 발생한다. 독출 제어 신호(RCS)는 독출 동작의 타이밍을 제어하기 위한 독출 인에이블 신호(REN) 및 데이터가 독출될 저장 위치를 나타내는 독출 포인터(RPT)를 포함할 수 있다.
이와 같이, 버퍼(300)는 기입 제어 신호(WCS)에 포함되는 기입 포인터(WPT)에 응답하여 상위 계층 데이터 신호(HDT)를 통하여 제공되는 페이로드 데이터 및 헤더의 저장 순서를 재배열할 수 있다. 또한, 버퍼(300)는 독출 제어 신호(RCS)에 포함되는 독출 포인터(RPT)에 응답하여 페이로드 데이터 및 헤더를 재배열된 저장 순서에 따라 순차적으로 출력함으로써 하위 계층 데이터 신호(LDT)를 발생할 수 있다.
도 7은 도 1의 패킷 송신기에 포함되는 기입 포인터 발생부의 일 실시예를 나타내는 도면이고, 도 8은 도 7의 기입 포인터 발생부의 동작의 일 예를 나타내는 타이밍도이다. 구체적으로 도 7의 기입 포인터 발생부(450)는 도 1의 패킷 송신기(10) 중에서 하위 계층 제어부(400)에 포함될 수 있다.
도 7을 참조하면, 기입 포인터 발생부(450)는 제1 카운터(CNT1)(451), 제2 카운터(CNT2)(452) 및 포인터 선택부(MUX)(453)를 포함하여 구현될 수 있다.
제1 카운터(451)는 상위 계층 제어 신호에 포함되는 전송 유효 신호(HVAL)에 응답하여 버퍼(300)에 입력되는 페이로드 데이터의 저장 위치를 나타내는 페이로드 포인터(PPT)를 발생한다. 제2 카운터(452)는 버퍼(300)에 현재 입력되는 페이로드 데이터의 사이즈를 나타내는 길이 신호(LNG) 및 상위 계층 제어 신호에 포함되는 패킷 종료 신호(HEOP)에 응답하여 버퍼(300)에 입력되는 헤더의 저장 위치를 나타내는 헤더 포인터(HPT)를 발생한다. 제1 카운터(451) 및 제2 카운터(452)는 리셋 신호(RST)에 응답하여 초기화될 수 있다.
포인터 선택부(453)는 포인터 선택 신호(LSW)에 응답하여 페이로드 포인터(PPT) 및 헤더 포인터(HPT) 중 하나를 선택하여 버퍼(300)에 입력되는 상기 페이로드 데이터 및 상기 헤더 중 하나의 저장 위치를 나타내는 기입 포인터(WPT)를 발생한다.
도 8에는 도 3에 도시된 상위 계층 데이터 신호(HDT)의 경우에 대하여 저장 위치를 재배열하기 위한 기입 포인터 발생부(451)의 동작이 예시되어 있다. 도 3과 중복되는 설명은 생략될 수 있다.
도 7 및 8을 참조하면, 제1 카운터(451)는 전송 유효 신호(HVAL)가, 예를 들어 논리 하이 레벨로, 활성화되는 동안 페이로드 포인터(PPT)를 순차적으로 증가시킬 수 있다. 예를 들어, 페이로드 포인터(PPT)는 가장 선순위의 저장 위치(P1)를 제외하고 그 다음 순위의 저장 위치(P2)를 나타내도록 초기화될 수 있다. 이후 전송 유효 신호(HVAL)가 활성화되는 동안 페이로드 포인터(PPT)는 P2에서 P3, P3에서 P4와 같이 순차적으로 증가할 수 있다.
제2 카운터(452)는 패킷 종료 신호(HEOP)가, 예를 들어 논리 하이 레벨로, 활성화될 때 헤더 포인터(HPT)를 버퍼(300)에 현재 입력되는 페이로드 데이터의 사이즈에 1을 더한 값만큼 증가시킬 수 있다. 예를 들어, 시구간T5에서 버퍼(300)에 현재 입력되는 제1 페이로드 데이터(D1~D4)의 사이즈는 4이므로 헤더 포인터(HPT)는 P1에서 5만큼 증가하여 P6이 된다. 시구간 T9에서는 버퍼(300)에 현재 입력되는 제2 페이로드 데이터(D5~D7)의 사이즈는 3이므로 헤더 포인터(HPT)는 P6에서 3만큼 증가하여 P9가 된다.
포인터 선택부(453)는 포인터 선택 신호(LSW)에 응답하여 페이로드 포인터(PPT) 및 헤더 포인터(HPT) 중 하나를 선택하여 기입 포인터(WPT)를 발생한다. 예를 들어, 포인터 선택부(453)는 포인터 선택 신호(LSW)가 논리 로우 레벨로 비활성화된 경우에는 페이로드 포인터(PPT)를 기입 포인터(WPT)로서 선택하고, 포인터선택 신호(LSW)가 논리 하이 레벨로 활성화된 경우에는 헤더 포인터(HPT)를 기입 포인터(WPT)로서 선택할 수 있다. 포인터 선택 신호(LSW)는 패킷 종료 신호(HEOP)에 동기하여 발생될 수도 있고, 패킷 종료 신호(HEOP)가 그대로 포인터 선택 신호(LSW)로서 이용될 수도 있다.
결과적으로, 하위 계층 제어부(400)에 포함되는 기입 포인터 발생부(450)는, 버퍼(300)에 먼저 입력되는 페이로드 데이터(예를 들어, 제1 페이로드 데이터 (D1~D4))가 버퍼(300)의 후순위의 저장 위치(예를 들어, P2~P5)에 저장되고 상기 페이로드 데이터의 뒤에 입력되는 헤더(예를 들어, 제1 헤더(H1))가 버퍼(300)의 선순위의 저장 위치(예를 들어, P1)에 저장되어 상기 페이로드 데이터 및 상기 헤더의 저장 순서가 재배열되도록 기입 포인터(WPT)를 제어할 수 있다.
도 9, 10, 11 및 12는 본 발명의 실시예들에 따른 패킷 송신기의 저장 순서의 재배열을 설명하기 위한 도면들이다.
도 9, 10, 11 및 12는 시간에 대해 순차적으로 변화하는 버퍼의 저장 상태들(321, 322, 323, 324)을 각각 나타낸다.
도 9를 참조하면, 먼저 제1 페이로드 데이터(PYL1)에 상응하는 단위 데이터들(D1~D4)이 상대적으로 후순위의 저장 위치(P2~P5)에 저장된다. 상대적으로 선순위의 저장 위치(P1)는 뒤에 입력되는 제1 헤더(H1)를 위하여 비축된다(reserved).
도 10을 참조하면, 제1 페이로드 데이터(PYL1) 뒤에 입력된 제1 헤더(H1)는 상대적으로 선순위의 저장 위치(P1)에 저장된다. 결과적으로 제1 패킷에 상응하는 제1 헤더(H1) 및 제1 페이로드 데이터(PYL1)의 단위 데이터들(D1~D4)이 재배열되어 선순위의 저장 위치(P1)부터 후순위의 저장 위치(P5)까지 순차적으로 저장된다.
도 11을 참조하면, 먼저 제2 페이로드 데이터(PYL2)에 상응하는 단위 데이터들(D5~D7)이 상대적으로 후순위의 저장 위치(P7~P9)에 저장된다. 상대적으로 선순위의 저장 위치(P6)는 뒤에 입력되는 제2 헤더(H2)를 위하여 비축된다(reserved).
도 12를 참조하면, 제2 페이로드 데이터(PYL2) 뒤에 입력된 제2 헤더(H2)는 상대적으로 선순위의 저장 위치(P6)에 저장된다. 결과적으로 제2 패킷(PCK2)에 상응하는 제2 헤더(H2) 및 제2 페이로드 데이터(PYL2)의 단위 데이터들(D5~D7)이 재배열되어 선순위의 저장 위치(P6)부터 후순위의 저장 위치(P9)까지 순차적으로 저장된다.
이와 같이 재배열된 저장 순서에 따라서, 리드 포인터(RPT)를 P1부터 순차적으로 증가시킴으로써, 각각의 패킷에 대하여 헤더를 먼저 출력하고 페이로드 데이터를 뒤에 출력할 수 있다.
도 13 및 14는 각각의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 독립적으로 수행하는 패킷 송신기의 구성 및 동작을 나타내는 도면들이다.
도 13을 참조하면, 일반적인 패킷 송신기(20)는 상위 계층 송신부(HTX) 및 하위 계층 송신부(LTX)를 포함한다. 상위 계층 송신부(HTX)는 가변 길이의 메시지(VLM)를 복수의 세그먼트들로 분할하기 위한 분할용 버퍼(SBUFF)를 포함하여 분할된 페이로드 데이터(SPYL) 및 헤더(HDR)를 출력한다. 하위 계층 송신부(LTX)는 전송 오류의 경우에 패킷, 즉 페이로드 데이터(SPYL) 및 헤더(HDR)를 재전송하기 위한 재전송용 버퍼(RBUFF)를 포함한다.
도 14를 참조하면, 애플리케이션 계층 데이터 신호(ADT)에 포함되는 가변 길이의 메시지들(MSG1, MSG2)은 하나 이상의 세그먼트들로 분할된다.
예를 들어, 제1 메시지(MSG1)는 최대 사이즈(MXS)를 갖는 하나의 세그먼트(SGM1)와 최대 사이즈(MXS)보다 작은 잔여 사이즈(RTS)를 갖는 하나의 세그먼트(SGM2)로 분할될 수 있다. 제2 메시지(MSG2)는 최대 사이즈(MXS)를 갖는 적어도 2개의 세그먼트들(SGM3, SGM4)을 포함하도록 분할될 수 있다. 각각의 세그먼트(SGMi)는 각각의 분할된 페이로드 데이터(SPYLi)에 상응한다.
가변 길이의 메시지들(MSG1, MSG2)의 각각은 분할용 버퍼(SBUFF)에 일단 저장되고, 상위 계층 송신부(HTX)는 저장된 데이터를 이용하여 가변 길이의 메시지들(MSG1, MSG2)을 세그먼트들로 분할한다. 각각의 패킷에 대하여 헤더가 발생되면 헤더 및 페이로드 데이터의 순서로 상위 계층 데이터(HDT)를 통하여 제공된다. 생성된 패킷들은 하위 계층 송신부(LTX)의 재전송용 버퍼(RBUFF)에 다시 저장되고, 하위 계층 데이터 신호(LDT)로서 출력된다.
이와 같이 각각의 버퍼들(SBUFF, RBUFF)을 이용하여 데이터의 분할 및 재전송을 독립적으로 수행함으로써 일반적인 패킷 송신기(20)는 상대적으로 큰 레이턴시(LAT1)를 갖는다.
도 15 및 16은 본 발명의 실시예들에 따라서 하나의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 함께 수행하는 패킷 송신기의 구성 및 동작을 나타내는 도면들이다.
도 15를 참조하면, 본 발명의 실시예들에 따른 패킷 송신기(20)는 상위 계층 송신부(HTX) 및 하위 계층 송신부(LTX)를 포함한다. 상위 계층 송신부(HTX)는 전술한 분할용 버퍼(SBUFF)를 포함하지 않고, 가변 길이의 메시지(VLM)를 그대로 바이패스하여, 바이패스된 페이로드 데이터(BPYL) 및 헤더(HDR)를 출력한다. 하위 계층 송신부(LTX)는 바이패스된 페이로드 데이터(BPYL) 및 전송 오류의 경우에 패킷의 재전송을 함께 수행하기 위한 버퍼 (BUFF)를 포함한다.
도 16을 참조하면, 애플리케이션 계층 데이터 신호(ADT)에 포함되는 가변 길이의 메시지들(MSG1, MSG2)은 하나 이상의 세그먼트들로 분할된다.
예를 들어, 제1 메시지(MSG1)는 최대 사이즈(MXS)를 갖는 하나의 세그먼트(SGM1)와 최대 사이즈(MXS)보다 작은 잔여 사이즈(RTS)를 갖는 하나의 세그먼트(SGM2)로 분할될 수 있다. 제2 메시지(MSG2)는 최대 사이즈(MXS)를 갖는 적어도 2개의 세그먼트들(SGM3, SGM4)을 포함하도록 분할될 수 있다. 각각의 세그먼트(SGMi)는 각각의 분할된 페이로드 데이터(SPYLi)에 상응한다.
상위 계층 송신부(HTX)는 가변 길이의 메시지들(MSG1, MSG2)의 버퍼링하지 않고 그대로 바이패스한다. 상위 계층 데이터(HDT)를 통하여, 각각의 패킷에 대하여 헤더가 발생되기 전에 바이패스된 페이로드 데이터(BPYLi)가 먼저 제공되고, 이후 헤더(Hi)가 제공된다. 바이패스된 페이로드 데이터(BPYLi)와 헤더(Hi)는 재배열되어 하위 계층 송신부(LTX)의 버퍼(BUFF)에 저장되고, 하위 계층 데이터 신호(LDT)로서 출력된다.
이와 같이 하나의 버퍼(BUFF)를 이용하여 데이터의 분할 및 재전송을 통합적으로 수행함으로써 본 발명의 실시예들에 따른 패킷 송신기(30)는 상대적으로 작은 레이턴시(LAT2)를 갖는다.
도 17은 본 발명의 실시예들에 따른 패킷 송신기의 점유 면적의 감소를 설명하기 위한 도면이다.
도 17을 참조하면, 예시적인 설계에 따라서 분할용 버퍼(SBUFF)를 포함하는 경우에는 패킷 송신기의 게이트 카운트가 약 40만이 되고, 분할용 버퍼(SBUFF)를 포함하지 않는 경우에는 패킷 송신기의 게이트 카운트가 약 34만이 된다. 게이트카운트는 공정 스케일에 따른 집적 회로의 단위 면적을 나타낸다.
감소되는 분할용 버퍼의 게이트 카운트가 약 6만인 반면에, 증가되는 기입 포인터 발생부의 게이트 카운트는 약 100에 불과하고, 다른 구성들의 게이트 카운트의 변화가 거의 없다. 이와 같이, 분할용 버퍼를 제거함으로써, 패킷 송신기 및 이를 포함하는 장치와 시스템의 점유 면적을 현저히 감소할 수 있다.
도 18은 본 발명의 실시예들에 따른 인터페이스 장치를 나타내는 블록도이다.
도 18을 참조하면, 인터페이스 장치(600)는 패킷 송신기(10), 패킷 수신기(50), 애플리케이션 계층부(ALB, application layer block)(60) 및 물리적 계층부(PLB, physical layer block)(70)를 포함할 수 있다.
물리적 계층부(70)는 패킷 송신기(10) 및 패킷 수신기(50)보다 더 하위의 계층에 해당하고, 애플리케이션 계층부(60)는 패킷 송신기(10) 및 패킷 수신기(50)보다 더 상위의 계층에 해당한다. 물리적 계층부(70)는 링크를 통하여 다른 장치, 모듈, 시스템 등에 연결될 수 있다.
패킷 송신기(10)는 애플리케이션 계층부(60)로부터 수신된 송신 메시지를 패킷화하여 물리적 계층부(70)를 통하여 송신한다. 패킷 수신기(20)는 물리적 계층부(70)를 통하여 수신된 패킷을 분해(decompose)하여 수신 메시지를 애플리케이션 계층부(60)에 제공한다.
패킷 송신기(10)는 페이로드 데이터와 헤더를 합성(compose)하여 송신 메시지를 패킷으로 변환하고, 상기 패킷을 링크를 통하여 송신하기 위한 상위 계층 송신부(HTX)(11) 및 하위 계층 송신부(LTX)(12)를 포함한다. 패킷 수신기(50)는 링크를 통하여 수신된 패킷을 헤더 및 페이로드로 분해하여 수신 메시지를 복원하기 위한 상위 계층 수신부(HRX)(51) 및 하위 계층 수신부(LRX)(52)를 포함한다.
전술한 바와 같이, 상위 계층 송신부(11)는 상기 송신 메시지를 포함하는 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력한다. 하위 계층 송신부(12)는 상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력한다.
일 실시예에서, 패킷 송신기(10)는 미피 유니프로(MIPI UniPro) 프로토콜에 부합할 수 있다. 또한 패킷 수신기(50)도 미피 유니프로(MIPI UniPro) 프로토콜에 부합할 수 있다.
전술한 바와 같이, 하위 계층 송신부(12)는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열함으로써 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력할 수 있다.
또한, 전술한 바와 같이, 상위 계층 송신부(11)는 상기 애플리케이션 계층 데이터 신호에 포함된 송신 메시지를 분할하기 위한 버퍼를 포함하지 않고, 하위 계층 송신부(12)는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열하여 상기 송신 메시지의 분할 및 패킷의 재전송을 수행하는 버퍼를 포함할 수 있다.
이와 같이, 본 발명의 실시예들에 따른 패킷 송신기(10) 및 이를 포함하는 인터페이스 장치(600)는 데이터의 분할을 위한 버퍼를 포함하지 않고 데이터의 재전송을 위한 하나의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 함께 수행함으로써 점유 면적을 감소할 수 있다. 또한, 본 발명의 실시예들에 따른 패킷 송신기(10) 및 이를 포함하는 인터페이스 장치(600)는 헤더와 페이로드 데이터의 저장 순서를 재배열하여 출력함으로써 패킷 발생의 레이턴시를 감소할 수 있다.
도 19는 본 발명의 실시예들에 따른 패킷 송신기를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 19를 참조하면, 컴퓨팅 시스템(1000)은 프로세서(1010), 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040), 파워 서플라이(1050) 및 이미지 센서(900)를 포함할 수 있다. 한편, 도 19에는 도시되지 않았지만, 컴퓨팅 시스템(1000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
프로세서(1010)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(1010)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(1010)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(1020), 저장 장치(1030), 촬영 장치(900) 및 입출력 장치(1040)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(1010)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다. 메모리 장치(1020)는 컴퓨팅 시스템(1000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리장치(1020)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 저장 장치(1030)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(1040)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(1050)는 전자 기기(1000)의 동작에 필요한 동작 전압을 공급할 수 있다.
컴퓨팅 시스템(1000)은 다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 컴퓨팅 시스템(1000)의 적어도 일부의 구성들은PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 컴퓨팅 시스템(1000)은 본 발명의 실시예들에 따른 동작 인식 방법을 수행하는 모든 컴퓨팅 시스템으로 해석되어야 할 것이다. 예를 들어, 컴퓨팅시스템(1000)은 디지털 카메라, 이동 전화기, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 스마트폰 등을 포함할 수 있다.
프로세서(1010), 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040), 및 이미지 센서(900) 중 적어도 하나는 본 발명의 실시예들에 따른 패킷 송신기를 포함할 수 있고, 전술한 바와 같이 상기 패킷 송신기는 상위 계층 송신부 및 하위 계층 송신부를 포함할 수 있다. 상기 상위 계층 송신부는 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력한다. 상기 하위 계층 송신부는 상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력한다.
전술한 바와 같이, 본 발명의 실시예들에 따른 패킷 송신기 및 이를 포함하는 컴퓨팅 시스템(1000)는 데이터의 분할을 위한 버퍼를 포함하지 않고 데이터의 재전송을 위한 하나의 버퍼를 이용하여 데이터의 분할 및 데이터의 재전송을 함께 수행함으로써 점유 면적을 감소할 수 있다. 또한, 본 발명의 실시예들에 따른 패킷 송신기 및 이를 포함하는 컴퓨팅 시스템(1000)은 헤더와 페이로드 데이터의 저장 순서를 재배열하여 출력함으로써 패킷 발생의 레이턴시를 감소할 수 있다.
도 20은 도 19의 컴퓨팅 시스템에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 20을 참조하면, 컴퓨팅 시스템(1100)은 MIPI 인터페이스를 사용 또는 지원할 수 있는 데이터 처리 장치로 구현될 수 있고, 어플리케이션 프로세서(1110), 이미지 센서(1140) 및 디스플레이(1150) 등을 포함할 수 있다. 어플리케이션 프로세서(1110)의 CSI 호스트(1112)는 카메라 시리얼 인터페이스(Camera Serial Interface; CSI)를 통하여 이미지 센서(1140)의 CSI 장치(1141)와 시리얼 통신을 수행할 수 있다. 일 실시예에서, CSI 호스트(1112)는 디시리얼라이저(DES)를 포함할 수 있고, CSI 장치(1141)는 시리얼라이저(SER)를 포함할 수 있다. 어플리케이션 프로세서(1110)의 DSI 호스트(1111)는 디스플레이 시리얼 인터페이스(Display Serial Interface; DSI)를 통하여 디스플레이(1150)의DSI 장치(1151)와 시리얼 통신을 수행할 수 있다.
일 실시예에서, DSI 호스트(1111)는 시리얼라이저(SER)를 포함할 수 있고, DSI 장치(1151)는 디시리얼라이저(DES)를 포함할 수 있다. 나아가, 컴퓨팅 시스템(1100)은 어플리케이션 프로세서(1110)와 통신을 수행할 수 있는 알에프(Radio Frequency; RF) 칩(1160)을 더 포함할 수 있다. 컴퓨팅 시스템(1100)의PHY(1113)와 RF 칩(1160)의 PHY(1161)는 MIPI(Mobile Industry Processor Interface) DigRF에 따라 데이터 송수신을 수행할 수 있다. 또한, 어플리케이션 프로세서(1110)는 PHY(1161)의 MIPI DigRF에 따른 데이터 송수신을 제어하는 DigRF MASTER(1114)를 더 포함할 수 있다.
한편, 컴퓨팅 시스템(1100)은 지피에스(Global Positioning System; GPS)(1120), 스토리지(1170), 마이크(1180), 디램(Dynamic Random Access Memory; DRAM)(1185) 및 스피커(1190)를 포함할 수 있다. 또한, 컴퓨팅 시스템(1100)은 초광대역(Ultra WideBand; UWB)(1210), 무선 랜(Wireless Local Area Network; WLAN)(1220) 및 와이맥스(Worldwide Interoperability for Microwave Access; WIMAX)(1230) 등을 이용하여 통신을 수행할 수 있다. 다만, 컴퓨팅 시스템(1100)의 구조 및 인터페이스는 하나의 예시로서 이에 한정되는 것이 아니다.
본 발명의 실시예들에 따른 패킷 송신기는 패킷 네트워크가 적용된 임의의 장치 및 시스템에 유용하게 적용될 수 있다. 특히 본 발명의 실시예들에 따른 패킷 송신기는 고속 동작이 요구되고 전력 감소가 요구되는 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 기기에 더욱 유용하게 이용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
10: 패킷 송신기
11: 상위 계층 송신부
12: 하위 계층 송신부
WPT: 기입 포인터
RPT: 독출 포인터
PPT: 페이로드 포인터
HPT: 헤더 포인터

Claims (10)

  1. 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력하는 상위 계층 송신부 및
    상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력하는 하위 계층 송신부를 포함하며,
    상기 하위 계층 송신부는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열함으로써 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력하는 패킷 송신기.
  2. 제1 항에 있어서,
    상기 상위 계층 송신부는 상기 애플리케이션 계층 데이터 신호에 포함된 송신 메시지를 버퍼링하지 않고 바이패싱하여 상기 페이로드 데이터로서 출력하는 것을 특징으로 하는 패킷 송신기.
  3. 삭제
  4. 제1 항에 있어서, 상기 상위 계층 송신부는,
    상기 애플리케이션 계층 제어 신호에 기초하여 상기 상위 계층 제어 신호, 헤더 신호 및 출력 선택 신호를 발생하는 상위 계층 제어부; 및
    상기 출력 선택 신호에 응답하여 상기 헤더 신호에 포함되는 상기 헤더 및 상기 애플리케이션 계층 데이터 신호에 포함되는 상기 페이로드 데이터 중 하나를 선택적으로 출력하여 상기 상위 계층 데이터 신호를 발생하는 출력 선택부를 포함하는 것을 특징으로 하는 패킷 송신기.
  5. 제4 항에 있어서, 상기 상위 계층 제어부는,
    하나의 패킷에 포함될 수 있는 페이로드 데이터의 최대 사이즈 및 상기 애플리케이션 계층 제어 신호에 포함되는 메시지 종료 신호에 기초하여 상기 출력 선택 신호의 천이 타이밍 및 상기 헤더의 발생 타이밍을 결정하는 것을 특징으로 하는 패킷 송신기.
  6. 제1 항에 있어서, 상기 하위 계층 송신부는,
    상기 상위 계층 제어 신호에 기초하여 기입 제어 신호 및 독출 제어 신호를 발생하는 하위 계층 제어부 및
    상기 기입 제어 신호 및 상기 독출 제어 신호에 응답하여 상기 상위 계층 송신부로부터 상기 상위 계층 데이터 신호를 통하여 제공되는 상기 페이로드 데이터 및 상기 헤더를 저장하고 상기 하위 계층 데이터 신호를 발생하는 버퍼를 포함하는 것을 특징으로 하는 패킷 송신기.
  7. 제6 항에 있어서,
    상기 버퍼는 상기 기입 제어 신호에 포함되는 기입 포인터에 응답하여 상기 페이로드 데이터 및 상기 헤더의 저장 순서를 재배열하고,
    상기 버퍼는 상기 독출 제어 신호에 포함되는 독출 포인터에 응답하여 상기 페이로드 데이터 및 상기 헤더를 재배열된 저장 순서에 따라 순차적으로 출력함으로써 상기 하위 계층 데이터 신호를 발생하는 것을 특징으로 하는 패킷 송신기.
  8. 제6 항에 있어서,
    상기 하위 계층 제어부는, 상기 버퍼에 먼저 입력되는 상기 페이로드 데이터가 상기 버퍼의 후순위의 저장 위치에 저장되고 상기 페이로드 데이터의 뒤에 입력되는 상기 헤더가 상기 버퍼의 선순위의 저장 위치에 저장되어 상기 페이로드 데이터 및 상기 헤더의 저장 순서가 재배열되도록 상기 기입 제어 신호에 포함되는 기입 포인터를 제어하고,
    상기 하위 계층 제어부는, 상기 페이로드 데이터 및 상기 헤더가 재배열된 저장 순서에 따라 순차적으로 출력되도록 상기 독출 제어 신호에 포함되는 독출 포인터를 저장 위치의 순위에 따라서 순차적으로 증가시키는 것을 특징으로 하는 패킷 송신기.
  9. 제6 항에 있어서, 상기 하위 계층 제어부는,
    상기 상위 계층 제어 신호에 포함되는 전송 유효 신호에 응답하여 상기 버퍼에 입력되는 상기 페이로드 데이터의 저장 위치를 나타내는 페이로드 포인터를 발생하는 제1 카운터
    상기 버퍼에 현재 입력되는 페이로드 데이터의 사이즈를 나타내는 길이 신호 및 상기 상위 계층 제어 신호에 포함되는 패킷 종료 신호에 응답하여 상기 버퍼에 입력되는 상기 헤더의 저장 위치를 나타내는 헤더 포인터를 발생하는 제2 카운터 및
    포인터 선택 신호에 응답하여 상기 페이로드 포인터 및 상기 헤더 포인터 중 하나를 선택하여 상기 버퍼에 입력되는 상기 페이로드 데이터 및 상기 헤더 중 하나의 저장 위치를 나타내는 기입 포인터를 발생하는 포인터 선택부를 포함하는 것을 특징으로 하는 패킷 송신기.
  10. 물리적 계층부
    애플리케이션 계층부
    상기 애플리케이션 계층부로부터 수신된 송신 메시지를 패킷화하여 상기 물리적 계층부를 통하여 송신하는 패킷 송신기 및
    상기 물리적 계층부를 통하여 수신된 패킷을 분해하여 수신 메시지를 상기 애플리케이션 계층부에 제공하는 패킷 수신기를 포함하고,
    상기 패킷 송신기는,
    상기 송신 메시지를 포함하는 애플리케이션 계층 데이터 신호 및 애플리케이션 계층 제어 신호에 기초하여 각각의 패킷에 대한 페이로드 데이터 및 헤더를 포함하는 상위 계층 데이터 신호를 발생하고, 상기 상위 계층 데이터 신호를 통하여 상기 페이로드 데이터를 먼저 출력하고 상기 헤더를 상기 페이로드 데이터의 뒤에 출력하는 상위 계층 송신부 및
    상기 상위 계층 데이터 신호 및 상위 계층 제어 신호에 기초하여 상기 각각의 패킷에 대한 상기 페이로드 데이터 및 상기 헤더를 포함하는 하위 계층 데이터 신호를 발생하고, 상기 하위 계층 데이터 신호를 통하여 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력하는 하위 계층 송신부를 포함하며,
    상기 하위 계층 송신부는 상기 상위 계층 송신부로부터 수신되는 상기 페이로드 데이터와 상기 헤더의 저장 순서를 재배열함으로써 상기 헤더를 먼저 출력하고 상기 페이로드 데이터를 상기 헤더의 뒤에 출력하는 인터페이스 장치.
KR1020140101121A 2014-08-06 2014-08-06 패킷 송신기 및 이를 포함하는 인터페이스 장치 KR102195069B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140101121A KR102195069B1 (ko) 2014-08-06 2014-08-06 패킷 송신기 및 이를 포함하는 인터페이스 장치
US14/714,499 US10075566B2 (en) 2014-08-06 2015-05-18 Packet transmitter, interface device and computing system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140101121A KR102195069B1 (ko) 2014-08-06 2014-08-06 패킷 송신기 및 이를 포함하는 인터페이스 장치

Publications (2)

Publication Number Publication Date
KR20160017494A KR20160017494A (ko) 2016-02-16
KR102195069B1 true KR102195069B1 (ko) 2020-12-24

Family

ID=55268248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140101121A KR102195069B1 (ko) 2014-08-06 2014-08-06 패킷 송신기 및 이를 포함하는 인터페이스 장치

Country Status (2)

Country Link
US (1) US10075566B2 (ko)
KR (1) KR102195069B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205142A1 (zh) * 2017-05-09 2018-11-15 深圳市炜光科技有限公司 视频分段传输协议方法及系统
JP7050059B2 (ja) * 2017-06-09 2022-04-07 ソニーセミコンダクタソリューションズ株式会社 送信装置、受信装置、制御方法、プログラム、および送受信システム
CN110647071B (zh) * 2019-09-05 2021-08-27 华为技术有限公司 一种控制数据传输的方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039833A1 (en) * 1998-07-15 2004-02-26 Telefonaktiebolaget Lm Ericsson (Publ) Communication device and method
US20060256875A1 (en) * 2002-07-10 2006-11-16 Mcclellan Brett A Communication system and encoding method having low overhead
US20070097978A1 (en) * 2005-10-31 2007-05-03 Nec Electronics Corporation Stream data processor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667323A (en) * 1985-09-03 1987-05-19 Allen-Bradley Company, Inc. Industrialized token passing network
US6246683B1 (en) * 1998-05-01 2001-06-12 3Com Corporation Receive processing with network protocol bypass
KR100333705B1 (ko) 1999-12-30 2002-04-22 박종섭 데이터 전송 순서 변환 코딩 장치 및 그 방법
US6735647B2 (en) 2002-09-05 2004-05-11 International Business Machines Corporation Data reordering mechanism for high performance networks
KR20050114567A (ko) 2004-06-01 2005-12-06 삼성전자주식회사 광대역 무선 통신 시스템에서 데이터 전송 방법 및 장치와데이터 수신 방법 및 장치
WO2007098676A1 (fr) 2006-03-03 2007-09-07 Huawei Technologies Co., Ltd. Procédé de réassemblage de données dans un système de communication sans fil et appareil associé
KR100847168B1 (ko) 2006-12-01 2008-07-17 엘지노텔 주식회사 Udp/rtp를 사용하는 망에서의 지터 처리를 위한 패킷 순서 재배열 장치 및 방법
JP5162939B2 (ja) 2007-03-30 2013-03-13 ソニー株式会社 情報処理装置および方法、並びにプログラム
MY156866A (en) 2007-09-28 2016-04-15 Interdigital Patent Holdings Method and apparatus for enhanced transport format combination selection in wireless communications
KR101236903B1 (ko) 2008-07-30 2013-03-04 노키아 지멘스 네트웍스 오와이 수동 광 네트워크를 위한 업스트림 효율 개선 방법
US8743985B2 (en) 2009-01-05 2014-06-03 Intel Corporation Method and apparatus using a base codebook structure for beamforming
US8218424B2 (en) 2009-01-05 2012-07-10 Intel Corporation Transmission of system configuration information in mobile networks
US20100232356A1 (en) 2009-03-16 2010-09-16 Qualcomm Incorporated Layer two segmentation techniques for high data rate transmissions
EP2442231A1 (en) 2010-09-29 2012-04-18 STMicroelectronics (Grenoble 2) SAS Reordering arrangement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039833A1 (en) * 1998-07-15 2004-02-26 Telefonaktiebolaget Lm Ericsson (Publ) Communication device and method
US20060256875A1 (en) * 2002-07-10 2006-11-16 Mcclellan Brett A Communication system and encoding method having low overhead
US20070097978A1 (en) * 2005-10-31 2007-05-03 Nec Electronics Corporation Stream data processor

Also Published As

Publication number Publication date
KR20160017494A (ko) 2016-02-16
US10075566B2 (en) 2018-09-11
US20160043840A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
US11081152B2 (en) Dynamic random access memory (DRAM) device, memory controller therefor, and memory system
US11954055B2 (en) Mapping high-speed, point-to-point interface channels to packet virtual channels
US20130294174A1 (en) Memory device for performing multi-core access to bank groups
US11669486B2 (en) Initialization sequencing of chiplet I/O channels within a chiplet system
KR102195069B1 (ko) 패킷 송신기 및 이를 포함하는 인터페이스 장치
US11868300B2 (en) Deferred communications over a synchronous interface
US20230004398A1 (en) Asynchronous pipeline merging using long vector arbitration
CN116583829A (zh) 可编程原子操作符资源锁定
CN114385237B (zh) 用于低时延寄存器错误校正的方法和设备及机器可读介质
CN116636189A (zh) 用于网络装置中的缓冲包的包仲裁
CN116685943A (zh) 可编程原子单元中的自调度线程
US11714655B2 (en) Pipeline merging in a circuit
US20220382557A1 (en) On-demand programmable atomic kernel loading
CN116569156A (zh) 同步接口的有效负载奇偶校验保护
US20230033822A1 (en) Method for configuring multiple input-output channels
CN116569151A (zh) 多通道存储器系统
CN116635824A (zh) 桶式处理器中的线程调度控制及存储器分割
JP5929600B2 (ja) 情報処理システム、情報処理装置、及び電子装置

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