KR20000046179A - Apparatus and method of controlling disc array - Google Patents

Apparatus and method of controlling disc array Download PDF

Info

Publication number
KR20000046179A
KR20000046179A KR1019980062856A KR19980062856A KR20000046179A KR 20000046179 A KR20000046179 A KR 20000046179A KR 1019980062856 A KR1019980062856 A KR 1019980062856A KR 19980062856 A KR19980062856 A KR 19980062856A KR 20000046179 A KR20000046179 A KR 20000046179A
Authority
KR
South Korea
Prior art keywords
scsi
memory
data
host
dip
Prior art date
Application number
KR1019980062856A
Other languages
Korean (ko)
Other versions
KR100308149B1 (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 KR1019980062856A priority Critical patent/KR100308149B1/en
Publication of KR20000046179A publication Critical patent/KR20000046179A/en
Application granted granted Critical
Publication of KR100308149B1 publication Critical patent/KR100308149B1/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Abstract

PURPOSE: A method of controlling disk array is provided to enhance the reliability of disks by adapting a SCSI(small computer system interface)-to-SCSI method as array management and a mirroring method of level 1 as disk array. CONSTITUTION: A user application demands data connection of a random SCSI device to a host operating system(O/S), and the host operating system demands input/output to a host memory. Then, the host memory requires input/output to a drive system interface of a SCSI device driver, and a data structure is formed in the host memory. The formed data structure is saved in a command block of the host memory and the command block is transferred to the SCSI device driver. Finally, the address of SCSI device is loaded to a SCSI control unit(36) with the command block. The SCSI control unit is connected to the SCSI device driver through the address of SCSI device.

Description

디스크 어레이 제어 장치 및 제어 방법Disk Array Control Device and Control Method

본 발명은 디스크 어레이 제어 장치 및 제어 방법에 관한 것으로 특히, 레벨 1(Level 1)인 미러링(Mirroring) 방식의 디스크 어레이(Disk array) 방식과 스카시-투-스카시(SCSI(Small Computer System Interface)-TO-SCSI)방식을 채택하여 신뢰도를 향상시키기에 적당한 디스크 어레이 제어 장치 및 제어 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array control apparatus and a control method, and more particularly, to a level 1 mirroring disk array and a SCSI-to-SCSI. The present invention relates to a disk array control apparatus and a control method suitable for improving reliability by adopting a TO-SCSI) method.

이하, 첨부된 도면을 참조하여 종래 디스크 어레이 장치를 설명하기로 한다.Hereinafter, a conventional disk array device will be described with reference to the accompanying drawings.

도 1은 종래 디스크 어레이 장치의 블록 구성도이고, 도 2는 종래 디스크 어레이 제어 장치의 DAC 블록 구성도다.1 is a block diagram of a conventional disk array device, and FIG. 2 is a block diagram of a DAC block of a conventional disk array control device.

종래 디스크 어레이 장치 및 디스크 어레이 장치의 DAC는 도 1 및 도 2에 나타낸 바와 같은데 마이렉스(Mylex)에서 생산되는 RDC(DAC960SX(도 2의 20)의 중요 구성 요소를 나타낸 것으로 우선 DAC960SX(20)와의 1차적인 사용자 인터페이스(User Interface)는 프로그램 가능 논리부(17)를 통한 프론트 패널 키 패드(Front panel Keypad)에 의한 것이며 2차적인 사용자 인터페이스는 RS-232 직렬 통신 포트(serial communication port)에 의한 것이다.The DACs of the conventional disk array device and the disk array device are shown in Figs. 1 and 2, and show important components of the RDC (DAC960SX (20 in Fig. 2) produced by Mylex). The primary user interface is by front panel keypad via programmable logic 17 and the secondary user interface is by RS-232 serial communication port. will be.

그리고, COD(Configuration on Disk)는 DAC960SX(20)가 하드디스크(도시하지 않음)의 변화시 그 변동 상황을 인식 할 수 있도록 하여 주며, 자동적으로 재 구조화 할 수 있도록 하여 준다.In addition, the COD (Configuration on Disk) allows the DAC960SX 20 to recognize the change situation when the hard disk (not shown) changes and automatically restructure.

ASIC(주문형 반도체)(3)는 인터리브드 디램(Interleaved DRAM)인 메인 메모리(main memory)(4)를 통제하기 위해 디자인 된 장치이고, 메인 메모리(4)는 256MB(Byte)의 쌍인 512MB의 모듈화 된 어드레스(Adress)를 지원한다.ASIC (Custom Semiconductor) 3 is a device designed to control main memory 4, which is an interleaved DRAM, and the main memory 4 has a modularity of 512 MB, which is a pair of 256 MB (Byte). Supported addresses.

메인 메모리 버스 인터페이스(Memory Bus Interface)(5)는 로컬 버스(local bus)(로컬 인터페이스)와 메인 메모리(4)(DRAM SIMM module)간의 데이터 버스 버퍼(data bus buffer)를 제공하고, 메인 메모리(4)에 대한 패리티 생성(parity generation), 패리티 체킹(parity checking), 패리티 에러 인터럽트 로직(parity error interrupt logic)을 제공한다.The main memory bus interface 5 provides a data bus buffer between the local bus (local interface) and the main memory 4 (DRAM SIMM module), and the main memory ( Parity generation, parity checking, and parity error interrupt logic.

그리고, BBU 회로(6)는 전력(power)과 주어진 메인 메모리(4)구조에 대한 적당한 리프레쉬 시그널링(refresh signaling)을 유지시킨다.The BBU circuit 6 then maintains power and appropriate refresh signaling for a given main memory 4 structure.

Flash EPROM(13)은 DAC960SX(20)의 CPU(15)에 의해 수행되어 지는 프로그램이 포함되어져 있으며, 또한, 파워 오프(power off) 시의 정보가 포함되어 지며 하드웨어 적인 칩의 교환 없이 업그레이드가 가능하도록 한다.The Flash EPROM 13 includes a program executed by the CPU 15 of the DAC960SX 20, and includes information on power off and can be upgraded without replacing a hardware chip. Do it.

그리고, NVRAM(16)은 현재의 콘트롤러(controller)의 구조와 거기에 부착된 디스크 드라이브(도시하지 않음)의 데이터가 저장되어 있어서, 디스크 드라이브의 구조가 변화되어질 때(디스크 fail등으로) 그 기록을 유지시킨다.The NVRAM 16 stores the structure of the current controller and the data of the disk drive (not shown) attached thereto, so that the recording is performed when the structure of the disk drive is changed (such as a disk fail). Keep it.

SIOP(SCSI I/O Processor)(8)는 호스트 채널(Host Channel) 1개와 디스크 채널(Disk Channel) 2개로 구성되어 있으며, DMA 코어(core)와 스카시 코어(SCSI core)등으로 구성되어 스카시(SCSI) 프로토콜 등 여러 가지 일을 처리한다.The SIOP (SCSI I / O Processor) 8 is composed of one host channel and two disk channels, and is composed of a DMA core and a SCSI core. It handles many things like the SCSI protocol.

로컬 버스(Local Bus)(9)는 모든 데이터(All data)와 CPU(11) 트래픽(Traffic)이 공유한다.The local bus 9 is shared by all data and CPU 11 traffic.

그리고, DAC960SX(20)는 128MB의 모듈화 된 디램 캐쉬(DRAM Cache)로 구성 되어져 있으며, 최소로는 8MB의 DRAM이 요구되어 진다.The DAC960SX 20 consists of a 128MB modular DRAM cache, which requires at least 8MB of DRAM.

CPU(15)와 캐쉬 메모리 디램(cache memory DRAM)사이의 fast 32bit 인터페이스는 이산적인 프로그램화 된 로직(logic)으로 구현 된 MCU(Memory Control Unit)에 의하여 제공된다.The fast 32-bit interface between the CPU 15 and the cache memory DRAM is provided by a memory control unit (MCU) implemented in discrete programmed logic.

메모리 통제와 어드레싱 기능에 부가적으로 MCU는 디바이스를 맵핑하고, NVRAM(16)과 Flash EEPROM)(13)을 위한 디코딩을 수행한다.In addition to the memory control and addressing functions, the MCU maps the device and performs decoding for NVRAM 16 and Flash EEPROM 13.

그리고, 듀얼 UART(UAL)(11)는 일반적인 목적의 입출력에 부가적으로 두개의 UART를 포함한다.In addition, the dual UART (UAL) 11 includes two UARTs in addition to the general purpose input and output.

제 1 직렬 통신 포트는 CTS, RTS, DSR, DTR, DCD를 포함하는 모뎀 제어 신호(Modem control signal)로 구성되고, 제 2 직렬 통신 포트는 Tx, Rx만을 지원한다.The first serial communication port consists of a modem control signal including CTS, RTS, DSR, DTR, DCD, and the second serial communication port supports only Tx and Rx.

DAC960SX(20)는 콘트롤러(controller)가 호스트 시스템과 각 구동부간(25)의 데이터를 읽고 쓰는 등의 통신을 수행하기 위하여 각 채널마다 심비오스(Symbios) Logic 53C770 SCSI I/O processor chip을 사용한다.The DAC960SX 20 uses a Symbios Logic 53C770 SCSI I / O processor chip for each channel in order for a controller to perform communication such as reading and writing data between the host system and each driver 25. .

DAC960SX(20)에 의해 통제되는 각 SCSI 채널(24)에는 최고 6개까지의 디스크 드라이브(제 1 내지 제 6 하드 디스크 구동부)(25))를 연결 할 수 있다.Up to six disk drives (first to sixth hard disk drives) 25 may be connected to each SCSI channel 24 controlled by the DAC960SX 20.

그리고, Fast Wide SCSI-3(Ultra-SCSI)을 지원한다.It also supports Fast Wide SCSI-3 (Ultra-SCSI).

출력 포트(3)는 8bit 제어 보드(controller board)에 있어서 하드웨어(H/W)에 사용되어지는 Write-only control bit를 제공한다.The output port 3 provides a write-only control bit used for hardware (H / W) in an 8-bit controller board.

마지막으로 DAC960SX(20)의 CPU(15)는 33MHZ로 동작하고, 1KB의 데이터 캐쉬(Data Cache)와 4KB의 인스트럭션 캐쉬(Instruction Cache)를 가지고 있는 32bit Intel i960 RISC Microprocessor이며, 이 CPU는 스카시 버스(SCSI bus) 전송, 레이드 처리(RAID processing), 구성(configuration), 데이터 스트리핑(data striping), 에러 복구(error recovery), 재구동(drive rebuild) 등을 포함한 모든 기능을 통제한다.Finally, the CPU 15 of the DAC960SX 20 is a 32-bit Intel i960 RISC Microprocessor that operates at 33 MHz and has 1 KB of data cache and 4 KB of instruction cache. It controls all functions including SCSI bus transfer, RAID processing, configuration, data striping, error recovery, drive rebuild, and more.

이와 같은 종래 디스크 어레이 제어 장치의 동작을 설명하기로 한다.The operation of the conventional disk array control apparatus will be described.

DAC960SX(20)는 상용의 일반 하드디스크 여러개를 하나의 고용량의 하드디스크로 인식하며, 이중 구조를 기본으로 하기에 구성부분에 이상이 발생하더라도 On-Line상에서 시스템 정지 없이 복구가 가능한 무정지 대용량의 저장 장치이다.DAC960SX (20) recognizes several commercially available general hard disks as one high-capacity hard disk, and based on the dual structure, even if an error occurs in the component part, it can be recovered without on-line system. Device.

DAC960SX(20)는 시스템 가동 중 하드디스크 장애시에도 시스템 정지 없이 새 하드디스크로 교체하면(Hot Swap) 원래의 데이터를 자동 복구(데이터 손실 제거)할 수 있으며, 여러 개의 하드디스크를 하나의 커다란 가상 디스크로 구성하므로 해서 대용량의 저장 장치를 구축할 수 있으며, 또 다수의 하드디스크에 데이터를 분할하여 병렬 전송함으로써 전송 속도가 향상되었고, 듀얼 호스트(Dual Host) 접속 기능을 이용한 호스트의 폴트 허용(Fault Tolerant)으로 무정지 망 서비스(Network Service)를 구현할 수 있다.The DAC960SX (20) can automatically recover the original data (remove data loss) by replacing it with a new hard disk (Hot Swap) even in the event of a hard disk failure while the system is running. The disk can be used to build a large-capacity storage device. In addition, the data transfer speed can be improved by dividing and transferring data to multiple hard disks, and the host can be faulted using the dual host connection function. Tolerant can be used to implement a network service.

DAC960SX(20)에서 구현되는 레이드 레벨(RAID Level)은 데이터 레코딩(Data Recording)방식에 따라 구분되며, 제각기 독자성을 유지하므로 높은 레벨(Level)이 낮은 레벨(Level)의 기능을 포함하지 않는다.RAID levels implemented in the DAC960SX 20 are classified according to a data recording method, and since each maintains its own identity, a high level does not include a function of a low level.

레이드 레벨은 각각의 어플리케이션(Application)에 최적인 레이드 레벨을 선정하여 사용하는 것이 바람직하며, 단일 레이드에도 여러 레이드 레벨을 복합적으로 구성할 수 있다.The raid level is preferably used by selecting an optimal raid level for each application, and multiple raid levels may be combined in a single raid.

이를 구체적인 예를 들어 설명하면 레벨 0(Level 0)은 데이터 스트리핑(Data Striping)이라 하며, 데이터를 패리티(Parity)없이 구성 하드디스크에 분산, 기록하고, 데이터의 복구 기능이 없으며, 입출력이 집중적으로 사용되는 어플리케이션에 적합하다.As a specific example, Level 0 is called data striping, which distributes and writes data to a configuration hard disk without parity, has no data recovery function, and concentrates input and output. Suitable for the application used.

레벨 1(Level 1)은 디스크 미러링(Disk Mirroring)이라 하며 두 개의 하드디스크에 데이터를 동일하게 기록하고, 데이터의 복구 능력이 탁월하다.Level 1, called disk mirroring, writes data identically to two hard disks and provides excellent data recovery.

레벨 3(Level 3)은 데이터 스트리핑 위드 전용(Data Striping with a Dedicated)이며, 데이터를 비트(bit)단위로 분할 기록하고, 패리티 디스크(Parity Disk)에는 패리티만 기록한다.Level 3 is Data Striping with a Dedicated, and divides and writes data in bit units, and records only parity in a parity disk.

레벨 5(Level 5)는 데이터 스트리핑 위드 분산 패리티 데이터(Data Striping with a Distributed Parity Data)이라 하며, 패리티 디스크(Parity Disk)의 지정 없이 데이터와 패리티를 분산 기록한다.Level 5 is referred to as data striping with a distributed parity data, and distributes and records data and parity without specifying a parity disk.

레벨 0+1(Level 0+1)은 스트리핑 & 미러링(Striping & Mirroring)이고, 레벨 7(Level 7)은 JBOD(Just Bunch of Disks)이다.Level 0 + 1 is Leveling & Mirroring, and Level 7 is Just Bunch of Disks (JBOD).

DAC960SX(20)의 장점은 데이터의 안정성(Mirroring/Parity, Online Data Rebuild), 무정지성(Hot-Swap), 뛰어난 I/O(전용 Processor, Cache), 풍부한 확장성(Disk의 증설로 차후 손쉽게 용량 확장 가능), 완벽한 호환성(SCSI-to-SCSI Connection), 효율적인 운영성(Dual Host, 다수의 대용량 LUN)등을 들 수 있으며, 실제 시스템의 적용 차원에서 스카시 버스(SCSI BUS) 정합부인 DAC960SX(20)는 VIPS-HD의 가입자 서비스를 위한 음성, FAX 데이터, 사서함 정보, 시스템 프로그램등을 저장하는 축적 장치(하드디스크, 카트리지 드라이브 등)를 억세스하는데 있어서 SCSI(Small Computer System Interface) 방식을 사용하고 있다.Advantages of DAC960SX (20) include data stability (mirroring / parity, online data rebuild), hot-swap, excellent I / O (dedicated processor, cache), and rich scalability Expandable), full compatibility (SCSI-to-SCSI connection), efficient operation (Dual Host, large capacity LUNs), and the DAC960SX (20) ) Uses the SCSI (Small Computer System Interface) method to access storage devices (hard disks, cartridge drives, etc.) that store voice, fax data, mailbox information, and system programs for VIPS-HD subscriber service. .

이 방식은 대량의 저장 능력을 가지며 고속 처리를 가능케 하는 정합으로 하나의 호스트에 최대 7 개의 타겟(축적 장치)을 정합 시킬 수 있으며 각 타겟은 고유한 ID(Identity) 번호를 가진다.This method has a large storage capacity and can match up to seven targets (accumulators) in one host with a fast processing. Each target has a unique ID number.

마스터 위치의 마스터 MPU(21)는 SCSI ID가 7이고, 슬레이브 위치의 슬레이브 MPU(22)는 SCSI ID 6을 가진다.The master MPU 21 in the master position has a SCSI ID of 7 and the slave MPU 22 in the slave position has a SCSI ID of 6.

SCSI 정합 방식에는 비동기/동기(Asynchronous/Synchronous), 내로우/와이드, 패스트(Narrow/Wide, Fast)등이 있다.SCSI matching includes Asynchronous / Synchronous, Narrow / Wide, and Fast.

DAC960SX(20)의 이중화는 마스터 MPU(21)가 DAC960SX(20)에게 SCSI 명령을 내리면 미리 세팅된 DAC960SX(20)의 RAID 레벨(레벨 1 ∼ 7)에 따라 DAC960SX(20)가 하드디스크(25) 이중화를 수행하는 것이다.Redundancy of the DAC960SX (20) means that when the master MPU 21 issues a SCSI command to the DAC960SX (20), the DAC960SX (20) is connected to the hard disk 25 according to the preset RAID level (levels 1 to 7) of the DAC960SX (20). It is to perform redundancy.

DAC960SX(20)의 이중화에는 여러 가지 방식이 있는 데 흔히 사용되는 것은 도 3에 나타낸 바와 같은 1 개의 패리티 정보를 가진 하드디스크를 두는 디스크 스트리핑(DISK Striping) 방식과, 4에 나타낸 바와 같은 완전 이중화된 디스크 미러링(DISK Mirroring) 방식 등이 있다.There are various methods of redundancy of the DAC960SX 20. The most commonly used ones are the disk striping method of placing a hard disk with one parity information as shown in FIG. 3 and the fully redundant as shown in 4 DISK Mirroring.

디스크 스트리핑은 SCSI-2 규격의 "DISCONNECT" 기능을 최대한 발휘 할 수 있으므로 속도가 빠른 장점이 있고, 디스크 미러링은 속도 면에서는 디시크 스트리핑보다는 느리지만 하드디스크의 고 신뢰성을 보장하는 장점이 있다.Disk striping has the advantage of being fast because it can maximize the "DISCONNECT" function of the SCSI-2 standard, and disk mirroring is slower than disc striping in terms of speed, but it has the advantage of ensuring the high reliability of the hard disk.

이와 같은 종래 디스크 어레이 제어 장치 및 제어 방법에 있어서는 다음과 같은 문제점이 있었다.Such a conventional disk array control apparatus and control method have the following problems.

첫째, 스카시 디바이스 구동부(SCSI Device_Driver)에 있어서 스크립트(SCRIPT) 수행 후 인터럽트 서비스 루틴(Interrupt Service Routine) 처리 시 SIP와 DIP가 동시에 발생했을 경우에 대한 처리가 모호하였다.First, in the SCSI device driver (SCSI Device_Driver) after processing the script (SCRIPT) when processing the Interrupt Service Routine (Interrupt Service Routine) when the SIP and DIP occurs at the same time processing of ambiguous.

둘째, 에러 코드(Error Code) = 71FE(Check Condition)의 재고에 대한 문제가 있었다.Second, there was a problem with the stock of Error Code = 71FE (Check Condition).

셋째, 인터럽트 자제가 발생하지 않는 경우가 있었다. 즉, 호스트와 타겟의 스카시 접속은 이루어 졌으나 RDC와 하드디스크 구동부(HDD)간의 장애로 버스가 홀딩(Holding)되었을 때 무한히 인터럽트를 기다리는 경우, 마스터 MPU와 RDC가 중재(Arbitration), 선택 위드 어텐션(Selection With Attention), 메시지 아웃 페이즈(Message Out Phase) 과정을 정상적으로 끝내고, 데이터 인/아웃(Data In/Out) 페이즈에서 하드디스크 구동부의 장애로 버스가 홀딩되는 문제가 발생하였다.Third, interrupt control did not occur in some cases. That is, when the SCSI connection between the host and the target is made, but the bus is held indefinitely when the bus is held due to a failure between the RDC and the hard disk drive (HDD), the master MPU and the RDC are arbitrated and select with attention ( There was a problem that the bus was held due to a failure of the hard disk drive in the data in / out phase after completing the selection with attention and message out phase processes normally.

넷째, 인터럽트가 발생했음에도 ISTAT에 SIP나 DIP중 어느 것도 설정(SET)되어 있지 않아 인터럽트 자체를 잃어버리는 문제점이 발생하기도 한다.Fourth, even if an interrupt occurs, there is a problem that the interrupt itself is lost because neither the SIP nor the DIP is set in the ISTAT.

본 발명의 목적은 이상에서 언급한 종래 기술의 문제점을 감안하여 안출한 것으로서, 디스크 어레이 방식으로 레벨 1인 미러링 방식을 채택하고, 어레이 관리 방식으로는 스카시-투-스카시 방식을 채택하여 디스크의 신뢰도를 향상시킨 디스크 어레이 제어 장치 및 제어 방법을 제공하기 위한 것이다.An object of the present invention has been made in view of the above-mentioned problems of the prior art, adopting a level 1 mirroring method as a disk array method, and the reliability of the disk by adopting a SCSI-to-SCSI method as an array management method. It is to provide a disk array control apparatus and a control method improved.

이상과 같은 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 임의의 보드의 메인 메모리인 제 1 메모리와, 상기 보드를 제어하는 중앙처리장치(CPU)의 프로그램을 내장하고 있는 제 2, 제 3 메모리와, 상기 보드와 연결되는 임의의 스카시(SCSI)의 프로토콜을 처리하는 복수개의 스카시 제어부와, 상기 보드와 임의의 랜(LAN)을 제어하는 랜 제어부와, 상기 제 1, 제 2, 제 3 메모리 및 상기 스카시 제어부를 억세스하는 제 1 버스와, 상기 랜 제어부를 억세스 하는 제 2 버스와, 상기 제 1, 제 2 버스의 분리를 위한 버스 분리 버퍼로 구성된다.According to one aspect of the present invention for achieving the above object, the first and second memory, which is the main memory of any board, and the second and third are embedded with a program of a central processing unit (CPU) for controlling the board A plurality of SCSI controllers for processing a memory, a protocol of any SCSI (SCSI) connected to the board, a LAN controller for controlling the LAN and the board, and the first, second, and third devices. And a first bus for accessing a memory and the SCSI control unit, a second bus for accessing the LAN control unit, and a bus separation buffer for separating the first and second buses.

이상과 같은 다른 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 사용자 어플리케이션이 호스트 구동 시스템(O/S)에 임의의 스카시 디바이스에 있는 데이터 접속을 요청하는 단계, 호스트 메모리에 상기 호스트 구동 시스템이 입출력을 요청하는 단계, 스카시 구동부의 구동 시스템 인터페이스로 상기 호스트 메모리가 입출력을 요청하는 단계, 상기 입출력 요청에 따라 호스트 메모리에 데이터 스트럭쳐를 생성하는 단계, 상기 데이터 스트럭쳐가 생성되면 상기 호스트 메모리의 커맨드 블록에 저장하는 단계, 상기 커맨드 블록을 상기 스카시 구동부로 전송하는 단계, 상기 커맨드 블록을 이용하여 스카시 제어부로 상기 스카시 디바이스의 어드레스를 로드하는 단계, 상기 스카시 제어부가 상기 스카시 디바이스 어드레스를 이용하여 상기 스카시 디바이스를 구동시키는 구동부에 접속하는 단계를 포함하여 이루어진다.According to another aspect of the present invention for achieving the other object as described above, the user application requesting the host drive system (O / S) to access the data in any SCSI device, the host memory system is Requesting an input / output, requesting an input / output of the host memory to a drive system interface of the SCSI driver, generating a data structure in a host memory according to the input / output request, and if the data structure is generated, a command block of the host memory Storing the command block; transmitting the command block to the SCSI driver; loading an address of the SCSI device into the SCSI controller using the command block; and the SCSI controller is configured to use the SCSI device address. It comprises the step of connecting the drive unit to drive the device.

이상과 같은 본 발명에 따르면, 디스크 어레이의 신뢰성을 향상시킬 수 있다.According to the present invention as described above, the reliability of the disk array can be improved.

도 1은 종래 디스크 어레이 제어 장치의 블록 구성도1 is a block diagram of a conventional disk array control apparatus

도 2는 종래 디스크 어레이 제어 장치의 DAC 블록 구성도2 is a block diagram of a DAC of a conventional disk array control apparatus.

도 3은 종래 일 실시예에 따른 DAC의 디스크 스트리핑을 나타낸 도면3 illustrates a disk stripping of a DAC according to an exemplary embodiment.

도 4는 종래 다른 실시예에 따른 DAC의 완전 이중화된 디스크 미러링을 나타낸 도면4 illustrates fully redundant disk mirroring of a DAC according to another conventional embodiment.

도 5는 본 발명 디스크 어레이 장치의 블록 구성도Figure 5 is a block diagram of a disk array device of the present invention

도 6은 본 발명 스카시 입출력 오퍼레이션을 나타낸 도면6 is a diagram illustrating the present invention SCSI input and output operations.

도 7은 본 발명 디시크 어레이 장치의 구동을 나타낸 도면7 is a view showing the driving of the disc array of the present invention;

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

30 : CPU 31 : 제 1 메모리30: CPU 31: the first memory

32 : 제 2 메모리 33 : 제 3 메모리32: second memory 33: third memory

34 : 제 4 메모리 35 : 제 5 메모리34: fourth memory 35: fifth memory

36 : 스카시 제어부 37 : LAN 제어부36: SCSI control unit 37: LAN control unit

38 : 직렬 포트 39 : 공통 메모리38: serial port 39: common memory

40 : 제 1 버스 41 : 제 2 버스40: first bus 41: second bus

42 : 버스 분리 버퍼42: bus detach buffer

이하 본 발명의 바람직한 일 실시 예에 따른 구성 및 작용을 첨부된 도면을 참조하여 설명한다.Hereinafter, a configuration and an operation according to an exemplary embodiment of the present invention will be described with reference to the accompanying drawings.

도 5는 본 발명 디스크 어레이 장치의 블록 구성도이다.5 is a block diagram of a disk array device of the present invention.

본 발명 디스크 어레이 장치의 블록 구성도는 RDCC(Raid Disk Controller Circuit) 보드를 나타낸 것으로 RDCC 보드의 메인 메모리인 제 1 메모리(31)와, CPU(30)의 프로그램을 내장하고 있는 제 2, 제 3 메모리(32)(33)와, 디스크 드라이버(도시하지 않음)의 데이터가 저장되어 있어 디스크 드라이버의 구조가 바뀔 때마다 그 내용을 기억하는 제 4 메모리(34)와, 직렬포트(38)를 통해 P1과 P2간의 데이터를 저장하는 제 5 메모리와, 직접 메모리 억세스(Direct Memory Access : DMA) 코어(core)와 스카시 코어 등으로 구성되어 스카시(SCSI) 프로토콜의 여러 가지 처리를 하는 제 1 내지 제 3 스카시(SCSI) 제어부(36a)(36b)(36C)와, LAN(Local Area Network) 제어부(37)와 공통 메모리(39) 및 상기 제 1, 제 2, 제 3 메모리(31)(32)(33) 및 스카시 제어부(36)를 억세스하는 제 1 버스(40)와, 상기 LAN 제어부(37), 공통 메모리(39)를 억세스하기 위한 제 2 버스(41)와, 상기 제 1, 제 2 버스(40)(41)의 분리를 위한 버스 분리 버퍼(42)로 구성된다.The block diagram of a disk array device according to the present invention is a RDCC (Raid Disk Controller Circuit) board, which includes a first memory 31, which is a main memory of the RDCC board, and a second and third embedded therein. Memory 32, 33, and data of a disk driver (not shown) are stored, and through the fourth memory 34 and serial port 38 for storing the contents each time the structure of the disk driver is changed. The first to the third, which is composed of a fifth memory for storing data between P1 and P2, a direct memory access (DMA) core, a SCSI core, and the like, to perform various processes of the SCSI protocol. SCSI (SCSI) control units 36a, 36b, 36C, LAN (Local Area Network) control unit 37, common memory 39, and the first, second, and third memories 31, 32 ( 33) and the first bus 40 to access the SCSI controller 36, the LAN controller 37, and a common memo. It consists of 39, and a second bus 41 for accessing the first and the second bus 40. Bus for separation of the 41 separate buffer 42.

이때, 상기 제 1 메모리(31)는 디램(DRAM)으로 구성되고, 제 2 메모리는 이피롬(EPROM)으로 구성되며 제 3 메모리(33)는 플래쉬(FLASH) 메모리로 구성되고, 제 4 메모리(34)는 불휘발성 램(Nonvolatile SRAM : NVRAM)으로 구성된다.At this time, the first memory 31 is composed of DRAM, the second memory is composed of EPROM, the third memory 33 is composed of FLASH memory, and the fourth memory ( 34) consists of Nonvolatile SRAM (NVRAM).

그리고, 제 5 메모리(35)는 듀얼 포트 메모리이며, 공통 메모리(39)는 에스램(SRAM)으로 구성된다.The fifth memory 35 is a dual port memory, and the common memory 39 is composed of SRAM.

또한, 상기 직렬 포트(38)는 RS232C Serial Port이다.The serial port 38 is also an RS232C serial port.

이때, 상기 RDCC 보드는 EPLD(Enhaced 프로그램 가능 논리부) CHIP이 추가되며, 이 EPLD CHIP은 CPU(30)와 각 칩 상의 신호선을 통제하는 역할을 하며, CPU(30) 다른 CPU(도시하지 않음)와 다른 Dynamic Bus Sizing을 지원하기 위해 데이터 먹스/디먹스(Data Mux/Demux) 기능을 수행한다.In this case, the RDCC board has an EPLD CHIP added thereto, and the EPLD CHIP serves to control signal lines on the CPU 30 and each chip, and another CPU (not shown). Data Mux / Demux function is supported to support Dynamic Bus Sizing.

도 6은 본 발명 스카시 입출력 동작을 나타낸 도면이다.6 is a diagram illustrating the SCSI input and output operation of the present invention.

본 발명 스카시 제어부(36)의 입출력 동작은 우선, 사용자 어플리케이션(User Application)(50)이 스카시 디바이스(SCSI Device)(54)에 있는 데이터에 접속하기 위하여 호스트 O/S(Host O/S(Operating/System))(51)에게 요청한다.In the input / output operation of the SCSI controller 36 of the present invention, first, a host application (O / S) is performed in order for a user application 50 to access data in a SCSI device 54. / System)) 51.

그와 같은 요청(Request)은 스카시 구동부(SCSI device driver)(52)의 O/S 인터페이스(52a)로 보내지며, O/S 인터페이스(52a)는 하드웨어 인터페이스(52b)를 위해 인터럽트(Interrupt), 스케줄(Schedule) 및 포맷(Format)을 한다.Such a request is sent to the O / S interface 52a of the SCSI device driver 52, and the O / S interface 52a is used for the hardware interface 52b. Schedule and format.

O/S 인터페이스(52a)는 I/O Request(61)를 받았을 때, Host Memory(60)에 데이터 스트럭쳐(Data Structure)를 만드는데, 이 데이터 스트럭쳐는 실행시킬 하드웨어 레이어(layer)로 보내어 지고, I/O가 완성되어 질 때까지 기다린다.When the O / S interface 52a receives the I / O request 61, it creates a data structure in the host memory 60, which is sent to the hardware layer to be executed, and I Wait for / O to complete

O/S 인터페이스(52a)는 스트럭쳐 완료 상태(Completion Status)를 읽은 후, 스케줄러 인포메이션을 업데이트하기 위해 이 데이터 스트럭쳐를 사용하게 된다.The O / S interface 52a reads the structure completion status and then uses this data structure to update the scheduler information.

이때 적당한 정보는 하드웨어 인터페이스(52b)로 보내 질 커맨드 블록(COMMAND BLOCK)(62)에 넣어지고, 하드웨어 인터페이스(52b)는 메모리(60)에서 데이터를 위치시킬 곳과 실행시킬 스크립트 루틴(SCRIPTS Routine)을 결정하기 위해 커맨드 블록(62)에 있는 정보를 사용하며, 스크립트 프로그램이 입출력을 실행하기 위해 필요한지, 커맨드와 데이터 버퍼(63)를 위한 데이터 영역을 설정하기 위해 필요한지를 결정한다.Appropriate information is then placed in a COMMAND BLOCK 62 to be sent to the hardware interface 52b, where the hardware interface 52b places the data in the memory 60 and the script routines to be executed (SCRIPTS routine). Information in the command block 62 is used to determine whether a script program is required to execute input and output, or to set up a data area for the command and data buffer 63.

그리고 나서 하드웨어 인터페이스(52b)는 스크립트 스타팅 어드레스를 SCSI 제어부(53)의 DSP 저장부(53a)로 로드한다.The hardware interface 52b then loads the script starting address into the DSP storage 53a of the SCSI controller 53.

SCSI 제어부(53)는 특정 SCSI 디바이스 ID를 가진 드라이브에 접속하기 위해 서브 루틴을 수행하며, 하드웨어 인터페이스(52b)는 스케줄러 인포메이션을 업데이트할 O/S 인터페이스(52a)에 알린다.The SCSI controller 53 performs a subroutine to connect to a drive with a particular SCSI device ID, and the hardware interface 52b informs the O / S interface 52a to update the scheduler information.

도 7은 본 발명 스카시 어레이 장치의 구동을 나타낸 도면이다.7 is a view showing the driving of the present invention the SCSI array device.

스카시 구동부(SCSI DEVICE DRIVER)(52)는 도 7에 나타낸 바와 같이, 어플리케이션 입출력 요청이 호스트 O/S(HOST O/S)에 입력되면 기능 코드(Function Code), DCB 포인터(pointer), 파라미터 리스트(Parameter List)가 제공되며, MKCMD(Make Command)는 스카시 커맨드 블록을 구축하는 부분이다.As shown in FIG. 7, when the application input / output request is input to the host O / S, the SCSI driver 52 may include a function code, a DCB pointer, and a parameter list. (Parameter List) is provided, and MKCMD (Make Command) is part of building a SCSI command block.

스카시 커맨드 블록은 모든 디바이스 타입을 나타내는 코드와 커맨드 카운트(Command Count), 데이터 카운트(Data count) 등으로 구성된다.The SCSI command block is composed of code representing all device types, a command count, a data count, and the like.

또한, SCSI ISR(Interrupt Service Routine)에서 SC_pend(wait interrupt)되어 진 후 스카시 제어부(53)의 DSP 저장부(53a) 리드(ISTAT Reg READ)가 이루어지는데 이는 DSP 저장부(53a)의 DIP가 SET되었는지 , SIP가 SET되어 있는지를 분석하여 각각에 맞는 Status Return(대기 상태) 되어지며, DIP 또는 SIP가 아닌 경우에는 중단(Abort)시킨다. 이때, 상기 디에스피 저장부의 DIP SET과, SIP SET이 동시에 발생할 경우에는 우선적으로 상기 DIP SET을 먼저 처리하고, 이어서 상기 SIP SET을 처리하도록 한다.In addition, after the SC_pend (wait interrupt) in the SCSI Interrupt Service Routine (ISR), the DSP storage unit 53a read (ISTAT Reg READ) of the SCSI controller 53 is performed, which means that the DIP of the DSP storage unit 53a is set. If it is not DIP or SIP, Abort is performed. In this case, when the DIP SET and the SIP SET of the DS storage unit occur at the same time, the DIP SET is first processed first, and then the SIP SET is processed.

SC_pend 되어 진 후 ISR Routine이 SC_post되어 지면, 스테이터스를 분석하여 정상 종료인지 상태 체크(Check Condition)인지를 분석하고, 맞으면 해당 스테이터스를 Return 하고 틀리면 한번 더 Phase Mismatch 인지를 물어서 Phase Mismatch이면 남겨진 바이트 수를 계산하고, 남겨진 바이트 수에 따라 포인터와 카운터를 업데이트 한다.If the ISR Routine is SC_post after SC_pend, it analyzes the status to determine whether it is in normal termination or check condition.If it is correct, it returns the status and if it is wrong, it asks if it is Phase Mismatch again. Compute and update the pointer and counter according to the number of bytes left.

그리고 나서 데이터 버퍼에서 데이터 어드레스와 남겨진 바이트 수를 패치(Patch)하고 직접 메모리 억세스(DMA)와 SCSI FIFO를 클리어 한다.Then patch the data address and the number of bytes left in the data buffer and clear the direct memory access (DMA) and SCSI FIFO.

이때, Phase Mismatch가 아닌 경우는 중단(Abort) 시킨다.At this time, if it is not Phase Mismatch, it aborts.

이상의 설명에서와 같은 본 발명은 다음과 같은 효과가 있다.The present invention as described above has the following effects.

첫째, 스카시 구동부(SCSI Device_Driver)에 있어서 스크립트(SCRIPT) 수행 후 ISR(Interrupt Service Routine) 처리 시 SIP와 DIP가 동시에 발생했을 경우에 대한 문제가 발생하였을 경우 DIP를 먼저 처리하도록 하고, 그 다음 SIP를 처리하도록 함으로써 처리의 모호성을 없어졌다.First, if the problem occurs when SIP and DIP occur at the same time during Interrupt Service Routine (ISR) processing after executing script (SCRIPT) in SCSI Device_Driver, DIP should be processed first, and then SIP The treatment eliminates the ambiguity of the treatment.

즉, 스크립트 시작 후 SC_pend 되어진 후 항상 ISTAT Reg에 DIP가 SET 되어졌는지를 묻고, ISTAT Reg에 SIP가 SET 되어졌는지를 묻고 그 각각을 처리함으로써 순서의 모호성을 해결하였다.In other words, after the script was started after SC_pend, it always resolved the ambiguity of the order by asking the ISTAT Reg whether the DIP was set and asking the ISTAT Reg whether the SIP was set and processing each of them.

둘째, Error Code = 71FE(Check Condition)의 재고에 대한 문제 즉, 스카시 구동부의 스카시 장애에 대한 Retry 과정은 모든 에러 코드에 대하여 SCSI 버스를 Reset 해도 SCSI 버스가 재접속 되지 않는 상태 체크(Check Condition)는 예외적으로 처리해야 하는데 그 해결 방안으로 RDCC는 상태 체크를 발생시켜 에러로 리턴 되는 경우 디바이스 드라이버에 리퀘스트 센스를 수행시켜 센스 키가 포함된 에러로 리턴 하게끔 하였다.Second, the problem of inventory of Error Code = 71FE (Check Condition), that is, the retry process for the SCSI failure of the SCSI driver, prevents the SCSI bus from reconnecting even if the SCSI bus is reset for all error codes. As a solution, RDCC issues a status check and returns a error containing the sense key by requesting the device driver when it is returned as an error.

셋째, 인터럽트가 발생했는데 ISTAT에 SIP나 DIP중 어느 것도 SET되어 있지 않은 경우는 중단 비트를 SET함으로서 인터럽트를 잃어버리는 문제를 해결하였다.Third, if an interrupt occurs but neither SIP nor DIP is set in ISTAT, the interrupt is lost by setting the abort bit.

Claims (6)

임의의 보드의 메인 메모리인 제 1 메모리와;A first memory which is a main memory of any board; 상기 보드를 제어하는 중앙처리장치(CPU)의 프로그램을 내장하고 있는 제 2, 제 3 메모리와;Second and third memories incorporating a program of a central processing unit (CPU) for controlling the board; 상기 보드와 연결되는 임의의 스카시(SCSI)의 프로토콜을 처리하는 복수개의 스카시 제어부와;A plurality of SCSI controllers for processing a protocol of any SCSI (SCSI) connected to the board; 상기 보드와 임의의 랜(LAN)을 제어하는 랜 제어부와;A LAN control unit controlling the board and an arbitrary LAN; 상기 제 1, 제 2, 제 3 메모리 및 상기 스카시 제어부를 억세스하는 제 1 버스와;A first bus for accessing the first, second and third memories and the SCSI controller; 상기 랜 제어부를 억세스 하는 제 2 버스와,A second bus for accessing the LAN control unit, 상기 제 1, 제 2 버스의 분리를 위한 버스 분리 버퍼로 구성된 것을 특징으로 하는 디스크 어레이 제어 장치.And a bus separation buffer for separating the first and second buses. 사용자 어플리케이션이 호스트 구동 시스템(O/S)에 임의의 스카시 디바이스에 있는 데이터 접속을 요청하는 단계;A user application requesting a host drive system (O / S) for a data connection on any SCSI device; 호스트 메모리에 상기 호스트 구동 시스템이 입출력을 요청하는 단계;Requesting input and output from the host driving system to a host memory; 스카시 구동부의 구동 시스템 인터페이스로 상기 호스트 메모리가 입출력을 요청하는 단계;Requesting input and output from the host memory to a drive system interface of a SCSI driver; 상기 호스트 메모리에 데이터 스트럭쳐를 생성하는 단계;Creating a data structure in the host memory; 상기 데이터 스트럭쳐가 생성되면 상기 호스트 메모리의 커맨드 블록에 저장하는 단계;Storing the data structure in a command block of the host memory; 상기 커맨드 블록을 상기 스카시 구동부로 전송하는 단계;Transmitting the command block to the SCSI driver; 상기 커맨드 블록을 이용하여 스카시 제어부로 상기 스카시 디바이스의 어드레스를 로드하는 단계;Loading an address of the SCSI device into the SCSI controller using the command block; 상기 스카시 제어부가 상기 스카시 디바이스 어드레스를 이용하여 상기 스카시 디바이스를 구동시키는 구동부에 접속하는 단계를 포함하여 이루어지는 것을 특징으로 하는 디스크 어레이 제어 방법.And connecting, by the SCSI controller, to a driving unit that drives the SCSI device using the SCSI device address. 제 2항에 있어서 상기 스카시 디바이스 구동부는 상기 어플리케이션 입출력 요청이 상기 호스트 구동부에 입력되면 기능 코드, 디시비(DCB) 포인터, 파라미터 리스트를 제공하는 단계와, 커맨드 블록을 구축하는 단계와, 상기 어플리케이션 입출력으로 인한 인터럽트 서비스 루틴에서 SC_pend되고, 상기 스카시 제어부의 디에스피(DSP) 저장부의 리드가 이뤄지는 단계와, 상기 인터럽트 서비스 루틴이 SC_post 되면, 상기 스카시 제어부가 정상 종료인지와 상태 체크인지를 분석하는 단계와, 상기 분석 결과 정상 종료이면 해당 스테이터스를 대기 상태로 하고, 상기 분석 결과 정상 종료가 아니면 한번 더 페이즈 미스매치(Phase Mismatch) 인지를 확인하고 단계와, 상기 확인 결과 페이즈 미스매치이면 남겨진 바이트 수를 계산하고, 남겨진 바이트 수에 따라 상기 디시비 포인터와 카운터를 업데이트하는 단계와, 데이터 버퍼에서 데이터 어드레스와 남겨진 바이트 수를 패치(Patch)하고 직접 메모리 억세스와 상기 스카시의 파이포(FIFO)를 클리어하는 단계를 포함하여 이루어지는 것을 특징으로 하는 디스크 어레이 제어 방법.The method of claim 2, wherein the SCSI device driver is further configured to provide a function code, a DCB pointer, a parameter list when the application input / output request is input to the host driver, construct a command block, and execute the application input / output. SC_pend in the interrupt service routine due to the readout of the DSP storage unit of the SCSI controller, and if the interrupt service routine is SC_post, analyzing whether the SCSI controller is normally terminated and whether the state check-in is performed; If the analysis results in normal termination, the status is set to the standby state, and if the analysis result is not normal termination, checks whether it is phase mismatch once more, and if the verification result is phase mismatch, calculates the number of bytes left. According to the number of bytes left, Updating the non-pointer and the counter, patching the data address and the number of bytes left in the data buffer, and clearing the direct memory access and the FIFO of the SCSI. Array control method. 제 3 항에 있어서, 상기 스카시 제어부의 디에스피 저장부의 리드가 이뤄지는 단계는 상기 디에스피 저장부의 DIP가 ㅅ(SET)되었는지, SIP가 ㅅ(SET)되었는지를 분석하는 단계와, 상기 분석 결과 DIP의 SET과, SIP의 SET에 맞는 대기 상태로 하는 단계와, 상기 DIP 또는 SIP중 어느 것도 SET 되어 있지 않은 경우 중단시키는 단계를 포함하여 이루어지는 것을 특징으로 하는 디스크 어레이 제어 방법.The method of claim 3, wherein the reading of the DS storage unit of the SCSI controller is performed by analyzing whether the DIP storage unit has a DIP (SET) or a SIP is set (SET), and the analysis result of the SET and the DIP. And setting a standby state in accordance with the SET of the SIP, and stopping if none of the DIP or the SIP is set. 제 4 항에 있어서, 상기 디에스피 저장부의 DIP ㅅ(SET)과, SIP ㅅ(SET)이 동시에 발생할 경우 상기 DIP SET을 먼저 처리한 후 상기 SIP SET을 처리하는 것을 특징으로 하는 디스크 어레이 제어 방법.The disk array control method of claim 4, wherein the DIP SET and the SIP SET are processed after the DIP SET and the SIP SET are processed simultaneously. 제 2 항에 있어서, 상기 커맨드 블록은 상기 디바이스 타입을 나타내는 코드와 커맨드 카운트, 데이터 카운트로 이루어지는 것을 특징으로 하는 디스크 어레이 제어 방법.The method of claim 2, wherein the command block comprises a code indicating the device type, a command count, and a data count.
KR1019980062856A 1998-12-31 1998-12-31 Disk array controll device and control method KR100308149B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980062856A KR100308149B1 (en) 1998-12-31 1998-12-31 Disk array controll device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980062856A KR100308149B1 (en) 1998-12-31 1998-12-31 Disk array controll device and control method

Publications (2)

Publication Number Publication Date
KR20000046179A true KR20000046179A (en) 2000-07-25
KR100308149B1 KR100308149B1 (en) 2001-11-02

Family

ID=19569471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980062856A KR100308149B1 (en) 1998-12-31 1998-12-31 Disk array controll device and control method

Country Status (1)

Country Link
KR (1) KR100308149B1 (en)

Also Published As

Publication number Publication date
KR100308149B1 (en) 2001-11-02

Similar Documents

Publication Publication Date Title
US8943227B2 (en) Data storage architecture extension system and method
US7069465B2 (en) Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system
US6928514B2 (en) Method and apparatus for teaming storage controllers
US7269667B2 (en) Disk array system and method for migrating from one storage system to another
US6839824B2 (en) System and method for partitioning a storage area network associated data library employing element addresses
US6009481A (en) Mass storage system using internal system-level mirroring
CN102918509B (en) Data reading and writing method, device and storage system
JP2001256003A (en) Disk array controller, its disk array control unit and its expanding method
JP5102915B2 (en) Storage apparatus and data verification method thereof
WO1992015057A1 (en) Parity calculation in an efficient array of mass storage devices
CN103534688A (en) Data recovery method, storage equipment and storage system
JP4401305B2 (en) Configuration definition setting method of disk array device and disk array device
US11137935B2 (en) Storage system with plurality of storage controllers communicatively coupled for determination of storage controller indentifiers
WO2007109476A1 (en) Error management topologies
US8312215B2 (en) Method and system for resolving configuration conflicts in RAID systems
CN109313593B (en) Storage system
JP2003015826A (en) Shared memory copy function in disk array controller
US6851023B2 (en) Method and system for configuring RAID subsystems with block I/O commands and block I/O path
CN113282246A (en) Data processing method and device
EP1890229B1 (en) System controller, data processor, and input output request control method
KR100308149B1 (en) Disk array controll device and control method
JP4379836B2 (en) I / O controller
KR100393982B1 (en) Method for transmission data and Apparatus of Remote Data Concentrator
JP2003263279A (en) Disk array control apparatus
CN117435001A (en) Hard disk positioning system, method, server and storage medium

Legal Events

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

Payment date: 20050628

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee