KR19980703473A - 윈도우 콤퍼레이터 - Google Patents

윈도우 콤퍼레이터 Download PDF

Info

Publication number
KR19980703473A
KR19980703473A KR1019970706877A KR19970706877A KR19980703473A KR 19980703473 A KR19980703473 A KR 19980703473A KR 1019970706877 A KR1019970706877 A KR 1019970706877A KR 19970706877 A KR19970706877 A KR 19970706877A KR 19980703473 A KR19980703473 A KR 19980703473A
Authority
KR
South Korea
Prior art keywords
frame
value
input
output
counter
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1019970706877A
Other languages
English (en)
Other versions
KR100364385B1 (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 KR19980703473A publication Critical patent/KR19980703473A/ko
Application granted granted Critical
Publication of KR100364385B1 publication Critical patent/KR100364385B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5604Medium of transmission, e.g. fibre, cable, radio
    • H04L2012/5605Fibre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/565Sequence integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

수신 디바이스의 인터페이스 장치내의 데이타 프레임을 저장하는 방법과 장치. 인터페이스 장치는 윈도우 콤퍼레이터(200)와 제어장치(202)를 포함한다. 윈도우 콤퍼레이터(200)는 양방향 2:1 멀티플렉서(206)와, 카운터(208)와, 제1 및 제2 콤퍼레이터(210,212)와, 바이너리 가산기(214)와, 3:8 디코더(216)와, 2입력 OR 게이트 8개와, 감산기(220)와, 비트마스크(222)와, 래치된 출력이 있는 시프트 레지스터(224)와, 판독 버퍼(204)를 포함한다. 인터페이스 장치는 하나 이상의 시퀀스와 연관된 프레임이 동시에 처리되도록 할 수 있다. 누락 프레임 윈도우가 각각의 시퀀스로 생성되어 연관된다. 특정 시퀀스로 연관된 프레임이 무순서로 수신될 때 누락 프레임을 나타내는 누락 프레임 윈도우내의 비트는 무순서 프레임의 수신을 나타내기 위해 어서트된다. 따라서 무순서로 저장되고 이어서 호스트에 저장된다.

Description

윈도우 콤퍼레이터
컴퓨터 산업에는 고속 디지털망을 통해 대량의 정보를 이동시키기 위한 여러 프로토콜이 존재한다. 예를 들어 광섬유 채널은 워크스테이션과 컴퓨터 시스템의 주변기기를 상호 접속하기 위한 표준으로 등장하고 있다. 광섬유 표준을 이용하면 200Mbytes 정도의 데이타를 2초 정도의 시간에 전송할 수 있게 된다. 광섬유 채널은 고속 지역망의 표준이 될 것으로 생각되며, 이 광섬유 채널은 스위치형 매체이다. 이것은 데이타의 패킷(packets)이 각각의 유저에 의해 전송됨을 의미한다. 데이타는 2kbyte 이하의 패킷 형태로 전송되며, 이들 데이타 패킷은 프레임이라고도 한다. 시퀀스는 이 시퀀스가 수신장치에서 완전할 것으로 생각하기에 앞서 소정의 순서로 어셈블되어야하는 하나 이상의 프레임을 구성한다.
도 1 은 광섬유 프레임을 위한 프레임 포맷을 설명하는 도면이다. 프레임의 처음 4바이트는 시작 프레임(Start-of-Frame)필드(101)에 할당된다. 시작 프레임(101)은 프레임이 계속됨을 나타내는 데이타의 패턴이다. 다음 24바이트는 프레임 헤더(Frame-Header) 필드(103)에 할당된다. 프레임 헤더 필드(103)는 동시에 얻어지며 유일하게 프레임을 확인하는 4개의 서브필드를 포함한다. 이러한 서브필드중 첫 번째 필드는 소스 확인 서브필드(S-ID)이며, S-ID 서브필드는 프레임이 시작된 장치를 확인하는 3바이트의 정보이다. 이들 서브필드중 두 번째 필드는 수신지 확인 서브필드(D-ID)이며, 프레임을 수신하려고하는 장치를 확인해주는 3바이트의 정보이다. 이들 서브필드중 세 번째 필드는 시퀀스 확인 서브필드(SEQ-ID)이며, 프레임이 연관되는 특정 시퀀스를 확인해주는 3바이트의 정보이다. 이들 서브필드중 네 번째 필드는 시퀀스 카운트 서브필드(SEQ-CNT)이며, 특정 시퀀스의 기타 프레임 각각에 관한 시퀀스내의 프레임의 상대적 차례(order)를 판정하는 서브필드이다.
프레임의 다음 0-2112 바이트는 페이로드 필드(105)(즉, 소즈장치로부터 수신지 장치(destination device))에 전송될 정보를 운반하는 필드)에 할당된다. 프레임의 다음 4바이트는 프레임의 데이타 에러가 검출될 수 있도록 해주는 CRC (Cyclical redundancy code) 필드(107)에 할당된다. 프레임의 마지막 4바이트는 종결 프레임(End-of-Frame)(109)에 할당된다.
광섬유 등의 통신 프로토콜이 갖는 문제점중 하나는 통신 링크의 수신이 끝나는 경우 소정의 차례로 수신되어야만 한다는 것이다. 그러나 통신링크의 필요조건은 데이타가 차례대로 도착하는 것을 방해할 수 있다. 예를들어 소스 디바이스는 정보 프레임내의 에러를 검출하여 이 에러를 보정하기 전에 다음 프레임에 전송할 수도 있다. 에러의 보정이 완료된 후에는 에러가 있었던 프레임은 무순서로 전송된다. 미리 전송된 프레임내의 에러를 정정하기 전에 차례대로 다음 프레임을 전송하면 상기 소스 디바이스는 검출된 에러를 보정하는 동안 작업(즉, 데이타의 전송)을 계속할 수 있다. 또다른 예에서 소스 디바이스는 적절한 순서로 프레임을 전송할 수도 있다. 그러나 프레임은 수신지 장치에 대해 상이한 경로를 취할 수도 있고, 상이한 경로를 통한 상이한 전송의 결과는 프레임이 무순서로 도착하는 것으로 나타난다.
미리 전송된 프레임의 에러를 검출한 후에 순서대로 프레임을 전송하고, 상이한 경로를 통해 프레임을 전송하는 동안에는 무순서로 프레임이 수신될 수도 있고, 이에 따라 프레임을 재배열하는 작업을 수행하는 수신지 장치에 부담이 될 수도 있지만, 이러한 동작은 소스 디바이스로 하여금 최상의 전달 경로를 활용하도록 하여 에러에 의해 인터럽트되지않은 데이타의 프레임을 계속 전송할 수 있도록 해준다.
프레임을 재정리하는 기존의 메카니즘은 수동 또는 지능적 개입(intelligent intervention)을 요구함으로써 수행능력이 경감되는 단점을 발생시키거나 또는 순차 정보가 정확한 순서로 수신지에 도달할 때까지 순차정보를 송신기(sender)가 재전송하도록함으로써 시스템에 부담을 주었다. 예를들어 TCP(Transport Control Protocol) TLP(Transport Layer protocol)는 신뢰성이 있으면서도 정렬된 데이타열의 전달을 제공하기 위해 IP(Internet Protocol)를 사용하는 소프트웨어 메카니즘이다. 수신 시스템내의 TCP 소프트웨어 처리는 누락되거나, 복사되거나 또는 무순서 세그멘트가 전혀 없도록 보장하기 위해 각각의 수신 세그멘트를 체크한다. 이러한 시스템에서는 수신기의 지능적으로 간섭을 요구하고 있고 이에 따라 수신기의 기능을 감소시킨다.
따라서 효율성과 데이타 통신의 속도에 영향을 주지않는 소스 디바이스에 의도되는 순서를 따를 수 있도록 수신지 소스에 의해 수신된 프레임을 재배열하기 위한 간단한 수단이 요구된다.
본 발명은 디지털 통신을 위한 방법과 장치에 관한 것으로서, 특히 무순서로 수신되어온 시퀀스 정보를 재배열하는 방법과 장치에 관한 것이다.
도 1 은 종래 기술에 따른 광섬유 채널 프레임의 프레임 포맷을 설명하는 도면이다.
도 2 는 본 발명에 따른 인터페이스 장치의 블록도이다.
도 3 은 본 발명에 따른 상태 머신(state machine)의 상태에 대한 상태 블록도이다.
여러 도면에 있어서 동일한 요소에는 동일한 참조부호를 부여한다.
본 발명은 수신장치의 인터페이스내에 있는 데이타 프레임을 재배열하는 방법과 장치에 관한 것이다. 데이타의 재정렬은 수신장치로 하여금 소정의 시컨스순서로 데이타를 처리할 수 있도록 해준다. 본 발명에 따라 소스 디바이스로부터 전송되는 각각의 프레임은 시퀀스 데이타내에 있는 각각의 기타 프레임에 대해 그 프레임의 상대적 위치를 나타내는 시퀀스 번호로 할당된다. 시퀀스는 이 시퀀스가 수신장치에서 완전한 것으로 고려될 수 있기 전에 소정의 순서로 어셈블되어야만하는 하나 이상의 프레임을 구비하고 있다. 데이타의 각각의 시퀀스 역시 확인된다. 본 발명은 하나 이상의 시퀀스와 연관되는 프레임이 동시에 처리될 수 있도록 문맥(context)을 교환할 수 있다. 누락 프레임 윈도우(Missing Frame Window)가 생성되어 각각의 시퀀스와 연관된다. 각각의 누락 프레임 윈도우는 무순서로 수신된 특정 시퀀스의 프레임 레코드를 유지한다. 특정 시퀀스와 연관되는 프레임이 수신될 때 그 시퀀스와 연관되는 누락 프레임은 누락 프레임 래치에 로드되는 것이 바람직하다. 누락 프레임 윈도우는 8비트 워드가 바람직하다. 특정 시퀀스로 연관되는 프레임이 무순서로 수신되면 누락을 나타내는 누락 프레임 윈도우내의 비트가 무순서 프레임의 수신을 나타내는 것으로 단정된다. 이어서 무순서 프레임은 무순서 프레임의 전송전에 전송되어야만하는 프레임의 수신에 따라 순서대로 호스트에 전송된다.
누락 프레임 윈도우의 최소 유효 비트(LSB)는 다음 예상 프레임(next expected frame)을 나타낸다. 다음 예상 프레임은 가능한 범위내의 최저값을 가지는 시퀀스 번호와 아직 수신되지 않은 가능한 값의 범위내의 최저값을 갖는 시퀀스 번호로서 정의된다. LSB 가 단정될 때(다음 예상 프레임이 수신되는 것을 나타낼 때) 다음 예상 프레임의 페이로드에서 운반되는 데이타가 호스트에 전송된다. 각각의 비트는 최저 명령 비트(lowest order bit)쪽으로 1비트 이동되고, 상기 최저 명령 비트가 다시 체크된다. 이러한 처리는 최저 명령 비트라고 단정되지 않을 때까지 반복된다.
본 발명의 바람직한 실시예는 첨부 도면과 이하의 설명으로부터 상술된다. 일단 본 발명의 기술이 공지되면 당업자에 의한 다양하면서도 부가적인 기술혁신과 변형이 있을 수 있음은 명백하다.
이상의 설명을 통해 도시된 바람직한 실시예는 본 발명을 제한하기 보다는 예시를 위한 의도로 기재되었다.
개요
본 발명은 통신 링크를 통한 데이타(즉, 멀티 바이트 전송) 프레임을 수신하는 인터페이스 장치이다. 본 발명에 따른 데이타 프레임은 도 1 에 도시되어 상술되는 것과 같은 정보 필드를 포함하고 있다. 본 발명의 바람직한 실시예에서 본 발명에 따른 통신 링크를 통해 수신된 각각의 데이타 프레임은 프레임 헤더(103)와 같은 필드내에 운반되는 시퀀스 번호와 관련된다. 간략히 하기 위해 시퀀스 번호 X 와 관련된 프레임은 프레임 X 라고 하기로 한다. 예를 들어 시퀀스 번호 102와 관련된 프레임은 프레임 102라고 하기로 한다. 각각의 프레임과 관련된 시퀀스 번호는 프레임의 수신을 의도하는 순서를 나타낸다. 간략히 하기 위해 프레임 0은 본 설명에서는 시퀀스의 제 1 프레임이 될 것으로 생각되고, 순서대로 각 시퀀스 프레임은 이전 프레임 보다 큰 시퀀스 번호를 갖는다. 따라서 프레임102는 수신된 103번째 프레임이 되도록 의도되었다. 프레임102은 프레임 101 이후에 즉시 수신되도록 의도되었다. 그러나 가능한 시퀀스 번호의 범위는 어떠한 번호에서도 시작될 수 있어야하고 어떠한 소정의 인터벌에서도 증가될 수 있어야함은 명백하다.
본 발명은 각 프레임의 페이로드 필드(105) 내에 운반되는 정보를 시퀀스 번호로 판정되는 것과 같이 각 프레임이 수신되도록 하는 순서로 호스트에 전송한다. 프레임이 무순서로 수신되면 페이로드 필드(105)내에 운반되는 데이타가 저장된다. 미리 수신되어야하는 프레임의 모든 데이타가 전송된 후에만 무순서 프레임의 데이타가 전송된다. 본 발명의 한 실시예에 있어서 페이로드 필드(105)내의 데이타가 전송되는 호스트는 통상적인 컴퓨터이다. 이와 달리 호스트는 통신링트의 수신지 노드의 기능을 하는 컴퓨터 주변장치 또는 기타 어떠한 장치일 수도 있다.
본 발명에 따르면 다음 예상 프레임은 가능한 값내에 최저값을 갖는 시퀀스 번호를 운반하고 아직 수신되지는 않은 프레임으로서 정의된다. 예를들어 가능한 시퀀스번호의 범위가 0 - 65,535라면(광섬유 채널 프레임의 경우) 이어서 프레임 0 내지 프레임 100까지의 각각의 프레임이 수신되고, 프레임 104 역시 수신되고, 다음 예상 프레임이 프레임 101이라면 101은 아직 수신되지 못하고, 여전히 가능한 범위내에 있기 때문이다.
본 발명은 래치된 출력이 있는 쉬프트 레지스터내의 8비트(총괄하여 누락 프레임 윈도우라고함)를 저장한다. 각각의 비트는 예상 프레임의 소정의 범위내에 있는 다음 프레임중 어느 프레임이 수신되었는지를 나타낸다. 대안적으로 어떠한 메모리 수단도 누락 프레임 윈도우를 저장하기 위해 사용될 수 있다. 쉬프트 레지스터의 LSB 는 다음 예상 프레임과 연관되는 것이 바람직하다. LSB 로부터 MSB(Most significant bit) 순서의 각각의 기타 비트는 순서대로 이어지는 다음 프레임과 연관되는 것이 바람직하다. 예를들어 프레임 3이 다음 예상 프레임이라면 LSB 는 프레임 3과 연관된다. 제2 LSB 가 프레임 4와 연관되며, 제3LSB 가 프레임 5 등과 연관된다. 대안적인 실시예에서 MSB 는 다음 예상 프레임과 연관될 수도 있고, 따라서 각 비트의 순서는 바뀔 수도 있다.
비트와 연관된 프레임이 수신되면 제1 논리 상태(디어서트(deasserted))로부터 제2 논리상태(어서트(asserted) )로 각각의 비트가 변화한다. LSB 가 어서트되면 다음 예상 프레임이 수신된다. 따라서 본 발명의 한 실시예에 따라 LSB 의 이행(transition)시 프레임으로부터 가장 최근에 수신된 프레임은 다음 예상 프레임이 된다. 따라서 가장 최근에 수신된 프레임은 호스트에 전송될 수 있으며, 이는 프레임에서 예상된 순서로 호스트에 프레임을 전송하는 본 발명의 목표이다. 일단 프레임이 호스트에 전송되면 시프트 레지스터는 LSB 쪽으로 1비트 이동된 이전값과 동일한 값에 의해 갱신된다. LSB 의 새로운 값이 어서트되면 그 비트와 연관된 프레임이 수신되어 호스트에 전송될 수 있다. 만일 새로운 LSB 가 디어서트되면 인터페이스 장치는 새로운 LSB와 연관된 프레임의 수신을 대기한다(즉, LSB 가 어서트될 때까지).
본 발명의 바람직한 실시예에 있어서 인터페이스 장치의 각각의 파라미터는 특정 시퀀스로 연관된 상태로 저장될 수도 있고, 이어서 특정 시퀀스내의 프레임의 수신에 따라 재로드될 수도 있다. 이것은 복수의 정보열이 인터페이스 장치에 의해 수신되어 처리될 수 있도록 해준다. 도 2 는 본 발명에 따른 인터페이스 장치의 블록도이다. 이 인터페이스 장치는 윈도우 콤퍼레이터(200)와, 상태 머신(202)과 같은 제어장치를 포함한다. 상태 머신(202)은 윈도우 콤퍼레이터(200)의 동작을 제어한다. 윈도우 콤퍼레이터(200)는 2:1 멀티플렉서(208)와, 카운터(208)와, 제1 및 제2 콤퍼레이터(210,212)와, 이진 가산기(214)와, 3:8 디코더와, 2입력 OR 게이트(220) 8개, 래치된 출력이 있는 시프트 레지스터(224)와, 리드 버퍼(204)를 포함한다. 이어지는 신호는 상태 머신(202)의 다음 상태 즉 (1) 유입되는 프레임으로부터 수신되는 데이타와; (2) MSB 출력과; (3) WRAP 출력신호와; (4) BORROW 출력신호와; (5) 에러 출력 신호와; (6) 시프트 레지스터(224)의 각 비트의 논리 상태를 나타내는 8개의 신호를 제어하는 입력으로서 상태 머신(202)에 수신된다. 도 3 은 상태 머신(202)의 상태도이다.
본 발명은 통신 링크를 통한 프레임의 수신에 따라 개시된다. 상태 머신(202)은 초기화상태(301)로 진입한다. 프레임이 수신되면 상태 머신(202)은 시작 프레임 필드(101)와, 프레임 헤더 필드(103)와, CRC 필드 및 종료 프레임 필드에 포함되어 있는 정보를 처리한다. 시작 프레임 필드는 이러한 프레임이 시퀀스의 제1 프레임인지를 나타내는 정보를 포함하는 것이 바람직하다. 프레임이 시퀀스의바람직한 제1 프레임이라면 상태 머신(202)은 제1 프레임 플래그(FF 플래그)를 설정한다.
프레임 헤더(103)의 검출시 상태 머신(202)은 시퀀스 식별(SEQ-ID)값과 프레임 헤더(103)로부터의 시퀀스 카운터(SEQ-CNT)값을 추출하는 것이 바람직하고, 상태 머신(202)내의 메모리(230)에 이들 값을 저장한다. 또다른 실시예에서 메모리(230)는 상태머신(202)의 외부에 있는 것이 바람직하다. 상기 SEQ-CNT 는 프레임의 시퀀스 번호(Sequence Number)이다. SEQ-ID 는 프레임이 연관되는 특정 시퀀스를 판정한다. 본 발명의 대안적인 실시예에서 프레임은 SEQ-ID 를 나타내지 않는다. 이러한 대안적 실시예에서 제1 시퀀스의 프레임은 제2 시퀀스의 프레임이 수신될 수 있기 전에 수신되어야한다.
더욱이 초기화상태(301)에서 페이로드 필드(105)에 운반된 정보의 각 비트는 프레임의 기타 필드(101,103,107,109)내에 운반된 오버헤드정보로부터 분리된다. 이어서 바이트 정보는 메모리(230)내의 데이타 필드 버퍼내에 저장되는 것이 바람직하다. 버퍼의 길이와 위치는 변수 DATA-LENGTH[x] 와 ADDR-PTR[x] 메모리에 저장되는 것이 바람직하며, 여기서 x 는 특정 프레임과 연관되는 것이 바람직한 유일한 값이다(프레임과 연관되는 SEQ-ID 와 SEQ-CNT 와 연관되는 것이 바람직함).
이어서 상태 머신은 RESTORE 상태(302)로 진입한다. RESTORE 상태(302)에서 상태 머신은 수신된 프레임의 SEQ-ID 와 연관된 값을 이용하여 카운터(208)와 시프트 레지스터(224)를 로드한다. 카운터(208)와 시프트 레지스터(224)의 로딩을 허용함으로써 매번 새로운 프레임이 수신되며, 본 발명은 적어도 제2 시퀀스와 연관된 프레임에 의해 산재되는 제1 시퀀스와 인터페이스 장치가 연관될 수 있도록 해준다.
FF 플래그가 어서트되면 상태머신(202)은 제1 프레임의 시퀀스(바람직하게는 제로)와 연관되는 시퀀스 번호의 값을 갖는 카운터(208)와 시프트 레지스터(224) 모두를 로드한다. FF 플래그가 어서트되지 않으면 상태머신(202)은 SEQ-ID 와 관련하여 미리 저장되었던 값을 갖는 시프트 레지스터(224)와 카운터(208)를 로드한다. 카운터(208)와 시프트 레지스터(224)에 로드될 값은 SEQ-ID 상에 색인된 테이블 룩업에 의해 확인되는 것이 바람직하다. 본 발명의 대안적인 실시예에서 카운터(208)와 시프트 레지스터(224)에 로드될 값은 내용 어드레스 가능 메모리와, 번역-룩어사이드 버퍼, 또는 최종 수신된 프레임이 연관되는 시퀀스에 의해 저장될 값을 적절히 연관시키기 위한 기타 수단을 이용하여 확인될 수도 있다. 상태 머신(202)은 신호라인(207)을 통해 멀티플렉서에 연결되는 판독/기록 신호를 제어함으로써 상기 멀티플렉서(206)가 신호 라인(209)을 통해 상태 머신(202)으로부터의 입력을 수신하도록한다. 멀티플렉서 선택 신호는 상태머신(202)으로부터 선택신호라인(211)상의 멀티플렉서(206)에 연결된다. 선택신호는 멀티플렉서로부터의 출력이 비트 마스크(222)를 통해 시프트 레지스터(224)나 카운터(208)에 연결되는지를 판정한다. 비트 마스크(222)는 시프트 레지스터(224)의 입력이 멀티플렉서(206)에 연결되거나 또는 OR 게이트(218)의 출력에 연결되는지를 판정하는 2입력 멀티플렉서이다. 시프트 레지스터(224)에 로드된 값은 시프트 레지스터(224)에 래치된다. 시프트 레지스터(224)의 값은 누락 프레임 윈도우를 나타내고, 특정 프레임이 수신되었는지를 나타낸다. 대안적인 실시예에서 OR 게이트(218)는 3상 출력이다.
본 발명의 바람직한 실시예에서 카운터(208)와 SEQ-CNT 모두는 16비트의 길이를 갖는 것이 바람직하다. SEQ-CNT 의 최소 유효 비트는 감산기(220)의 제1 입력에 연결된다. 카운터(208)로부터의 최소 유효 3비트 출력은 감산기(220)의 제2입력에 연결된다. 카운터(208)로부터 출력된 3개의 최소 유효 비트는 가장 최근에 수신된 프레임이 누락 프레임 윈도우에 의해 표현되는지의 판정을 돕기 위해 제1 프레임의 SEQ-CNT 로부터 3개의 최소 유효 비트가 감산된다. 채태가능한 무순서 프레임에 따라 약간의 최소 유효 비트가 감산될 수 있다. 예를들어 다음 예상 프레임의 값에 관련하여 16값의 범위내에 프레임이 있다면 카운터(208)로부터 그리고 SEQ-CNT 로부터의 4개의 최소 유효 비트가 감산기(220)에 연결될 수도 있다.
바람직한 실시예에서 감산기(220)로부터의 3비트 출력이 3:8 디코더(216)에 연결된다. 디코더(216)의 출력은 8개의 신호라인이며, 그중 하나만이 어느 시점에 어서트된다. 어서트될 특정 신호라인은 감산기(220)로부터의 3개의 신호라인 출력의 상태에 따라 판정되며 디코더(216)의 출력에 연결된다. 입력라인상의 논리 상태에 대해 8개의 조합이 가능하며, 각각의 출력라인은 3개의 입력 라인에 대해 가능한 논리 상태의 8개의 조합중 하나에 대응한다. 따라서 디코더(216)로부터의 각각의 출력라인은 SEQ-CNT 신호의 값과 카운터(208)의 값간의 유일한 모듈식 8 차이를 나타낸다.
디코더(216)로부터의 8개의 출력신호 각각은 8개의 논리 OR 게이트(218)중 하나와, 비트마스크(222)의 8개의 입력중 하나와, 비트마스크(222)의 8개의 출력중 하나와, 시프트 레지스터(224)의 8개의 입력중 하나와, 시프트 레지스터(224)로부터의 8개의 병렬 출력라인중 하나와 연관된다. 디코더(216)로부터의 8개의 출력신호 각각은 연관된 논리 OR 게이트(218)의 제1 입력에 연결된다. 각각의 OR게이트(218)의 출력은 연관된 비트 마스크 입력에 연결된다. 비트마스크(222)로부터의 각각의 출력은 시프트 레지스터(224)의 연관된 입력에 연결된다. 시프트 레지스터(224)로부터의 각각의 출력은 연관된 OR 게이트(218)의 제2 입력에 연결된다. 제로 입력과 연관되는 특정 디코더 출력(즉, 출력 제로)은 비트마스크(222)의 LSB 에 연결되며, 출력 1은 LSB 에 인접한 비트마스크(222)의 비트에 연결되며, 2에서 7로의 순서의 각각의 기타 디코더 출력은 순서대로 다음의 비트마스크 입력에 연결된다. RESTORE 상태 302 에서 멀티플렉서(206)에 연결된 비트마스크 입력은 시프트 마스크 레지스터(224)의 입력에 연결된다.
디코더(216)의 출력은 카운터값과 SEQ-CNT 값의 최소 유효 3비트(LSB)의 상태만을 나타내기 때문에 카운터(208)와 SEQ-CNT 로부터의 MSB 출력신호(즉, 비트 3-15)는 가장 최근에 수신된 프레임이 누락 프레임 윈도우의 비트에 의해 표현되는 프레임 범위(즉, 다음 예상 프레임의 값에 대한 값의 소정범위) 내에 있는지를 고려하여 취해질 수도 있다. 최대 유효 출력신호는 바이너리 가산기(214)의 입력에 연결되고 제1 콤퍼레이터(210)에 연결된다. 제1 콤퍼레이터(210)는 카운터(208)로부터 출력된 고차원 비트(higher order bits)와 SEQ-CNT의 고차원 비트가 콤퍼레이터(210)의 출력에서의 MSB 를 어서트함으로써 동일해지는지를 나타낸다.
본 발명의 바람직한 실시예에서 바이너리 가산기(214)의 출력은 가산기(214)에 입력된 값보다 큰 이진값을 나타내는 13비트 출력이다. 가산기(214)의 출력은 제2 콤퍼레이터(212)의 입력에 연결된다. 제2 콤퍼레이터(212)는 카운터의 출력의 최대 유효 비트에 의해 표현되는 값과 SEQ-CNT 값의 최대 유효 비트를 비교한다. 이들 값이 동일하면 콤퍼레이터(212)의 WRAP 신호 출력이 어서트된다. WRAP 신호는 카운터(208)에 저장된 값이 (1) SEQ-CNT 값의 값보다 적고(즉, 가장 최근에 수신된 프레임의 Sequence Number가 다음 예상 프레임의 Sequence Number 보다 큼) (2) SEQ-CNT 로부터의 8개의 범위내에 있는 경우를 식별하기 위해 감산기(220)로부터 출력된 BORROW 신호와 조합하여 사용된다.
MSB, BORROW, WRAP 신호의 조합은 다음 예상 프레임의 Sequence Number 보다 큰 Sequence Number 와 수신된 최종 프레임이 연관되고, 다음 예상 프레임(본 실시예에서는 8개)의 값에 대해 소정의 범위내에 있는 포지티브 지시를 제공한다.
따라서 MSB 신호가 MSB 신호 라인(217)에 어서트되면 카운터(208)(다음 예상 프레임과 연관되는 값인 Sequence Number를 유지함)의 최대 유효 13 비트는 SEQ-CNT 의 최대 유효 13 비트와 동일하다(즉, 최종 수신된 프레임과 관련된 Sequence Number). 따라서 MSB 신호가 어서트되면 SEQ-CNT 의 최소 유효 3 신호는 디어서트되는 BORROW 에 의해 표시되는 바와 같이 다음 예상 프레임(카운터(208)에 저장된 값의 최소 유효 비트)과 관련된 Sequence Number 의 3 최소 유효 신호와 동일하거나 또는 커야만한다. BORROW 신호가 어서트되면 SEQ-CNT 는 에러 상태가 된다(즉, 다음 예상 프레임의 Sequence Number 보다 적게되고 따라서 다음 예상 프레임의 값에 비해 소정범위의 무순서로 된다.) 마찬가지로 WRAP 신호가 어서트되면 SEQ-CNT 의 3 최소 유효 비트는 어서트되는 BORROW 신호에 의해 표시되는 바와 같이 카운터(208)에 저장된 값의 3유효 비트 보다 작아야한다. 그렇지않으면 가장 최근에 수신된 프레임은 유효 프레임 범위 밖에 있게 되어 에러 상태가 존재한다.
추가적인 에러 체크 회로(226)는 최종 수신된 프레임이 이전에 수신된 프레임처럼 동일한 Sequence Number와 연관되지 않음을 입증한다. 이것은 시프트 레지스터(224)로부터의 연관 출력과 디코더(216)으로부터의 각각의 출력을 8개의 이산 AND 게이트(228)에서 비교함으로써 달성된다. MSB 신호가 어서트되면 BORROW 신호가 디어서트되고, 디코더(216)로부터의 출력과 시프트 레지스터(224)로부터의 연관 출력 모두가 어서트되며, 이어서 최종 수신된 프레임이 이전에 수신된 프레임처럼 동일한 Sequence Number와 연관된다. 마찬가지로 WRAP 신호가 어서트되면 BORROW 신호가 어서트되고, 디코더로부터의 출력과 시프트 레지스터(224)로부터의 연관 출력 모두가 어서트되며, 이어서 최종 수신 프레임이 이전에 수신된 프레임처럼 동일한 Sequence Number와 연관된다. 어느 경우든 상태 머신(202)은 ERROR 상태(307)로 진입한다. 에러가 발생했음을 WRAP, MSB, BORROW 신호의 상태가 나타내면 상태 머신(202)은 에러 상태를 처리하는 어시트턴스를 요구하도록 호스트(210)에 인터럽터 라인을 어서트한다. 이와 달리 상태머신(202)은 호스트로부터의 도움없이도 에러상태를 처리할 수 있을 정도로 충분히 지능적일 수 있다. 어느 경우든 에러 상태의 검출 이후에 취해지는 특별한 상태는 본 발명의 범주밖에 있다.
SEQ-CNT 값이 소정의 범위안에 있고 이전에 수신된 프레임과 동일하지 않음을 상태 머신(202)이 판정하면 상태머신은 LATCH 상태(303)로 진입한다. LATCH 상태(303)에서 상태 머신(202)은 비트 마스크(222)의 제어신호를 제어함으로써 OR 게이트(218)로부터의 출력이 비트마스크(222)를 통해 시프트 레지스터(224)의 병렬 입력에 연결되도록 한다. 시프트 레지스터(224)의 이전값과 디코더(216)의 출력을 오어화(ORing)함으로써 이전에 삽입된 시프트 레지스터(224)내의 비트들이 어서트상태를 유지한다. 따라서 RESTORE 상태(302)에서 시프트 레지스터(224)에 로드된 값이 어서트된 비트를 가지고 있어 프레임이 무순서로 이전에 수신되었음을 나타낸다면 정보는 디코더(216)로부터의 출력에 의해 나타나는 추가적인 비트를 어서트함으로써 유지되고 보충된다. 따라서 상태 머신(202)은 입력 신호가 시프트 레지스터(224)에 로드되도록 한다. 다음에 시프트 레지스터(224)의 출력은 다음 예상 프레임과 연관된 값에 관한 값의 소정의 범위내에 있는 프레임이 수신되었음을 타나내게 된다.
다음에 상태 머신(202)은 ADVANCE 상태(304)를 나타낸다. ADVANCE 상태(304)에서 상태 머신(202)은 래치(204)의 LSB 가 어서트되었는지를 체크한다. 래치(204)의 LSB 가 어서트되면 최종 수신된 프레임이 다음 예상 프레임이 된다. 이어서 상태 머신(202)은 메모리에 저장되고 카운터 값(즉, 최종 수신된 프레임)과 연관되는 바이트 정보에 대한 데이타 버퍼의 위치를 식별하기 위해 변수 DATA-LENGTH 와, ADDR-PRT 를 이용한다. 바이트 정보가 회복되고 이어서 호스트(201)에 전송된다.
상태머신(202)은 하나씩 카운터(208)를 증가하여 시프트 레지스터(224)의 내용이 LSB 쪽으로 1비트 이동되도록한다. 새로운 LSB 가 어서트되면 상태 머신은 ADVANCE 상태(304)로 남게되고, 변수 DATA-LENGTH 와 ADDR-PTR 을 이용하여 메모리에 저장되고 새로운 카운터값과 연관되는 바이트 정보의 위치를 식별한다. 바이트 정보가 회복되고 이어서 호스트(201)에 전송된다. 다시 카운터(208)가 증가되고 시프트 레지스터(224)의 값이 LSB 쪽으로 다시 이동된다. 이러한 처리는 LSB 가 제로가 될 때까지 지속된다. LSB 의 새로운 값이 제로가 되면 상태 머신(202)은 SAVE-CONTEXT 상태(305)로 진입한다. SAVE_CONTEXT 상태(305)에서 카운터(208)와 시프트 레지스터(224)의 값은 메모리(230)에 저장된다. 상태머신(202)은 버퍼(204)와 멀티플렉서(206)를 통해 시프트 레지스터(224)로부터의 값을 수신한다. 더욱이 DATA-LENGTH 와 ADDR-PTR 의 현재 내용도 저장된다.
이어서 상태머신(202)은 초기 상태(301)로 돌아가 다음 프레임의 수신을 대기한다. 다음 프레임이 수신되면 SEQ-ID 와 SEQ-CNT 가 추출되어 카운터(208)와 시프트 레지스터(224)에 저장될 내용의 어드레스를 판정한다(즉, 동일한 시퀀스로 연관되었던 최종 프레임과 관련하여 카운터(208)와 시프트 레지스터(224 )에 최종적으로 유지되었던 값). 페이로드 필드(105)에 운반된 바이트 정보는 이 프레임이 다음 예상 프레임이라고 판정될 때까지(그리고 연속적으로 카운터값이 이 프레임의 SEQ-CNT 와 동일하다고 판정될 때까지), 변수 DATA-LENGTH 와 ADDR-PTR 에 의해 식별되는 위치의 메모리에 버퍼된다. 이어서 시프트 레지스터(224)의 새로운 내용이 래치(204)에 로드된다. 윈도우 콤퍼레이터(200)의 콤퍼레이터(210, 212)는 이어서 SEQ-CNT 와 새로운 카운터값에 기초하여 WRAP, BORROW, MSB 신호의 논리 상태를 제공한다.
SEQ-CNT 가 다음 예상 프레임의 값에 관련된 값의 범위에 있다면 상태머신(202)은 한 번더 ADVANCED 상태(304)에 진입하게 된다. 래치(204)의 LSB 가 다시 한 번 체크된다. 새로운 LSB 가 어스트되면 이어서 상태머신(202)은 카운터(208)의 값에 연관된 변수 DATA-LENGTH 와 ADDR-PTR 을 사용하여 메모리에 저장된 바이트 정보의 위치를 식별한다. 바이트 정보가 회복되고 이어서 호스트(201)에 전송된다. 상태머신(202)은 다시 카운터(208)를 증가시키고 LSB 쪽으로 1비트 시프트 레지스터(224)의 내용을 이동시킨다. 새로운 LSB 가 어서트되면 카운터(208)의 값과 연관되는 변수 DATA-LENGTH 와 ADDR-PTR 은 메모리에 저장된 바이트 정보의 위치를 식별한다. 바이트 정보가 회복되고 이어서 호스트(201)에 전송된다. 상태머신(202)은 다시 ADVANCE 상태(304)로 진입하고, 카운터(208)를 증가시키며, LSB 쪽으로 1비트 시프트 레지스터(224)의 내용을 이동시킨다. 이러한 처리는 새로운 LSB 가 어서트되지 않을 때까지 반복된다. 래치(204)의 LSB 가 어스트되지 않으면 최종 수신된 프레임은 다음 예상 프레임이 아니다. 이어서 상태 머신(202)은 SAVE_CONTEXT 상태(305)에 진입하게 되고, DATA-LENGTH 와 ADDRPTR 의 값 뿐만 아니라 시프트 레지스터(224)와 카운터(208)의 값을 저장한다. 다음에 상태머신(202)은 INITIALIZATION 상태(301)에 진입하고 다음 프레임의 수신을 대기한다. 이러한 절차가 지속적으로 반복된다.
본 발명은 종래 기술에 비해 몇몇 이점을 가지고 있다. 본 발명을 구현함으로써 간단한 논리 소자가 구현될 수 있고, 본 발명은 디지털 전자 통신 시스템의 구현에 적절하다. 더욱이 본 발명은 인터페이스 장치의 상태를 판정하고 대안적 상태를 집행할 수 있는 높은 수준의 제어기능을 수행할 수 있도록 하는 간단한 메카니즘을 제공한다. 이것은 내용 스위칭(context switching) 또는 간단한 상태 정보(즉 카운터와 시프트 레지스터의 값)를 대안적으로 저장하고 재저장함으로써 비교적 복잡한 머신의 대등한 사용을 용이하게 한다. 더욱이 특정 시퀀스를 확인하는 필드를 프레임이 가지고 있다면 본 발명은 최종 수신 프레임의 시퀀스와 관련된 값을 갖는 시프트 레지스터와 카운터의 값을 갱신함으로써 복수의 데이타열 사이를 다중화할 수 있다. 본 발명은 매우 적은 프로세서를 필요로하기 때문에 다음 예상 프레임의 수신과 프레임의 페이로드에 전달되는 데이타의 호스트로의 전송간에 약간의 지연이 있다. 프레임이 순차적으로 인터페이스 장치에 의해 수신되면 각 프레임에 대한 호스트로의 페이로드의 전송에는 약간의 지연이 존재하게 된다. 누락 프레임 윈도우는 수신될 수도 있는 소정 범위의 프레임을 한정하기 때문에 그 범위 밖에 프레임이 있음을 나타내는 표시는 본 발명에서는 일시 저장이 있거나 또는 있을 수도 있을 과부담을 나타낼 수 있도록 해준다. 본 발명은 동일한 프레임이 2회 수신되었을 때의 에러 상태도 나타낸다. 추가로 본 발명은 수신된 정보의 길이가 딜리버리(deliveries) 사이에 변화하고 이어서 변수의 성질이 수신기에 의해 예측불가능한 경우에 전송 프로토콜을 용이하게 수용한다. 여러 실시예가 설명된다. 그럼에도 불구하고 본 발명의 취지와 범위를 벗어나지 않는 여러 변형이 있을 수 있음을 알 수 있을 것이다. 예를들어 본 발명은 윈도우 콤퍼레이터의 동작을 제어하는 상태 머신을 설명하고 있다. 그러나 이산 로직, 범용 컴퓨터, 범용 로직과 같은 어떠한 회로도 상술한 상태머신의 기능을 수행하기 위해 이용될 수 있다. 마찬가지로 본 발명의 윈도우 콤퍼레이터 회로는 범용 컴퓨터, 프로그램 가능 로직 어레이 또는 상태 머신과 같은 어떠한 수단으로 구현될 수도 있다. 더욱이 여러 비트(즉, 누락 프레임 윈도우의 범위)가 예시적으로 설명된 8비트로부터 변화될 수도 있다. 따라서 본 발명은 특정 예시적 실시예에 제한되는 것은 아니며, 단지 첨부한 청구범위에 의해서만 제한된다.

Claims (6)

  1. 통신링크에 수신장치를 연결시키고, 인터페이스 장치에 의해 수신된 데이타 시퀀스 프레임들에 포함되는 프레임이 외부 전송 장치예 의해 규정된 순서로 상기 수신장치에 전송되도록하는 인터페이스 장치에 있어서,
    (a) 각 프레임 데이타내에 포함된 정보를 처리하는 제어회로와;
    (b) 상기 제어회로에 연결되어 제어되며, 상기 인터페이스 장치에 의해 수신된 각각의 유효 프레임이 소정의 순서로 프레임의 관련 위치를 나타내는 값과 연관되는 콤퍼레이터 윈도우 회로로서:
    (1) 최종 수신된 프레임이 상기 외부전송 장치에 의해 규정되는 순서의 다음 예상 프레임인지를 나타내는 누락 프레임 윈도우를 저장하는 누락 프레임 윈도우 저장 수단과;
    (2) 제어회로에 동작가능하게 연결되며, 다음 예상 프레임과 연관되는 값을 저장하고, 최종 수신 프레임이 다음 예상 프레임인지를 누락 프레임 윈도우가 나타낼 때 제어 장치로부터의 명령에 따라 소정의 값으로 카운터에 저장된 값을 증가시키는 카운터와;
    (3) 상기 카운터 및 상기 제어회로에 연결되어, 최종 수신 프레임과 연관된 값과 다음 예상 프레임과 연관된 값을 비교하고, 최종 수신된 프레임과 연관된 값이 다음 예상 프레임의 값에 관련된 값의 소정의 범위내에 있는지를 나타내는 비교기와;
    (4) 최종 수신된 프레임이 다음 예상 프레임임을 누락 프레임 윈도우가 나타낼 때, 누락 프레임 윈도우 저장 수단의 누락 프레임 입력이 누락 프레임 윈도우 저장 수단내에 저장되기에 앞서 제어회로의 제어하에 이동될 수 있도록 제어회로에 연결되고 누락 프레임 윈도우 저장 수단의 입력에 연결되는 시프트 레지스터를 포함하는 것을 특징으로 하는 인터페이스 장치.
  2. 제1항에 있어서, 수신된 프레임은 프레임이 포함되는 시퀀스를 나타내는 정보를 포함하고, 상기 콤퍼레이터 윈도우 회로는 로딩 수단을 추가로 포함하며, 누락 프레임 윈도우 저장 수단에 연결되어, 최종 수신된 프레임의 시퀀스와 연관된 누락 프레임 윈도우로 누락 프레임 윈도우 저장 수단을 로딩하는 것을 특징으로 하는 인터페이스 장치.
  3. 제1항에 있어서, 선택 프레임이 다음 예상 프레임인지를 누락 프레임 윈도우로부터 판정한 후에만 상기 제어회로는 선택 프레임내의 인터페이스 장치에 의해 수신된 데이타를 전송하는 것을 특징으로 하는 인터페이스 장치.
  4. 제1항에 있어서, 선택 프레임이 현재 다음 예상 프레임인지와 선택 프레임이 수신된 시점에서 소정 범위의 값과 연관되었는지를 누락 윈도우 프레임과 비교 수단으로부터 판정한 후에만 선택 프레임내의 인터페이스 장치에 의해 수신된 데이타를 상기 제어회로가 전송하는 것을 특징으로 하는 인터페이스 장치.
  5. 제1항에 있어서, (1) 상기 제어회로는 최종 수신된 프레임과 연관된 바이너리 값을 출력하는 값신호 라인을 가지며, (2) 카운터는 이 카운터의 바이너리 값을 출력하는 출력 신호 라인을 가지며, (3) 상기 콤퍼레이터 윈도우 회로는
    (a) 출력과, 제1입력 및 제2입력을 가지는 제1콤퍼레이터로서, 상기 제1입력은 카운터의 출력신호라인에 연결되고, 상기 제2입력은 값 신호 라인에 연결되며, 상기 콤퍼레이터의 출력은 상기 제어회로에 연결되며, 최종 수신 프레임과 연관된 값이 카운터의 값에 대한 소정 범위의 값에 있을 때를 판정하는 제1콤퍼레이터와;
    (b) 입력과 출력을 갖는 가산기로서, 상기 입력은 상기 카운터의 출력신호라인에 연결되어 카운터의 값보다 큰 값을 출력시키는 가산기와;
    (c) 출력과 제1입력 및 제2입력을 가지는 제2콤퍼레이터로서, 제1입력은 가산기의 출력에 연결되고, 상기 제2입력은 카운터의 출력 신호 라인에 연결되며, 상기 제2콤퍼레이터의 출력은 제어회로에 연결되며, 상기 카운터의 값과 가산기의 출력을 비교하여 상기 제어회로에 그 비교결과를 제공하는 제2콤퍼레이터와;
    (d) 출력과, 제1입력과 제2입력을 가지는 감산기로서, 상기 제1입력은 카운터로부터의 최소 유효 출력 라인중 적어도 하나에 연결되며,상기 제2입력은 제어회로로부터의 최소 유효 출력 라인중 적어도 하나에 연결되며, 상기 카운터의 최소 유효 라인에 나타난 값과 상기 제어회로로부터의 최소 유효 라인에 나타난 값의 차이를 바이너리 형태로 나타내기 위한 감산기와;
    (e) 입력과 출력을 가지는 디코더로서, 출력이 복수의 출력 신호 라인을 포함하는데, 각각의 출력신호 라인은 상기 감산기로부터의 상기 디코더에 연결된 바이너리 입력치와 연관되는 디코더와;
    (f) 복수의 2입력 OR 게이트로서, 각각의 OR 게이트는 디코더 출력 신호 라인중 하나와 연관되며, 각각의 OR 게이트의 제1입력은 연관된 디코더 출력 신호 라인에 연결되며, 각각의 OR 게이트의 출력은 누락 윈도우 저장 수단의 입력에 연결되어 인터페이스 장치에 의해 수신된 프레임과 연관된 값을 나타내는 값을 저장하는 복수의 2입력 OR 게이트를 포함하는 것을 특징으로 하는 인터페이스 장치.
  6. 제1항에 있어서, 상기 콤퍼레이터 윈도우 회로는
    (a) 최종 수신 프레임과 연관된 값인 소정 개수의 고차 비트가 다음 예상 프레임과 연관된 값의 고차 비트와 동일하거나 그 이상인지를 판정하는 수단과;
    (b) 최종 수신 프레임과 연관된 값의 최소 유효 비트와 다음 예상 프레임과 연관된 값의 최소 유효 비트의 동일한 개수의 차이가 어서트될 상기 차이신호와 연관된 유일한 값과 동일할 때, 복수의 신호 라인중 하나 즉, 유일 값과 연관된 각각의 차이 신호 라인을 어서트하는 수단과;
    (c) 복수의 2입력 OR 게이트로서, 각각의 OR 게이트는 복수의 차이 신호 라인중 하나와 연관되며, 각각의 OR 게이트의 제1입력은 상기 연관된 차이 신호 라인에 연결되며, 각각의 OR 게이트 출력은 상기 인터페이스 장치에 의해 수신된 프레임과 연관된 값을 나타내는 값을 저장하는 누락 프레임 윈도우 저장 수단의 입력에 연결되며, 각각의 값은 다음 예상 프레임에 대한 값의 소정 범위에 있으며, 각각의 OR 게이트의 제2입력은 누락 프레임 윈도우 저장 수단으로부터의 출력에 연결되는 것을 특징으로 하는 인터페이스 장치.
KR1019970706877A 1995-03-27 1996-03-22 윈도우비교기 Expired - Fee Related KR100364385B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/410,712 US5588000A (en) 1995-03-27 1995-03-27 Apparatus for reordering data frames within an interface device
US08/410,712 1995-03-27
US8/410,712 1995-03-27

Publications (2)

Publication Number Publication Date
KR19980703473A true KR19980703473A (ko) 1998-11-05
KR100364385B1 KR100364385B1 (ko) 2003-02-11

Family

ID=23625914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970706877A Expired - Fee Related KR100364385B1 (ko) 1995-03-27 1996-03-22 윈도우비교기

Country Status (8)

Country Link
US (1) US5588000A (ko)
EP (1) EP0818118B1 (ko)
JP (1) JP3510631B2 (ko)
KR (1) KR100364385B1 (ko)
AU (1) AU5428496A (ko)
CA (1) CA2216642C (ko)
DE (1) DE69636280T2 (ko)
WO (1) WO1996031081A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2848784B2 (ja) * 1994-08-02 1999-01-20 沖電気工業株式会社 パケット交換方式
FI98174C (fi) * 1995-05-09 1997-04-25 Nokia Telecommunications Oy Datansiirtojärjestelmä, jossa on liukuvaan ikkunaan perustuva datavuonohjaus
US6408003B1 (en) * 1997-06-17 2002-06-18 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
US6314101B1 (en) * 1997-06-17 2001-11-06 Qualcomm Incorporated Method for detecting delayed data frames in a transport function
US6331988B1 (en) * 1997-07-31 2001-12-18 Agere Systems Guardian Corp. Multiple line framer engine
GB9718831D0 (en) * 1997-09-05 1997-11-12 Plessey Telecomm Data transmission in an sdh network
US7593408B2 (en) * 1998-05-20 2009-09-22 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
US6310884B1 (en) 1998-05-21 2001-10-30 Lsi Logic Corporation Data transfer method and apparatus that allocate storage based upon a received relative offset
US6304553B1 (en) 1998-09-18 2001-10-16 Lsi Logic Corporation Method and apparatus for processing data packets
US6314477B1 (en) * 1998-10-30 2001-11-06 Agilent Technologies, Inc. Performance of fibre channel protocol sequence reassembly using expected frame information and buffer list calculations
US6721320B1 (en) 1998-12-18 2004-04-13 Lsi Logic Corporation Method and apparatus for fibre channel identification and retrieval
US6453357B1 (en) * 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US6381242B1 (en) * 2000-08-29 2002-04-30 Netrake Corporation Content processor
US7760737B2 (en) * 2000-11-30 2010-07-20 Audiocodes, Inc. Method for reordering and reassembling data packets in a network
US7346701B2 (en) 2002-08-30 2008-03-18 Broadcom Corporation System and method for TCP offload
EP1554842A4 (en) 2002-08-30 2010-01-27 Corporation Broadcom SYSTEM AND METHOD FOR TREATING FRAMES OUTSIDE THE ORDER
US7051245B2 (en) * 2002-11-30 2006-05-23 International Business Machines Corporation System and method for handling out-of-order data supplied by a real-time feed
EP1460804B1 (en) * 2003-03-20 2008-10-22 Broadcom Corporation System and method for handling out-of-order frames (fka reception of out-of-order tcp data with zero copy service)
US7580354B2 (en) * 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7706411B2 (en) * 2004-03-29 2010-04-27 Hewlett-Packard Development Company, L.P. Handling oversubscribed mesh ports with re-tagging
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7676611B2 (en) * 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
US7643420B2 (en) * 2005-03-11 2010-01-05 Broadcom Corporation Method and system for transmission control protocol (TCP) traffic smoothing
US7797465B2 (en) * 2005-06-10 2010-09-14 Intel Corporation Apparatus and methods to reduce frame interrupts in packet-based communication
US7797463B2 (en) * 2005-06-30 2010-09-14 Intel Corporation Hardware assisted receive channel frame handling via data offset comparison in SAS SSP wide port applications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3574808D1 (de) * 1984-09-05 1990-01-18 Hitachi Ltd Multiplexuebertragungssystem.
JPH0744567B2 (ja) * 1986-08-27 1995-05-15 日産自動車株式会社 通信インタ−フエイス装置
US5054060A (en) * 1988-06-10 1991-10-01 Adc Telecommunications, Inc. Circuit for regulating current in a PBX loop
GB2236930B (en) * 1989-10-11 1994-03-23 Plessey Co Plc Method and apparatus for identifying valid cells in a redundant path combining unit of an asynchronous transfer mode switch
EP0447228A3 (en) * 1990-03-16 1993-01-07 Hewlett-Packard Company Data stream concentrator providing attribute data storage and graphics pipeline access
ATE149070T1 (de) * 1990-08-08 1997-03-15 Siemens Ag Verfahren und schaltungsanordnung zum ermitteln der güte von über eine atm- vermittlungseinrichtung verlaufenden virtuellen verbindungen
US5313323A (en) * 1992-07-10 1994-05-17 Unisys Corporation Fiber optic bus and tag adapter for block multiplexer channel
US5371734A (en) * 1993-01-29 1994-12-06 Digital Ocean, Inc. Medium access control protocol for wireless network

Also Published As

Publication number Publication date
DE69636280T2 (de) 2007-06-06
DE69636280D1 (de) 2006-08-03
US5588000A (en) 1996-12-24
WO1996031081A1 (en) 1996-10-03
CA2216642A1 (en) 1996-10-03
AU5428496A (en) 1996-10-16
KR100364385B1 (ko) 2003-02-11
EP0818118A4 (en) 2005-04-06
EP0818118B1 (en) 2006-06-21
JPH11503280A (ja) 1999-03-23
JP3510631B2 (ja) 2004-03-29
CA2216642C (en) 2006-05-30
EP0818118A1 (en) 1998-01-14

Similar Documents

Publication Publication Date Title
KR19980703473A (ko) 윈도우 콤퍼레이터
EP0577115B1 (en) Programmed I/O Ethernet adapter with early interrupts for accelerating data transfer
WO1996031081A9 (en) Window comparator
EP2436150B1 (en) Microcontroller with can module using a buffer description table
US7979594B2 (en) Serial communications device with dynamic allocation of acceptance masks using serial implementation
JP2720957B2 (ja) パケット・バッファ装置
US6308218B1 (en) Address look-up mechanism in a multi-port bridge for a local area network
KR0159795B1 (ko) 패킷 재주합 방법 및 장치
US5245606A (en) Computer network bridge circuit
EP0436194A2 (en) Media access controller
US5812792A (en) Use of video DRAM for memory storage in a local area network port of a switching hub
US7400635B2 (en) Method and system for assembling segmented frames of data transmitted over a backbone network
US20070192572A1 (en) Minimum processor instruction for implementing weighted fair queuing and other priority queuing
US6944739B2 (en) Register bank
EP1430653B1 (en) Serial communication device with dynamic filter allocation
US6912594B2 (en) Serial communication device with multi-mode operation of message receive buffers
US7076517B2 (en) Serial communication device with dynamic filter allocation
US5796976A (en) Temporary storage having entries smaller than memory bus
EP0520116A1 (en) Method and apparatus for performing pattern search functions
JP3190214B2 (ja) データ送受信システム
IL135456A (en) Byte alignment method and apparatus
US7653765B2 (en) Information communication controller interface apparatus and method
KR100577148B1 (ko) 이더넷 컨트롤러의 어드레스검출장치 및 검출방법

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20061013

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20071129

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20071129