KR0170492B1 - Hipss controller - Google Patents

Hipss controller Download PDF

Info

Publication number
KR0170492B1
KR0170492B1 KR1019950047873A KR19950047873A KR0170492B1 KR 0170492 B1 KR0170492 B1 KR 0170492B1 KR 1019950047873 A KR1019950047873 A KR 1019950047873A KR 19950047873 A KR19950047873 A KR 19950047873A KR 0170492 B1 KR0170492 B1 KR 0170492B1
Authority
KR
South Korea
Prior art keywords
bus
disk
processor
parity
pci
Prior art date
Application number
KR1019950047873A
Other languages
Korean (ko)
Other versions
KR970049370A (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 KR1019950047873A priority Critical patent/KR0170492B1/en
Publication of KR970049370A publication Critical patent/KR970049370A/en
Application granted granted Critical
Publication of KR0170492B1 publication Critical patent/KR0170492B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 디스크 어레이(Disk Array) 시스템인 HIPSS(High Performance Storage System)의 제어기 구조에 관한 것으로서, 그 특징으로 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 프로세서 버스에 접속되어 플로피 디스크 드라이버를 제어하는 플로피 디스크 제어수단과, 프로세서 버스와 접속되어 있고 제1 PCI 버스와 접속되어 데이타 전송을 정합시키는 제1 PCI 브리지 수단과, 프로세서 버스와 접속되어 있고 제2 PCI 버스와 접속되어 데이타 전송을 정합시키는 제2 PCI 브리지 수단과, 제1 PCI 버스와 접속되어 데이타를 임시로 저장하는 제1디스크 캐쉬 기억수단과, 제2 PCI 버스와 접속되어 데이타를 임시로 저장하는 제2디스크 캐쉬 기억수단과, 제1디스크 캐쉬 기억수단과 접속되어 제1디스크 캐쉬 기억수단에 저장되는 데이타의 패리티를 갱신하고 제1디스크 캐쉬 기억수단과 함께 독립적인 패리티 연산과 디스크 액세스를 보장하는 제1패리티 갱신수단과, 제2디스크 캐쉬 기억수단과 접속되어 제2디스크 캐쉬 기억수단에 저장되는 데이타의 패리티를 갱신하고 제2디스크 캐쉬 기억수단과 함께 독립적인 패리티 연산과 디스크 액세스를 보장하는 제2패리티 갱신수단과, 제1 PCI 버스에 접속되어 빠른 SCSI 정합을 수행하는 소정 개수의 제1 SCSI 정합수단과, 제2 PCI 버스에 접속되어 빠른 SCSI 정합을 수행하는 소정 개수의 제2 SCSI 정합수단 및 제1 PCI 버스와 제2 PCI 버스와 접속되어 넓은 SCSI 정합을 수행하는 호스트 정합수단을 포함하여, 두개의 대칭적 PCI 버스를 가지는 데에 있으므로, 상술한 바와 같은 본 발명은 대용량의 저장기능, 데이타 가용성 향상, 고성능 입출력 성능을 얻을 수 있다는 데에 그 효과가 있다.The present invention relates to a controller structure of a high performance storage system (HIPSS), which is a disk array system. The present invention relates to a HIPSS having a processor, a local memory, a real time clock generator, and a serial input / output means connected to a processor bus. A controller of claim 1, comprising: a floppy disk control means connected to a processor bus to control a floppy disk driver, first PCI bridge means connected to a processor bus and connected to a first PCI bus to match data transfer; Second PCI bridge means connected to and connected to the second PCI bus to match data transfer, first disk cache storage means connected to the first PCI bus to temporarily store data, and connected to the second PCI bus. A second disk cache storage means for temporarily storing data, and a first disk cache storage means First parity updating means for updating the parity of data stored in the first disk cache storage means and ensuring independent parity operation and disk access with the first disk cache storage means, and the second disk cache storage means. Second parity updating means for updating parity of data stored in the second disk cache storage means and ensuring independent parity operation and disk access together with the second disk cache storage means, and fast SCSI matching connected to the first PCI bus. A predetermined number of first and second SCSI matching means connected to the second PCI bus, and a predetermined number of second and second SCSI matching means connected to the first PCI bus and the first and second PCI buses Including the host matching means for performing the two symmetrical PCI bus, the present invention as described above has a large storage capacity, This has the effect of improving data availability and achieving high performance I / O performance.

Description

HIPSS의 제어기Controller of HIPSS

제1도는 종래의 디스크 어레이 시스템의 블럭도.1 is a block diagram of a conventional disk array system.

제2도는 종래의 다른 디스크 어레이 시스템의 블럭도.2 is a block diagram of another conventional disk array system.

제3도는 본 발명에 따른 HIPSS(HIgh Performance Storage System)의 제어기의 블럭도.3 is a block diagram of a controller of a high performance storage system (HIPSS) according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

i960 : I960 계열 프로세서i960: I960 Series Processor

FDC : 플로피 디스크 제어기(Floppy Disk Controller)FDC: Floppy Disk Controller

RTC : 리얼 타임 클럭(Real Time Clock)RTC: Real Time Clock

SIO : 직렬 입출력(Serial Input Output)SIO: Serial Input Output

DCM : 디스크 캐쉬 메모리(Disk Cache Memory)DCM: Disk Cache Memory

PE : 패리티 엔진(Parity Engine)PE: Parity Engine

Host I/F : 호스트 인터페이스(Host InterFace)Host I / F: Host InterFace

SCSI I/F : SCSI 인터페이스(SCSI InterFace)SCSI I / F: SCSI InterFace

본 발명은 HIPSS의 제어기에 관한 것으로서, 특히 디스크 어레이(Disk Array) 시스템인 HIPSS(HIgh Performance Storage System)의 제어기 구조에 관한 것이다.The present invention relates to a controller of a HIPSS, and more particularly, to a controller structure of a high performance storage system (HIPSS), which is a disk array system.

일반적으로, 컴퓨터 응용기술은 고속의 데이타 처리뿐만 아니라 대용량의 자료 처리 분야로도 많이 이용되고 있다.In general, computer application technology is widely used not only for high speed data processing but also for large data processing.

그리고 영상, 음성, 텍스트를 동시에 처리하는 멀티미디어 응용은 더 많은 용량의 저장장치와 고속의 입출력 성능을 요구하고 있다.In addition, multimedia applications that process video, voice, and text simultaneously require more storage and faster input / output performance.

이에 따라 수십 Gbyte 이상의 데이타 베이스를 구축하고 이를 고속으로 처리하기 위해서는 고속의 입출력 성능을 가지면서 대용량의 저장 능력을 가진 디스크 입출력 장치의 새로운 설계가 필요하게 되었다.Accordingly, in order to construct a database of tens of Gbytes or more and process it at high speed, a new design of a disk I / O device having high input / output performance and large storage capacity is required.

고속의 대용량 디스크 장치를 설계하는 경우에 단일 대형 디스크보다는 다수의 소형, 고밀도 디스크를 사용하여 설계하는 것이 성능, 비용, 신뢰성 측면에서 유리하다는 것이 많은 연구 결과를 통해 입증되고 있다.Many studies have shown that when designing high-capacity, high-capacity disk devices, it is advantageous in terms of performance, cost, and reliability to design using multiple small, high-density disks rather than a single large disk.

실제로 이 연구 결과를 바탕으로 많은 디스크 어레이 시스템이 설계, 제작되고 있다.In fact, many disk array systems have been designed and manufactured based on the results of this study.

종래에는 설계, 제작된 디스크 어레이 시스템은 제1도와 같은 구조를 가지고 있었다.In the prior art, the designed and manufactured disk array system had a structure as shown in FIG.

제1도는 종래의 디스크 어레이 시스템의 블럭도이다.1 is a block diagram of a conventional disk array system.

제1도를 참조하여 종래의 디스크 어레이 시스템을 설명하면 다음과 같다.Referring to FIG. 1, a conventional disk array system will be described.

호스트 인터페이스를 가지고 하나 이상의 RAID 레벨을 지원하고 프로세서와 여러 개의 입출력 버스를 가지고 있다.It supports one or more RAID levels with a host interface and has a processor and several I / O buses.

하지만 이들의 대부분은 프로세서 버스에 직접 입출력 버스를 접속하고 있어서 대용량의 데이타 입출력 전송에 대역폭 상의 많은 제약점을 가지고 있었다.However, most of them are directly connected to the I / O bus to the processor bus, which has a lot of bandwidth limitations for large data I / O transmission.

프로세서 버스의 대역폭 제한 때문에 다수의 입출력 버스를 가지도록 확장하는 데 많은 한계를 가지고 있었다.Due to the bandwidth limitations of the processor bus, there have been many limitations in scaling to multiple I / O buses.

그리고 RAID 레벨 5를 사용할 때에 디스크 쓰기마다 발생하는 패리티 갱신 동작을 프로세서가 담당하고 있어서 다수의 쓰기 요구를 고속으로 처리하는 데에 한계가 있었다.When the RAID level 5 is used, the processor is in charge of the parity update operation that occurs every disk write, and there is a limit in processing a large number of write requests at high speed.

제1도와 같은 제어기 구조는 대용량으로 확장할 수 있는 확장성이 떨어지고 성능 향상도 한계점을 가지고 있었다는 단점이 있었다.The controller structure as shown in FIG. 1 has a disadvantage in that it is inexpensive to expand in large capacity and has a limitation in improving performance.

상기 제1도의 구조의 단점을 극복하기 위해 패리티 엔진을 추가하고 PCI 브리지를 통해 SCSI 인터페이스를 접속하는 구조도 제안되었다.In order to overcome the disadvantages of the structure of FIG. 1, a structure of adding a parity engine and connecting a SCSI interface through a PCI bridge has also been proposed.

제2도는 종래의 다른 디스크 어레이 시스템의 블럭도이다.2 is a block diagram of another conventional disk array system.

제2도를 참조하여 종래의 다른 디스크 어레이 시스템을 설명하면 다음과 같다.Referring to FIG. 2, another conventional disk array system will be described.

이 구조는 제1도의 구조보다 SCSI 인터페이스를 확장하기 용이하고 패리티 엔진이 패리티 갱신 부담을 프로세서에게 덜어줌으로써 전체 입출력 성능 향상을 기대할 수 있다.This structure is easier to extend the SCSI interface than the structure of FIG. 1, and the parity engine can reduce the parity update burden on the processor, thereby improving overall I / O performance.

하지만, 이 구조도 많은 제약점을 지니고 있다.However, this structure also has many limitations.

이는 디스크 데이타 전송을 위해 입출력 버스, PCI 버스와 프로세서 버스를 거침으로써 많은 오버헤드가 추가된다는 문제점이 있었다.This adds a lot of overhead by going through the I / O bus, PCI bus and processor bus for disk data transfer.

그리고 패리티 갱신을 위해서도 항상 3개의 버스를 구동해야 한다. 이것은 다수의 입출력 버스를 접속하기 위해 PCI 버스를 둠으로써 일어나는 문제점이다.In addition, three buses must always be driven for parity updates. This is a problem caused by having a PCI bus to connect multiple I / O buses.

또한, 종래의 디스크 어레이 시스템은 호스트 인터페이스가 프로세서 버스에 접속되고 있어서 대량의 입출력 데이타가 항상 프로세서 버스를 통해 호스트 인터페이스에 전송되어 프로세서 버스에 큰 부담이 되었다는 문제점이 있었다.In addition, the conventional disk array system has a problem that the host interface is connected to the processor bus, so that a large amount of input and output data is always transferred to the host interface through the processor bus, which is a big burden on the processor bus.

상기 문제점을 해결하기 위한 본 발명의 목적은 대용량의 저장 기능과 고가용성, 고성능을 제공하도록 설계된 디스크 어레이 시스템인 HIPSS의 제어기를 제공함에 있다.An object of the present invention to solve the above problems is to provide a controller of the HIPSS, which is a disk array system designed to provide a large storage capacity, high availability, and high performance.

상기 목적을 달성하기 위한 본 발명의 특징은 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 상기 프로세서 버스에 접속되어 플로피 디스크 드라이버를 제어하는 플로피 디스크 제어수단과, 상기 프로세서 버스와 접속되어 있고 제1 PCI 버스와 접속되어 데이타 전송을 정합시키는 제1 PCI 브리지 수단과, 상기 프로세서 버스와 접속되어 있고 제2 PCI 버스와 접속되어 데이타 전송을 정합시키는 제2 PCI 브리지 수단과, 상기 제1 PCI 버스와 접속되어 데이타를 임시로 저장하는 제1디스크 캐쉬 기억수단과, 상기 제2 PCI 버스와 접속되어 데이타를 임시로 저장하는 제2디스크 캐쉬 기억수단과, 상기 제1디스크 캐쉬 기억수단과 접속되어 상기 제1디스크 캐쉬 기억수단에 저장되는 데이타의 패리티를 갱신하고 상기 제1디스크 캐쉬 기억수단과 함께 독립적인 패리티 연산과 디스크 액세스를 보장하는 제1패리티 갱신수단과, 상기 제2디스크 캐쉬 기억수단과 접속되어 상기 제2디스크 캐쉬 기억수단에 저장되는 데이타의 패리티를 갱신하고 상기 제2디스크 캐쉬 기억수단과 함께 독립적인 패리티 연산과 디스크 액세스를 보장하는 제2패리티 갱신수단과, 제1 PCI 버스에 접속되어 빠른 SCSI 정합을 수행하는 소정 개수의 제1 SCSI 정합수단과, 제2 PCI 버스에 접속되어 빠른 SCSI 정합을 수행하는 소정 개수의 제2 SCSI 정합수단 및 상기 제1 PCI 버스와 상기 제2 PCI 버스와 접속되어 넓은 SCSI 정합을 수행하는 호스트 정합수단을 포함하여, 두개의 대칭적 PCI 버스를 가지는 데에 있다.A feature of the present invention for achieving the above object is a HIPSS controller having a processor, a local memory, a real-time clock generator, and a serial input / output means connected to a processor bus, the controller being connected to the processor bus to control a floppy disk driver. Floppy disk control means, first PCI bridge means connected to said processor bus and connected to a first PCI bus for matching data transfer, and first PCI bridge means connected to said processor bus and connected to a second PCI bus for matching data transfer Second disk bridge storage means for connecting data to the first PCI bus and temporarily storing data; second disk cache storage means for temporarily storing data connected to the second PCI bus and storing data temporarily. Connected to the first disk cache storage means and stored in the first disk cache storage means. First parity updating means for updating the parity of the data to be converted and ensuring independent parity operation and disk access together with the first disk cache storage means, and the second disk cache storage means connected to the second disk cache storage means. Second parity updating means for updating the parity of the data stored in the memory and ensuring independent parity operation and disk access together with the second disk cache storage means, and a predetermined number of fast interconnects connected to the first PCI bus to perform fast SCSI matching. A first number of SCSI matching means, a predetermined number of second SCSI matching means connected to a second PCI bus to perform fast SCSI matching, and a first connection to the first PCI bus and the second PCI bus to perform wide SCSI matching. It has two symmetrical PCI buses, including host matching means.

상기 목적을 달성하기 위한 본 발명의 다른 특징은 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 다수의 SCSI 인터페이스를 프로세서 버스에 직접 접속하지 않고 두개의 그룹으로 나누어 2개의 PCI 버스에 접속한 데에 있다.Another feature of the present invention for achieving the above object is a HIPSS controller having a processor, a local memory, a real-time clock generator, and a serial input / output means connected to a processor bus, wherein a plurality of SCSI interfaces are not directly connected to the processor bus. It is divided into two groups and connected to two PCI buses.

상기 목적을 달성하기 위한 본 발명의 또 다른 특징은 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 호스트 인터페이스를 프로세서 버스에 직접 접속하지 않고 버퍼를 사용해 2개의 PCI 버스에 직접 접속한 데에 있다.Another feature of the present invention for achieving the above object is a HIPSS controller having a processor, a local memory, a real-time clock generator, and a serial input / output means connected to a processor bus, wherein the host interface is not directly connected to the processor bus. It is directly connected to two PCI buses using a buffer.

상기 목적을 달성하기 위한 본 발명의 또 다른 특징은 프로세서와 지역 메모리와 실시간 클럭 발생기와 직력 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 디스크 액세스를 최소한으로 하기 위해 대용량의 디스크 캐쉬를 사용하고 패리티 데이타 갱신 부담을 최소화하기 위해 설계된 패리티 엔진을 사용한 데에 있다.Another feature of the present invention for achieving the above object is a HIPSS controller having a processor, a local memory, a real-time clock generator, and a serial input and output means connected to the processor bus, a large capacity disk to minimize disk access The idea is to use a parity engine designed to use cache and to minimize the burden of updating parity data.

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

본 발명은 제1도와 제2도의 제어기 구조의 단점을 극복한 구조를 제안한다.The present invention proposes a structure that overcomes the disadvantages of the controller structures of FIGS. 1 and 2.

제3도는 본 발명에 따른 HIPSS(High Performance Storage System)의 제어기의 블록도이다.3 is a block diagram of a controller of a high performance storage system (HIPSS) according to the present invention.

제3도를 참조하여 본 발명에 따른 HIPSS(High Performance Storage System) 제어기를 설명한다.A high performance storage system (HIPSS) controller according to the present invention will be described with reference to FIG.

프로세서 버스와 입출력 버스 사이에 2개의 대칭적 PCI 버스 구조를 채택하였다.Two symmetrical PCI bus structures are employed between the processor bus and the I / O bus.

제1도와 제2도의 제어기 구조와 달리 제어기의 호스트 인터페이스가 PCI 버스에 접속되어 있어 프로세서 버스에 대한 간섭을 최소화하였다.Unlike the controller structures of FIGS. 1 and 2, the host interface of the controller is connected to the PCI bus to minimize interference to the processor bus.

응답 성능을 더 향상시키기 위해 디스크 캐쉬 메모리를 두고 이를 PCI 버스 상에 두어 데이타 전송이 PCI 버스에서 이루어지도록 하였다.To further improve response performance, disk cache memory was placed and placed on the PCI bus so that data transfer could take place on the PCI bus.

RAID 레벨 5로 동작하는 경우 디스크 쓰기 성능 향상을 위해 패리티 엔진을 두어 디스크 액세스를 최소화하였다.When operating at RAID level 5, a parity engine is placed to minimize disk access to improve disk write performance.

특히, 디스크 캐쉬 메모리와 패리티 엔진을 같은 모듈에 설계함으로써 디스크 액세스와 버스 액세스를 최소화하였다.In particular, the disk cache memory and parity engine are designed in the same module to minimize disk access and bus access.

각 PCI 버스마다 독자적인 디스크 캐쉬와 패리티 엔진을 두어 독립적인 패리티 연산과 디스크 액세스를 최대한 보장한다.Each PCI bus has its own disk cache and parity engine to ensure independent parity operations and disk access.

호스트 인터페이스로 들어오는 디스크 읽기, 쓰기 요구이 데이타 흐름은 항상 입출력 버스와 PCI 버스를 통해서만 일어남으로써 다수의 입출력 인터페이스가 접속되더라도 프로세서 버스의 대역폭이 확장성과 성능에 큰 영향을 미치지 않는다.Disk reads and writes coming into the host interface always flow through the I / O bus and PCI bus, so that even if multiple I / O interfaces are connected, the bandwidth of the processor bus does not significantly affect scalability and performance.

제어기는 프로세서 모듈, 디스크 캐쉬 모듈, SCSI 인터페이스 모듈, 호스트 인터페이스 모듈과 FDC, RTC, SIO 등의 기타 시스템 자원으로 이루어져 있다.The controller consists of a processor module, a disk cache module, a SCSI interface module, a host interface module and other system resources such as FDC, RTC, and SIO.

프로세서 모듈은 프로세서, 로컬 메모리, 2개의 PCI 브리지(bridge)로 이루어져 있다.The processor module consists of a processor, local memory, and two PCI bridges.

제어기의 모든 동작은 프로세서가 제어한다.All operations of the controller are controlled by the processor.

제어기의 제어 프로그램은 모두 로컬 메모리에 저장되고 프로세서에 의해 수행된다.The control programs of the controller are all stored in local memory and executed by the processor.

2개의 PCI 브리지는 2개의 독립적인 PCI 버스를 제공하고 프로세서 버스를 PCI 버스에 정합시켜 준다.Two PCI bridges provide two independent PCI buses and mate the processor bus to the PCI bus.

디스크 캐쉬 모듈은 디스크 캐쉬 메모리와 패리티 엔진으로 이루어져 있다.The disk cache module consists of a disk cache memory and a parity engine.

디스크 캐쉬 메모리는 DRAM SIMM module, DRAMC(DRAM Controller), EDC(Error Detection Correction) chip으로 이루어져 있다.The disk cache memory consists of a DRAM SIMM module, a DRAM controller (DRAMC), and an error detection correction (EDC) chip.

PCI 버스의 타겟(target)으로 동작하며 대용량의 디스크 캐쉬를 제공하고 신뢰성을 높이기 위해 ECC코드를 사용한다.It acts as a target for the PCI bus and uses ECC code to provide large disk caches and increase reliability.

패리티 엔진은 DMAC(DMA Controller), 패리티 생성 로직, VRAM(Video RAM), VRAMC(Video RAM Controller)으로 이루어져 있다.The parity engine consists of a DMA controller (DMAC), parity generation logic, a video RAM (VRAM), and a video RAM controller (VRAMC).

디스크 어레이가 RAID level 5로 동작하는 경우에 디스크 쓰기시에 데이타에 대한 패리티를 항상 갱신하여야 한다.If your disk array is operating at RAID level 5, you should always update the parity for the data when you write the disk.

패리티 엔진은 이 부담을 최소화하기 위해 패리티 캐슁이 가능하도록 VRAM을 제공한다.The parity engine provides VRAM to enable parity caching to minimize this burden.

그리고 DMAC는 패리티 생성로직, DRAMC, VRAMC을 제어하여 효율적인 패리티 연산 동작을 제공한다.DMAC controls parity generation logic, DRAMC, and VRAMC to provide efficient parity operation.

SCSI 인터페이스 모듈은 다수의 SCSI 인터페이스로 이루어져 있다.The SCSI interface module consists of a number of SCSI interfaces.

이들은 두 그룹으로 나누어져 각각 한 PCI 버스에 접속되고 PCI 버스의 master로 동작한다.They are divided into two groups, each connected to one PCI bus and acting as the master of the PCI bus.

각 SCSI 인터페이스는 PCI 버스에 접속되고 이들이 다시 프로세서의 로컬 버스에 정합된다.Each SCSI interface is connected to a PCI bus, which in turn is matched to the processor's local bus.

호스트 인터페이스 모듈은 Wide SCSI 인터페이스와 양방향 버퍼로 이루어져 있다.The host interface module consists of a wide SCSI interface and a bidirectional buffer.

Wide SCSI 인터페이스는 양방향 버퍼를 통해 2개의 PCI 버스에 접속되고 각 PCI 버스의 master로 동작한다.The wide SCSI interface connects to two PCI buses through a bidirectional buffer and acts as the master for each PCI bus.

입출력 요구를 호스트 인터페이스인 Wide SCSI 인터페이스를 통해 받고 이를 제어기의 프로세서가 처리하여 결과를 Wide SCSI 인터페이스를 통해 되돌려 준다.Input and output requests are received through the wide SCSI interface, which is the host interface, and processed by the controller's processor to return the results through the wide SCSI interface.

본 발명에 따른 구조에서는 입출력 데이타 전송이 프로세서 버스를 이용하지 않고 곧장 PCI 버스를 통해 호스트 인터페이스에 전송되어 프로세서 버스의 부담을 훨씬 줄여주는 장점이 있다.In the structure according to the present invention, the input / output data transmission is directly transmitted to the host interface through the PCI bus without using the processor bus, thereby reducing the burden on the processor bus.

FDC는 플로피 디스크 드라이브를 제어한다.The FDC controls the floppy disk drive.

플로피 디스크 드라이브를 이용해 제어프로그램의 신속한 갱신을 할 수 있다. SIO는 RS-232C를 사용할 수 있도록 한다.You can update the control program quickly using a floppy disk drive. SIO allows the use of RS-232C.

SIO를 이용해 컨솔(console) 기능을 제공한다.SIO provides a console function.

종래의 디스크 어레이에서 가장 많이 사용된 구조는 제1도와 같다.The structure most used in the conventional disk array is shown in FIG.

제1도와 같은 제어기 구조에서는 종래의 중대형 컴퓨터의 입출력 프로세서를 가지는 입출력 보드에서 가장 많이 사용된 구조이다.In the controller structure as shown in FIG. 1, the structure is most commonly used in an input / output board having an input / output processor of a conventional medium and large computer.

단일 프로세서, 지역 메모리 등을 프로세서 버스에 접속하고 입출력 장치를 접속하기 위한 다수의 표준 입출력 버스들(SCSI, VME 등)을 프로세서 버스에 접속함으로써 다수의 입출력 장치들을 접속할 수 있고 입출력 장치 구동 프로그램들을 입출력 보드에서 수행함으로써 주프로세서의 부담을 많이 덜 수 있는 구조이다.A number of standard I / O buses (SCSI, VME, etc.) can be connected to the processor bus by connecting a single processor, local memory, etc. to the processor bus, and the I / O device driving programs By doing this on board, it can reduce the burden on the main processor.

프로세서는 입출력 장치들을 구동하는 입출력 구동 프로그램을 수행하고 호스트 인터페이스를 통해 입출력 요구를 받아 입출력 프로세스를 생성, 관리하고 입출력 장치로부터 발생하는 다수의 인터럽트를 처리한다.The processor executes an I / O driving program for driving the I / O devices, receives an I / O request through a host interface, generates and manages an I / O process, and processes a plurality of interrupts generated from the I / O device.

지역 메모리는 프로그램을 수행하기 위한 장소와 데이타 블럭을 입출력 버스와 호스트 인터페이스 사이에 전송하기 위한 속도 정합버퍼(speed-matching buffer)로 사용된다.Local memory is used as a speed-matching buffer for transferring programs and blocks of data between the I / O bus and the host interface.

입출력 장치 인터페이스(SCSI Interface)는 다수의 입출력 장치를 접속하고 입출력 버스와 프로세서 버스간의 신호 변환과 DMA 기능과 master 기능을 가진다.The SCSI Interface connects a number of I / O devices and has signal conversion, DMA and master functions between the I / O bus and the processor bus.

호스트 인터페이스는 호스트와 입출력 요구 전달과 데이타 전송을 위해 사용된다.Host interfaces are used for host and I / O request delivery and data transfer.

이 제어기 구조를 수십개 이상의 디스크들이 접속되어 하나의 큰 디스크로 동작하는 디스크 어레이 시스템의 제어기로 사용되었다.This controller structure has been used as a controller for a disk array system in which dozens of disks are connected and operate as one large disk.

디스크 어레이 시스템은 다음과 같은 특징이 있다.Disk array systems have the following characteristics:

첫째로, 디스크 어레이에서 여러개의 블럭을 요구하는 한 입출력 요구를 처리하기 위해 여러개의 디스크들이 동시에 구동되기 때문에 입출력 장치들을 구동하기 위한 구동 프로그램의 수행 부담이 기존의 입출력 보드보다 크다.First, since a plurality of disks are driven at the same time to process an input / output request as long as a plurality of blocks are required in the disk array, the load of the driving program for driving the input / output devices is greater than that of a conventional input / output board.

둘째로, 데이타의 신뢰성을 보장하기 위해 RAID 레벨 5로 동작하는 경우에는 매 쓰기마다 쓰고자 하는 각 데이타 블럭의 패리티 데이타를 매번 갱신해야 한다.Secondly, to ensure data reliability, when operating at RAID level 5, the parity data of each data block to be written must be updated every write.

이를 위해서는 그 블럭의 이전 데이타와 패리티를 읽어와서 쓰고자 하는 블럭과 XOR 연산을 수행하여 새로운 패리티를 계산한다.To do this, new parity is calculated by reading the previous data and parity of the block and performing an XOR operation with the block to be written.

이 패리티 연산을 위해서 매 쓰기마다 읽기 두번, 쓰기 한번이 추가된다.For this parity operation, two reads and one write are added for each write.

디스크 쓰기 한번할 때마다 네 번의 디스크 액세스를 하기 때문에 디스크 액세스를 줄이기 위한 데이타, 패리티 캐쉬의 운용이 꼭 필요하다.Four disk accesses are required for every disk write, so data and parity cache operations are essential to reduce disk access.

셋째로, 큰 블럭의 패리티 계산을 매번 입출력 프로세서가 담당하게 되면 입출력 처리 성능에 큰 지장이 되므로 전용 패리티 연산 로직이 필요하다.Thirdly, if the I / O processor is responsible for the parity calculation of a large block each time, it will greatly affect the I / O processing performance, so dedicated parity calculation logic is required.

이같은 특징을 잘 처리하기 위해 제2도와 같은 구조와 제안되었다.The structure shown in FIG. 2 is proposed to deal with this feature well.

제2도는 제1도와 달리 전용 패리티 연산로직(PE)를 사용하고 다수의 입출력 인터페이스가 프로세서 버스에 접속되어 프로세서와 지역 메모리간의 데이타 전송에 주는 지장을 줄이기 위해 별도의 PCI 버스를 두었다.In FIG. 2, unlike FIG. 1, a dedicated parity arithmetic logic (PE) is used and a separate PCI bus is provided in order to reduce the disruption of data transfer between the processor and the local memory because a plurality of input / output interfaces are connected to the processor bus.

하지만, 이 구조를 사용한 경우에 잦은 패리티 연산을 위해 매번 블럭 데이타들이 PCI 버스와 프로세서 버스를 거쳐야 하는 부담을 지게 되고 입출력 장치로 부터 호스트 인터페이스로 데이타를 전송하기 위해서도 항상 PCI 버스와 프로세서 버스를 사용해야 한다.However, with this architecture, the block data has to pass through the PCI bus and the processor bus each time for frequent parity operations, and the PCI bus and processor bus must always be used to transfer data from the I / O device to the host interface. .

또, 이 구조는 입출력 인터페이스를 추가하는 데도 제1도와 같은 구조보다는 좋지만 일정 수 이상은 한계가 있다.In addition, this structure is better than the structure shown in FIG. 1 to add an input / output interface, but there is a limit over a certain number.

이 때문에 우리가 제안하는 제3도와 같은 구조는 패리티 연산 로직과 호스트 인터페이스를 PCI 버스에 접속함으로써 패리티 연산과 데이타 전송으로 인한 프로세서 버스의 간섭을 최소화 하였다.For this reason, our proposed architecture like Figure 3 minimizes the interference of the processor bus due to parity operation and data transfer by connecting the parity operation logic and host interface to the PCI bus.

두개의 대칭적인 PCI 버스를 둠으로써 입출력 인터페이스의 확장이 훨씬 용이하고 다양한 디스크 어레이 구성을 할 수 있다.By having two symmetrical PCI buses, the expansion of the I / O interface is much easier and allows for various disk array configurations.

각 PCI 버스에 각각 대용량의 디스크 캐쉬 메모리와 패리티 연산 로직을 두어 입출력 버스가 늘어나도 성능이 크게 저하되는 일은 없다.Each PCI bus has a large amount of disk cache memory and parity calculation logic, so performance does not suffer as the I / O bus grows.

이 구조는 기존의 입출력 보드 구조에 디스크 어레이 관리 프로그램만 추가하여 디스크 어레이 시스템을 구성하는 기존의 접근방법과는 달리 디스크 어레이 시스템의 특징을 잘 반영하여 설계된 제어기 보드가 하드웨어적으로 지원하게 되어 성능의 선형 증가성이 뛰어나고 대용량의 디스크 저장장치를 제어할 수 있다.Unlike the conventional approach of configuring a disk array system by adding only a disk array management program to the existing input / output board structure, this structure is supported by hardware by a controller board designed to reflect the characteristics of the disk array system. It has excellent linear growth and can control a large amount of disk storage.

그러므로, 상술한 바와 같은 본 발명은 대용량의 저장기능, 데이타 가용성 향상, 고성능 입출력 성능을 얻을 수 있다는 데에 그 효과가 있다.Therefore, the present invention as described above is effective in obtaining a large capacity storage function, improved data availability, and high performance input / output performance.

Claims (4)

프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 상기 프로세서 버스에 접속되어 플로피 디스크 드라이버를 제어하는 플로피 디스크 제어수단과; 상기 프로세서 버스와 접속되어 있고 제1 PCI 버스와 접속되어 데이타 전송을 정합시키는 제1 PCI 브리지 수단과; 상기 프로세서 버스와 접속되어 있고 제2 PCI 버스와 접속되어 데이타 전송을 정합시키는 제2 PCI 브리지 수단과; 상기 제1 PCI 버스와 접속되어 데이타를 임시로 저장하는 제1디스크 캐쉬 기억수단과; 상기 제2 PCI 버스와 접속되어 데이타를 임시로 저장하는 제2디스크 캐쉬 기억수단과; 상기 제1디스크 캐쉬 기억수단과 접속되어 상기 제1디스크 캐쉬 기억수단에 저장되는 데이타의 패리티를 갱신하고 상기 제1디스크 캐쉬 기억수단과 함께 독립적인 패리티 연산과 디스크 액세스를 보장하는 제1패리티 갱신수단과; 상기 제2디스크 캐쉬 기억수단과 접속되어 상기 제2디스크 캐쉬 기억수단에 저장되는 데이타의 패리티를 갱신하고 상기 제2디스크 캐쉬 기억수단과 함께 독립적인 패리티 연산과 디스크 액세스를 보장하는 제2패리티 갱신수단과; 제1 PCI 버스에 접속되어 빠른 SCSI 정합을 수행하는 소정 개수의 제1 SCSI 정합수단과; 제2 PCI 버스에 접속되어 빠른 SCSI 정합을 수행하는 소정 개수의 제2 SCSI 정합수단; 및 상기 제1 PCI 버스와 상기 제2 PCI 버스와 접속되어 넓은 SCSI 정합을 수행하는 호스트 정합수단을 포함하여; 두개의 대칭적 PCI 버스를 가지는 것을 특징으로 하는 HIPSS의 제어기.11. A HIPSS controller comprising a processor, a local memory, a real-time clock generator, and a serial input / output means connected to a processor bus, said controller comprising: floppy disk control means connected to said processor bus to control a floppy disk driver; First PCI bridge means connected to said processor bus and coupled with a first PCI bus to match data transfer; Second PCI bridge means connected to the processor bus and coupled to a second PCI bus to match data transfer; First disk cache storage means connected to said first PCI bus for temporarily storing data; Second disk cache storage means connected to said second PCI bus for temporarily storing data; First parity updating means connected to said first disk cache storage means for updating the parity of data stored in said first disk cache storage means and ensuring independent parity operation and disk access with said first disk cache storage means; and; Second parity updating means connected to said second disk cache storage means for updating the parity of data stored in said second disk cache storage means and ensuring independent parity operation and disk access with said second disk cache storage means; and; A predetermined number of first SCSI matching means connected to the first PCI bus for fast SCSI matching; A predetermined number of second SCSI matching means connected to the second PCI bus for fast SCSI matching; And host matching means connected to the first PCI bus and the second PCI bus to perform wide SCSI matching. Controller of HIPSS characterized by having two symmetrical PCI buses. 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 다수의 SCSI 인터페이스를 프로세서 버스에 직접 접속하지 않고 두개의 그룹으로 나누어 2개의 PCI 버스에 접속한 것을 특징으로 하는 HIPSS의 제어기.In the HIPSS controller, which has a processor, a local memory, a real-time clock generator, and a serial input / output device connected to a processor bus, a plurality of SCSI interfaces are connected to two PCI buses without being directly connected to the processor bus. The controller of the HIPSS characterized in that. 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 호스트 인터페이스를 프로세서 버스에 직접 접속하지 않고 버퍼를 사용해 2개의 PCI 버스에 직접 접속한 것을 특징으로 하는 HIPSS의 제어기.A HIPSS controller that has a processor, a local memory, a real-time clock generator, and serial input / output means connected to a processor bus, wherein the host interface is directly connected to two PCI buses using a buffer rather than directly connected to the processor bus. HIPSS controller. 프로세서와 지역 메모리와 실시간 클럭 발생기와 직렬 입출력 수단을 프로세서 버스로 접속하여 구비하고 있는 HIPSS의 제어기에 있어서, 디스크 액세스를 최소한으로 하기 위해 대용량의 디스크 캐쉬를 사용하고 패리티 데이타 갱신 부담을 최소화하기 위해 설계된 패리티 엔진을 사용한 것을 특징으로 하는 HIPSS의 제어기.HIPSS controller with processor, local memory, real-time clock generator and serial I / O means connected to processor bus, designed to use large disk cache to minimize disk access and to minimize parity data update burden. Controller of HIPSS characterized by using a parity engine.
KR1019950047873A 1995-12-08 1995-12-08 Hipss controller KR0170492B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950047873A KR0170492B1 (en) 1995-12-08 1995-12-08 Hipss controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950047873A KR0170492B1 (en) 1995-12-08 1995-12-08 Hipss controller

Publications (2)

Publication Number Publication Date
KR970049370A KR970049370A (en) 1997-07-29
KR0170492B1 true KR0170492B1 (en) 1999-03-30

Family

ID=19438624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950047873A KR0170492B1 (en) 1995-12-08 1995-12-08 Hipss controller

Country Status (1)

Country Link
KR (1) KR0170492B1 (en)

Also Published As

Publication number Publication date
KR970049370A (en) 1997-07-29

Similar Documents

Publication Publication Date Title
US5522065A (en) Method for performing write operations in a parity fault tolerant disk array
US8499127B2 (en) Memory hub with internal cache and/or memory access prediction
US7360011B2 (en) Memory hub and method for memory system performance monitoring
KR100950871B1 (en) Memory hub and access method having internal row caching
US5694581A (en) Concurrent disk array management system implemented with CPU executable extension
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
US5937174A (en) Scalable hierarchial memory structure for high data bandwidth raid applications
JP3258117B2 (en) Storage subsystem
US20050021884A1 (en) Apparatus and method for direct memory access in a hub-based memory system
KR20200030325A (en) Storage device and system
EP0797141A1 (en) Computer system
JPH10105476A (en) Device for generating parity block
US5796979A (en) Data processing system having demand based write through cache with enforced ordering
US7069409B2 (en) System for addressing a data storage unit used in a computer
WO1993013475A1 (en) Method for performing disk array operations using a nonuniform stripe size mapping scheme
KR0170492B1 (en) Hipss controller
KR19990047968A (en) Structure of Array Controller with Dual I / O Bus for Raid System
JP2994917B2 (en) Storage system
JP3507314B2 (en) Memory controller and computer system
JPH0567020A (en) Distributed computer system
JPH10247182A (en) Multiprocessor system
JPH0793108A (en) Controller for array type disk system
KR20070017551A (en) Cache coherency maintenance for DMA, task termination and synchronisation operations
WO1996021896A1 (en) Disk array sub-system
JPH0358149A (en) Storage device

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

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee