KR100261887B1 - Data interface method using pci bus - Google Patents
Data interface method using pci bus Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
Abstract
Description
본 발명은 호스트 버스를 사용하여 네트워크 인터페이스를 수행하는 방법에 관한 것으로, 더욱 상세하게는 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
도 4를 참조하면, 마스터 로직 블록(4021)은 PCI 버스(S41)에 버스 점유 요청신호를 인가하여 허가를 얻은 후에 PCI 버스(S41)상에 데이터의 전송 동작을 수행하는 것으로, 전송 모드시에 PCI 버스(S41)를 통해 호스트로부터 제공되는 셀 데이터를 패킷 전송 모듈(408)로 전달하고, 수신 모드시에 패킷 전송 모듈(408)로부터 제공되는 수신 셀 데이터를 PCI 버스(S41)를 통해 도시 생략된 호스트(예를들면, PC 등)의 해당 메모리 영역(즉, 지정된 영역)으로 전달한다.Referring to FIG. 4, the
또한, 슬레이브 로직 블록(4023)은 PCI 버스(S41)상의 신호를 항상 감시하고 있다가 자신이 할당받은 어드레스 영역에 읽기 또는 쓰기 동작을 수행하는 신호를 받게 되면 PCI 버스(S41)상에 인가된 명령에 따라 자신의 영역에서 데이터를 PCI 버스(S41)에 내어 놓거나 PCI 버스(S41)상의 데이터를 자신의 영역에 저장하는 기능을 수행하는 것으로, 이를 위하여 메모리 제어 블록(404)의 동작을 제어하고, 또한 호스트에서 전송하고자하는 셀 및 채널에 대한 정보를 로컬 메모리(406)에 저장한다.In addition, the
다음에, 메모리 제어 블록(404)에서는 상기한 슬레이브 로직 블록(4023)으로부터의 제어에 따라 셀 전송 블록(410), 셀 수신 블록(414) 및 로컬 메모리(406)에서의 데이터 판독 및 기록을 수행한다. 이때, 로컬 메모리(406)에는 전송 모드시에 전송하고자하는 데이터의 크기 및 위치 정보가 저장되며, 또한 수신 모드시에 수신된 셀의 헤더 정보에서 분석한 제어 정보와 호스트의 버퍼에 대한 정보(즉, 수신된 셀 데이터를 저장하기 위한 호스트측 버퍼의 위치 정보 등)가 저장된다.Next, the
한편, 패킷 전송 모듈(408)은 마스터 로직 블록(4021)을 통해 PCI 버스(S41)의 사용 허가를 얻은 후에 지정된 위치(즉, 호스트에서 전송하고자하는 데이터의 위치)에서 전송하고자하는 데이터를 읽어와 셀 전송 블록(410)으로 전달하거나 또는 셀 수신 블록(414)으로부터 제공되는 수신 셀 데이터를 호스트의 지정된 위치로 전달하여 저장한다.On the other hand, the
이때, 전송하고자하는 데이터의 지정된 위치 및 크기 정보와 수신된 데이터가 저장될 지정된 위치 및 크기 정보는 로컬 메모리(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
다른한편, 셀 전송 블록(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
또한, 셀 전송 블록(410)은 로컬 메모리(406)를 사용할 때 메모리 중재 블록(412)에 중재를 요청하며, 메모리 중재 블록(412)으로부터 로컬 메모리(406)의 사용이 승인되면 제어 정보 판독을 위해 로컬 메모리(406)를 탐색하며, 그 탐색 결과에 의거하여 호스트 메모리의 어느 위치에서 데이터를 가져와야 할 것인지를 확인하고, 그 확인 결과에 따라 패킷 전송 모듈(408)로 전송할 데이터의 전달을 요청한다. 이때, 패킷 전송 모듈(408)로 제공되는 요청 신호는 전송하고자하는 데이터의 시작 어드레스와 데이터의 갯수 정보를 포함한다.In addition, the
여기에서, 헤더 정보내 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
이때, 요청 신호는 수신된 데이터가 저장되어야 할 버퍼의 시작 어드레스, 현재 전달한 데이터의 갯수 및 전달 요청 신호를 포함한다. 또한, 셀 수신 블록(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
또한, 메모리 제어 블록(404), 로컬 메모리(406), 셀 전송 블록(410), 셀 수신 블록(414) 및 메모리 중재 블록(412)은 로컬 메모리 버스(S42)를 통해 서로 유기적으로 연결되고, 또한 로컬 메모리(406)는 호스트, 셀 전송 블록(410) 및 셀 수신 블록(414)이 공유하는 형태로 구성되며, 메모리 중재 블록(412)에서는 각 구성부재들로부터의 메모리 요청에 의거하여 로컬 메모리(406) 사용을 중재한다.In addition, the
즉, 상술한 바와같은 구성을 갖는 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
그러나, 전송 모드 또는 수신 모드시에 버스 점유 허가를 요청하는 기능을 수행하는 마스터 로직 블록(4021)이 슬레이브 로직 블록(4023)에 비해 상대적으로 대단히 큰 로직 구성을 갖기 때문에, 이들 블록(4021, 4023)을 하드웨어로 구현할 경우 대단히 큰 영역을 차지하게 된다는 문제가 있다.However, since the
즉, 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
도 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
이때, 패킷 전송 모듈(108)은 전송 시작 어드레스 레지스터와 전송 갯수 정보 레지스터를 포함하고, 수신 시작 어드레스 레지스터, 수신 갯수 정보 레지스터 및 수신 셀 상태 레지스터를 포함하며, 이러한 패킷 전송 모듈(108)내의 전송 시작 어드레스 레지스터에는 전송 모드시에 셀 전송 블록(110)으로부터 제공되는 호스트에서 전송할 데이터의 시작 어드레스가 저장되고, 전송 갯수 정보 레지스터에는 전송 모드시에 셀 전송 블록(110)으로부터 제공되는 전송을 위해 호스트에서 읽어와야 할 데이터의 갯수 정보가 저장된다. 여기에서, 수신 셀 상태 레지스터에는 수신된 셀 데이터의 에러 여부, 현재의 망 상태 등에 대한 정보가 저장된다.At this time, the
즉, 셀 전송 블록(110)에서는 전송 모드시에 로컬 메모리(106)에서 제어 정보들을 읽어 호스트 메모리의 어느 위치에서 얼마 만큼의 데이터를 가져와야하는 지를 확인한 후에 패킷 전송 모듈(108)에 데이터 전송을 요청하는 데, 이러한 요청시에 전달되는 데이터는 전송하고자하는 데이터의 시작 어드레스(즉, 호스트 메모리의 전송 데이터 시작 어드레스), 전송을 위해 읽어와야 할 데이터 갯수 및 요청 신호를 포함한다.That is, the
이때, 로컬 메모리(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
따라서, 도시 생략된 호스트에서는 슬레이브 로직 블록(102)에서 라인 L11을 통해 인터럽트가 발생될 때 슬레이브 로직 블록(102)을 이용해 패킷 전송 모듈(108) 및 메모리 제어 블록(104)의 각 레지스터들(즉, 전송 시작 어드레스 레지스터, 전송 갯수 정보 레지스터, 플래그 셋팅 레지스터)을 읽어본 후에 해당 어드레스에서 해당 데이터를 결정된 갯수만큼 슬레이브 로직 블록(102)의 슬레이브 기능을 이용해 패킷 전송 모듈(108)의 해당 버퍼에 저장한다. 이때, 전송을 위해 버퍼에 저장되는 데이터는, 예를들면 53바이트 단위로 수행될 수 있다.Accordingly, in the host not shown, each register of the
그 결과, 셀 전송 블록(110)에서는 패킷 전송 모듈(108)로부터 제공되는 데이터를 셀 단위로하여 헤더 정보(5바이트)를 부가하여 도시 생략된 ATM 네트워크로 전송하게 된다.As a result, the
한편, 패킷 전송 모듈(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
다음에, 패킷 전송 모듈(108)에서는 셀 수신 블록(114)으로부터 셀 데이터 수신을 위한 요청 신호가 인가될 때 수신 모드를 위한 인터럽트를 발생하라는 지령 신호(즉, 인터럽트 핀의 시그날을 액티브시키라는 지령)를 발생하여 슬레이브 로직 블록(102)으로 제공함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그를 셋팅, 예를들면 전송 모드일 때 플래그용 비트를“1”로 셋팅하고, 수신 모드일 때 플래그용 비트를“0”으로 셋팅시킨다.Next, the
따라서, 도시 생략된 호스트에서는 슬레이브 로직 블록(102)에서 라인 L11을 통해 인터럽트가 발생될 때 슬레이브 로직 블록(102)을 이용해 패킷 전송 모듈(108) 및 메모리 제어 블록(104)의 각 레지스터들(즉, 수신 시작 어드레스 레지스터, 수신 갯수 정보 레지스터, 플래그 셋팅 레지스터)을 읽어본 후에 패킷 전송 모듈(108)의 버퍼에 저장된 전달될 갯수만큼의 수신 셀 데이터를 슬레이브 로직 블록(102)의 슬레이브 기능을 이용해 패킷 전송 모듈(108)의 해당 버퍼에서 읽어와 자신의 설정된 버퍼 영역에 저장한다. 이때, 수신되어 호스트의 버퍼에 저장되는 데이터는, 예를들면 53바이트 단위로 수행될 수 있다.Accordingly, in the host not shown, each register of the
다음에, 상술한 바와같은 구성을 갖는 데이터 인터페이스 장치를 이용하여 본 발명에 따라 호스트와 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
다음에, 셀 전송 블록(110)에서는 데이터 전송에 필요한 제어 정보들을 확인한 후에 패킷 전송 모듈(108)에 그에 상응하는 데이터 전송을 요청, 즉 호스트에서 전송하고자하는 데이터의 시작 어드레스 정보 및 전송하고자하는 데이터의 갯수 정보와 함께 요청 신호를 전달하며, 전달된 정보들은 패킷 전송 모듈(108)의 전송 시작 어드레스 레지스터 및 전송 갯수 정보 레지스터에 각각 저장된다(단계 206).Next, in the
그 결과, 패킷 전송 모듈(108)에서는 셀 전송 블록(110)으로부터 데이터 전송을 위한 요청 신호가 인가되면 전송 모드를 위한 인터럽트를 발생하라는 지령 신호를 발생하여 슬레이브 로직 블록(102)으로 제공함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그용 비트를“1”로 셋팅시킨다(단계 208). 따라서, 슬레이브 로직 블록(102)에서는 라인 L11을 통해 PCI 버스(S11)상에 데이터 전송을 위한 인터럽트 신호를 발생한다.As a result, when the request signal for data transmission is applied from the
다음에, 호스트에서는 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
그런다음, 패킷 전송 모듈(108)의 버퍼에 저장되는 데이터들은 셀 전송 블록(110)으로 전달되는 데, 셀 전송 블록(110)에서는 프로토콜에 마추어 셀 데이터 단위로 기설정된 5바이트의 헤더 정보를 부가한 다음 도시 생략된 ATM 네트워크로 전송하게 된다(단계 214).Then, the data stored in the buffer of the
따라서, 상술한 바와같은 인터럽트 기법을 이용하는 데이터 전송 모드의 실행을 통해 원격지의 다른 호스트로 데이터를 전송하기 위한 호스트와 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
다음에, 셀 수신 블록(114)에서는 분석된 셀 데이터의 헤더 정보를 제거한 후 수신 데이터를 읽어갈 것을 패킷 전송 모듈(108)로 요청한다. 이때, 패킷 전송 모듈(108)로 제공되는 요청 신호는 수신된 데이터가 저장되어야 할 호스트내 버퍼의 시작 어드레스 정보와 현재 전달할 데이터의 갯수 정보를 포함한다(단계 304).Next, the
따라서, 패킷 전송 모듈(108)에서는 셀 데이터 수신을 위한 요청 신호가 인가되면, 수신 시작 어드레스 레지스터 및 수신 데이터 갯수 정보 레지스터에 시작 어드레스 정보와 현재 전달할 데이터의 갯수 정보를 각각 저장한 다음, 수신 모드를 위한 인터럽트를 발생하라는 지령 신호를 슬레이브 로직 블록(102)으로 발생함과 동시에 메모리 제어 블록(104)에서 인터럽트 종류 구분을 위한 플래그용 비트를“0”으로 셋팅시킨다(단계 306). 그 결과, 슬레이브 로직 블록(102)에서는 라인 L11을 통해 PCI 버스(S11)상에 데이터 수신을 위한 인터럽트 신호를 발생한다.Therefore, when the request signal for receiving cell data is applied, the
한편, 호스트에서는 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
그 결과, 호스트에서는 슬레이브 로직 블록(102)의 슬레이브 기능을 통해 패킷 전송 모듈(108)의 버퍼에 저장된 수신 데이터들을 읽어오며(단계 310), 이와같이 읽어온 데이터들은 자신의 해당 버퍼 영역에 저장된다(단계 312).As a result, the host reads the received data stored in the buffer of the
따라서, 상술한 바와같은 인터럽트 기법을 이용하는 데이터 수신 모드의 실행을 통해 원격지의 다른 호스트로부터 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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100397124B1 (en) * | 2001-12-27 | 2003-09-06 | 엘지전자 주식회사 | Between Boards Message Handling System and Method |
-
1997
- 1997-12-31 KR KR1019970081622A patent/KR100261887B1/en not_active IP Right Cessation
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 |