KR0170497B1 - 어레이 프로세서간의 자원 공유를 위한 구조 - Google Patents

어레이 프로세서간의 자원 공유를 위한 구조 Download PDF

Info

Publication number
KR0170497B1
KR0170497B1 KR1019950047063A KR19950047063A KR0170497B1 KR 0170497 B1 KR0170497 B1 KR 0170497B1 KR 1019950047063 A KR1019950047063 A KR 1019950047063A KR 19950047063 A KR19950047063 A KR 19950047063A KR 0170497 B1 KR0170497 B1 KR 0170497B1
Authority
KR
South Korea
Prior art keywords
array
processor
input
processors
request
Prior art date
Application number
KR1019950047063A
Other languages
English (en)
Other versions
KR970049733A (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 KR1019950047063A priority Critical patent/KR0170497B1/ko
Publication of KR970049733A publication Critical patent/KR970049733A/ko
Application granted granted Critical
Publication of KR0170497B1 publication Critical patent/KR0170497B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 하나의 디스크 어레이에 두 개의 어레이 프로세서를 장착하여 외부에서 보면 마치 하나의 대용량의 디스크가 동작하는 것처럼 보이도록 하기 위한 두 어레이 프로세서를 연결시키는 어레이 프로세서간의 자원 공유를 위한 구조에 관한 것으로서, 그 특징은 호스트 컴퓨터로부터 호스트 인터페이스를 통해 디스크 어레이와 데이타를 오류없이 송수신하게 하는 어레이 프로세서간의 자원 공유를 위한 구조에 있어서, 상기 호스트 인터페이스를 통해 입출력 처리 요구가 전달되는 소정 개수의 어레이 프로세서를 포함하여, 상기 소정 개수의 어레이 프로세서가 요구를 분담하여 수행하여 입출력 요구의 처리 시간을 단축시키며, 상기 소정 개수의 어레이 프로세서가 서로 다른 입출력 요구를 병렬로 처리함으로써 입출력 성능을 향상시키며, 상기 소정 개수의 어레이 프로세서 중의 하나의 어레이 프로세서에 오류가 발생하면 상기 디스크 어레이는 중단 없이 오류가 발생하지 않은 다른 소정 개수의 어레이 프로세서 중 하나를 통해서 입출력 요구가 처리되는 데에 있으므로, 하나의 제어기에 오류가 발생하는 경우에 디스크 어레이 장치가 중단없이 입출력 요구를 처리할 수 있다는 데에 그 효과가 있다.

Description

어레이 프로세서간의 자원 공유를 위한 구조
제1도는 일반적인 디스크 어레이의 구조도.
제2도는 본 발명에 따른 하나의 디스크 어레이에 두 개의 제어기를 장착하는 구조도.
제3도는 종래의 하나의 어레이 프로세서의 내부 구조도.
제4도는 두 개의 어레이 프로세서가 프로세서 버스를 통해 연결되는 구조도.
제5도는 본 발명에 따른 두 개의 어레이 프로세서가 직접 입출력 채널이 연결된 버스에 연결되는 구조도.
본 발명은 어레이 프로세서간의 자원 공유를 위한 구조에 관한 것으로서, 특히 하나의 디스크 어레이에 두 개의 어레이 프로세서를 장착하여 외부에서 보면 마치 하나의 대용량의 디스크가 동작하는 것처럼 보이도록 하기 위한 두 어레이 프로세서를 연결시키는 어레이 프로세서간의 자원 공유를 위한 구조에 관한 것이다.
일반적으로, 디스크 어레이는 크게 두 부분으로 구성된다.
하나는 디스크 어레이와 관련된 모든 제어 및 관리를 담당하는 어레이 프로세서(array processor) 부분이고, 다른 하나는 많은 디스크들이 배열로 구성된 디스크 장치 부분이다.
여기서, 어레이 프로세서는 디스크 어레이가 연결된 상위 호스트 시스템과 디스크 장치 부분을 연결시켜 주는 통로의 역활을 한다.
디스크 어레이는 저렴한 저용량의 디스크들을 배열한 구조로서 외부에서 보면 마치 하나의 대용량의 디스크가 동작하는 것처럼 보이도록 구성한 장치이다.
이 장치는 일반적인 컴퓨터 시스템에 연결되어 시스템으로부터 입출력 요구가 오면 장치를 구성하는 여러 디스크들이 동시에 그 요구를 처리함으로써 처리시간을 단축시켜 입출력 성능을 향상시킨다.
상기에서 설명한 디스크 어레이의 모든 제어 및 관리를 하는 어레이 프로세서의 고장으로 인한 전체 디스크 어레이의 동작 정지를 방지하기 위해 하나의 디스크 어레이에 두 개의 어레이 프로세서를 장착하는 구조가 설계되었다.
제1도는 일반적인 디스크 어레이의 구조도이다.
제1도를 참조하여 일반적인 디스크 어레이의 구조를 설명하면 다음과 같다.
종래의 디스크 어레이 구조는 직접적으로 디스크를 제어하는 디스크 제어기(disk controller)(102)를 여러 개 장착하여 각 디스크 제어기(102)에 여러 개의 디스크들(103)을 연결 상위 호스트 시스템과 여러 개의 디스크 제어기(102)들 사이의 인터페이스를 담당하는 어레이 프로세서(101)를 두어 상위 호스트 시스템으로부터 디스크들(103)로의 모든 입출력 요구는 이 어레이 프로세서(101)를 통해서만 처리되는 중앙 집중형 구조로 되어 있었다.
어레이 프로세서(101)가 고장나면 상위 호스트 시스템과 디스크 장치간의 인터페이스는 불가능하기 때문에 호스트로부터의 어떤 입출력 요구도 처리되지 못한다는 단점이 있었다.
상기 단점을 해결하기 위하여 제2도와 같은 하나의 디스크 어레이에 두 개의 제어기를 장착하는 구조가 개발되었다.
제2도는 본 발명에 따른 하나의 디스크 어레이에 두 개의 제어기를 장착하는 구조도이다.
제2도를 참조하여 본 발명에 따른 하나의 디스크 어레이에 두 개의 제어기를 장착하는 구조를 설명하면 다음과 같다.
호스트 인터케이스를 통해 입출력 처리 요구가 두 개의 어레이 프로세서(201)로 전달된다.
그리고 나서, 두 개의 어레이 프로세서(201)는 요구를 분담하여 수행하여 입출력 요구의 처리 시간을 단축하거나 두 개의 어레이 프로세서(201)가 서로 다른 입출력 요구를 병렬로 처리함으로써 입출력 성능이 향상된다.
그리고 하나의 어레이 프로세서(201)에 오류가 발생하면 디스크 어레이(203)는 중단 없이 다른 하나의 어레이 프로세서(201)를 통해 입출력 요구가 처리되기 때문에 신뢰성도 향상된다.
제3도는 본 발명에 따른 하나의 어레이 프로세서의 내부 구조도이다.
제3도를 참조하여 본 발명에 따른 하나의 어레이 프로세서의 내부 구조를 설명하면 다음과 같다.
하나의 어레이 프로세서(201)는 프로세서 모듈(301), 지역 자원 모듈(302), PCI 모듈(303,304), 그리고 SCSI 인터페이스 모듈(305,306)로 구성된다.
프로세서 모듈(301)은 호스트 인터페이스를 통해 들어오는 입출력 요구를 처리하고, 어레이 프로세서(201)의 제어 및 관리를 하는 모들이다.
지역 자원 모듈(302)은 어레이 프로세서(201)가 동작하는 데에 필요한 지역 자원들로 구성되는 모듈이다.
PCI 모듈(303,304)은 프로세서 버스와 PCI 버스의 인터페이스를 담당하는 모듈이다.
그리고 SCSI 인터페이스 모듈(305,306)은 PCI 모듈(304)과 하위 디스크들의 인터페이스를 담당하는 모듈이다.
제4도는 두 개의 어레이 프로세서가 프로세서 버스를 통해 연결되는 구조도이다.
제4도를 참조하여 두 개의 어레이 프로세서가 프로세서 버스를 통해 연결되는 구조를 설명하면 다음과 같다.
AP1과, AP2는 동일한 구조로인데, 각 어레이 프로세서(201)의 프로세서 모듈(301)(301)의 구조 중에서 두 개의 어레이 프로세서(201)를 연결하는 데에 필요한 장치들과 각 장치들의 상호 연결을 나타낸다.
장치들 중 중재 회로(Arbitration Logic)(412,422)는 프로세서(411,421)와 PCI 모듈(414,415,424,425) 사이의 지역 버스(416,426)의 마스터를 결정하는 중재 과정을 수행하는 회로이다.
이 지역 버스(416,426)는 프로세서(411,421)나 두 개의 PCI 모듈들(414,415,424,425), 그리고 다른 제어기에 의해 사용된다.
상기의 구조는 두 제어기가 각 제어기의 프로세서 버스(417,427)에 연결된 버퍼(413)를 통해 직접 연결됨으로써 타 제어기로의 입출력 요구를 처리할 때에 타 제어기의 프로세서 버스(417,427)를 이용하여 신호 및 데이터의 전송을 수행한다.
따라서 하나의 제어기가 타 제어기를 통한 자원 참조나 디스크 접근을 수행하려면 우선 그 제어기의 프로세서 버스(417,427)의 마스터를 결정하는 중재에 참가하여 프로세서 버스(417,427)의 마스터가 되어야만 한다.
프로세서 버스(417,427)의 마스터만이 지역 버스(416,426)의 사용의 중재를 담당하는 중재 회로(412,422)로 버스 요구 신호를 보낼 수 있다.
reql/ackl은 프로세서 버스(417,427)의 중재에서 마스터가 된 프로세서(411,421)의 지역 버스(416,426) 사용을 위한 버스 요구 및 응답 신호이다.
그리고 다른 두 신호 쌍인 req2/ack2와 req3/ack3은 PCI 모듈(414,415,424,425)의 버스 요구 및 응답 신호이다.
중재 회로(412,422)는 버스 요구 신호들이 오면 그 신호들간의 중재 과정을 통해 버스 마스터를 결정하고, 해당 요구 신호를 보낸 장치로 버스 마스터가 되었음을 알리는 응답 신호를 보낸다.
그러나 제4도와 같이 두 제어기를 서로의 프로세서 버스(417,427)로 직접 연결시키는 구조는 동일한 제어기 내 프로세서(411,421)가 아닌 타 제어기의 프로세서가 프로세서(411,421) 및 지역 버스(416,426)의 마스터가 될 때 문제가 발생한다.
제1프로세서(411)가 AP2(Array Processor 2)내 지역 버스(416)의 마스터가 되면 제1프로세서(411)는 요구를 처리하는 동안 제2프로세서(421)의 프로세서 버스(427)를 점유하기 때문에 제2프로세서(421)는 제1프로세서(411)가 처리를 완료하고 버스를 놓을 때까지는 그 프로세서 버스(417)를 이용한 어떤 요구의 처리도 불가능하다.
즉, 상기와 같이 프로세서가 연결되는 지역 보스(416)를 통하여 정합하는 경우에는, 하나의 프로세서가 타 프로세서 모듈을 통하여 입출력 요구를 처리하는 동안에 해당 모듈의 프로세서는 그 요구의 처리가 완료될 때까지 자신의 입출력 요구는 중단되는 문제점이 있다. 그리고, 프로세스 내 지역버스의 마스터 결정과 상기 중재회로(412, 413)를 통한 입출력 채널의 마스터 결정 등 두 번의 중재과정을 거쳐야 한다는 문제점이 있다.
또 다른 문제점은 두 제어기 중 하나의 제어기 내 프로세서 모듈(301)에서 오류가 발생하는 경우 다른 제어기를 통해 오류가 발생한 제어기의 지역 자원으로 접근이 불가능하기 때문에 자원 손실의 우려가 있다는 것이다.
상기 문제점을 해결하기 위한 본 발명의 목적은 저렴한 저용량의 디스크들을 배열한 하나의 디스크 어레이에 두 개의 어레이 프로세서를 장착하여 외부에서 보면 마치 하나의 대용량의 디스크가 동작하는 것처럼 보이도록 입출력 요구를 분담하여 처리하며 하나의 제어기에 오류가 발생하는 경우에 디스크 어레이 장치가 중단없이 입출력 요구를 처리하기 위한 두 어레이 프로세서를 연결시키는 어레이 프로세서간의 자원 공유를 위한 구조를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 특징은 호스트 컴퓨터로부터 호스트 인터페이스를 통해 디스크 어레이와 데이타를 오류없이 송수신하게 하는 어레이 프로세서간의 자원 공유를 위한 구조에 있어서, 상기 호스트 인터페이스를 통해 입출력 처리 요구가 전달되는 소정 개수의 어레이 프로세서를 포함하여, 상기 소정 개수의 어레이 프로세서가 요구를 분담하여 수행하여 입출력 요구의 처리 시간을 단축시키며, 상기 소정 개수의 어레이 프로세서가 서로 다른 입출력 요구를 병렬로 처리함으로써 입출력 성능을 향상시키며, 상기 소정 개수의 어레이 프로세서 중의 하나의 어레이 프로세서에 오류가 발생하면 상기 디스크 어레이는 중단 없이 오류가 발생하지 않은 다른 소정 개수의 어레이 프로세서 중 하나를 통해서 입출력 요구가 처리되는 데에 있다.
상기 목적을 달성하기 위한 본 발명의 다른 특징은 호스트 컴퓨터로부터 호스트 인터페이스를 통해 디스크 어레이와 데이타를 오류없이 송수신하게 하는 어레이 프로세서간의 자원 공유를 위한 구조에 있어서, 두 제어기를 연결할때 각 제어기를 입출력 채널들이 연결된 버스에 직접 연결시키는 데에 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.
제5도는 두 개의 어레이 프로세서가 직접 입출력 채널이 연결된 버스에 연결되는 구조도이다.
제5도를 참조하여 두 개의 어레이 프로세서가 직접 입출력 채널이 연결된 버스에 연결되는 구조를 설명하면 다음과 같다.
제5도는 제4도의 구조에서 발생되는 하나의 제어기가 타 제어기 내 지역 버스의 마스터가 되어 그 제어기 내 프로세서 버스를 통해 요구를 처리함으로 인한 프로세서 버스의 점유와, 그로 인한 그 제어기 내의 프로세서의 입출력 요구 처리가 중단되는 문제와 하나의 제어기의 프로세서 모듈에 오류가 발생한 경우에 타 제어기를 통해서도 오류가 발생한 제어기의 지역 자원들로 접근하지 못함으로써 발생하는 자원 손실의 문제점을 해결하면서 성능도 향상시키고자 고안된 구조를 도식화한 것이다.
상기 구조에서 각 제어기의 내부 구조는 제4도에서의 설명과 동일하다.
그러나, 두 제어기간 연결 구조는 타 제어기에 의한 프로세서 버스의 점유로 인한 프로세서 동작 중단과 제어기의 오류로 인한 자원 손실을 방지하기 위해 두 제어기를 직접 프로세서 버스에 연결하지 않고 각 제어기에서 입출력 채널을 연결하는 지역 버스에 연결한다.
각 제어기 내 프로세서 모듈의 중재 회로에서 reql/ackl은 각 제어기의 프로세서의 지역 버스 요구 및 응답 신호이고, req4/ack4는 타 제어기로 부터의 버스 요구 및 응답 신호이다.
다른 두 쌍의 신호들은 제4도에서의 설명과 동일하다.
상기 구조는 타 제어기의 프로세서가 현 제어기의 프로세서 버스의 마스터가 되어도 실제 자원으로의 접근이나 데이터 전송이 그 프로세서 버스가 아닌 지역 버스를 통해 직접 수행되기 때문에 타 제어기의 프로세서에 의해 프로세서 버스가 점유되는 일이 발생하지 않는다.
제1프로세서(411)가 타 제어기인 AP2의 자원에 접근하거나 AP2에 연결된 디스크들로 접근하는 경우에 제2프로세서(421)가 연결된 프로세서 버스(427)를 사용하지 않고 지역 버스를 이용하기 때문에 제2프로세서(421)는 지역 버스(426)를 이용하지 않고도 참조가 가능한 지역자원의 참조나 타 제어기인 API(Array Processor 1)의 자원 참조, 또는 API에 대한 입출력 요구를 처리한다.
즉, 두 제어기가 프로세서 버스를 통해 연결되는 구조(제4도)보다 지역 버스를 통해 연결되는 구조(제5도)가 입출력 성능이 향상된다.
또한, 상기 제4도에서 문제시 되었던 두 번의 중재 과정은 한 번으로 감소된다.
그리고, 제4도에서 발생한 또 하나의 문제점인 하나의 제어기에 오류가 발생함으로써 그 제어기내 자원을 손실하는 문제도 제5도의 구조로 해결된다.
상기 구조는 두 개의 제어기가 지역 버스를 통해 연결되기 때문에 하나의 제어기에 오류가 발생하여 그 제어기를 통한 지역 자원의 참조나 디스크로의 접근이 불가능할 때 타 제어기가 오류가 발생한 제어기의 지역 버스를 통해 그 제어기내 지역 자원들을 참조하거나 그 제어기에 연결된 디스크들로 접근할 수 있기 때문에 자원 손실의 우려가 없는 신뢰성이 높은 구조이다.
그러므로, 상술한 바와 같은 본 발명은 하나의 제어기에 오류가 발생하는 경우에 디스크 어레이 장치가 중단없이 입출력 요구를 처리할 수 있다는 데에 그 효과가 있다.

Claims (2)

  1. 호스트 컴퓨터로부터 호스트 인터페이스를 통해 디스크 어레이와 데이터를 오류없이 송수신하게 하는 동일한 구조를 갖는 어레이 프로세서간의 자원 공유를 위한 구조에 있어서, 상기 호스트 인터페이스를 통해 입출력 처리 요구가 전달되는 상기 어레이 프로세서를 2개 구비하며; 상기 2개의 어레이 프로세서가 요구를 분담하여 수행하여 입출력 요구의 처리 시간을 단축시키며; 상기 2개의 어레이 프로세서가 서로 다른 입출력 요구를 병렬로 처리 함으로써 입출력 성능을 향상시키며; 상기 2개의 어레이 프로세서 중의 하나의 어레이 프로세서에 오류가 발생하면 상기 디스크 어레이는 중단 없이 오류가 발생하지 않은 다른 하나의 어레이 프로세서를 통해서 입출력 요구가 처리되는 것을 특징으로 하는 어레이 프로세서간의 자원 공유를 위한 구조.
  2. 제2항에 있어서, 상기 두 개의 어레이 프로세서는, 정합시에 각 어레이 프로세서의 프로세서 모듈을 통하여 정합하지 않고 직접적으로 입출력 채널들이 연결된 지역 버스를 통하여 정합되는 것을 특징으로 하는 어레이 프로세서간의 자원 공유를 위한 구조.
KR1019950047063A 1995-12-06 1995-12-06 어레이 프로세서간의 자원 공유를 위한 구조 KR0170497B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950047063A KR0170497B1 (ko) 1995-12-06 1995-12-06 어레이 프로세서간의 자원 공유를 위한 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950047063A KR0170497B1 (ko) 1995-12-06 1995-12-06 어레이 프로세서간의 자원 공유를 위한 구조

Publications (2)

Publication Number Publication Date
KR970049733A KR970049733A (ko) 1997-07-29
KR0170497B1 true KR0170497B1 (ko) 1999-03-30

Family

ID=19438041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950047063A KR0170497B1 (ko) 1995-12-06 1995-12-06 어레이 프로세서간의 자원 공유를 위한 구조

Country Status (1)

Country Link
KR (1) KR0170497B1 (ko)

Also Published As

Publication number Publication date
KR970049733A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
US6557069B1 (en) Processor-memory bus architecture for supporting multiple processors
USRE44342E1 (en) Bus architecture employing varying width uni-directional command bus
US3993981A (en) Apparatus for processing data transfer requests in a data processing system
CA1224572A (en) Fast path means for storage accesses
EP0063334B1 (en) Data processing apparatus for a multiprocessor system
US20080147869A1 (en) Apparatus, system, and method for an alternate lock facility connection path
US4000485A (en) Data processing system providing locked operation of shared resources
US3995258A (en) Data processing system having a data integrity technique
US3997896A (en) Data processing system providing split bus cycle operation
EP0451938B1 (en) Multiple cluster signal processor
US4001790A (en) Modularly addressable units coupled in a data processing system over a common bus
US4933838A (en) Segmentable parallel bus for multiprocessor computer systems
US6175931B1 (en) Global hard error distribution using the SCI interconnect
US6564294B1 (en) Broadcast system in disk array controller
US7581049B2 (en) Bus controller
US7089457B2 (en) Efficient I/O retry over QDIO
KR0170497B1 (ko) 어레이 프로세서간의 자원 공유를 위한 구조
US9910789B2 (en) Electrical and optical memory access
US7007122B2 (en) Method for pre-emptive arbitration
CN112612741B (zh) 一种多路服务器
US4802087A (en) Multiprocessor level change synchronization apparatus
CN114461550A (zh) 基于i2c通信的多主控设备访问仲裁系统及方法
WO2003040873A2 (en) Design verification
US6941408B2 (en) Bus interface system with two separate data transfer interfaces
US20040042496A1 (en) System including a segmentable, shared bus

Legal Events

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

Payment date: 20091001

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee