KR100231707B1 - 통신 장비의 디엠에이 처리 방법 및 그 장치 - Google Patents

통신 장비의 디엠에이 처리 방법 및 그 장치 Download PDF

Info

Publication number
KR100231707B1
KR100231707B1 KR1019970037246A KR19970037246A KR100231707B1 KR 100231707 B1 KR100231707 B1 KR 100231707B1 KR 1019970037246 A KR1019970037246 A KR 1019970037246A KR 19970037246 A KR19970037246 A KR 19970037246A KR 100231707 B1 KR100231707 B1 KR 100231707B1
Authority
KR
South Korea
Prior art keywords
main memory
information
communication device
address
communication
Prior art date
Application number
KR1019970037246A
Other languages
English (en)
Other versions
KR19990015263A (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 KR1019970037246A priority Critical patent/KR100231707B1/ko
Priority to US09/007,818 priority patent/US6058437A/en
Publication of KR19990015263A publication Critical patent/KR19990015263A/ko
Application granted granted Critical
Publication of KR100231707B1 publication Critical patent/KR100231707B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 통신장비의 DMA 처리장치 및 그 방법에 관한 것으로서, 임의의 프로세스가 즉시 사용할 수 있도록 할당된 영역과 상기 영역을 전담해서 관리하는 데몬 프로세스를 포함하는 주기억장치와, 통신에 관여하는 프로세스들의 통신 관련 정보를 저장한 큐와 상기 프로세스들을 위해 할당된 주기억장치내의 물리적 주소를 저장하며 상기 주기억장치 내에 할당된 즉시 사용 가능한 영역의 주소를 관리하는 임의 프로세스 레코드를 포함하는 관리 테이블을 포함하는 통신장비를 구비하여, 상기 통신장비가 외부로부터 임의의 목적 프로세스가 관리해야 할 정보를 수신하고, 상기 큐의 정보를 참조하여 상기 관리 테이블을 검색한 결과 상기 목적 프로세스를 위해 할당된 주기억장치내의 물리적 주소 정보가 없는 경우에 통신장비는 상기 관리 테이블내에 포함된 임의 프로세스 레코드를 검색하고, 상기 임의 프로세스 레코드에서 관리하는 주기억장치의 주소로 통신장비가 직접 액세스하여 상기 수신 정보를 저장함으로써, 메시지의 수신 과정에서 발생할 수 있는 TLB 적중실패를 방지하여, 통신 속도 및 성능을 저하 시키는 메시지의 재 전송을 없앨 수 있다.

Description

통신장비의 디엠에이 처리방법 및 그 장치{The Maintenance Method and Apparatus of DMA Information on Network Interface}
본 발명은 통신장비의 DMA(Direct Memory Access) 처리장치 및 그 방법에 관한 것으로서, 근거리 통신 망에서 통신장비의 DMA 정보 부재로 인해 발생하는 메시지의 재 전송을 최대한 줄이기 위한 통신장비의 DMA 처리장치 및 그 방법에 관한 것이다.
일반적으로 고속의 사용자 수준 네트워크는 통신장비에서 사용자 공간으로 직접 메시지를 전달하는 방법(DMA:Direct Memory Access)을 사용한다. 이를 위해서 통신장비는 사용자 프로세스의 프로세스 고유번호(ID)와 메시지가 저장될 공간의 가상 주소, 그리고 이 두 정보에 대응하는 주기억장치의 물리적 주소를 테이블 형태로 보관하고 있으며, 이를 통신장비의 TLB(Translation Look-aside Buffer)라고 한다. 이와 같이 구성된 통신장비가 임의의 메시지를 수신하면, 자신의 TLB를 검색해서 주기억장치의 물리 주소를 얻고, 상기 물리 주소가 가리키는 주기억장치로 메시지를 DMA한다.
이하, 첨부된 도면을 참조하여 종래의 통신장비의 DMA 처리방법을 좀 더 상세히 설명한다.
도 1은 통신장비와 주기억장치간 DMA 처리를 위한 구성도이고, 도 2는 종래의 통신장비와 주기억장치간 DMA 처리에 대한 흐름도이다.
도 1을 참조하면, 통신장비(102)와 주기억장치(101)는 시스템 버스를 통해 정보를 송수신하며, 상기 주기억장치(101)는 각 프로세스별로 임의의 프로세스에게 일정 영역(104)을 할당한다.
이 때, 상기 통신장비(102)의 각종 정보를 저장하는 메모리(103)는 통신장비(102)를 통해 전송할 메시지의 크기와 가상 주소를 갖는 전송큐(105)와, 상기 통신장비(102)로 도착되는 메시지가 저장될 공간에 대한 정보를 갖는 수신 버퍼 예약 큐(106)를 포함하며, 각 프로세스별로 임의의 프로세스에게 할당된 주기억장치의 영역(104)은 상기 통신장비(102)를 통해 도착된 메시지가 저장된 공간에 대한 정보를 갖는 수신큐(107)와, 상기 통신장비(102)를 통해 전송할 메시지가 저장된 전송 버퍼(108)와, 상기 통신장비(102)를 통해 도착할 메시지가 저장될 프리 버퍼(109)와, 상기 통신장비(102)를 통해 도착한 메시지가 저장된 수신 버퍼(110)를 포함한다.
이 때, 상기 전송큐(105)와 수신 버퍼 예약 큐(106)에는 프로세스 ID, 버퍼의 시작 주소(가상 주소), 크기가 저장되고, 수신큐(107)에는 시작 주소(가상 주소)와, 크기가 저장된다.
도 2에는 상기와 같은 통신장비(103)의 좀 더 구체적인 내용 및 통신장비(103)와 주기억장치(101)간 DMA 처리에 대한 흐름 과정이 나타나 있다.
도 2를 참조하면, 상기 통신장비(103)는 통신장비 TLB(Translation Look- aside Buffer)(201)와, 외부에서 입력되는 메시지를 처리하고 관리하기 위한 프로세스에 대한 정보를 저장하는 큐(202)로 구성되어 있고, 상기 통신장비(103)와 주기억장치(101)간 DMA 처리를 돕기 위한 커널(205)이 통신장비(103)외부에 설치되어 있다. 상기 통신장비 TLB(201)에는 상기 통신 관련 프로세스들에 대한 프로세스 ID 및 가상 주소(P1.V_addr, P2.V_addr, P1.V_addr, …, P7.V_addr)와 주기억장치에 대한 물리적 주소(phypage frame #)가 저장되어 있다.
이 때, 상기 큐(202)로 임의의 프로세스(P1)를 위한 메시지(203)가 입력되면(S201), 상기 통신장비(103)는 큐(202)에서 상기 프로세스(P1)의 ID와 메시지를 저장하기 위해 할당해 놓은 주기억장치 페이지의 가상 주소를 찾고, 이를 키로해서 상기 통신장비 TLB(201)를 검색한 후 주기억장치 페이지의 물리적 주소를 얻어낸 다음(TLB 히트)(S202), 그 주소의 주기억장치 페이지로 직접 액세스하여(DMA) (S203), 입력된 메시지(203)를 저장한다.
이와 같은 작업은 모두 통신장비의 프로세서에 의해 일어나는 과정이므로 많은 시간을 소비하지 않고 진행될 수 있으며, 도착하는 메시지들을 분실하지 않고 수행할 수 있다.
그러나, 프로세스 Pn에게 가는 메시지(204)가 통신장비로 입력된 경우(S204)는 상기 큐(202)를 거쳐 통신장비의 TLB(201)에서 물리 주소(203)를 찾는 과정에서 상기 프로세스 Pn을 위한 TLB의 내용이 없으므로, TLB 적중실패(TLB미스)(S205)가 발생하게 된다. 이 경우 상기 통신장비(103)는 커널(205)에게 TLB 적중실패 처리를 요구(S206)해야 한다. 그런데, 이와 같이 커널에서 처리 루틴을 수행할 경우에는 적지않은 시간을 소비하게 되고 결과적으로 도착한 메시지(206)를 잃어버리게 된다. 이는 메시지의 재 전송을 필요로 하게 되고, 네트워크 성능을 크게 저하시키는 원인이 된다.
즉, 현재까지의 기술에서는 도착하는 메시지가 최종 도달해야 할 프로세스의 주기억장치 페이지 정보가 항상 통신장비의 TLB에 있다는 보장을 할 수 없다. 그러므로, 상기와 같은 TLB 적중실패가 발생할 수 있고, 이 경우 커널의 도움을 받아 그 프로세스의 주기억장치 페이지 정보를 얻어 와야 하는데, 이 과정은 시간적 부담이 커서 통신량이 많은 경우 메시지가 손실될 수 밖에 없고, 이는 메시지의 재 전송을 초래하게 되어 통신상의 큰 부담이 되며, 이와 같은 통신장비의 주기억장치 페이지 정보 부재를 방지하고 부담을 줄이기 위해서는, TLB 적중실패가 발생할 때 데이터의 수신을 전담하는 프로세스가 필요하다.
따라서, 본 발명에서는 상기와 같은 단점을 보완하고, 통신장비의 DMA 정보 부재로 인한 재 전송을 없앰으로써 통신 성능을 향상시키기 위해, 미리 주기억장치의 페이지를 할당받고 이를 관리하는 데몬 프로세스(RDP : Receive Daemon Processor)와 주기억장치 내에서의 페이지를 교환하는 방식을 제공하고자 한다.
본 발명에서 제공하는 통신장비의 DMA 처리장치는 임의의 프로세스가 즉시 사용할 수 있도록 할당된 영역과 상기 영역을 전담해서 관리하는 데몬 프로세스를 포함하는 주기억장치와, 통신에 관여하는 프로세스들의 통신 관련 정보를 저장한 큐와 상기 프로세스들을 위해 할당된 주기억장치내의 물리적 주소를 저장하며 상기 주기억장치 내에 할당된 즉시 사용 가능한 영역의 주소를 관리하는 임의 프로세스 레코드를 포함하는 관리 테이블을 포함하는 통신장비를 구비하여, 상기 통신장비가 외부로부터 임의의 목적 프로세스가 관리해야할 정보를 수신한 경우 상기 큐에 저장된 목적 프로세스 정보에 의해 상기 관리 테이블을 검색하고, 그 결과 얻어진 주기억장치의 주소로 통신장비가 직접 액세스하여 상기 수신 정보를 저장하는 것을 특징으로 한다.
이 때, 만일 통신장비가 외부로부터 임의의 목적 프로세스가 관리해야 할 정보를 수신하고, 상기 큐의 정보를 참조하여 상기 관리 테이블을 검색한 결과 상기 목적 프로세스를 위해 할당된 주기억장치내의 물리적 주소 정보가 없는 경우 상기 통신장비는 상기 관리 테이블내에 포함된 임의 프로세스 레코드를 검색하고, 상기 임의 프로세스 레코드에서 관리하는 주기억장치의 주소로 통신장비가 직접 액세스하여 상기 수신 정보를 저장한다.
한편, 본 발명에서 제공하는 통신장비의 DMA 처리방법은 상기 통신장비가 외부로부터 임의의 목적 프로세스가 관리해야할 정보를 수신하는 제 1 단계와, 상기 제 1 단계에서 상기 목적 프로세스에 대한 통신 관련 정보를 얻기 위해 큐를 검색하는 제 2 단계와, 상기 제 2 단계에서 검색된 결과를 참조하여 상기 목적 프로세스가 관리하도록 할당된 주기억장치내의 영역에 대한 물리적 주소를 얻기 위해 상기 관리 테이블을 검색하는 제 3 단계와, 상기 제 3 단계의 검색 결과 상기 관리 테이블 내에 상기 목적 프로세스가 관리하도록 할당된 주기억장치내의 영역에 대한 물리적 주소가 저장되어 있지 않은 경우 상기 관리 테이블 내의 임의 프로세스 레코드에 저장된 주기억장치의 주소로 통신장비가 직접 액세스하여 수신 정보를 저장하고, 상기 주기억장치내의 데몬 프로세스에게 이 사실을 알리는 제 4 단계와, 상기 주기억장치내의 데몬 프로세스가 자신이 관리하는 영역에 상기 목적 프로세스가 관리해야할 정보가 있음을 인식하고, 상기 목적 프로세스의 프리버퍼(free buffer)가 주기억장치에 있는지 스와핑 영역에 있는지를 확인하는 제 5 단계와, 상기 제 5 단계의 확인 결과 상기 목적 프로세스의 프리버퍼가 주기억장치에 있는 경우 상기 목적 프로세스가 관리해야할 정보가 저장되어 있는 주기억장치의 주소를 저장한 데몬 프로세스의 페이지 테이블 내용과 목적 프로세스의 페이지 테이블 내용을 교환하고, 상기 목적 프로세스의 프리버퍼가 스와핑 영역에 있는 경우 상기 스와핑 영역을 가리키는 목적 프로세스의 페이지 테이블에 상기 목적 프로세스가 관리해야할 정보가 저장되어 있는 주기억장치의 주소를 저장한 데몬 프로세스의 페이지 테이블 내용을 저장하고, 상기 데몬 프로세스의 페이지 테이블에는 새로운 주기억장치의 주소를 할당하는는 제 6 단계로 구성된다.
즉, 본 발명에서는 메시지가 통신장비에 도착한 후 통신장비의 TLB 적중 실패가 발생하더라도 메시지를 잃어버리지 않으므로 재 전송을 없애는 장치 및 방법을 제공한다.
도 1은 통신장비와 주기억장치간 DMA 처리를 위한 구성도,
도 2는 종래의 통신장비와 주기억장치간 DMA 처리에 대한 흐름도,
도 3은 본 발명의 일 실시예에 따른 통신장비와 주기억장치간 DMA 처리에 대한 흐름도,
도 4는 본 발명의 일 실시예에 따른 데몬 프로세스와 목적 프로세스간의 페이지 교환 과정도,
도 5는 본 발명의 또다른 실시예에 따른 데몬 프로세스와 목적 프로세스간의 페이지 교환 과정도.
〈도면의 주요부분에 대한 부호의 설명〉
101 : 주기억장치에 프로세스 P1에게 할당된 물리적 영역
102 : 통신장비 103 : 통신장비의 메모리
201 : 통신장비의 TLB(Translation Look-aside Buffer)
202 : 통신 관련 프로세스들에 대한 정보를 저장하는 큐
203,204 : 프로세스에게 전달되는 메시지
205 : 커널 301 : 통신장비의 TLB
302 : 통신 관련 프로세스들에 대한 정보를 저장하는 큐
303 : 프로세스에게 전달되는 메시지
304 : RDP(Receive Daemon Processor)
305 : RDP 영역 401 : RDP의 페이지 테이블
402 : 목적 프로세스 Pn의 페이지 테이블
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 통신장비와 주기억장치간 DMA 처리에 대한 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 데몬 프로세스와 목적 프로세스간의 페이지 교환 과정도이고, 도 5는 본 발명의 또다른 실시예에 따른 데몬 프로세스와 목적 프로세스간의 페이지 교환 과정도이다.
도 3을 참조하면, 본 발명의 통신장비 및 주기억장치 간의 DMA 처리 흐름을 위한 장치는, 임의의 프로세스가 즉시 사용할 수 있도록 할당된 영역(305)과 상기 영역을 전담해서 관리하는 데몬 프로세스(RDP:Receive Daemon Processor) (304)를 포함하는 주기억장치(101)와, 통신에 관여하는 프로세스들의 통신 관련 정보를 저장한 큐(302)와 상기 프로세스들을 위해 할당된 주기억장치내의 물리적 주소와 상기 주기억장치 내에 할당된 즉시 사용 가능한 영역의 주소를 저장하는 관리 테이블(TLB)(301)을 포함하는 통신장비(103)로 구성된다.
이 때, 상기 통신장비(103)는 외부로부터 임의의 목적 프로세스가 관리해야할 정보를 수신한 경우 상기 큐(302)에 저장된 목적 프로세스 정보에 의해 상기 관리 테이블을 검색하고, 그 결과 얻어진 주기억장치의 주소로 통신장비가 직접 액세스하여 상기 수신 정보를 저장하는 것으로서, 도 3은 특히, 상기 통신장비(103)로 목적 프로세스(Pn)를 위한 메시지(303)가 수신된 경우 상기 큐(302)를 거쳐 통신장비의 TLB(301)를 검색하여 물리 주소를 찾는 과정에서 상기 목적 프로세스(Pn)를 위한 TLB의 내용이 없고, 이에 따라 TLB 적중실패(TLB미스)(S302)가 발생한 경우에 대해 나타나 있다.
도 3을 참조하여 상기 TLB 적중실패(TLB미스)의 경우를 자세히 살펴보면 다음과 같다. 먼저, 프로세스 Pn에게 전달할 메시지(303)가 통신장비(103)에 수신되면(S301), 상기 통신장비(130)는 큐(302)를 통해 상기 프로세스 Pn의 ID 및 주기억장치내의 가상 주소를 찾아내고, 상기 큐(302)를 통해 얻어진 프로세스 Pn의 정보를 키로하여 상기 통신장비 TLB(301)를 검색한다(S302). 이 때, 상기 통신장비 TLB (301)에는 상기 프로세스 Pn을 위한 주기억장치내의 물리적 주소가 저장되어 있지 않으므로, TLB 적중 실패가 발생한다. 이 경우, 상기 통신장비의 TLB(301)에는 TLB 적중실패 되는 메시지를 저장하기 위한 주기억장치 페이지들의 정보(Recv_D. V_addr, phypage frame #)가 미리 확보되어 있고, 이 페이지들의 실제 소유자는 데몬 프로세스(RDP)(304)이다.
이와 같이 TLB 적중실패(S302)가 발생하면, 상기 통신장비(103)는 먼저, 데몬 프로세스(RDP)(304)의 주기억장치 페이지 정보를 보고, 데몬 프로세스(RDP) 소유의 페이지(305)에 상기 프로세스 Pn에게 전달할 메시지를 직접 액세스(DMA) (S303)한다. 이를 위해서 상기 데몬 프로세스(RDP)(304)는 항상 일정한 양의 페이지를 주기억장치에 가지고 있어야 하고, 그 정보를 통신장비의 TLB(301)에 저장해 놓아야 한다. 메시지의 DMA가 끝난 후, 그 메시지를 목적 프로세스에게까지 전달하기 위해서 프로세스 Pn의 수신 버퍼 예약 큐의 해당 내용을 RDP의 수신 큐(303)에 DMA한다. 이 정보는 메시지를 목적 프로세스에게 전달하는 과정에서 필요하다.
이와 같이 통신장비(103)와 주기억장치(101) 사이에 TLB 적중 실패가 발생한 경우, 상기 주기억장치내의 데몬 프로세스(RDP)(304)는 자신이 관리하는 영역에 상기 목적 프로세스가 관리해야할 정보가 있음을 인식하고, 상기 목적 프로세스의 프리버퍼(free buffer)가 주기억장치에 있는지 스와핑 영역에 있는지를 확인한다.
도 4는 상기 확인 결과 목적 프로세스의 프리 버퍼가 메모리에 있을 경우에 대한 데몬 프로세스와 목적 프로세스간의 페이지 교환 과정도로서, 주기억장치와, 주기억장치내에 데몬 프로세스(RDP)를 위한 페이지 테이블(401)과, 프로세스 Pn을 위한 페이지 테이블(402)와, 스와핑 영역(403)을 나타내며, 각 페이지 테이블이 가리키는 주기억장치내의 영역을 화살표로 나타내고 있다.
만일, TLB 적중 실패가 발생하면, 상기 목적 프로세스에게 전해질 메시지는 도 3을 참조하여 설명한 바와 같이 RDP의 영역에 DMA되어 주기억장치 페이지(405)에 저장된다. 그러면, 상기 RDP(304)는 자신의 수신 큐를 보고 프로세스 Pn과 교환해야할 페이지가 있음을 인식하고, 프로세스 Pn의 페이지 테이블(402)에 접근해서 상기 프로세스 Pn의 자신의 페이지 테이블(401) 내용과 해당 페이지(406, 407)의 주소를 교환(S402)한다. 즉, 처음 TLB 적중 실패가 발생하였을 때에 상기 프로세스 Pn의 페이지 테이블(402)은 페이지(407)를 가리키고 있고, 상기 RDP 페이지 테이블(401)은 페이지(406)를 가리키고(S401) 있다가 상기 RDP(304)가 프로세스 Pn과 교환해야할 페이지가 있음을 인식한 후에, 서로 교환(S402)하여 상기 RDP 페이지 테이블(401)은 페이지(407)를 가리키고, 상기 프로세스 Pn의 페이지 테이블(402)은 페이지(406)을 가리킨다(S403).
즉, 상기 목적 프로세스가 관리해야할 정보가 저장되어 있는 주기억장치의 주소를 저장한 데몬 프로세스의 페이지 테이블 내용(406)과 목적 프로세스의 페이지 테이블 내용(407)을 교환한다.
도 5는 목적 프로세스의 프리 버퍼가 스와핑 영역에 있을 경우에 대한 데몬 프로세스와 목적 프로세스간의 페이지 교환 과정도로서, 주기억장치와, 주기억장치내에 데몬 프로세스(RDP)를 위한 페이지 테이블(401)과, 프로세스 Pn을 위한 페이지 테이블(402)와, 스와핑 영역(403)을 나타내며, 각 페이지 테이블이 가리키는 주기억장치내의 영역을 화살표로 나타내고 있다.
만일, TLB 적중 실패가 발생한 경우, 목적 프로세스에 대한 페이지가 주기억장치내에 없는 경우, 주기억장치는 빠른 페이지 교환을 위해서 프로세스 Pn의 스와핑 영역(403)에 있는 페이지를 메모리로 읽어 들이지 않고 직접 자유 공간으로 만든후(S502), 상기 스와핑 영역을 가리키는 목적 프로세스의 페이지 테이블에 상기 목적 프로세스가 관리해야할 정보가 저장되어 있는 주기억장치의 주소를 저장한 데몬 프로세스의 페이지 테이블 내용(501)을 저장(S504)하고, 상기 데몬 프로세스의 페이지 테이블에는 새로운 주기억장치의 주소(510)를 할당(S505)한다.
즉, 처음 TLB 적중 실패가 발생한 시점에서, 상기 데몬 프로세스(RDP)의 페이지 테이블(401)은 페이지(501)를 가리키고(S501), 상기 프로세스 Pn의 페이지 테이블(402)은 스와핑 영역의 페이지(404)를 가리키고 있다가(S503), 상기 RDP(304)가 프로세스 Pn과 교환해야할 페이지가 있음을 인식한 후에, 스와핑 영역(403)에 있는 페이지를 가리키는 상기 프로세스 Pn의 페이지 테이블(402)의 내용을 삭제(S502)하고, 그 영역에 페이지(501)을 가리키도록(S504)하며, 상기 페이지(501)을 가리키던 데몬 프로세스의 페이지 테이블에는 새로운 주기억장치의 주소(510)를 할당(S505)한다.
따라서, 상기와 같은 본 발명은 도착하는 메시지가 저장될 공간이 항상 준비되어 있고, 주기억장치 페이지의 복사과정 없이 메시지를 최종 목적 프로세스에게로 전달할 수 있으므로, 통신 상의 부담을 크게 개선한 메시지의 수신을 할 수 있다. 즉, 메시지의 수신 과정에서 발생할 수 있는 TLB 적중실패를 방지하여, 통신 속도 및 성능을 저하 시키는 메시지의 재 전송을 없앨 수 있으며, 메모리 내에서 RDP와 통신에 참가하고 있는 프로세스 간의 페이지 교환을 하므로, 페이지 폴트에 따른 부담 또한 없앨 수 있다는 장점이 있다.

Claims (4)

  1. 주기억장치와, 통신에 관여하는 프로세스들의 통신 관련 정보를 저장한 큐와 상기 프로세스들을 위해 할당된 주기억장치내의 물리적 주소를 저장한 관리 테이블을 포함하는 통신장비를 구비하여, 상기 통신장비가 외부로부터 임의의 목적 프로세스가 관리해야할 정보를 수신한 경우 상기 큐에 저장된 목적 프로세스 정보에 의해 상기 관리 테이블을 검색하고, 그 결과 얻어진 주기억장치의 주소로 통신장비가 직접 액세스하여 상기 수신 정보를 저장하는 통신장비의 DMA 처리장치에 있어서,
    상기 주기억장치는
    임의의 프로세스가 즉시 사용할 수 있도록 할당된 영역과,
    상기 영역을 전담해서 관리하는 데몬 프로세스를 포함하며,
    상기 관리 테이블은
    상기 주기억장치 내에 할당된 즉시 사용 가능한 영역의 주소를 관리하는 임의 프로세스 레코드를 포함하는 것을 특징으로 하는 통신장비의 DMA 처리장치.
  2. 제 1 항에 있어서,
    상기 통신장비의 DMA 처리장치는
    통신장비가 외부로부터 임의의 목적 프로세스가 관리해야 할 정보를 수신하고, 상기 큐의 정보를 참조하여 상기 관리 테이블을 검색한 결과 상기 목적 프로세스를 위해 할당된 주기억장치내의 물리적 주소 정보가 없는 경우
    통신장비는 상기 관리 테이블내에 포함된 RDP의 레코드를 검색하고, 상기 RDP의 레코드에서 관리하는 주기억장치의 주소로 통신장비가 직접 액세스하여 상기 수신 정보를 저장하는 것을 특징으로 하는 통신장비의 DMA 처리장치.
  3. 주기억장치와, 통신에 관여하는 프로세스들의 통신 관련 정보를 저장한 큐와 상기 프로세스들을 위해 할당된 주기억장치내의 물리적 주소를 저장한 관리 테이블을 포함하는 통신장비를 구비하여 통신장비로 수신된 정보가 있을 경우 상기 통신장비가 주기억장치로 직접 액세스하여 수신된 정보를 저장하는 통신장비의 DMA 처리방법에 있어서,
    상기 주기억장치는 임의의 프로세스가 즉시 사용할 수 있도록 할당된 영역과, 상기 영역을 전담해서 관리하는 데몬 프로세스를 포함하고, 상기 관리 테이블은 상기 주기억장치 내에 즉시 사용 가능하도록 할당된 영역의 주소를 관리하는 임의 프로세스 레코드를 포함하여
    상기 통신장비가 외부로부터 임의의 목적 프로세스가 관리해야할 정보를 수신하는 제 1 단계와,
    상기 제 1 단계에서 상기 목적 프로세스에 대한 통신 관련 정보를 얻기 위해 큐를 검색하는 제 2 단계와,
    상기 제 2 단계에서 검색된 결과를 참조하여 상기 목적 프로세스가 관리하도록 할당된 주기억장치내의 영역에 대한 물리적 주소를 얻기 위해 상기 관리 테이블을 검색하는 제 3 단계와,
    상기 제 3 단계의 검색 결과 상기 관리 테이블 내에 상기 목적 프로세스가 관리하도록 할당된 주기억장치내의 영역에 대한 물리적 주소가 저장되어 있지 않은 경우 상기 관리 테이블 내의 임의 프로세스 레코드에 저장된 주기억장치의 주소로 통신장비가 직접 액세스하여 수신 정보를 저장하고, 상기 주기억장치내의 데몬 프로세스에게 이 사실을 알리는 제 4 단계와,
    상기 주기억장치내의 데몬 프로세스가 자신이 관리하는 영역에 상기 목적 프로세스가 관리해야할 정보가 있음을 인식하고, 상기 목적 프로세스의 프리버퍼(free buffer)가 주기억장치에 있는지 스와핑 영역에 있는지를 확인하는 제 5 단계와,
    상기 제 5 단계의 확인 결과 상기 목적 프로세스의 프리버퍼가 주기억장치에 있는 경우 상기 목적 프로세스가 관리해야할 정보가 저장되어 있는 주기억장치의 주소를 저장한 데몬 프로세스의 페이지 테이블 내용과 목적 프로세스의 페이지 테이블 내용을 교환하는 제 6 단계로 구성된 것을 특징으로 하는 통신장비의 DMA 처리방법.
  4. 제 3 항에 있어서,
    상기 제 6 단계는
    상기 제 5 단계의 확인 결과 상기 목적 프로세스의 프리버퍼가 스와핑 영역에 있는 경우 상기 스와핑 영역을 가리키는 목적 프로세스의 페이지 테이블에 상기 목적 프로세스가 관리해야할 정보가 저장되어 있는 주기억장치의 주소를 저장한 데몬 프로세스의 페이지 테이블 내용을 저장하고, 상기 데몬 프로세스의 페이지 테이블에는 새로운 주기억장치의 주소를 할당하는 것을 특징으로 하는 통신장비의 DMA 처리방법.
KR1019970037246A 1997-08-04 1997-08-04 통신 장비의 디엠에이 처리 방법 및 그 장치 KR100231707B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970037246A KR100231707B1 (ko) 1997-08-04 1997-08-04 통신 장비의 디엠에이 처리 방법 및 그 장치
US09/007,818 US6058437A (en) 1997-08-04 1998-01-15 D.M.A. device that handles cache misses by managing an address of an area allotted via a daemon processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970037246A KR100231707B1 (ko) 1997-08-04 1997-08-04 통신 장비의 디엠에이 처리 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR19990015263A KR19990015263A (ko) 1999-03-05
KR100231707B1 true KR100231707B1 (ko) 2000-01-15

Family

ID=19516854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970037246A KR100231707B1 (ko) 1997-08-04 1997-08-04 통신 장비의 디엠에이 처리 방법 및 그 장치

Country Status (2)

Country Link
US (1) US6058437A (ko)
KR (1) KR100231707B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978297B1 (en) 1998-11-12 2005-12-20 Ricoh, Co., Ltd. System and method of managing queues by maintaining metadata files having attributes corresponding to capture of electronic document and using the metadata files to selectively lock the electronic document
US6256683B1 (en) * 1998-12-23 2001-07-03 Bops, Inc. Methods and apparatus for providing direct memory access control
US6775665B1 (en) * 1999-09-30 2004-08-10 Ricoh Co., Ltd. System for treating saved queries as searchable documents in a document management system
US7239406B1 (en) 1999-09-30 2007-07-03 Ricoh Co., Ltd System for capturing facsimile data in an electronic document management system
EP1102472B1 (en) * 1999-11-12 2002-12-04 Ricoh Company, Ltd. Capturing facsimile data in an electronic document management system
US7089289B1 (en) * 2000-07-18 2006-08-08 International Business Machines Corporation Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices
US9396142B2 (en) * 2014-06-10 2016-07-19 Oracle International Corporation Virtualizing input/output interrupts

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221342A (ja) * 1987-02-27 1990-01-24 Hitachi Ltd マルチプロセッサシステム及びマルチプロセッサシステムにおける論理キャッシュメモリのアクセス方法
CA1325288C (en) * 1989-02-03 1993-12-14 Ricky C. Hetherington Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
JP3369580B2 (ja) * 1990-03-12 2003-01-20 ヒューレット・パッカード・カンパニー 直接メモリアクセスを行うためのインターフェース装置及び方法
US5128878A (en) * 1990-11-28 1992-07-07 Micron Technology, Inc. Remote plotting of integrated circuit layout in a network computer-aided design system
TW219986B (ko) * 1991-06-17 1994-02-01 Digital Equipment Corp
CA2131627A1 (en) * 1992-03-09 1993-09-16 Yu-Ping Cheng High-performance non-volatile ram protected write cache accelerator system
US5696897A (en) * 1994-01-31 1997-12-09 Sun Microsystems, Inc. Method and apparatus for a multi-layer system quiescent suspend and resume operation
US5790130A (en) * 1995-06-08 1998-08-04 Hewlett-Packard Company Texel cache interrupt daemon for virtual memory management of texture maps
US5909546A (en) * 1996-03-08 1999-06-01 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Network interface having support for allowing remote operations with reply that bypass host computer interaction
US5931925A (en) * 1996-12-02 1999-08-03 International Business Machines Corporation System and method for efficiently transferring datastreams in a multimedia system
US5917503A (en) * 1997-06-02 1999-06-29 Hewlett Packard Company Converging data pipeline device

Also Published As

Publication number Publication date
US6058437A (en) 2000-05-02
KR19990015263A (ko) 1999-03-05

Similar Documents

Publication Publication Date Title
US6236658B1 (en) Method and apparatus for message routing, including a content addressable memory
US6928529B2 (en) Data transfer between virtual addresses
JP3512910B2 (ja) 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
US7234006B2 (en) Generalized addressing scheme for remote direct memory access enabled devices
CN108363641B (zh) 一种主备机数据传递方法、控制节点以及数据库***
US8601235B2 (en) System and method for concurrently managing memory access requests
US8504794B1 (en) Override system and method for memory access management
US8868883B1 (en) Virtual memory management for real-time embedded devices
JPH0962558A (ja) データベース管理システム及び方法
CN104899160A (zh) 一种缓存数据控制方法、节点控制器和***
CN108134855B (zh) Arp表管理方法、处理器核心、存储介质、电子设备
EP0603994A2 (en) Method and apparatus for transferring and processing data
US8706975B1 (en) Memory access management block bind system and method
KR100231707B1 (ko) 통신 장비의 디엠에이 처리 방법 및 그 장치
CA2221797C (en) Linked caches for context data search
US6405292B1 (en) Split pending buffer with concurrent access of requests and responses to fully associative and indexed components
EP0519685A1 (en) Address translation
CN113419973A (zh) 一种报文转发方法及装置
EP1839148A2 (en) Transferring data between system and storage in a shared buffer
EP1314090B1 (en) Method and system for translation lookaside buffer coherence in multi-processor systems
US6961837B2 (en) Method and apparatus for address translation pre-fetch
JPH09167143A (ja) メッセージ受信制御方式
JP2000330960A (ja) プロセッサ間通信装置
US11914865B2 (en) Methods and systems for limiting data traffic while processing computer system operations
CN115794667B (zh) 内存管理方法、***、组件及设备

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: 20120827

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee