KR20010054663A - Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법 - Google Patents

Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법 Download PDF

Info

Publication number
KR20010054663A
KR20010054663A KR1019990055562A KR19990055562A KR20010054663A KR 20010054663 A KR20010054663 A KR 20010054663A KR 1019990055562 A KR1019990055562 A KR 1019990055562A KR 19990055562 A KR19990055562 A KR 19990055562A KR 20010054663 A KR20010054663 A KR 20010054663A
Authority
KR
South Korea
Prior art keywords
host
transmission
aal
descriptor
buffer
Prior art date
Application number
KR1019990055562A
Other languages
English (en)
Other versions
KR100369403B1 (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 김덕중
Priority to KR10-1999-0055562A priority Critical patent/KR100369403B1/ko
Publication of KR20010054663A publication Critical patent/KR20010054663A/ko
Application granted granted Critical
Publication of KR100369403B1 publication Critical patent/KR100369403B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

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

Abstract

본 발명은 AAL 처리를 위한 호스트 인터페이스 장치 및 그 제어방법에 관한 것으로서, AAL의 송신데이터 전달요청을 받아 해당 호스트 메모리(110)의 영역으로부터 읽어와 AAL로 전달하는 기능과, 호스트가 호스트 버스를 통하여 전달하는 쓰기, 읽기 신호를 내부의 동작에 맞도록 변환하는 기능을 수행하는 호스트 인터페이스부(130)에 호스트의 송신요청 메시지(131)와 AAL 처리부(140)로부터의 송신완료 메시지를 큐잉하는 메시지 큐(132)를 두어; AAL 처리부(140)에 의하여 관리되며, AAL 처리부(140)가 호스트 인터페이스부(130)에서 송신요청 메시지(131)를 읽어와 디스크립터 풀(151)에서 버퍼 디스크립터 인덱스를 할당받아 호스트 메모리(110)의 버퍼를 할당한 후 링크를 하고, 송신이 완료되면 버퍼 디스크립터 인덱스를 디스크립터 풀(151)로 등록하는 버퍼 디스크립터 풀(151)로 이루어진다.

Description

AAL 처리를 위한 호스트 인터페이스 장치 및 그 제어방법 {Host interface apparatus for processing AAL and method thereof}
본 발명은 ATM(Asynchronous Transfer Mode)망의 사용자 인터페이스에 사용되는 ATM 적응 계층(ATM Adaptation Layer: 이하 "AAL"이라 약칭함)과 이를 제어하는 호스트 모듈과의 인터페이스에 관한 것으로서, 특히 인터페이스 구조를 호스트 버스 측면에서 간략화하여 호스트 버스의 불필요한 점유를 없애기 위한 AAL 처리를 위한 호스트 인터페이스 장치에 관한 것이다.
일반적으로 ATM 통신방식은 물리 계층, ATM 계층, AAL, 상위 프로토콜 계층과 같이 수직적인 구조로 구분되며, 상기 AAL은 절단 및 재결합 부계층과 수렴부계층으로 구분되며, 물리계층은 물리매체와 전송수렴 부계층으로 다시 구분된다.
상기와 같이 이루어지는 ATM 관련 기술은 미국 특허 번호 제 5,548,587 호 "Asynchronous Transfer Mode Adapter for Desktop Applications" 및 제 5,768,275 호 "Controller for ATM Segmentation and Reassembly"에 의하면 현재까지는 사용자측의 ATM 및 AAL 처리의 효율을 높이기 위해 하드웨어적으로 처리를 하고 있는데 그 상세한 사항은 다음과 같다.
ATM 망의 UNI(User-Network Interface)에 사용되는 AAL 처리부와 이를 제어하는 호스트 모듈과의 인터페이스를 구현하기 위한 요소들은 도 1 및 도 2에 도시된 바와 같이, 호스트 메모리(10), 호스트 프로세서(20), 호스트 인터페이스(30), AAL처리부(40) 그리고 로컬 메모리(50)가 있다.
상기 호스트 메모리(10)는 송신하고자 하는 데이터 발생시 송신 요청을 하기 위하여 데이터를 저장해 놓는 역할을 한다.
상기 호스트 프로세서(20)는 호스트 메모리(10)의 데이터를 관리하며, AAL 처리부(40)와 로컬메모리(50)에 쓰기, 읽기 등을 함으로써 송신을 요청하고 일부 제어하는 기능을 한다.
상기 호스트 인터페이스(30)는 두 가지의 기능을 하는데, 호스트 버스의 쓰기, 읽기 신호를 내부의 동작에 맞도록 변환하는 기능(SLAVE 기능:32)과 AAL 처리부에서 송신 데이터의 전달 요청을 받아 호스트의 메모리(10)로부터 읽어와 AAL 처리부(40)에 전달하는 기능(DMA 기능 또는 마스터 기능:31)을 한다.
상기 AAL 처리부(40)는 호스트가 설정해 놓은 레지스터의 값과 로컬메모리의 테이블들을 참조하여 송신 채널을 결정하며, 송신과 관련한 프로토콜 계층 기능을 행한다.
그리고 상기 로컬 메모리(50)는 AAL 처리부(40)에서 계층처리시 사용되는 일련의 변수와 테이블이 저장되는데, 송신 요구 큐(51)와 송신 완료 큐(52), 그리고 각 채널에 대한 설정을 담고 있는 채널 테이블(54)과 호스트의 버퍼에 대한 일대일로 기술하고 있는 버퍼 디스크립터(53)들로 구성되어 있다.
이때 로컬 메모리(50)의 송신 요구 큐(51)와 송신 완료 큐(52) 그리고 이들이 큐의 기능을 하기 위하여, AAL 처리부(40) 상의 송신요구큐 읽기 포인터 레지스터(41), 송신요구큐 쓰기 포인터 레지스터(43), 송신완료큐 읽기 포인터 레지스터(42)와 송신완료큐 쓰기 포인터 레지스터(44)를 이용하여 동작한다.
상기와 같이 구성된 상태에서 도 3에 도시된 바와 같이, 호스트의 메모리에 송신요구 데이터가 발생되면(S1), 호스트가 송신완료큐(52)의 읽기 포인터를 읽고, 호스트가 송신완료큐(52) 읽기 포인터를 증가시킨다(S2).
호스트가 로컬메모리(50)의 해당 버퍼 디스크립터 버퍼와 관련된 내용을 기재하는데, 이때 기재되는 내용은 버퍼 시작번지, 버퍼길이, 채널번호, 버퍼내 데이터 정보 등이다.
그러나 종래와 같이 송신요구를 하는 방법은 송신 완료큐와 송신 요구큐를 사용하기 때문에 이들의 읽기 쓰기 포인터와 읽기 쓰기 포인터 레지스터를 관리해 주어야하고, 호스트 버스를 통하여 레지스터의 읽기와 로컬메모리 쓰기를 하는 동안 송신 데이터는 호스트 버스를 사용할 수 없게 되므로 송신 데이터의 DMA동작시 호스트 버스의 효율을 저하시키게 되는 문제점이 있다.
이러한 경우 호스트 메모리에 송신요청된 데이터의 단위가 큰 경우는 이들의 저하 영향이 그다지 크지 않지만, 호스트 메모리의 데이터 단위가 최근의 규격화되고 있는 AAL2 응용 등과 같이 작을 경우 호스트 메모리에 자주 송신 요청을 하는경우를 감안한다면 호스트 버스의 효율에 미치는 영향이 매우 커 이에 대한 문제점이 더욱 커지게 된다.
따라서 본 발명은 상기한 문제점을 감안하여 안출한 것으로서, ATM 네트워크의 UNI에 사용되는 AAL 계층과 이를 제어하는 호스트 모듈과의 인터페이스에 있어서 호스트 버스를 통하여 송신데이터의 송신요구시 호스트 버스의 엑세스를 감소시켜 호스트 버스의 불필요한 점유를 없앰으로써 고속의 호스트 인터페이스를 제공하는데 그 목적이 있다.
도 1은 종래기술에 따른 ATM과 AAL과의 송신 블록도,
도 2는 종래기술에 의한 도 1의 호스트 인터페이스와 로컬 메모리의 데이터 구조에 관한 상세 블록도,
도 3은 종래기술에 따른 AAL과 호스트 인터페이스간의 송수신에 관한 순서도,
도 4는 본 발명에 AAL과 호스트 인터페이스간의 송수신에 관한 개략도,
도 5는 본 발명에 AAL과 호스트 인터페이스간의 송수신에 관한 블록도.
도 6은 본 발명에 AAL과 호스트 인터페이스간의 송수신에 관한 순서도.
* 도면의 주요부분에 대한 부호의 설명 *
110 : 호스트 메모리 120 : 호스트 프로세서
130 : 호스트 인터페이스 131 : 송신요청 메시지
132 : 메시지 큐 140 : AAL 처리부
141 : 버퍼 디스크립터 링크 기능 142 : 레지스터
142' : 디스크립터 풀 읽기 포인터 레지스터
142 " : 디스크립터 풀 쓰기 포인터 레지스터
150 : 로컬 메모리 151 : 디스크립터 풀
152 : 버퍼 디스크립터 153 : 채널 테이블
상기한 목적을 달성하기 위하여 본 발명은, 호스트가 AAL 계층으로 송신하고자 하는 데이터를 전달할 때 AAL계층이 사용하는 로컬 메모리에 호스트 메모리의 데이터 블록에 상응하는 테이블을 두어 이들과 한 쌍으로 관리를 하며, 호스트 메모리 내의 데이터 블록에 데이터가 발생시 이 테이블 엔트리의 인덱스를 송신요청 큐에 등록함으로써 송신요청을 마감하며, 송신이 완료된 대기 큐에 등록이 되어 호스트가 다시 재사용할 수 있도록 함으로써 호스트가 사용하고자 하는 큐를 검사하는 사이클을 줄이도록 구성된 특징이 있다.
이하 본 발명의 바람직한 실시예를 첨부된 도면에 의거하여 상세히 설명하면 다음과 같다.
도 4는 본 발명의 실시 예에 의한 인터페이스 구조에 관한 개략도이고, 도 5는 본 발명의 AAL과 호스트 인터페이스간의 송수신에 관한 블록도이다.
도 4 및 도 5에 도시된 바와 같이 본 발명은 송신하고자 하는 데이터를 저장하는 호스트 메모리(110)와, 송신하고자 하는 데이터를 송신요청하고 송신과 관련하여 AAL 처리부를 제어하며 로컬 메모리를 초기화하는 호스트 프로세서(120)와, AAL의 송신데이터 전달요청을 받아 해당 호스트 메모리(110)의 영역으로부터 읽어와 AAL로 전달하는 기능과 호스트가 호스트 버스를 통하여 전달하는 쓰기, 읽기 신호를 내부의 동작에 맞도록 변환하는 기능과 호스트의 송신요청 메시지(131)와 AAL 처리부(140)로부터의 송신완료 메시지를 큐송신요청 메시지(131)를 읽어와 해당 버퍼 디스크립터(152)를 할당하고 할당된 버퍼 디스크립터(152)를 채널 및 송신 순서 리스트에 링크를 행하는 AAL 처리부(140)와, 상기 AAL 처리부(140)가 송신 동작시 사용하는 파라미터 및 호스트에 의하여 초기화 된 채널 테이블(153)과 버퍼 디스크립터(152)와 디스크립터 풀(151)이 위치하는 로컬 메모리(150)로 이루어진다.
상기 디스크립터 풀(151)은 AAL 처리부(140)에 의하여 관리되며, AAL 처리부(140)가 호스트 인터페이스부(130)에서 송신요청 메시지(131)를 읽어와 디스크립터 풀(151)에서 버퍼 디스크립터 인덱스를 할당받아 호스트 메모리(110)의 버퍼를 할당한 후 링크를 하고, 송신이 완료되면 버퍼 디스크립터 인덱스를 디스크립터 풀(151)로 등록하도록 구성된다.
상기와 같이 구성된 본 발명의 동작을 도 6을 참고로하여 상세히 설명하면 다음과 같다.
먼저 호스트는 송신하고자 하는 데이터 블록을 순서대로 발송하기 위해 호스트 메모리(110)에 송신요구 데이터를 발생하고(S11), 호스트가 호스트 버스를 통하여 송신요구 메시지(버퍼 시작번지, 버퍼길이, 채널정보, 버퍼 번호 등)를 호스트 인터페이스부(130)의 메시지 큐(132)에 등록한다. 메시지 큐(132)에 등록하는 것은 일반 레지스터 쓰기와 같이 쓴다(S12).
상기 메시지 큐(132)의 읽기, 쓰기 포인터는 호스트 인터페이스 내에서 관리한다.
이때 호스트 인터페이스부(130)의 메시지 큐(132)에 등록된 송신요구는 AAL 처리부(140)에서 읽고, 로컬 메모리(150)의 디스크립터 풀(151)에서 디스크립터 인덱스를 읽어와 송신요구된 버퍼에 디스크립터를 할당하여 호스트 인터페이스부(130)로부터 읽어온 송신 요구 메시지의 내용을 담는다(S13).
그리고 상기 S13에서 할당받은 디스크립터에는 버퍼번호를 담는 필드를 두어 해당 버퍼 디스크립터의 데이터의 송신이 완료되면 호스트로 호스트 인터페이스의 송신완료 메시지에 버퍼번호를 담아 호스트로 전달한다(S14).
따라서 호스트는 송신완료 메시지의 버퍼 번호를 읽어 해당 버퍼를 다시 새로운 데이터로 채운다.
본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에 기재된 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것임은 물론이고 그와 같은 변경은 본 발명의 권리범위에 속함은 물론이다.
이상 설명한 바와 같이, 본 발명은 호스트 버스를 통하여 송신 데이터의 송신요구를 할 때 호스트 버스의 엑세스를 감소시키므로써, 호스트 버스에 여유가 있어 호스트 버스에서 송신 데이터의 전달시 호스트의 발생 데이터를 호스트 버스의 최대 속도에 가깝게 전달할 수 있게 되므로 빠른 속도로 데이터를 처리할 수 있는 효과가 있으므로 고속의 네트웍 인터페이스용 하드웨어 설계시 매우 효과적으로 활용할 수 있다.
따라서 본 발명은 송신 요구시 기존의 방식에서 호스트 버스를 엑세스하는 송신 요구 구조를 변경함으로써 호스트 버스의 엑세스 횟수를 줄여주므로 고속의 호스트 인터페이스를 설계하는데 매우 유용한 발명이다.

Claims (3)

  1. 송신하고자 하는 데이터를 저장하는 호스트 메모리(110);
    송신하고자 하는 데이터를 송신요청하고 송신과 관련하여 AAL 처리부를 제어하며 로컬 메모리를 초기화하는 호스트 프로세서(120);
    AAL의 송신데이터 전달요청을 받아 해당 호스트 메모리(110)의 영역으로부터 송신하고자 하는 데이터 블록을 읽어와 AAL로 전달하는 기능과, 호스트가 호스트 버스를 통하여 전달하는 쓰기, 읽기 신호를 내부의 동작에 맞도록 변환하는 기능과, 호스트의 송신요청 메시지(131)와 AAL 처리부(140)로부터의 송신완료 메시지를 큐잉하는 메시지 큐(132)로 이루어지는 호스트 인터페이스부(130);
    상기 호스트 인터페이스부(130)로부터 송신요청 메시지(131)를 읽어와 해당 버퍼 디스크립터(152)를 할당하고 할당된 버퍼 디스크립터(152)를 채널 및 송신 순서 리스트에 링크를 행하는 AAL 처리부(140); 및
    상기 AAL 처리부(140)가 송신 동작시 사용하는 파라미터 및 호스트 프로세서(120)에 의하여 초기화 된 채널 테이블(153)과 상기 버퍼 디스크립터(152)와 버퍼 디스크립터(152) 인덱스를 할당하는 디스크립터 풀(151)로 이루어지는 로컬 메모리(150)로 이루어지는 AAL 처리를 위한 호스트 인터페이스 장치.
  2. 제 1 항에 있어서, 상기 디스크립터 풀(151)은
    AAL 처리부(140)에 의하여 관리되며, AAL 처리부(140)가 호스트 인터페이스부(130)에서 송신요청 메시지(131)를 읽어와 디스크립터 풀(151)에서 버퍼 디스크립터 인덱스를 할당받아 호스트 메모리(110)의 버퍼를 할당한 후 링크를 하고, 송신이 완료되면 버퍼 디스크립터 인덱스를 디스크립터 풀(151)로 등록하도록 이루어지는 것을 특징으로 하는 AAL 처리를 위한 호스트 인터페이스 장치.
  3. 호스트의 메모리에 송신요구 데이터를 발생하는 단계;
    호스트가 호스트 버스를 이용하여 레지스터에 송신요구 메시지(버퍼 시작번지, 버퍼 길이, 채널정보, 버퍼번호 등)쓰기를 수행하는 단계;
    AAL 처리부가 송신요구 데이터를 읽고 디스크립터 풀에서 디스크립터 인덱스를 읽어와 송신 요구된 버퍼에 디스크립터를 할당하는 단계; 및
    AAL 처리부는 디스크립터 풀을 통해서 할당한 버퍼 디스크립터를 채널 테이블의 송신 순서 리스트에 링크시키고, 채널테이블에 링크된 송신 순서에 따라 송신동작을 시작하는 단계로 이루어지는 AAL처리를 위한 호스트 인터페이스 제어방법.
KR10-1999-0055562A 1999-12-07 1999-12-07 Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법 KR100369403B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0055562A KR100369403B1 (ko) 1999-12-07 1999-12-07 Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0055562A KR100369403B1 (ko) 1999-12-07 1999-12-07 Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20010054663A true KR20010054663A (ko) 2001-07-02
KR100369403B1 KR100369403B1 (ko) 2003-01-30

Family

ID=19624068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0055562A KR100369403B1 (ko) 1999-12-07 1999-12-07 Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR100369403B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980061693A (ko) * 1996-12-31 1998-10-07 이우복 메모리 제어 방법
KR100232493B1 (ko) * 1997-09-30 1999-12-01 김덕중 비동기 전송 모드 통신에 있어서 디스크립터 링크 처리 방법
KR100256679B1 (ko) * 1997-12-24 2000-05-15 이계철 비동기 전달 모드 셀 세그멘테이션 장치
KR100258566B1 (ko) * 1997-12-31 2000-06-15 김덕중 비동기식 전송모드 통신시스템에 있어서 디스크립터 고속 링크방법 및 장치
KR100261440B1 (ko) * 1998-03-13 2000-07-01 임효빈 비동기 전송 모드 어뎁테이션 층 타입 5의 비동기 전송 모드 셀전송 장치 및 방법

Also Published As

Publication number Publication date
KR100369403B1 (ko) 2003-01-30

Similar Documents

Publication Publication Date Title
US5848293A (en) Method and apparatus for transmission and processing of virtual commands
US6073205A (en) System and method of write posting in a universal serial bus system
US6813653B2 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US7570646B2 (en) Apparatus and method for an interface unit for data transfer between a host processing unit and a multi-target digital signal processing unit in an asynchronous transfer mode
US6502144B1 (en) Data processing apparatus with communication feature, and communication method in a data processing apparatus
US6425021B1 (en) System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
TW384428B (en) Method and apparatus for dynamically managing communications buffers used with packet communication data for a printer
USRE43058E1 (en) Switching ethernet controller
US5875352A (en) Method and apparatus for multiple channel direct memory access control
US5761427A (en) Method and apparatus for updating host memory in an adapter to minimize host CPU overhead in servicing an interrupt
US5453982A (en) Packet control procedure between a host processor and a peripheral unit
EP0774717A1 (en) Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
US20020168966A1 (en) I/O unit emulation
KR19990067730A (ko) 유니버설 시리얼 버스 디바이스 내부로 및 외부로 데이터를 송신 및 수신하기 위한 장치 및 방법
CN101150487A (zh) 一种零拷贝网络报文发送方法
US6038621A (en) Dynamic peripheral control of I/O buffers in peripherals with modular I/O
US5987530A (en) Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
US5923852A (en) Method and system for fast data transmissions in a processing system utilizing interrupts
US6175572B1 (en) Bandwith allocating method by using sub-tables in an ATM network interface card
US5983279A (en) Buffer management mechanism for distributed multimedia applications
KR100369403B1 (ko) Aal 처리를 위한 호스트 인터페이스 장치 및 그 제어방법
Dittia et al. Catching up with the networks: host I/O at gigabit rates
US6961837B2 (en) Method and apparatus for address translation pre-fetch
KR100256679B1 (ko) 비동기 전달 모드 셀 세그멘테이션 장치
KR0164117B1 (ko) 비동기 전달모드 호스트 접속 장치에서의 하드웨어 구동 및 데이타 전달 방법

Legal Events

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