KR100776945B1 - 직렬 데이터 전송 구현을 위한 메모리 유닛 - Google Patents

직렬 데이터 전송 구현을 위한 메모리 유닛 Download PDF

Info

Publication number
KR100776945B1
KR100776945B1 KR1020060094147A KR20060094147A KR100776945B1 KR 100776945 B1 KR100776945 B1 KR 100776945B1 KR 1020060094147 A KR1020060094147 A KR 1020060094147A KR 20060094147 A KR20060094147 A KR 20060094147A KR 100776945 B1 KR100776945 B1 KR 100776945B1
Authority
KR
South Korea
Prior art keywords
data
memory
memory unit
receiving end
transmitting
Prior art date
Application number
KR1020060094147A
Other languages
English (en)
Inventor
현유진
권순
이종훈
정우영
Original Assignee
(재)대구경북과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (재)대구경북과학기술연구원 filed Critical (재)대구경북과학기술연구원
Priority to KR1020060094147A priority Critical patent/KR100776945B1/ko
Application granted granted Critical
Publication of KR100776945B1 publication Critical patent/KR100776945B1/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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은, 송신단과 수신단에 단절 없이 접속된 레인이 형성된 적어도 하나의 물리 계층으로부터 전송 데이터를 수신받아 집결하는 제 1 라우팅 테이블; 상기 제 1 라우팅 테이블을 통하여 집결된 전송 데이터를 분배하고, 상기 전송 데이터의 송수신 상태에 따라 메모리 유닛의 동작 상태를 송신단 또는 수신단으로 스위칭하는 복수의 제 1 멀티플렉서; 상기 제 1 멀티플렉서를 통하여 전송된 전송 데이터를 저장하는 메모리; 상기 메모리와 연결되어, 상기 메모리에 저장된 전송 데이터를 독출하여 집결하고, 상기 전송 데이터의 송수신 상태에 따라 메모리 유닛의 동작 상태를 송신단 또는 수신단으로 스위칭하는 제 2 멀티플렉서; 및 상기 제 2 멀티플렉서를 통하여 전송된 데이터를 집결하여, 송신단과 수신단에 단절 없이 접속된 레인이 형성된 적어도 하나의 물리 계층으로 상기 전송 데이터를 전송하는 제 2 라우팅 테이블을 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공한다.
직렬 인터페이스, 멀티 레인, 메모리 유닛

Description

직렬 데이터 전송 구현을 위한 메모리 유닛{MEMORY UNIT FOR SERIES DATA TRANSPORTATION}
도 1은 종래 직렬 인터페이스를 통하여 연결된 송신단과 수신단을 도시한 도면.
도 2는 종래 송신단에 연결된 레인의 수가 수신단에 연결된 레인의 수보다 많을 경우를 도시한 도면.
도 3은 종래 수신단에 연결된 레인의 수가 송신단에 연결된 레인의 수보다 많을 경우를 도시한 도면.
도 4는 종래 직렬 인터페이스를 통하여 연결된 송신단과 수신단을 도시한 도면.
도 5는 종래 송신단에 연결된 레인의 수와 수신단에 연결된 레인의 수가 다른 경우를 도시한 도면.
도 6은 본 발명의 직렬 인터페이스의 멀티 레인을 지원하는 메모리 유닛의 구조를 도시한 도면.
도 7은 본 발명의 메모리 유닛이 송신단으로 동작할 때를 도시한 도면.
도 8은 본 발명의 메모리 유닛이 수신단으로 동작할 때를 도시한 도면.
도 9는 본 발명의 데이터 전송과정을 송신단에서 바라본 도면.
도 10은 본 발명의 데이터 전송 과정 시 수신단이 지원하는 레인이 2 개인 경우를 송신단에서 바라본 도면.
도 11 본 발명의 데이터 전송 과정 시 수신단이 지원하는 레인이 1 개인 경우를 송신단에서 바라본 도면.
도 12는 본 발명의 데이터 전송과정을 수신단에서 바라본 도면.
<도면의 주요부분에 대한 부호의 설명>
10, 100 : 송신단
12, 22, 120, 220, 620, 720 : 프로토콜 계층
14, 24, 140, 240, 640, 740 : 물리 계층
16, 314, 324 : 멀티플렉서 18, 330 : 메모리
20, 600 : 수신단 30, 400 : 레인
32, 500 : 데이터 300 : 메모리 유닛
310 : 라이트 파트 312, 322 : 라우팅 테이블
316, 326 : 버퍼 318, 328 : 컨트롤 유닛
320 : 리드 파트
본 발명은 송신단과 수신단 사이에 연결된 레인의 수에 구애받지 않고 데이 터 전송 장치간 직렬 데이터 전송을 제공하는 메모리 유닛에 관한 것이다.
종래 모바일 단말기나 컴퓨터 시스템에서 일반적으로 사용하는 데이터 전송 인터페이스는 병렬 버스 구조이다. 그러나 CPU, 메모리, 주변장치 등의 성능이 향상되고, 전송되어야 할 데이터의 양이 증가함에 따라 종래의 병렬 구조로는 충분한 량의 데이터를 전송하는데 무리가 따른다. 또한 병렬 버스 구조는 많은 연결선이 존재하여 시스템을 구현함에 있어서 많은 제약이 있다. 이를 해결하기 위하여 점대점 방식의 직렬 인터페이스 구조가 모바일 단말기 및 컴퓨터 시스템에서 제안되고 있다. 이러한 직렬 인터페이스의 경우, 1 개의 레인만이 아니라 2 개, 4 개 등 멀티 레인을 지원하도록 설계되어 전체 데이터 전송 속도를 향상시킨다. 이렇게 멀티 레인으로 직렬 인터페이스를 구현하고자 할 때에는 송신단과 수신단이 지원하는 레인의 개수가 다른 경우에도 원활한 호환이 이루어질 수 있도록 하는 기술 개발이 선행되어야 한다. 이를 위해서는 상기 직렬 인터페이스를 지원할 수 있는 메모리 유닛 구조의 개발이 필요하다.
이하, 도면을 참조하여 종래 인터페이스 버스 구조의 문제점을 설명한다.
도 1은 종래 직렬 인터페이스를 통하여 연결된 송신단과 수신단을 도시한 도면이다.
도 1에 도시된 바와 같이, 직렬 인터페이스를 가지는 송신단(10)과 수신단(20)은 크게 물리 계층(14, 24)과 프로토콜 계층(12, 22)으로 구성되며, 상기 물리 계층(14, 24) 사이는 레인(30)으로 연결된다. 상기 프로토콜 계층(12, 22)은 데이터(32)를 전송하기 위한 프로토콜을 지원하며 레인(30)의 수와 관계없이 하나의 계층으로 이루어진다. 그러나 레인(30)을 통해 데이터(32)를 전송하는 물리 계층(14, 24)은 상기 레인(30)의 개수만큼 그 수가 존재한다. 도 1은 송신단(10)과 수신단(20)이 모두 4 개의 레인(30)을 가지는 버스 구조를 예시한다. 12 바이트의 데이터(32)가 송신단(10)으로부터 수신단(20)으로 전송된다고 가정할 때, 도 1에서 보이는 바와 같이 12 바이트의 데이터(32)는 4 개의 레인(30)별로 나뉘어져 3 바이트씩 전송된다. 상기 송신단(10)과 수신단(20)이 사용가능한 레인(30)을 정하는 과정을 살펴보면, 시스템 초기화 시에 정해진 레인 협상 프로토콜(Lane Negotiation Protocol)을 통하여 사용할 레인(30)을 정하거나, 입력 핀들을 통해 외부에서 사용가능한 레인을 정하기도 한다. 그러나 기본적으로 직렬 인터페이스의 멀티 레인을 통하여 데이터(32)를 전송하기 위해서는 송신단(10)과 수신단(20)의 레인(30)이 서로 연결되어야 한다. 이하, 송신단(10)과 수신단(20)에 연결된 레인(30)의 수가 다를 경우 데이터(32) 전송 과정상 발생할 수 있는 문제점을 보다 상세히 설명한다.
도 2는 종래 송신단에 연결된 레인의 수가 수신단에 연결된 레인의 수보다 많을 경우를 도시한 도면이다.
도 2는 4 개의 레인(30)을 가지는 송신단(10)과 2 개의 레인(30)을 가지는 수신단(20)을 예시한다. 도 2에서와 같이 송신단(10) 레인(30)의 수가 4 개이나 수신단(20) 레인(30)의 수가 2 개에 불과하기 때문에, 2 개의 레인(30)을 통해서만 데이터(32)가 전송될 수 있다. 즉, 동일한 조건이라면 도 1에서 12 바이트의 데이터(32)가 전송되는 동안 도 2에 도시된 시스템을 통해서는 2 개의 레인(30)을 통하여 6 바이트의 데이터(32)만이 전송될 수 있다. 즉, 수신단(20)과 연결되지 않은 송신단(10)의 2 레인(30)은 활용될 수 없으며, 데이터(32) 전송 속도 또한 반으로 감소하게 된다. 더 나아가 4 개의 레인(30)을 가지는 송신단(10)과 1 개의 레인(30)을 가지는 수신단(20)을 예로 들면, 비록 송신단(10)이 4 개의 레인(30)을 가지더라도 수신단(20)과 연결된 레인(30)이 1 개에 불과하여 동 시간 내에 1 개의 레인(30)을 통해 3 바이트의 데이터(32)만을 전송할 수 있다.
이러한 문제점은 송신단(10)과 수신단(20)에 연결된 레인의 수가 반대가 되어도 마찬가지로 발생한다. 이하, 도 3을 참조하여 이를 살펴본다.
도 3은 종래 수신단에 연결된 레인의 수가 송신단에 연결된 레인의 수보다 많을 경우를 도시한 도면이다.
도 3은 2 개의 레인(30)을 가지는 송신단(10)과 4 개의 레인(30)을 가지는 수신단(20)을 예시한다. 도 3에서와 같이 비록 수신단(20)의 레인(30) 수가 4 개이나 송신단(10)의 레인(30) 수가 2 개에 불과하기 때문에, 2 개의 레인(30)을 통해서만 송신단(10)으로부터 수신단(20)으로 데이터(32)가 전송될 수 있다. 위에서 설명한 바와 같이, 동일한 조건이라면 도 1에서 12 바이트의 데이터(32)가 전송되는 동안 도 3의 구조를 통해서는 2 개의 레인(30)을 통하여 6 바이트의 데이터(32)만이 전송될 수 있다. 즉, 수신단(20)과 연결된 2 레인(30)은 활용될 수 없으며, 데이터(32) 전송 속도 또한 반으로 감소하게 된다. 즉, 송신단(10)과 수신단(20)에 연결된 레인(30)의 수가 동일할 경우에만 데이터(32) 전송에 있어 최적의 효율을 나타낼 수 있으므로, 전체적으로 레인(30)의 활용도가 떨어지게 된다.
그나마 상기 예시한 종래 기술은 레인 관리가 적절하게 이루어져 송신단(10) 과 수신단(20)을 연결한 레인(30)을 통하여 데이터(32)가 유실 없이 전송된다고 가정하였으나, 레인 관리가 제대로 이루어지지 않을 경우에는 상기 단절된 레인(30)을 통하여 데이터(32)가 유실될 수 있다. 이하, 종래 직렬 인터페이스를 통하여 연결된 송신단(10)과 수신단(20)을 보다 상세히 도시한 도면을 참조하여 데이터(32) 전송 과정상 발생할 수 있는 문제점에 대하여 기술한다.
도 4는 종래 직렬 인터페이스를 통하여 연결된 송신단과 수신단을 도시한 도면이다.
직렬 인터페이스로 연결된 멀티 레인을 통하여 데이터(32)를 전송하기 위해서는 기본적으로 도 4에 도시된 시스템 구조를 갖추어야 한다. 도 4에 도시된 바와 같이 송신단(10)과 수신단(20)의 물리 계층(14, 24)을 연결하는 레인(30)을 4 개로 예시하였다. 상기 송신단(10) 내부 구조는 프로토콜 계층(12), 상기 프로토콜 계층(12)을 통하여 전송되는 데이터(32)를 분배하는 멀티플렉서(16), 상기 멀티플렉서(16)를 통하여 분배된 데이터(32)를 저장하는 메모리(18), 상기 메모리(18)와 1대1 대응으로 연결된 물리 계층(14)을 포함한다. 상기 메모리(18)는 레인 수만큼 형성되어 물리 계층(14)으로 데이터(32)를 전송하게 된다. 수신단(20)의 내부 구조는 송신단(10)과 연결된 레인(30)으로부터 전송된 데이터(32)를 수신하는 복수의 물리 계층(24)과, 상기 복수의 물리 계층(24)을 하나로 연결하는 프로토콜 계층(22)을 포함한다.
상기 송신단(10)으로부터 수신단(20)으로의 데이터 전송과정을 살펴보면, 상기 프로토콜 계층(12)으로부터 32 비트(4 바이트)의 데이터(32)가 메모리(18)로 전 송되면, 상기 멀티플렉서(16)를 통해 각 레인별로 데이터(32)를 나누어 저장하게 된다. 상기 과정을 통하여 저장된 데이터(32)는 각 레인별 물리 계층(14)으로 전송되고, 상기 물리 계층(14)에 연결된 레인(30)을 통해 수신단(20)의 물리 계층(24)으로 전송된다. 상기 수신단(20)의 물리 계층(24)으로 전송된 데이터(32)는 수신단(20)의 프로토콜 계층(22)으로 전송된다.
이러한 개념적 구조는 간단하지만 아주 중요한 문제점을 가지고 있다. 도 5를 참조하여 이를 설명한다.
도 5는 종래 송신단에 연결된 레인의 수와 수신단에 연결된 레인의 수가 다른 경우를 도시한 도면이다.
도 5는 4 개의 레인(30)을 가지는 송신단(10)과 2 개의 레인(30)을 가지는 수신단(20)을 예시한다. 도 5에서와 같이 비록 송신단(10)의 레인(30)의 수가 4 개이나 수신단(20)의 레인(30) 수가 2 개에 불과하기 때문에, 0 번 데이터와 1 번 데이터만이 수신단(20)으로 전송될 수 있으며 2 번 데이터와 3 번 데이터는 레인(30)을 통하여 전송될 수 없어 유실될 위험성이 있다. 즉, 도 5에서와 같은 종래 메모리 유닛 구조의 경우 송신단(10)과 수신단(20)이 지원하는 레인(30)의 수가 다를 때 데이터(32)의 유실이 발생할 수 있으므로 보다 유연한 메모리 유닛 구조의 개발 요구된다.
상기 문제점을 해결하기 위하여 안출된 본 발명은 송, 수신단에 모두 적용 가능한 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공하는 것을 목적으로 한다. 보다 상세히, 직렬 데이터 전송시 송, 수신단 사이의 레인 수가 동일하지 않은 경우에도 원활한 데이터 전송이 이루어질 수 있도록 하는 메모리 유닛을 제공하는 것을 목적으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명은, 송신단과 수신단에 단절 없이 접속된 레인이 형성된 적어도 하나의 물리 계층으로부터 전송 데이터를 수신받아 집결하는 제 1 라우팅 테이블; 상기 제 1 라우팅 테이블을 통하여 집결된 전송 데이터를 분배하고, 상기 전송 데이터의 송수신 상태에 따라 메모리 유닛의 동작 상태를 송신단 또는 수신단으로 스위칭하는 복수의 제 1 멀티플렉서; 상기 제 1 멀티플렉서를 통하여 전송된 전송 데이터를 저장하는 메모리; 상기 메모리와 연결되어, 상기 메모리에 저장된 전송 데이터를 독출하여 집결하고, 상기 전송 데이터의 송수신 상태에 따라 메모리 유닛의 동작 상태를 송신단 또는 수신단으로 스위칭하는 제 2 멀티플렉서; 및 상기 제 2 멀티플렉서를 통하여 전송된 데이터를 집결하여, 송신단과 수신단에 단절 없이 접속된 레인이 형성된 적어도 하나의 물리 계층으로 상기 전송 데이터를 전송하는 제 2 라우팅 테이블을 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공한다.
또한, 본 발명은 송신단으로 동작하는 메모리 유닛에 있어서, 전송 데이터를 저장하기 위한 메모리; 상기 메모리로부터 상기 전송 데이터를 독출하고, 상기 전 송 데이터를 집결하여 송신단과 수신단을 단절 없이 연결하는 레인이 형성된 적어도 하나의 송신단의 물리 계층으로 전송하는 라우팅 테이블을 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공한다.
또한, 본 발명은 수신단으로 동작하는 메모리 유닛에 있어서, 송신단과 수신단을 단절 없이 연결하는 레인이 형성된 적어도 하나의 수신단의 물리 계층으로부터 전송되는 전송 데이터를 수신하여 집결하는 라우팅 테이블; 상기 라우팅 테이블을 통하여 집결된 전송 데이터를 저장하는 메모리를 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공한다.
바람직하게는, 상기 메모리 유닛은 상기 메모리에 전송 데이터를 저장하거나, 상기 메모리로부터 전송 데이터를 독출할 때 상기 메모리와 멀티플렉서 사이에 개재되어 임시로 상기 전송 데이터를 보관하는 버퍼를 더 포함할 수 있다.
또한, 상기 메모리 유닛은 상기 메모리 유닛은 멀티플렉서의 선택 신호, 상기 메모리에 전송 데이터를 저장하거나 읽을 때 필요한 주소 관리, 라이트 인에이블(Write Enable) 혹은 리드 인에이블(Read Enable) 신호를 발생시키는 컨트롤 유닛을 더 포함할 수 있다.
또한, 상기 메모리 유닛은 송신단 또는 수신단 모두에 적용가능하며, 복수의 물리 계층과 상호 직렬로 연결될 수 있다.
또한, 상기 메모리 유닛은 MIPI(Mobile Industry Processor Interface) 표준화 단체의 CSI-2(Camera Serial Interface) 스펙에 응용가능하며, 모바일 단말기에 적용가능하다.
상기 구성을 통한 본 발명은 송, 수신단에 모두 적용 가능한 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공한다. 상기 메모리 유닛은 직렬 데이터 전송시 송, 수신단 사이의 레인 수가 동일하지 않은 경우에도 원활한 데이터 전송이 이루어질 수 있도록 하는 직렬 인터페이스를 제공한다. 향후 상기 메모리 유닛은 직렬 인터페이스를 가지는 칩셋 설계시 유용한 구조로 사용될 수 있다.
본 발명과 본 발명의 동작성의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 6은 본 발명의 직렬 인터페이스의 멀티 레인을 지원하는 메모리 유닛의 구조를 도시한 도면이다.
도 6을 참조하면, 상기 메모리 유닛(300)은 크게 데이터(도 9의 도면부호 500 참조)를 저장하기 위한 메모리(330), 상기 메모리(330)에 데이터(500)를 저장하거나, 또는 상기 메모리(330)로부터 데이터(500)를 독출할 때 임시로 데이터(500)를 보관하기 위한 버퍼(316, 326), 송신단(도 9의 도면부호 100 참조) 또는 수신단(도 9의 도면부호 600 참조)에서 연결되는 레인(도 9의 도면부호 400 참조) 의 수에 구애받지 않고 데이터(500)를 원활하게 송수신하기 위해 물리 계층(140, 240)과 상기 메모리(330)를 연결하는 라우팅 테이블(312, 322)과, 상기 메모리 유닛(300)이 송신단(100)과 수신단(600)으로 모두 동작될 수 있도록 스위칭 기능을 담당하는 멀티플렉서(314, 324)와, 상기 멀티플렉서(314, 324)의 선택 신호, 메모리(330)에 데이터(500)를 저장하거나 읽을 때 필요한 주소 관리, 그리고 라이트 인에이블(Write Enable) 혹은 리드 인에이블(Read Enable)을 발생시키는 컨트롤 유닛(318, 328)을 포함한다.
상기 메모리 유닛(300)은 송신단(100)과 수신단(600)이 지원하는 레인(400)의 개수와 상관없이 직렬 인터페이스의 멀티 레인을 지원하며, 송신단(100)과 수신단(600)을 가리지 않고 범용적으로 사용될 수 있다.
송신단(100)으로 사용될 경우에는 도 7에 도시된 바와 같이 프로토콜 계층(120)으로부터 입력된 데이터(500)를 라이트 파트(Write Part;310)에 형성된 복수의 멀티플렉서(314)를 통하여 분배하고, 각 멀티플렉서(314)에 대응되는 버퍼(316)를 통하여 임시 저장한다. 상기 임시 저장된 데이터(500)는 컨트롤 유닛(318)의 제어에 따라 메모리(330)에 저장되고 저장된 데이터(500)는 리드 파트(Read Part;320)로 전달된다. 상기 리드 파트(320)로 전달된 데이터(500)는 버퍼(326)에 임시 저장되었다가 대응되는 멀티플렉서(324)를 통하여 라우팅 테이블(322)로 전송된다. 상기 라우팅 테이블(322)은 상기 복수의 멀티플렉서(324)를 통하여 전달되는 데이터(500)를 하나로 모아 송신단(100)의 물리 계층(240)으로 전달하게 된다.
역으로 상기 메모리 유닛(300)이 수신단(600)으로 사용될 경우에는 도 8에 도시된 바와 같이 수신단(600)의 물리 계층(140)을 통하여 데이터(500)를 수신하고 상기 수신된 데이터(500)를 라이트 파트(310)의 라우팅 테이블(312)을 통하여 멀티플렉서(314)로 전달하게 된다. 상기 데이터(500)를 전달받은 멀티플렉서(314)는 데이터(500)를 버퍼(316)에 임시 저장하고, 상기 데이터(500)를 임시 저장한 버퍼(316)는 컨트롤 유닛(318)의 제어신호에 따라 상기 데이터(500)를 메모리(330)에 저장하게 된다. 상기 메모리(330)에 저장된 데이터(500)는 리드 파트(320)의 컨트롤 유닛(328)에 제어신호에 따라 버퍼(326)로 전달되고 상기 버퍼(326)에 임시 저장된다. 상기 버퍼(326)에 임시 저장된 데이터(500)는 상기 버퍼(326)와 대응되는 멀티플렉서(324)를 통하여 수신단(600)의 프로토콜 계층(220)으로 전달된다.
본 발명의 메모리 유닛(300)을 사용하는 경우 송신단(100)으로부터 수신단(600)으로 데이터(500)를 전송할 때 송, 수신단(100, 600)과 연결된 레인(400)의 개수에 구애받지 않고 하나의 메모리(330)를 이용하여 데이터(500)를 송수신할 수 있으므로 메모리(330)의 관리가 용이하고 공간을 줄일 수 있는 장점이 있다.
도 9는 본 발명의 데이터 전송과정을 송신단에서 바라본 도면이다.
도 9는 본 발명의 일 실시예로 송신단(100)의 프로토콜 계층(120)에서 32 비트(4 바이트)의 데이터(500)를 수신단(600)으로 전송하고자 할 때를 예시한다. 먼저 송신단(100)의 프로토콜 계층(120)으로부터 32 비트의 데이터(500)를 메모리(330)로 전송하면, 버퍼에 데이터(500)를 임시로 저장하게 된다. 상기 임시 저장 된 32 비트 데이터(500)는 송신하고자 하는 순서에 따라 메모리(330)에 한번에 저장된다. 상기 저장된 데이터(500)는 리드 파트(320)의 버퍼를 통하여 차례로 독출된다. 즉, 상기 메모리(330)는 FIFO(First-In First-Out)와 같은 데이터(500) 저장방식을 따를 수 있다. 상기 메모리(330)로부터 독출된 32 비트 데이터(500)는 예시된 4 개 라인으로 라우팅되어 각 물리 계층(240)을 거쳐 수신단(600)으로 전송된다. 즉, 4 개의 레인(400)을 통하여 각 레인(400)당 8 비트 씩의 데이터(500)를 수신단(600)으로 전송하게 된다. 상기 전송된 데이터를 수신한 수신단(600)은 상기 데이터를 상기 수신단(600)의 물리 계층(640)를 거쳐 프로토콜 계층(620)으로 전송한다.
도 10은 본 발명의 데이터 전송 과정 시 수신단이 지원하는 레인이 2 개인 경우를 송신단에서 바라본 도면이다.
도 10에 도시된 과정 중 프로토콜 계층(120)으로부터 전송된 데이터(500)가 메모리(330)를 거쳐 송신단(100)의 라우팅 테이블(322)로 전송되는 과정은 도 9와 동일하다. 상기 라우팅 테이블(322)로 전송된 데이터(500)는 라우팅 테이블(322)에 의하여 레인(400)이 형성되어 있는 2 개의 물리 계층(240)으로 라우팅되며, 2 개의 레인(400)을 통해 데이터(500)를 수신단(600)으로 전송하게 된다. 32 비트의 데이터(500)를 모두 전송하기 위해서는 각 레인(400) 별로 한 바이트씩 두 번의 전송이 이루어져야 한다. 상기 라우팅을 통하여 데이터(500)의 유실 없이 송신단(100)으로부터 수신단(600)으로 데이터(500)를 전송할 수 있다.
마찬가지 방식으로 도 11을 참조하면, 수신단(600)이 지원하는 레인(400)이 1 개인 경우 라우팅 테이블(322)로 전송된 데이터(500)는 라우팅 테이블(322)에 의하여 레인(400)이 형성되어 있는 1 개의 물리 계층(240)으로 라우팅되며, 1 개의 레인(400)을 통해 데이터(500)를 수신단(600)으로 전송하게 된다. 상기 전송된 데이터를 수신한 수신단(600)은 상기 데이터를 상기 수신단(600)의 물리 계층(640)를 거쳐 프로토콜 계층(620)으로 전송한다. 32 비트의 데이터(500)를 모두 전송하기 위해서는 하나의 레인(400)을 통하여 한 바이트씩 네 번의 전송이 이루어져야 한다.
도 12는 본 발명의 데이터 전송과정을 수신단에서 바라본 도면이다.
도 12는 본 발명의 일 실시예로 송신단(100)의 프로토콜 계층(720)에서 32 비트(4 바이트)의 데이터(500)를 4 개의 레인(400)을 통하여 수신단(600)으로 전송하고자 할 때를 예시한다. 먼저 송신단(100)의 프로토콜 계층(720)으로부터 32 비트의 데이터(500)를 4 개의 물리 계층(740)으로 전송하고 상기 물리 계층(740)은 대응되는 레인(400)을 통하여 1 바이트씩의 데이터(500)를 수신단(600)으로 전송한다. 상기 데이터(500)를 수신한 수신단(600)은 물리 계층(140)으로부터 데이터(500)를 메모리 유닛(300)으로 전송한다. 상기 전송된 데이터(500)는 버퍼에 임시로 저장되고, 상기 임시 저장된 32 비트 데이터(500)는 순차적으로 메모리(330)에 저장된다. 상기 저장된 데이터(500)는 리드 파트(320)의 버퍼를 통하여 차례로 독출되어 상기 수신단(600)의 프로토콜 계층(220)으로 전달된다.
즉, 상기 메모리 유닛(300)이 수신단(600)에 사용될 경우 역시, 도 10 및 도 11에 나타난 경우와 마찬가지로 데이터(500)의 유실 없이 데이터(500) 전송이 가능하다. 보다 상세히, 송신단(100)의 물리 계층(740)으로부터 일부의 레인(400)을 통하여 데이터(500)가 전송되면, 상기 데이터(500)를 수신한 수신단(600)의 일부 물리 계층(140)은 상기 데이터(500)를 라우팅 테이블(312)로 전송한다. 상기 라우팅 테이블(312)로 전송된 데이터(500)는 라우팅되어 버퍼를 통하여 버퍼링된다. 상기 버퍼링된 데이터(500)는 메모리(330)에 저장되었다가 리드 파트(320)의 컨트롤 유닛(328)의 제어신호에 따라 버퍼를 통하여 차례로 독출되어 프로토콜 계층(220)으로 전달된다. 상기 라우팅을 통하여 데이터(500)의 유실 없이 송신단(100)으로부터 수신단(600)으로 데이터(500)를 원활하게 전송할 수 있다.
상기 메모리 유닛(300)은 MIPI(Mobile Industry Processor Interface) 표준화 단체의 CSI-2(Camera Serial Interface) 스펙에 응용가능하며, 모바일 단말기에도 적용 가능하다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상기 구성을 통한 본 발명은 송, 수신단에 모두 적용 가능한 직렬 데이터 전송 구현을 위한 메모리 유닛을 제공한다. 상기 메모리 유닛은 직렬 데이터 전송시 송, 수신단 사이의 레인 수가 동일하지 않은 경우에도 원활한 데이터 전송이 이루어질 수 있도록 하는 직렬 인터페이스를 제공한다. 향후 상기 메모리 유닛은 직렬 인터페이스를 가지는 칩셋 설계시 유용한 구조로 사용될 수 있다.

Claims (9)

  1. 송신단과 수신단에 단절 없이 접속된 레인이 형성된 적어도 하나의 물리 계층으로부터 전송 데이터를 수신받아 집결하는 제 1 라우팅 테이블;
    상기 제 1 라우팅 테이블을 통하여 집결된 전송 데이터를 분배하고, 상기 전송 데이터의 송수신 상태에 따라 메모리 유닛의 동작 상태를 송신단 또는 수신단으로 스위칭하는 복수의 제 1 멀티플렉서;
    상기 제 1 멀티플렉서를 통하여 전송된 전송 데이터를 저장하는 메모리;
    상기 메모리와 연결되어, 상기 메모리에 저장된 전송 데이터를 독출하여 집결하고, 상기 전송 데이터의 송수신 상태에 따라 메모리 유닛의 동작 상태를 송신단 또는 수신단으로 스위칭하는 제 2 멀티플렉서; 및
    상기 제 2 멀티플렉서를 통하여 전송된 데이터를 집결하여, 송신단과 수신단에 단절 없이 접속된 레인이 형성된 적어도 하나의 물리 계층으로 상기 전송 데이터를 전송하는 제 2 라우팅 테이블을 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛.
  2. 송신단으로 동작하는 메모리 유닛에 있어서,
    전송 데이터를 저장하기 위한 메모리;
    상기 메모리로부터 상기 전송 데이터를 독출하고, 상기 전송 데이터를 집결 하여 송신단과 수신단을 단절 없이 연결하는 레인이 형성된 적어도 하나의 송신단의 물리 계층으로 전송하는 라우팅 테이블을 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛.
  3. 수신단으로 동작하는 메모리 유닛에 있어서,
    송신단과 수신단을 단절 없이 연결하는 레인이 형성된 적어도 하나의 수신단의 물리 계층으로부터 전송되는 전송 데이터를 수신하여 집결하는 라우팅 테이블;
    상기 라우팅 테이블을 통하여 집결된 전송 데이터를 저장하는 메모리를 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 메모리 유닛은 상기 메모리에 전송 데이터를 저장하거나, 상기 메모리로부터 전송 데이터를 독출할 때 상기 메모리와 멀티플렉서 사이에 개재되어 임시로 상기 전송 데이터를 보관하는 버퍼를 더 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 메모리 유닛은 멀티플렉서의 선택 신호, 상기 메모리에 전송 데이터를 저장하거나 읽을 때 필요한 주소 관리, 라이트 인에이블(Write Enable) 혹은 리드 인에이블(Read Enable) 신호를 발생시키는 컨트롤 유닛을 더 포함하는 직렬 데이터 전송 구현을 위한 메모리 유닛.
  6. 제 1항에 있어서,
    상기 메모리 유닛은 송신단 또는 수신단 모두에 적용가능한 직렬 데이터 전송 구현을 위한 메모리 유닛.
  7. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 메모리 유닛은 복수의 물리 계층과 상호 직렬로 연결가능한 직렬 데이터 전송 구현을 위한 메모리 유닛.
  8. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 메모리 유닛은 MIPI(Mobile Industry Processor Interface) 표준화 단체의 CSI-2(Camera Serial Interface) 스펙에 응용가능한 직렬 데이터 전송 구현을 위한 메모리 유닛.
  9. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 메모리 유닛은 모바일 단말기에 적용가능한 직렬 데이터 전송 구현을 위한 메모리 유닛.
KR1020060094147A 2006-09-27 2006-09-27 직렬 데이터 전송 구현을 위한 메모리 유닛 KR100776945B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060094147A KR100776945B1 (ko) 2006-09-27 2006-09-27 직렬 데이터 전송 구현을 위한 메모리 유닛

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060094147A KR100776945B1 (ko) 2006-09-27 2006-09-27 직렬 데이터 전송 구현을 위한 메모리 유닛

Publications (1)

Publication Number Publication Date
KR100776945B1 true KR100776945B1 (ko) 2007-11-21

Family

ID=39079889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060094147A KR100776945B1 (ko) 2006-09-27 2006-09-27 직렬 데이터 전송 구현을 위한 메모리 유닛

Country Status (1)

Country Link
KR (1) KR100776945B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180030938A (ko) * 2013-12-26 2018-03-26 인텔 코포레이션 멀티칩 패키지 링크
CN112925684A (zh) * 2021-03-22 2021-06-08 西安紫光国芯半导体有限公司 建链逻辑的测试方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187277A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd データ転送方式
KR19980026413A (ko) * 1996-10-09 1998-07-15 박병재 직렬 통신 포트 다중화 제어장치 및 그 방법
KR19980070353A (ko) * 1997-01-06 1998-10-26 윌리엄비.켐플러 집적 데이타 프로세서 및 직렬 메모리 장치를 포함하는 데이타통신 인터페이스
KR20030084971A (ko) * 2001-03-23 2003-11-01 인터내셔널 비지네스 머신즈 코포레이션 통신 시스템
KR20050065066A (ko) * 2003-12-24 2005-06-29 한국전자통신연구원 고속직렬버스 브리지 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187277A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd データ転送方式
KR19980026413A (ko) * 1996-10-09 1998-07-15 박병재 직렬 통신 포트 다중화 제어장치 및 그 방법
KR19980070353A (ko) * 1997-01-06 1998-10-26 윌리엄비.켐플러 집적 데이타 프로세서 및 직렬 메모리 장치를 포함하는 데이타통신 인터페이스
KR20030084971A (ko) * 2001-03-23 2003-11-01 인터내셔널 비지네스 머신즈 코포레이션 통신 시스템
KR20050065066A (ko) * 2003-12-24 2005-06-29 한국전자통신연구원 고속직렬버스 브리지 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180030938A (ko) * 2013-12-26 2018-03-26 인텔 코포레이션 멀티칩 패키지 링크
KR101925694B1 (ko) 2013-12-26 2018-12-05 인텔 코포레이션 멀티칩 패키지 링크
KR101985157B1 (ko) 2013-12-26 2019-05-31 인텔 코포레이션 멀티칩 패키지 링크
US10552357B2 (en) 2013-12-26 2020-02-04 Intel Corporation Multichip package link
US11003610B2 (en) 2013-12-26 2021-05-11 Intel Corporation Multichip package link
CN112925684A (zh) * 2021-03-22 2021-06-08 西安紫光国芯半导体有限公司 建链逻辑的测试方法及相关设备
CN112925684B (zh) * 2021-03-22 2024-05-24 西安紫光国芯半导体有限公司 建链逻辑的测试方法及相关设备

Similar Documents

Publication Publication Date Title
CN102326363B (zh) 具有使用缓冲器描述表的控制器区域网络模块的微控制器
US20040151170A1 (en) Management of received data within host device using linked lists
CN201063161Y (zh) 串行外围接口主设备
US5557266A (en) System for cascading data switches in a communication node
WO2009000794A1 (en) Data modification module in a microcontroller
CN101986613B (zh) 一种通用异步串行通信控制器
CN101901199B (zh) 一种数据透明传输的方法及系统
KR100776945B1 (ko) 직렬 데이터 전송 구현을 위한 메모리 유닛
US7313146B2 (en) Transparent data format within host device supporting differing transaction types
CN101447988A (zh) 一种基于fpga的千兆数据通信卡
CN101702714B (zh) 计算机系统中的基于信用的流动控制的方法、系统和设备
CN101814011A (zh) Usb主机控制器以及用于usb主机控制器的控制方法
CN103516627A (zh) 多芯片通信中数据包发送、接收的方法和装置
US6289421B1 (en) Intelligent memory devices for transferring data between electronic devices
CN104639898A (zh) 一种基于Rapidio交换网络的多功能业务传输装置
US6282203B1 (en) Packet data transmitting apparatus, and method therefor
JPH0619838A (ja) 光バックプレーン
KR890004226A (ko) 컴퓨터 시스템용 주변 리피터 박스
CN117009276B (zh) 一种基于axi总线的信号压缩传输的方法、装置及系统
KR100969881B1 (ko) 데이터 송수신 장치
EP1104612B1 (en) Data-communications unit suitable for asynchronous serial data transmission
KR100416799B1 (ko) 슬래이브 모드 소자간 유토피아 인터페이스방법
CN104424114B (zh) 一种具有优先级的复用装置及其工作方法
CN117009276A (zh) 一种基于axi总线的信号压缩传输的方法、装置及系统
KR100248151B1 (ko) 범용 리시버/트랜스미터

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121016

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131022

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141106

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151028

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee