KR100274272B1 - 인터리빙된 데이터 서브그룹을 개별적으로 클럭킹 및 재결합하여 고속으로 디지털 데이터를 전송하는 방법 및 장치 - Google Patents

인터리빙된 데이터 서브그룹을 개별적으로 클럭킹 및 재결합하여 고속으로 디지털 데이터를 전송하는 방법 및 장치 Download PDF

Info

Publication number
KR100274272B1
KR100274272B1 KR1019980000915A KR19980000915A KR100274272B1 KR 100274272 B1 KR100274272 B1 KR 100274272B1 KR 1019980000915 A KR1019980000915 A KR 1019980000915A KR 19980000915 A KR19980000915 A KR 19980000915A KR 100274272 B1 KR100274272 B1 KR 100274272B1
Authority
KR
South Korea
Prior art keywords
buffer
data
input stream
digital data
subgroups
Prior art date
Application number
KR1019980000915A
Other languages
English (en)
Other versions
KR19980079612A (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 KR19980079612A publication Critical patent/KR19980079612A/ko
Application granted granted Critical
Publication of KR100274272B1 publication Critical patent/KR100274272B1/ko

Links

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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • H04L27/04Modulator circuits; Transmitter circuits

Abstract

본 발명은 디지털 데이터 입력 스트림을 교환하기 위하여 전송기가 디지털 데이터 입력 스트림을 수신기에 전송하고 수신기는 스트림을 상이하게 인터리빙된 서브스트림으로 순차적으로 분할한 다음 원시(original) 디지털 데이터 입력 스트림을 포함하는 출력을 제공하기 위하여 이러한 서브스트림을 결합하는 방법을 개시한다. 원시 디지털 데이터 입력 스트림은 바이트와 같은 데이터로 이루어지는 다수의 데이터 서브그룹을 포함한다. 각각의 서브그룹은 수신기의 선택된 버퍼 내에 저장된다. 버퍼는 순차적으로 수신된 서브그룹을 저장하기 위하여 미리 정해진 교대 순서에 따라 선택된다. 따라서, 각각의 버퍼는 정해진 순서에 따라 서브그룹을 수신한다. 그 다음으로, 각각의 버퍼는 수신된 순서와 동일한 순서에 따라 저장된 서브그룹을 출력한다. 데이터 어셈블러는 다양한 버퍼에 의해 출력된 서브그룹을 어셈블링함으로써, 원시 디지털 입력 스트림을 재구성한다.

Description

인터리빙된 데이터 서브그룹을 개별적으로 클럭킹 및 재결합하여 고속으로 디지털 데이터를 전송하는 방법 및 장치
본 발명은 디지털 데이터의 전송 및 수신에 관한 것으로, 특히 전송기는 디지털 데이터 입력 스트림을 수신기에 전송하고, 수신기는 스트림을 상이하게 인터리빙된 서브스트림으로 순차적으로 분할한 후 그 서브스트림을 결합하여 원시 디지털 데이터 입력 스트림을 재구성하는 디지털 데이터 입력 스트림 교환 방법에 관한 것이다.
컴퓨터와 같은 많은 전자 장비들은 다수의 상이한 하위 구성 소자(subcomponent)들로 구성된다. 이러한 하위 구성 소자들은 종종 버스와 같은 하드와이어링(hardwiring)된 전기 접속에 의해 상호 접속된다. 그러나, 많은 경우 하위 구성 소자들이 어느 정도 거리를 두고 떨어져 있어서 영구적인 전기 접속(permanent electrical connection)이 편리하게 이루어지지 못하게 된다. 상호 접속된 하위 구성 소자들은 수 피트(feet) 또는 심지어는 수 십 야드(yard)만큼 떨어져 있을 수 있다. 와이어, 케이블 또는 기타 다른 신호 전송 매체를 사용하여 원격 결합된 서브시스템을 상호 접속시키는 것은 흔한 일이다. 이들 원격 결합을 본 명세서에서는 "케이블 접속"이라고 부른다. 하위 구성 소자간의 케이블 접속은 전체 시스템 뿐만 아니라 하위 구성 소자들의 동작에 결정적인 영향을 끼친다.
케이블 접속을 통한 데이터 전송은 흔히 방형파 신호(square wave signal)와 같은 클럭 신호로 조정(coordinate)된다. 도 1에 도시된 바와 같이, 데이터 전송은 종종 예를 들어 바이트와 같은 데이터로 이루어지는 다수의 부분 (100) - (105)로 분할된다. 개별 바이트의 전송 및/또는 수신은 클럭 신호에 의해 조정된다. 도 1의 예에서, 각각의 바이트 (100) - (105)에 대한 타이밍은 클럭 신호 (110)의 상승 에지(rising edge)와 1-대-1 타이밍 관계를 가진다.
일반적으로, 하위 구성 소자 또는 최종 응용 프로그램(ultimate application program)의 동작을 지연시키는 것을 회피하기 위하여 데이터를 가능한 빠르게 전송하는 것이 바람직하다. 결과적으로, 설계 엔지니어(design engineer)들은 더 빠른 데이터 속도(data rate)를 일관되게 추구하고 있다. 또한, 데이터 전송 속도를 더 빠르게 하기 위해서는 데이터 전송을 동기화시키기 위한 클럭 신호도 더 빨라질 것이 요구되어지는데, 이는 각각의 데이터 바이트마다 클럭 신호의 개별적인 상승 에지가 요구되기 때문이다.
그러나, 클럭 신호가 너무 빨라지면 많은 문제가 발생할 수 있다. 예를 들어, 상당히 고속인 클럭 신호는 종종 에지가 불량하게 정해져(poorly defined) 결과적으로 오류 클럭 싸이클 전이(false clock cycle transition)가 발생할 수 있다. 클럭 신호의 오류 전이는 결과적으로 전송이 클럭 신호의 정확도에 의해 좌우되는 데이터를 오염(corrupt)시키는 결과를 가져올 수 있다. 따라서, 최대 데이터 전송 속도는 종종 최대 클럭 신호 주파수에 의해 제한된다.
본 발명은 전송기가 디지털 데이터 입력 스트림을 수신기에 전송하고, 수신기가 스트림을 상이하게 인터리빙된 서브스트림으로 순차적으로 분할한 후 그 서브스트림을 결합하여 원시 디지털 데이터 입력 스트림을 재구성하는 디지털 데이터 입력 스트림 교환 방법을 포함한다.
보다 상세하게 말하면, 먼저 원시 디지털 데이터 입력 스트림이 통신 모듈에 의해 수신된다. 원시 디지털 데이터 입력 스트림은 예를 들어 바이트와 같은 데이터로 이루어지는 다수의 서브그룹을 포함한다. 각각의 서브그룹은 통신 모듈의 선택된 버퍼 내에 저장된다. 수신된 서브그룹을 순차적으로 저장하기 위하여 미리 정해진 교대 순서(order of rotation)에 따라 버퍼가 선택된다. 따라서, 각각의 버퍼는 정해진 순서에 따라 서브그룹을 수신한다. 그 다음으로, 각각의 버퍼는 수신된 순서와 동일한 순서로 저장된 서브그룹을 출력한다. 데이터 어셈블러는 다양한 버퍼에 의해 출력된 서브그룹을 어셈블링함으로써, 원시 디지털 입력 스트림을 재구성한다.
본 발명의 한 구현예에 따르면, 다수의 클럭 신호들이 원시 디지털 데이터 입력 스트림과 함께 전송될 수 있으며, 이 경우 대응하는 클럭 신호 및 버퍼(또는 버퍼 영역)의 수가 전송에 포함되는데, 특히 각각의 클럭 신호는 원시 디지털 데이터 입력 스트림을 클럭 신호 수로 나눈 데이터 속도와 동일한 데이터 속도를 가진다.
각각의 클럭 신호는 특정 데이터 속도로 발생되는 복수의 클럭킹 이벤트(clocking event)를 포함한다. 클럭 신호의 클럭킹 이벤트는 연속적인 순서로 차례로(one after another) 그리고 교대로(in rotation) 발생한다. 각각의 클럭 신호의 클럭킹 이벤트는 다른 클럭 신호에 의해 식별되는 서브스트림으로 인터리빙된 상이한 데이터 서브스트림을 식별한다. 각각의 클럭 신호에 의해 시별되는 데이터 서브스트림은 개별 버퍼 또는 개별 버퍼 영역에 저장된다. 데이터 어셈블러는 다양한 버퍼의 서브스트림의 출력을 조정하며, 또 원시 디지털 입력 스트림을 재구성하도록 서브스트림의 어셈블링을 적절히 조정한다.
따라서, 한 실시예로 본 발명이 디지털 데이터 입력 스트림을 전송 및/또는 수신하는 방법을 제공하도록 구현될 수 있다. 다른 실시예에서는, 본 발명이 전송기, 수신기 또는 통신 교환 서브시스템과 같은 장치를 제공하도록 구현될 수 있다. 또 다른 실시예에서는, 본 발명이 디지털 데이터 입력 스트림을 전송 및/또는 수신하기 위한 방법을 수행하도록 디지털 데이터 처리 장치에 의해 실행될 수 있는 기계 판독 가능한 인스트럭션(instruction)으로 구성된 프로그램을 유형적으로 구현(tangibly embodying)하는 신호 보유 매체(signal-bearing media)를 포함하는 프로그래밍된 제품을 제공하도록 구현될 수 있다.
본 발명은 사용자에게 뚜렷한 장점을 다수 제공한다. 주로, 본 발명은 통신 장치의 하위 구성 소자가 고속 클럭 신호를 사용할 경우에 수반되는 문제점이 없이 디지털 데이터를 교환할 수 있도록 한다. 이것은 일반적으로, 데이터 전송 및 수신을 조정하기 위하여 각각이 데이터 주파수보다 작은 주파수를 가지는 다수의 인터리빙된 클럭 신호를 사용함으로써 달성된다. 또한, 본 발명은 다수의 다른 장점을 제공하는데, 이들은 본 발명에 대한 다음의 설명으로부터 명확히 알 수 있다.
동일한 참조 번호들은 동일한 부분을 표시하는 첨부 도면 및 다음의 상세한 설명으로부터 본 기술 분야의 당업자들은 본 발명의 특징, 목적 및 장점을 명확하게 이해할 수 있을 것이다.
도 1은 데이터 스트림 및 본 발명 기술 분야에 알려진 대응 클럭 신호 사이의 관계를 도시하는 타이밍도.
도 2는 본 발명의 한 실시예에 따른 통신 교환 서브시스템의 하드웨어 구성 및 상호 접속을 도시하는 블록도.
도 3은 본 발명의 한 실시예에 따른 제품의 사시도.
도 4는 본 발명에 따른 통신 교환을 수행하기 위한 하나의 예시적인 동작 순서를 도시하는 플로우차트.
* 도면의 주요부분에 대한 부호의 설명
200 : 서브시스템 202 : 전송기
204 : 수신기 206 : 통신 링크
208 : 데이터 전송기 209 : 다중 클럭 신호 전송기
210 : 제 1 신호 클럭 신호 전송기 212 : 제 2 클럭 신호 전송기
214 : 자격부여 신호 전송기 216 : 프로세싱 유닛
218 : 데이터 서브링크 219 : 제 1 클럭 서브링크
220 : 제 2 클럭 서브링크 221 : 자격부여 서브링크
224 : 원시 디지털 데이터 입력 스트림 225 내지 231 : 하위부
234, 236 : 클럭 신호 240 : 제 1 버퍼
242 : 제 2 버퍼 244 : 데이터 어셈블러
246, 252 : 데이터 출력 라인 248, 254 : 자격부여 출력 라인
250, 256 : 엠프티 인디케이터 라인 258, 260 : 커맨드 라인
262 : 제어기 264 : 게이트
266 : 선택 라인 270 : 유효-데이터 출력
하드웨어 구성 소자 및 상호 접속
본 발명의 한 실시예는 통신 교환 서브시스템에 관한 것인데, 이는 도 2에 도시된 바와 같이 다수의 하드웨어 구성 소자 및 상호 접속에 의해 구현될 수 있다. 서브시스템 (200)은 전송기 (202), 수신기 (204) 및 이들 2개의 구성 소자들을 접속하는 통신 링크 (206)을 포함한다.
링크
통신 링크 (206)은 다수의 상이한 하드웨어 구성 소자에 의해 제공될 수 있다. 예를 들어, 통신 링크 (206)은 다중-도전체 케이블(multi-conductor cable), 광 섬유 다발(bundle), 전자기 방송 링크(electromagnetic broadcast link), 또는 데이터 교환용으로 적절한 임의의 링크를 포함한다.
통신 링크 (206)은 데이터 서브링크 (218), 다중 클럭 서브링크 (219) 및 (220) 및 자격부여 서브링크(qualifier sublink) (221)을 비롯한 다수의 서브링크를 포함한다. 도시된 실시예에서는 2개의 클럭 신호들이 사용되기 때문에 2개의 서브링크 (219) 및 (220)이 도시된다. 클럭 서브링크의 수는 클럭 신호의 수에 대응하기 때문에, 소정의 응용에서는 2개 이상의 클럭 서브링크가 사용될 수 있다.
바람직한 실시예에서, 통신 링크 (206)은 구리 와이어와 같은 차폐된 다수의 꼬임형 도전체 쌍(twisted pair conductor)을 포함하는 것이 바람직하다.
전송기
대체로, 전송기 (202)는 원시 디지털 데이터 입력 스트림("데이터 스트림") 및 기타 다른 다양한 관련 신호를 통신 링크 (206)을 통하여 수신기 (204)에 송신하는 역할을 한다. 도시된 실시예에서, 전송기 (202)는 프로세싱 유닛 (216)에 결합될 수 있는 통신 어댑터를 포함한다. 예를 들어, 프로세싱 유닛 (216)은 개인용 컴퓨터, 메인프레임 컴퓨터, 워크스테이션, 장치 제어기, 또는 다른 적절한 디지털 데이터 처리 장치의 마이크로프로세서 또는 중앙 처리 유닛일 수 있다.
전송기 (202)는 데이터 전송기 (208), 다중 클럭 신호 전송기 (209) 및 자격부여 신호 전송기 (214)를 비롯한 다수의 하위 구성 소자를 포함한다. 도시된 실시예에서, 클럭 신호 전송기 (209)는 2개의 클럭 신호를 발생시키므로 제 1 클럭 신호 전송기 (210) 및 제 2 클럭 신호 전송기 (212)를 포함한다. 또한, 본 발명은 필요한 경우 더 많은 수의 클럭 신호를 사용하는 것도 포함한다.
데이터 전송기
데이터 전송기 (208)은 원시 디지털 데이터 입력 스트림 (224)를 데이터 서브링크 (218) 상으로 출력한다. 데이터 스트림 (224)는 예를 들어 바이트와 같은 데이터로 이루어지는 다수의 하위부 (225) - (231)을 포함한다. 한 실시예에서, 데이터 전송기 (208)은 데이터 스트림 (224)로 표시되는 데이터에 대한 근원 소스(originating source)를 구성할 수 있다. 그러나, 도시된 바와 같이 데이터 전송기 (202)는 프로세싱 유닛 (216)으로부터 표시된 데이터를 수신한다. 이러한 실시예에서, 데이터 전송기 (208)은 데이터 스트림 (224) 형식으로 데이터 서브링크 (218) 상에 전송하기 위해 프로세싱 유닛 (216)으로부터의 데이터를 재포맷팅(reformatting)한다. 이러한 재포맷팅은 예를 들어 전송된 데이터에 적절한 전압을 제공하고 또 관련 클럭 신호로 데이터 전송을 동기화시키는 것을 포함한다.
데이터 전송기 (208)이 데이터 스트림을 생성하기 보다는 이를 재포맷팅시키는 도시된 실시예에서, 데이터 전송기 (208)은 LUCENT사(社)의 ORCA 2C26과 같은 필드 프로그램 가능형 게이트 어레이(field programmable gate array: FPGA)를 사용하여 구현될 수 있다.
클럭 신호 전송기
클럭 신호 전송기 (209)는 디지털 데이터 입력 스트림 (224)의 수신을 돕기 위하여 클럭 신호를 제공한다. 도시된 바와 같이, 제 1 및 제 2 클럭 신호 전송기 (210/212)는 각각 클럭 신호 (234/236)을 제공한다. 각각의 클럭 신호 전송기 (210/212)는 데이터 스트림 (224)에 대해 소정의 관계에 따라 발생하는 미리 정해진 클럭킹 이벤트를 가지는 클럭 신호를 제공한다. 이러한 클럭킹 이벤트의 데이터 속도(또는 주파수)는 데이터 스트림 (224)를 클럭 신호 수로 나눈 데이터 속도이다. 따라서, 2개의 클럭 신호가 사용되는 도시된 실시예에서는 각각의 클럭 신호의 주파수가 데이터 스트림 (224)가 갖는 주파수의 1/2이다. 예를 들어, 3개의 클럭 신호를 사용하는 경우는 각각의 클럭 신호의 주파수는 데이터 스트림 (224)가 갖는 주파수의 1/3이다.
클럭 신호는 특정 응용에 따라 다수의 상이한 형태(form)가 될 수 있다. 도시된 바와 같이, 클럭 신호는 미리 정해진 클럭킹 이벤트가 상승 에지를 포함하는 방형파 신호를 포함한다. 클럭 신호의 클럭킹 이벤트는 엇갈린(staggered) 형태를 가지는데, 이에 따라 클럭 신호는 그들의 연속한 클럭킹 이벤트(예를 들어 상승 에지)에 의해 데이터 스트림 (224)의 연속한 하위부(subpart)들을 교대로 정한다. 따라서, 도시된 바와 같이, 스트림 (224)의 하나의 바이트와 그 다음 바이트는 제 1 클럭 신호 (234)와 제 2 클럭 신호 (236)에 의해 교대로 계속 정해진다. 따라서, 클럭 신호의 클럭킹 이벤트는 연속적인 순서로 차례대로 그리고 교대로 발생한다.
예를 들어, 클럭 신호들은 각각 12.5 MHz의 주파수로 진행될 수 있지만 특정 응용에서의 필요에 적합하도록 변형될 수 있다. 클럭 신호 전송기 (210/212)는 LUCENT사(社)의 ORCA 2C26과 같은 하나 이상의 FPGA를 사용하여 구현될 수 있다. 클럭 신호 전송기 (210/212)는 응용시 필요에 따라 데이터 전송기 (208)과 동일한 FPGA로 구현될 수 있다.
자격부여 신호 전송기
자격부여 신호 전송기 (214)는 데이터 스트림 (224)가 데이터를 가지는지 또는 일시적인 휴면 상태(temporarily dorment)인지를 나타내는 자격부여 신호 (238)을 제공하는 전송기 (202)의 하위 구성 소자로 선택 사양이다. 다수의 경우, 데이터 스트림은 노이즈(noise) 또는 다른 무효 데이터(invalid data)를 포함할 수 있다는 점이 예측 가능하다. 예를 들어, 프로세싱 유닛 (216)은 데이터 세트(data set)들 사이에서 대기할 수 있거나, 또는 버스트 신호(bursty signal)을 제공할 수 있도록 데이터 전송 속도보다 느리게 데이터를 발생시킬 수 있다. 또한, 통신 링크 (206)이 데이지 체인 방식(daisy chain fashion)으로 다수의 수신기(도시되지 않음)에 접속되는 경우, 상이한 수신기들로의 데이터 전송간에 지연이 발생될 수 있다.
따라서, 자격부여 신호 (238)은 데이터 스트림 (224)가 데이터를 가지는지 또는 일시적으로 비활성 상태(inactive)인지를 나타낸다. 바람직하게는 자격부여 신호의 미리 정해진 상태는 데이터가 있음을 나타내며, 또 다른 미리 정해진 상태는 데이터가 데이터 서브링크 (218) 상에 없음을 나타낸다. 도시된 바와 같이, 로직 "하이(high)" 신호는 데이터를 나타내며, 로직 "로우(low)" 신호는 데이터가 없음을 나타낸다. 하이 및 로우 신호는 예를 들어 TTL, RS-232, 또는 기타 다른 로직 표준에 따라 자격부여 서브링크 (221) 상에서 상이한 전압을 나타낼 수 있다. 예로서, 자격부여 신호 전송기 (214)는 LUCENT사(社)의 ORCA 2C26과 같은 하나 이상의 FPGA를 사용하여 구현될 수 있다. 또한, 자격부여 신호 전송기 (214)는 응용의 필요에 따라 데이터 전송기 (208) 및/또는 클럭 신호 전송기 (209)와 동일한 FPGA로 구현될 수 있다.
다른 구성 소자
비록 도시되지는 않았지만, 바람직하게는 각각의 구성 소자 (208/210/212/214)는 신호가 신뢰성 있게 전송될 수 있도록 적절한 전압을 가지는 신호가 링크 (206) 상에 출력되는 것을 보장하기 위하여 라인 구동기(line driver)를 포함한다.
수신기
대체로, 수신기 (204)는 통신 링크 (206)으로부터 데이터 스트림 (224)를 수신하고 이러한 데이터의 출력을 데이터 출력 (268) 상에 제공하는 기능을 가진다. 이러한 출력은 특정 응용의 필요에 따라 다양한 다른 전자 구성 소자에 보내질 수 있다. 수신기 (204)는 데이터 스트림 (224)의 클럭 신호 (234/236)을 사용하며 서브스트림을 추출한 다음 그 서브스트림을 다시 어셈블링한다. 따라서, 데이터 스트림 (224)의 전송을 동기화시키기 위해 소정의 고속 클럭을 사용하는 대신에, 서브시스템 (200)은 비교적 느린 2개의 클럭 신호 (234/236)을 사용함으로써 단일 고속 클럭에 의해 야기될 수 있는 노이즈 문제를 회피할 수 있게 된다.
비록 도 2가 하나의 수신기 (204)만을 도시하고 있지만, 본 발명은 다수의 수신기를 포함할 수 있다. 예를 들어, 다수의 수신기들은 "데이지-체인" 접속("멀티-드럽(multi-drop)" 구성이라고도 함)을 통하여 전송기 (202)와 인터페이싱될 수 있다. 또한, 수신기 (204)는 다수의 상이한 구성으로 구현될 수 있다. 그러나, 설명 목적상 도 2에 도시된 수신기 (204)의 특정 실시예는 다수의 버퍼 (240/242) 및 데이터 어셈블러 (244)를 포함하는 구성 소자를 갖는 것으로 도시된다.
버퍼
수신기 (204)는 적어도 2개의 버퍼를 포함한다. 도시된 바와 같이, 2개의 버퍼 (240/242)가 도시되어 있다. 각각의 버퍼는 개별 장치, 또는 하나 이상의 공통 장치의 서브영역이될 수 있다. 바람직하게, 버퍼 (240/242)는 선입선출(first-in-first-out) RAM 버퍼와 같은 고속 액세스 버퍼를 포함한다. 예를 들어, 버퍼 (240/242)는 INTEGRATED DEVICE TECHNOLOGY사(社)의 모델 72801 메모리 회로를 포함할 수 있다.
각각의 버퍼는 통신 링크 (206)으로부터 신호를 수신하기 위한 다수의 입력 라인을 포함한다. 양 버퍼는 각각의 입력 라인 상에서 자격부여 신호 (238) 및 데이터 스트림 (224)를 수신한다. 도시된 예에서, 제 1 버퍼 (240)은 제 1 클럭 신호 (234)를 수신하며, 제 2 버퍼 (242)는 제 2 클럭 신호(236)을 수신한다. 또한, 버퍼 (240/242)는 시스템 클럭 (245)로부터 클럭킹 신호(clocking signal)를 수신한다. 또한, 버퍼 (240/242)는 아래에서 더 상세하게 설명되는 바와 같이 데이터 어셈블러 (244)로부터 커맨드 인스트럭션(command instruction)을 수신하기 위한 개별적인 커맨드 라인 (258/260)을 포함한다.
또한, 각각의 버퍼는 다수의 출력 라인을 포함하는데, 이들의 기능은 아래에서 상세하게 설명된다. 각각의 버퍼는 데이터 출력 라인, 자격부여 출력 라인 및 엠프티 인디케이터 라인(empty indicator line)을 포함한다. 보다 상세하게 설명하면, 제 1 버퍼 (240)은 데이터 출력 라인 (246), 자격부여 출력 라인 (248) 및 엠프티 인디케이터 라인 (250)을 포함한다. 제 2 버퍼 (242)는 데이터 출력 라인 (252), 자격부여 출력 라인 (254) 및 엠프티 인디케이터 라인 (256)을 포함한다.
데이터 어셈블러
출력 라인 (246) - (256) 및 커맨드 라인 (258/260)들은 모두 데이터 어셈블러 (244)에 결합된다. 데이터 어셈블러 (244)는 원시 디지털 데이터 입력 스트림 (224)를 재생성하기 위하여 버퍼 (240/242)로부터의 데이터에 대한 검색(retrieval)을 처리한다.
데이터 어셈블러 (244)는 제어기 (262) 및 선택적으로 작동하는 게이트 (264)를 포함한다. 제어기 (262)는 버퍼 (240/242)의 출력을 처리하며, 이러한 처리된 출력은 게이트 (264)에 인가된다. 따라서, 제어기 (262)는 게이트 (264)를 제어함으로써 버퍼 (240/242)로부터의 신호를 적절히 데이터 출력 (268) 상에 제공하게 된다. 게이트 (264)의 제어는 선택 라인 (266)을 통하여 이루어진다.
제어기 (262)는 바람직하게는 FPGA와 같은 하드웨어 로직 회로로 구현되거나, 경우에 따라서는 마이크로프로세서와 같은 디지털 데이터 처리기 또는 다른 적절한 디지털 데이터 컴퓨팅 유닛으로 구현되는 상태 머신(state machine)을 포함한다. 바람직하게는 게이트 (264)는 도시된 예에서 2:1 멀티플렉서와 같은 멀티플렉서를 포함한다. 선택 라인 (266) 상의 신호는 데이터 출력 (268) 상에 데이터 라인 (246) 또는 데이터 라인 (252)로부터 수신된 신호들 가운데 어느 신호가 출력될 것인지를 결정한다.
제어기 (262)는 데이터 출력 (268) 상의 신호가 유효한지를 나타내는 신호를 제공하는 유효-데이터 출력 (270)을 포함하는데, 이는 아래에서 더 상세하게 설명된다.
예시적인 구현예
한 구현예로서, 서브시스템 (200)은 IBM RAMAC-3 제품과 같은 직접 액세스 저장 장치("DASD") 서브시스템으로 구현될 수 있는데, 이러한 경우 데이터는 자기 디스크 드라이브를 사용하여 저장 및 검색된다. 상기와 같은 서브시스템의 한 예로는 IBM 모델 9391 장치 랙(device rack)이 있다.
상기 실시예에서, 프로세싱 유닛 (216)은 IBM 모델 9390과 같은 저장 장치 제어기로 구현된다. 저장 장치 제어기는 DASD 제어기에 결합되는데, 이는 데이지 체인 방식으로 하나 이상의 DASD 저장 드로어(drawer)에 연결된다. DASD 제어기 및 DASD 저장 드로어는 각각 제어기-드로어 통신을 위해 전송기 (202) 및 수신기 (204)를 포함한다. 상기 실시예에서, 통신 링크 (206)은 각각의 전송에 필요한 타겟 장치(target device)를 용이하게 선택하기 위한 어드레스 라인(도시되지 않음)을 포함한다.
다른 사용 분야로서는 근거리 통신망(local area network), 데이터 처리 환경 및 매우 빠르고 정확한 데이터 전송을 요구하는 모든 응용 분야를 들 수 있다.
동작
위에서 설명한 다양한 하드웨어 실시예 이외에도, 본 발명의 다른 실시예는 순차적으로 수신된 스트림을 상이한 인터리빙된 서브스트림으로 분할한 다음 서브스트림을 결합시켜 원시 디지털 데이터 입력 스트림을 재구성함으로써 디지털 데이터 입력 스트림을 수신하기 위한 방법에 관한 것이다. 앞서 실시예와는 상이하지만 관계가 있는 본 발명의 방법은 다중 클럭 신호 및 자격부여 신호와 같은 신호를 수반하는 데이터 스트림을 전송하는 단계를 포함한다.
신호-보유 매체
본 발명의 방법은 예를 들어 기계 판독 가능한 인스트럭션으로 구성된 프로그램을 실행하도록 디지털 데이터 처리 머신을 작동시킴으로써 구현될 수 있다. 예를 들어, 전송기 (202)의 구성 소자는 다중 클럭 신호 및 자격부여 신호와 같은 신호를 수반하는 데이터 스트림을 전송하기 위한 프로그램을 실행할 수 있다. 마찬가지로, 수신기 (204)의 구성 소자는 순차적으로 수신된 디지털 데이터 입력 스트림을 상이한 인터리빙된 서브스트림으로 분할한 후 서브스트림을 결합시켜 원시 디지털 데이터 입력 스트림을 재구성할 수 있다.
상기 프로그래밍 인스트럭션은 전송기 (202) 및 수신기 (204) 가운데 적절한 구성 소자에 액세스 가능한 다양한 형식의 신호 보유 매체 내에 상주할 수 있다. 이와 관련하여, 본 발명의 한 실시예는 디지털 데이터를 전송 및/또는 수신하기 위한 방법의 단계를 수행하기 위하여 디지털 데이터 처리기에 의해 실행될 수 있는 기계 판독 가능한 인스트럭션으로 구성된 프로그램을 유형적으로 구현하는 신호 보유 매체를 포함하는 프로그래밍된 제품에 관한 것이다.
이러한 신호 보유 매체는 예를 들어 전송기 (202) 또는 수신기 (204) 내에 포함된 RAM 모듈을 포함할 수 있다. 경우에 따라서, 인스트럭션은 자기 데이터 저장 디스켓 (300)(도 3 참조)과 같은 다른 신호 보유 매체 내에 포함될 수 있다. 또다른 방법으로, 프로그래밍 인스트럭션은 DASD 저장 장치(예를 들어 종래의 "하드 드라이브" 또는 RAID 어레이), 자기 테이프, 전자적 판독 전용 메모리(예를 들어 CD-ROM 또는 WORM), 광학 저장 장치(예를 들어, WORM), 페이퍼 "펀치" 카드, 또는 디지털 및 아날로그 및 통신 링크 및 무선(wireless)과 같은 전송 매체를 포함하는 다른 신호 보유 매체와 같은 다양한 다른 형식의 데이터 저장 매체 상에 저장될 수 있다. 본 발명에 도시된 실시예에서, 기계 판독 가능한 인스트럭션은 컴파일링된 마이크로프로세서 어셈블리 언어 코드 라인(code line)을 포함할 수 있다.
전체 동작 시퀀스
도 4는 본 발명에 따른 한 방법의 실시예를 예시하기 위한 방법 단계 (400)의 순서(sequence)를 도시한다. 설명의 편의상, 도 4의 예는 위에서 설명된 통신 교환 서브시스템 (200)과 관련하여 설명되지만, 이에 제한되는 것은 아니다. 단계 (400)은 서브시스템 (200)이 데이터를 통싱 링크 (206)을 통하여 교환하도록 요청받은 경우 단계 (402)에서 개시된다.
전송
단계 (404)에서, 전송기 (202)는 클럭 신호 및 자격부여 신호와 함께 원시 디지털 데이터 입력 스트림 (224)를 전송한다. 이는 데이터 스트림 (224), 제 1 클럭 신호 (234), 제 2 클럭 신호 (236) 및 자격부여 신호 (238)을 동시에 전송하는 데이터 전송기 (208), 클럭 신호 전송기 (210/212) 및 자격부여 신호 전송기 (214)에 의해 이루어진다.
도시된 실시예에서, 제 1 클럭 신호 (234)의 상승 에지는 데이터 스트림 (224)의 바이트를 한 바이트씩 걸러 식별한다. 사이에 낀 바이트(intervening byte)는 제 1 클럭 신호 (234)의 위상에 대하여 180°위상 차이를 가지는 제 2 클럭 신호 (236)에 의해 식별된다. 따라서, 각각의 클럭 신호 (234/236)은 이러한 타이밍 방식에 의해 상이하지만 완전히 인터리빙된 데이터 서스시스템을 식별한다.
수신 및 저장
신호 (224/234/236/238)은 통신 링크 (206)을 통하여 전달되며, 작업 단계 (406)에서 수신기 (204)에 순차적으로 수신된다. 작업 단계 (408)에서, 수신기 (204)는 수신된 신호를 다음과 같이 저장한다. 즉, 제 1 클럭 신호 (234)의 상승 에지는 제 1 버퍼 (240) 내에 대응하는 서브스트림(바이트 (225), (227), (229) 및 (231))을 저장하도록 클럭킹시킨다. 또한, 제 1 클럭 신호 (234)의 각각의 상승 에지는 상기 클럭킹과 동일한 시점에서 자격부여 신호 (238)의 값을 저장하도록 버퍼 (240)을 트리거링(triggering)시킨다.
마찬가지로, 제 2 클럭 신호 (236)의 상승 에지는 제 2 버퍼 (242) 내에 대응하는 서브스트림(바이트 (226), (228) 및 (230))을 저장하도록 클럭킹시킨다. 또한, 제 2 클럭 신호 (236)은 각각의 상승 에지에서 자격부여 신호 (238)의 값을 버퍼 (242)에 저장하도록 트리거링시킨다.
원시 디지털 데이터 입력 스트림의 재구성
단계 (408) 다음의 단계 (410)에서는 수신기 (204)가 버퍼 (240/242)로부터 각각의 서브스트림을 출력하고 다음과 같이 서브스트림을 통합하여 원시 디지털 데이터 입력 스트림 (224)를 재구성한다. 경우에 따라서, 제어기 (262)는 각각의 버퍼 (240/242)로부터 데이터 바이트를 도출(elicit)한다.
먼저, 제어기 (262)는 커맨드 라인 (258)을 통해 판독 커맨드를 버퍼 (240)에 송신한다. 이것은 버퍼 (240)으로 하여금 (라인 (246) 상으로) 저장된 데이터 바이트, (라인(248) 상으로) 저장된 자격부여 신호 바이트 및 버퍼가 비어 있는 경우는 (라인 (250) 상으로) 엠프티 신호를 출력시키도록 만든다. 또한, 제어기 (262)는 적절한 신호를 선택 라인 (266) 상에 출력함으로써, 게이트 (264)는 (데이터 라인 (252)가 아닌) 데이터 라인 (246)으로부터의 데이터를 데이터 출력 (268) 상에 출력한다.
이와 동시에, 제어기 (262)는 라인 (246)으로부터의 데이터가 유효한 경우 미리 정해진 신호(논리 "1"과 같은 신호)를 유효 데이터 출력 (270) 상에 제공한다. 도시된 실시예에서, 이러한 데이터는 1) 버퍼 (240)이 비어 있지 않다고 엠프티 표시 라인 (250)이 표시하는 경우 및 2) 라인 (246)이 참조번호 (227)과 같은 주기 동안 발생하는 노이즈 또는 기타 다른 비신호 데이터(non-signal data)가 아닌 데이터를 가진다고 자격부여 라인 (248)이 표시하는 경우 유효하다. 데이터 스트림과 함께 자격부여 신호를 출력하는 것은 이들 2개의 신호 사이의 관계를 보유하도록 함으로써 자격부여 신호가 라인 (246) 상의 데이터가 데이터를 나타내는지를 계속 표시할 수 있도록 한다.
다음으로, 제어기 (262)는 커맨드 라인 (260)을 통해 판독 커맨드를 버퍼 (242)에 송신한다. 이것은 버퍼 (242)로 하여금 (라인 (252) 상으로) 저장된 데이터 바이트, (라인 (254) 상으로) 저장된 자격부여 신호 바이트 및 버퍼가 비어 있는 경우에는 (라인 (256) 상으로) 엠프티 신호를 출력하도록 만든다. 또한, 제어기 (262)는 적절한 신호를 선택 라인 (266) 상에 출력함으로써 게이트 (264)가 데이터 라인 (252)로부터의 데이터를 데이터 출력 (268) 상에 출력하게 된다.
이와 동시에, 제어기 (262)는 라인 (252)로부터의 데이터가 유효한 경우 미리 정해진 신호(논리 "1"과 같은 신호)를 유효 데이터 출력 (270) 상에 제공한다. 도시된 실시예에서, 이러한 데이터는 1) 버퍼 (242)가 비어있지 않다고 엠프티 표시 라인 (256)이 표시하는 경우 및 2) 라인 (252)가 참조번호 (227)과 같은 주기 동안 발생하는 노이즈 또는 기타 다른 비신호 데이터가 아닌 데이터를 가진다고 자격부여 라인 (254)가 표시하는 경우 유효하다. 데이터 스트림과 함께 자격부여 신호를 출력하는 것은 이들 2개의 신호 사이의 관계를 보유함으로써 자격부여 신호가 라인 (252) 상의 데이터가 데이터를 표시하는지를 계속 표시할 수 있도록 한다.
버퍼 (240) 및 (242)를 교대로 선택함으로써 라인 (246/252)로부터 연속적인 데이터 스트림을 제공하도록 상기 순서가 반복된다. 적절한 때, 제어기 (262)는 참조번호 (268)이 데이터 출력 상에서 현재 출력되고 있는 데이터가 유효하지 않다는 것을 데이터 수령자(recipient)에게 경고하기 위하여 유효-데이터 출력 (270) 상에 신호를 제공한다.
버퍼 (240/242)로부터의 데이터 클럭킹은 시스템 클럭 (245)에 따라 행해진다. 클럭 (234/236)과는 달리, 이러한 클럭은 원시 디지털 데이터 입력 스트림 (224)에 대응하는 데이터 속도를 갖거나 필요한 경우에는 이보다 더 빠른 데이터 속도를 가질 수 있다. 이것은 클럭 신호 (234/236)에서 발생하는 전송 관련 에지 문제(transmission-related edge problem)가 수신기 (204)에 국한되는 시스템 클럭 (245)에는 적용되지 않기 때문이다.
단계 (410) 다음의 단계 (412)에서는 방법 단계 (400)의 루틴(routine)이 종료된다.
자격부여 신호의 사용
자격부여 신호 (238)은 필요한 경우 서브시스템 (200)에서 생략될 수 있다. 이러한 실시예에서, 데이터 스트림 (224)의 무효 또는 비신호 데이터(no-data)의 주기는 클럭킹되지 않는데, 이는 클럭 신호 (234/236)이 제공되지 않음을 의미한다. 이것은 에러를 가지는 데이터를 클럭킹할 가능성을 피할 수 있게 한다. 그러나, 일단 유효 데이터가 서브링크 (218)을 통하여 다시 출력되는 경우, 클럭 신호 (234/236)을 재개시키는 것은 몇가지 문제를 야기시킬 수 있다. 클럭 신호가 아직 정상 상태(steady state)가 아니기 때문에, 클럭 에지를 오염시킬 수 있는 우발적인 제 1 스위칭 노이즈(first incident switching noise)가 발생할 수 있다.
따라서, 자격부여 신호를 사용함으로써 서브링크 (218) 상의 데이터의 유효 여부와 관계없이 클럭 신호 (234/236)이 연속적으로 진행(running)될 수 있게 된다. 많은 응용의 경우, "프리 러닝(free running)" 클럭을 사용하는 것이 특히 유리하다.
또한, 자격부여 신호는 다수의 다른 방법으로 사용될 수 있다. 예를 들어, 제어기 (262)는 자격부여 신호가 비신호 데이터 표시를 제공하는 경우 게이트 (264)를 디스에이블링시킬 수 있다. 이것은 예를 들어 적절한 임의의 로직 게이트를 사용함으로써 달성될 수 있다. 다른 대안적인 경우, 자격부여 신호는 어떠한 데이터도 표시하지 않는 데이터 스트림 (224)로부터의 신호를 저장하는 것을 방지하는데 사용될 수 있다. 예를 들어, 논리 "1"이 데이터를 표시하는 경우, 자격부여 신호는 각각의 버퍼 (240/242) 내에서 개개의 클럭 신호 (234/236)과 AND될 수 있다. 따라서, 비신호 데이터 주기 동안, 데이터 서브링크 (218)의 내용은 내부에 저장하기 위한 버퍼 (240/242) 내로 클럭킹되어 저장되지 않는다.
바람직하게는, 하위부 (227)과 같은 비데이터 하위부가 예를 들어 2, 4, 6 등과 같은 짝수개의 형태로 구현된다. 이러한 방식으로, 유효 데이터는 버퍼 (240/242)로부터 항상 교대 순서로 출력된다.
본 발명은 데이터 전송 및 수신을 조정하기 위하여 각각이 데이터 주파수보다 작은 주파수를 가지는 다수의 인터리빙된 클럭 신호를 사용함으로써, 통신 장치의 하위 구성 소자가 고속 클럭 신호를 사용할 경우에 수반되는 문제점이 없이 디지털 데이터를 교환할 수 있도록 한다.
본 발명이 바람직한 실시예와 관련하여 설명되었지만, 본 기술 분야의 당업자는 첨부된 특허 청구 범위에 의해 정해지는 본 발명의 범위로부터 벗어나지 않고 다양한 변형 및 수정을 가할 수 있다.

Claims (26)

  1. 다수의 데이터 서브그룹을 포함하는 디지털 데이터 입력 스트림을 수신하기 위한 방법에 있어서,
    a) 다수의 버퍼를 포함하는 통신 모듈에서 다수의 서브그룹을 포함하는 원시 디지털 데이터 입력 스트림을 수신하는 단계;
    b) 각각의 서브그룹을 선택된 버퍼-여기서 버퍼는 순차적으로 수신된 서브 그룹을 저장하기 위하여 미리 정해진 교대 순서(order of rotation)에 따라 선택되며, 각각의 버퍼는 소정 순서대로 서브그룹을 수신함-에 저장하는 단계;
    c) 각각의 버퍼에서 수신된 순서와 동일한 순서로 저장된 서브그룹을 출력하는 단계; 및
    d) 상기 원시 디지털 입력 스트림을 포함하는 출력 스트림을 제공하기 위하여 버퍼에 의해 출력된 서브그룹을 어셈블링하는 단계를 포함하는 디지털 데이터 입력 스트림 수신 방법.
  2. 다수의 데이터 서브그룹을 포함하는 디지털 데이터 입력 스트림을 수신하기 위한 방법에 있어서,
    a) 미리 정해진 수 N개의 버퍼-여기서 N은 적어도 2 이상임-를 포함하는 통신 모듈에서 다수의 서브그룹을 포함하는 디지털 데이터 입력 스트림을 수신하는 단계;
    b) 각각의 버퍼가 입력 스트림의 매 N번째 데이터 서브그룹-여기서 각각의 서브그룹은 버퍼들 가운데 하나에 배타적으로 저장됨-을 저장하는 단계;
    c) 각각의 버퍼에서 그 버퍼에 저장된 서브그룹을 출력하는 단계; 및
    d) 모든 버퍼들에 의해 출력된 서브그룹을 결합시킴으로써 디지털 입력 스트림을 포함하는 출력을 제공하는 단계를 포함하는 디지털 데이터 입력 스트림 수신 방법.
  3. 다수의 데이터 서브그룹을 포함하는 디지털 데이터 입력 스트림을 전송하기 위한 방법에 있어서,
    a) 다수의 서브그룹을 포함하며 소정의 데이터 속도를 가지는 디지털 데이터 입력 스트림을 통신 모듈에 전송하는 단계; 및
    b) 입력 스트림의 전송과 동시에 미리 정해진 N개의 복수 클럭 신호-여기서 클럭 신호는 각각 제 1 데이터 속도에 1/N을 곱한 데이터 속도로 발생하는 미리 정해진 클럭킹 이벤트를 포함하며, 상기 클럭 신호들은 교대 방식으로 순차적으로 클럭킹 이벤트를 발생함-를 통신 모듈에 전송하는 단계를 포함하는 디지털 데이터 입력 스트림 전송 방법.
  4. 데이터를 교환하는 방법에 있어서,
    a) 제 1 데이터 속도로 발생하는 다수의 하위부를 가지는 원시 디지털 데이터 입력 스트림을 제 1 통신 구성 소자로부터 제 2 통신 구성 소자에 전송하는 단계;
    b) 제 1 통신 구성 소자가 입력 스트림과 함께 N개의 복수 클럭 신호-여기서 클럭 신호는 각각 제 1 데이터 속도에 1/N을 곱한 데이터 속도로 발생하는 복수의 클럭킹 이벤트를 가지며, 상이한 클럭 신호를 가지는 클럭킹 이벤트는 클럭킹 신호들 사이에서 교대로 발생함-를 제 2 통신 구성소자에 전송하는 단계;
    c) 제 2 통신 구성 소자가 원시 디지털 데이터 입력 스트림 및 클럭 신호를 수신하는 단계;
    d) 제 2 통신 구성 소자가 원시 디지털 데이터 입력 스트림의 대응하는 수의 서브스트림을 지정하는데 클럭 신호를 사용하고, 각각의 지정된 서브스트림을 상이한 버퍼에 저장하는 단계;
    e) 각각의 버퍼가 자신의 서브스트림을 출력하는 단계; 및
    f) 제 2 통신 구성 소자가 원시 디지털 데이터 입력 스트림을 포함하는 출력을 제공하기 위하여 서브스트림을 통합하는 단계를 포함하는 데이터 교환 방법.
  5. 전송기로부터 디지털 데이터 입력 스트림을 수신하기 위한 장치에 있어서,
    a) 다수의 서브그룹을 포함하는 원시 디지털 데이터 입력 스트림을 수신하기 위한 입력 라인;
    b) 입력 라인에 결합되는 다수의 데이터 버퍼-여기서 다수의 데이터 버퍼는 각각의 서브그룹을 하나의 선택된 버퍼에 저장하며, 버퍼는 순차적으로 수신된 서브그룹을 저장하기 위하여 미리 정해진 순서로 교대로 선택되고, 각각의 버퍼는 순서로 서브그룹을 수신하며, 저장된 서브그룹을 수신된 순서와 동일한 순서로 출력함-; 및
    c) 데이터 버퍼에 결합되며, 원시 디지털 데이터 입력 스트림을 포함하는 출력을 제공하기 위하여 버퍼에 의해 출력된 서브그룹을 어셈블링하는 데이터 어셈블러를 포함하는 디지털 데이터 입력 스트림 수신 장치.
  6. 제5항에 있어서, 버퍼의 수가 2인 디지털 데이터 입력 스트림 수신 장치.
  7. 제5항에 있어서, 모든 서브그룹이 단일 고정 크기를 가지는 디지털 데이터 입력 스트림 수신 장치.
  8. 제7항에 있어서, 각각의 서브그룹은 한 바이트로 이루어지는 데이터를 포함하는 디지털 데이터 입력 스트림 수신 장치.
  9. 제5항에 있어서, 원시 디지털 데이터 입력 스트림은 제 1 주파수를 가지며, 또한 복수의 제 1 및 제 2 클럭킹 이벤트를 포함하는 제 1 및 제 2 클럭신호와 함께 통신 모듈에서 수신되고, 버퍼는 제 1 및 제 2 버퍼를 포함하며, 각각의 서브그룹을 선택된 버퍼에 저장하는 것은
    a) 입력 스트림의 교대 데이터 서브그룹을 식별하기 위해 제 1 클럭 신호의 제 1 클럭킹 이벤트-여기서 제 1 클럭킹 이벤트는 제 1 주파수의 1/2 주파수로 발생함-를 사용하고, 식별된 데이터 서브그룹을 제 1 버퍼 내에 저장하며,
    b) 입력 스트림의 모든 식별되지 않은 데이터 서브그룹을 지정하기 위해 제 2 클럭 신호의 제 2 클럭킹 이벤트-여기서 제 2 클럭킹 이벤트는 제 1 주파수의 1/2 주파수로 발생함-를 사용하고, 지정된 데이터 서브그룹을 제 2 버퍼 내에 저장하는 것에 의해 이루어지는 디지털 데이터 입력 스트림 수신 장치.
  10. 제9항에 있어서, 제 1 및 제 2 클럭 신호가 구형파 신호(rectangular wave signal)를 포함하며, 제 2 클럭 신호는 제 1 클럭 신호에 대하여 위상이 180°쉬프팅된 디지털 데이터 입력 스트림 수신 장치.
  11. 제9항에 있어서, 제 1 및 제 2 클럭 신호는 구형파 신호를 포함하며, 제 1 및 제 2 클럭킹 이벤트는 구형파 신호의 미리 정해진 에지를 포함하는 디지털 데이터 입력 스트림 수신 장치.
  12. 제5항에 있어서, 원시 디지털 데이터 입력 스트림의 출력 제공이 각각의 버퍼로부터 하나의 데이터 서브그룹을 반복적으로 선택하고, 선택된 데이터 서브그룹을 어셈블링하는 것을 포함하는 디지털 데이터 입력 스트림 수신 장치.
  13. 제5항에 있어서, 데이터 버퍼가 디지털 데이터 입력 스트림과 함께 자격부여 신호를 통신 모듈에서 수신하고, 또한 상기 데이터 버퍼가 미리 정해진 상태를 가지는 수신된 자격 부여 신호를 수반하며 통신 모듈에서 수신되는 서브그룹의 저장을 회피(avoiding)하는 디지털 데이터 입력 스트림 수신 장치.
  14. 제5항에 있어서, 데이터 버퍼는 원시 디지털 데이터 입력 스트림과 함께 자격부여 신호를 통신 모듈에서 수신하며, 데이터 어셈블러는 출력 스트림이 미리 정해진 상태를 가지는 수신된 자격부여 신호를 수반하는 통신 모듈에서 수신된 신호를 포함하는 경우에는 항상 출력 스트림의 제공과 동시에 미리 정해진 유효 데이터 신호를 제공하는 디지털 데이터 입력 스트림 수신 장치.
  15. 제5항에 있어서, 입력 라인은 원시 디지털 데이터 입력 스트림과 함께 자격부여 신호를 추가적으로 수신하며, 데이터 어셈블러는 버퍼에 의해 출력되는 선택된 서브그룹-여기서 선택된 서브그룹은 미리 정해진 상태를 가지는 수신된 자격부여 신호를 수반하는, 통신 모듈에서 수신된 서브그룹을 포함함-을 어셈블링함으로써 원시 디지털 데이터 입력 스트림의 출력을 제공하기 위해 버퍼에 의해 출력되는 서브그룹을 어셈블링하도록 프로그래밍되는 디지털 데이터 입력 스트림 수신 장치.
  16. 제15항에 있어서, 미리 정해진 상태는 미리 정해진 전압을 포함하는 디지털 데이터 입력 스트림 수신 장치.
  17. 제5항에 있어서, 버퍼 및 데이터 어셈블러에 결합된 멀티플렉서를 추가적으로 포함하고, 입력 라인은 원시 디지털 데이터 입력 스트림과 함께 자격부여 신호를 추가적으로 수신하며, 데이터 어셈블러는 멀티플렉서가 미리 정해진 상태를 가지는 수신된 자격부여 신호를 수반하는, 통신 모듈에서 수신된 서브그룹만을 출력하도록 함으로써 원시 디지털 데이터 입력 스트림의 출력을 제공하도록 버퍼에 의해 출력되는 서브그룹을 어셈블링하는 디지털 데이터 입력 스트림 수신 장치.
  18. 제17항에 있어서, 미리 정해진 상태는 미리 정해진 전압을 포함하는 디지털 데이터 입력 스트림 수신 장치.
  19. 제5항에 있어서, 수신 장치는
    a) 원시 디지털 데이터 입력 스트림과 함께 통신 모듈에서 자격부여 신호를 수신하고,
    b) 버퍼에 저장되는 서브그룹에 수반되는 자격부여 신호를 버퍼에 저장하며,
    c) 각각의 버퍼에서 저장된 서브그룹의 출력과 동시에 수신된 자격부여 신호를 출력하며, 원시 디지털 데이터 입력 스트림의 출력을 제공하도록 버퍼에 의해 출력되는 서브그룹의 어셈블리가 버퍼에 의해 출력되는 선택된 서브그룹-여기서 선택된 서브그룹은 미리 정해진 상태를 가지는 버퍼에 의해 출력되는 자격부여 신호와 동시에 버퍼에 의해 출력됨-을 어셈블링하는 디지털 데이터 입력 스트림 수신 장치.
  20. 제19항에 있어서, 미리 정해진 상태는 미리 정해진 전압을 포함하는 디지털 데이터 입력 스트림 수신 방법.
  21. 제5항에 있어서, 원시 디지털 데이터 입력 스트림은 소정의 데이터 속도를 가지며, 출력 스트림은 상기 소정의 데이터 속도와 실질적으로 동일한 데이터 속도를 가지는 디지털 데이터 입력 스트림 수신 장치.
  22. 제5항에 있어서, 버퍼가 선입선출(first-in-first-out) 버퍼를 포함하는 디지털 데이터 입력 스트림 수신 장치.
  23. 데이터 전송기에 있어서, 데이터 전송기는
    a) 통신 라인에 결합되기에 적합한 형태의 부착부를 포함하는 통신 인터페이스 및;
    b) 통신 인터페이스에 결합되고, 다수의 데이터 서브그룹을 포함하는 디지털 데이터 입력 스트림을 전송하기 위한 방법을 수행하도록 프로그래밍된 프로세싱 유닛을 포함하며, 상기 방법이
    ⅰ) 다수의 서브그룹을 포함하며 소정의 데이터 속도를 가지는 입력 스트림을 통신 인터페이스를 통하여 전송하는 단계; 및
    ⅱ) 입력 스트림의 전송과 동시에 미리 정해진 N개의 복수 클럭 신호-여기서 클럭 신호는 각각 제 1 데이터 속도에 1/N을 곱한 데이터 속도로 발생하는 미리 정해진 클럭킹 이벤트를 포함하며, 클럭 신호들은 교대 방식으로 클럭킹 이벤트를 순차적으로 발생함-를 통신 인터페이스를 통하여 전송하는 단계를 포함하는 데이터 전송기.
  24. 제23항에 있어서, 프로세싱 유닛은 마이크로프로세서를 포함하는 데이터 전송기.
  25. 전송기로부터 디지털 데이터 입력 스트림을 수신하기 위한 장치에 있어서,
    a) 다수의 서브그룹을 포함하는 원시 디지털 데이터 입력 스트림을 수신하기 위한 입력 라인;
    b) 입력 라인에 결합되는 다수의 버퍼 수단; 및
    c) 데이터 버퍼 수단에 결합되며, 원시 디지털 데이터 입력 스트림을 포함하는 출력을 제공하기 위하여 버퍼 수단에 의해 출력되는 서브그룹을 어셈블링하기 위한 데이터 어셈블링 수단을 포함하며,
    상기 다수의 버퍼 수단은
    ⅰ) 각각의 서브그룹을 하나의 선택된 버퍼-여기서 버퍼는 순차적으로 수신되는 서브그룹을 저장하기 위한 미리 정해진 교대 순서로 선택되며, 각각의 버퍼는 순서로 서브그룹을 수신함-에 저장하며,
    ⅱ) 각각의 버퍼 수단에 저장되는 서브그룹을 수신된 순서와 동일한 순서로 출력하는 디지털 데이터 입력 스트림 수신 장치.
  26. 데이터 전송기에 있어서,
    a) 통신 라인에 결합하기 위한 부착 수단을 포함하는 통신 인터페이스; 및
    b) 통신 인터페이스 수단에 결합되며, 다수의 데이터 서브그룹을 포함하는 디지털 데이터 입력 스트림을 전송하기 위한 처리 수단을 포함하며,
    상기 전송이
    ⅰ) 다수의 서브그룹을 포함하며 소정의 데이터 속도를 가지는 입력 스트림을 통신 인터페이스를 통하여 전송하고,
    ⅱ) 입력 스트림의 전송과 동시에 미리 정해진 N개의 복수 클럭 신호-여기서 클럭 신호는 각각 제 1 데이터 속도에 1/N을 곱한 데이터 속도로 발생하는 미리 정해진 클럭킹 이벤트를 포함하며, 클럭 신호들을 교대 방식으로 클럭킹 이벤트를 순차적으로 발생함-를 통신 인터페이스 수단을 통하여 전송함으로써 이루어지는 데이터 전송기.
KR1019980000915A 1997-04-25 1998-01-14 인터리빙된 데이터 서브그룹을 개별적으로 클럭킹 및 재결합하여 고속으로 디지털 데이터를 전송하는 방법 및 장치 KR100274272B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/846,517 US6091783A (en) 1997-04-25 1997-04-25 High speed digital data transmission by separately clocking and recombining interleaved data subgroups
US8/846,517 1997-04-25

Publications (2)

Publication Number Publication Date
KR19980079612A KR19980079612A (ko) 1998-11-25
KR100274272B1 true KR100274272B1 (ko) 2000-12-15

Family

ID=25298154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980000915A KR100274272B1 (ko) 1997-04-25 1998-01-14 인터리빙된 데이터 서브그룹을 개별적으로 클럭킹 및 재결합하여 고속으로 디지털 데이터를 전송하는 방법 및 장치

Country Status (4)

Country Link
US (2) US6091783A (ko)
JP (1) JP3429189B2 (ko)
KR (1) KR100274272B1 (ko)
TW (1) TW388012B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091783A (en) * 1997-04-25 2000-07-18 International Business Machines Corporation High speed digital data transmission by separately clocking and recombining interleaved data subgroups
US20020174434A1 (en) * 2001-05-18 2002-11-21 Tsu-Chang Lee Virtual broadband communication through bundling of a group of circuit switching and packet switching channels
US7327816B2 (en) * 2003-12-23 2008-02-05 Teradyne Inc. High resolution synthesizer with improved signal purity

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602647A (en) * 1962-02-06 1971-08-31 Fujitsu Ltd Control signal transmission in time division multiplex system communications
US5172396A (en) * 1988-10-20 1992-12-15 General Electric Company Public service trunking simulcast system
US5146567A (en) * 1989-08-22 1992-09-08 Acer Incorporated Keyboard interface
US5105444A (en) * 1989-09-13 1992-04-14 Atlantic Richfield Company System for high speed data tranmission
JP3199372B2 (ja) * 1990-09-10 2001-08-20 株式会社日立製作所 論理回路
DE69114825T2 (de) * 1990-12-21 1996-08-08 Sun Microsystems Inc Verfahren und Einrichtung zur Erhöhung der Verarbeitungsgeschwindigkeit eines Anzeigesystems mit Doppel-Pufferspeicher.
US5297276A (en) * 1991-12-26 1994-03-22 Amdahl Corporation Method and apparatus for maintaining deterministic behavior in a first synchronous system which responds to inputs from nonsynchronous second system
US5495596A (en) * 1992-07-31 1996-02-27 Silicon Graphics, Inc. Method for clocking functional units in one cycle by using a single clock for routing clock inputs to initiate receive operations prior to transmit operations
JP3138173B2 (ja) * 1995-04-10 2001-02-26 シャープ株式会社 グラフィックス用フレームメモリ装置
KR970049406A (ko) * 1995-12-15 1997-07-29 김광호 그래픽 오버레이속도 향상기능을 갖는 화상처리장치
US5822553A (en) * 1996-03-13 1998-10-13 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller architecture
JPH1078770A (ja) * 1996-09-05 1998-03-24 Fujitsu Ltd 表示制御装置
US6091783A (en) * 1997-04-25 2000-07-18 International Business Machines Corporation High speed digital data transmission by separately clocking and recombining interleaved data subgroups

Also Published As

Publication number Publication date
JPH11149364A (ja) 1999-06-02
JP3429189B2 (ja) 2003-07-22
KR19980079612A (ko) 1998-11-25
US6091783A (en) 2000-07-18
US6246726B1 (en) 2001-06-12
TW388012B (en) 2000-04-21

Similar Documents

Publication Publication Date Title
EP0326696B1 (en) Hybrid communications link adapter incorporating input/output and data communications technology
EP0685799B1 (en) Multi-device connector
KR100450672B1 (ko) 포인트 대 포인트 버스 구성을 갖는 메모리 시스템
US4695952A (en) Dual redundant bus interface circuit architecture
US5619722A (en) Addressable communication port expander
US5758073A (en) Serial interface between DSP and analog front-end device
JP3171741B2 (ja) データ転送レートを整合させるための回路
EP0453199A2 (en) Computer system with synchronous bus
JPH0223456A (ja) データバーストの高速並列転送方法及び装置
JPH06119290A (ja) 情報バスに結合されたインターフェース回路間に高性能相互接続を施すための方法及び装置
US4048673A (en) Cpu - i/o bus interface for a data processing system
US6119183A (en) Multi-port switching system and method for a computer bus
US20020114415A1 (en) Apparatus and method for serial data communication between plurality of chips in a chip set
EP0685803A2 (en) Electrical device adapter and method of producing the same
US5655153A (en) Buffer system
KR100274272B1 (ko) 인터리빙된 데이터 서브그룹을 개별적으로 클럭킹 및 재결합하여 고속으로 디지털 데이터를 전송하는 방법 및 장치
US6085285A (en) Intermixing different devices along a single data communication link by placing a strobe signal in a parity bit slot
US4047201A (en) I/O Bus transceiver for a data processing system
US4771378A (en) Electrical interface system
EP0006477B1 (en) Device for controlling the transmission of data between a data transmitting control unit and a data recording controller for serial recording
EP0588030A2 (en) Master microchannel apparatus for converting to switch architecture
US6557064B1 (en) Set up time adjust
CA1062373A (en) Peripheral device controller for a data processing system
CN114003543B (zh) 一种高速串行总线时钟补偿方法及系统
EP0490573A1 (en) Method and apparatus for providing high performance interconnection between information buses

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: 20060901

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee