KR100798169B1 - 호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체 - Google Patents

호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체 Download PDF

Info

Publication number
KR100798169B1
KR100798169B1 KR1020000064193A KR20000064193A KR100798169B1 KR 100798169 B1 KR100798169 B1 KR 100798169B1 KR 1020000064193 A KR1020000064193 A KR 1020000064193A KR 20000064193 A KR20000064193 A KR 20000064193A KR 100798169 B1 KR100798169 B1 KR 100798169B1
Authority
KR
South Korea
Prior art keywords
data
external device
host computer
computer
communication
Prior art date
Application number
KR1020000064193A
Other languages
English (en)
Other versions
KR20010051352A (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 휴렛-팩커드 컴퍼니(델라웨어주법인)
Publication of KR20010051352A publication Critical patent/KR20010051352A/ko
Application granted granted Critical
Publication of KR100798169B1 publication Critical patent/KR100798169B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 CD-RW 장치 같은 지연 허용 불가(latency intolerant) 장치를 호스트 컴퓨터(101) 상에서 호환 가능한 높은 대역폭 인터페이스에 부착하는 것에 관한 것이다. 높은 대역폭 인터페이스로서 선호되는 것은 1990년대 후반에 제조된 개인용 컴퓨터 내에 통상 설치된 범용 직렬 버스(USB : 415)이다. 높게 사전 할당된 대역폭에 대한 필요성으로, 연속적인 데이터 전송을 필요로 하는 CD-RW 및 다른 장치(104)와 통신하기 위해 바람직한 등시 전송 모드를 이용한다. 데이터 신뢰성 메커니즘은 USB에 연결되는 다양한 장치로의 데이터 전송시 정확성을 보장하도록 USB와의 연결 상에서 바람직하게 구현된다.

Description

호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체{THE ISOCHRONOUS TRANSFER MODE ON A UNIVERSAL SERIAL BUS WITH ERROR CORRECTION ALGORITHMS}
도 1은 본 발명의 바람직한 실시예에 따라서 외부 장치에 연결되는 호스트 컴퓨터를 도시하는 도면,
도 2는 본 발명의 바람직한 실시예에 따라서 호스트 컴퓨터와 외부 장치 사이에서 통신하기 위해 이용 가능한 다른 전송 모드를 도시하는 도면,
도 3은 본 발명의 바람직한 실시예에 따라서 호스트 컴퓨터로부터 외부 장치로 전송되는 데이터 패킷을 도시하는 도면,
도 4는 본 발명의 바람직한 실시예를 이용하는데 적합한 컴퓨터 시스템을 도시하는 도면.
본 발명은 전반적으로 컴퓨터 시스템에 관한 것으로, 구체적으로 CD 드라이브 같은 외부 장치를 범용 직렬 버스(universal serial bus) 또는 USB를 경유해 컴퓨터 시스템에 부속시키기 위한 메커니즘에 관한 것이다.
컴퓨터 시스템, 특히 개인용 컴퓨터(PC) 시스템은 다른 작업보다도 데이터 저장, 검색 및 통신을 위해 주변 장치를 사용한다. 주변 장치는 하드 드라이브, 플로피 드라이브, CD 녹음용(CD-R) 드라이브 및 CD 재기록용(CD-RW) 드라이브를 포함하는 CD 장치, 테이프 드라이브, 모뎀, 키보드, 포인팅 장치(마우스), 및 스캐너를 포함한다. 주변 장치는 컴퓨터 케이스 내부 또는 외부에 실장된다. 주변 장치는 통합 드라이브 전자 장치(Integrated Drive Electronic : IDE), 개선된 통합 드라이브 전자 장치(Enhaced Integrated Drive Electronic : EIDE), ATAPI(AT Attachment Packet Interface), 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface : SCSI), 또는 주변 부품 상호 연결(Peripheral Component Interconnect : PCI) 인터페이스 같은 인터페이스를 통해 컴퓨터에 연결되고, 컴퓨터와 통신한다.
내부 실장형 사용자 설치 주변 장치는 일반적으로 바람직하지 않다. 사용자는 전형적으로 그러한 설치 및 구성에 대해 필요한 기술이 부족하다. 그 설치는 컴퓨터 케이스를 개방하고, 그 장치를 케이스에 고정시키고, 파워 라인을 파워 공급 장치에 연결하고, 데이터 라인을 마더보드(motherboard)에 연결하고, 마더보드 상에 제어기 카드를 설치하고, 장치상에 점퍼 블럭(IDE 상의 마스터(master)/슬레이브(slave), SCSI에 대해서는 SCSI ID들)을 구성하는 것을 수반한다. 설치 후에, 사용자는 시스템내의 동작을 위해 장치를 구축해야 한다. 이것은 기본 입출력 시스템(BIOS)에서 파라미터 리셋(reset) 및/또는 운영 시스템(OS)에 있어서의 파일을 구축하는 것을 수반할 수도 있다. 플러그 앤드 플레이(plug and play) 메커니즘이 다소 구성을 단순화 하였지만, 설치는 대부분의 사용자에게 여전히 벅차다.
이 문제에 대한 한가지 해결책은 주변 장치가 직렬 포트 또는 병렬 포트 같은 사전에 구성되고 사전 설치된 포트에 외부적으로 결합되도록 하는 것이다. 이러한 유형의 포트는 대부분의 컴퓨터에서 표준이다. 사용자는 장치로부터 컴퓨터 케이스상의 적당한 포트에 케이블을 연결하고 전력 공급 케이블을 월 소켓(wall socket)에 단지 연결하면 된다. 그러나 직렬 포트가 일반적으로 느리다는 문제가 발생할 수도 있다. 더욱이, 임의 직렬 포트 제어기들은 데이터 버퍼링(buffering) 기능이 없어서, 고속 통신이 채용될 때 데이터를 손실할 수도 있다. 또한 외부 주변 장치는 내부 장치 베이(bays)가 거의 없는 랩탑(laptops) 같은 휴대용 컴퓨터와 함께 자주 사용된다. 병렬 포트를 사용할 때에도 문제점이 또한 발생한다. 병렬 포트는 시스템 버스가 아니라 시스템 버스에 연결되는 카드로의 커넥터이다. 병렬 포트는 동시에 다수 와이어 상에서 여러 데이터 비트를 전송하고 수신하도록 설계된다. 시스템 버스에 연결되는 카드는 병렬 칩 세트를 가지며, 병렬 데이터를 시스템 버스 데이터로 전환하거나 그 반대로 전환한다. 일반적으로, 상이한 컴퓨터 시스템간에는 서로 다른 병렬 칩 세트가 사용된다. 결과적으로, 단일 통신 표준을 채용하는 외부 장치가 아마도 상이하고 비호환성의 표준을 채용한 다른 병렬 포트 칩 세트와 사용될 때에는 다수의 비호환성 문제가 발생한다. 더욱이, 병렬 포트는 양방향, ECP(Extended Capability Port), SPP(Standard Printer Port), 및 EPP(Enhanced Parallel Port) 모드 같은 다양한 모드에서 동작할 수도 있다. 일부 컴퓨터들에 있어서, 특정 모드는 CD-RW 같은 고속 데이터 장치를 지원하기에는 너무 느리며, 따라서 장치는 그 모드에서 동작할 수 없다. 적절한 동작을 보장하기 위해, 사용자는 BIOS에서의 병렬 포트 세팅을 수정해야 한다.
다른 해결책은 시스템에 SCSI 카드 같은 인터페이스 카드를 부가하는 것이다. 이것은 사용자로 하여금 외부 장치를 카드에 플러그할 수 있게 해준다. 그러나, 이 해결책은 전술한 바와 같이 전형적으로 컴퓨터 케이스 내부에 장착된 마더보드 상의 ISA 또는 PCI 확대 슬롯(slot)으로 카드를 설치하는 것을 필요로 한다. 인터페이스 카드의 설치는 또한 컴퓨터 시스템에 내부적으로 설치되는 장치의 사용자 구성과 관련하여 어려움을 초래한다.
또다른 방법은 범용 직렬 버스 또는 USB의 사용을 수반한다. 이 버스는 외부 연결 포인트를 특징으로 하며, 따라서 외부 장치의 간단한 연결이 가능하다. 1997년 이후에 구축된 대부분의 컴퓨터는 USB를 특징으로 한다. USB는 Windows98 및 Windows2000과 동작하며, 그러한 운영 시스템에서 지원을 갖는다. 그러나, USB의 사용은 소정의 응용에 대해서는 문제점을 나타낸다. 한가지 문제점은 USB는 다수의 장치가 동일 버스에 동시에 플러그할 수 있는 공유되는 버스이므로, 버스의 한정된 총 대역폭을 모든 장치가 공유한다는 점이다. 따라서 다수 장치 중 임의의 장치가 이용할 수 있는 대역폭이 제한될 수 있다.
추가 문제점은 USB 상의 데이터 전송의 이용 가능 모드에 의해 나타난다. 현재, 데이터 전송을 위한 두가지 통신 모드가 있는데, 벌크 모드(bulk mode)와 등시 전송 모드(isochronous transfer mode)이다. 벌크 모드는 에러 정정을 제공하며, 그에 의해 에러 데이터가 데이터 패킷 내에 포함되면 적당한 형태로 그것이 전송될 때까지 패킷을 재전송하도록 보장한다. 그러한 에러 정정 및 재전송은 정확한 데이터 전송을 보장하는데 도움을 주지만, 정정 및 재전송 프로세스는 벌크 모드 통신에 대해 통신 속도를 상당히 느리게 한다. 또한, 등시 데이터 전송은 먼저 전송되어 USB 상에서 사전 할당된 대역폭을 제공받지만, 벌크 모드는 일반적으로 전송에 대해 낮은 우선 순위가 배정되어, 보장된 대역폭을 제공받지 못한다. 벌크 데이터는 일반적으로 더 높은 우선 순위 데이터가 먼저 전송된 후에만 전송된다.
따라서, 벌크 데이터의 무결성은 보장될 수 있으나, 높은 우선 순위 데이터에 의해 데이터 전송이 자주 차단된다. 따라서, 벌크 모드는 CD-R 또는 CD-RW 장치 같은 연속적인 데이터 스트림을 필요로 하는 장치와 함께 사용하는데 있어서는 적합하지 않다. CD-RW 장치 또는 CD-R 또는 디지털 오디오 테이프 장치와 같은 다른 "연속 흐름" 데이터 수신 장치에 기록시, 데이터 스트림은 차단되지 않는 것이 바람직하다는 것에 유의하여야 한다. 벌크 데이터 전송시 중단(break)이 있고 후에 재개되는 경우, CD-RW, 또는 다른 데이터 수신 장치는 이전 전송이 종료된 곳에서 흠없이 동작을 재개할 수 없다. CD-R 디스크에 기록하는 것과 같은 응용에서는, 이러한 것이 CD 굽기를 실패하게 한다.
이러한 문제점은 USB 설계로 부터 비롯된다. USB는 예를 들어 키보드, 마우스, 조이스틱 등의 HID(Human Interface Device) 장치용으로 설계된다. 즉, 이러한 장치들은 낮은 데이터 속도를 가지며, 일반적으로 연속적인 데이터 스트림을 수신하지 못한다. 결과적으로, CD 또는 CD-RW 드라이브 같은 고속, 및 일정한 흐름의 장치를 위한 컴퓨터 운영 시스템의 원시 지원이 거의 없다.
따라서, 높은 데이터 속도를 가지며 사용시 운영 시스템과 호환 가능한 컴퓨터를 위한 외부 인터페이스에 대한 기술이 필요하다.
전술한 목적 및 다른 목적, 특징, 기술적 장점들은 호스트 컴퓨터용의 운영 시스템에 의해 호환 가능하고, 보장된 높은 통신 대역폭을 가진 호스트 컴퓨터 상의 인터페이스에 외부 장치를 연결하고 데이터 전송시 에러 정정 정보를 호스트 컴퓨터와 장치 사이의 데이터 스트림에 직접 합체시키는 것을 포함하는 시스템 및 방법에 의해 달성된다. 에러 정정 정보를 데이터 스트림에 도입하는 것은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 두 개 이상의 조합에 의해 달성될 수 있다. 에러 정정 정보는 호스트 컴퓨터 또는 외부 장치중 하나에 의해 도입될 수 있다. 데이터 신뢰성 메커니즘은 TCP, Kermit, 또는 Zmodem 같은 설정된 프로토콜에 따라 데이터를 재전송을 구현하거나, 리드 솔로몬 알고리즘(Reed-Solomon algorithm)에 따라 에러 정정을 구현할 수 있다. 전술한 데이터 재전송 및 에러 정정 코드 프로토콜은 당업자에게 잘 알려져 있으므로, 본 명세서에서는 자세히 설명하지 않겠다.
바람직한 실시예에서, 호스트 컴퓨터 상의 범용 직렬 버스(USB)는 외부 장치와 통신하기 위해 채용된다. USB는 일반적으로 개인용 컴퓨터 상에서 호환 가능하며 높은 통신 대역폭을 가진다. 바람직하게 USB와 외부 장치 사이의 데이터 전송을 위해 등시 전송 모드가 사용되며, 그에 의해 데이터 수신 요구가 지연을 허용하지 않은 장치에 대해 사전 할당된 높은 대역폭이 유지될 수 있다.
본 명세서에서, 에러 정정을 위해 사용되는 데이터는 "에러 정정 데이터" 또는 "에러 정정 코드"로 지칭되고, 외부 장치에 전송되기 위한 데이터 및 외부 장치가 사용하는 데이터는 "장치 데이터" 또는 "실질 데이터"로 지칭된다. 정확한 데이터 전송을 보장하기 위한 메커니즘의 일반적 용어는 "데이터 신뢰성 메커니즘"이다. 바람직하게, 데이터 신뢰성 메커니즘은 패킷 또는 다른 데이터 컨테이너(container) 내의 데이터에 결점이 있는지를 판정하기 위해 에러 정정 데이터를 채용한다. 결함 데이터가 존재한다고 판정할 때, 데이터 신뢰성 메커니즘은 결함 데이터를 수신한 장치에서 재전송 없이 데이터를 정정하던지, 또는 전송 장치에 데이터 재전송을 요청한다. 수신 장치(관련된 패킷의 재전송과는 반대)에서의 데이터 정정은 본 명세서에서 "온 사이트(on-site)" 데이터 정정으로 지칭된다. 호스트 컴퓨터 및 다양한 외부 장치 모두는 바람직하게 데이터의 전송기 및 수신기일 수 있으며, 데이터 신뢰성 메커니즘을 구현할 수도 있다. 본 명세서에서, "지연 허용 불가(latency intolerant)" 동작 또는 장치는, 데이터 전송시의 지연(delay)이 본질적으로 프로세스 또는 장치의 동작을 손상시키고, 추후에 요구된 데이터를 제공할지라도 그러한 손상이 반드시 치료되지는 않는 상황을 말한다.
바람직한 실시예에서, 에러 정정 데이터는 데이터가 호스트 컴퓨터를 떠나 연결된 외부 장치로 전송될 때 데이터 스트림에 바람직하게 도입된다. 에러 정정 데이터는 또한 외부 장치에서 호스트 컴퓨터로 전송되는 데이터 스트림에 도입될 수도 있다. 호스트 컴퓨터 및 외부 장치 모두는 장치 데이터와 함께 수신된 에러 정정 테이터를 처리하여 전송된 데이터 패킷이 에러 데이터를 포함하는지를 판정하는 기능을 바람직하게 가진다. 채용된 에러 정정 기법 또는 데이터 신뢰성 메커니즘의 특성에 따라서, 전송된 데이터가 에러를 포함한다고 판정하였을 경우 이에 대한 응답으로는 수신 장치(호스트 컴퓨터 또는 외부 장치중 하나)가 에러 데이터를 포함하는 데이터 패킷이 재전송되도록 요청하는 것을 포함한다. 이와 달리, 에러 정정 기법이 그러한 정정을 위한 충분한 정보를 제공한다면, 데이터 수신 장치는 데이터 수신시에 에러 데이터를 정정할 수도 있다.
본 발명의 이점은 데이터 속도가 고속이며 호스트 컴퓨터용 운영 시스템에 의해 호환 가능한 외부 인터페이스를 제공한다는 것이다.
본 발명의 다른 이점은 고속 데이터 외부 인터페이스를 채용하는 외부 장치와 통신하기 위해 충분한 대역폭이 사전 할당된다는 것이다.
본 발명의 또다른 이점은 외부 인터페이스 상에서 고속 데이터 통신을 위해 에러 정정이 구현될 수 있다는 것이다.
본 발명의 특징 및 기술적 이점을 다소 폭넓게 상술하였지만, 이하에서 더욱 자세히 설명하겠다. 또한 본 발명의 청구범위의 주제를 형성하는 추가적인 특징 및 이점을 이하에서 설명하겠다. 당업자들은 개시된 개념 및 특정한 실시예를 다른 구조로 수정 또는 설계하는 기초로써 이용하여 본 발명의 목적과 동일한 목적을 달성할 수 있으며, 그러한 구현이 본 발명의 청구범위를 벗어나지 않는다는 것에 유의해야 한다.
도 1은 본 발명의 바람직한 실시예에 따라서 외부 장치(104)에 연결되는 호스트 컴퓨터(101)을 도시한다. 바람직한 실시예에서, 호스트 컴퓨터(101)는 링크(103)를 사용하여 외부 장치(104)와 연결되며, 여기서 링크는 컴퓨터 포트(102)와 외부 장치 포트(105)에 연결된다.
바람직한 실시예에서, 호스트 컴퓨터는 윈도우즈(Windows)TM 운영 시스템을 구동하는 개인용 컴퓨터이다. 이와 달리, 호스트 컴퓨터는 애플 아이맥(Apple iMACTM) 컴퓨터 또는 적절한 운영 시스템하에서 구동되는 다른 상표의 개인용 컴퓨터일 수 있으며, 그러한 변형 모두는 본 발명의 범주내에 속한다. 호스트 컴퓨터 상의 포트(102)는 범용 직렬 버스 또는 USB에 바람직하게 연결된다. USB는 호스트 컴퓨터용의 운영 시스템 상에서의 상위 수준의 소프트웨어 지원을 갖기 때문에 선택되며, 따라서 외부 장치(104)와의 연결을 구현하기 위한 전용 소프트웨어의 필요성이 최소화된다. 데이터가 호스트 컴퓨터(101)상의 포트(102)로부터 전송된 후에, 데이터는 링크(103)를 따라 외부 장치(104)상의 포트(105)에 전송된다.
바람직한 실시예에서, 외부 장치(104)는 지연 허용 불가 데이터 전송 요건을 가진다. 달리 말하면, 장치(104)는 장치(104)로 데이터 전송시 지연이 있으면 단지 시간 지연에 그치지 않고 진행중인 동작을 중단할 수도 있는 동작을 수행한다. 예를 들어, 그러한 지연 허용 불가 장치로는 CD-RW(Compact Disc Re-Writeable) 장치가 있으며, CD-RW 장치는 일반적으로 일정 데이터 전송 속도 또는 대역폭에서 차단되지 않는 데이터 전송에 의존한다. CD에 기록중이거나 굽고 있는 CD-RW 장치로의 데이터 전송이 차단되면, 굽는 작업은 실패할 것이고, 프로세스가 새로이 시작되어야 한다.
다른 유형의 외부 장치가 본 발명과 관련하여 사용될 수도 있다. 그러나 본 발명은, 지연이 허용되는 동작을 수행하는 장치보다 지연 허용이 불가한 동작을 수행하는 장치에서 더 유리하다.
도 2는 본 발명의 바람직한 실시예에 따라서 호스트 컴퓨터와 외부 장치 사이에서 통신하는데 이용 가능한 다른 전송 모드를 도시한다. 참조 번호(201)는 등시 전송 모드를 채용하여 전송된 데이터 스트림을 도시한다. 참조 번호(202)는 벌크 전송 모드에 의해 전송되는 데이터 스트림을 도시한다. 참조 번호(203)는 두 전송 모드 사이를 조정하기 위한 통신 제어기를 도시한다.
일반적으로, 등시 전송 모드는 사전 할당된 높은 대역폭의 이점이 있으며, 따라서 등시 전송 모드를 채용하여 통신되는 데이터가 사전 설정된 속도로 신뢰성 있게 전송되는 것을 보장한다. 등시 전송 모드의 결점은 일반적으로 데이터 재전송의 형태로든 수신 장치에서의 에러 정정이든 내부 설계된 신뢰성 메커니즘을 갖지 않는다는 것이다. 참조 번호(202)는 벌크 전송 모드의 데이터 전송을 도시하며, 벌크 전송 모드는 일반적으로 내부 설계된 에러 검출을 가져서, 에러 비트를 갖는 데이터 패킷이 전체 패킷을 재전송함으로써 정정될 수 있게 한다.
리드 솔로몬 에러 정정 기법은 본 발명이 사용하는 한가지 가능한 에러 정정 기법이다. 그러나 본 발명이 소정의 특정한 에러 정정 기법의 사용에 국한되는 것은 아니다. 리드 솔로몬 에러 정정 기법은 잘 알려진 기술이어서 본 명세서에서는 상세히 설명하지 않겠다.
일반적으로, 통신 제어기(203), 또는 다른 조정 메커니즘은 포트(102)로부터의 전송을 위해 등시 데이터 스트림(201) 또는 벌크 데이터 스트림(202)중 어느 하나로부터 데이터 패킷을 선택한다. 벌크 데이터 스트림(202) 상의 데이터 보다 등시 데이터 스트림(201) 상에서 전송되기를 기다리는 데이터에 우선 순위가 주어지는 것이 바람직하므로, 일반적으로 벌크 데이터 스트림(202) 상의 전송 데이터는 등시 데이터 스트림(201)이 완전히 서비스될 때까지 대기한다.
바람직한 실시예에서, 외부 장치(104)와 통신하기 위해 등시 데이터 스트림이 사용된다. 외부 장치(104)에 전송되는 데이터의 정확성을 보장하기 위해, 에러 정정 코드가 등시 데이터 스트림(201) 내의 데이터 패킷에 합체되며, 이 결합된 패킷은 링크(103)를 따라 포트(102)로부터 외부 장치(104)에 전송된다. 에러 정정 코드 발생기(204)는 에러 정정 데이터(205)를 등시 데이터 스트림(201)에 바람직하게 삽입하며, 그 등시 데이터 스트림 패킷은 호스트 컴퓨터(101) 상의 포트(102)로부터 전송된다(도 1).
외부 장치(104)는 에러 정정 데이터(205)를 외부 장치(104)로부터 호스트 컴퓨터(101)에 전송되는 데이터 패킷에 도입하기 위한 메커니즘을 가지는 것이 바람직하며, 여기서 메커니즘은 상술한 에러 정정 코드 발생기(204)의 동작과 유사하다. 에러 정정 코드 발생기(204) 및 외부 장치(104)에서의 유사한 메커니즘은 호스트 컴퓨터(101) 및 외부 장치(104) 내에서 하드웨어, 펌웨어, 소프트웨어, 또는 이들 3방식중 둘 이상의 조합에 의해 구현될 수도 있다.
이와 달리, 에러 정정 코드 발생기(204)는 호스트 컴퓨터(101)와 통신하는 개별적인 계산 장치 내에서 구현될 수 있으며, 이러한 대안적인 방안 모두는 본 발명의 범위에 속한다. 본 발명에 있어서 에러 정정의 실행은 설정된 데이터 전송 프로토콜에 유사한 프로토콜을 구현하는 것을 포함하고, 설정된 데이터 전송 프로토콜은 TCP, Kermit, 및 Zmodem 같은 내부 설계된 데이터 재전송 또는 리드 솔로몬 알고리즘이 제공하는 것과 같은 "온사이트" 에러 정정을 가진다.
도 3은 본 발명의 바람직한 실시예에 따라서 호스트 컴퓨터(101)로부터 외부 장치(104)에 전송되는 데이터 패킷을 도시한다. 데이터 패킷(301)은 장치 데이터 및 에러 정정 데이터(205)를 모두 포함하되, 장치 데이터는 궁극적으로 장치(104) 또는 호스트 컴퓨터(101)에 의해 사용되며 에러 정정 데이터(205)는 장치 데이터의 정확성을 체크하기 위한 것으로, 선택적으로 장치 데이터를 정정하기도 한다. 외부 장치(104)로부터 호스트 컴퓨터(101)에 전송되는 데이터 패킷은 또한 호스트 컴퓨터(101)에서 수신 및 적당한 처리를 위해 장치 데이터 및 에러 정정 데이터를 포함하는 것이 바람직하다.
바람직한 실시예에서, 각각의 데이터 패킷(301)은 도 3에서 소문자 "d" 시퀀스로 표시된 사전 선택된 장치 데이터 비트 세트와, 그 뒤의 소문자 "e" 시퀀스로 표시된 사전 선택된 수의 에러 정정 데이터 비트를 포함한다. 패킷(301)내의 데이터 및 에러 정정 비트의 시퀀스는 호스트 컴퓨터(101)로부터 외부 장치(104)에 전송되는 데이터 패킷에 대한 바람직한 시퀀스이다. 외부 장치(104)로부터 호스트 컴퓨터(101)에 전송되는 데이터 패킷에 있어서, 데이터 비트는 유사하게 에러 정정 비트보다 앞선다. 그러나, 장치(104)로부터 호스트(101)로의 통신의 경우에, 도 3에 도시된 바와 같이 "d" 시퀀스의 데이터 비트는 도 3에 도시된 바와 같이 "e"시퀀스의 에러 정정 비트의 좌측에 바람직하게 도시된다.
이와 달리, 에러 정정 데이터 비트는 데이터 패킷(301) 내의 어디에도 위치할 수도 있고, 장치 데이터 비트 및 에러 정정 데이터 비트의 상대적인 수는 컴퓨터(101), 외부 장치(104), 및 수행되는 응용의 특성에 따라 변할 수도 있으며, 그러한 모든 변화는 본 발명의 범위에 속한다.
바람직한 실시예에서, 등시 데이터 스트림(201)(도 2)으로부터의 장치 데이터 및 에러 정정 데이터는 데이터 패킷이 호스트 컴퓨터(101)로부터 전송되기 전에 에러 정정 코드 발생기(204)(도 2)에 의해 데이터 패킷(301)에 삽입된다. 바람직하게 에러 정정 기법이 실행되어 호스트 컴퓨터(101)와 외부 장치(104)가 연계하여 에러 데이터가 검출되고 정정되는 것을 보장한다. 바람직한 에러 정정 기법에 의해 장치(104)는 장치(104)의 포트(105)에 도착하는 에러 데이터를 검출하고 에러 정정 데이터를 채용하여 그 데이터에서 에러를 검출하며 바로 그 외부 장치(104)에서 또는 "온 사이트"에서 전송된 패킷 데이터에서의 그러한 에러를 정정한다. 다른 실시예에서, 외부 장치는 에러 검출시 에러 상태의 존재를 나타내며 에러 데이터를 가진 데이터 패킷의 재전송을 요청한다.
바람직한 실시예에서, 데이터 통신은 호스트 컴퓨터(101)와 외부 장치(104) 사이에서 양방향으로 이루어진다. 유사하게, 전송에 앞서 에러 정정 데이터를 데이터 패킷에 삽입하고, 에러 정정 데이터에 기초하여 에러 데이터의 정정을 시도하는 프로세스 및/또는 전송된 데이터에서의 에러의 판정에 기초하여 데이터 재전송을 요청하는 프로세스는 외부 장치(104) 및 호스트 컴퓨터(101)에 의해 바람직하게 수행된다.
도 4는 본 발명을 사용하는데 적합한 컴퓨터 시스템(400)을 도시한다. 중앙 처리 장치(Central Processing Unit : CPU(401))는 시스템 버스(402)와 결합한다. CPU(401)는 HP PA-8200 같은 임의의 범용 CPU일 수도 있다. 그러나, 본 발명은 CPU(401)가 본 명세서에서 설명되는 발명적 동작을 지원하기만 하면 CPU(401)의 구조(architecture)에 제한받지 않는다. 버스(402)는 SRAM, DRAM, SDRAM일 수도 있는 RAM(403)과 결합한다. PROM(PROM), EPROM, EEPROM일 수도 있는 ROM(404)은 또한 버스(402)와 결합한다. RAM(403) 및 ROM(404)은 종래 기술에서 잘 알려진 바와 같이 사용자와 시스템 데이터 및 프로그램을 홀딩한다. 시스템 버스(402)는 또한 범용 직렬 버스 어댑터(adapter : 414)를 경유해 범용 직렬 버스(415)와 바람직하게 결합한다. 하나 이상의 포트가 범용 직렬 버스(415)에 연결될 수도 있다.
USB 어댑터(414)는 시스템 버스에 플러그되는 하드웨어의 개별 부분일 수도 있다. 이와 달리, USB 어댑터(414)는 컴퓨터 마더보드 상의 칩세트상에 집적화될 수도 있다.
시스템 버스(402)는 또한 입/출력(I/O) 어댑터(405), 통신 어댑터 카드(411), 사용자 인터페이스 어댑터(408) 및 디스플레이 어댑터(409)와 결합한다. I/O 어댑터(405)는 하나 이상의 하드 드라이브, CD 드라이브, 플로피 디스크 드라이브, 테이프 드라이브 같은 저장 장치(406)를 컴퓨터 시스템에 연결한다. 통신 어댑터(411)는 컴퓨터 시스템(400)을 하나 이상의 근거리 통신망(LAN), 광역 통신망(WAN), 이더넷(ethernet) 또는 인터넷 네트워크일 수도 있는 네트워크(412)에 연결하는데 사용된다. 사용자 인터페이스 어댑터(408)는 키보드(413) 및 포인팅 장치(407) 같은 사용자 입력 장치를 컴퓨터 시스템(400)에 연결한다. 디스플레이 어댑터(409)는 디스플레이 장치(410) 상의 디스플레이를 제어하도록 CPU(401)에 의해 구동된다.
본 발명 및 본 발명의 이점을 상세히 설명하였다 하더라도, 다양한 변화, 대체 및 수정이 가능하며, 이러한 다양한 변화등은 본 발명의 범위에 속한다는 것을 이해해야 한다. 더욱이, 본 발명 응용의 범위는 프로세스, 기계, 제조, 구성, 수단, 구체화된 수단 및 방법 등의 특정한 실시예에 제한되지 않는다. 당업자들은 본질적으로 동일한 기능을 수행하고 동일한 결과를 달성하는 프로세스등을 본 발명의 개시로부터 쉽게 인식할 수 있으며, 본 명세서에 도시된 대응하는 실시예를 쉽게 이용할 수도 있다. 따라서, 본 발명의 청구범위는 이러한 프로세스, 구성 등을 포함한다.
본 발명은 데이터 속도가 고속이며 호스트 컴퓨터 본래의 운영 시스템과 호환 가능한 외부 인터페이스를 제공하고, 고속 데이터 외부 인터페이스를 사용하는 외부 장치와 통신하기 위해 충분한 대역폭이 사전 할당되며, 외부 인터페이스 상에서 고속 데이터 통신을 위해 에러를 정정할 수 있는 효과가 있다.

Claims (18)

  1. 호스트 컴퓨터(a host computer)와 외부 장치(an external device) 사이에서의 연속적인 통신(continuous communication)을 설정하기 위한 방법에 있어서,
    상기 호스트 컴퓨터와 상기 외부 장치 사이에서의 통신을 위해 상기 호스트 컴퓨터 상에서 높은 대역폭 통신 인터페이스(a high bandwidth communication interface)를 채용하는 단계와,
    상기 호스트 컴퓨터와 상기 외부 장치 사이에서의 통신을 위해 보증된 대역폭(guaranteed bandwidth)을 보장하는 전송 모드(a transfer mode)를 채용하는 단계와,
    상기 호스트 컴퓨터와 상기 외부 장치 사이에서의 정확한 데이터 통신을 보장하기 위한 데이터 신뢰성 메커니즘(a data reliability mechanism)을 구현하는 단계와,
    상기 외부 장치가 데이터 패킷(a data packet)을 수신시, 에러 데이터가 상기 데이터 패킷 내에 존재하는지를 판정하는 단계를 포함하되,
    상기 인터페이스는 상기 호스트 컴퓨터 본래의 운영 시스템(an operating system) 상에서의 상위 수준의 지원(a high level of support)을 가지며,
    상기 데이터 패킷 내에 에러 데이터가 존재하면, 상기 데이터 패킷의 재전송을 요청하는 단계를 포함하는
    연속적인 통신 설정 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 데이터 패킷 내에 에러 데이터가 존재하면, 상기 외부 장치에서 상기 에러 데이터를 정정하는 단계를 더 포함하는 연속적인 통신 설정 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 높은 대역폭 통신 인터페이스는 범용 직렬 버스(a Universal Serial Bus)인 연속적인 통신 설정 방법.
  6. 제 1 항에 있어서,
    상기 전송 모드는 등시 전송 모드(an isochronous transfer mode)인 연속적인 통신 설정 방법.
  7. 제 1 항에 있어서,
    상기 데이터 신뢰성 메커니즘은 상기 호스트 컴퓨터와 상기 외부 장치 모두에서 구현되는 연속적인 통신 설정 방법.
  8. 제 1 항에 있어서,
    상기 데이터 신뢰성 메커니즘은 리드 솔로몬 알고리즘(a Reed-Solomon algorithm)을 따르는 온 사이트(on-site) 에러 정정을 포함하는 연속적인 통신 설정 방법.
  9. 호스트 컴퓨터(101)와 외부 장치(104) 사이에서의 연속적인 통신을 설정하기 위한 시스템에 있어서,
    상기 호스트 컴퓨터 상의 높은 대역폭 통신 인터페이스와,
    사전 할당된 높은 통신 대역폭을 갖는 상기 통신 인터페이스와 함께 사용되는 데이터 전송 모드와,
    상기 호스트 컴퓨터와 상기 외부 장치간의 정확한 데이터 통신을 보장하기 위해 상기 호스트 컴퓨터와 상기 외부 장치 사이에서 배치되는 데이터 신뢰성 메커니즘을 포함하되,
    상기 인터페이스는 상기 호스트 컴퓨터용의 운영 시스템과 호환 가능하며, 상기 데이터 신뢰성 메커니즘은 에러가 있는 경우에 데이터 재전송을 위한 메커니즘을 포함하는 연속적인 통신 설정 시스템.
  10. 제 9 항에 있어서,
    상기 외부 장치의 동작은 지연 허용 불가(latency-intolerant)인 연속적인 통신 설정 시스템.
  11. 제 10 항에 있어서,
    상기 외부 장치의 상기 동작은 CD-RW 기록 동작인 연속적인 통신 설정 시스템.
  12. 제 9 항에 있어서,
    상기 높은 대역폭 통신 인터페이스는 범용 직렬 버스인 연속적인 통신 설정 시스템.
  13. 제 9 항에 있어서,
    상기 데이터 전송 모드는 등시 전송 모드인 연속적인 통신 설정 시스템.
  14. 제 13 항에 있어서,
    상기 외부 장치는 CD 장치이고, 상기 시스템은 CD 굽기 동작동안에 상기 CD 장치에 데이터를 계속적으로 전송하기 위해 상기 등시 전송 모드를 채용하는 연속적인 통신 설정 시스템.
  15. 호스트 컴퓨터와 외부 장치간의 신뢰성 있는 통신을 설정하기 위해 컴퓨터 프로그램 로직이 기록된 컴퓨터 독출 가능 매체로서,
    상기 컴퓨터 프로그램 로직은,
    상기 호스트 컴퓨터상의 범용 직렬 버스로부터 상기 외부 장치로의 데이터 전송을 조정하는 컴퓨터 프로그램 코드와,
    상기 데이터 전송에 대해 사전 할당된 상위 수준의 대역폭을 보장하기 위해 상기 데이터 전송과 함께 등시 전송 모드를 채용하는 컴퓨터 프로그램 코드와,
    상기 호스트 컴퓨터로 부터 상기 외부 장치로 상기 전송시에 데이터의 정확성을 보장하기 위해 데이터 재전송 기법을 구비한 데이터 신뢰성 메커니즘을 구현하는 컴퓨터 프로그램 코드를 포함하는
    컴퓨터 독출 가능 매체.
  16. 제 15 항에 있어서,
    상기 데이터 신뢰성 메커니즘을 구현하는 컴퓨터 프로그램 코드는 상기 호스트 컴퓨터와 상기 외부 장치에서 구현되는
    컴퓨터 독출 가능 매체.
  17. 제 15 항에 있어서,
    상기 외부 장치는 CD-RW 장치인
    컴퓨터 독출 가능 매체.
  18. 제 15 항에 있어서,
    상기 데이터 신뢰성 메커니즘은 리드-솔로몬 에러 정정 기법을 더 포함하는
    컴퓨터 독출 가능 매체.
KR1020000064193A 1999-11-03 2000-10-31 호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체 KR100798169B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/433,778 1999-11-03
US09/433,778 US6651184B1 (en) 1999-11-03 1999-11-03 Isochronous transfer mode on a universal serial bus with error correction algorithms
US09/433,778 1999-11-03

Publications (2)

Publication Number Publication Date
KR20010051352A KR20010051352A (ko) 2001-06-25
KR100798169B1 true KR100798169B1 (ko) 2008-01-24

Family

ID=23721505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000064193A KR100798169B1 (ko) 1999-11-03 2000-10-31 호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체

Country Status (6)

Country Link
US (1) US6651184B1 (ko)
EP (1) EP1098251B1 (ko)
JP (1) JP2001184270A (ko)
KR (1) KR100798169B1 (ko)
DE (1) DE60029402T2 (ko)
TW (1) TWI222799B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223213A (ja) * 2001-01-26 2002-08-09 Matsushita Electric Ind Co Ltd データ転送方法、記憶装置、その制御方法、及びデータ転送制御装置
JP2003115886A (ja) * 2001-10-05 2003-04-18 Fujitsu Ltd シリアル通信装置
US7152107B2 (en) * 2002-08-07 2006-12-19 Hewlett-Packard Development Company, L.P. Information sharing device
TWI416329B (zh) * 2009-01-06 2013-11-21 Starchips Technology Inc 串列傳輸裝置及其訊號傳輸方法
JP5387227B2 (ja) * 2009-08-21 2014-01-15 富士通株式会社 ネットワークマネージャ機器による設定変更方法及びプログラム、ネットワーク機器の制御方法及びプログラム、ネットワークマネージャ機器及びネットワーク機器
TWI424331B (zh) * 2010-12-13 2014-01-21 Univ Kun Shan Electronic device with wireless isochronous transmission function
CN112005544A (zh) * 2018-06-14 2020-11-27 惠普发展公司,有限责任合伙企业 具有错误状态hid通知的会议

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303349A (en) * 1990-06-06 1994-04-12 Valitek, Inc. Interface for establishing a number of consecutive time frames of bidirectional command and data block communication between a Host's standard parallel port and a peripheral device
US5317604A (en) * 1992-12-30 1994-05-31 Gte Government Systems Corporation Isochronous interface method
JPH0816513A (ja) * 1993-11-26 1996-01-19 Sgs Thomson Microelectron Sa 周辺装置とシリアルのデジタルデータを交換するための、プロセッサに組み付けられたインターフェース回路
US5581669A (en) * 1992-12-18 1996-12-03 Microsoft Corporation System and method for peripheral data transfer
US5615404A (en) * 1994-10-31 1997-03-25 Intel Corporation System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals
EP0869428A2 (en) * 1997-04-02 1998-10-07 Canon Kabushiki Kaisha Image processing apparatus and system
KR19980086711A (ko) * 1997-05-01 1998-12-05 조오지 떠블유 하우스위어트 범용직렬버스 주변장치 마이크로 컨트롤러

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01268227A (ja) * 1988-04-19 1989-10-25 Ricoh Co Ltd 誤り訂正装置
US5751955A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Method of synchronizing a pair of central processor units for duplex, lock-step operation by copying data into a corresponding locations of another memory
JPH08106733A (ja) * 1994-10-07 1996-04-23 Hitachi Ltd 情報記憶媒体利用システム
US5968197A (en) * 1996-04-01 1999-10-19 Ericsson Inc. Method and apparatus for data recovery
JPH1013388A (ja) * 1996-06-26 1998-01-16 Hokuriku Nippon Denki Software Kk データ転送装置
JPH10322414A (ja) * 1997-05-16 1998-12-04 Canon Inc データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体
US6307974B1 (en) * 1997-06-23 2001-10-23 Canon Kabushika Kaisha Image processing apparatus, system, and method with adaptive transfer
US5968147A (en) * 1997-09-26 1999-10-19 Adaptec, Inc. Method and apparatus for improved peripheral bus utilization
US6311294B1 (en) * 1998-10-20 2001-10-30 Cypress Semiconductor Corp. Device and method for efficient bulk data retrieval using a universal serial bus
US6141221A (en) * 1999-08-03 2000-10-31 Belkin Components Universal serial bus docking station

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303349A (en) * 1990-06-06 1994-04-12 Valitek, Inc. Interface for establishing a number of consecutive time frames of bidirectional command and data block communication between a Host's standard parallel port and a peripheral device
US5581669A (en) * 1992-12-18 1996-12-03 Microsoft Corporation System and method for peripheral data transfer
US5317604A (en) * 1992-12-30 1994-05-31 Gte Government Systems Corporation Isochronous interface method
JPH0816513A (ja) * 1993-11-26 1996-01-19 Sgs Thomson Microelectron Sa 周辺装置とシリアルのデジタルデータを交換するための、プロセッサに組み付けられたインターフェース回路
US5615404A (en) * 1994-10-31 1997-03-25 Intel Corporation System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals
EP0869428A2 (en) * 1997-04-02 1998-10-07 Canon Kabushiki Kaisha Image processing apparatus and system
KR19980086711A (ko) * 1997-05-01 1998-12-05 조오지 떠블유 하우스위어트 범용직렬버스 주변장치 마이크로 컨트롤러

Also Published As

Publication number Publication date
DE60029402D1 (de) 2006-08-31
TWI222799B (en) 2004-10-21
JP2001184270A (ja) 2001-07-06
EP1098251A2 (en) 2001-05-09
US6651184B1 (en) 2003-11-18
DE60029402T2 (de) 2006-11-16
EP1098251B1 (en) 2006-07-19
KR20010051352A (ko) 2001-06-25
EP1098251A3 (en) 2004-05-26

Similar Documents

Publication Publication Date Title
US6311294B1 (en) Device and method for efficient bulk data retrieval using a universal serial bus
US20180011718A1 (en) Re-enumeration of usb 3.0 compatible devices
US20110317716A1 (en) Method, system, and program for managing a speed at which data is transmitted between network adaptors
US6199137B1 (en) Method and device for controlling data flow through an IO controller
US6353866B1 (en) Apparatus and method for initializing a universal serial bus device
US9569372B2 (en) Redirection communication
TW552780B (en) USB communication control apparatus, USB communication system and USB communication control method
US6314455B1 (en) Data processing system and method for permitting a server to remotely initiate a client's boot block recovery
US20070174033A1 (en) Remote control device and method for accessing peripheral device remotely
JP2005196733A (ja) Ip技術によるブロードバンドネットワークのリモート起動方法及びリモート起動制御装置
KR101548437B1 (ko) 휴대용 디바이스의 드라이버(들)를 휴대용 디바이스에 통합하는 방법 및 장치
KR100798169B1 (ko) 호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체
US6845274B2 (en) Communication port control module for lighting systems
US7124235B2 (en) USB apparatus with switchable host/hub functions and control method thereof
US7395365B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
US7587294B2 (en) SATA device having self-test function for OOB-signaling
US8180926B2 (en) Adaptable resource spoofing for an extended computer system
EP3413205A1 (en) Re-enumeration of usb 3.0 compatible devices
KR20040052705A (ko) 컴퓨터와 주변장치간의 접속을 위한 자동 유에스비인터페이스 장치
JP2008017250A (ja) データ転送制御装置及び電子機器
CN114443558A (zh) 一种可控ep传输数据的方法、装置及介质
JP2006238209A (ja) ハブ装置およびハブシステム

Legal Events

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

Payment date: 20130102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee