KR19990051729A - Structure of Raid System with Dual Array Controllers - Google Patents

Structure of Raid System with Dual Array Controllers Download PDF

Info

Publication number
KR19990051729A
KR19990051729A KR1019970071097A KR19970071097A KR19990051729A KR 19990051729 A KR19990051729 A KR 19990051729A KR 1019970071097 A KR1019970071097 A KR 1019970071097A KR 19970071097 A KR19970071097 A KR 19970071097A KR 19990051729 A KR19990051729 A KR 19990051729A
Authority
KR
South Korea
Prior art keywords
disk
array controller
array
cache memory
raid
Prior art date
Application number
KR1019970071097A
Other languages
Korean (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 KR1019970071097A priority Critical patent/KR19990051729A/en
Publication of KR19990051729A publication Critical patent/KR19990051729A/en

Links

Abstract

본 발명은 이중 어레이 제어기를 갖는 래이드(Redundant Arrays of Inexpensive Disks ;RAID) 시스템의 구조에 관한 것이다. 래이드 시스템에서 어레이 제어기의 고장은 래이드 시스템뿐만 아니라 전체 시스템 동작을 정지시키는 치명적인 결과를 가져올 수 있다. 따라서 시스템의 가용성이 중요시되는 시스템에서는 래이드 시스템의 어레이 제어기를 이중으로 구성하고, 두 어레이 제어기가 소형 컴퓨터 시스템 접속(Small Computer System Interface ;SCSI) 버스를 통하여 디스크 저장 장치를 공유하게 하므로써, 하나의 어레이 제어기에 고장이 발생하여도 다른 하나의 어레이 제어기가 고장난 어레이 제어기를 대신할 수 있도록 하고 있다. 그러나 래이드 시스템의 성능 향상을 위해서 어레이 제어기에 디스크 캐쉬 메모리를 이용하여 지연 기록(delayed write) 방식을 사용하는 래이드 시스템에서는 하나의 어레이 제어기에 고장이 발생하면 제어기 내의 디스크 캐쉬 메모리에서 디스크로 쓰기를 수행하지 못한 더티(dirty) 블록에 대한 복구가 불가능하다. 이러한 문제점을 해결하기 위하여 본 발명에서는 두 어레이 제어기 간에 별도의 SCSI 채널을 두고 이 채널을 통하여 데이터 전송이 가능하게 하므로써 디스크 캐쉬 메모리의 데이터 백업을 용이하게 할 수 있는 이중 어레이 제어기를 갖는 래이드 시스템의 구조가 제시된다.The present invention relates to the architecture of a Redundant Arrays of Inexpensive Disks (RAID) system. Failure of the array controller in a raid system can have catastrophic consequences that halt the overall system operation as well as the raid system. Therefore, in systems where availability of the system is important, the array controller of the raid system is dually configured, and the two array controllers share disk storage devices through a small computer system interface (SCSI) bus. Even if a controller fails, another array controller can replace the failed array controller. However, in order to improve the performance of a raid system, in a raid system using a delayed write method using a disk cache memory in an array controller, when a single array controller fails, the disk cache memory in the controller writes to the disk. It is impossible to recover dirty blocks that could not be found. In order to solve this problem, in the present invention, a structure of a raid system having a dual array controller capable of facilitating data backup of a disk cache memory by allowing data transfer through the channel having a separate SCSI channel between the two array controllers is provided. Is presented.

Description

이중 어레이 제어기를 갖는 래이드 시스템의 구조Structure of Raid System with Dual Array Controllers

본 발명은 이중 어레이 제어기를 갖는 래이드(Redundant Arrays of Inexpensive Disks ;이하 RAID라 함) 시스템의 구조에 관한 것으로 특히, 이중 어레이 제어기를 갖는 RAID 시스템에서 하나의 어레이가 고장을 일으켰을 때, 고장을 일으킨 어레이 제어기의 디스크 캐쉬 메모리로부터 데이터를 용이하게 백업 받을 수 있도록 두 어레이 제어기 간에 별도의 SCSI(Small Computer System Interface ;이하 SCSI라 함) 채널을 채용한 이중 어레이 제어기를 갖는 RAID 시스템의 구조에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to the structure of a Redundant Arrays of Inexpensive Disks (hereinafter referred to as RAID) system. The present invention relates to a structure of a RAID system having a dual array controller employing a separate Small Computer System Interface (SCSI) channel between two array controllers so that data can be easily backed up from the disk cache memory of the controller.

RAID 시스템은 여러 개의 독립된 디스크 저장 장치들을 하나로 모아 각각의 디스크로 데이터를 분산 수용하고 동시에 여러 디스크로의 접근을 가능하게 하므로써 입출력 특성을 향상시키고, 또한 호스트 컴퓨터시스템으로는 여러 개의 독립된 디스크 저장 장치들이 마치 하나의 디스크처럼 보이게 하므로써 대용량 저장 장치의 구현을 가능하게 한다. 또한 디스크 복제나 오류 검사 정정(Error Checking and Correction ;ECC)코드 또는 패리티 데이터와 같은 보조 데이터를 동시에 수용하므로써 RAID 시스템 중 어느 한 디스크에 고장이 발생하더라도 데이터를 자동적으로 복구할 수 있는 방법을 제공하여 시스템의 가용성을 높일 수 있다.RAID system improves I / O characteristics by bringing together multiple independent disk storage devices into one, distributing data to each disk and enabling access to multiple disks at the same time. This makes it possible to implement mass storage by making it look like a disk. It also accepts auxiliary data such as disk duplication, Error Checking and Correction (ECC) codes, or parity data at the same time, providing a way to automatically recover data in the event of a disk failure in a RAID system. It can increase the availability of the system.

RAID 시스템은 구성 형태에 따라 여러 가지 레벨로 나누어지는데, 패터슨 등이 발표한 논문에 따르면 RAID 시스템을 다섯 가지 형태, 즉 RAID 레벨 1 - 5로 구분하였다.RAID systems are divided into various levels according to their configuration. According to a paper published by Patterson et al., RAID systems are divided into five types, that is, RAID levels 1-5.

먼저, RAID 레벨 1은 N개의 디스크에 데이터를 저장하고 또다른 N개의 미러(mirror) 디스크에 같은 데이터를 복사하여 저장하는 형태이다. 데이터 쓰기 시에는 항상 2개의 디스크에 데이터를 저장하여야 하고, 읽기 시에는 두 디스크 중 접근 시간이 빠른 디스크를 선택하여 데이터를 읽을 수 있다. 만약 한 디스크에 고장이 발생하면 복제된 다른 디스크로 서비스를 계속할 수 있다. RAID 레벨 2는 해밍(Hamming) 코드를 사용하여 데이터를 보호하는 방법으로, RAID 레벨 1의 미러 기법보다는 디스크 비용이 적게 든다. RAID 레벨 3은 N개로 구성된 데이터 디스크 그룹에 하나의 패리티 디스크를 추가하여 구성한 형태이다. 데이터 쓰기 시에는 데이터를 비트 혹은 바이트 단위로 분산(Interleaving)하여 각 데이터 디스크에 저장하고 패리티 디스크에는 각 데이터 디스크에 저장된 데이터에 대해 익스클러시브-오알(exclusive-OR)로 연산된 패리티를 저장한다. 읽기 시에는 N개의 디스크를 동시에 접근하여야 하며, 만약 하나의 디스크에 고장이 발생하면 패리티 디스크에 저장된 패리티 데이터를 이용하여 정보를 복구할 수 있다. RAID 레벨 4는 RAID 레벨 3과 같이 N + 1개의 디스크로 구성되며, N개의 디스크에는 데이터를 저장하고 나머지 하나의 디스크는 패리티를 저장한다. 단, RAID 레벨 3과 다른 점은 데이터를 블럭 단위로 분산하여 저장하는 것이다. 따라서 데이터 쓰기 시에는 하나의 데이터 디스크와 패리티 디스크의 접근이 필요하며, 읽기 시에는 하나의 디스크만 접근하면 된다. 그리고 한 디스크의 고장 시에는 패리티 디스크에 저장된 패리티를 이용하여 정보의 복구를 할 수 있다. 한편, RAID 레벨 5는 RAID 레벨 4와 유사하게 데이터를 블럭 단위로 저장하는 형태이지만 패리티를 한 디스크에 고정하여 저장하지 않고 데이터와 같이 각 디스크에 분산하여 저장하는 기법이다. 데이터를 읽고 쓰는 것과 한 디스크의 고장 시에 대한 데이터의 복구 방법도 RAID 레벨 4와 같다. 이 외에도 보조 데이터를 사용하지 않고 단순히 데이터만 분산하여 수용한 RAID 레벨 0과 리드-솔로몬(Reed-Solomon) 코드를 사용하여 P + Q 리던던시(Redundancy)를 둔 RAID 레벨 6이 있다. RAID 레벨 6은 동시에 두 개의 디스크에 고장이 발생하여도 정보를 복구할 수 있기 때문에 패리티를 사용하는 방법보다 시스템의 가용성이 높은 형태이다. 현재 대부분의 RAID 시스템은 RAID 레벨 0, 1, 3, 5 그리고 RAID 레벨 0과 1의 복합 형태인 RAID 레벨 0/1을 대부분 지원하고 있으며, 사용자의 응용 환경에 적합한 형태를 선택하여 사용한다.First, RAID level 1 stores data on N disks and copies the same data on another N mirror disks. When writing data, data should always be stored on two disks, and during reading, data can be read by selecting the faster disk among the two disks. If one disk fails, service can continue with the other disk. RAID level 2 uses Hamming code to protect data, which costs less disk than RAID level 1 mirroring. RAID level 3 consists of adding one parity disk to a group of N data disks. When writing data, data is stored in each data disk by interleaving the data in bit or byte units, and the parity calculated by exclusive-OR for the data stored in each data disk is stored in the parity disk. . When reading, N disks must be accessed at the same time. If one disk fails, information can be recovered using parity data stored in the parity disk. RAID level 4, like RAID level 3, consists of N + 1 disks. N disks store data and the other disk stores parity. The difference with RAID level 3 is that data is distributed in blocks. Therefore, when writing data, access of one data disk and parity disk is required, and only one disk needs to be accessed for reading. When a disk fails, information can be recovered using the parity stored in the parity disk. Similar to RAID level 4, RAID level 5 stores data in block units. However, RAID level 5 is a technique of distributing and storing parity on each disk like data without fixing parity on one disk. Reading and writing data and recovering data in the event of a disk failure are the same as for RAID level 4. In addition, there is RAID level 0, which does not use auxiliary data but simply distributes the data, and RAID level 6 with P + Q redundancy using Reed-Solomon code. RAID level 6 is more available to the system than using parity because information can be recovered even if two disks fail at the same time. Most RAID systems currently support RAID levels 0, 1, 3, 5, and RAID levels 0/1, which are a combination of RAID levels 0 and 1, and use a type suitable for the user's application environment.

이러한 RAID 시스템에서 어레이 제어기에 고장이 발생하면 RAID 시스템뿐만 아니라 전체 시스템이 정지하게되는 치명적인 일이 발생할 수 있다. 따라서 시스템의 가용성이 중요시되는 시스템에서는 RAID 시스템의 어레이 제어기를 이중으로 구성하고 두 어레이 제어기가 SCSI 버스를 통하여 디스크 저장 장치를 공유하게 하므로써, 하나의 어레이 제어기에 고장이 발생하여도 다른 하나의 어레이 제어기가 고장난 어레이 제어기를 대신할 수 있도록 하고 있다.In such a RAID system, a failure of the array controller can cause a fatal event that causes not only the RAID system but also the entire system to stop. Therefore, in a system where availability of the system is important, the array controller of the RAID system is dually configured, and the two array controllers share disk storage devices through the SCSI bus, so that one array controller fails even if one array controller fails. To replace a failed array controller.

도 1은 이중 어레이 제어기를 갖는 일반적인 RAID 시스템의 구조도로서, 호스트 컴퓨터(11)와 접속된 제 1 및 제 2 어레이 제어기(12, 13), 디스크들을 연결하기 위한 SCSI 버스 및 디스크 저장 장치 블록(14)으로 구성된다.1 is a structural diagram of a typical RAID system having a dual array controller, in which the first and second array controllers 12 and 13 are connected to a host computer 11, a SCSI bus and a disk storage block 14 for connecting disks. It is composed of

SCSI 버스에 연결되어 있는 디스크 저장 장치들(14)은 RAID 시스템의 초기 환경 설정에 의해 두 개의 논리적 그룹으로 나뉘어져 있으며, 각 그룹은 각각 하나의 어레이 제어기(12 또는 13)에 속해 있다. 따라서, 두 개의 어레이 제어기(12, 13)가 모두 정상적으로 동작할 때 각 어레이 제어기는 해당 디스크 그룹만을 제어하고, 만약 하나의 어레이 제어기(12 또는 13)에 고장이 발생하면 다른 어레이 제어기(13 또는 12)가 고장난 어레이 제어기(12 또는 13)에 속해 있던 디스크 그룹의 제어권을 넘겨받는다.Disk storage devices 14 connected to the SCSI bus are divided into two logical groups by the initial configuration of the RAID system, each group belonging to one array controller 12 or 13. Thus, when both array controllers 12 and 13 are operating normally, each array controller controls only that disk group, and if one array controller 12 or 13 fails, the other array controller 13 or 12 ) Takes over control of the disk group belonging to the failed array controller 12 or 13.

그런데 RAID 시스템의 성능 향상을 위해서 어레이 제어기에 디스크 캐쉬 메모리를 가지고 지연 쓰기(delayed write) 방식을 사용하는 RAID 시스템에서는 하나의 어레이 제어기에 고장이 발생하면 제어기 내의 디스크 캐쉬 메모리에서 디스크로 쓰기를 수행하지 못한 더티(dirty) 블럭에 대한 복구가 불가능하다.However, in order to improve performance of a RAID system, in a RAID system using a delayed write method with a disk cache memory in an array controller, when a single array controller fails, the disk cache memory in the controller does not write to the disk. Recovery of bad dirty blocks is impossible.

따라서, 본 발명은 두 어레이 제어기 간에 별도의 SCSI 채널을 두고 이 채널을 통하여 데이터 전송이 가능하게 하므로써 디스크 캐쉬 메모리의 데이터 백업을 용이하게 할 수 있는 이중 어레이 제어기를 갖는 RAID 시스템의 구조를 제공하는데 그 목적이 있다.Accordingly, the present invention provides a structure of a RAID system having a dual array controller that can facilitate data backup of the disk cache memory by allowing data transfer through this channel with a separate SCSI channel between the two array controllers. There is a purpose.

상술한 목적을 달성하기 위한 본 발명에 따른 이중 어레이 제어기를 갖는 래이드 시스템의 구조는 정보 저장을 위한 다수의 디스크로 구성된 디스크 저장 장치 블록과, 호스트 접속 버스를 통하여 호스트 컴퓨터와 접속되며 데이터의 빠른 일기 및 쓰기를 위한 디스크 캐쉬 메모리를 갖는 제 1 및 제 2 어레이 제어기와, 상기 다수의 디스크 간의 연결을 위한 디스크간 소형 컴퓨터 시스템 접속 버스로 구성되는 이중 어레이 제어기를 갖는 래이드 시스템에 있어서, 상기 제 1 어레이 제어기와 상기 제 2 어레이 제어기 간의 연결을 위한 어레이 제어기간 소형 컴퓨터 시스템 접속 버스를 포함하여 구성되는 것을 특징으로 한다.The structure of the raid system having a dual array controller according to the present invention for achieving the above object is a disk storage block consisting of a plurality of disks for information storage, and connected to the host computer via a host connection bus and fast data storage And a dual array controller comprising first and second array controllers having disk cache memory for writing and an inter-disk small computer system connection bus for connecting between said plurality of disks. And an array control period small computer system connection bus for connection between a controller and said second array controller.

도 1은 일반적인 래이드 시스템의 구조도.1 is a structural diagram of a typical raid system.

도 2는 본 발명에 따른 래이드 시스템의 구조도.2 is a structural diagram of a raid system according to the present invention.

도 3은 본 발명에 따른 래이드 시스템의 어레이 제어기 구조도.3 is an array controller architecture diagram of a raid system according to the present invention;

도 4는 본 발명에 따른 래이드 시스템에서 디스크 캐쉬 메모리의 운용 방법을 설명하기 위해 도시한 기능도.4 is a functional diagram illustrating a method of operating a disk cache memory in a raid system according to the present invention.

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

21 : 호스트 컴퓨터 22, 23 : 제 1 및 제 2 어레이 제어기21: host computer 22, 23: first and second array controller

24 : 디스크 저장장치 블록 25 : 어레이 제어기간 SCSI 버스24: Disk Storage Block 25: Array Control Period SCSI Bus

31 : 프로세서 32 : 로컬 메모리31: Processor 32: Local Memory

33 : PCI 브리지 34 : 디스크 캐쉬 메모리33: PCI bridge 34: disk cache memory

35 : 패리티 엔진 36 : 디스크간 SCSI 제어기 블록35 Parity Engine 36 Disk-to-Disk SCSI Controller Block

37 : 어레이 제어기간 SCSI 제어기37: Array Control Period SCSI Controller

38 : 호스트 인터페이스부38: host interface unit

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

도 2는 본 발명에 따른 RAID 시스템의 구조도로서, 제 1 어레이 제어기(22) 및 제 2 어레이 제어기(23)는 호스트 접속 버스를 통하여 호스트 컴퓨터(21)와 접속되어 있으며, 디스크 저장 장치 블록(24) 내의 디스크들은 디스크간 SCSI 버스를 통하여 연결되어 있다. 또한 제 1 어레이 제어기(22)와 제 2 어레이 제어기(23)는 어레이 제어기간 SCSI 버스(25)를 통하여 연결되어 있다.2 is a structural diagram of a RAID system according to the present invention, in which a first array controller 22 and a second array controller 23 are connected to a host computer 21 through a host connection bus, and a disk storage block 24 Disks are connected via an interdisk SCSI bus. The first array controller 22 and the second array controller 23 are also connected via the SCSI bus 25 during the array control period.

디스크간 SCSI 버스에 연결되어 있는 디스크 저장 장치들(24)은 RAID 시스템의 초기 환경 설정에 의해 두 개의 논리적 그룹으로 나뉘어져 있으며, 각 그룹은 하나의 어레이 제어기(22 또는 23)에 속해 있다. 따라서 두 개의 어레이 제어기(22, 23)가 모두 정상적으로 동작할 때 각 어레이 제어기(22, 23)는 해당 디스크 그룹만을 제어하게 되며, 만약 하나의 어레이 제어기(22 또는 23)에 고장이 발생하면 다른 어레이 제어기(23 또는 22)가 고장난 어레이 제어기(22 또는 23)에 속해 있던 디스크 그룹의 제어권을 넘겨받는다.Disk storage devices 24 connected to the inter-disk SCSI bus are divided into two logical groups by the initial configuration of the RAID system, and each group belongs to one array controller 22 or 23. Therefore, when both array controllers 22 and 23 operate normally, each array controller 22 and 23 controls only the corresponding disk group. If one array controller 22 or 23 fails, the other array The controller 23 or 22 takes over control of the disk group belonging to the failed array controller 22 or 23.

도 3은 본 발명에 따른 RAID 시스템의 어레이 제어기 구조도이다.3 is a schematic diagram of an array controller of a RAID system according to the present invention.

도시된 바와 같이, RAID 시스템의 어레이 제어기는 어레이 관리 소프트웨어를 수행하고 호스트 컴퓨터와 SCSI 디스크 저장 장치 사이의 데이터 전송을 관리하는 프로세서(31), 로컬 메모리(32), PCI(Peripheral Component Interconnect) 버스와 같은 입출력 버스 및 호스트 컴퓨터와의 데이터 전송을 위한 호스트 인터페이스부(38)를 갖고 있다. 또한 RAID 시스템의 어레이 제어기의 SCSI 제어기 블럭(36)은 디스크간 SCSI 버스를 통하여 디스크 저장 장치와 연결되어 있으며, 어레이 제어기간 SCSI 제어기(37)는 어레이 제어기간 SCSI 버스를 통하여 RAID 시스템 내의 또 다른 어레이 제어기와 연결된다. 또한 어레이 제어기의 버퍼 캐쉬 메모리(34)는 디스크 캐쉬 혹은 속도 정합 버퍼로 사용되며, 패리티 엔진(35)은 패리티 연산을 위해 사용된다. 또한 PCI 입출력 버스는 PCI 브리지(33)를 통하여 프로세서(31) 및 로컬 메모리(32)와 연결된다.As shown, an array controller in a RAID system includes a processor 31, a local memory 32, and a Peripheral Component Interconnect (PCI) bus that perform array management software and manage data transfer between a host computer and SCSI disk storage. It has a host interface 38 for data transfer with the same input / output bus and host computer. In addition, the SCSI controller block 36 of the array controller of the RAID system is connected to the disk storage device through the inter-disk SCSI bus, and the array control period SCSI controller 37 is connected to another array in the RAID system through the array control period SCSI bus. It is connected to the controller. In addition, the buffer cache memory 34 of the array controller is used as a disk cache or speed matching buffer, and the parity engine 35 is used for parity calculation. The PCI input / output bus is also connected to the processor 31 and the local memory 32 through the PCI bridge 33.

도 4는 본 발명에 따른 RAID 시스템에서 디스크 캐쉬 메모리의 운용 방법을 설명하기 위해 도시한 기능도이다.4 is a functional diagram illustrating a method of operating a disk cache memory in a RAID system according to the present invention.

이중 어레이 제어기를 갖는 RAID 시스템에서, 어레이 제어기 내의 디스크 캐쉬 메모리(도 3의 34)는 두 개의 블록으로 나뉘어져, 한 블록은 자신의 데이터를 저장하기 위한 정상적인 캐쉬 메모리로 사용하고 다른 블록은 상대편 어레이 제어기 디스크 캐쉬 메모리의 백업용으로 사용한다. 즉, 제 1 어레이 제어기의 디스크 캐쉬 메모리는 정상적인 제 1 디스크 캐쉬 메모리(41)와 제 2 디스크 캐쉬 메모리 백업 용 캐쉬 메모리(42)로 나뉘어 지고, 제 2 어레이 제어기의 디스크 캐쉬 메모리는 정상적인 제 2 디스크 캐쉬 메모리(43)와 제 1 디스크 캐쉬 메모리 백업 용 캐쉬 메모리(44)로 나뉘어 진다.In a RAID system with a dual array controller, the disk cache memory (34 in FIG. 3) in the array controller is divided into two blocks, one block serving as a normal cache memory for storing its data and the other block the other array controller. Used to back up disk cache memory. That is, the disk cache memory of the first array controller is divided into a normal first disk cache memory 41 and a cache memory 42 for backing up the second disk cache memory, and the disk cache memory of the second array controller is a normal second disk. The cache memory 43 is divided into a cache memory 44 for the first disk cache memory backup.

어레이 제어기는 호스트 컴퓨터로부터 디스크 읽기 요구가 발생하면 요구한 데이터 블록이 디스크 캐쉬 메모리에 존재하는지를 검사하여 캐쉬 적중 상태이면 디스크 캐쉬 메모리에서, 캐쉬 실패이면 디스크로부터 데이터 읽기를 수행하여 호스트 컴퓨터로 전송한다. 디스크 쓰기 요구에 대해서는 RAID 시스템의 성능 향상을 위해서 지연 쓰기(delayed write) 방식을 사용하는데, 이것은 데이터를 실제 디스크에 저장하지 않고 캐쉬 메모리에만 저장한 후 바로 호스트 컴퓨터로 쓰기 완료 신호를 보냄으로써 호스트 컴퓨터로 하여금 디스크 쓰기 시간이 줄어드는 효과를 얻기 위한 것이다. 쓰기 완료 신호를 보낸 후 어레이 제어기는 디스크 캐쉬 메모리의 캐쉬 테이블을 갱신하여 새로운 데이터 블록이 실제 디스크의 내용과 다른 더티(dirty) 블록임을 표시한다. 그리고 어레이 제어기간 통신 SCSI 채널을 통해서 새로운 데이터 블록과 캐쉬 테이블을 다른 어레이 제어기의 디스크 캐쉬 메모리로 전송한다.When a disk read request is generated from the host computer, the array controller checks whether the requested data block exists in the disk cache memory, and reads data from the disk cache memory if the cache hit state and reads data from the disk if the cache fails. For the disk write request, delayed write is used to improve the performance of the RAID system. It does not store the data on the physical disk but stores the data only in cache memory and sends a write completion signal to the host computer immediately. This is to achieve the effect of reducing the disk write time. After sending a write complete signal, the array controller updates the cache table in disk cache memory to indicate that the new data block is a dirty block that is different from the contents of the physical disk. The array control period transfers new data blocks and cache tables to the disk cache memory of the other array controller through the communication SCSI channel.

어레이 제어기가 유휴(idle) 상태가 되거나 디스크 캐쉬 메모리에 여분이 없을 경우에는 캐쉬 메모리의 더티(dirty) 블록들을 디스크로 전송하고 캐쉬 테이블을 갱신하는데, 이 때에는 캐쉬 테이블만을 다른 어레이 제어기로 전송하여 두 어레이 제어기의 디스크 캐쉬 메모리가 항상 동일한 상태를 유지하도록 한다. 만일 한 어레이 제어기에 고장이 발생하면 이를 탐지한 호스트 컴퓨터는 다른 어레이 제어기를 통해서 고장난 어레이 제어기에 속해 있던 디스크 그룹에 대한 접근을 시도한다. 정상적인 어레이 제어기는 두 논리적 디스크 그룹을 SCSI 명령어의 LUN(Logical Unit Number)으로 구분하여 관리하며, 고장난 어레이 제어기의 백업용으로 사용되던 디스크 캐쉬 메모리는 해당 LUN의 캐쉬 메모리로 계속해서 사용한다.When the array controller becomes idle or there is no spare disk cache memory, it transfers dirty blocks of cache memory to disk and updates the cache table. In this case, only the cache table is transferred to another array controller. Ensure that the disk cache memory of the array controller is always in the same state. If one array controller fails, the host computer that detects it attempts to access a disk group belonging to the failed array controller through the other array controller. A normal array controller manages two logical disk groups by separating them into logical unit numbers (LUNs) of SCSI commands. The disk cache memory used for backup of the failed array controller continues to be used as cache memory for the LUN.

이와 같이, 어레이 제어기 간의 데이터 복사를 위한 하드웨어적으로 두 어레이 제어기 간의 특별한 전송 채널로써 디스크간 SCSI 채널과는 별도인 어레이 제어기간 SCSI 채널을 둠으로써 어레이 제어기 간의 데이터 전송이 가능하게 된다.As described above, data transfer between array controllers is possible by providing an array control period SCSI channel separate from an inter-disk SCSI channel as a special transmission channel between two array controllers in hardware for copying data between array controllers.

상술한 바와 같이, 본 발명에 따르면 두 어레이 제어기 간에 별도의 SCSI 채널을 설치하여 데이터 전송 통로를 제공하고 디스크 캐쉬 메모리를 두 어레이 제어기가 동일하게 유지하도록 하므로써 지연 쓰기 방식을 사용하면서도 디스크 캐쉬 메모리의 데이터 백업을 용이하게 할 수 있는 탁월한 효과가 있다.As described above, according to the present invention, a separate SCSI channel is provided between two array controllers to provide a data transmission path and to keep the disk cache memory the same so that the data of the disk cache memory can be used while using the delayed write method. There is an excellent effect that can facilitate backups.

Claims (2)

정보 저장을 위한 다수의 디스크로 구성된 디스크 저장 장치 블록과,A disk storage block consisting of a plurality of disks for storing information, 호스트 접속 버스를 통하여 호스트 컴퓨터와 접속되며 데이터의 빠른 일기 및 쓰기를 위한 디스크 캐쉬 메모리를 갖는 제 1 및 제 2 어레이 제어기와,First and second array controllers connected to a host computer via a host connection bus and having disk cache memory for fast reading and writing of data; 상기 다수의 디스크 간의 연결을 위한 디스크간 소형 컴퓨터 시스템 접속 버스로 구성되는 이중 어레이 제어기를 갖는 래이드 시스템에 있어서,10. A raid system having a dual array controller comprised of inter-disk small computer system connection buses for connecting between said plurality of disks. 상기 제 1 어레이 제어기와 상기 제 2 어레이 제어기간의 연결을 위한 어레이 제어기간 소형 컴퓨터 시스템 접속 버스를 포함하여 구성되는 것을 특징으로 하는 이중 어레이 제어기를 갖는 래이드 시스템의 구조.An array control period comprising a small computer system connection bus for connection between said first array controller and said second array controller. 제 1 항에 있어서, 상기 제 1 및 제 2 어레이 제어기의 디스크 캐쉬 메모리는 자신의 데이터 저장용 디스크 캐쉬 메모리 블록과 상대편 데이터 백업용 디스크 캐쉬 메모리 블록으로 나뉘어진 것을 특징으로 하는 이중 어레이 제어기를 갖는 래이드 시스템의 구조.2. The raid system of claim 1, wherein the disk cache memory of the first and second array controllers is divided into a disk cache memory block for data storage and a disk cache memory block for data backup on the opposite side. Structure.
KR1019970071097A 1997-12-19 1997-12-19 Structure of Raid System with Dual Array Controllers KR19990051729A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970071097A KR19990051729A (en) 1997-12-19 1997-12-19 Structure of Raid System with Dual Array Controllers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970071097A KR19990051729A (en) 1997-12-19 1997-12-19 Structure of Raid System with Dual Array Controllers

Publications (1)

Publication Number Publication Date
KR19990051729A true KR19990051729A (en) 1999-07-05

Family

ID=66091046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970071097A KR19990051729A (en) 1997-12-19 1997-12-19 Structure of Raid System with Dual Array Controllers

Country Status (1)

Country Link
KR (1) KR19990051729A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011204A (en) * 1999-07-26 2001-02-15 윤종용 Method and apparatus for overcoming raid failure by cache mirroring
KR20030082779A (en) * 2002-04-18 2003-10-23 주식회사 트론웰 Method to recover the errors of dual flash memory in Network Attached Storage(NAS)
KR100445425B1 (en) * 2001-12-24 2004-08-25 한국전자통신연구원 Method for balancing loads on a storage subsystem with distributed RAID controllers
KR100447267B1 (en) * 2001-11-30 2004-09-07 한국전자통신연구원 A distributed controlling apparatus of a RAID system
US6901478B2 (en) 2001-10-26 2005-05-31 Electronics And Telecommunication Research Institute Raid system and mapping method thereof
KR100985444B1 (en) * 2003-07-14 2010-10-06 인터내셔널 비지네스 머신즈 코포레이션 Data storage array
CN111813334A (en) * 2020-06-04 2020-10-23 中国科学院上海微系统与信息技术研究所 Write performance optimization and double-control node combination method for Ceph

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011204A (en) * 1999-07-26 2001-02-15 윤종용 Method and apparatus for overcoming raid failure by cache mirroring
US6901478B2 (en) 2001-10-26 2005-05-31 Electronics And Telecommunication Research Institute Raid system and mapping method thereof
KR100447267B1 (en) * 2001-11-30 2004-09-07 한국전자통신연구원 A distributed controlling apparatus of a RAID system
KR100445425B1 (en) * 2001-12-24 2004-08-25 한국전자통신연구원 Method for balancing loads on a storage subsystem with distributed RAID controllers
KR20030082779A (en) * 2002-04-18 2003-10-23 주식회사 트론웰 Method to recover the errors of dual flash memory in Network Attached Storage(NAS)
KR100985444B1 (en) * 2003-07-14 2010-10-06 인터내셔널 비지네스 머신즈 코포레이션 Data storage array
CN111813334A (en) * 2020-06-04 2020-10-23 中国科学院上海微系统与信息技术研究所 Write performance optimization and double-control node combination method for Ceph
CN111813334B (en) * 2020-06-04 2024-04-05 中国科学院上海微系统与信息技术研究所 Ceph write performance optimization and double-control node combination method

Similar Documents

Publication Publication Date Title
US6006342A (en) Failover and failback system for a direct access storage device
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
EP1774437B1 (en) Performing a preemptive reconstruct of a fault-tolerant raid array
US4914656A (en) Disk drive memory
US4989205A (en) Disk drive memory
US8065558B2 (en) Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
JP3129732B2 (en) Storage array with copy-back cache
US5210866A (en) Incremental disk backup system for a dynamically mapped data storage subsystem
EP0515499B1 (en) Disk drive memory
US7600152B2 (en) Configuring cache memory from a storage controller
US4989206A (en) Disk drive memory
JP3732869B2 (en) External storage device
US6330642B1 (en) Three interconnected raid disk controller data processing system architecture
US6886075B2 (en) Memory device system and method for copying data in memory device system
US20120198273A1 (en) Disk array system and control method thereof
JPH09269871A (en) Data re-redundancy making system in disk array device
US7130973B1 (en) Method and apparatus to restore data redundancy and utilize spare storage spaces
KR19990051729A (en) Structure of Raid System with Dual Array Controllers
JP2000020248A (en) Disk fault recovering method, disk driver, and recording medium
JPH06119126A (en) Disk array device
RU2750645C1 (en) Method for data storage in redundant array of independent disks with increased fault tolerance
JP2778268B2 (en) Recording medium control device
KR100447267B1 (en) A distributed controlling apparatus of a RAID system
JP3597086B2 (en) Disk array controller
GB2298306A (en) A disk array and tasking means

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application