KR0170492B1 - Hipss controller - Google Patents
Hipss controller Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk 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
제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)
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) |
-
1995
- 1995-12-08 KR KR1019950047873A patent/KR0170492B1/en not_active IP Right Cessation
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 |