KR980013142A - 비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법 - Google Patents

비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법 Download PDF

Info

Publication number
KR980013142A
KR980013142A KR1019960028557A KR19960028557A KR980013142A KR 980013142 A KR980013142 A KR 980013142A KR 1019960028557 A KR1019960028557 A KR 1019960028557A KR 19960028557 A KR19960028557 A KR 19960028557A KR 980013142 A KR980013142 A KR 980013142A
Authority
KR
South Korea
Prior art keywords
list
frame
buffer
adapter
descriptor
Prior art date
Application number
KR1019960028557A
Other languages
English (en)
Other versions
KR100221378B1 (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 KR980013142A publication Critical patent/KR980013142A/ko
Application granted granted Critical
Publication of KR100221378B1 publication Critical patent/KR100221378B1/ko

Links

Classifications

    • 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
    • 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/5614User Network Interface
    • H04L2012/5615Network termination, e.g. NT1, NT2, PBX
    • 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/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • 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/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명의 ATM 통신 네트워크는 디바이스 드라이버 및 인터페이스에서 어댑터에 결합된 메모리를 갖는 시스템 프로세서를 포함한다. 메모리내에 저장된 프레임은 어댑터내에 상주하는 전송 준비 큐를 사용하여 네트워크로 전송되며 전송 제어 레지스터에 의해 정의된다. 기술자 및 포인터에 의해 프레임은 디바이스 드라이버에 의해 유지되는 수신 준비 리스트에 서로 연결된다. 전송 프레임 완료 리스트는 전송 제어 레지스터를 사용하여 시스템 메모리내에 설정된다.프레임 전송이 완료된 때를 표시하는 어댑터에 의해 인터럽트가 발생된다. 동시에,셀은 네트워크로부터 수신되고,디바이스 드라이버에 의해 설정되는 프리 버퍼 리스트에 따라 시스템 메모리내에 저장된다. 디바이스 드라이버에 의해 포인터는 수신 프리 버퍼 리스트의 최종 엔트리로 유지된다.어댑터는 수신 프리 버퍼 리스트로부터 사용될 다음 버퍼로 포인터를 유지한다.어댑터내의 수신 제어 레지스터를 통해 어댑터에 대해 표시되는 위치를 갖는 시스템 메모리내의 디바이스 드라이버에 의해 수신 준비 리스트가 설정된다.수신 데이터 셀은 프리 버퍼 리스트로부터 버퍼내의 프레임으로 재어셈블된다. 수신된 프레임의 완료시, 프레임은 적절한 수신 준비 리스트에 추가된다. 하나 이상의 완료된 프레임이 네트 워크로의 전송을 위한 수신 준비 리스트상에 상주하는 경우 어댑터에 의해 프로세서로 인터럽트가 발생된다.

Description

비동기 전송방식 통신 네트워크,시스템 처리 성능 및 메모리 이용 증진방법
1995년_ 월_ 일 출원된 일련 번호 제_____호의 “A system And Method For Multi-Frame Received Queuing With Sorting In An Asynchronous Transfer Mode Syste” 이란 명칭의 IMB RA9-95-051에는 시스템 처리능력을 개선시키기 위해 디바이스 드라이버와 어댑터 사이의 통신을 최적화하는 ATM 시스템을 어댑터/디바이스 드라이버 인터페이스가 개시되어 있다. 관련 출원 및 본 발명은 본 발명의 양수인에 의해 공동으로 소유된다.
본 발명은 ATM 통신 시스템에 관한 것이다. 특히, 본 발명은 ATM 시스템에서 효율적인 어댑터/디바이스 드라이버 인터페이스를 위한 시스템 및 방법에 관한 것이다.
비동기 전송 모드(ATM) 시스템은 각각의 프레임을 48 바이트 새그먼트로 분할하고, 5 바이트를 각각의 세그먼트에 부가하며,전송을 위해 큐되는 다른 프레임으로부터의 셀에 의해 다중화된 결과적인 53 바이트 셀을 전송함으로써 다수의 프레임을 동시에 전송할 수 있다는 점이 독특하다. 셀이 수신되는 경우, 셀은 5 바이트 셀 헤더를 제거하고,나머지 48 바이트와 프레임을 위해 앞서 수신된 셀을 연결함으로써 프레임으로 재조합된다. 상이한 프레임은 소정의 주어진 시간에서 분할(segmentation) 및 재조합(reassembly)의 각종 단계로 존재할 수도 있다.
전형적으로, ATM 시스템에 있어서, 프레임을 전송하길 원할 때마다,디바이스 드라이버는 프레임을 전송하고 전송 동작이 완료되었다는 것을 표시하는 인터럽트(interupt)를 디바이스 드라이버로 제공하는 어댑터(adapter)에 대해 전송 커맨드를 셋업하여야 한다.동일한 일반적인 프로세스가 수신방향으로 발생하며,즉 디바이스 드라이버가 커맨드를 말하면,어댑터는 데이터를 수신한 후 디바이스 드라이버로 인터럽트를 발생시켜 상기 수신 동작이 완료되었음을 표시한다.데이터 속도가 ATM 네트워크상에서 증가함에 따라서,디바이스 드라이버가 커맨드를 발하고 인터럽트를 처리하는 주파수는 디바이스 드라이버가 더 이상 데이터 속도를 따라갈 수 없을 시점까지 증가한다.또한, 데이터 속도와 관련하여 디바이스 드라이버의 속도가 저하되면 어댑터 및 시스템 메모리에서 가장 장치에 대한 요구가 증가된다. 데이터를 전송 및 수신중에 있는 디바이스 드라이버의 활성(activity)을 감소시키기 위한 시스템 및 방법은 ATM 시스템의 성능을 향상시킬 것이다. 특히, 어댑터/드라이버 인터페이스(adapter/driver interface) 사이의 시스템 혹은 디바이스 드라이버에 독립적으로 프레임을 셀로 분할하고 동시에 셀을 프레임으로 제조합시키는 시스템 및 방법은 ATM 시스템에 대한 성능을 개선시키고 저장 장치에 대한 요구를 줄어들게 할 것이다.
관련된 종래 기술로서, 1004년 3월 22일 특허된 미합중국 특허 제 5,297,139호에는 통신 전송 라인(communication transmission line)으로부터 버퍼 디바이스(buffer device)내로 데이터를 기록하고, 이 버퍼 디바이스로부터 데이터를 판독하는 것을 제어하는 방법이 개시되어 있다. 데이터는 사전결정된 판독 속도로 버퍼로부터 판독되고, 상기 퍼버내에 기록된 데이터의 양은 사전결정된 임계치와 비교된다. 축적된 데이터의 양이 임계치와 동일하거나 혹은 보다 적은 경우 전송 라인으로부터의 데이터는 버퍼내에 기록하고,버퍼는 전송 라인으로부터의 데이터의 기록만을 수행한다.축적 데이터의 양이 임계치 보다 큰 경우 버퍼는 통신 라인으로 부터의 데이터 기록과 버퍼 디바이스로부터의 데이터 판독을 모두 수행한다.
1993년 12월 28일 특허된 미합중국 특허 제 5,274,786호에는 컴퓨터와 원격통신 네트워크(telecommunication network)를 결합하기 위한 인터페이스가 개시되어 있다. 인터페이스는 다수의 ATM 셀로 분할된 프레임을 수신하고 재조합하기 위한 재조합기를 구비하며, 이들의 각각은 가상 채널 식별자(virtual channel identifier) 및 셀 몸체(cell body)를 포함한다. 재조합기는 각각의 셀 몸체를 연관된 가상 채널 식별자로 분리하고,가상 채널 식별자에 대해 각각의 링크 리스트 기준 어드레스를 결정하기 위한 수단을 더 포함한다. 재조합 버퍼(reassembly buffer)는 셀 몸체를 저장하고,링크 리스트 관리기(link list manager)는 셀 몸체가 재조합 버퍼 수단에 저장될 어드레스를 나타내는 링크 리스트 데이터를 저장한다.
1992년 8월 4일 특허된 미합중국 특허 제5,136,584호에는 다중화된 고속 디지털 통신 네트워크(multiplexed high speed digital communication)의 인터페이스가 개시되어 있다.인터패이스는 데이터(예시적으로 ATM 셀를 수신하기 위한 입력 포트(input port), 처리된 수신 데이터를 전송하기 위한 출력 포트(output port), 및 입력 포트와 출력 포트를 상호접속시키며 데이터 처리를 위한 시간을 제공하기 위한 수신된 데이터의 전파를 지연시키는 데이터 지연 디바이스(data delay arrangement)[예시적으로 지연 파이프라인(delay pipeline]를 포함한다.
인터페이스는 내부 데이터 저장장치를 이용하는 것이 아니라 인터페이스를 통해 가능한 신속히 데이터를 이동시키기 위해 파이프라인을 이용한다. 데이터 조합기(data assembler) 및 상태 메모리(state memory)는 수신된 다중화되고, 인터리브된 ATM 셀로부터 데이터 프레임을 조합한다.
전송 및 제조합이 디바이스 드라이버와 본질적으로 독립적인 경우,ATM 어댑터/디바이스 드라이버에서 전송을 위해 상이한 데이터 소스로부터의 다수의 프레임을 분할하고 어플리케이션에 대한 수신을 위해 셀을 다수의 프레임으로 재조합하는 경우 발생하는 문제점에 대해서는 어떠한 종래 기술에도 언급되어 있지 않다. 결과적으로,디바이스 드라이버는 고속 데이터 속도를 처리함에 잇어서 ATM 시스템의 성능을 개선시키고 인터페이스에서 저장장치 이용을 감소시키는 네트워크 데이터 속도를 따라갈 수 있다.또한, 종래 기술은 파티션(partitions)을 사용하지 않고 시스템 메모리내에 프레임을 위치시키기 위한 프레임 기술자(frame descriptor) 및 리스트의 사용을 개시하고 있지 않다.또한 종래 기술은 전송 준비 큐 및 수신 준비 리스트에서 프레임을 서로 연결하기 위한 포인터의 사용을 개시하고 있지 않다.
본 발명의 목적은 어댑터가 동시에 상이한 데이터가 소스로부터의 셀을 수신하고 동시에 다수의 프레임을 전송하면서도 ATM 시스템내의 어댑터와 디바이스 드라이버(device driver)간의 상호작용을 최소화하는 개선된 ATM 통신 시스템을 구현하는데 있다.
본 발명의 다른 목적은 프레임 레벨에서 정보를 처리함에 있어서 ATM 시스템내의 어댑터와 디바이스 드라이버간의 효율적인 상호작용을 위한 시스템 및 방법을 구현하는데 있다.
본 발명의 또다른 목적은 개선된 어댑터 처리능력을 갖는 ATM 시스템 어댑터/디바이스 드라이버 인터페이스를 구현하는데 있다.
본 발명의 또 다른 목적은 데이터 셀을 프레임으로서 저장하기 위한 수신 프리버퍼 리스트(receive free buffer list)와 수신 준비 리스트를 사용하여 ATM 시스템 메모리에서 프레임으로 셀을 재조합하는 시스템 및 방법을 구현하는데 있다.
본 발명의 또다른 목적은 데이터 셀을 프레임으로서 저장하기 위한 수신 프리 버퍼 리스트(receive free buffer list)와 수신 준비 리스트를 사용하여 ATM 시스템 메모리에서 프레임으로 셀을 재조합하는 시스템 및 방법을 구현하는데 있다.
본 발명의 또다른 목적은 분할 및 재조합 프로세스가 본질적으로 디바이스 드라이버에 독립적인 ATM 시스템내의 어댑터/디바이스 드라이버 인터페이스에서 프레임을 셀로 분할하고 동시에 셀을 프레임으로 재조합하는 시스템 및 방법을 구현하는데 있다.
본 발명의 또다른 목적은 시스템 메모리에서 프레임을 서로 연결하기 위해 기술자 및 포인터를 사용하여 ATM 시스템에서 어댑터/디바이스 드라이버 이터페이스를 구현하는데 있다.
본 발명의 또다른 목적은 프레임으로의 데이터 셀을 수신하기 위해 버퍼의 리스트를 사용하고,시스템으로 전송하기 위해 프레임의 리스트를 사용하여 ATM 시스템에서 어댑터/디바이스 드라이버 인터페이스를 구현하는데 있다.
이들 다른 목적,특징 및 장점은 디바이스 드라이버(device memory) 및 메모리(memory)를 갖는 시스템 프로세서(system processor)를 구비한 ATM 통신 네트원크에서 달성된다. 시스템 프로세서는 인터페이스(interface)에서 어댑터와 결합된다. 어댑터는 프로세서 및 메모리를 포함한다. 디바이스 드라이버 및 어댑터는 동시에 네트워크로 프레임을 전송하고 네트워크로부터 프레임을 수신함에 있어서 서로 협력한다. 전송 동작에서, 디바이스 드라이버는 어댑터내에 상주하고 전송 제어 레지스터에 의해 정의되는 전송 준비 큐(transmit ready queue)를 사용하여 네트워크로 전송하기 위한 프레임을 식별한다.전송 프레임 완료 리스트(transmit frame complete list)는 전송 제어 레지스터를 사용하여 시스템 메모리내에 설정된다. 디바이스 드라이버에 의해 설정된 전송 준비 큐에 따라 프레임은 어댑터에 의해 전송되도록 큐된다.어댑터에 의해 인터럽트가 발생되어 프레임 전송이 완료되었다는 것을 시스템 프로세서에 표시한다.수신 동작에서,수신 프리 버퍼 리스트(receive free buffer list)는 디바이스 드라이버에 의해 시스템 메모리내에 설정된다.디바이스 드라이버는 포인터(pointer)를 수신 프리버퍼리스트의 최종 엔트리로 유지한다. 어댑터는 수신 프리 버퍼 리스트로부터 사용될 다음 버퍼에 대한 포인터를 유지한다.수신 준비 리스트(receive ready list)는 디바이스 드라이버에 의해 시스템 메모리내에 설정되고,위치는 어댑터내의 수신 제어 레지스터를 통해 어댑터에 표시된다.수신 데이터 셀은 프리 버퍼 리스트로부터의 버퍼와,시스템 메모리내에서 프레임으로 재조합된다.프레임의 수신 완료시,프레임이 적절한 수신 준비 리스트에 추가된다.하나 이상의 완료된 프레임이 수신 준비 리스트상에 상주하는 경우 디바이스 드라이버가 전송 동작을 시작하도록 어댑터에 의한 인터럽트가 프로세서에 발생한다.
도 1은 본 발명의 주요 원리를 구현하고 있는 시스템 프로세서,시스템 메모리,어댑터 및 시스템/어댑터 인터페이스를 포함하는 ATM 시스템의 블록도,
도 2는 메모리내에 저장된 시스템 메모리 및 정보의 블록도,
도 3은 도 1에 도시되어 있는 어댑터의 블록도,
도 4는 도 1에 도시되어 있는 어댑터의 ATM 및 AAL1/AAL5 프로세스 제어기의 하드웨어 구성요소를 나열하는 도면,
도 5는 도 1의 어댑텨내의 제어/데아타 메모리에 설정된 전송 준비 큐(TRQ)를 나타내는 도면,
도 6은 ATM 네트워크로의 전송에 앞서 도 1의 시스템 메모리내에서 서로 연결된 전송 프레임 기술자를 나타내는 도면,
도 7은 ATM 네트워크로 프레임을 전송한 후 도 1의 시스템 메모리내 프레임 기술자의 전송 완료 연결 리스트를 나타내는 도면,
도 8은 수신된 프레임을 저장하기 위해 어댑터에 의해 사용되는 시스템 메모리내에 프리 버퍼 기술자를 포함하는 수신 프리 버퍼 리스트를 나타내는 도면,
도 9는 도 1의 시스템 메모리 및 어댑터내의 수신 준비 리스트 포인터의 초기화를 나타내는 도면,
도 10 및 도 11은 도 1의 시스템내의 수신 준비 리스트상에서 프레임을 처리하는 것을 나타내는 도면,
도 12는 도 1의 시스템에 의해 수행되는 전송 동작의 흐름도,
도 13은 도 1의 시스템에 의해 수행되는 수신 동작의 흐름도,
* 도면의 주요 부분에 대한 부호의 설명
112: 프로세서 114: 브리지/캐시
116: 시스템 메모리 120: ATM 어댑터
124: 운영 체제 126: 어플리케이션
128: 디바이스 드라이버 309: 제어/데이터 메모리 SRAM
401: 전송 피코프로세서 403: 수신 피코프로세서
본 발명은 첨부 도면과 함께 이하 설명되는 상세한 설명으로부터 보다 충분히 이해될 것이다.
도 1에 있어서,프로세서(processor)(112),브리지(bridge)(114),시스템 메모리(system memory)(116)를 포함하는 퍼스널 컴퓨터(personal computer) 혹은 워크스테이션(workstation)(110)은 산업계 표준 구조(Industry Standard Architecture: ISA) 혹은 주변장치 구성요소 상호접속(Peripheral Component Interconnect: PCI) 버스(118)를 통해 어댑터(adapter)(120)에 결합되고,어댑터(120)는 차례로 ATM 네트워크(ATM network)(122)에 결합된다.프로세서(112)는 운영 체제(operating system)(124), 어플리케이션 프로그램(126), 및 디바이스 드라이버(128)와 같은 각종 저장 프로그램(stored porgrams)을 포함한다. 운영 체제(124)는 어플리케이션 프로그램의 기능에 따라 네트워크(122)로부터 데이터를 수신하는 프로세서를 제어함으로써 저장된 어플리케이션 프로그램(126)을 실행한다. 디바이스 드라이버(128)는 어댑터(120)를 거쳐 네트워크(122)와 시스템 메모리(116)간 셀 및 프레임의 흐름을 제어한다. 브리지(114)는 프로세서의 속도와 시스템 메모리(116) 및 어댑터(120)의 속도를 일치시키기 위한 버퍼이다.
본 발명의 주 목적은 프레임이 네트워크로 전달되거나 혹은 시스템 메모리에 수신될 때까지 디바이스 드라이버에 실질적으로 독립적으로 프레임을 셀로 분할하고 셀을 프레임으로 재조합하는 것이다. 이렇게 함으로써,디바이스 드라이버는 ATM 네트워크(122)로의 데이터 전송 및 ATM 네트워크로부터의 데이터 수신에 있어서 보다 효율적일 것이다.
도 2에는 시스템 메모리(116)내에 저장된 정보의 포맷이 보다 상세히 도시되어 있다.시스템 메모리(116)내에 저장된 정보에 대한 상세한 설명이 이후 본 명세서에 기술된다. 도 2B에서,수신 버퍼 기술자(200)의 리스트는 시스템 메모리(116)내에 저장된다.각각의 수신 버퍼 기술자(200)는 시스템 메모리(116)의 수신 데이터 버퍼(receive data buffer)(202)를 정의한다. 수신 버퍼 기술자(200)는 데이터 버퍼 어드레스 필드(data buffer address field)(204),정방향 포인터 어드레스 필드(forward pointer address field)(206),데이터버퍼 길이 필드(data buffer length field)(208),상태 필드(status field)(210), 및 그 밖의 다른 ATM 특정 필드를 포함한다.수신 퍼버 기술자(200)내의 수신 데이터 버퍼 어드레스(204)는 시스템 메모리(116)내에 위치하는 수신 데이터 버퍼(202)를 지정한다.수신 프리 버퍼 리스트(212)는 데이터 저장에 이용할 수 있는 수신 데이터 버퍼를 저장하는 수신 버퍼 기술자(200)의 연결 리스트(linked list)이다. 이러한 수신 프리 버퍼 리스트(212)내의 수신 버퍼 기술자(200)는 정방향 포인터 어드레스 필드(206)를 이용하여 연결된다.수신 준비 리스트(214)는 수신 프레임 데이터로 채워진 수신 버퍼 기술자(200)의 연결 리스트이다.이들은 정방향 포인터 어드레스 필드(206)를 사용해 또한 연결된다.
도 2A에 도시된 바와 같이,전송 프레임 기술자(250)의 리스트는 시스템 메모리 내에 또한 저장된다.각각의 전송 프레임 기술자(250)는 시스템 메모리(116)내의 하나 이상의 전송 데이터 버퍼(252)를 정의한다.전송 프레임 기술자(250)는 정방향 포인터 어드레스 필드(254),전송 완료 리스트(TLC) 정방향 포인터(256),몇개의 ATM 특정 필드,데이터 버퍼 카운트 필드(data buffer count field)(258), 각각의 연관된 전송 데이터 버퍼에 대한 전송데이터 버퍼 어드레스 필드(260), 및 각각의 연관된 전송 데이터 버퍼에 대한 전송 데이터 버퍼 길이 필드(262)를 포함한다.정방향 포인터 어드레스 필드(254)는 특정한 논리 채널에 대한 전송 프레임을 연속적으로 연결하기 위해 사용된다.TCL 정방향 포인터(256)는 전송 완료 리스트(264)로 전송된 전송 프레임 기술자를 연속적으로 연결하기 위해 사용된다.전송 데이터 버퍼 카운터(258)는 전송 프레임 기술자(250)와 연관된 전송 데이터 버퍼의 수를 나타내기 위해 사용된다.각각의 전송 데이터 버퍼 어드레스(260)는 시스템 메모리(116)내에 위치되는 전송 데이터 버퍼(252)중 하나의 버퍼를 지정한다.각각의 전송 데이터 버퍼 길이(262)는 연관된 전송 데이터 버퍼(252)내 바이트의 수를 표시한다.
도 3에서 어댑터(120)가 보다 상세히 도시되어 있다. 어댑터(120)는 입력으로서 셀을 수신하고 출력으로서 셀을 전송하기 위한 양방향 인터페이스(bidirectional interface)(301)를 통해 네트워크(122)에 결합된다.수신 셀은 ATOMIC 네트워크 인터페이스 모듈(301),인코더/디코더(Encoder/Decoder)(ENDEC)(303),메모리 인터페이스(Memory Interface)(307)를 통해 제어/데이터 메모리(309)로 진행하고,수신된 셀은 이 제어/데이터 메모리에 임시로 저장된다.셀이 제어/데이터 메모리(309)내에 배치되는 경우 프로세서(305)는 통지를 받는다.그 다음, ATM 및 AAL1/AAL4 프로세스 제어기(305)는 메모리 인터페이스(307),버스 인터페이스(311)를 통해 제어/데이터 메모리(309)로부터 시스템 메모리(116)(도 1을 참조)로 셀의 이동을 개시한다.셀을 전송하기 위해,ATM 및 AAL1/AAL5 프로세스 제어기(305)는 버스 인터페이스(311), 메모리 인터페이스(307)를 통해 시스템 메모리(116)로부터 제어/데이터 메모리(309)로 셀의 이동을 개시하며, 이동된 셀은 이 메모리(309)에 임시로 저장된다.이후 전송 셀은 메모리 인터페이스(307),인코더/디코더(ENDEC)(303),ATOMIC 네트워크 인터페이스 모듈(301)을 통해 제어/데이터 메모리(309)로부터 ATM 네트워크(122)로 이동한다.
도 4에는 ATM AAL1/AAL5 제어기(305)가 보다 상세히 도시되어 있다.제어기(305)는 전송 동작을 위한 피코프로세서(picoprocessor)(401)와 수신 동작을 위한 피코프로세서(403)를 포함한다.또한, 제어기(305)는 전송제어 레지스터(405) 및 수신 제어 레지스터(407)를 포함한다. 전송 및 수신 제어 레지스터는 디바이스 드라이버에 의해 세트되어 네트워크로부터 프레임으로 재어셈블된 셀을 저장하기 위해 네트워크 및 수신 준비 리스트로 전송될 프레임을 식별한다.
전송 준비 큐(TRQ)(도 5를 참조)는 디바이스 드라이버(128)에 의해 제어/데이터 메모리(309)내에 설정되고 어댑터(120)를 통해 시스템 메모리(116)로부터 ATM 네트워크(122)로 프레임을 전송함에 있어 전송 동작이 어댑터 하드웨어에 의해 수행되도록 큐된다. TRQ의 크기 및 제어/데이터 메모리(309)내의 위치는 디바이스 드라이버에 의해 전송 제어 레지스터(405)에 기록된 파라미터에 의한 초기화에서 결정된다.2개의 전송 준비 큐(T5RQ 및 T1RQ)가 존재하며,하나는 AAL5 트래픽용이고,다른 하나는 AAL1 트래픽용이다.두 큐는 동일한 구성을 가지며, 제어/데이터 메모리(309)내에 모두 위치한다.각가의 TRQ는 제어/데이터 메모리(309)내의 위치를 정의하는 5개의 레지스터를 갖는다.5개의 레지스터는 베이스[제어/데이터 메모리(309)로의 오프셋], 상위,하위,기록 포인터, 및 큐와 연관된 판독 포인터를 정의한다.디바이스 드라이버는 베이스 레지스터,상위 레지스터, 및 하위 레지스터에 기록함으로써 제어/데이터 메모리(309)내에 TRQ를 위치시킨다. 13 비트 상위 레지스터의 내용과 연결된 4비트 베이스 레지스터의 내용은 큐의 시작을 결정한다. 13 비트 하위 레지스터의 내용과 연결된 4 비트 베이스 레지스터의 내용은 큐의 끝을 결정한다. 초기화시 판독 및 기록 포인터 모두는 큐의 상부를 지정하여 큐가 비어 있다는 것을 표시한다.
도 1 및 도 2를 다시 참조하면, ATM 네트워크(122)로부터 수신된 프레임의 처리가 기술될 것이다. 디바이스 드라이버(128) 및 어댑터(120)의 통신은 시스템 메모리(116)내에 포함된 수신 프리 리스트(212) 및 수신 준비 리스트(RRL)에 의해 가능해진다.ATM 셀이 시스템 메모리(116)내에서 프레임으로 재조합됨에 따라서,데이터버퍼 기술자가 프리 버퍼 리스트로부터 얻어지고, 이들과 연관된 버퍼가 필요에 따라 수신된 셀을 저장하기 위해 사용된다. 버퍼가 사용될 때,버퍼 기술자를 완료 프레임을 포함하는 버퍼를 지정하는 버퍼 기술자의 연결 리스트를 형성하기 위해 서로 연속적으로 연결된다. 일단 프레임이 시스템 메모리(116)내에서 완전히 재조합되는 경우,프레임의 제 1 버퍼 기술자에 대한 포인터가 시스템 메모리(116)내에 위치된 수신 준비 리스트(214)상에 배치된다.프로세서(112)는 수신 준비 리스트를 서비스하기 위해 인터럽트된다. 인터페이스 효율은 디바이스 드라이버로 하여금 단일 인터럽트에 의해 다수의 프레임을 처리할 수 있도록 하는 이들 데이터 구조를 사용하여 개선된다.
전송 프로세스의 단계 1을 묘사하는 도 5에는 제어/ 데이터 메모리(309)내의 TRQ 큐 엔트리의 포맷(501)이 도시되어 있으며, 포맷은 전송 제어 레지스터(405)(도 4를 참조)DPO 의해 정의된다. 처음 16 비트 워드(503)는 전송 동작이 연관된 논리 채널 번호(LC)를 포함한다. 다음 두 워드는 시스템 메모리(116)내 프레임 기술자의 어드레스(505)를 포함한다. ATM 프레임 혹은 프레임들이 특정한 LCFMF 위해 전송되려할 때마다 디비이스 드라이버에 의해 TRQ(501)가 기록된다. 두개의 전송 준비 큐(T1RQ 및 T5RQ)가 존재하며,하나는 AAL1 트래픽용이고,다른 하나는 AAL5 트래픽용이다.
디바이스 드라이버 코드가 TRQ를 과도하게 채우는 것을 방지하기 위해,전송 제어 레지스터(405)내에 포함되고 큐의 각각에 대해 “충만(full)” 비트를 포함하는 상태 레지스터(status register)가 폴링되어야 한다. 상태 비트가 연관된 큐가 완전히 채워지지 않았다는 것을 표시하면, 디바이스 드라이버는 자유로이 다음 엔트리를 추가할 수 있다.그러나,상태 레지스터가 큐가 완전히 채워졌다는 것을 표시하면,디바이스 드라이버는 “충만되지 않음(not full)”표시가 수신될 때까지 상태를 계속적으로 폴링하여야 한다.
TRQ는 어댑터 하드웨어가 현재의 프레임을 처리하는 동안 비동기적인 전송을 위해 디바이스 드라이버가 다수의 프레임을 큐하는 것을 허용한다.이것을 어댑터 및 디바이스 드라이버의 성능을 개선시킨다.
도 6에는 전송 프로세스의 제 2 단계가 묘사되어 있다. 이 단계에서, 어댑터(120)는 TRQ상의 엔트리를 제거하고, 이들의 TRQ LC 번호(503)에 기초하여 전송될 프레임의 리스트와 이들을 연결한다. 연결된 리스트의 끝은 x ‘00000001’와 동일한 정방향 포인터에 의해 표시된다. 미처리된(outstanding) 전송 요구를 갖는 각각의 ATM 논리 채널에 대해 하나의 리스트가 존재할 것이다. 도 6에는 LCx, LCy, 및 LCz로 도시된 3개의 LC가 있다. 각각의 리스트의 제 1 기술자와 연관된 프레임은 각각의 프레임으로부터 하나의 셀을 인터리빙함으로써 동시에 전송한다. LC에 대한 프레임 전송이 완료될 때, 이 프레임에 대한 기술자는 리스트로부터 제거된다.방금 제거된 기술자가 최종 기술자가 아니면, 다음 연결된 기술자와 연관된 프레임의 전송이 개시된다. 이러한 프로세스는 모든 연결된 기술자와 연관된 프레임이 전송될 때까지 계속된다. 디바이스 드라이버가 미처리된 전송 요구를 갖는 LC에 대해 엔트리를 TRQ상에 놓으면, 그러한 LC에 대해 새로이 연결된 리스트가 발생된다. 셀과 이미 전송중인 프레임으로부터의 셀을 인터리빙시킴으로써 방금 연결된 프레임이 전송될 것이다. 디바이스 드라이버가 현재 전송중인 LC에 대해 전송 요구를 TRQ상에 배치하면,그러한 요구는 LC와 연관된 리스트에 연결되고, 전술한 바와 같이 전송될 것이다.
도 7에는 전송 프로세스의 제 3 단계가 묘사되어 있다. 도 7에서, 논리 채널 LC X,LC Y, 및 LC Z에 대한 전송 완료 리스트를 형성하도록 기술자가 연결된다.
시스템 처리된 최종 전송 프레임 기술자의 어드레스를 유지하여야 한다.어댑터(120)는 새로이 전송된 프레임 기술자 어드레스에 의해 전송된 최종 프레임의 TCL 정방향 포인터를 갱신한다. 프레임은 LC X,LC Y,LC X, 및 LC Z의 순서로 전송된다. 프레임 기술자는 시스템 메모리(116)내에 위치되고,TCL은 프레임이 전송됨에 따라 시스템 메모리(116)내의 어댑터(120)에 의해 구축된다. 초기화시에 디바이스 드라이버에 의해 최종 서비스된 프레임 기술자의 시스템 메모리(116)내의 어드레스가 디바이스 드라이버에 의해 전송 제어 레지스터(405)(도 4를 참조)내에 위치된 TCL 최종 프레임 데이터 어드레스(LFDA) 레지스터가 기록된다. 이러한 기술자는 “시동을 가하기 위해” 사용되는 더미 어드레스(dummy address)이다. 어댑터가 프레임의 전송을 완료함에 따라서,새로이 완료된 프레임 기술자가 프레임 기술자내에 위치된 전송 완료 리스트 정방향 포인터 필드를 사용하여 전송 완료 리스트에 연결된다.정방향 포인터의 최하위 비트를 이전 ‘1’로 세트되도록 기록함으로써 연결 리스트의 끝이 표시된다.어댑터가 전송 완료 리스트에 추가됨에 따라서,TCL-LFDA의 내용은 추가된 최종 엔트리의 시스템 메모리 어드레스에 의해 갱신된다. 디바이스 드라이버는 최종적으로 처리된 엔트리의 포인터를 유지한다. 어댑터는 새로이 연결된 프레임의 최종 프레임 기술자에 대한 TCL 정방향 포인터를 ‘0000001’ X로 세트하여 TCL의 종료를 표시한 것이다. 정방향 포인터가 ‘000000001’ X와 동일한 경우 시스템은 언제 TCL의 끝에 도달했는지를 알 것이다.이러한 프로세스의 잇점은 기술자를 서로 연결함으로써 TCL이 형성된다는 것이다.이러한 해결방법을 사용함으로써 전송 완료 리스트를 지나치는 일은 있을 수없다.이러한 프로세스는 또한 어댑터의 하드웨어와 디바이스 드라이버 소프트웨어 사이에 비동기 인터페이스(asychronous interface)를 제공한다. 다수의 프레임은 디바티스 드라이버 서비스가 요구되기 전에 전송을 완료하고,큐될 수 있다.
도 8을 참조하면,ATM 네트워크(122)로부터 셀을 수신하는 프로세스와 연관된 2개의 엔티티가 있다. 이들 엔티티는 도 2의 시스템 메모리(116)내의 프리 버퍼 리스트(212)와 수신 준비 리스트(214)이다. 디바이스 드라이버와 ATM 및 AAL1/AAL5 프로세스 제어기(305) 모두에 의해 프리 버퍼 리스트가 유지되다.디바이스 드라이버의 역할은 버퍼 기술자내에 위치되는 정방향 포인터를 사용하여 초기화시 프리 버퍼 기술자의 연결 리스트를 구축하고,리스트상의 최종 엔트리에 포인터를 유지하는 것이다.이 포인터는 추가적인 버퍼를 리스트에 추가하거나 혹은 수신 프레임을 처리한 후 버퍼를 리스트로 복귀시키는 경우 사용된다.버퍼가 복귀되거나 혹은 추가됨에 따라서,디바이스 드라이버는 항상 최종 엔트리를 지정하도록 포인터를 갱신하여야 한다.
프리 버퍼 리스트를 유지함에 있어서 ATM 및 AAL1/AAL5 프로세스 제어기(305)(도 3을 참조)의 역할은 리스트 시작의 어드레스의 카피를 유지하는 것이다. 이러한 어드레스는 디바이스 드라이버에 의해 초기화되는 수신 제어 레지스터(407)(도 4를 참조)내의 프리 버퍼 리스트(SURL) 레지스터(408)의 처음에 위치된다.데이타가 시스템 메모리(116)에 기록될 때,어댑터는(120)는 프리 리스트로부터 버퍼를 제거하고,버퍼 기술자로부 정방향 포인터를 SRFL로 카피함으로써 SURL 레지스터를 갱신한다.따라서,SRFL은 항상 프리 버퍼 리스트상의 다음 엔트리의 어드레스를 항상 포함한다.
프리 버퍼 리스트 고갈을 방지하기 위해,리스트상의 최종 엔트리의 정방향 포인터는 이진 ‘1’으로 세트된 비트 0을 갖는다. 어댑터(120)는 이러한 값에 대한 체크를 하여 이 값이 발견되는 경우 프로세서(12)에 인터럽트를 발생하여 프리리스트가 고갈되었다는 것을 표시한다. 리스트상의 최종 버퍼는 수신된 데이터를 저장하기 위해 사용되는 것이 아니라 버퍼들이 복귀되거나 혹은 추가될 때 추가적인 버퍼에 연쇄점(chaining point)을 제공할 수 있도록 프리 버퍼 리스트를 지속적으로 유지하기 위해 사용되는 것이다.프리 버퍼 리스트는 디바이스 드라이버(128)와 어댑터(120)간에 공유되며, 동시에 디바시으 드라이버(128)는 리스트의 꼬리(tail)를 추적하고, 어댑터(120)는 리스트의 머리(head)를 추적한다.
프리 버퍼 리스트가 고갈되는 경우, 디바이스 드라이버는 “리스트의 끝”이 시스템 메모리(16)내 어디에 위치하는지를 알 필요가 있다. 이러한 정보를 획득하기 위해, 디바이스 드라이버는 SUFL 레지스터를 판독할 필요가 있다. 프리 버퍼 리스트는 단지 단위 프레임 베이스로 디바이스 드라이버의 개입에 의해 어댑터와 시스템 메모리간에 프레임을 전송하기 위해 필요한 수단을 제공한다.
도 9를 참조하면,수신 프로세스에서 사용되는 제 2 엔티티는 수신 준비 리스트(214)(도 2를 참조)이다. 수신 준비 리스트는 디바이스 드라이버(128)에 의해 설정되고, 시스템 메모리(116)내에 위치된다. 셀이 ATM 네트워크(122)로부터 수신되고 프리 버퍼 리스트로부터 얻어진 버퍼내에 배치됨에 따라서, 연관된 버퍼 기술자는 완전한 프레임이 시스템 메모리(116)내에서 조합될 때까지 서로 연결된다. 프레임이 일단 조합되면, 프레임과 연관된 버퍼 기술자는 도 9에 도시되어 있는 8개의 수신 준비 리스트 RRL0-RRL7중 하나에 연결된다. 프레임이 시스템 메모리(116)내에서 조합되었다는 사실은 ATM 및 AAL1/AAL5 프로세스 제어기(305)내에 위치한 시스템 인터럽트 상태 레지스터(1015)(도 10을 참조)를 사용하여 디바이스 드라이버로 전달된다. 시스템 인터럽트 상태 레지스터(1015)는 ATM 및 AAL1/AAL5 프로세스 제어기(305)에 의해 유지되는 8개의 수신 준비 리스트 RRL0-RRL7의 각각에 대한 상태 비트(status bit)를 포함한다. 다수의 수신 준비 리스트를 가짐으로써, 디바이스 드라이버는 LCs에 우선순위를 할당할 수 있다.
일단 디바이스 드라이버가 시스템 인터럽트 상태 레지스터(415)를 판독하고, 프레임이 ATM 네트워크(122)로부터 수신되고 수신 준비 리스트중 하나의 리스트상에 배치되었다는 것을 발견하면, 디바이스 드라이버는 수신 준비 리스트를 통해 전파하고, 리스트가 RRL의 끝에 이를 때까지 전체 프레임을 처리한다. RRL은 버퍼 기술자내의 정방향 포인터는 어드레스 필드의 비트 0이 이전 ‘1’와 동일한 경우 끝이 난다.(유효 어드레스는 4 바이트 경계상에 위치된다.)RRL의 끝에 도달하는 경우,디바이스 드라이버는 시스템메모리(116)의 수신 준비 리스트를 위해 처리된 최종적으로 수신된 버퍼 기술자의 어드레스를 유지할 것이다.
시스템 메모리(116)내의 버퍼가 해제됨에 따라서,디바이스 드라이버(128)는 수신 프리 리스트(RFL)를 갱신한다. 디바이스 드라이버는 또한 추가되고 있는 기술자의 리스트중 처음 리스트를 지정하도록 수신 프리 리스트의 끝에 현재 존재하고 있는 기술자(기술자는 한번에 하나 혹은 한번에 여럿이 RFL에 추가될 수도 있다)의 정방향 포인터를 갱신한다. 리스트내의 최종적으로 추가된 기술자는 끝을 표시하는 정방향 포인터(즉,이진 ‘1’로 세트된 비트 0을 갖는 정방향 포인터)를 가져야 한다.
디바이스 드라이버는 각각의 수신 준비 리스트상의 제 1 엔트리에 대한 포인터를 갱신하여야 한다. 이러한 포인터는 시스템 메모리(116)내에 위치된다. 포인터는 이전 인터럽트의 결과로서 처리되는 최종버퍼 기술과 어드레스(LBDA)를 표시한다. 이러한 값은 연관된 RRL에 대해 다음 인터럽트가 수신될 때, 어느 기술자가 처리를 개시할 지를 판단한다.이진 ‘1’로 세트된 비트 0을 갖는 정방향 포인터를 갖는 기술자가 도달할 때까지 디바이스 드라이버는 RRL상의 엔트리를 계속적으로 처리할 수 것이다.이 시점에서,RRL서비스가 필요하다는 것을 표시하는 상태를 갖는 다음 인터럽트가 수신될 때까지 기술자의 처리가 중지된다.
도 9에는 수신 준비 리스트 포인터의 시스템 초고화 프로세스의 예가 도시되어 있다. 8개의 수신된 버퍼 리스트(RFL0-7)에 대한 포인터로서 시스템 메모리내에 위치된 포인터는 버퍼 기술자의 어드레스를 갖도록 초기화된다. 이들 버퍼 기술자내에 위치한 정방향 포인터는 ‘0000000’x로 세트된다. 어댑터(120)에서, 수신 제어 레지스터(407)내의 레지스터 RRL0-RRL7은 디바이스 드라이버에 의해 이들과 동일한 어드레스 값으로 또한 초기화된다.
ATM 및 AAL1/AAL5 프로세스 제어기(305)는 시스템 메모리(116)내에 위치된 8개의 수신된 준비 리스트중 하나를 사용하여 완료 프레임이 제조합되었다는 것을 디바이스 드라이버에 통지한다. 이들 리스트는 연관된 버퍼가 수신된 프레임을 포함하는 수신 버퍼 기술자의 여결 리스트로 구성된다. 수신된 프레임과 연관된 체인의 제 1 기술자는 프레임의 상태 및 길이를 포함한다.리스트내 각각의 기술자는 이진 ‘1’로 세트된 비트 0을 갖는 포인터가 도달될 때까지 다음 기술자에 대해 지정하고,이것은 체인의 끝을 표시한다(도 10을 참조).디바이스 드라이버에 의해 처리되길 기다리는 다수의 수신 프레임은 서로 연결될 수 있다. 시스템 메모리(116)내의 8개의 수신된 준비 리스트는 수신된 프레임의 상태를 포함하는 8개의 상태 큐를 형성한다.디바이스 드라이버에 의해 이들 8개의 리스트가 우선적으로 처리될 수 있다.
8개의 수신 준비 리스트의 각각의 최종적으로 처리된 엔트리에 대한 포인터는 디바이스 드라이버에 의해 유지된다. ATM 및 AAL1/AAL5 프로세스 제어기(305)에 의해 유지된 수신된 준비 리스트 레지스터는 어댑터에 의해 각각의 리스트에 추가되는 최종 엔트리의 어드레스를 포함한다. 디바이스 드라이버는 버퍼 기술자의 어드레스로 수신 준비 리스트 레지스터 및 자신의 카피를 초기화할 것이다.
초기화시에,이들 기술자는 자신들의 정방향 포인터가 00000001 ’x로 세트됨으로써 빈 버퍼(empty buffer)를 지정한다. 이들 처음 8개의 버퍼는 어댑터(120)에 의해 데이터 저장을 위해 사용되지 않는다. 이들의 기술자 어드레스는 단지 “시동을 가하고” 제 1 수신 프레임 기술자를 연결하는 경우 어댑터(120)가 사용할 수 있는 개시 기술자 어드레스(starting descriptor address)를 제공하기 위한 역할을 한다.
엔트리를 수신 준비 리스트중의 하나의 리스트에 더하기 위해,어댑터는 연관된 수신 준비 리스트 레지스터를 사용하여 리스트상에 최종 엔트리를 위치시키고, 수신 프레임의 제 1 기술자를 지정하도록 그러한 엔트리의 정방향 포인터를 변경시키며, 체인의 최종 기술자의 정방향 포인터를 ‘00000001’ x로 세트시킨다.
정방향 포인터의 비트 0은 체인의 끝을 표시하는 이진 ‘1’로 세트된다. 이 프레임과 연관된 중간 기술자는 프레임이 제조합됨에 따라 이들의 정방향 포인터를 사용하여 연결된다. 어댑터가 수신된 프레임 기술자를 8개의 수신된 준비 리스트중 하나의 리스트에 연결한 후, 어댑터는 시스템 인터럽트 상태 레지스터(415)내에 비트를 세트하여 수신된 프레임을 처리할 필요가 있다는 것을 표시하고 시스템 인터럽트를 발생시킨다. 수신 준비 리스트의 선택은 제어/데이터 메모리(309)내에 저장된 논리 채널 테이블(도시되지 않음)내에 포함된 필드에 기초한다.
디바이스 드라이버는 완료 프레임이 어댑터(120)로부터 시스템 메모리(116)로 전송된 경우 인터럽트된다. 완료 프레임은 하나 이상의 수신 버퍼로 구성된다.다수의 수신 버퍼가 완료 프레임을 위해 존재할 수도 있기때문에,어댑터는 디바이스 드라이버 포함전에 버퍼 기술자의 정방향 포인터를 사용하여 완료 프레임용 수신버퍼를 연결할 것이다.
도 10 및 도 11을 참조하면, 프레임을 수신하기 위해 시스템 및 어댑터에서 발생하는 수신 프로세스가 도시되어 있다. 단계 1에서,프레임은 시스템 메모리(!16)내에 위치된 버퍼내에 저장되고,각각의 버퍼는 길이,어드레스;상태 및 다음 버퍼에 대한 포인터를 표시하는 기술자에 의해 식별된다. 어플리케이션 프레임이 완료되는 경우,디바이스 드라이버는 수신 준비 리스트에 대해 처리된 최종 전송 프레임 기술자의 어드레스를 유지한다. 단계 2에서,어댑터는 ‘00000001’ X와 동일한 새로이 연결된 프레임의 최종 수신 버퍼 기술자에 대한 정방향 포인터를 세트하여 수신 준비 리스트의 끝을 표시한다. 정방향 포인터가 ‘00000001’ X이면,디바이스 드라이버는 수신된 준비 리스트의 끝이 언제 완료되었는지를 안다.단계 3에서,어댑터는 완료된 프레임을 위한 제 1 프레임 기술자 어드레스를 최종 수신 버퍼 기술자의 정방향 포인터 어드레스에 기록함으로써 새로이 위치된 프레임을 갖는 연결을 생성한다. 단계 4에서, 어댑터는 시스템 인터럽트를 위해 레지스터(415)내의 수신 준비 리스트 비트를 활성화시킨다.
단계 5에서, 디바이스 드라이버는 인터럽트가 발생하고, 어느 수신 준비 리스트가 완료된 프레임을 갖는지 알게되는 경우 레지스터(415)를 판독한다.단계 6에서,디바이스 드라이버는 모든 완료된 프레임을 네트워크로의 전송을 위해 어댑터(120)내 제어/데이터 메모리(309)내의 전송 완료 버퍼(도시되지 않음)로 모든 완료된 프레임을 전송한다.단계 7에서, 정방향 포인터 비트 0이 이진 ‘1’인 경우 드라이버는 수신 준비 리스트의 끝에 도달한 때를 알 것이다. 단계 8에서,드라이버는 수신 준비 리스트를 위해 처리된 최종 수신 버퍼 기술자의 어드레스를 유지한다.
도 12를 참조하면, 디바이스 드라이버 및 어댑터에서 실행된 수신 프로세스가 보다 상세히 설명되어 있다. 단계(1201)에서,시스템이 네트워크로부터 셀을 수신하기 위해 초기화되고, 시스템 프로세서는 시스템 메모리내의 프리 버퍼에 대한 기술자의 연결 리스트를 구축한다. 각각의 버퍼 기술자는 정방향 포인터를 통해 다음으로 연결된다. 드라이버는 리스트의 끝에 대한 포인터를 유지하고, 제 1 버퍼 기술자의 어드레스를 어댑터 제어/데이터 프로세서(403)내의 개시 프리 리스트 레지스터(SRFL)에 기록한다. 어댑터가 단계(1203)에서 네트워크(122)로부터 ATM 셀을 수신한 경우,어댑터는 셀이 프레임의 첫 번째 셀인지 혹은 현재의 시스템 버퍼가 단계(1205)에서 가득찼는지를 판단하다. “아니오”인 경우, 이후 수행될 단계(1217)에 앞서 프리 버퍼 리스트(212)(도 2를 참조)내의 제 1 기술자에 의해 정의되는 시스템 버퍼에 셀을 배치한다. “예”인 경우, 단계(1207)에서,SRFL내의 어드레스를 사용하여 시스템 메모리에 다음 프리 버퍼의 어드레스를 위치시킨다. 단계(1209)에서,디바이스 드라이버는 버퍼가 프리 버퍼 리스트상에 최종적으로 존재하는지를 판단한다. “예”인경우,단계(1211)에서 디바이스 드라이버는 셀을 포기하도록 통지받는다. “아니오”인 경우,단계(1213)에서 SFRL이 방금 획득된 버퍼로부터의 포인터에 의해 갱신된다. 단계(1215)에서, 어댑터(120)는 수신된 셀이 첫 번째 셀인지를 판단하고, 첫 번째 셀이 아닌 경우,방금 완료된 기술자의 정방향 포인터가 방금 획득된 기술자의 시스템 메모리 어드레스에 의해 갱신되고,단계(1217)에서 셀은 기술자에의해 정의된 버퍼에 배치된다. 단계(1219)에서 최종 셀이 어댑터에 의해 식별될 때까지 프로세스가 반복된다. 단계(1221)에서 어댑터는 셀과 관련된 논리 채널과 연관된 수신 준비 리스트에 대한 제어/데이터 메모리를 식별한다. 단계(123)에서 어댑터는 수신된 준비 리스트 레지스터의 내용에 의해 지정된 기술자를 갱신하여 현재의 수신된 프레임의 제 1 기술자를 지정함으로써 방금 수신된 프레임을 수신된 준비 리스트와 연결한다. 단계(1225)에서 수신된 준비 리스트 레지스터(407)는 어댑터에 의해 갱신되어 방금 수신된 프레임에 대한 최종 버퍼 기술자를 지정하고,단계(1225)에서,프로세스는 네트워크로부터 수신된 다음 셀을 처리하기 위해 단계(1203)로 복귀한다.
도 13을 참조하면,전송 프로세스는 프레임을 네트워크로 전송하기 위한 디바이스 드라이버 및 어댑터내에 기술되어 있다. 초기에, 단계(1312)에서 디비이스 드라이버는 (a) 전송 제어 레지스터(405)를 초기화하고: (b)TRQ-TOP, TRQ-RD, TRQ-RD, TRQ-WRT 및 TRQ-BASE 레지스터에 의해 정의되는 제어/데이터 메모리(309)내에 전송 준비 큐(TRQ)를 설정하며; (c) 시스템 메모리내의 전송 완료 리스트의 끝을 표시하는 전송 완료 최종 프리 기술자 어드레스를 기록하고; (d) TRQ 기록 포인터는 빈 큐를 표시하는 TRQ 판독 포인터와 동일하게 세트시킨다. 단계(1314)에서 드라이버는 전송을 위해 프레임이 준비되었는지를 결정한다. “아니오”인 경우,전송을 위한 프레임 준비를 위해 디바이스 드라이버에 의해 지속적으로 감시된다. “예”인 경우, 단계(1316)에서 프렘임이 전송을 위해 준비되었다는 것을 표시하며, 디바이스 드라이버는 TRQ가 찾는지를 판단한다. 그후, 단계(1318)에서 드라이버는 전송 요구를 TRQ로 전송하고, 단계(1320)에서 TRQ 기록 포인터를 증가시킨다. 단계(1322)에서 어댑터는 TRQ를 감시하여 전송 기록 포인터가 TRQ(405)내의 전송 판독 포인터와 동일한 때를 판단한다. 단계(1324)에서, 어댑터는 시스템 메모리(116)로부터 준비 프레임을 획득하고, 프레임을 ATM 네트워크(122)로 전송한다. 단계(1326)에서, 어댑터는 방금 전송된 프레임 기술자의 어드레스를 기술자와 전송 완료 리스트를 연결하는 전송 완료 리스트 포인터 최종 프리 기술자 어드레스(TCL-LFDA)에 의해 지정되는 기술자의 정방향 포인터에 둔다. 단계(1328)에서, 어댑터는 방금 전송된 기술자 어드레스의 어드레스를 갖는 TCL-LFDA 레지스터를 갱신하고, 단계(1322)에서 다음 프레임 전송 시퀸스를 개시하기 위해 전송 준비 큐 판독 포인터를 증가시킨다.
요약해서,프레임이 네트워크로 전송되거나 혹은 시스템에 수신될 때까지 프레임을 셀로 분할하고 셀을 디바이스 드라이버에 실질적으로 독립적인 프레임으로 제조합시킴으로써, 어댑터/디바이스 드라이버는 고속 다중화 ATM 네트워크상에서 보다 효율적일 것이다. 수신 준비 리스트 및 전송 준비 큐를 사용함으로써, 디바이스 드라이버는 단일 인터럽트로 다수의 프레임을 처리할 수 있을 것이다. 전송 준비 큐를 사용한 어댑터에 의해 프레임이 전송되는 동안 프레임은 수신 준비 리스트에 추가될 수 있다. 어댑터에 의해 갱신되는 프리 버퍼 리스트에 따라서 프레임이 전송됨에 따라 시스템 메모리가 클리어된다. 기술자를 사용하여 셀 및 프레임을 처리함으로써 시스템 메모리에서 파티션에 대한 필요성이 제거된다.
비록 본 발명이 몇몇 특정한 실시예를 참조하여 기술되었지만, 이러한 기술은 본 발명을 예시하기 위한 것이지 본 발명을 제한하기 위한 것으로 간주되어서는 안된다. 각종 변형실시예가 본 발명의 사상이나 범주를 벗어나지 않는다는 것이 당업자에게 자명할 것이다.
내용 없음

Claims (17)

  1. 디바이스 드라이버(a device driver)를 포함하는 시스템 프로세서(a system processor), 시스템 메모리(a system memory) 및 시스템 처리 성능 및 메모리 이용을 증가시키기 위해 인터페이스(an interface),에서 서로 결합된 어댑터(an adapter)를 포함하는 ATM 통신 네트워크(an ATM communications network)에 있어서, a)상기 어댑터내에 포함된 어댑터 프로세서(adapter processor) 및 제어 메모리(control memory) 수단과: b) 상기 제어 메모리내에서 전송 및 수신 제어 레지스터를 설정하는 수단과: c) 시스템 메모리내에서 수신된 준비 리스트(received ready list)상에 프레임으로서 저장하기 위해 상기 네트워크로부터 데이터 셀(data cell)을 수신하는 수단과: d) 상기 제어 메모리에서 수신된 준비 리스트상의 전송용 프레임을 식별하는 전송 준비 큐(a transmit ready queue: TRQ)를 설정하는 수단과: e) 시스템 메모리내에서 전송 완료 리스트(a transmit complete list: TCL)를 설정하는 수단과: f) 프레임 전송 완료를 표시하고 상기 TCL을 갱신하기 위해 상기 디바이스 드라이버에 인터럽트를 발생하는 수단을 포함하는 ATM 통신 네트워크.
  2. 제 1항에 있어서, a) 상기 네트워크로부터 수신된 데이터 셀을 저장하기 위해 시스템 메모리내에서 수신 버퍼를 식별하는 수신 프리 버퍼 리스트(a receive free buffer list)를 설정하는 수단과: b) 상기 수단 프리 버퍼 리스트의 시작을 가리키는 수단과: c) 상기 프리 버퍼 리스트의 끝을 표시하는 수단을 더 포함하는 ATM 통신 네트워크.
  3. 제 2항에 있어서, 완료된 프레임에 대한 버퍼 기술자를 포함하는 수신 준비 리스트를 설정하는 수단을 더 포함하는 ATM 통신 네트워크.
  4. 제 3항에 있어서, 하나 이상의 완료된 프레임이 상기 수신된 준비 리스트상에 상주한다는 것을 표시하기 위해 상기 디바이스 드라이버에 인터럽트를 발생하는 수단을 더 포함하는 ATM 통신 네트워크.
  5. 제 4항에 있어서, 상기 전송 준비 큐는 상위 어드레스(a top address), 하위 어드레스(bottom address), 기록포인터(a write pointer) 및 판독 포인터(a read pointer)를 갖는 베이스 레지스터(a base register)에 의해 상기 제어 메모리내에 정의되는 ATM 통신 네트워크.
  6. 제 5항에 있어서, 상기 어댑터 프로세서는 상기 네트워크로의 전송을 위해 상기 시스템 메모리로부터 데이터를 검색한는 전송 서브-프로세서(a transmit sub-processor)와 상기 시스템 메모리로 데이터를 전송하기 위한 수신 서브-프로세서(a receive sub-processor transferring data)를 포함하는 ATM 통신 네트워크.
  7. 제 6항에 있어서, 상기 제어 메모리내에 프리 버퍼 리스트 렝지스터의 개시 및 다수의 제어 레지스터를 더 포함하는 ATM 통신 네트워크.
  8. 제 7항에 있어서, 시스템 메모리내에 위치된 수신 프리 버퍼 리스트 및 프리 버퍼 리스트 포인터의 끝을 더 포함하는 ATM 통신 네트워크.
  9. 제 8항에 있어서, 시스템 메모리는 상기 네트워크로 전송할 준비가 된 프레임의 시스템 메모리내에서의 버퍼 위치를 식별하는 전송 프레임 기술자를 포함하는 ATM 통신 네트워크.
  10. 제 9항에 있어서,시스템 메모리는 수신 버퍼 위치를 수신 버퍼 기술자를 포함하는 ATM 통신 네트워크.
  11. 제 10항에 있어서, 프레임 어드레스 및 기술자를 TRQ 엔트리와 관련시키기 위해 제어 메모리내에 논리 채널 번호 테이블(a logical channel number table)을 더 포함하는 ATM 통신 네트워크.
  12. 제 9항에 있어서,상기 전송 준비 큐는 상기 네트워크로의 전송을 위해 시스템 메모리내에 저장된 프레임의 엔트리를 포함하는 ATM 통신 네트워크.
  13. 제 10항에 있어서, 상기 레지스터의 수신 준비 리스트 비트(a receive ready list bit)가 세트되는 경우 상기 프로세서에 인터럽트를 개시하는 상기 제어 메모리내의 시스템 인터럽트 상태 레지스터(a system interrupt status register)를 더 포함하는 ATM 통신 네트워크.
  14. 디바이스 드라이버를 포함하는 시스템 프로세서, 시스템 메모리 및 시스템 처리 성능 및 메모리 이용을 증가시키기 위해 인터페이스에서 서로 결합된 어댑터를 포함하는 ATM 통신 네트워크로서, 시스템 처리 성능 및 메모리 이용을 증진시키기 위한 방법에 있어서, 상기 방법은: a) 상기 어댑터내의 전송 제어 레지스터를 초기화하는 단계와: b) 상기 전송 제어 레지스터에 의해 정의된 전송 준비 큐(TRQ)를 설정하는 단계와: c) 시스템 메모리내에서 전송 완료 리스트의 끝을 표시하는 전송 완료 최종 프리 기술자 어드레스(a transmit complete last free descriptor address)를 기록하는 단계와: d) 상기 TRQ내의 빈 큐를 표시하는 TRQ 판독 포인터(a TRQ read pointer )와 동일하게 TRQ 기록 포인터(a TRQ write pointer)를 세트시키는 단계와: e) 시스템 메모리내에서 프레임이 전송될 준비가 되어 있는지를 판단하여, “아니오”인 경우 프레임이 전송될 준비가 되어 있는지에 대해 상기 시스템 프로세서에 의한 검사를 계속하고, “예”인 경우 프레임이 전송될 준비가 되었음을 표시하는 단계와: f) 상기 TRQ가 전부 채워졌는지를 판단하는 단계와: g) 전송요구(a transmit request)를 상기 TRQ로 전송하는 단계와: h) 상기 전송 기록 포인터가 상기 전송 판독 포인터와 동일한 때를 판단하기 위해 상기 어댑터가 상기 TRQ를 감시하는 동안 상기 TRQ 기록 포인터를 증가시키는 단계와: i) 상기 시스템 메모리로부터 준지 프레임(a ready frame)을 획득하는 단계와: j) 상기 준비 프레임을 상기 통신 네트워크로 전송하는 단계를 포함하는 시스템 처리 성능 및 메모리 이용 증진 방법.
  15. 제 14항에 있어서, a) 상기 전송 완료 리스트 포인터 최종 프리 기술자 어드레서(TCL-LFDA) 레지스터에 의해 지정되는 상기 기술자의 상기 정방향 포인터로 방금 전송된 프레임 기술자의 상기 어드레스를 배치하는 단계와: b) 상기 기술자를 상기 전송 완료 리스트에 연결하는 단계와: c) 상기 방금 전송된 기술자 어드레스 상기 어드레스에 의해 전송 완료 리스트 최종-프리 기술자 어드레스 레지스터(a transmit complete list-last free descriptor)를 갱신하는 단계와: d) 상기 통신 네트워크로 상기 다음 프레임 전송 시퀸스를 개시하기 위해 상기 전송 준비 큐 판독 포인터를 증가시키는 단계를 포함하는 시스템 처리 성능 및 메모리 이용 증진 방법.
  16. 디바이스 드라이버를 포함하는 시스템 프로세서, 시스템 메모리 및 시스템 처리 성능 및 메모리 이용을 증진시키기 위해 인터페이스에서 서로 결합된 어댑터를 포함하는 ATM 통신 네트워크로서, 시스템 처리 성능 및 메모리 이용을 증진시키기 위한 방법에 있어서, 상기 방법은: a) 시스템 메모리내에서 프리 버퍼에 대해 정방향 포인터를 통해 다음 버퍼 기술자에 연속적으로 연결되는 기술자의 리스트를 구축하는 단계와: b) 상기 시스템 프로세서내에서 상기 리스트의 상기 끝까지 포인터(a pointer)를 유지하는 단계와: c) 상기 어댑터내의 프리 리스트 레지스터(SRFL)의 개시부에 상기 제 1 버퍼 기술자의 상기 어드레스를 기록하는 단계와: d) 상기 네트워크로부터 ATM 셀(an ATM cell)을 수신하는 단계와: e) 상기 셀이 프레임의 제 1 셀인지 혹은 현재의 시스템이 전부 채워져 있는지를 판단하여, “아니오”인 경우 시스템 버퍼에 상기 셀을 배치하고, “예”인 경우 상기 SRFL내의 상기 어드레스를 사용하여 상기 시스템 메모리내에 다음 프리 버퍼의 상기 어드레스를 위치시키는 판단단계와L: f) 상기 버퍼가 상기 프리 버퍼 리스트상의 최종 버퍼인지를 판단하여, “예”인 경우 시스템 프로세서에 통지하고 상기 셀을 포기하며, “아니오”인 경우 상기 방금 획득된 버퍼로부터의 상기 포인터에 의해 상기 SRFL을 갱신하는 판단 단계와: g) 상기 수신된 셀이 제 1 셀인지를 판단하여, 제 1 셀이 아닌 경우,상기 방금 획득된 기술자의 상기 시스템 메모리 어드레스에 의해 상기 방금 완료된 기술자의 상기 정방향 포인터를 갱신하여 상기 기술자에 의해 정의된 상기 버퍼에 상기 셀을 배치하는 판단 단계와: h) 상기 최종 셀이 식별될 때까지 단계(a-g)를 반복하는 단계를 포함하는 시스템 처리 성능 및 메모리 이용 증진 방법.
  17. 제 16항에 있어서, a) 상기 셀과 관련된 논리 채널(a logical channel)과 연관된 상기 수신될 준비 리스트에 대해 상기 어댑터내의 제어 메모리(a control memory)를 액세스하는 단계와: b) 상기 수신된 준비 리스트 레지스터의 내용에 의해 저장된 상기 기술자를 상기 현재의 수신된 프레임의 상기 제 1 기술자를 지정하도록 갱신하는 단계와: c) 상기 방금 수신된 프레임과 상기 수신된 준비 리스트를 연결하는 단계와: d) 상기 방금 수신된 프레임에 대해 상기 최종 버퍼 기술자를 지정하도록 상기 수신된 리스트를 갱신하는 단계와 e) 상기 네트워크로부터 수신된 다음 셀을 처리하기 위해 단계 a)로 복귀하는 단계를 더 포함하는 시스템 처리 성능 및 메모리 이용 증진 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960028557A 1995-08-11 1996-07-15 비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법 KR100221378B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/515,183 1995-08-11
US08/515,183 US5606559A (en) 1995-08-11 1995-08-11 System and method for an efficient ATM adapter/device driver interface
US8/515,183 1995-08-11

Publications (2)

Publication Number Publication Date
KR980013142A true KR980013142A (ko) 1998-04-30
KR100221378B1 KR100221378B1 (ko) 1999-09-15

Family

ID=24050288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960028557A KR100221378B1 (ko) 1995-08-11 1996-07-15 비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법

Country Status (5)

Country Link
US (1) US5606559A (ko)
EP (1) EP0792081B1 (ko)
JP (1) JP3138214B2 (ko)
KR (1) KR100221378B1 (ko)
DE (1) DE69624088T2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100428859B1 (ko) * 2001-04-27 2004-04-28 주식회사 현대시스콤 이동 통신 교환기의 파일 시스템에서 파일 생성/제거 속도향상 방법
KR100735077B1 (ko) * 2000-10-03 2007-07-16 무렉스 시큐리티스, 리미티드 네트워크상에서 고도로 고객 지향적인 연락 리스트를정의하여 처리하고 전달하기 위한 실시간 처리 방법

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
EP0746174B1 (de) * 1995-05-31 2007-08-08 Siemens Aktiengesellschaft Verfahren zum Realisieren logischer Kommunikationspartner in Kommunikationssystemen
US5845153A (en) * 1995-07-07 1998-12-01 Integrated Device Technology, Inc. Memory interface for asynchronous transfer mode segmentation and reassembly circuit
US5809024A (en) * 1995-07-12 1998-09-15 Bay Networks, Inc. Memory architecture for a local area network module in an ATM switch
US5765023A (en) * 1995-09-29 1998-06-09 Cirrus Logic, Inc. DMA controller having multiple channels and buffer pool having plurality of buffers accessible to each channel for buffering data transferred to and from host computer
US5781799A (en) * 1995-09-29 1998-07-14 Cirrus Logic, Inc. DMA controller arrangement having plurality of DMA controllers and buffer pool having plurality of buffers accessible to each of the channels of the controllers
US5848293A (en) * 1995-11-03 1998-12-08 Sun Microsystems, Inc. Method and apparatus for transmission and processing of virtual commands
US5974466A (en) * 1995-12-28 1999-10-26 Hitachi, Ltd. ATM controller and ATM communication control device
US7577782B2 (en) * 1996-02-02 2009-08-18 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6519268B1 (en) * 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US5920561A (en) * 1996-03-07 1999-07-06 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5841772A (en) * 1996-03-07 1998-11-24 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5848068A (en) * 1996-03-07 1998-12-08 Lsi Logic Corporation ATM communication system interconnect/termination unit
US6535512B1 (en) 1996-03-07 2003-03-18 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5982749A (en) * 1996-03-07 1999-11-09 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5764896A (en) * 1996-06-28 1998-06-09 Compaq Computer Corporation Method and system for reducing transfer latency when transferring data from a network to a computer system
US5970229A (en) * 1996-09-12 1999-10-19 Cabletron Systems, Inc. Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory
US5941952A (en) * 1996-09-12 1999-08-24 Cabletron Systems, Inc. Apparatus and method for transferring data from a transmit buffer memory at a particular rate
US5922046A (en) * 1996-09-12 1999-07-13 Cabletron Systems, Inc. Method and apparatus for avoiding control reads in a network node
US5995995A (en) * 1996-09-12 1999-11-30 Cabletron Systems, Inc. Apparatus and method for scheduling virtual circuit data for DMA from a host memory to a transmit buffer memory
US5966546A (en) 1996-09-12 1999-10-12 Cabletron Systems, Inc. Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
US5999980A (en) * 1996-09-12 1999-12-07 Cabletron Systems, Inc. Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network
JP3610193B2 (ja) * 1997-06-26 2005-01-12 株式会社日立製作所 Atmコントローラおよびそれを用いたatm通信制御装置
US6393483B1 (en) * 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US6021446A (en) * 1997-07-11 2000-02-01 Sun Microsystems, Inc. Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine
KR100251779B1 (ko) 1997-07-25 2000-04-15 윤종용 피디에이취망과 에이티엠망 사이의 인터페이스 장치
US6212593B1 (en) * 1998-06-01 2001-04-03 Advanced Micro Devices, Inc. Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system
US6667978B1 (en) * 1998-07-09 2003-12-23 International Business Machines Corporation Apparatus and method for reassembling frame data into stream data
US6381218B1 (en) 1998-09-11 2002-04-30 Compaq Computer Corporation Network controller system that uses directed heartbeat packets
US6229538B1 (en) 1998-09-11 2001-05-08 Compaq Computer Corporation Port-centric graphic representations of network controllers
US6272113B1 (en) 1998-09-11 2001-08-07 Compaq Computer Corporation Network controller system that uses multicast heartbeat packets
GB9821766D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821792D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821762D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821768D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821791D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821770D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821800D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821789D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Jitter handling
GB9821763D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
US6862635B1 (en) * 1998-11-13 2005-03-01 Cray Inc. Synchronization techniques in a multithreaded environment
KR100323770B1 (ko) * 1999-03-08 2002-02-19 서평원 멀티캐스트 서비스를 위한 채널 구조 및 이를 이용한 서비스 운용 방법
US6888830B1 (en) * 1999-08-17 2005-05-03 Mindspeed Technologies, Inc. Integrated circuit that processes communication packets with scheduler circuitry that executes scheduling algorithms based on cached scheduling parameters
JP3387464B2 (ja) 1999-11-25 2003-03-17 日本電気株式会社 通信制御システムとその制御方法
US6965603B1 (en) 2000-03-20 2005-11-15 Cortina Systems, Inc. Circuits for combining ATM and packet data on an optical fiber
US6810039B1 (en) 2000-03-30 2004-10-26 Azanda Network Devices, Inc. Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic
US6751224B1 (en) 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data
US6751214B1 (en) 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Methods and apparatus for dynamically allocating bandwidth between ATM cells and packets
US6813729B1 (en) 2000-06-15 2004-11-02 Advanced Micro Devices, Inc. Programmable bi-directional MII testing methodology and device including same
US6978318B1 (en) 2000-06-19 2005-12-20 Advanced Micro Devices, Inc. Network interface apparatus and method of internal communication within the same
US6937571B1 (en) 2000-06-19 2005-08-30 Advanced Micro Devices, Inc. Method of testing a network device through a medium independent interface (MII)
US7107378B1 (en) * 2000-09-01 2006-09-12 Sandisk Corporation Cooperative interconnection and operation of a non-volatile memory card and an input-output card
SI20398A (sl) * 2000-12-08 2001-04-30 Daisy Technologies Inc. Postopek in priprava za prenos podatkovnih in govornih paketov med paketnim in sinhronim omrežjem
FR2818066B1 (fr) * 2000-12-12 2003-10-10 Eads Airbus Sa Procede et dispositif de transmission deterministe de donnees asynchrones mises en paquet
KR100455041B1 (ko) * 2000-12-22 2004-11-08 엘지전자 주식회사 에이티엠 채널을 예약 및 설정하는 에이티엠 디바이스드라이버 및 방법
WO2003088021A2 (en) * 2002-04-08 2003-10-23 Socket Communications, Inc Wireless enabled memory module
US7089486B1 (en) * 2002-08-16 2006-08-08 Juniper Networks, Inc. Context switching for on-the-fly processing of fragmented frames
US7367503B2 (en) * 2002-11-13 2008-05-06 Sandisk Corporation Universal non-volatile memory card used with various different standard cards containing a memory controller
US8037229B2 (en) 2002-11-21 2011-10-11 Sandisk Technologies Inc. Combination non-volatile memory and input-output card with direct memory access
US20050055479A1 (en) * 2002-11-21 2005-03-10 Aviad Zer Multi-module circuit card with inter-module direct memory access
US7305535B2 (en) 2003-04-17 2007-12-04 Sandisk Corporation Memory cards including a standard security function
US7209995B2 (en) * 2003-12-09 2007-04-24 Sandisk Corporation Efficient connection between modules of removable electronic circuit cards
US20060140203A1 (en) * 2004-12-28 2006-06-29 Sanjeev Jain System and method for packet queuing
US20060179392A1 (en) * 2005-02-08 2006-08-10 Takaaki Ota Handshakeless retransmission protocol
US8402172B2 (en) * 2006-12-22 2013-03-19 Hewlett-Packard Development Company, L.P. Processing an input/output request on a multiprocessor system
US7657664B2 (en) * 2007-03-08 2010-02-02 International Business Machines Corporation Method and system for tracking device driver requests
EP2449550B1 (en) * 2009-06-30 2020-03-25 Nokia Technologies Oy Method and apparatus for providing mobile device interoperability

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4422171A (en) * 1980-12-29 1983-12-20 Allied Corporation, Law Department Method and system for data communication
EP0441787B1 (en) * 1989-08-09 1994-12-07 BELL TELEPHONE MANUFACTURING COMPANY Naamloze Vennootschap Communication switching element for transferring cells divided into subcells
US5136584A (en) * 1990-07-11 1992-08-04 At&T Bell Laboratories Hardware interface to a high-speed multiplexed link
US5274768A (en) * 1991-05-28 1993-12-28 The Trustees Of The University Of Pennsylvania High-performance host interface for ATM networks
JPH04369942A (ja) * 1991-06-19 1992-12-22 Hitachi Ltd データ通信システム
FR2701180B1 (fr) * 1993-01-29 1995-03-10 Cit Alcatel Dispositif de cellulisation et dispositif de décellulisation de voies numériques synchromes, centre de commutation de voies numériques synchrones, et centre de commutation de voies numériques asynchrones.
US5524113A (en) * 1993-08-30 1996-06-04 Washington University ATM switch interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100735077B1 (ko) * 2000-10-03 2007-07-16 무렉스 시큐리티스, 리미티드 네트워크상에서 고도로 고객 지향적인 연락 리스트를정의하여 처리하고 전달하기 위한 실시간 처리 방법
KR100428859B1 (ko) * 2001-04-27 2004-04-28 주식회사 현대시스콤 이동 통신 교환기의 파일 시스템에서 파일 생성/제거 속도향상 방법

Also Published As

Publication number Publication date
DE69624088T2 (de) 2003-06-18
US5606559A (en) 1997-02-25
EP0792081A3 (en) 1999-06-16
EP0792081A2 (en) 1997-08-27
JP3138214B2 (ja) 2001-02-26
DE69624088D1 (de) 2002-11-07
EP0792081B1 (en) 2002-10-02
JPH0955755A (ja) 1997-02-25
KR100221378B1 (ko) 1999-09-15

Similar Documents

Publication Publication Date Title
KR980013142A (ko) 비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법
JP2788577B2 (ja) フレーム変換方法及び装置
US5751951A (en) Network interface
US5315708A (en) Method and apparatus for transferring data through a staging memory
US5828903A (en) System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
US6038592A (en) Method and device of multicasting data in a communications system
US6026443A (en) Multi-virtual DMA channels, multi-bandwidth groups, host based cellification and reassembly, and asynchronous transfer mode network interface
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
US5909546A (en) Network interface having support for allowing remote operations with reply that bypass host computer interaction
EP0239937B1 (en) Serial communications controller
US6438613B1 (en) Method and apparatus for allowing packet data to be separated over multiple bus targets
US6615282B1 (en) Adaptive messaging
US5594927A (en) Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits
US5151999A (en) Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
CA2361126A1 (en) Method and apparatus for managing multiple atm cell queues
WO2004019165A2 (en) Method and system for tcp/ip using generic buffers for non-posting tcp applications
US6052387A (en) Enhanced interface for an asynchronous transfer mode segmentation controller
US6578096B1 (en) Method and system for efficient I/O operation completion in a fibre channel node
US6108694A (en) Memory disk sharing method and its implementing apparatus
US7895239B2 (en) Queue arrays in network devices
US6526458B1 (en) Method and system for efficient i/o operation completion in a fibre channel node using an application specific integration circuit and determining i/o operation completion status within interface controller
US7009981B1 (en) Asynchronous transfer mode system for, and method of, writing a cell payload between a control queue on one side of a system bus and a status queue on the other side of the system bus
US20010018732A1 (en) Parallel processor and parallel processing method
KR100256679B1 (ko) 비동기 전달 모드 셀 세그멘테이션 장치
WO1991013397A1 (en) A method and apparatus for transferring data through a staging memory

Legal Events

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