KR20070116102A - Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 - Google Patents

Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR20070116102A
KR20070116102A KR1020077023490A KR20077023490A KR20070116102A KR 20070116102 A KR20070116102 A KR 20070116102A KR 1020077023490 A KR1020077023490 A KR 1020077023490A KR 20077023490 A KR20077023490 A KR 20077023490A KR 20070116102 A KR20070116102 A KR 20070116102A
Authority
KR
South Korea
Prior art keywords
message
node
firmware
dma controller
response
Prior art date
Application number
KR1020077023490A
Other languages
English (en)
Other versions
KR100958685B1 (ko
Inventor
šœ이치 이하라
유이치 오가와
데루마사 하네다
가즈노리 마스야마
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20070116102A publication Critical patent/KR20070116102A/ko
Application granted granted Critical
Publication of KR100958685B1 publication Critical patent/KR100958685B1/ko

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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Abstract

DMA 컨트롤러(14)의 전송 제어부(14a)는 자기 노드(10)의 CPU(11)(펌웨어)로부터의 의뢰에 따라 데이터나 메시지를 직렬 버스(1), 스위치(2) 등을 통해 임의의 다른 노드(3)에 송신한다. 그 때, 펌웨어는 메모리(12)에 송신하여야 하는 데이터나 메시지와 그 디스크립터를 저장하지만, 메시지 송신을 의뢰하는 경우에는 디스크립터 중에 "데이터 전송처로부터의 응답을 대기할 필요가 있는지 여부"를 나타내는 플래그가 포함되어 있다. 전송 제어부(14a)는 이 플래그가 온(ON)이었던 경우에는 송신처 노드(3)로부터의 완료 응답을 대기하지 않고, 즉시 펌웨어에 대하여 허위로 완료 통지를 행한다.

Description

DMA 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램{DMA CONTROLLER, NODE, DATA TRANSFER CONTROL METHOD, AND PROGRAM}
본 발명은 다이렉트 메모리 액세스 제어 기술에 관한 것이며, 임의의 노드 사이에서의 정보 전송을 행하는 기술에 관한 것이다.
컴퓨터 시스템에 있어서, 메모리와 메모리 사이 또는 메모리와 입출력 디바이스(I/0 디바이스) 사이의 데이터 전송을 효율적으로 행하는 것은 컴퓨터 시스템의 성능을 높이기 위해 중요한 사항이며, 그것을 위한 기술로서 DMA(Direct Memory Access)가 알려져 있다. DMA는 컴퓨터 시스템 내의 데이터 전송의 제어를 중앙 처리 장치(CPU) 대신에 실행하는 것이며, DMA 제어 회로라고 불리는 전용의 하드웨어가 CPU로부터의 명령에 기초하여 데이터 전송을 제어하는 구조로 되어 있다.
DMA 컨트롤러에 따른 기술로서는, 예컨대 일본 특허 문헌 1의 기재와 같이, 마스터 프로세서(MP)와 복수의 프로세서 엘리먼트(PE)나 DMA 컨트롤러 등을 갖고, MP로부터 각 DMA 컨트롤러나 PE에의 커맨드를 복수 통합하여 발행할 수 있으며, 앞서 보낸 커맨드에 대한 응답을 대기하지 않고 다음 커맨드를 발행할 수 있는 것이 기재되어 있다.
또한, 일본 특허 문헌 2에는 메모리부(MEM부)에 저장된 프로그램(펌웨어)에 의해 통신 제어 처리를 행하는 CPU부와, 통신 인터페이스-MEM부 사이의 데이터 전송을 프로그램(CPU)을 통하지 않고 다이렉트ㆍ메모리ㆍ액세스에 의해 행하는 DMA 부를 갖는 통신 제어 처리 장치에 있어서, 펌웨어의 처리를 감시하는 감시부를 설치하고, 상기 DMA부는 감시부에 의해 지시된 데이터를 트레이스 데이터 저장부에 전송하도록 구성하는 것이 개시되어 있다. 더욱 상세하게는 펌웨어 저장부에 저장된 복수의 각 처리 모듈에 대하여 각각 라벨을 부여하고, 처리 모듈은 실행시에 자기 모듈에 부가된 라벨을 감시부에 통지한다. 그리고, 감시부는 통지된 라벨을 유지하여 감시를 행하고, 이상 발생이 검출되면, 라벨에 대응하는 처리 모듈의 상세한 데이터를 트레이스 데이터 저장부에 전송시키도록 DMA부를 제어한다.
또한, 일본 특허 문헌 3에는 레지스터 결합의 멀티 프로세서ㆍ시스템에 있어서의 프로세서간 데이터 전송 제어 방식에 관해서, 송신측과 수신측에서 프레임 사이즈가 다른 경우에, 송신측의 최종 프레임 데이터가 레지스터부에 전송되고, 송신측으로부터 수신측에 END 통지를 행하여 데이터 전송 완료의 처리를 행하고, 수신측도 END 통지에 의해 데이터 전송 완료의 처리를 행하면, 레지스터부에 최후의 데이터가 남게 되기 때문에, 통상의 데이터 전송 처리와는 다른 프로그램을 실행할 필요가 생기는 문제를 해결하는 것이다.
이 문제를 해결하기 위해, 일본 특허 문헌 3에서는 송신측의 다이렉트 메모리 액세스 제어부가 레지스터부에 최종 데이터를 전송하였을 때의 완료 신호와, 수신측의 다이렉트 메모리 액세스 제어부로부터의 ACK와의 논리곱을, 인터럽트 제어부에 더하는 송신 완료 신호로 한다. 인터럽트 제어부는 이 송신 완료 신호로부터 프로세서에 인터럽트 신호를 더한다.
또한, 최근, 예컨대 상위 장치에 대하여 입출력 장치를 접속하기 위한 I/0 인터페이스로서, PCI_Express 아키텍처가 주목받고 있다.
[특허 문헌 1] 일본 특허 공개 2002-163239호 공보
[특허 문헌 2] 일본 특허 공개 평성 7-93233호 공보
[특허 문헌 3] 일본 특허 공개 평성 5-334260호 공보
여기서, 최근, 예컨대 RAID 등에 있어서, 상기 PCI_Express 아키텍처를 채용하는 것이 생각되고 있다.
RAID는 Redundant Arrays of Inexpensive Disks 또는 Redundant Arrays of Independent Disks의 약칭이며, 고속화나 안전성의 향상을 목적으로, 복수의 스토리지(하드디스크 등)를 통합하여 1대의 하드디스크로서 관리하는 스토리지 용장화의 기술이다.
도 8에 상기 PCI_Express 아키텍처를 채용한 RAID를 포함하는 정보 처리 시스템의 일례를 도시한다.
도시한 정보 처리 시스템은 RAID를 구성하는 복수의 스토리지ㆍ모듈(50)이 PCI_Express의 직렬 버스(70)와 PCI_Express 스위치(80)를 통해 서로 접속되어 있다. PCI_Express 스위치(80)는 각 직렬 버스를 접속하는 각 포트(도시되지 않음)를 갖고, 임의의 포트 사이의 패킷 루팅을 행한다.
각 스토리지 모듈(50)은 스토리지(하드디스크 등)(53)와, 이 스토리지(53)와 접속한 노드(51)를 갖는다. 노드(51)는 상기 PCI_Express의 직렬 버스(70)와 PCI_Express 스위치(80)를 통해 다른 스토리지ㆍ모듈(50) 사이에서 데이터 송수신을 행한다.
또한, 각 스토리지ㆍ모듈(50)은 각각 CA(채널 어댑터)(52)를 통해 임의의 호스트 컴퓨터(60)와 접속하고 있으며, 호스트 컴퓨터(60)로부터 임의의 요구(예컨대 데이터 갱신 요구)를 받으면, 이 요구에 따라 자기의 스토리지(53)에 대한 데이터 갱신 등을 행하는 동시에, 예컨대 미러링 목적지의 스토리지ㆍ모듈(50)에 대하여 데이터 전송을 행하여, 동일한 데이터 갱신을 행하게 한다.
이하, 이와 같이 호스트 컴퓨터로부터의 요구를 받은 노드를 로컬 노드라고 부르며, 예컨대 미러링 목적지와 같이 데이터 전송처의 노드를 리모트 노드라고 부른다.
각 노드는 도시하지 않은 CPU와 로컬 메모리와 DMA 컨트롤러를 갖는다. CPU는 그 내부에 실장된 펌웨어에 의해, 각종 처리를 실행하는 것이며, 펌웨어는, 예컨대 상기 호스트 컴퓨터로부터의 요구가 있으면, 수신한 데이터를 일시적으로 로컬 메모리에 저장하는 동시에 DMA 컨트롤러를 기동함으로써, 상기 데이터 전송 처리를 DMA 컨트롤러에 의뢰한다.
여기서, 펌웨어는 상기 데이터를 로컬 메모리에 저장할 때에, 디스크립터를 발행한다. 즉, 일반적으로 CPU가 DMA 컨트롤러에 대하여 임의의 데이터 전송을 의뢰할 때에, CPU는 CPU 부하의 로컬 메모리에 전송을 의뢰하는 데이터를 저장하는 동시에, 이 로컬 메모리 상에 DMA 컨트롤러가 이용하는 전송 제어 정보(전송원 어드레스, 전송처 어드레스, 전송 데이터 사이즈 등)가 들어가 있는 디스크립터를 전 개한다. 그 후, CPU는 DMA 컨트롤러를 기동한다. DMA 컨트롤러는 기동하면, 자율적으로, 우선, 상기 디스크립터를 리드하여 전송 제어 정보를 해석하고, 전송원 어드레스(로컬 메모리에 있어서의 상기 데이터의 저장 위치)에 저장되어 있는 상기 데이터를 상기 데이터 사이즈만큼 독출하여, 전송선 노드에 송신한다. 이 데이터로서는 전송하여야 하는 데이터(상기 갱신 데이터 등; 이하, DATA로 표기함) 이외에도 각종 메시지가 있다.
도 9는 도 8의 구성에 있어서의 노드 사이의 데이터 전송 시퀀스도이다.
우선, 도 9의 데이터 전송 시퀀스에 도시하는 바와 같이, 임의의 DATA 전송처리는 실제로 DATA를 전송하는 처리 전후에 로컬 노드-리모드 노드 사이에서 각종메시지 송수신을 행한다. 로컬 노드의 펌웨어(101)는 하나의 메시지를 DMA 컨트롤러(102)에 의해 송신시킬 때마다 이 메시지와 디스크립터를 로컬 메모리에 저장하고 나서 DMA 컨트롤러(102)를 기동함으로써, 이 메시지의 송신을 DMA 컨트롤러(102)에 의뢰한다. 이것으로부터, DMA 컨트롤러(102)는 디스크립터를 독출ㆍ해석함으로써(디스크립터의 저장 위치는 결정되어 있음), 상기 메시지를 리모트 노드에 전송한다. 이것은, 리모트 노드측에서도 마찬가지이다. 또한, 메시지 송신의 경우뿐만 아니라 DATA 송신의 경우도 마찬가지이다.
도시한 메시지 "cmd"는 리모트 노드에의 리소스(메모리) 확보 요구이며, 메시지 "adr"은 리모트 노드로부터의 확보 메모리 어드레스 통지이다. 이들 데이터 전송 전의 메시지 송수신이 정상적으로 종료하면, DATA 전송이 행하여진다. 또한, DATA 전송 후에도 소정의 메시지 교환을 행한다. 즉, 도시한 메시지 "done"는 리 모트 노드에 대한 데이터 전송 종결 통지이며, 메시지 "cmp"는 리모트 노드로부터의 데이터 수신 완료 통지이다.
도 9에 있어서, 리모트 노드의 DMA 컨트롤러(112)는 상기 메시지 "cmd"를 수신하면, 자기 노드의 펌웨어(111)(CPU)에 대하여 메시지 "cmd"의 수신을 통지하는 동시에[정확하게는 메시지 "cmd"를 로컬 메모리에 저장하고, 펌웨어(111)에 대하여 인터럽트를 행함], 로컬 노드의 DMA 컨트롤러(102)에 대하여 완료 응답을 회신한다. 로컬 노드의 DMA 컨트롤러(102)는 완료 응답을 받으면, 자기 노드의 펌웨어(101)에 대하여 완료 통지한다(인터럽트를 행함). 로컬 노드의 펌웨어(101)는 상기 DMA 기동으로부터 완료 통지를 받을 때까지 인터럽트 대기 상태가 되며, 다른 처리를 행할 수 없다.
또한, 상기 리모트 노드의 DMA 컨트롤러(112)로부터 메시지 "cmd"의 수신 통지를 받은 리모트 노드의 펌웨어(111)는 이 메시지 "cmd"에 따른 소정의 펌웨어 처리[상기 예에서는 리소스(메모리) 확보 처리]를 실행하면, 이 메시지 "cmd"에 대한 회신 메시지 "adr"의 송신을 DMA 컨트롤러(112)에 의뢰한다. 즉, 메시지 "adr"과 그 디스크립터를 로컬 메모리에 저장하여, DMA 컨트롤러(112)를 기동한다. 기동된 DMA 컨트롤러(112)는 상기 메시지 "adr"을 로컬 노드에 송신하고, 이것에 대한 완료 응답을 받으면, 자기 노드의 펌웨어(111)에 대하여 완료 통지한다(인터럽트를 행함). 리모트 노드의 펌웨어(111)는 상기 DMA 기동으로부터 완료 통지를 받을 때까지 인터럽트 대기 상태가 되며, 다른 처리를 행할 수 없다.
도 9에 도시하는 메시지 "done"나 메시지 "cmp"의 송신에 관해서도 상기와 마찬가지로 펌웨어는 DMA 기동으로부터 인터럽트를 받을 때까지 인터럽트 대기 상태가 되며, 다른 처리를 행할 수 없다.
상기와 같이, 어떠한 노드에 있어서도 메시지 송신을 DMA 컨트롤러에 의뢰하고 나서(DMA 기동으로부터) 완료 통지를 받을 때까지[예컨대 MAX2(ms) 정도], 인터럽트 대기 상태가 되며, 다른 처리를 행할 수 없지만, 종래에는 이것은 특별히 문제가 되지 않았다.
즉, 종래에는 도 10a 에 도시하는 바와 같이, CPU의 성능상, 송신한 메시지에 대한 완료 응답을 받을 때까지의 시간(상기 인터럽트 대기 상태의 시간)보다도 CPU(펌웨어)가 다른 태스크에 이행 가능해질 때까지의 시간 쪽이 크기 때문에, 상기 인터럽트 대기 상태의 시간은 장치 성능 상의 장애는 되지 않았다.
그러나, 최근 CPU의 성능이 향상되었기 때문에, 도 10b 에 도시하는 바와 같이, 펌웨어가 다른 태스크에 이행 가능해질 때까지의 시간이 대폭 단축되었다. 그러나, 펌웨어는 상기한 바와 같이, 완료 통지를 받을 때까지는 다른 처리(다른 태스크)에 이행할 수 없기 때문에, 상기 인터럽트 대기 상태의 시간이 장치 성능 상의 장애로 되었다.
이 문제는 PCI_Express 아키텍처를 이용하는 경우에 한하지 않고, 종래의 직렬 인터페이스여도 일어나며, 또한, 병렬 인터페이스여도 일어날 수 있다.
본 발명의 과제는 펌웨어에서 본 레이턴시를 개선하는 것으로서, 특히 데이터 전송 전후에 행하여지는 메시지 교환시, 송신한 메시지의 종류에 따라서는 응답을 대기하지 않고, 허위로 응답을 펌웨어에 통지함으로써, 응답 대기 시간을 감소 시켜 다른 처리를 실행시키는 것이 가능해지는 DMA 컨트롤러, 그 프로그램 등을 제공하는 것이다.
본 발명의 DMA 컨트롤러는 DMA 컨트롤러를 갖는 복수의 노드가 버스에 의해 접속된 정보 처리 시스템에 있어서의 이 각 DMA 컨트롤러에 있어서, 자기 노드의 펌웨어로부터 메시지 송신 의뢰를 받으면, 이 메시지가 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 판정하여, 이 완료 응답이 필요 없는 것으로 판정한 경우에는 이 메시지를 상기 버스를 통해 송신처 노드의 DMA 컨트롤러에 송신하는 동시에, 이 송신처 노드로부터의 완료 응답을 대기하지 않고, 상기 자기 노드의 펌웨어에 대하여 완료 통지하는 데이터 전송 제어 수단을 갖도록 구성한다.
이와 같이, 송신처 노드로부터의 완료 응답을 대기하지 않고, DMA 컨트롤러가 허위로 완료 응답이 있었던 취지를 펌웨어에 통지함으로써, 펌웨어는 다른 처리로 이행할 수 있다.
예컨대, 상기 송신처 노드로부터의 완료 응답이 필요 없는 메시지는 이 메시지 송신 후에, 상기 송신처 노드로부터 어떠한 메시지가 보내져오는 것이 정해져 있는 메시지이다. 따라서, 상기 송신처 노드로부터의 회신 메시지를 수신함으로써, 상기 송신한 메시지가 송신처 노드에 도달한 취지를 간접적으로 판단할 수 있다. 만약에 상기 메시지 송신으로부터 일정 시간 경과하여도 회신 메시지를 수신하지 않은 경우에는 그 때에 에러 처리를 행하면 좋다.
이와 같이, 본 발명의 DMA 컨트롤러에 의하면, 펌웨어의 처리 효율을 향상시킬 수 있다.
도 1은 본 예의 정보 처리 시스템에 있어서의 노드의 구성도이다.
도 2는 노드 사이의 데이터(메시지) 송수신 프로세스를 설명하기 위한 제1 도면이다.
도 3은 노드 사이의 데이터(메시지) 송수신 프로세스를 설명하기 위한 제2 도면이다.
도 4a 는 각종 메시지의 데이터 전송 시퀀스, 도 4b 는 각종 메시지의 기능이나 "데이터 전송처로부터의 응답의 필요 여부"를 일람으로 도시한 도면이다.
도 5는 본 예의 디스크립터의 이미지도이다.
도 6은 본 예의 DMA 컨트롤러의 동작 플로우이다.
도 7은 본 예의 데이터 전송 시퀀스의 일례이다.
도 8은 종래의 RAID 등의 구성예이다.
도 9는 종래의 데이터 전송 시퀀스의 일례이다.
도 10a, 도 10b 는 종래의 문제점을 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시형태에 대해서 설명한다.
또한, 본 실시형태의 설명에서는 DMA 컨트롤러 사이의 접속에 PCI_Express 아키텍처를 이용하는 경우를 예로서 설명하지만, 본 발명은 종래의 임의의 직렬 인터페이스나 병렬 인터페이스를 이용하는 구성이어도 적용 가능하다.
도 1은 본 예의 정보 처리 시스템에 있어서의 노드의 구성도이다.
본 예의 정보 처리 시스템 전체의 구성은 도 8에서 설명한 종래의 구성과 대략 마찬가지이다. 도 1에는 도 8과 같은 정보 처리 시스템에 있어서의 각 노드의 구성예를 도시하는 것이다.
도 1에 도시하는 노드(10)는 CPU(11), 메모리(12), 메모리 허브(13) 및 DMA 컨트롤러(14)를 갖는다.
메모리(12)는 CPU(11) 배하(配下)의 로컬 메모리이며, CPU(11)는 메모리 허브(13)를 통해 메모리(12)에의 데이터ㆍ리드/라이트를 행한다. DMA 컨트롤러(14)도 메모리 허브(13)를 통해 메모리(12)에의 데이터ㆍ리드/라이트를 행한다. 이하의 설명에서는 메모리 허브(13)에 관해서는 특별히 언급되지 않지만, 메모리(12)에 대한 데이터ㆍ리드/라이트는 항상 메모리 허브(13)를 통해 행하고 있다.
CPU(11)에 실장되는 펌웨어는 임의의 데이터의 데이터 전송을 DMA 컨트롤러(14)에 의뢰하는 경우에는 이 전송시키는 데이터를 메모리(12)에 저장하는 동시에 전술한 디스크립터를 메모리(12) 상에 전개한다. DMA 컨트롤러(14)의 전송 제어부(14a)는 이 디스크립터를 참조하여, 이 디스크립터의 정보에 기초하여, 상기 데이터를, 예컨대 PCI_Express 등에 의한 직렬 버스(1), 스위치(2) 등을 통해 임의의 다른 노드(3)에 전송한다. 또한, 전술한 바와 같이, 상기 데이터로서는 실제 데이터(DATA) 이외에도 각종 메시지가 있으며, 실제 데이터(DATA) 전송 처리의 전후에 소정의 메시지 교환을 실행한다. 또한, 전송 제어부(14a)는 DMA 컨트롤러의 메시지 채널(MSCH) 블록에 본 발명의 기능이 추가된 것이다.
다른 노드(3)(데이터 전송처의 노드 등)도 노드(10)와 동일한 구성이다.
이상 설명한 동작 자체는 종래와 대략 마찬가지이지만, 본 예에서는 송신 의뢰하는[메모리(12)에 저장함] 데이터가 메시지인 경우에는 그 디스크립터에 "데이터 전송처로부터의 응답을 대기할 필요가 있는 것"인지 여부를 나타내는 정보(플래그 등)가 포함되어 있으며, DMA 컨트롤러(14)의 전송 제어부(14a)가 이 플래그를 참조하여, 후술하는 전송 제어 처리를 실행하는 점이 종래와는 다르다. 즉, 전송하는 메시지의 종류에 따라서는 DMA 컨트롤러(14)는 데이터 전송처로부터의 응답을 대기하지 않고, 허위로 펌웨어에 대하여 완료 통지하는 점이 종래와는 다르다.
실제 데이터(DATA) 전송 처리 자체는 본 발명의 특징에는 관계없기 때문에, 이하의 설명에서는 기본적으로는 메시지를 송수신하는 경우에 대해서 설명한다.
도 2에 복수의 노드가 PCI_Express와 같은 직렬 인터페이스를 이용하여 서로 접속된 RAID 등의 정보 처리 시스템 전체의 구성예를 도시한다. 이 전체 구성 자체는 도 8에서 설명한 종래의 구성과 대략 마찬가지이며, 여기서는 각 노드에 대해서는 펌웨어[CPU(11)]와 DMA 컨트롤러(14)만을 도시하고 있다.
도 2에 도시하는 구성의 기본적인 동작에 대해서는 도 8에서 이미 설명하였기 때문에, 여기서는 간단히 설명하면, 임의의 노드의 DMA 컨트롤러는 자기 노드의 펌웨어로부터 임의의 메시지 송신이 의뢰되면, 메시지 전송처 노드의 DMA 컨트롤러에 대하여 직렬 버스(1), 스위치(2)를 통해 이 메시지(MSG)를 송신한다.
또한, 이하의 설명에서는 도 3에 도시하는 바와 같이, 이와 같은 데이터 송신원의 노드를 로컬측 노드(20), 데이터 송신처의 노드를 리모트측 노드(30)로 부 른다. 또한, 도 3에 도시하는 바와 같이, 로컬측 노드(20)에 있어서의 DMA 컨트롤러, 그 전송 제어부 및 펌웨어에는 각각 부호(22, 22a, 21)를 부여하는 것으로 한다. 마찬가지로 리모트측 노드(30)에 있어서의 DMA 컨트롤러, 그 전송 제어부 및 펌웨어에는 각각 부호(32, 32a, 31)를 부여하는 것으로 한다.
리모트측 노드(30)의 DMA 컨트롤러(32)의 전송 제어부(32a)는 상기 메시지(MSG)를 수신하면, 자기 노드의 펌웨어(31)에의 통지(인터럽트)를 행하는 동시에, 로컬측 노드(20)에 대하여 완료 응답을 회신한다. 로컬측 노드(20)의 DMA 컨트롤러(22)의 전송 제어부(22a)는 이 완료 응답을 수신하면, 자기 노드의 펌웨어(21)에 완료 통지(인터럽트)한다. 단, 본 예에서는 로컬측 노드(20)의 DMA 컨트롤러(22)의 전송 제어부(22a)는 상기 송신한 메시지의 종류에 따라서는 상기 완료 응답을 대기하지 않고, 즉시 자기 노드의 펌웨어(21)에의 완료 통지를 행하도록 한다. 이것에 의해, 펌웨어(21)의 인터럽트 대기 시간을 줄일 수 있고, 다른 처리에 옮길 수 있게 된다.
또한, 리모트측 노드(30)의 펌웨어(31)는 상기 메시지에 대한 응답 메시지를 작성ㆍ송신하지만, 이 경우에도 리모트측의 DMA 컨트롤러(32)의 전송 제어부(32a)는 상기와 마찬가지로, 응답 메시지의 종류에 따라서는 완료 응답을 대기하지 않고, 즉시 자기 노드의 펌웨어(31)에의 완료 통지를 행한다.
도 4a 에 상기 로컬측 노드(20)-리모트측 노드(30) 사이에서 송수신하는 메시지의 구체예를 도시한다.
도 4a 에는 어떤 실제 데이터(DATA)의 데이터 송신에 따르는 각종 메시지의 데이터 전송 시퀀스의 구체예를 도시한다.
도시한 예에서는 우선, 로컬측 노드(20)가 리모트측 노드(30)에 대하여 메시지 "cmd"를 송신하고, 이것에 대하여 리모트측 노드(30)가 응답 메시지 "adr"을 회신한다. 로컬측 노드(20)는 응답 메시지 "adr"을 정상으로 수신할 수 있으면, 실제 데이터(DATA)를 전송한다. 그 후, 로컬측 노드(20)는 리모트측 노드(30)에 대하여 메시지 "done"를 송신하고, 이것에 대하여 리모트측 노드(30)가 응답 메시지 "cmp"를 회신한다. 로컬측 노드(20)가 응답 메시지 "cmp"를 정상적으로 수신할 수 있으면, 이 데이터 송신 처리는 완료된다.
도 4b 에 도 4a 에 도시하는 각종 메시지의 기능과, 상기 "데이터 전송처로부터의 응답의 필요와 불필요"를 일람으로 도시한다.
도 4a 에 도시한 메시지의 종류는 cmd, adr, done 및 cmp의 4 종류이다. 이들 각종 메시지ㆍ타입의 기능은 이미 종래에서 설명하고 있으며, 도 4b 에 도시하는 바와 같다. 즉, cmp는 로컬 노드로부터 리모트 노드에 대한 리소스(메모리) 확보 요구이다. adr은 리모트 노드로부터 회신되어 오는, 확보한 메모리 어드레스의 통지이다. done는 로컬 노드로부터 리모트 노드에 대한 데이터 전송 종결 통지이다. cmp는 리모드 노드로부터 회신되어 오는 데이터 수신 완료 통지이다.
여기서, 데이터 전송 시퀀스의 최종 메시지인 "cmp" 이외의 메시지는 이 메시지를 송신처 노드가 정상적으로 수신할 수 있었던 경우에는 송신처로부터 메시지가 회신되어 오기 때문에, 이 회신 메시지를 수신함으로써, 간접적으로, 이 메시지가 송신처 노드에 도달한 것을 확인할 수 있다. 이것으로부터 이 예에서는 도 4b 에 도시하는 바와 같이, "cmp" 이외의 메시지는 전부, 응답이 불필요하며, "cmp"만은 응답이 필요해진다.
이와 같이, 각 메시지 종류마다 응답이 필요한지 여부는 미리 알고 있기 때문에, 미리 펌웨어에 도 4b 에 도시하는 정보를 갖게 해 둠으로써, 펌웨어로부터 DMA 컨트롤러에 대하여 응답이 필요한지 여부를 알릴 수 있다. 즉, 본 예에서는 메모리(12) 상에 저장된 데이터가 메시지인 경우에는 도 5에 도시하는 바와 같이, 상기 메모리(12) 상에 전개하는 디스크립터에는 이 메시지의 종류와, 응답이 필요한지 여부를 나타내는 플래그(종료 인터럽트 타이밍을 나타내는 플래그 비트)가 포함되어 있다. 물론, 디스크립터에는 종래와 같이, 데이터(메시지) 저장 위치나 그 사이즈의 정보도 포함되어 있지만, 여기서는 생략하여 도시한다.
예컨대, 펌웨어는 메모리(12)의 데이터 저장 영역에 메시지 "cmd"를 저장하였을 때에는 이 메시지 "cmd"에 대응하는 디스크립터를 메모리(12) 상에 전개한다. 이 디스크립터에는 메시지 "cmd"의 저장 위치(선두 어드레스)와 데이터 사이즈 등의 정보가 포함되어 있기 때문에, DMA 컨트롤러(14)의 전송 제어부(14a)는 후술하는 도 6의 처리와 같이, 디스크립터를 독출하여 해석함으로써, 메시지 "cmd"를 독출하여 송신할 수 있다. 그리고, 본 예에서는 또한, 디스크립터에 포함되는 상기 플래그에 의해, 이 메시지 "cmp"에 대한 응답을 대기하는지 여부를 판정할 수 있다.
CPU(11)(펌웨어)는 디스크립터를 메모리(12) 상에 전개할 때에, 메모리(12)에 저장한 메시지의 타입에 따라 디스크립터의 플래그를 세트 또는 리셋한다. 여 기서는 응답이 필요 없는 경우에는 플래그를 세트(ON)한다.
그 후, DMA 컨트롤러(14)의 전송 제어부(14a)는 CPU(11)(펌웨어)에 의해 기동되면, 도 6에 도시하는 처리를 실행한다.
도 6에 도시하는 처리는 하드웨어에 의해 실현하여도 좋고, 소프트웨어에 의해 실현하여도 좋다. 하드웨어로 실현하는 경우에는 종래의 하드웨어 구성에 상기플래그를 참조하여, 플래그가 오프(OFF)인 경우에는 종래와 같은 동작을 행하고, 플래그가 온(ON)이었던 경우에는 메시지 송신 후 즉시 펌웨어에 대한 인터럽트를 발생시키는 회로 구성이 더해질 뿐이다.
여기서는 도 6에 도시하는 처리는 소프트웨어에 의해 실현하는 것으로서 설명한다. 소프트웨어에 의해 실현하는 경우에는 DMA 컨트롤러는 도시되지 않은 CPU와 메모리를 갖고 있으며, 이 메모리에 도 6에 도시하는 처리를 실현하기 위한 프로그램이 저장되어 있고, 이 프로그램을 CPU가 독출하여 실행한다. 도 6의 데이터전송 처리를 실현하는 기능부가 전송 제어부(14a)에 상당한다.
도 6에 도시하는 데이터 전송 처리는 DMA 컨트롤러가 펌웨어에 의해 기동될 때마다 실행된다. 또한, 여기서는 로컬측 노드(20)가 리모트측 노드(30)에 대하여 메시지 송신하는 경우를 예로서 설명하지만, 리모트측 노드(30)가 로컬측 노드(20)에 대하여 응답 메시지를 송신하는 경우도 동일한 처리를 행한다.
도 6에 있어서, DMA 컨트롤러(22)의 전송 제어부(22a)는 우선, 메모리로부터 디스크립터를 독출하고(단계 S11), 이 디스크립터를 해석함으로써(단계 S12), 메모리로부터 메시지를 독출하여(단계 S13), 리모트측 노드(30)에 대하여 이 메시지를 송신한다(단계 S14). 또한, 상기 디스크립터의 해석시에 플래그를 체크하고 있으며 (단계 S15), 플래그가 온(ON)이었던 경우에는 리모드측 노드(30)로부터의 완료 응답을 대기하지 않고, 즉시 펌웨어(21)에 대하여 완료 통지를 행한다(단계 S17). 한편, 플래그가 오프(OFF)였던 경우에는 리모드측 노드(30)로부터의 완료 응답을 대기(단계 S16), 완료 응답을 수신하면, 펌웨어(21)에 대하여 완료 통지를 행한다(단계 S17).
이와 같은 전송 제어를 행함으로써 로컬측 노드(20)-리모트측 노드(30) 사이의 데이터 전송 시퀀스는, 예컨대 도 7에 도시하는 바와 같이 된다.
도 7에 있어서, 로컬측 노드(20)의 펌웨어(21)(CPU)가 DMA 컨트롤러(22)를 기동하면, DMA 컨트롤러(22)는 디스크립터를 참조하여 메시지 "cmd"를 리모트측 노드(30)에 송신하는 동시에, 이 메시지 "cmd"에 대응하는 상기 플래그가 온(ON)이기 때문에, 리모트측 노드(30)로부터의 완료 응답을 대기하지 않고, 펌웨어(21)에 대한 인터럽트(완료 통지)를 실행한다. 이것에 의해 펌웨어(21)는, 예컨대 다른 노드에 대한 처리 등을 실행할 수 있다. 그 후, DMA 컨트롤러(22)는 리모트측 노드(30)로부터의 완료 응답을 수신하면 이것을 폐기한다.
한편, 상기 메시지 "cmd"를 수신한 리모트측 노드(30)의 DMA 컨트롤러(32)는 상기 완료 응답을 행하는 동시에, 자기 노드(30)의 펌웨어(31)에 대하여 인터럽트(메시지 "cmd" 수신의 통지)를 행한다. 이것으로부터 리모트측 노드(30)의 펌웨어(31)는 메시지 "cmd"에 따른 소정의 처리를 실행하고, 응답 메시지 "adr" 송신을 위한 처리를 실행한 후, DMA 컨트롤러(32)를 기동한다. DMA 컨트롤러(32)는 디스 크립터를 참조하여, 메시지 "adr"을 로컬측 노드(20)에 송신하는 동시에, 이 메시지 "adr"에 대응하는 상기 플래그가 온(ON)이기 때문에, 로컬측 노드(20)로부터의 완료 응답을 대기하지 않고, 펌웨어(31)에 대한 인터럽트(완료 통지)를 실행한다.
이것으로부터 펌웨어(31)는 상기 펌웨어(21)의 경우와 마찬가지로 다른 처리로 이행할 수 있다.
상기 메시지 "adr"을 수신한 DMA 컨트롤러(22)는 펌웨어(21)에 대한 인터럽트(메시지 "adr" 수신의 통지)를 실행하고, 그 후 DATA 전송이 행하여지게 된다. 그러나, 만약에 무엇인가의 이유로 상기 메시지 "cmd"를 송신 의뢰하고 나서 소정 시간 경과하여도 메시지 "adr"을 수신하지 않은 경우에는 펌웨어(21)는 타임아웃 검출하는 것이 된다. 이와 같이, 데이터 전송 시퀀스로서, 어떤 메시지의 송신에 대하여, 송신처로부터 응답 메시지가 회신되는 것이 정해져 있는 경우에는 응답 메시지가 보내져오지 않음으로써, 이 송신한 메시지가 상대편에 도달하고 있지 않다고 간접적으로 판단할 수 있다.
그 때문에, 송신한 메시지를 상대편이 정상적으로 수신한 경우에도 상대편으로부터의 응답 메시지가 없는 케이스를 제외하고, 즉 송신한 메시지가 데이터 전송시퀀스의 최후의 메시지인 경우(상기 예에서는 cmp)를 제외하고, 완료 응답을 대기하지 않고(메시지를 단념한 상태로) 허위로 펌웨어에 대하여 인터럽트를 행하고, 상기 타임아웃 검출 등에 의한 에러 처리는 뒤로 미루어도 특별히 문제는 없다.
도 7에 있어서, 메시지 "done"에 관해서도 상기 메시지 "cmd" 등과 마찬가지로 상기 플래그가 온(ON)이기 때문에, DMA 컨트롤러(22)는 리모트측 노드(30)로부 터의 완료 응답을 대기하지 않고, 펌웨어(21)에 대한 인터럽트를 실행한다.
한편, 도시한 데이터 전송 시퀀스 중 최후의 메시지인 메시지 "cmp" 의 경우에는, DMA 컨트롤러(32)는 상기 플래그가 OFF이기 때문에, 로컬측 노드(20)에 대하여 메시지 "cmp"를 송신하면, 완료 응답을 대기, 완료 응답을 수신하면, 펌웨어(31)에 대하여 인터럽트(완료 통지)를 행하게 된다.
이상 설명한 바와 같이, 본 예의 DMA 컨트롤러에 의하면, 특히 데이터 전송 전후에 행하여지는 메시지 교환시, 송신한 메시지의 종류에 따라서는 응답을 대기하지 않고, 허위로 응답을 펌웨어에 통지함으로써, 응답 대기 시간을 감소시켜 다른 처리를 실행시키는 것이 가능해진다. 따라서, 펌웨어는 응답이 올 때까지의 쓸데없는 대기 시간을 줄여, 처리 효율을 향상시킬 수 있다.

Claims (7)

  1. DMA 컨트롤러를 갖는 복수의 노드가 버스에 의해 접속된 정보 처리 시스템에 있어서의 상기 각 DMA 컨트롤러에 있어서,
    자기 노드의 펌웨어로부터 메시지 송신 의뢰를 받으면, 상기 메시지가 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 판정하여, 상기 완료 응답이 필요 없는 것이라고 판정한 경우에는 상기 메시지를 상기 버스를 통해 송신처 노드의 DMA 컨트롤러에 송신하는 동시에, 상기 송신처 노드로부터의 완료 응답을 대기하지 않고, 상기 자기 노드의 펌웨어에 대하여 완료 통지하는 데이터 전송 제어 수단을 포함하는 것을 특징으로 하는 DMA 컨트롤러.
  2. 제1항에 있어서, 상기 펌웨어는 상기 메시지 송신 의뢰에 있어서, 상기 메세지와 함께 상기 메시지의 디스크립터로서, 상기 메시지가 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 나타내는 플래그 정보를 포함하는 디스크립터를 상기 데이터 전송 제어 수단에 전달하고,
    상기 데이터 전송 제어 수단은 상기 플래그 정보를 참조함으로써, 상기 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 판정하는 것을 특징으로 하는 DMA 컨트롤러.
  3. 제1항 또는 제2항에 있어서, 상기 송신처 노드로부터의 완료 응답이 필요 없 는 메시지는 상기 메시지 송신 후에,
    상기 송신처 노드로부터 어떠한 메시지가 보내져 오는 것이 정해져 있는 메시지인 것을 특징으로 하는 DMA 컨트롤러.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 버스는 PCI_Express 아키텍처를 이용한 직렬 버스인 것을 특징으로 하는 DMA 컨트롤러.
  5. 복수의 노드가 버스에 의해 접속된 정보 처리 시스템에 있어서의 상기 각 노드에 있어서,
    자기 노드의 펌웨어로부터 메시지 송신 의뢰를 받으면, 상기 메시지가 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 판정하여, 상기 완료 응답이 필요 없는 것으로 판정한 경우에는 상기 메시지를 상기 버스를 통해 송신처 노드의 DMA 컨트롤러에 송신하는 동시에, 상기 송신처 노드로부터의 완료 응답을 대기하지 않고, 상기 자기 노드의 펌웨어에 대하여 완료 통지하는 DMA 컨트롤러를 포함하는 것을 특징으로 하는 노드.
  6. DMA 컨트롤러를 갖는 복수의 노드가 버스에 의해 접속된 정보 처리 시스템에 있어서의 상기 각 DMA 컨트롤러에 의한 데이터 전송 제어 방법으로서,
    자기 노드의 펌웨어로부터 메시지 송신 의뢰를 받으면, 상기 메시지가 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 판정하여, 상기 완료 응답이 필요 없는 것이라고 판정한 경우에는 상기 메시지를 상기 버스를 통해 송신처 노드의 DMA 컨트롤러에 송신하는 동시에, 상기 송신처 노드로부터의 완료 응답을 대기하지 않고, 상기 자기 노드의 펌웨어에 대하여 완료 통지하는 것을 특징으로 하는 데이터 전송 제어 방법.
  7. DMA 컨트롤러를 갖는 복수의 노드가 버스에 의해 접속된 정보 처리 시스템에 있어서의 상기 각 DMA 컨트롤러의 컴퓨터에,
    자기 노드의 펌웨어로부터 메시지 송신 의뢰를 받으면, 상기 메시지가 송신처 노드로부터의 완료 응답이 필요한 것인지 여부를 판정하여, 상기 완료 응답이 필요 없는 것이라고 판정한 경우에는, 상기 메시지를 상기 버스를 통해 송신처 노드의 DMA 컨트롤러에 송신하는 동시에, 상기 송신처 노드로부터의 완료 응답을 대기하지 않고, 상기 자기 노드의 펌웨어에 대하여 완료 통지하는 기능을 실현시키기 위한 프로그램.
KR1020077023490A 2005-04-01 2005-04-01 Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 KR100958685B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/006504 WO2006114822A1 (ja) 2005-04-01 2005-04-01 Dmaコントローラ、ノード、データ転送制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
KR20070116102A true KR20070116102A (ko) 2007-12-06
KR100958685B1 KR100958685B1 (ko) 2010-05-20

Family

ID=37214462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077023490A KR100958685B1 (ko) 2005-04-01 2005-04-01 Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체

Country Status (5)

Country Link
US (1) US7849235B2 (ko)
JP (1) JP4658122B2 (ko)
KR (1) KR100958685B1 (ko)
CN (1) CN100538684C (ko)
WO (1) WO2006114822A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687639B2 (en) 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
US8532098B2 (en) * 2009-11-30 2013-09-10 Nvidia Corporation System and method for virtual channel communication
FR2953307B1 (fr) 2009-12-01 2011-12-16 Bull Sas Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques
FR2953308B1 (fr) 2009-12-01 2011-12-09 Bull Sas Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme
US9176909B2 (en) * 2009-12-11 2015-11-03 Nvidia Corporation Aggregating unoccupied PCI-e links to provide greater bandwidth
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
JP6070357B2 (ja) * 2013-03-28 2017-02-01 富士通株式会社 ストレージ装置
JPWO2018037510A1 (ja) 2016-08-24 2018-12-06 株式会社日立製作所 計算機システム、通信デバイス、及び、記憶制御方法
KR101948163B1 (ko) * 2017-01-10 2019-02-14 충북대학교 산학협력단 Pci 익스프레스 기반의 연결통신망에서 배리어 구현 방법
FR3070514B1 (fr) * 2017-08-30 2019-09-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Controleur d'acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants
US10657087B2 (en) * 2018-05-31 2020-05-19 Toshiba Memory Corporation Method of out of order processing of scatter gather lists
JP7326863B2 (ja) * 2019-05-17 2023-08-16 オムロン株式会社 転送装置、情報処理装置、および、データ転送方法
JP7318423B2 (ja) * 2019-08-30 2023-08-01 富士通株式会社 通信制御装置、通信制御方法及び通信制御プログラム
CN112835823B (zh) * 2021-01-25 2022-03-01 无锡众星微系统技术有限公司 存储控制器应答发送方法
CN113971151A (zh) * 2021-10-28 2022-01-25 上海兆芯集成电路有限公司 串行传输控制器及其数据传输方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334260A (ja) 1992-06-03 1993-12-17 Fujitsu Ltd プロセッサ間データ転送制御方式
JP2715815B2 (ja) * 1992-07-06 1998-02-18 日本電信電話株式会社 デ−タ書き込み方法
JPH0793233A (ja) 1993-09-20 1995-04-07 Fujitsu Ltd ファームウェア・トレースデータ取得方式
US6105080A (en) * 1997-12-30 2000-08-15 Lsi Logic Corporation Host adapter DMA controller with automated host reply capability
US6353619B1 (en) * 1998-02-13 2002-03-05 Paradyne Corporation Circuit to integrate a host processor with special packet-handling logic for use with a DSL modem
JP3884862B2 (ja) 1998-04-30 2007-02-21 キヤノン株式会社 データ転送装置、データ転送装置の制御方法、記憶媒体
US6538758B1 (en) 1998-05-15 2003-03-25 Canon Kabushiki Kaisha Image output apparatus and method thereof, and image output system
JPH11327814A (ja) 1998-05-15 1999-11-30 Canon Inc 画像出力装置及びその方法、及び画像出力システム
JP2002163239A (ja) 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
JP2002163203A (ja) * 2000-11-22 2002-06-07 Net System Kk 情報提供装置、情報処理装置及び記録媒体
JP2004005382A (ja) * 2002-03-29 2004-01-08 Fujitsu Ltd データ転送装置および方法
US6985970B2 (en) 2003-04-25 2006-01-10 International Business Machines Corporation Data transfer with implicit notification
US20050232298A1 (en) * 2004-04-19 2005-10-20 Beverly Harlan T Early direct memory access in network communications

Also Published As

Publication number Publication date
CN101156144A (zh) 2008-04-02
JPWO2006114822A1 (ja) 2008-12-11
US20080104341A1 (en) 2008-05-01
CN100538684C (zh) 2009-09-09
US7849235B2 (en) 2010-12-07
KR100958685B1 (ko) 2010-05-20
JP4658122B2 (ja) 2011-03-23
WO2006114822A1 (ja) 2006-11-02

Similar Documents

Publication Publication Date Title
KR100958685B1 (ko) Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
US7395362B2 (en) Method for a slave device to convey an interrupt and interrupt source information to a master device
US7526592B2 (en) Interrupt control system and storage control system using the same
JP4558519B2 (ja) 情報処理装置およびシステムバス制御方法
US7844852B2 (en) Data mirror cluster system, method and computer program for synchronizing data in data mirror cluster system
US7873880B2 (en) Data relay device, storage device, and response delay monitoring method
US7631226B2 (en) Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller
JP5151500B2 (ja) コンピュータシステム、障害処理方法および障害処理プログラム
US7415555B2 (en) Bus bridge device
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
CN111427806A (zh) 一种双核amp系统共用串口的方法、存储介质及智能终端
US20140052879A1 (en) Processor, information processing apparatus, and interrupt control method
US7336657B2 (en) Inter-nodal data transfer system and data transfer apparatus
JP4572138B2 (ja) サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法
US20040078649A1 (en) Computer system
JP2004152156A (ja) インタフェース変換装置
WO2008062511A1 (fr) Système multiprocesseur
JP2000155738A (ja) データ処理装置
JP3056169B2 (ja) データ送受信方式とその方法
JP2948380B2 (ja) データ通信装置
JP2008059282A (ja) 分散処理システム、分散処理方法及びプログラム
JPH08328990A (ja) 計算機システムおよびその処理方法
JPH10271127A (ja) データ授受方式
JPH103463A (ja) プロセッサ間通信方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130502

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140418

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 10