KR100720709B1 - 무선 usb 시스템 - Google Patents

무선 usb 시스템 Download PDF

Info

Publication number
KR100720709B1
KR100720709B1 KR1020070008591A KR20070008591A KR100720709B1 KR 100720709 B1 KR100720709 B1 KR 100720709B1 KR 1020070008591 A KR1020070008591 A KR 1020070008591A KR 20070008591 A KR20070008591 A KR 20070008591A KR 100720709 B1 KR100720709 B1 KR 100720709B1
Authority
KR
South Korea
Prior art keywords
buffer
descriptor
memory
packet
information
Prior art date
Application number
KR1020070008591A
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 KR1020070008591A priority Critical patent/KR100720709B1/ko
Application granted granted Critical
Publication of KR100720709B1 publication Critical patent/KR100720709B1/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 무선 USB 시스템에 관한 것으로서, 버퍼 메모리의 각 블록을 체인구조에 의해 동적으로 할당하여 수신되는 각각의 엔드포인트와 관계없이 통합적으로 관리함으로써 엔드포인트별 윈도우 구조로 구현에 의한 많은 양의 버퍼를 필요로 하지 않도록 할 뿐만 아니라 무선 USB 패킷에서 데이터 페이로드 이외의 패킷정보만을 저장하기 위한 패킷정보 메모리를 버퍼 메모리와 일대일 대응되도록 적은 사이즈로 부가하고 버퍼 관리유닛에서 버퍼 메모리의 관리와 대응되도록 패킷정보를 관리함으로써 DRD나 디버그를 위한 패킷정보를 편리하게 관리할 수 있도록 한 이점이 있다.
USB, 체인구조, 버퍼, 디스크립터, 시퀀스, WUSB, 버퍼관리, UWB, 패킷정보, 페이로드, 디버그

Description

무선 USB 시스템{WIRELESS USB SYSTEM}
도 1은 일반적인 무선 USB 시스템을 간략하게 나타낸 블록구성도이다.
도 2는 유선 USB 시스템과 무선 USB 시스템의 트랜잭션을 나타낸 그래프이다.
도 3은 일반적인 무선 USB의 트랜잭션 그룹을 나타낸 그래프이다.
도 4는 무선 USB의 데이터 버스팅에 대한 일반적인 데이터 플로우 모델을 나타낸 도면이다.
도 5는 무선 USB 패킷의 포맷을 나타낸 도면이다.
도 6은 본 발명에 의한 무선 USB 시스템의 버퍼 관리유닛을 나타낸 블록구성도이다.
도 7은 본 발명에 의한 무선 USB 시스템의 버퍼 디스크립터 메모리를 나타낸 도면이다.
도 8은 본 발명에 의한 무선 USB 시스템의 버퍼관리 리스트를 나타낸 도면이다.
도 9는 본 발명에 의한 무선 USB 시스템의 시퀀스관리 리스트를 나타낸 도면이다.
도 10내지 도 15는 본 발명에 의한 무선 USB 시스템에서 데이터의 송수신과정에서 변화하는 버퍼관리 리스트와 시퀀스관리 리스트를 나타낸 도면이다.
도 16은 본 발명의 다른 실시예에 의한 무선 USB 시스템을 나타낸 블록구성도이다.
도 17은 본 발명의 다른 실시예에 의한 무선 USB 시스템의 버퍼 관리유닛을 나타낸 블록구성도이다.
도 18은 본 발명의 다른 실시예에 의한 무선 USB시스템의 패킷정보 메모리를 나타낸 도면이다.
- 도면의 주요부분에 대한 부호의 설명 -
10 : CPU 20 : 버퍼 디스크립터 메모리
30 : 버퍼 메모리 40 : 버퍼 관리유닛
42 : 커맨드 디코더 44 : 디스크립터 관리부
46 : 시퀀스 관리부 48 : 패킷정보 관리부
50 : DMA 핸들러 60 : 송수신 제어부
70 : 패킷정보 메모리
본 발명은 무선 USB 시스템에 관한 것으로서, 보다 상세하게는 버퍼 메모리의 각 블록을 체인구조에 의해 동적으로 할당하여 수신되는 각각의 엔드포인트와 관계없이 통합적으로 관리함으로써 엔드포인트별 윈도우 구조로 구현에 의한 많은 양의 버퍼를 필요로 하지 않도록 할 뿐만 아니라 무선 USB 패킷에서 데이터 페이로드 이외의 패킷정보만을 저장하기 위한 패킷정보 메모리를 버퍼 메모리와 일대일 대응되도록 적은 사이즈로 부가하고 버퍼 관리유닛에서 버퍼 메모리의 관리와 대응되도록 패킷정보를 관리함으로써 DRD나 디버그를 위한 패킷정보를 편리하게 관리할 수 있도록 한 무선 USB 시스템에 관한 것이다.
일반적으로 USB(Universal Serial Bus: 범용 직렬 버스)는 직렬 포트의 일종으로 기존의 외부 확장 포트(시리얼 혹은 패러럴)들의 느린 속도와 제한된 장치 연결 문제를 해결하여, 오디오 플레이어, 조이스틱, 키보드, 전화, 스캐너 및 프린터 등과 같은 주변장치와 컴퓨터 간을 연결하는 플러그 앤 플레이 인터페이스이다.
이러한 USB는 모뎀, 프린터, 스캐너 등의 디바이스 만을 연결하기 위해서 사용되었던 외부 확장 포트들과 달리 서로 다른 방식으로 연결하던 키보드, 모니터, 마우스, 프린터, 모뎀 등 주변기기들을 한 번에 연결할 수 있는 것으로서, PC 본체에 USB 접속기를 하나만 갖추고 있으면 성형 접속 또는 방사형 형태로 최대 127대 의 주변 장치를 연결할 수 있도록 한다.
또한, 최근에는 컴퓨터 시스템과 외부 주변 장치를 접속시키기 위한 USB 케이블의 필요성을 제거하기 위한 노력으로, 초광대역(Ultra Wide Band : UWB) 기술에 기반하는 무선 USB(wireless USB : WUSB)가 표준화 되었다. 무선 USB는 최대 10미터까지의 거리에 걸쳐 USB 2.0 표준에 필적하는 통신 속도(예를 들어, 최대 480Mbps)를 지향하고 있다.
이러한 무선 USB 시스템은 무선 USB 채널을 생성하고 채널을 관리할 수 있는 기능이 있는 무선 USB 호스트와 무선 USB 호스트에 연결하여 데이터를 송수신할 수 있는 무선 USB 디바이스로 구분된다. 무선 USB 호스트는 마스터의 역할을 수행하며 디바이스는 슬레이브 역할을 수행한다.
도 1은 일반적인 무선 USB 시스템을 간략하게 나타낸 블록구성도이다.
여기에 도시된 바와 같이 무선 USB 시스템은 CPU(10)와, 버퍼 디스크립터 메모리(20)와, 버퍼 메모리(30)와, 버퍼 관리유닛(40)과, DMA 핸들러(50)와, 송수신 제어부(60)를 포함하여 이루어진다.
이때, CPU(10)는 RISC, DSP 등과 기타 커스텀 하드웨어 등이 포함되고, 시스템 버스(BUS)에 의해 주변기기들을 연결하여 CPU(10)의 어드레스 등을 적절한 주변기기들로 전달하여 어드레스에 의해 지정되는 데이터를 CPU(10)와 주변기기간에 주고받을 수 있도록 한다.
송수신제어부(60)는 MMC 패킷과 제어명령을 처리하여 MMC 패킷내의 채널할당 메시지(WCTA)를 토대로 엔드포인트별로 송수신 시간을 관리할 뿐만 아니라 송/수신된 패킷에 헤더를 추가하거나 제거하며 송수신되는 패킷을 일시적으로 저장하여 데이터의 송수신을 제어한다.
버퍼 디스크립터 메모리(20)는 버퍼 관리유닛(40)에서 사용하는 디스크립터를 저장하는 부분이고, 송수신 데이터는 실질적으로 데이터가 저장되는 버퍼 메모리(30)로부터 DMA 핸들러(50)를 통해 송수신 제어부(60)에 입출력된다.
이러한 무선 USB 시스템에서 데이터의 송신은 MMC(Micro-scheduled Management Command) 내에 USB 토큰(Token)을 전달(broadcast) 하며, 데이터와 핸드쉐이크 단계(phase)에서 데이터 송수신(data communication)의 방향과 송신타입에 따라 적절하게 TDMA 타임슬롯을 사용하는 방법으로 호스트(Host)는 트랜잭션 그룹(Transaction group)의 송신을 시작할 수 있다. 이는 MMC 내에 무선 USB 트랜잭션에 대한 토큰이 포함되어 있기 때문에 가능하며 호스트는 각각의 트랜잭션 그룹 내에서 각각의 트랜잭션들이 어떻게 스케줄 될지를 결정한다.
도 2는 유선 USB 시스템과 무선 USB 시스템의 트랜잭션을 나타낸 그래프이다.
여기에서 도시된 바와 같이 무선 USB에서의 MMC 내의 토큰블록(token block) 들은 토큰정보, 디바이스, 엔드포인트, 방향 등과, 트랜잭션의 데이터와 핸드쉐이크에 대한 타임슬롯의 설명 등과 같은 중요한 정보들을 포함한다.
유선 USB의 경우 트랜잭션은 각각 하나의 토큰(Token), 데이터 패킷(Data), 핸드쉐이크 패킷(Hndsk)으로 구분되는 반면, 무선 USB는 트랜잭션 그룹 내에 여러 개의 데이터 패킷과 핸드쉐이크 패킷을 포함할 수 있다. 즉 각각의 엔드포인트별로 버스트(burst) 데이터를 송신할 수 있게 구성된다.
무선 USB의 트랜잭션 그룹은 도 3에 도시된 바와 같이 토큰 단계와, 데이터 단계와 핸드쉐이크 단계로 이루어지게 되며 이러한 버스트모드 데이터 단계(Phase)는 모든 무선 USB의 데이터 단계에서 적용되는 규격으로써 Long packet preambles, MIFS (Minimum Inter Frame Spacing), SIFS (Short Inter Frame Spacing) 등과 같은 패킷 구분문자 오버헤드(packet delimiter overhead) 들로 인해, 무선 USB는 데이터 단계 동안 여러 개의 데이터 패킷을 보낼 수 있는 것으로 이러한 특성은 패킷 구분문자, 인터패킷(inter-packet) 갭을 줄여 주기 때문에 잠재적으로 더 효율적인 송신이 가능하게 한다.
일반적으로 무선 USB는 트랜스미터와 리시버 사이에 데이터 시퀀스 동기(data sequence synchronization)를 보장하기 위한 메카니즘을 제공한다. 즉, 트랜스미터는 데이터 단계에 하나 이상의 데이터 패킷을 송신할 수 있고, 리시버는 핸드쉐이크 단계 동안에 데이터가 수신되었다는 인식(acknowledge) 정보를 제공해야 한다. 데이터 단계 타임슬롯에서 송신된 패킷들은 보통 DATA (or IDATA)의 PID 필드를 갖으며 디바이스는 싱글 핸드쉐이크 패킷으로 WDTCTA 토큰에 응답할 수 있고, 데이터 패킷 내의 무선 USB 헤더는 데이터 시퀀스 카운터로 사용되는 시퀀스 번호 필드(Sequence Number field)를 갖고 있다.
또한, 무선 USB의 데이터 버스팅은 오류없는 데이터 전달을 위해 간단한 슬라이딩 윈도우 프로토콜을 사용하여 트랜스미터는 시퀀스 오더를 1씩 증가하는 데 이터 시퀀스 번호를 사용하며 리시버에서 수신되는 데이터 패킷에도 같은 오더링 규격을 사용한다.
도 4는 무선 USB의 데이터 버스팅에 대한 일반적인 데이터 플로우 모델을 나타낸 도면이다.
여기에 도시된 바와 같이 트랜스미터는 최대 패킷 사이즈 내에서 논리적으로 분리된 DX에서 DX+Y까지의 데이터 스트림을 갖으며, 다음 트랜잭션 데이터 단계에 대한 시퀀스 번호가 각 데이터 패킷과 어떻게 연결될지 조절하는 슬라이딩 송신 윈도우를 갖고, 시퀀스 번호를 데이터 버퍼 세그먼트와 순서가 바뀌지 않도록 정확히 연결시키도록 한다.
또한, 리시버는 다음 트랜잭션에서 사용될 데이터 시퀀스 번호를 가리키는 수신 윈도우를 갖으며, 트랜잭션의 핸드쉐이크 단계 동안 버스트 인식 정보를 제공하고, 1씩 증가하는 시퀀스 번호순으로 정확히 수신된 데이터를 사용해야 한다.
이러한 무선 USB 송수신 윈도우 프로토콜을 사용하여 데이터 송수신을 하면서 손실된 패킷의 재전송이 이루어질 때 Struck-at Wrap 상황에서 회복하기 위해 리시버가 수신된 데이터를 바로 소비한다는 것은 항상 보장받을 수 없기 때문에 일반적으로 더블 버퍼링을 사용한다.
이와 같이 더블 버퍼링을 사용하여 데이터를 저장하기 위해서 요구되는 버퍼의 크기는 만약 3584 bytes의 패킷 사이즈와 32의 최대 시퀀스를 갖는 엔드포인트의 경우 필요한 버퍼의 크기는 (3.5Kbyteㅧ 32)ㅧ 2 = 224Kbyte 이상이어야만 되어 각각의 엔드포인트에 대해 이와 같은 크기의 버퍼를 사용한다면 비용적으로 큰 부 담을 갖게 되는 문제점이 있다.
한편, 위와 같이 이루어진 무선 USB 시스템은 MAC(Medium Access Control) 레이어 표준에서 정의한 패킷(프레임) 포맷을 사용하기 때문에 일반적인 구조는 도 5에 도시된 바와 같이 PHY preamble, PHY header, MAC header, data payload(MAC frame body) 등을 포함하여 이루어진다.
이때 데이터 페이로드(data payload)의 크기는 엔드포인트의 최대 패킷 사이즈로 결정되는데 그 값은 512bytes에서 4098bytes 사이의 값을 가지므로 그 크기는 512byteㅧ n의 값으로 정해져 버퍼 관리유닛(40)에 의해 관리되어 처리된다.
이러한 무선 USB 시스템의 DRD(Dual Role Device)나 디버그를 위해서는 데이터 페이로드 이외에 헤더(Header) 및 상태(Status) 등과 같은 패킷 정보들을 MAC 상위에서생성 및 관리하기 위한 방법이 필요하다.
따라서, 데이터 페이로드 이외의 패킷정보들을 관리하기 위해서는 이를 저장할 수 있는 공간이 필요하게 되는데 이러한 패킷정보들은 데이터 페이로드와 함께 같은 곳에 저장될 수도 있고 따로 저장될 수도 있다.
그러나, 데이터 페이로드와 같은 곳에 저장될 경우 패킷정보를 위한 버퍼 디스크립터를 하나 더 필요로 하게 되기 때문에 버퍼 디스크립터와 연결된 버퍼의 크기가 512bytes라 가정한다면 추가되는 버퍼의 대부분은 사용되지 않고 패킷정보를 위해 일부만이 사용되어 효율이 떨어지는 문제점이 있다.
또한, 이와 같은 비효율을 보완하기 위해 버퍼 디스크립터와 연결된 버퍼의 크기를 줄이게 되면 동일한 크기의 버퍼 메모리를 위해 더 많은 수의 버퍼 디스크립터가 필요하게 되어 버퍼 디스크립터 메모리의 크기가 커지게 되는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 버퍼 메모리의 각 블록을 체인구조에 의해 동적으로 할당하여 수신되는 각각의 엔드포인트와 관계없이 통합적으로 관리함으로써 엔드포인트별 윈도우 구조로 구현에 의한 많은 양의 버퍼를 필요로 하지 않도록 할 뿐만 아니라 무선 USB 패킷에서 데이터 페이로드 이외의 패킷정보만을 저장하기 위한 패킷정보 메모리를 버퍼 메모리와 일대일 대응되도록 적은 사이즈로 부가하고 버퍼 관리유닛에서 버퍼 메모리의 관리와 대응되도록 패킷정보를 관리함으로써 DRD나 디버그를 위한 패킷정보를 편리하게 관리할 수 있도록 한 무선 USB 시스템을 제공함에 있다.
상기와 같은 목적을 이루기 위한 본 발명은 버퍼 관리유닛에 의해 버퍼 메모리의 블록을 할당하며 버퍼 메모리에 디스크립터된 정보를 저장하는 버퍼 디스크립터 메모리를 포함하여 이루어진 무선 USB 시스템에 있어서, 버퍼 디스크립터 메모리는 버퍼 메모리의 블록과 일대일로 대응되어 디스크립터의 상태 및 디스크립터의 체인연결 정보를 저장하며; 버퍼 관리유닛은 시퀀스 번호에 따라 할당받은 버퍼 디 스크립터 체인 정보를 저장하는 시퀀스관리 리스트를 포함하여 송수신되는 데이터의 시퀀스 번호를 생성 관리하며 패킷의 손실 확인 및 인식정보의 생성을 관리하기 위한 시퀀스 관리부와, 버퍼 메모리에 체인구조로 할당된 버퍼 디스크립터 정보를 저장하는 버퍼관리 리스트를 포함하여 버퍼 디스크립터 메모리의 변경을 담당하고 버퍼의 할당을 되돌리며 시퀀스 관리부와 연계하여 동작하는 디스크립터 관리부와, 입력되는 명령어를 디코딩하는 커맨드 디코더;를 더 포함하여 이루어져 입력되는 명령에 따라 동적으로 할당한 버퍼의 개수, 동적 버퍼의 이동방향, 버퍼의 할당 방법 등에 따라 버퍼를 관리하는 것을 특징으로 한다.
본 발명에서 버퍼 디스크립터 메모리에 저장된 체인연결 정보는 버퍼 메모리의 블록내 사용되는 사이즈와, 디스크립터와 버퍼 메모리의 블록과 대응된 포인트와, 현재 디스크립터와 연결된 이전과 이후 디스크립터 포인트 정보가 저장된 것을 특징으로 한다.
본 발명에서 시퀀스관리 리스트는 송수신되는 데이터의 시퀀스 번호에 따른 송수신 상태필드 및 할당받은 버퍼 디스크립터 체인의 시작 인덱스와 끝 인덱스 필드로 이루어진 것을 특징으로 한다.
또한, 시퀀스관리 리스트는 송수신 상태에 따라 전송이 완료된 시퀀스 번호의 값은 클리어 되는 것을 특징으로 한다.
본 발명에서 버퍼관리 리스트는 버퍼 메모리에 체인 구조로 할당되는 데이터들의 버퍼 디스크립터 체인의 시작 포인트와 끝 포인트 및 체인으로 연결된 블록의 개수 정보로 이루어진 것을 특징으로 한다.
본 발명에서 체인 구조로 할당되는 데이터는 사용하지 않는 버퍼, 어플리케이션, MMC, DN, 엔드포인트 별로 할당되는 것을 특징으로 한다.
또한, 본 발명은 버퍼 메모리의 블록과 일대일로 대응되도록 구성되어 송수신되는 패킷의 데이터 페이로드 이외의 패킷정보를 저장하기 위한 패킷정보 메모리를 더 포함하며; 버퍼 관리유닛은 관리 레지스터의 속성에 따라 패킷정보 메모리에 저장되는 정보를 결정하며 시퀀스 관리부와 디스크립터 관리부에 따라 패킷정보 메모리를 인덱싱하는 패킷정보 관리부;를 더 포함하여 이루어진 것을 특징으로 한다.
본 발명에서 관리 레지스터의 속성은 패킷의 저장유무 및 방법을 설정하는 모드필드와, 송수신중 어느 것을 저장할 지를 결정하는 송수신 인에이블 필드와, 송수신에 따라 저장할 패킷정보를 결정하는 인덱스 필드를 포함하여 이루어진 것을 특징으로 한다.
이때 인덱스 필드는 PHY Header, MAC Header, UWB Secure Header, WUSB Header, MIC, CRC, PHY Status 중 어느 하나인 것을 특징으로 한다.
본 발명에서 패킷정보 메모리에 저장되는 데이터는 헤더(Header)와 상태(Status)인 것을 특징으로 한다.
이와 같이 이루어진 본 발명은 버퍼 메모리의 각 블록을 체인구조로 할당하여 저장할 수 있도록 하며 그 체인구조에 의한 디스크립터 및 상태를 버퍼 디스크립터 메모리와 버퍼관리 리스트를 통해 관리하여 송수신되는 데이터의 시퀀스 번호를 시퀀스관리 리스트를 통해 관리하여 송수신되는 데이터를 동적으로 할당하여 저 장하도록 할 뿐만 아니라 체인 구조에 의해 버퍼 메모리를 동적으로 할당하여 저장하는 버퍼 메모리의 블록과 일대일로 대응되도록 데이터 페이로드 이외의 패킷정보를 저장하기 위한 패킷정보 메모리를 구비하며 이를 관리하기 위해 동적으로 할당되는 버퍼 메모리를 관리하기 위한 버퍼관리 리스트와 시퀀스관리 리스트에 따라 패킷정보 메모리를 관리함으로써 간편하게 패킷정보들을 DRD나 디버그를 위해 MAC 상위에서 생성 및 관리할 수 있도록 한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명하며 종래 구성과 동일한 부분은 동일한 부호 및 명칭을 사용한다. 또한 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이며 당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상 내에서 많은 변형이 가능할 것이다.
도 6은 본 발명에 의한 무선 USB 시스템의 버퍼 관리유닛을 나타낸 블록구성도이다.
여기에 도시된 바와 같이 버퍼 관리유닛(40)은 시퀀스 번호에 따라 할당받은 버퍼 디스크립터 체인 정보를 저장하는 시퀀스관리 리스트를 포함하여 송수신되는 데이터의 시퀀스 번호를 생성 관리하며 패킷의 손실 확인 및 인식정보의 생성을 관리하기 위한 시퀀스 관리부(46)와, 버퍼 메모리(30)에 체인구조로 할당된 버퍼 디스크립터 정보를 저장하는 버퍼관리 리스트를 포함하여 버퍼 디스크립터 메모리(20)의 변경을 담당하고 버퍼의 할당을 되돌리며 시퀀스 관리부(46)와 연계하여 동작하는 디스크립터 관리부(44)와, 입력되는 명령어를 디코딩하는 커맨드 디코더(42)를 포함하여 이루어져 입력되는 명령에 따라 동적으로 할당한 버퍼의 개수, 동적 버퍼의 이동방향, 버퍼의 할당 방법 등에 따라 DMA 핸들러(50)를 호출하여 버퍼 메모리(30)와 버퍼 디스크립터 메모리(20)를 관리하게 된다.
그리고, 버퍼 디스크립터 메모리(20)는 도 7에 도시된 바와 같이 버퍼 디스크립터 메모리(20)의 d00은 버퍼 메모리(30)의 B00 블록과 대응되고, d01은 B01과 연결되는 방식으로 모든 버퍼 메모리(30)와 버퍼 디스크립터 메모리(20)는 일대일로 대응된다. 그리고, 버퍼 디스크립터 메모리(20)에는 디스크립터의 상태(Status) 및 버퍼 메모리(30)의 블록 내 사용되고 있는 사이즈(Size)와, 디스크립터와 버퍼 메모리(30)의 블록과 대응된 포인트(Buffer Index) B09와, 현재 디스크립터와 연결된 이전 디스크립터 포인트 정보(Previous Descriptor Index) d08과 이후 디스크립터 포인트 정보(Next Descriptor Index) d10 등 d09는 d08과 d10 사이에 이중으로 연결된 디스크립터의 체인연결 정보를 저장하게 된다.
또한, 버퍼관리 리스트는 버퍼 메모리(30)와 버퍼 디스크립터 메모리(20)를 관리하기 위해 사용되는 것으로써 버퍼 메모리(20)에 체인 구조로 할당되는 데이터들의 버퍼 디스크립터 체인의 시작 포인트와 끝 포인트 및 체인으로 연결된 블록의 개수 정보로 이루어진다.
도 8에 도시된 바와 같이 버퍼 메모리를 관리하기 위한 버퍼관리 리스트로써 사용되지 않는 모든 버퍼들은 FreeBL(Free Buffer Descriptor List)에서 관리를 하게 된다.
그리고, 디스크립터 관리부(44)에서 필요한 버퍼를 동적으로 할당받아 구성되며 버퍼 디스크립터 체인의 시작 포인트를 나타내는 head와 끝 포인트를 나타내는 tail, 그리고 버퍼 디스크립터 체인에 연결된 버퍼의 개수를 나타내는 nb로 이루어진다.
예를 들어 ep0BL의 head 값은 d14이고, tail 값은 d21로 되어 있다. 여기서 head를 나타내는 d14의 버퍼 디스크립터 메모리(20)에 저장된 세부적인 값 중에서 이전 디스크립터 인덱스는 NULL을 가리키고, 이후 디스크립터 인덱스는 d15를 가리킨다. d15 이후는 d16, d16 이후는 d17, d17 이후는 d18, d18 이후는 d19, d19 이후는 d20, d20 이후는 d21, d21 이후는 NULL로 8개의 독립적인 버퍼를 동적으로 할당받을 수 있게 된다.
이렇게 버퍼관리 리스트는 데이터는 사용하지 않는 버퍼, 어플리케이션, MMC, DN, 엔드포인트 별로 할당되는 버퍼에 대해 동적으로 할당하고 관리하게 된다.
한편, 시퀀스관리 리스트는 도 9에 도시된 바와 같이 송수신되는 데이터의 시퀀스 번호에 따른 송수신 상태필드 및 각 송수신 데이터에 할당받은 버퍼 디스크립터 체인의 시작 인덱스와 끝 인덱스 필드로 이루어진다.
각각의 엔드포인트들은 모두 이러한 시퀀스관리 리스트를 갖으며, 엔드포인트가 Rx인 경우 버퍼 관리유닛(40)에서 할당받은 버퍼들의 정보를 시퀀스 번호별로 저장하게 된다. 각각의 시퀀스관리 리스트들은 전송 상태, 재전송 등과 같은 상태 를 나타내는 송수신 상태필드와, 해당 시퀀스의 패킷에 할당 된 버퍼 디스크립터 체인의 시작과 끝을 나타내는 인덱스 필드로 구성된다.
엔드포인트가 Tx인 경우 시퀀스 관리부(46)에서 생성된 시퀀스 번호별로 해당 엔드포인트의 버퍼 디스크립터 체인을 참고하여 리스트를 작성한다. 해당 시퀀스가 첫 Tx인 경우에는 재전송 상태는 0이 되고, 첫 Tx 이후 인식정보를 수신하면 재전송 상태를 수정한다. Tx가 성공적으로 이루어진 시퀀스 리스트의 값은 클리어되고 해당 패킷의 버퍼 디스크립터 체인 역시 FreeBL로 옮겨져 할당받은 버퍼를 되돌린다.
재전송 상태가 1인 시퀀스들은 다음 트랜잭션에서 재전송된다. 따라서 Tx인 엔드포인트에서는 재전송 상태가 0을 가리키는 시퀀스 리스트들만이 유효하며 엔드포인트 버퍼 디스크립터 체인에도 해당 버퍼들만이 존재하게 된다.
위와 같이 데이터의 전송 및 재전송과 할당받은 버퍼를 되돌리고 다시 할당받을 때 버퍼 디스크립터 체인의 이동은 소스의 버퍼관리 리스트의 head로부터 설정된 버퍼의 개수만큼 목적지의 버퍼관리 리스트의 tail로 이동시켜 버퍼 디스크립터 체인을 구성할 수 있다.
한편 소스의 버퍼관리 리스트의 중간에서부터 설정된 버퍼의 개수만큼 버퍼를 떼어 이동시킬 수 있으며, 소스로부터 떼어낸 버퍼 디스크립터 체인을 목적지의 버퍼관리 리스트의 중간에 버퍼 디스크립터 체인을 연결시킬 수도 있다.
위와 같이 이루어진 버퍼관리 유닛에 의한 버퍼의 관리 동작을 구체적으로 살펴보면 다음과 같다.
먼저, 무선 USB 시스템에서 버퍼관리 리스트와 시퀀스관리 리스트의 초기화 이후에 2개의 엔드포인트만이 동작하고, 버퍼의 블록사이즈는 512bytes 이고, 버퍼수는 100이고, 엔드포인트 0의 최대 패킷은 1024bytes, 최대 시퀀스 번호는 8, 최대 버스트 사이즈는 3, 그리고 엔드포인트 1의 최대 패킷 사이즈는 2048bytes, 최대 시퀀스 번호는 12, 최대 버스트 사이즈는 4로 가정하고, 엔드포인트 0은 Tx, 엔드포인트 1은 Rx로 가정할 때의 예로 설명한다.
이와 같이 가정된 상태에서 트랜잭션 0에서 Tx 패킷의 생성은 트랜잭션 0 이전에 어플리케이션은 Tx 패킷을 위한 버퍼를 FreeBL로부터 할당 받는다. 따라서 어플리케이션이 FreeBL에 요구하는 패킷 하나당 버퍼의 개수는 2(1024/512)개이다. 어플리케이션은 트랜잭션 0에서 버스트로 보낼 모든 버퍼를 한 번에 요구 할 수도 있고 하나의 패킷씩 요구 할 수도 있다. 여기서는 모든 버스트를 위한 버퍼를 한 번에 요구할 때 FreeBL에 요구하는 buffer의 수는 6(2x3)개이다.
어플리케이션이 FreeBL에 요구한 버퍼가 성공적으로 끝나면 버퍼관리 리스트의 값은 도 10과 같이 변하게 된다.
이렇게 어플리케이션의 성공적인 버퍼 할당 이후, 어플리케이션은 Tx 하고자 하는 패킷을 할당 받은 버퍼 메모리(30)에 디스크립터를 참고하여 써넣는다. 이때 파일의 라스트를 확인하여 라스트인 경우에는 버퍼 디스크립터의 라스트 상태를 1로 만들고 그렇지 않은 경우에는 0으로 만든다. 버퍼 메모리(30)에 쓰기가 완료된 이후에는 버퍼 커맨드를 통하여 어플리케이션의 버퍼 체인을 엔드포인트 0으로 다 시 할당한다.
버퍼 커맨드 이후의 버퍼관리 리스트의 값은 도 11과 같이 된다.
이후 패킷의 Rx가 이루어져 패킷이 수신되면 수신 윈도우와 수신된 패킷의 시퀀스 번호를 확인하여 패킷을 저장할지 버릴지를 결정한다. 패킷을 저장하도록 결정하면 수신된 패킷 이전에 손실된 패킷이 있는지 확인하고, 손실이 있는 경우에는 손실된 시퀀스 번호에 해당하는 시퀀스관리 리스트의 송수신 상태필드의 retransmit status를 1로 설정하고, 버퍼관리 리스트의 FreeNb의 값이 1보다 큰지(할당 받을 수 있는 버퍼가 있는지)를 확인하여 버퍼 커맨드를 통하여 버퍼관리 리스트에서 해당 엔드포인트(ep1)로 하나의 버퍼를 할당받는다. 할당 받은 버퍼는 송수신 제어부(60)를 통해 수신된 패킷 데이터로 채워진다.
이때 수신된 데이터에서 에러가 발생했는지 확인하고 에러가 있으면 할당 받았던 버퍼를 FreeNb로 되돌린다. 그러나, 에러가 없는 경우에는 수신된 패킷의 사이즈만큼 버퍼를 할당 받았는지를 확인하여 그렇지 않은 경우에는 반복 수행하게 되고, 에러 없이 패킷의 사이즈만큼 모든 버퍼를 할당 받았다면 버퍼관리 리스트는 도 12와 같이 변하게 된다.
그런 다음 해당 시퀀스 번호에 할당받은 버퍼 디스크립터 체인의 리스트를 설정함으로써 시퀀스관리 리스트는 도 13과 같이 변하게 된다.
이상과 같은 순서로 하나의 패킷이 수신됨에 따라 엔드포인트 1에 대한 모든 버스트가 끝났을 때의 버퍼관리 리스트와, 시퀀스관리 리스트는 도 14와 같이 변하 게 된다.
만약 시퀀스 번호 1의 패킷이 제대로 수신되지 않았다면 도 15와 같이 엔드포인트의 버퍼 개수는 패킷 하나만큼의 버퍼를 할당 받지 못하고, 시퀀스관리 리스트의 시퀀스 번호 1의 retransmit status는 1로 설정된다.
다음으로 패킷을 송신하기 위해 Tx 하고자 하는 엔드포인트의 버퍼관리 리스트에서 버스의 개수를 확인한다. 이때 Tx할 수 있는 버퍼가 패킷의 시퀀스 번호를 생성하여 생성된 시퀀스 번호의 시퀀스관리 리스트에서 retransmit status를 확인하여 값이 1이면 시퀀스관리 리스트의 값을 토대로 버퍼 디스크립터 메모리(20)의 값을 읽어 버퍼의 어드레스와 사이즈를 DMA 핸들러(50)로 전달하고, 0이면 엔드포인트의 버퍼 개수가 액티브 패킷 사이즈보다 큰가를 확인하여 작으면 버퍼 디스크립터의 라스트 상태를 확인하여 1인 경우에는 정상적인 Tx를 수행하고 그렇지 않은 경우에는 Tx를 더 이상 실행하지 않는다.
이상의 순서로 트랜잭션 0에서 모든 Rx와 Tx가 완료 되었을 때, 어플리케이션은 Rx된 패킷을 소비하거나 다음에 Tx할 데이터를 준비 할 수 있다.
도 16은 본 발명의 다른 실시예에 의한 무선 USB 시스템을 나타낸 블록구성도이다.
여기에 도시된 바와 같이 무선 USB 시스템은 CPU(10)와, 버퍼 디스크립터 메모리(20)와, 버퍼 메모리(30)와, 버퍼 관리유닛(40)과, DMA 핸들러(50)와, 송수신 제어부(60)와, 패킷정보 메모리(70)를 포함하여 이루어진다.
이때, CPU(10)는 RISC, DSP 등과 기타 커스텀 하드웨어 등이 포함되고, 시스템 버스(BUS)에 의해 주변기기들을 연결하여 CPU(10)의 어드레스 등을 적절한 주변기기들로 전달하여 어드레스에 의해 지정되는 데이터를 CPU(10)와 주변기기간에 주고받을 수 있도록 한다.
송수신제어부(60)에 의해 MMC 패킷과 제어명령을 처리하여 MMC 패킷내의 채널할당 메시지(WCTA)를 토대로 엔드포인트별로 송수신 시간을 관리할 뿐만 아니라 송/수신된 패킷에 헤더를 추가하거나 제거하며 송수신되는 패킷을 일시적으로 저장하여 데이터의 송수신을 제어한다.
버퍼 디스크립터 메모리(20)는 버퍼관리유닛(40)에서 사용하는 디스크립터를 저장하는 부분이고, 버퍼 메모리(30)는 실질적으로 데이터가 저장되는 부분으로 송수신 데이터를 DMA 핸들러(50)를 통하여 송수신 제어부(60)에 쓰여지고 읽혀진다.
또한, 패킷정보 메모리(70)는 도 18에 도시된 바와 같이 버퍼 메모리(30)의 블록과 일대일로 대응되도록 구성되어 송수신되는 패킷의 데이터 페이로드 이외의 패킷의 헤더(Header)와 상태(Status) 등의 패킷정보를 관리 레지스터의 속성에 따라 저장하게 된다.
이때 관리 레지스터의 속성은 패킷의 저장유무 및 방법을 설정하는 모드필드(Mode)와, 송수신중 어느 것을 저장할 지를 결정하는 송수신 인에이블 필드(Rx/Tx Enable)와, 송수신에 따라 저장할 패킷정보를 결정하는 인덱스 필드(Rx/Tx Index)로 이루어지며, 인덱스 필드는 PHY Header, MAC Header, UWB Secure Header, WUSB Header, MIC, CRC, PHY Status 중 어느 하나로 이루어진다.
그리고, 버퍼 관리유닛(40)은 도 17에 도시된 바와 같이 시퀀스 번호에 따라 할당받은 버퍼 디스크립터 체인 정보를 저장하는 시퀀스관리 리스트를 포함하여 송수신되는 데이터의 시퀀스 번호를 생성 관리하며 패킷의 손실 확인 및 인식정보의 생성을 관리하기 위한 시퀀스 관리부(46)와, 버퍼 메모리(30)에 체인구조로 할당된 버퍼 디스크립터 정보를 저장하는 버퍼관리 리스트를 포함하여 버퍼 디스크립터 메모리(20)의 변경을 담당하고 버퍼의 할당을 되돌리며 시퀀스 관리부(46)와 연계하여 동작하는 디스크립터 관리부(44)와, 관리 레지스터의 속성에따라 패킷정보 메모리에 저장되는 정보를 결정하며 시퀀스 관리부(46)와 디스크립터 관리부(44)에 따라 패킷정보 메모리를 인덱싱하는 패킷정보 관리부(48)와, 입력되는 명령어를 디코딩하는 커맨드 디코더(42)를 포함하여 이루어져 입력되는 명령에 따라 동적으로 할당한 버퍼의 개수, 동적 버퍼의 이동방향, 버퍼의 할당 방법 등에 따라 DMA 핸들러(50)를 호출하여 버퍼 메모리(30)나 버퍼 디스크립터 메모리(20) 및 패킷정보 메모리(70)를 관리하게 된다.
따라서, 버퍼 관리유닛(40)의 패킷정보 관리부(48)에서 디스크립터 관리부(44)에 의해 인덱싱되는 버퍼 메모리(30)에 대응되도록 데이터 페이로드 이외의 패킷정보에 대해 관리 레지스터의 속성에 따라 송수신되는 패킷의 종류를 결정하여 PHY Header, MAC Header, UWB Secure Header, WUSB Header, MIC, CRC, PHY Status 중 어느 하나의 패킷정보를 패킷정보 메모리에 저장하여 DRD 나 디버그시 편리하게 관리할 수 있도록 한다.
상기한 바와 같이 본 발명은 버퍼 메모리의 각 블록을 체인구조에 의해 동적으로 할당하여 수신되는 각각의 엔드포인트와 관계없이 통합적으로 관리함으로써 엔드포인트별 윈도우 구조로 구현에 의한 많은 양의 버퍼를 필요로 하지 않도록 하는 이점이 있다.
또한, 본원발명은 무선 USB 패킷에서 데이터 페이로드 이외의 패킷정보만을 저장하기 위한 패킷정보 메모리를 버퍼 메모리와 일대일 대응되도록 적은 사이즈로 부가하고 버퍼 관리유닛에서 버퍼 메모리의 관리와 대응되도록 패킷정보를 관리함으로써 DRD나 디버그를 위한 패킷정보를 편리하게 관리할 수 있는 이점이 있다.

Claims (10)

  1. 버퍼 관리유닛에 의해 버퍼 메모리의 블록을 할당하며 버퍼 메모리에 디스크립터된 정보를 저장하는 버퍼 디스크립터 메모리를 포함하여 이루어진 무선 USB 시스템에 있어서,
    상기 버퍼 디스크립터 메모리는 상기 버퍼 메모리의 블록과 일대일로 대응되어 디스크립터의 상태 및 디스크립터의 체인연결 정보를 저장하며;
    상기 버퍼 관리유닛은 시퀀스 번호에 따라 할당받은 상기 버퍼 디스크립터 체인 정보를 저장하는 시퀀스관리 리스트를 포함하여 송수신되는 데이터의 상기 시퀀스 번호를 생성 관리하며 패킷의 손실 확인 및 인식정보의 생성을 관리하기 위한 시퀀스 관리부와, 상기 버퍼 메모리에 체인구조로 할당된 상기 버퍼 디스크립터 정보를 저장하는 버퍼관리 리스트를 포함하여 상기 버퍼 디스크립터 메모리의 변경을 담당하고 버퍼의 할당을 되돌리며 상기 시퀀스 관리부와 연계하여 동작하는 디스크립터 관리부와, 입력되는 명령어를 디코딩하는 커맨드 디코더;
    를 더 포함하여 이루어져 입력되는 명령에 따라 동적으로 할당한 버퍼의 개수, 동적 버퍼의 이동방향, 버퍼의 할당 방법 등에 따라 버퍼를 관리하는 것
    을 특징으로 하는 무선 USB 시스템.
  2. 제 1항에 있어서, 상기 버퍼 디스크립터 메모리에 저장된 체인연결 정보는 버퍼 메모리의 블록내 사용되는 사이즈와, 디스크립터와 버퍼 메모리의 블록과 대응된 포인트와, 현재 디스크립터와 연결된 이전과 이후 디스크립터 포인트 정보가 저장된 것을 특징으로 하는 무선 USB 시스템.
  3. 제 1항에 있어서, 상기 시퀀스관리 리스트는 송수신되는 데이터의 시퀀스 번호에 따른 송수신 상태필드 및 할당받은 버퍼 디스크립터 체인의 시작 인덱스와 끝 인덱스 필드로 이루어진 것을 특징으로 하는 무선 USB 시스템.
  4. 제 1항 또는 제 3항에 있어서, 상기 시퀀스관리 리스트는 송수신 상태에 따라 전송이 완료된 시퀀스 번호의 값은 클리어 되는 것을 특징으로 하는 무선 USB 시스템.
  5. 제 1항에 있어서, 상기 버퍼관리 리스트는 버퍼 메모리에 체인 구조로 할당되는 데이터들의 버퍼 디스크립터 체인의 시작 포인트와 끝 포인트 및 체인으로 연결된 블록의 개수 정보로 이루어진 것을 특징으로 하는 무선 USB 시스템.
  6. 제 5항에 있어서, 상기 체인 구조로 할당되는 데이터는 사용하지 않는 버퍼, 어플리케이션, MMC, DN, 엔드포인트 별로 할당되는 것을 특징으로 하는 무선 USB 시스템.
  7. 제 1항에 있어서, 상기 버퍼 메모리의 블록과 일대일로 대응되도록 구성되어 송수신되는 패킷의 데이터 페이로드 이외의 패킷정보를 저장하기 위한 패킷정보 메모리를 더 포함하며;
    상기 버퍼 관리유닛은 레지스터의 속성에 따라 상기 패킷정보 메모리에 저장되는 정보를 결정하며 상기 시퀀스 관리부와 상기 디스크립터 관리부에 따라 상기 패킷정보 메모리를 인덱싱하는 패킷정보 관리부;
    를 더 포함하여 이루어진 것을 특징으로 하는 무선 USB 시스템.
  8. 제 7항에 있어서, 상기 레지스터의 속성은 상기 패킷의 저장유무 및 방법을 설정하는 모드필드와, 송수신중 어느 것을 저장할 지를 결정하는 송수신 인에이블 필드와, 송수신에 따라 저장할 패킷정보를 결정하는 인덱스 필드를 포함하여 이루어진 것을 특징으로 하는 무선 USB 시스템.
  9. 제 8항에 있어서, 상기 인덱스 필드는 PHY Header, MAC Header, UWB Secure Header, WUSB Header, MIC, CRC, PHY Status 중 어느 하나인 것을 특징으로 하는 무선 USB 시스템.
  10. 제 7항에 있어서, 상기 패킷정보 메모리에 저장되는 데이터는 헤더(Header)와 상태(Status)인 것을 특징으로 하는 무선 USB 시스템.
KR1020070008591A 2007-01-26 2007-01-26 무선 usb 시스템 KR100720709B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070008591A KR100720709B1 (ko) 2007-01-26 2007-01-26 무선 usb 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070008591A KR100720709B1 (ko) 2007-01-26 2007-01-26 무선 usb 시스템

Publications (1)

Publication Number Publication Date
KR100720709B1 true KR100720709B1 (ko) 2007-05-21

Family

ID=38277889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070008591A KR100720709B1 (ko) 2007-01-26 2007-01-26 무선 usb 시스템

Country Status (1)

Country Link
KR (1) KR100720709B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100898544B1 (ko) 2008-02-28 2009-05-20 주식회사 유비콘테크놀로지 초광대역 무선 시스템의 인터페이스 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063693A (ko) * 2004-12-03 2006-06-12 마이크로소프트 코포레이션 Usb 무선 데이터 전송을 스케줄링하는 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063693A (ko) * 2004-12-03 2006-06-12 마이크로소프트 코포레이션 Usb 무선 데이터 전송을 스케줄링하는 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100898544B1 (ko) 2008-02-28 2009-05-20 주식회사 유비콘테크놀로지 초광대역 무선 시스템의 인터페이스 장치

Similar Documents

Publication Publication Date Title
EP2862290B1 (en) Multiple protocol tunneling using time division operations
JP5420690B2 (ja) エンハンスドワイヤレスusbプロトコル及びハブ
US7487424B2 (en) Bitmap manager, method of allocating a bitmap memory, method of generating an acknowledgement between network entities, and network entity implementing the same
EP1775896A1 (en) Network on chip system employing an Advanced Extensible Interface (AXI) protocol
US7315583B2 (en) Digital subscriber line (DSL) modems supporting high-speed universal serial bus (USB) interfaces and related methods and computer program products
WO2009147811A1 (ja) インターフェース装置、通信システム、不揮発性記憶装置、通信モード切換方法および集積回路
JPH07325775A (ja) 入出力通信サブシステム及び方法
JP2000151664A (ja) デ―タ伝送方法
KR100728521B1 (ko) 통신 버스를 통해 수신된 버스 인터페이스 유닛 내의 데이터 패킷을 미리 처리하기 위한 방법 및 상기 방법에서 사용하기 위한 버스 인터페이스 유닛
US20090286489A1 (en) Wireless Communications Between Wired Devices with Adaptive Data Rates
CN107852423B (zh) 用于usb 2.0带宽保留的方法及系统
GB2409073A (en) Dedicated connection between CPU and network interface in multi-processor systems
US20090323723A1 (en) Wireless communication apparatus and packet transfer method thereof
KR20130107618A (ko) Usb 디바이스 장치의 데이터를 클라이언트 단말을 통해 서버로 전송하는 데이터 처리 방법 및 클라이언트 단말
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
CN113439419B (zh) 一种基于PCIe的数据传输方法、装置及系统
CN115357535A (zh) 一种虚拟串口设计方法及装置
KR20040041623A (ko) 버스 시스템 및 버스 인터페이스
KR100720709B1 (ko) 무선 usb 시스템
KR100311707B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스
US9722702B2 (en) SATA host bus adapter using optical signal and method for connecting SATA storage using the same
US20190013868A1 (en) Transporting multiple low-speed data streams across a high-speed communication link
KR20040043198A (ko) 버스 시스템 및 버스 인터페이스
US20070055804A1 (en) Method and apparatus for managing multiple components
WO2012058875A1 (zh) 一种串行通信的方法和系统

Legal Events

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