KR100261887B1 - Data interface method using pci bus - Google Patents

Data interface method using pci bus Download PDF

Info

Publication number
KR100261887B1
KR100261887B1 KR1019970081622A KR19970081622A KR100261887B1 KR 100261887 B1 KR100261887 B1 KR 100261887B1 KR 1019970081622 A KR1019970081622 A KR 1019970081622A KR 19970081622 A KR19970081622 A KR 19970081622A KR 100261887 B1 KR100261887 B1 KR 100261887B1
Authority
KR
South Korea
Prior art keywords
data
cell
host
block
memory
Prior art date
Application number
KR1019970081622A
Other languages
Korean (ko)
Other versions
KR19990061363A (en
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 KR1019970081622A priority Critical patent/KR100261887B1/en
Publication of KR19990061363A publication Critical patent/KR19990061363A/en
Application granted granted Critical
Publication of KR100261887B1 publication Critical patent/KR100261887B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Abstract

PURPOSE: A method for interfacing data via a PCI(Peripheral Component Interconnect) bus is provided to perform a function of a PCI interface module which does not have a master logic block and thus has a simple structure. CONSTITUTION: The control information necessary for data transmission is stored in a local memory(202). The control information stored in the local memory is read by arbitration of a memory arbitration block(204). A start address of data that will be transmitted and the amount of the data is transferred to a packet transmission module(206). An interrupt for a transmission mode is generated, and an interrupt flag bit is set(208). A host reads a start address register and a data amount information register in the packet transmission module, and a flag register of a memory control block, and thereby recognizes that a current interrupt is for the data transmission(210). The host reads the data to be transmitted from its memory, and stores the read data in the packet transmission module via a slave logic block(212). Header information is added to the data stored in the packet transmission module, and then transmitted to a network(214).

Description

PCI 버스를 이용한 데이터 인터페이스 방법Data interface method using PCI bus

본 발명은 호스트 버스를 사용하여 네트워크 인터페이스를 수행하는 방법에 관한 것으로, 더욱 상세하게는 PCI 버스를 이용하여 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 데 적합한 데이터 인터페이스 방법에 관한 것이다.The present invention relates to a method of performing a network interface using a host bus, and more particularly, to a data interface method suitable for performing a data interface between a host and an ATM network using a PCI bus.

일반적으로, PCI 버스를 호스트 버스로 사용하여 호스트와 네트워크간의 데이터 인터페이스를 수행할 경우, 네트워크 송수신부에서 호스트로 수시로 데이터의 전송 요구를 하게 되는 데, 이를 위하여 PCI 모듈에서는 마스터 기능을 수행하는 로직과 슬레이브 기능을 수행하는 로직을 포함하고 있다.In general, when performing a data interface between a host and a network using a PCI bus as a host bus, the network transceiver frequently requests data transmission from the network transceiver to the host. Contains logic to perform slave functions.

여기에서, 마스터 기능은 버스에 버스 점유 요청신호를 인가하여 허가를 얻은 후에 버스상에 데이터의 전송 동작을 수행하는 기능을 말하고, 슬레이브 기능은 버스상의 신호를 항상 감시하고 있다가 자신이 할당받은 어드레스 영역에 읽기 또는 쓰기 동작을 수행하는 신호를 받게 되면 버스상에 인가된 명령에 따라 자신의 영역에서 데이터를 버스에 내어 놓거나 버스상의 데이터를 자신의 영역에 저장하는 기능을 말한다.Here, the master function refers to a function of applying a bus occupancy request signal to the bus to perform a data transfer operation on the bus after obtaining a permission, and the slave function always monitors a signal on the bus and assigns an address to which it is assigned. When a signal is received to perform a read or write operation on an area, a function of putting data on the bus in the own area or storing data on the bus in the own area according to a command applied on the bus.

상기와 같이 PCI 버스를 이용하여 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 전형적인 종래의 데이터 인터페이스 장치가 도 4에 도시되어 있다.A typical conventional data interface device for performing a data interface between a host and an ATM network using a PCI bus as described above is shown in FIG.

즉, 도 4에 도시된 바와같이, 종래의 데이터 인터페이스 장치는 PCI 모듈(402), 메모리 제어 블록(404), 로컬 메모리(406), 패킷 전송 모듈(408), 셀 전송 모듈(410), 메모리 중재 블록(412) 및 셀 수신 블록(414)을 포함하며, 또한 PCI 모듈(402)은 마스터 로직 블록(4021)과 슬레이브 로직 블록(4023)를 포함한다.That is, as shown in FIG. 4, the conventional data interface device includes a PCI module 402, a memory control block 404, a local memory 406, a packet transfer module 408, a cell transfer module 410, and a memory. An arbitration block 412 and a cell receive block 414, and the PCI module 402 also includes a master logic block 4021 and a slave logic block 4023.

도 4를 참조하면, 마스터 로직 블록(4021)은 PCI 버스(S41)에 버스 점유 요청신호를 인가하여 허가를 얻은 후에 PCI 버스(S41)상에 데이터의 전송 동작을 수행하는 것으로, 전송 모드시에 PCI 버스(S41)를 통해 호스트로부터 제공되는 셀 데이터를 패킷 전송 모듈(408)로 전달하고, 수신 모드시에 패킷 전송 모듈(408)로부터 제공되는 수신 셀 데이터를 PCI 버스(S41)를 통해 도시 생략된 호스트(예를들면, PC 등)의 해당 메모리 영역(즉, 지정된 영역)으로 전달한다.Referring to FIG. 4, the master logic block 4021 performs a data transfer operation on the PCI bus S41 after obtaining a permission by applying a bus occupancy request signal to the PCI bus S41. The cell data provided from the host is transferred to the packet transfer module 408 through the PCI bus S41, and the reception cell data provided from the packet transfer module 408 is not shown through the PCI bus S41 in the reception mode. To the corresponding memory area (ie, the designated area) of the host (eg PC).

또한, 슬레이브 로직 블록(4023)은 PCI 버스(S41)상의 신호를 항상 감시하고 있다가 자신이 할당받은 어드레스 영역에 읽기 또는 쓰기 동작을 수행하는 신호를 받게 되면 PCI 버스(S41)상에 인가된 명령에 따라 자신의 영역에서 데이터를 PCI 버스(S41)에 내어 놓거나 PCI 버스(S41)상의 데이터를 자신의 영역에 저장하는 기능을 수행하는 것으로, 이를 위하여 메모리 제어 블록(404)의 동작을 제어하고, 또한 호스트에서 전송하고자하는 셀 및 채널에 대한 정보를 로컬 메모리(406)에 저장한다.In addition, the slave logic block 4023 always monitors a signal on the PCI bus S41 and receives a command to perform a read or write operation in an address area allocated to the slave logic block 4023. In accordance with the present invention, the data is stored in the PCI bus S41 in its own area or the data on the PCI bus S41 is stored in its own area. For this purpose, the operation of the memory control block 404 is controlled. In addition, the local memory 406 stores information about cells and channels to be transmitted from the host.

다음에, 메모리 제어 블록(404)에서는 상기한 슬레이브 로직 블록(4023)으로부터의 제어에 따라 셀 전송 블록(410), 셀 수신 블록(414) 및 로컬 메모리(406)에서의 데이터 판독 및 기록을 수행한다. 이때, 로컬 메모리(406)에는 전송 모드시에 전송하고자하는 데이터의 크기 및 위치 정보가 저장되며, 또한 수신 모드시에 수신된 셀의 헤더 정보에서 분석한 제어 정보와 호스트의 버퍼에 대한 정보(즉, 수신된 셀 데이터를 저장하기 위한 호스트측 버퍼의 위치 정보 등)가 저장된다.Next, the memory control block 404 reads and writes data in the cell transfer block 410, the cell receive block 414, and the local memory 406 according to the control from the slave logic block 4023 described above. do. At this time, the local memory 406 stores the size and location information of the data to be transmitted in the transmission mode, and also the control information analyzed in the header information of the cell received in the reception mode and information about the buffer of the host (that is, , Location information of a host side buffer for storing the received cell data).

한편, 패킷 전송 모듈(408)은 마스터 로직 블록(4021)을 통해 PCI 버스(S41)의 사용 허가를 얻은 후에 지정된 위치(즉, 호스트에서 전송하고자하는 데이터의 위치)에서 전송하고자하는 데이터를 읽어와 셀 전송 블록(410)으로 전달하거나 또는 셀 수신 블록(414)으로부터 제공되는 수신 셀 데이터를 호스트의 지정된 위치로 전달하여 저장한다.On the other hand, the packet transfer module 408 reads the data to be transmitted at the designated position (that is, the position of the data to be transmitted from the host) after obtaining the license of the PCI bus S41 through the master logic block 4021. The received cell data transmitted from the cell transmission block 410 or the cell reception block 414 is transferred to and stored in a designated location of the host.

이때, 전송하고자하는 데이터의 지정된 위치 및 크기 정보와 수신된 데이터가 저장될 지정된 위치 및 크기 정보는 로컬 메모리(406)에 저장되는 데, 이러한 제어 정보들의 저장은 로컬 메모리(406)의 초기화 또는 동작시에 호스트에 의해 수행된다.At this time, the designated position and size information of the data to be transmitted and the designated position and size information to be stored in the received data are stored in the local memory 406, and the storage of such control information is initialized or operated in the local memory 406. It is performed by the host at the time.

다른한편, 셀 전송 블록(410)은 전송 모드시에 패킷 전송 모듈(408)로부터 제공되는 셀 데이터에 헤더 정보, 예를들면 GFC(Generic Flow Control), VPI(Virtual Path Identifier), VCI(Virtual Channel Identifier), PT(Payload Type), CLP(Cell Loss Priority), HEC(Header Error Control)로 된 5바이트의 헤더 정보를 48바이트의 유료 부하 정보에 부가한 다음 목표 호스트로의 전송을 위해 ATM 네트워크로 전송된다.On the other hand, the cell transport block 410 may include header information such as Generic Flow Control (GFC), Virtual Path Identifier (VPI), and Virtual Channel (VCI) in the cell data provided from the packet transmission module 408 in the transmission mode. 5 bytes of header information of Identifier (PT), Payload Type (PT), Cell Loss Priority (CLP), and HEC (Header Error Control) are added to 48 bytes of payload information and then sent to the ATM network for transmission to the target host. Is sent.

또한, 셀 전송 블록(410)은 로컬 메모리(406)를 사용할 때 메모리 중재 블록(412)에 중재를 요청하며, 메모리 중재 블록(412)으로부터 로컬 메모리(406)의 사용이 승인되면 제어 정보 판독을 위해 로컬 메모리(406)를 탐색하며, 그 탐색 결과에 의거하여 호스트 메모리의 어느 위치에서 데이터를 가져와야 할 것인지를 확인하고, 그 확인 결과에 따라 패킷 전송 모듈(408)로 전송할 데이터의 전달을 요청한다. 이때, 패킷 전송 모듈(408)로 제공되는 요청 신호는 전송하고자하는 데이터의 시작 어드레스와 데이터의 갯수 정보를 포함한다.In addition, the cell transport block 410 requests mediation to the memory arbitration block 412 when using the local memory 406, and reads control information when the use of the local memory 406 from the memory arbitration block 412 is approved. The local memory 406 is searched for, and based on the search result, it checks at which location in the host memory to acquire data, and requests the transfer of data to be transmitted to the packet transmission module 408 according to the result of the check. . At this time, the request signal provided to the packet transmission module 408 includes information about the start address of the data to be transmitted and the number of data.

여기에서, 헤더 정보내 4비트로 된 GFC 구간은 매체 접속 제어 기능을 수행하며, 또한 8비트로 된 VPI 구간과 16비트로 된 VCI 구간은 동일 연결에 속하는 셀들을 구분하기 위하여 가상 경로 및 가상 채널의 식별번호를 나타내는 구간이다.Here, the 4-bit GFC section in the header information performs a media access control function. Also, the 8-bit VPI section and the 16-bit VCI section identify the virtual path and the virtual channel identification number to distinguish cells belonging to the same connection. It is a section indicating.

또한, 3비트로 된 PT 구간은 사용자 정보 여부를 표시하는 데 사용되고, 1비트로 된 CLP 구간은 통신 체증 발생시에 해당 셀의 포기 여부를 나타내는 셀 포기 우선순위 정보를 나타내며, 8비트로 된 HEC 구간은 셀 헤더 구간의 오류 체크를 위한 순환 중복 검사 바이트로서 이러한 정보는 셀의 오류를 검지 및 정정하고, 셀 헤더를 검출하는 데 사용된다. 그리고, 1비트의 셀 폐기 우선순위 정보는 ATM 교환기내의 셀 버퍼에서 셀을 수신할 때 해당 셀의 선택적 폐기를 수행하는 데 이용되는 정보이다.In addition, the 3-bit PT section is used to indicate whether or not the user information, the 1-bit CLP section indicates the cell abandon priority information indicating whether or not to give up the cell when the communication jam occurs, the 8-bit HEC section is the cell header As a cyclic redundancy check byte for error checking of intervals, this information is used to detect and correct errors in cells and to detect cell headers. The 1-bit cell discard priority information is information used to perform selective discarding of a cell when a cell is received in a cell buffer in an ATM exchange.

한편, 셀 수신 블록(414)은 ATM 네트워크를 통해 셀 데이터가 수신될 때 수신된 셀의 헤더 정보를 분석하고, 로컬 메모리(406)를 탐색하여 수신된 셀 데이터와 연관되는 채널의 제어 정보와 호스트의 버퍼에 대한 정보(즉, 수신된 셀 데이터를 저장하기 위한 호스트측 버퍼의 위치 정보 등)를 읽어온 다음 패킷 전송 모듈(408)에 수신된 셀 데이터를 읽어갈 것을 요청한다.Meanwhile, the cell receiving block 414 analyzes the header information of the received cell when the cell data is received through the ATM network, and searches the local memory 406 to host the control information and the host of the channel associated with the received cell data. After reading the information on the buffer of the (e.g., location information of the host-side buffer for storing the received cell data, etc.), the packet transfer module 408 is requested to read the received cell data.

이때, 요청 신호는 수신된 데이터가 저장되어야 할 버퍼의 시작 어드레스, 현재 전달한 데이터의 갯수 및 전달 요청 신호를 포함한다. 또한, 셀 수신 블록(414)은 로컬 메모리(406)를 사용할 때 메모리 중재 블록(412)에 중재를 요청하며, 메모리 중재 블록(412)으로부터 로컬 메모리(406)의 사용이 승인되면 제어 정보 판독을 위해 로컬 메모리(406)를 탐색한다.At this time, the request signal includes the start address of the buffer in which the received data is to be stored, the number of data currently transmitted, and the transfer request signal. In addition, the cell receive block 414 requests mediation to the memory arbitration block 412 when using the local memory 406, and reads control information when the use of the local memory 406 from the memory arbitration block 412 is approved. Search for local memory 406.

또한, 메모리 제어 블록(404), 로컬 메모리(406), 셀 전송 블록(410), 셀 수신 블록(414) 및 메모리 중재 블록(412)은 로컬 메모리 버스(S42)를 통해 서로 유기적으로 연결되고, 또한 로컬 메모리(406)는 호스트, 셀 전송 블록(410) 및 셀 수신 블록(414)이 공유하는 형태로 구성되며, 메모리 중재 블록(412)에서는 각 구성부재들로부터의 메모리 요청에 의거하여 로컬 메모리(406) 사용을 중재한다.In addition, the memory control block 404, the local memory 406, the cell transmission block 410, the cell receiving block 414, and the memory arbitration block 412 are organically connected to each other through the local memory bus S42, In addition, the local memory 406 is configured in a form shared by the host, the cell transmission block 410 and the cell receiving block 414, the memory arbitration block 412 in the local memory based on the memory request from each component (406) Mediate use.

즉, 상술한 바와같은 구성을 갖는 PCI 버스를 이용하는 종래 데이터 인터페이스 장치는 패킷 전송 모듈(408)에서 전송하고자하는 데이터를 호스트로부터 가져오거나 혹은 수신된 데이터를 호스트의 지정된 메모리 위치에 가져다 놓기 위하여, 패킷 전송 모듈(408)에서는 마스터 로직 블록(4021)을 통해 PCI 버스(S41)의 사용 허가(버스 점유 허가)를 얻은 후에 지정된 위치에서 데이터를 읽거나 혹은 지정된 위치에 데이터를 쓰게 되는 데, 이를 위해 PCI 모듈(402)은 마스터 로직 블록(4021)과 슬레이브 로직 블록(4023)을 포함한다.That is, the conventional data interface device using the PCI bus having the configuration as described above, in order to bring the data to be transmitted in the packet transmission module 408 from the host or to bring the received data to the designated memory location of the host, The transfer module 408 reads the data from the designated location or writes the data to the designated location after obtaining the permission (bus occupancy permission) of the PCI bus S41 through the master logic block 4021. Module 402 includes a master logic block 4021 and a slave logic block 4023.

그러나, 전송 모드 또는 수신 모드시에 버스 점유 허가를 요청하는 기능을 수행하는 마스터 로직 블록(4021)이 슬레이브 로직 블록(4023)에 비해 상대적으로 대단히 큰 로직 구성을 갖기 때문에, 이들 블록(4021, 4023)을 하드웨어로 구현할 경우 대단히 큰 영역을 차지하게 된다는 문제가 있다.However, since the master logic block 4021 that performs the function of requesting bus occupancy permission in the transmit mode or the receive mode has a relatively large logic configuration compared to the slave logic block 4023, these blocks 4021 and 4023 ) Takes up a very large area when implemented in hardware.

즉, PCI 버스를 이용하는 종래 데이터 인터페이스 장치는 PCI 모듈(즉, PCI 인터페이스 모듈)의 크기 증가로 인해 전체 시스템의 경박단소화에 큰 장애요인이 될 뿐만 아니라 전체 시스템의 제조 비용이 상승시키는 큰 요인이 되고 있는 실정이다.That is, the conventional data interface device using the PCI bus is not only a big obstacle to the thin and short size of the entire system due to the increase in the size of the PCI module (ie, the PCI interface module), but also a large factor that increases the manufacturing cost of the entire system. It's happening.

따라서, 본 발명은 상기한 종래기술의 문제점을 해결하기 위한 것으로, 마스터 로직 블록을 갖지 않는 간단한 구조의 PCI 인터페이스 모듈을 이용하여 종래 PCI 인터페이스 모듈과 동일한 기능을 수행할 수 있는 PCI 버스를 이용한 데이터 인터페이스 방법을 제공하는 데 그 목적이 있다.Accordingly, the present invention is to solve the above problems of the prior art, a data interface using a PCI bus that can perform the same function as the conventional PCI interface module using a simple PCI interface module having no master logic block. The purpose is to provide a method.

상기 목적을 달성하기 위한 일관점에 따른 본 발명은, 데이터 인터페이스를 위해 PCI 버스를 통해 호스트와 연결된 슬레이브 로직 블록, 데이터 전송 또는 수신을 위한 제어 정보들을 저장하는 로컬 메모리, 전송 모드시에 데이터를 ATM 네트워크로 기설정된 N 바이트 단위의 셀 데이터를 전송하는 셀 전송 블록 및 수신 모드시에 상기 ATM 네트워크를 통해 기설정된 N 바이트 단위의 셀 데이터를 수신하는 셀 수신 블록을 포함하는 데이터 인터페이스 장치에서 PCI 버스를 이용하여 데이터를 인터페이스하는 방법에 있어서, 상기 호스트가 상기 로컬 메모리에 전송에 관련된 채널의 제어 정보를 기록하는 과정; 상기 로컬 메모리를 탐색하여 전송하고자하는 데이터의 상기 호스트 메모리내 시작 어드레스 정보와 전송될 데이터의 갯수 정보를 판독하여 각 레지스터에 저장하고, 전송 모드를 위한 레지스터의 플래그를 셋팅하는 과정; 상기 슬레이브 로직 블록을 통해 상기 PCI 버스상에 인터럽트 신호를 발생하는 과정; 상기 인터럽트 신호가 발생되면, 상기 각 레지스터의 내용을 판독하여 상기 발생된 인터럽트의 종류를 전송 인터럽트로 인식하고, 상기 전송 시작 어드레스를 시작점으로하여 전송하고자하는 저장 데이터를 인출하여 상기 PCI 버스상에 실은 다음 슬레이브 기능을 이용하여 인출된 데이터를 상기 셀 전송 블록으로 제공하는 과정; 및 상기 인출된 데이터에 n 바이트의 헤더 정보를 부가하여 N 바이트의 셀 단위로 상기 ATM 네트워크로 전송하는 과정으로 이루어진 PCI 버스를 이용한 데이터 인터페이스 방법을 제공한다.The present invention according to the above consistent point to achieve the object, the slave logic block connected to the host via the PCI bus for the data interface, local memory for storing control information for data transmission or reception, ATM data in the transmission mode In the data interface device including a cell transport block for transmitting the cell data of the predetermined N byte unit to the network and a cell receiving block for receiving cell data of the predetermined N byte unit via the ATM network in the reception mode. 10. A method of interfacing data using a method, the method comprising: recording, by the host, control information of a channel related to a transmission in the local memory; Searching for the local memory, reading start address information in the host memory and information on the number of data to be transmitted, storing the data in each register, and setting a flag of a register for a transfer mode; Generating an interrupt signal on the PCI bus via the slave logic block; When the interrupt signal is generated, the contents of the registers are read to recognize the type of the generated interrupt as a transmission interrupt, and the stored data to be transmitted are retrieved from the transmission start address as a starting point and loaded on the PCI bus. Providing fetched data to the cell transport block by using a next slave function; And a n-byte header information added to the extracted data and transmitted to the ATM network in units of N-byte cells.

상기 목적을 달성하기 위한 다른 관점에 따른 본 발명은, 데이터 인터페이스를 위해 PCI 버스를 통해 호스트와 연결된 슬레이브 로직 블록, 데이터 전송 또는 수신을 위한 제어 정보들을 저장하는 로컬 메모리, 전송 모드시에 데이터를 ATM 네트워크로 기설정된 N 바이트 단위의 셀 데이터를 전송하는 셀 전송 블록 및 수신 모드시에 상기 ATM 네트워크를 통해 기설정된 N 바이트 단위의 셀 데이터를 수신하는 셀 수신 블록을 포함하는 데이터 인터페이스 장치에서 PCI 버스를 이용하여 데이터를 인터페이스하는 방법에 있어서, 상기 호스트가 상기 로컬 메모리에 수신에 관련된 채널의 제어 정보를 기록하는 과정; 상기 ATM 네트워크를 통해 상기 셀 수신 블록에 셀 데이터가 수신되면, 수신된 셀 데이터의 헤더 정보를 읽고 상기 로컬 메모리를 탐색하여 수신 데이터와 관련된 채널의 제어 정보에 의거하여 상기 수신 데이터의 헤더 정보를 분석하는 과정; 상기 호스트 메모리에 대한 제어 정보를 상기 로컬 메모리에서 인출하여 각 레지스터에 저장하고, 수신 모드를 위한 레지스터의 플래그를 셋팅하는 과정; 상기 슬레이브 로직 블록을 통해 상기 PCI 버스상에 인터럽트 신호를 발생하는 과정; 상기 인터럽트 신호가 발생되면, 상기 호스트가 상기 각 레지스터의 내용을 판독하여 상기 발생된 인터럽트의 종류를 수신 인터럽트로 인식하고, 상기 수신된 데이터가 저장될 상기 호스트내 메모리 위치 및 수신될 데이터 갯수를 파악하는 과정; 및 상기 슬레이브 로직 블록을 이용하여 상기 수신된 데이터를 상기 PCI 버스상에 읽어들여 상기 호스트의 해당 메모리 위치에 저장하는 과정으로 이루어진 PCI 버스를 이용한 데이터 인터페이스 방법을 제공한다.According to another aspect of the present invention, there is provided a slave logic block connected to a host through a PCI bus for a data interface, a local memory storing control information for data transmission or reception, and ATM data in a transmission mode. In the data interface device including a cell transport block for transmitting the cell data of the predetermined N byte unit to the network and a cell receiving block for receiving cell data of the predetermined N byte unit via the ATM network in the reception mode. A method of interfacing data using a method, the method comprising: recording control information of a channel related to reception by the host in the local memory; When cell data is received in the cell receiving block through the ATM network, the header information of the received cell data is read, the local memory is searched, and the header information of the received data is analyzed based on control information of a channel related to the received data. Process of doing; Extracting control information of the host memory from the local memory and storing the control information in each register and setting a flag of a register for a reception mode; Generating an interrupt signal on the PCI bus via the slave logic block; When the interrupt signal is generated, the host reads the contents of each register to recognize the generated interrupt type as a reception interrupt, and grasps the memory location in the host where the received data is to be stored and the number of data to be received. Process of doing; And reading the received data onto the PCI bus using the slave logic block and storing the received data in a corresponding memory location of the host.

도 1은 본 발명에 따른 데이터 인터페이스 방법을 적용하는 데 적합한 데이터 인터페이스 장치의 블록구성도,1 is a block diagram of a data interface device suitable for applying a data interface method according to the present invention;

도 2는 본 발명의 바람직한 실시예에 따라 전송 모드시에 PCI 버스를 이용하여 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 과정을 도시한 플로우챠트,2 is a flowchart illustrating a process of performing a data interface between a host and an ATM network using a PCI bus in a transmission mode according to a preferred embodiment of the present invention;

도 3은 본 발명의 바람직한 실시예에 따라 수신 모드시에 PCI 버스를 이용하여 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 과정을 도시한 플로우챠트,3 is a flowchart illustrating a process of performing a data interface between a host and an ATM network using a PCI bus in a reception mode according to a preferred embodiment of the present invention;

도 4는 PCI 버스를 이용하는 종래 데이터 인터페이스 장치의 블록구성도.Figure 4 is a block diagram of a conventional data interface device using a PCI bus.

<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

102 : 슬레이브 로직 블록 104 : 메모리 제어 블록102: slave logic block 104: memory control block

106 : 로컬 메모리 108 : 패킷 전송 모듈106: local memory 108: packet transfer module

110 : 셀 전송 블록 112 : 메모리 중재 블록110: cell transport block 112: memory arbitration block

114 : 셀 수신 블록114: cell receiving block

본 발명의 상기 및 기타 목적과 여러가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로 부터 더욱 명확하게 될 것이다.The above and other objects and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 데이터 인터페이스 방법을 적용하는 데 적합한 데이터 인터페이스 장치의 블록구성도를 나타낸다.1 shows a block diagram of a data interface device suitable for applying a data interface method according to the present invention.

동도면에 도시된 바와같이, 데이터 인터페이스 장치는 슬레이브 로직 블록(102), 메모리 제어 블록(104), 로컬 메모리(106), 패킷 전송 모듈(108), 셀 전송 모듈(110), 메모리 중재 블록(112) 및 셀 수신 블록(114)을 포함한다.As shown in the figure, the data interface device comprises a slave logic block 102, a memory control block 104, a local memory 106, a packet transfer module 108, a cell transfer module 110, a memory arbitration block ( 112 and cell receive block 114.

도 1과 종래 장치를 도시한 도 4와의 비교를 통해 알 수 있는 바와같이, 본 발명의 적용에 적합한 데이터 인터페이스 장치는 슬레이브 로직 블록(102)만을 이용하여 PCI 인터페이스 모듈을 구성하며, 이러한 슬레이브 로직 블록(102)을 이용하여 호스트와 ATM 네트워크간의 데이터 인터페이스를 수행한다는 데 가장 큰 기술적인 특징을 갖는 것으로, 이를 위하여 슬레이브 로직 블록(102)에서는 전송 모드 또는 수신 모드시에 라인 L11을 통해 PCI 버스(S11)상에 인터럽트를 발생하여 도시 생략된 호스트에 모드에 상응하는 인터럽트 신호를 인지하도록 한다.As can be seen from the comparison between FIG. 1 and FIG. 4 showing a conventional device, a data interface device suitable for application of the present invention configures a PCI interface module using only the slave logic block 102, and this slave logic block The most technical feature of performing the data interface between the host and the ATM network by using the 102. For this purpose, the slave logic block 102 uses a PCI bus (S11) through a line L11 in a transmission mode or a reception mode. In this case, the interrupt signal corresponding to the mode is recognized by the host (not shown).

이때, 패킷 전송 모듈(108)은 전송 시작 어드레스 레지스터와 전송 갯수 정보 레지스터를 포함하고, 수신 시작 어드레스 레지스터, 수신 갯수 정보 레지스터 및 수신 셀 상태 레지스터를 포함하며, 이러한 패킷 전송 모듈(108)내의 전송 시작 어드레스 레지스터에는 전송 모드시에 셀 전송 블록(110)으로부터 제공되는 호스트에서 전송할 데이터의 시작 어드레스가 저장되고, 전송 갯수 정보 레지스터에는 전송 모드시에 셀 전송 블록(110)으로부터 제공되는 전송을 위해 호스트에서 읽어와야 할 데이터의 갯수 정보가 저장된다. 여기에서, 수신 셀 상태 레지스터에는 수신된 셀 데이터의 에러 여부, 현재의 망 상태 등에 대한 정보가 저장된다.At this time, the packet transmission module 108 includes a transmission start address register and a transmission number information register, and includes a reception start address register, a reception number information register and a reception cell status register, and the transmission start in the packet transmission module 108 is performed. The address register stores the start address of data to be transmitted from the host provided from the cell transfer block 110 in the transfer mode, and the transfer count information register stores the start address of the host for transfer provided from the cell transfer block 110 in the transfer mode. Information on the number of data to be read is stored. In this case, the reception cell status register stores information on whether the received cell data is in error or the current network status.

즉, 셀 전송 블록(110)에서는 전송 모드시에 로컬 메모리(106)에서 제어 정보들을 읽어 호스트 메모리의 어느 위치에서 얼마 만큼의 데이터를 가져와야하는 지를 확인한 후에 패킷 전송 모듈(108)에 데이터 전송을 요청하는 데, 이러한 요청시에 전달되는 데이터는 전송하고자하는 데이터의 시작 어드레스(즉, 호스트 메모리의 전송 데이터 시작 어드레스), 전송을 위해 읽어와야 할 데이터 갯수 및 요청 신호를 포함한다.That is, the cell transfer block 110 reads the control information from the local memory 106 in the transfer mode, checks where in the host memory how much data is to be obtained, and then requests the data transfer module 108 to transmit the data. In this case, the data delivered in such a request includes a start address of the data to be transmitted (i.e., a transfer data start address of the host memory), the number of data to be read for transmission, and a request signal.

이때, 로컬 메모리(106)에는 전송하고자하는 데이터의 지정된 위치 및 크기 정보(즉, 전송 시작 어드레스 및 데이터 갯수 정보)와 수신에 관련된 채널, 수신된 데이터가 저장될 지정된 위치 및 크기 정보(즉, 수신된 데이터의 저장 시작 어드레스 및 데이터 갯수 정보)가 저장되는 데, 이러한 제어 정보들의 저장은 로컬 메모리(106)의 초기화 또는 동작시에 호스트에 의해 수행된다.At this time, the local memory 106 has specified position and size information (ie, transmission start address and data number information) of data to be transmitted, a channel related to reception, and designated position and size information (ie, reception) at which the received data is to be stored. Storage start address and data number information of the stored data) are stored, and the storage of such control information is performed by the host upon initialization or operation of the local memory 106.

다음에, 패킷 전송 모듈(108)에서는 셀 전송 블록(110)으로부터 데이터 전송을 위한 요청 신호가 인가될 때 전송 모드를 위한 인터럽트를 발생하라는 지령 신호(즉, 인터럽트 핀의 시그날을 액티브시키라는 지령)를 발생하여 슬레이브 로직 블록(102)으로 제공함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그를 셋팅, 예를들면 전송 모드일 때 플래그용 비트를“1”로 셋팅하고, 수신 모드일 때 플래그용 비트를“0”으로 셋팅시킨다.Next, the packet transfer module 108 instructs the signal to generate an interrupt for the transfer mode when the request signal for data transfer is applied from the cell transfer block 110 (i.e., to activate the signal of the interrupt pin). Is generated and provided to the slave logic block 102 and at the same time the flag for distinguishing the interrupt type is set in the memory control block 104, for example, the flag bit is set to "1" in the transmission mode, and the reception mode is selected. Set the flag bit to "0".

따라서, 도시 생략된 호스트에서는 슬레이브 로직 블록(102)에서 라인 L11을 통해 인터럽트가 발생될 때 슬레이브 로직 블록(102)을 이용해 패킷 전송 모듈(108) 및 메모리 제어 블록(104)의 각 레지스터들(즉, 전송 시작 어드레스 레지스터, 전송 갯수 정보 레지스터, 플래그 셋팅 레지스터)을 읽어본 후에 해당 어드레스에서 해당 데이터를 결정된 갯수만큼 슬레이브 로직 블록(102)의 슬레이브 기능을 이용해 패킷 전송 모듈(108)의 해당 버퍼에 저장한다. 이때, 전송을 위해 버퍼에 저장되는 데이터는, 예를들면 53바이트 단위로 수행될 수 있다.Accordingly, in the host not shown, each register of the packet transfer module 108 and the memory control block 104 (i.e., the slave logic block 102) is used when the interrupt is generated through the line L11 in the slave logic block 102. Reads the transfer start address register, the transfer count information register, and the flag setting register and stores the corresponding data at the corresponding address in the corresponding buffer of the packet transfer module 108 using the slave function of the slave logic block 102. do. In this case, the data stored in the buffer for transmission may be performed, for example, in units of 53 bytes.

그 결과, 셀 전송 블록(110)에서는 패킷 전송 모듈(108)로부터 제공되는 데이터를 셀 단위로하여 헤더 정보(5바이트)를 부가하여 도시 생략된 ATM 네트워크로 전송하게 된다.As a result, the cell transport block 110 transmits the header information (5 bytes) to the ATM network, not shown, by using data provided from the packet transmission module 108 in units of cells.

한편, 패킷 전송 모듈(108)내의 수신 시작 어드레스 레지스터에는 수신 모드시에 호스트 메모리에 저장될 시작 어드레스가 저장되고, 수신 갯수 정보 레지스터에는 수신 모드시에 셀 수신 블록(114)을 통해 수신되는 셀 데이터가 호스트 메모리로의 저장을 위해 전달될 데이터의 갯수 정보가 저장되는 데, 이러한 정보들은 요청 신호와 함께 셀 데이터가 수신될 때 제공된다.On the other hand, the start address to be stored in the host memory in the reception mode is stored in the reception start address register in the packet transmission module 108, and the cell data received through the cell reception block 114 in the reception mode in the reception number information register. Information about the number of data to be delivered for storage in the host memory is provided when the cell data is received with the request signal.

다음에, 패킷 전송 모듈(108)에서는 셀 수신 블록(114)으로부터 셀 데이터 수신을 위한 요청 신호가 인가될 때 수신 모드를 위한 인터럽트를 발생하라는 지령 신호(즉, 인터럽트 핀의 시그날을 액티브시키라는 지령)를 발생하여 슬레이브 로직 블록(102)으로 제공함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그를 셋팅, 예를들면 전송 모드일 때 플래그용 비트를“1”로 셋팅하고, 수신 모드일 때 플래그용 비트를“0”으로 셋팅시킨다.Next, the packet transmission module 108 instructs the command signal to generate an interrupt for the reception mode (i.e., activate the signal of the interrupt pin) when the request signal for cell data reception from the cell reception block 114 is applied. Is generated and provided to the slave logic block 102, and at the same time, the flag for distinguishing the interrupt type is set in the memory control block 104, for example, the flag bit is set to "1" in the transmit mode, and the receive mode is set. Set the flag bit to "0".

따라서, 도시 생략된 호스트에서는 슬레이브 로직 블록(102)에서 라인 L11을 통해 인터럽트가 발생될 때 슬레이브 로직 블록(102)을 이용해 패킷 전송 모듈(108) 및 메모리 제어 블록(104)의 각 레지스터들(즉, 수신 시작 어드레스 레지스터, 수신 갯수 정보 레지스터, 플래그 셋팅 레지스터)을 읽어본 후에 패킷 전송 모듈(108)의 버퍼에 저장된 전달될 갯수만큼의 수신 셀 데이터를 슬레이브 로직 블록(102)의 슬레이브 기능을 이용해 패킷 전송 모듈(108)의 해당 버퍼에서 읽어와 자신의 설정된 버퍼 영역에 저장한다. 이때, 수신되어 호스트의 버퍼에 저장되는 데이터는, 예를들면 53바이트 단위로 수행될 수 있다.Accordingly, in the host not shown, each register of the packet transfer module 108 and the memory control block 104 (i.e., the slave logic block 102) is used when the interrupt is generated through the line L11 in the slave logic block 102. After receiving the start address register, the receive number information register, and the flag setting register, the number of received cell data stored in the buffer of the packet transmission module 108 is transferred using the slave function of the slave logic block 102. It reads from the corresponding buffer of the transmission module 108 and stores it in its own set buffer area. In this case, the data received and stored in the host buffer may be performed in units of 53 bytes, for example.

다음에, 상술한 바와같은 구성을 갖는 데이터 인터페이스 장치를 이용하여 본 발명에 따라 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 과정에 대하여 설명한다.Next, a process of performing a data interface between a host and an ATM network using the data interface device having the above-described configuration will be described.

먼저, 전송 모드시에 인터럽트 기법을 이용하여 데이터 전송 동작을 수행하는 과정에 대하여 설명한다.First, a process of performing a data transfer operation using an interrupt technique in the transfer mode will be described.

도 2는 본 발명의 바람직한 실시예에 따라 전송 모드시에 PCI 버스를 이용하여 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 과정을 도시한 플로우챠트이다.2 is a flowchart illustrating a process of performing a data interface between a host and an ATM network using a PCI bus in a transmission mode according to a preferred embodiment of the present invention.

도 2를 참조하면, 먼저, 로컬 메모리(106)에는 데이터의 전송에 필요한 제어 정보(예를들면, 전송하고자하는 데이터의 시작 어드레스 정보, 전송하고자하는 데이터의 갯수 정보 등)들이 슬레이브 로직 블록(102)을 통해 기저장되는 데(단계 202), 전송 모드시에 셀 전송 블록(110)에서는 메모리 중재 블록(112)의 중재를 통해 로컬 메모리(106)에 저장된 제어 정보들을 판독하여 확인, 즉 호스트 메모리의 어느 위치에서 얼마 만큼의 데이터를 가져와야하는 지를 확인한다(단계 204).Referring to FIG. 2, first, in the local memory 106, control information (eg, start address information of data to be transmitted, information on the number of data to be transmitted, etc.) necessary for data transmission are stored in a slave logic block 102. (Step 202), the cell transport block 110 reads the control information stored in the local memory 106 through mediation of the memory arbitration block 112 in the transmission mode, that is, the host memory. Determine how much data should be taken from which location (step 204).

다음에, 셀 전송 블록(110)에서는 데이터 전송에 필요한 제어 정보들을 확인한 후에 패킷 전송 모듈(108)에 그에 상응하는 데이터 전송을 요청, 즉 호스트에서 전송하고자하는 데이터의 시작 어드레스 정보 및 전송하고자하는 데이터의 갯수 정보와 함께 요청 신호를 전달하며, 전달된 정보들은 패킷 전송 모듈(108)의 전송 시작 어드레스 레지스터 및 전송 갯수 정보 레지스터에 각각 저장된다(단계 206).Next, in the cell transmission block 110, after confirming the control information necessary for data transmission, the packet transmission module 108 requests the corresponding data transmission, that is, the start address information of the data to be transmitted from the host and the data to be transmitted. A request signal is transmitted along with the number of pieces of information, which are stored in the transmission start address register and the transmission number information register of the packet transmission module 108, respectively (step 206).

그 결과, 패킷 전송 모듈(108)에서는 셀 전송 블록(110)으로부터 데이터 전송을 위한 요청 신호가 인가되면 전송 모드를 위한 인터럽트를 발생하라는 지령 신호를 발생하여 슬레이브 로직 블록(102)으로 제공함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그용 비트를“1”로 셋팅시킨다(단계 208). 따라서, 슬레이브 로직 블록(102)에서는 라인 L11을 통해 PCI 버스(S11)상에 데이터 전송을 위한 인터럽트 신호를 발생한다.As a result, when the request signal for data transmission is applied from the cell transmission block 110, the packet transmission module 108 generates a command signal to generate an interrupt for the transmission mode, and provides the command signal to the slave logic block 102 and at the same time the memory. In the control block 104, the flag bit for interrupt type classification is set to "1" (step 208). Thus, the slave logic block 102 generates an interrupt signal for data transfer on the PCI bus S11 via line L11.

다음에, 호스트에서는 PCI 버스(S11)상에 인터럽트가 발생하면, 슬레이브 로직 블록(102)을 이용해 패킷 전송 모듈(108)의 전송 시작 어드레스 레지스터 및 전송 갯수 정보 레지스터를 판독하고, 또한 메모리 제어 블록(104)의 플래그 셋팅 레지스터를 판독한 후 현재 발생된 인터럽트가 데이터 전송을 위한 인터럽트임을 인식하며(단계 210), 자신의 메모리에서 전송이 결정된 해당 데이터를 기설정된 갯수만큼 읽어내어 슬레이브 로직 블록(102)을 통해 패킷 전송 모듈(108)의 해당 버퍼에 저장한다(단계 212).Next, when an interrupt occurs on the PCI bus S11, the host reads the transfer start address register and the transfer number information register of the packet transfer module 108 using the slave logic block 102, and furthermore, the memory control block ( After reading the flag setting register of 104, it recognizes that the interrupt currently generated is an interrupt for data transmission (step 210), and reads a predetermined number of corresponding data whose transmission is determined from its own memory, and then slave logic block 102. Via the corresponding buffer of the packet transfer module 108 (step 212).

그런다음, 패킷 전송 모듈(108)의 버퍼에 저장되는 데이터들은 셀 전송 블록(110)으로 전달되는 데, 셀 전송 블록(110)에서는 프로토콜에 마추어 셀 데이터 단위로 기설정된 5바이트의 헤더 정보를 부가한 다음 도시 생략된 ATM 네트워크로 전송하게 된다(단계 214).Then, the data stored in the buffer of the packet transmission module 108 is transferred to the cell transport block 110, in which the header information of 5 bytes preset in the cell data unit is added to the protocol. And then to an ATM network, not shown (step 214).

따라서, 상술한 바와같은 인터럽트 기법을 이용하는 데이터 전송 모드의 실행을 통해 원격지의 다른 호스트로 데이터를 전송하기 위한 호스트와 ATM 네트워크간의 데이터 인터페이스가 이루어진다.Therefore, a data interface between a host and an ATM network for transmitting data to another remote host is performed by executing the data transfer mode using the interrupt technique as described above.

다음에, 수신 모드시에 인터럽트 기법을 이용하여 데이터 수신 동작을 수행하는 과정에 대하여 설명한다.Next, a process of performing a data reception operation using an interrupt technique in the reception mode will be described.

도 3은 본 발명의 바람직한 실시예에 따라 수신 모드시에 PCI 버스를 이용하여 호스트와 ATM 네트워크간에 데이터 인터페이스를 수행하는 과정을 도시한 플로우챠트이다.3 is a flowchart illustrating a process of performing a data interface between a host and an ATM network using a PCI bus in a reception mode according to a preferred embodiment of the present invention.

도 3을 참조하면, 셀 수신 블록(114)에서는 ATM 네트워크로부터 셀 데이터가 도착하면 수신된 셀의 헤더 정보를 읽고, 메모리 중재 블록(112)의 사용 승인을 통해 이와 연관된 채널의 해당 제어 정보와 호스트의 메모리에 대한 정보를 로컬 메모리(106)로부터 판독하며, 이 판독된 제어 정보에 의거하여 수신된 셀 데이터의 헤더 정보를 분석한다(단계 302).Referring to FIG. 3, the cell reception block 114 reads header information of a received cell when cell data arrives from an ATM network, and receives corresponding control information and a host of a channel associated with the same through a memory arbitration block 112. Information about the memory of the data is read from the local memory 106, and the header information of the received cell data is analyzed based on the read control information (step 302).

다음에, 셀 수신 블록(114)에서는 분석된 셀 데이터의 헤더 정보를 제거한 후 수신 데이터를 읽어갈 것을 패킷 전송 모듈(108)로 요청한다. 이때, 패킷 전송 모듈(108)로 제공되는 요청 신호는 수신된 데이터가 저장되어야 할 호스트내 버퍼의 시작 어드레스 정보와 현재 전달할 데이터의 갯수 정보를 포함한다(단계 304).Next, the cell receiving block 114 requests the packet transmission module 108 to read the received data after removing the header information of the analyzed cell data. At this time, the request signal provided to the packet transmission module 108 includes start address information of the buffer in the host where the received data is to be stored and information on the number of data to be transmitted (step 304).

따라서, 패킷 전송 모듈(108)에서는 셀 데이터 수신을 위한 요청 신호가 인가되면, 수신 시작 어드레스 레지스터 및 수신 데이터 갯수 정보 레지스터에 시작 어드레스 정보와 현재 전달할 데이터의 갯수 정보를 각각 저장한 다음, 수신 모드를 위한 인터럽트를 발생하라는 지령 신호를 슬레이브 로직 블록(102)으로 발생함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그용 비트를“0”으로 셋팅시킨다(단계 306). 그 결과, 슬레이브 로직 블록(102)에서는 라인 L11을 통해 PCI 버스(S11)상에 데이터 수신을 위한 인터럽트 신호를 발생한다.Therefore, when the request signal for receiving cell data is applied, the packet transmission module 108 stores the start address information and the number of data to be transmitted currently in the reception start address register and the reception data number information register, respectively, A command signal for generating an interrupt for the control signal is generated to the slave logic block 102 and the flag bit for classifying the interrupt type is set to "0" in the memory control block 104 (step 306). As a result, the slave logic block 102 generates an interrupt signal for receiving data on the PCI bus S11 via the line L11.

한편, 호스트에서는 PCI 버스(S11)상에 인터럽트가 발생하면, 슬레이브 로직 블록(102)을 이용해 패킷 전송 모듈(108)의 수신 시작 어드레스 레지스터 및 수신 갯수 정보 레지스터를 판독하고, 또한 메모리 제어 블록(104)의 플래그 셋팅 레지스터를 판독한 후 현재 발생된 인터럽트가 데이터 수신을 위한 인터럽트임을 인식한다(단계 308).On the other hand, when an interrupt occurs on the PCI bus S11, the host reads the reception start address register and the reception number information register of the packet transfer module 108 using the slave logic block 102, and further, the memory control block 104. After reading the flag setting register (), it is recognized that the currently generated interrupt is an interrupt for receiving data (step 308).

그 결과, 호스트에서는 슬레이브 로직 블록(102)의 슬레이브 기능을 통해 패킷 전송 모듈(108)의 버퍼에 저장된 수신 데이터들을 읽어오며(단계 310), 이와같이 읽어온 데이터들은 자신의 해당 버퍼 영역에 저장된다(단계 312).As a result, the host reads the received data stored in the buffer of the packet transfer module 108 through the slave function of the slave logic block 102 (step 310), and the read data is stored in its corresponding buffer area (step 310). Step 312).

따라서, 상술한 바와같은 인터럽트 기법을 이용하는 데이터 수신 모드의 실행을 통해 원격지의 다른 호스트로부터 ATM 네트워크를 통해 수신되는 셀 데이터들을 자신의 기설정된 버퍼 영역에 저장하는 호스트와 ATM 네트워크간의 데이터 인터페이스가 이루어진다.Therefore, the data interface between the host and the ATM network, which stores cell data received from another remote host via the ATM network in its own predetermined buffer area, is executed by executing the data reception mode using the interrupt scheme as described above.

이상 설명한 바와같이 본 발명에 따르면, 종래 방법에서와 같이 PCI 버스를 이용하는 호스트와 ATM 네트워크간의 데이터 인터페이스시에 필요한 PCI 모듈을 큰 하드웨어 구성을 갖는 마스터 로직 블록과 슬레이브 로직 블록으로 구성하지 않고, 슬레이브 로직 블록만을 채용하는 인터럽트 기법에 의거하여 PCI 버스를 이용하는 호스트에서 ATM 네트워크로의 데이터 전송을 구현하고, 또한 ATM 네트워크를 통한 호스트로의 데이터 수신을 구현함으로써, PCI 버스를 이용하는 호스트와 ATM 네트워크간의 데이터 인터페이스 시스템의 경박단소화를 실현할 수 있을 뿐만 아니라 전체 시스템의 제조 비용을 효과적으로 억제할 수 있다.As described above, according to the present invention, as in the conventional method, the slave module does not comprise a master logic block and a slave logic block having a large hardware configuration of a PCI module necessary for data interface between a host and an ATM network using a PCI bus. Data interface between a host using an PCI bus and an ATM network by implementing data transmission from a host using a PCI bus to an ATM network based on an interrupt scheme employing a block only, and also receiving data from the host through an ATM network. Not only can the system be made light and small, but the manufacturing cost of the entire system can be effectively suppressed.

Claims (2)

데이터 인터페이스를 위해 PCI 버스를 통해 호스트와 연결된 슬레이브 로직 블록, 데이터 전송 또는 수신을 위한 제어 정보들을 저장하는 로컬 메모리, 전송 모드시에 데이터를 ATM 네트워크로 기설정된 N 바이트 단위의 셀 데이터를 전송하는 셀 전송 블록 및 수신 모드시에 상기 ATM 네트워크를 통해 기설정된 N 바이트 단위의 셀 데이터를 수신하는 셀 수신 블록을 포함하는 데이터 인터페이스 장치에서 PCI 버스를 이용하여 데이터를 인터페이스하는 방법에 있어서,Slave logic block connected to host through PCI bus for data interface, local memory for storing control information for data transmission or reception, cell for transmitting data of predetermined N bytes of cell data to ATM network in transmission mode A method of interfacing data using a PCI bus in a data interface device including a transmission block and a cell reception block configured to receive cell data of a predetermined N-byte unit through the ATM network in a reception mode. 상기 호스트가 상기 로컬 메모리에 전송에 관련된 채널의 제어 정보를 기록하는 과정;Recording, by the host, control information of a channel related to transmission in the local memory; 상기 로컬 메모리를 탐색하여 전송하고자하는 데이터의 상기 호스트 메모리내 시작 어드레스 정보와 전송될 데이터의 갯수 정보를 판독하여 각 레지스터에 저장하고, 전송 모드를 위한 레지스터의 플래그를 셋팅하는 과정;Searching for the local memory, reading start address information in the host memory and information on the number of data to be transmitted, storing the data in each register, and setting a flag of a register for a transfer mode; 상기 슬레이브 로직 블록을 통해 상기 PCI 버스상에 인터럽트 신호를 발생하는 과정;Generating an interrupt signal on the PCI bus via the slave logic block; 상기 인터럽트 신호가 발생되면, 상기 각 레지스터의 내용을 판독하여 상기 발생된 인터럽트의 종류를 전송 인터럽트로 인식하고, 상기 전송 시작 어드레스를 시작점으로하여 전송하고자하는 저장 데이터를 인출하여 상기 PCI 버스상에 실은 다음 슬레이브 기능을 이용하여 인출된 데이터를 상기 셀 전송 블록으로 제공하는 과정; 및When the interrupt signal is generated, the contents of the registers are read to recognize the type of the generated interrupt as a transmission interrupt, and the stored data to be transmitted are retrieved from the transmission start address as a starting point and loaded on the PCI bus. Providing fetched data to the cell transport block by using a next slave function; And 상기 인출된 데이터에 n 바이트의 헤더 정보를 부가하여 N 바이트의 셀 단위로 상기 ATM 네트워크로 전송하는 과정으로 이루어진 PCI 버스를 이용한 데이터 인터페이스 방법.And n-byte header information is added to the extracted data to transmit the N-byte cell information to the ATM network. 데이터 인터페이스를 위해 PCI 버스를 통해 호스트와 연결된 슬레이브 로직 블록, 데이터 전송 또는 수신을 위한 제어 정보들을 저장하는 로컬 메모리, 전송 모드시에 데이터를 ATM 네트워크로 기설정된 N 바이트 단위의 셀 데이터를 전송하는 셀 전송 블록 및 수신 모드시에 상기 ATM 네트워크를 통해 기설정된 N 바이트 단위의 셀 데이터를 수신하는 셀 수신 블록을 포함하는 데이터 인터페이스 장치에서 PCI 버스를 이용하여 데이터를 인터페이스하는 방법에 있어서,Slave logic block connected to host through PCI bus for data interface, local memory for storing control information for data transmission or reception, cell for transmitting data of predetermined N bytes of cell data to ATM network in transmission mode A method of interfacing data using a PCI bus in a data interface device including a transmission block and a cell reception block configured to receive cell data of a predetermined N-byte unit through the ATM network in a reception mode. 상기 호스트가 상기 로컬 메모리에 수신에 관련된 채널의 제어 정보를 기록하는 과정;Recording, by the host, control information of a channel related to reception in the local memory; 상기 ATM 네트워크를 통해 상기 셀 수신 블록에 셀 데이터가 수신되면, 수신된 셀 데이터의 헤더 정보를 읽고 상기 로컬 메모리를 탐색하여 수신 데이터와 관련된 채널의 제어 정보에 의거하여 상기 수신 데이터의 헤더 정보를 분석하는 과정;When cell data is received in the cell receiving block through the ATM network, the header information of the received cell data is read, the local memory is searched, and the header information of the received data is analyzed based on control information of a channel related to the received data. Process of doing; 상기 호스트 메모리에 대한 제어 정보를 상기 로컬 메모리에서 인출하여 각 레지스터에 저장하고, 수신 모드를 위한 레지스터의 플래그를 셋팅하는 과정;Extracting control information of the host memory from the local memory and storing the control information in each register and setting a flag of a register for a reception mode; 상기 슬레이브 로직 블록을 통해 상기 PCI 버스상에 인터럽트 신호를 발생하는 과정;Generating an interrupt signal on the PCI bus via the slave logic block; 상기 인터럽트 신호가 발생되면, 상기 호스트가 상기 각 레지스터의 내용을 판독하여 상기 발생된 인터럽트의 종류를 수신 인터럽트로 인식하고, 상기 수신된 데이터가 저장될 상기 호스트내 메모리 위치 및 수신될 데이터 갯수를 파악하는 과정; 및When the interrupt signal is generated, the host reads the contents of each register to recognize the generated interrupt type as a reception interrupt, and grasps the memory location in the host where the received data is to be stored and the number of data to be received. Process of doing; And 상기 슬레이브 로직 블록을 이용하여 상기 수신된 데이터를 상기 PCI 버스상에 읽어들여 상기 호스트의 해당 메모리 위치에 저장하는 과정으로 이루어진 PCI 버스를 이용한 데이터 인터페이스 방법.And reading the received data onto the PCI bus using the slave logic block and storing the received data in a corresponding memory location of the host.
KR1019970081622A 1997-12-31 1997-12-31 Data interface method using pci bus KR100261887B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970081622A KR100261887B1 (en) 1997-12-31 1997-12-31 Data interface method using pci bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970081622A KR100261887B1 (en) 1997-12-31 1997-12-31 Data interface method using pci bus

Publications (2)

Publication Number Publication Date
KR19990061363A KR19990061363A (en) 1999-07-26
KR100261887B1 true KR100261887B1 (en) 2000-07-15

Family

ID=19530614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970081622A KR100261887B1 (en) 1997-12-31 1997-12-31 Data interface method using pci bus

Country Status (1)

Country Link
KR (1) KR100261887B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397124B1 (en) * 2001-12-27 2003-09-06 엘지전자 주식회사 Between Boards Message Handling System and Method

Also Published As

Publication number Publication date
KR19990061363A (en) 1999-07-26

Similar Documents

Publication Publication Date Title
US5848293A (en) Method and apparatus for transmission and processing of virtual commands
US5530902A (en) Data packet switching system having DMA controller, service arbiter, buffer type managers, and buffer managers for managing data transfer to provide less processor intervention
EP0479478B1 (en) Communications network arranged to transport connection oriented and connectionless messages
US7609718B2 (en) Packet data service over hyper transport link(s)
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
US7076569B1 (en) Embedded channel adapter having transport layer configured for prioritizing selection of work descriptors based on respective virtual lane priorities
US5752076A (en) Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US7069373B2 (en) USB endpoint controller flexible memory management
CA1223326A (en) Data network interface
US7403525B2 (en) Efficient routing of packet data in a scalable processing resource
EP0774717A1 (en) Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
US7315542B2 (en) Handling and discarding packets in a switching subnetwork
JP2002503914A (en) Method and apparatus for establishing a dynamic ESCON connection from a Fiber Channel frame
CN111930676A (en) Method, device, system and storage medium for communication among multiple processors
US6788700B1 (en) Interfacing between a network interface and a bus
US6101553A (en) Communication network end station and adaptor card therefor eliminating on-board storage of operating control code in adaptor card
US20030065735A1 (en) Method and apparatus for transferring packets via a network
US20040028053A1 (en) Direct memory access circuit with ATM support
KR100261887B1 (en) Data interface method using pci bus
US7113518B2 (en) Processor with reduced memory requirements for high-speed routing and switching of packets
US20030126342A1 (en) System to optimally order cycles originating from a single physical link
KR0153924B1 (en) Packet data dividing/reassembling apparatus and method for aal-5 service
JPH07111507A (en) Data reception system and communication controller
EP1222753A1 (en) Parallel bus communications over a packet-switching fabric
EP0344915B1 (en) Apparatus and method for processing bit streams

Legal Events

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

Payment date: 20030424

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee