KR100208801B1 - Storage device system for improving data input/output perfomance and data recovery information cache method - Google Patents

Storage device system for improving data input/output perfomance and data recovery information cache method Download PDF

Info

Publication number
KR100208801B1
KR100208801B1 KR1019960040202A KR19960040202A KR100208801B1 KR 100208801 B1 KR100208801 B1 KR 100208801B1 KR 1019960040202 A KR1019960040202 A KR 1019960040202A KR 19960040202 A KR19960040202 A KR 19960040202A KR 100208801 B1 KR100208801 B1 KR 100208801B1
Authority
KR
South Korea
Prior art keywords
data
data recovery
recovery information
information
read
Prior art date
Application number
KR1019960040202A
Other languages
Korean (ko)
Other versions
KR19980021384A (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 KR1019960040202A priority Critical patent/KR100208801B1/en
Priority to DE19720721A priority patent/DE19720721C2/en
Priority to JP9246751A priority patent/JPH10105344A/en
Priority to US08/931,125 priority patent/US6832291B2/en
Publication of KR19980021384A publication Critical patent/KR19980021384A/en
Application granted granted Critical
Publication of KR100208801B1 publication Critical patent/KR100208801B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

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

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야:본 발명은 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법에 관한 것이다.end. TECHNICAL FIELD The present invention relates to a storage system for improving data input / output performance and to a method for implementing data recovery information cache.

나. 발명이 해결하려고 하는 기술적 과제:데이타 입출력 성능을 향상시키기 위해 데이타 복구정보(패러티정보) 리드동작의 오버헤드를 줄일 수 있는 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법을 제공함에 있다.I. An object of the present invention is to provide a storage system capable of reducing the overhead of a data recovery information (parity information) read operation to improve data input / output performance, and a method of implementing the data recovery information cache accordingly.

다. 그 발명의 해결방법의 요지:데이타 복구에 필요한 정보를 블럭의 형태로 기억장치의 임의 영역에 연속적으로 저장하고 나머지 영역에 데이타를 저장하는 다수개의 고장 대응적인 기억장치와, 상기 각각의 기억장치와 제어기에 연결되는 캐시메모리들을 구비하는 기억장치 시스템에 있어서, 외부장치로부터 데이타 기록명령이 수신되면 상기 기억장치에서 독출된 데이타 복구정보가 해당 캐시메모리에서 히트하는가를 검사하고, 독출된 데이타 복구정보가 해당 캐시메모리에서 히트하는 경우 새로운 데이타 복구정보를 계산하여 상기 외부장치로부터 전송된 데이타와 함께 기록하는 한편, 독출된 데이타 복구정보가 해당 캐시메모리에서 히트하지 않을 경우 해당 기억장치에서 데이타 복구정보를 독출하여 새로운 데이타 복구정보를 계산한후 이를 상기 외부장치로부터 전송된 데이타와 함께 기록함을 특징으로 한다.All. Summary of Solution of the Invention: A plurality of fault-tolerant storage devices which continuously store information necessary for data recovery in the form of blocks in an arbitrary area of the storage device and store data in the remaining areas, In a storage system having cache memories connected to a controller, when a data write command is received from an external device, it is checked whether the data recovery information read from the storage hits the corresponding cache memory, and the read data recovery information is read. In the case of hit in the cache memory, new data recovery information is calculated and recorded together with the data transmitted from the external device. If the read data recovery information does not hit in the cache memory, the data recovery information is read from the storage device. Calculate new data recovery information Characterized describe the recording together with the data transmitted from the external device group.

라. 발명의 중요한 용도:RAID와 같은 기억장치 시스템의 캐시 제어 알고리즘에 사용될 수 있다.la. Important uses of the invention: can be used in cache control algorithms of storage systems such as RAID.

Description

데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법{STORAGE DEVICE SYSTEM FOR IMPROVING DATA INPUT/OUTPUT PERFOMANCE AND DATA RECOVERY INFORMATION CACHE METHOD}A storage system for improving data input / output performance and a method for implementing data recovery information caches according to the storage system and a method for implementing data recovery information.

본 발명은 RAID(Redundant Arrays of Inexpensive Disks:이하 RAID라함)와 같은 기억장치 시스템에 관한 것으로, 특히 패일(fail)된 데이타들을 복구하기 위해 필요한 패러티(parity) 정보들을 고속으로 액세스하기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage system, such as RAID (Redundant Arrays of Inexpensive Disks), and more particularly to a storage system for fast access to parity information required for recovering failed data. And a data recovery information cache implementation method.

컴퓨터시스템의 성능은 중앙처리장치(Central Processor Unit:이하 CPU라함)와 입출력 서브(sub) 시스템에 의해 좌우된다. 최근 VLSI 기술의 발전으로 CPU의 처리속도는 크게 향상되었음에도 불구하고 입출력 서브시스템의 성능개선이 느리게 이루어지고 있기 때문에 전체 시스템의 실행시간 중에서 입출력에 소요되는 시간의 비율이 점차 증대되고 있는 실정이다. 또한 입출력 서브시스템의 오류발생시 데이타 복구비용이 점차 증가함에 따라 뛰어난 성능과 신뢰성을 갖춘 입출력 서브 시스템의 개발 필요성이 대두되고 있으며 이를 위한 연구중의 하나가 RAID 서브 시스템이다. 현재 RAID 관련기술은 이론정립 단계를 지나 상용화단계에 있다. 그 예로 대학에서는 RAID 알고리즘에 관한 연구와 시뮬레이션(simulation)을 이용한 실험을 통해 활발한 이론적 연구를 지속하고 있으며, 기업에서는 다양한 성능측정을 통해 개선점을 도출함으로서 입출력 성능개선과 신뢰성 확보를 위한 노력을 계속하고 있다. 디스크 어레이는 하드 디스크의 입출력 향상의 일환으로 크레이(Cray)와 같은 슈퍼 컴퓨터에서 이전부터 사용되어 왔으나 RAID의 개념정립은 1988년 미국의 버클리대학의 세명의 컴퓨터 과학자에 의해 발표되면서 시작되었다. RAID 이론은 입출력 디바이스 중에서 카트리지 테입과 같은 순차적 접근 디바이스에도 적용이 가능하지만 주요 관심의 대상은 하드 디스크 디바이스(Hard Dish Device)이다. 상기 RAID 시스템의 주된 목적은 디스크 드라이브 각각에 데이타를 분산 저장하거나 스트리핑(Striping) 중복 데이타를 가진 디스크 미러링(Mirroring), 패러티정보를 이용한 데이타복구등으로 입출력 디바이스의 성능향상 및 용량확장을 기함에 있다. 상술한 목적을 달성하기 위해 RAID 시스템은 각 컴퓨터시스템의 특성 및 사용환경에 따라 6가지 레벨의 구조로 분류된다. 이하 각 RAID레벨 구조에 관한 내용을 간단히 살펴보면 다음과 같다.The performance of a computer system depends on the central processor unit (hereinafter referred to as CPU) and the input / output sub system. Although the processing speed of the CPU has been greatly improved due to the recent development of the VLSI technology, the performance improvement of the input / output subsystem is slow. Therefore, the ratio of the time required for the input / output among the execution time of the entire system is gradually increasing. In addition, as the cost of data recovery in the event of an error in the I / O subsystem gradually increases, the necessity of developing an I / O subsystem with excellent performance and reliability has emerged. One of the studies for this is the RAID subsystem. Currently, RAID-related technology is in the commercialization stage after the theory establishment stage. For example, the university continues active theoretical research through researches on RAID algorithms and experiments using simulation, while companies continue to make efforts to improve input / output performance and reliability by drawing improvements through various performance measurements. have. Disk arrays have been used previously in supercomputers such as Cray as part of hard disk I / O enhancements, but the idea of RAID began in 1988 by three computer scientists from the University of Berkeley. RAID theory can be applied to sequential access devices such as cartridge tapes among I / O devices, but the main interest is a hard disk device. The main purpose of the RAID system is to improve the performance and capacity of I / O devices by distributing and storing data in each disk drive, disk mirroring with striping redundant data, and data recovery using parity information. . In order to achieve the above object, RAID systems are classified into six levels of structures according to the characteristics and usage environments of each computer system. A brief description of each RAID level structure follows.

RAID 레벨0 ; 데이타의 신뢰성 측면보다는 성능에 관심을 두고 디스크 어레이상의 모든 드라이브에 데이타를 분산하여 저장한다.RAID level 0; It focuses on performance rather than on reliability, and distributes data across all drives on the disk array.

RAID 레벨1 ; 미러링은 전통적인 디스크의 성능을 향상시키는 방법으로서 이 방법은 모든 디스크의 내용이 복사 디스크에 동일하게 저장되어야 하기 때문에 경제적인 부담이 많이 드는 방법이다. 따라서 데이타 베이스 시스템과 같은 대용량의 디스크 공간이 필요한 시스템에서 50%의 디스크 공간밖에 사용할 수 없다는 단점이 있다. 그러나 같은 데이타가 복사 디스크에 존재하므로 신뢰성 유지에 가장 좋은 방법이다.RAID level 1; Mirroring is a way to improve the performance of traditional disks, which is costly because all the contents of the disks must be stored identically on the copy disk. As a result, only 50% of disk space can be used in a system that requires a large amount of disk space, such as a database system. However, since the same data exists on the copy disk, it is the best way to maintain reliability.

RAID 레벨2 ; RAID 레벨1의 단점인 신뢰성 확보 비용을 줄이기 위한 방법으로 시도된 것이 RAID 레벨2이다. RAID 레벨2는 데이타를 바이트 단위로 각 디스크 어레이에 분산저장한다. 그리고 오류인식과 오류정정을 위하여 해밍코드를 사용하여 데이타 디스크 이외에 몇개의 검사 디스크를 가지고 있다.RAID level 2; RAID level 2 has been tried as a way to reduce the reliability cost, which is a disadvantage of RAID level 1. RAID level 2 distributes data in bytes across each disk array. And for error recognition and error correction, we have several test disks besides data disk using Hamming code.

RAID 레벨3 ; 한번 입출력 요구된때 데이타가 병렬로 드라이브에 입출력되며 패러티데이타는 별도의 드라이브에 저장되고 또한 디스크 스핀들은 모든 드라이브가 동시에 데이타를 입출력할 수 있게 동기화 되어 있다. 따라서 높은 병렬화로 입출력이 동시에 일어나지 않아도 상당히 빠른 데이타전송이 가능하다. 만약 하나의 드라이브에 페일(Fail)이 발생하였더라도 현재 동작하고 있는 드라이브와 패러티드라이브를 사용함으로서 결과적으로 전체 데이타 레이트(Data Rate)가 떨어져도 페일된 데이타를 복구할 수가 있다. RAID 레벨3는 매우 빠른 데이타 전송율이 요구되는 지원(Application), 슈퍼 컴퓨터, 이미지 조작 프로세서(Image Manipulation Processor)등에 사용된다. 즉 RAID 레벨3는 롱 데이타 블럭 (Long Data Block)의 전송에는 높은 효율을 보이나 빠른 입출력 요구에 의한 쇼트 데이타 블럭 데이타(Short Data Block) 전송시에는 비효율적이 면이 있다. 또한 RAID 레벨3는 리던던시(Redundancy)를 위해 싱글 드라이브를 데이타 드라이브와 같이 사용함으로서 RAID 레벨1 보다는 적은 드라이브가 필요하나 컨트롤러가 더욱 비싸지고 복잡해진다.RAID level 3; Once I / O is requested, data is inputted and outputted to the drives in parallel, the parity data is stored on a separate drive, and the disk spindle is synchronized so that all drives can input and output data simultaneously. Therefore, the high parallelism enables the data transfer to be considerably faster without the simultaneous input and output. If one drive fails, the currently used drive and parity drive can be used to recover the failed data even if the total data rate drops. RAID level 3 is used in applications, supercomputers, and image manipulation processors that require very fast data transfer rates. In other words, RAID level 3 shows high efficiency for long data block transmission but is inefficient for short data block data transfer due to fast input / output request. RAID level 3 also uses a single drive as a data drive for redundancy, which requires fewer drives than RAID level 1, but makes the controller more expensive and complex.

RAID 레벨4 ; RAID 레벨4에서는 패러티데이타가 별도의 드라이브내에서 계산 저장되며 데이타 또한 스트립트 어크로스(Striped Across)된다. 데이타가 페일시 복구 가능하며 리드(read) 성능은 RAID 레벨1과 비슷하나 라이트(write) 성능은 패러티 정보가 싱글 드라이브에 제공되어야 하기 때문에 싱글 드라이브에 비해 현저히 떨어진다. 이에 따라 RAID 레벨4는 라이트성능이 개선된 RAID 레벨5로 보충되었다.RAID level 4; In RAID level 4, the parity data is computed and stored in a separate drive, and the data is also stripped across. Data is recoverable in fail-up and read performance is similar to RAID level 1, but write performance is significantly lower than single drives because parity information must be provided to a single drive. As a result, RAID level 4 was supplemented by RAID level 5 with improved light performance.

RAID 레벨5 ; RAID 레벨5에서의 데이타는 각 드라이브 어레이에 스트립트 어크로스되며 패러티데이타 또한 라이트시 병목현상(Bottleneck)을 없애기 위해 전 드라이브에 분포 저장된다. RAID 레벨 5에서는 데이타 라이트시 패러티를 다시 계산하기 위해 전 드라이브에서 라이트된 데이타를 리드하여야 하기 때문에 속도는 느리다. 그러나 데이타 입출력 전송을 위한 프로세싱이 가능하며 페일난 드라이브 데이타 복구도 가능하다. 따라서 RAID 레벨5는 롱 데이타 기록에 효과적이고, 만약 지원 프로그램(appluication program)이 데이타 리드에 비중을 많이 두었거나 어레이 디자인(array design)을 라이트성능을 위해 개선하였다면 쇼트 데이타 기록에도 좋은 효과를 거둘 수가 있다. 물론 데이타 블럭의 사이즈를 작게 해도 어느 정도의 성능과 데이타 유효성(Availibility)을 거둘 수 있다. 또한 RAID 레벨5는 논-어레이 디바이스(Non Array Device)에 비해 가격면에서 가장 효과적일 수가 있다.RAID level 5; Data at RAID level 5 is scripted across each drive array, and the parity data is also distributed across all drives to eliminate bottlenecks at write time. RAID level 5 is slow because data writes must be read from all drives to recalculate the parity when writing data. However, processing for data I / O transfer is possible, as well as recovery of failed drive data. Therefore, RAID level 5 is effective for writing long data, and if the application program is heavily focused on data reads or if the array design has been improved for writing performance, it will also be effective for short data writing. have. Of course, even a small data block can achieve some level of performance and data availability. RAID level 5 can also be the most cost effective in terms of non-array devices.

상술한 여러 디스크 어레이 구조중에서 RAID 레벨5 구조는 적은 부가 비용으로 상당한 신뢰성을 제공하는 동시에 병렬 디스크 액세스가 가능함으로 향상된 데이타 처리율을 제공한다. 이하 도 1 내지 도 3을 참조하여 상술한 RAID 레벨 5의 구조와 호스트컴퓨터로부터 전송된 데이타를 각 드라이브에 라이팅하는 과정을 설명하기로 한다.Among the various disk array structures described above, the RAID level 5 structure provides significant reliability at low added cost and parallel disk access, thereby providing improved data throughput. Hereinafter, a structure of the above-described RAID level 5 and a process of writing data transmitted from a host computer to each drive will be described with reference to FIGS. 1 to 3.

도 1은 종래 RAID 레벨5의 블럭구성도를 도시한 것으로, CPU(2)는 입출력 버스(4)를 통해 호스트컴퓨터(도시하지 않았음)로부터 전송된 데이타를 컨트롤러(6)로 전송하며, 상기 입출력버스(4)에 연결된 컨트롤러(6)는 상기 CPU(2)에 의해 제어되며 상기 CPU(2)와 스카시(SCSI)버스(8)에 연결되어 있는 각 드라이브 디스크(이하 드라이브 DR라함)(DR1∼DR5)사이의 입출력데이타를 제어한다. 상기 스카시버스(8)에 연결되어 있는 각 드라이브(DR1∼DR5)는 상기 컨트롤러(6)의 제어하에 호스트컴퓨터로부터 전송된 데이타를 기록 및 재생한다.1 shows a block diagram of a conventional RAID level 5, wherein the CPU 2 transmits data transmitted from a host computer (not shown) to the controller 6 via an input / output bus 4, and The controller 6 connected to the input / output bus 4 is controlled by the CPU 2 and each drive disk (hereinafter referred to as drive DR) connected to the CPU 2 and the SCSI bus 8 (DR1). Input / output data between (DR) and (DR5) is controlled. Each drive DR1 to DR5 connected to the SCSI bus 8 records and plays back data transmitted from the host computer under the control of the controller 6.

도 2는 종래 RAID 레벨5에서 데이타 전송흐름을 설명하기 위한 데이타전송 예시도를 도시한 것으로 호스트컴퓨터로부터 전송된 데이타[이를 ND(New Data)라함]를 스트립 단위(도 2에서는 데이타를 스트립 3으로 나누었음)로 나누어 각 드라이브(DR1∼DR5)에 분산 저장시키는 것을 보였다. 즉 도 2를 참조하면, 각 드라이브(DR1∼DR5)는 데이타가 저장되는 데이타(D)블럭과 패러티정보가 저장되는 패러티블럭(P)을 갖음으로서 컨트롤러(6)의 제어하에 상기 호스트컴퓨터로부터 전송된 ND를 저장한다.FIG. 2 is a diagram illustrating an example of data transfer for explaining a data transfer flow in a conventional RAID level 5, in which data transmitted from a host computer (hereinafter referred to as ND (New Data)) in strip units (data in FIG. Dividing) into the respective drives DR1 to DR5. That is, referring to FIG. 2, each drive DR1 to DR5 has a data block in which data is stored and a parity block in which parity information is stored, thereby transmitting from the host computer under the control of the controller 6. The stored ND.

도 3은 종래 RAID 레벨5 구조를 갖는 RAID 시스템에서 호스트컴퓨터로부터 전송된 데이타 ND와 패러티정보가 각 드라이브에 라이팅되는 과정을 설명하기 위한 제어흐름도를 도시한 것이다. 도 3을 참조하면, 우선 RAID 시스템의 CPU(2)는 호스트컴퓨터로부터 데이타 라이트명령이 수신되면, CPU(2)는 10단계에서 목표위치를 계산한후 12단계로 진행한다. 12단계에서 CPU(2)는 상기 호스트컴퓨터로부터 전송된 데이타 ND를 컨트롤러(6)로 전송한다. 이후 14,16단계에서 컨트롤러(6)는 각 드라이브에 저장된 데이타 OD(Old Data)와 OP(OLD Parity)를 리드(read)한후 18단계로 진행한다. 18단계에서 컨트롤러(6)는 하기 수학식 1과 같이 NP(New Parity)를 계산한후 20단계로 진행한다.FIG. 3 is a control flow diagram illustrating a process of writing data ND and parity information transmitted from a host computer to each drive in a RAID system having a conventional RAID level 5 structure. Referring to FIG. 3, first, when the CPU 2 of the RAID system receives a data write command from the host computer, the CPU 2 proceeds to step 12 after calculating the target position in step 10. In step 12, the CPU 2 transmits the data ND transmitted from the host computer to the controller 6. Thereafter, in step 14 and 16, the controller 6 reads data OD (Old Data) and OP (OLD Parity) stored in each drive, and then proceeds to step 18. In step 18, the controller 6 calculates NP (New Parity) as shown in Equation 1 and proceeds to step 20.

, ( 은 배타적 논리합을 의미한다) , ( Means exclusive OR)

이후 20,22단계에서 컨트롤러(6)는 ND와 NP를 해당 드라이브에 라이팅한다.Afterwards, in step 20 and 22, the controller 6 writes ND and NP to the corresponding drive.

상술한 바와 같이 RAID 레벨5 구조를 갖는 RAID 시스템에서는 호스트컴퓨터로부터 소규모 데이타 블럭(즉 쇼트 데이타 블럭)의 라이트명령이 수신되는 경우 스트립상의 다른 디스크 접근을 유발함으로서 전체 시스템성능을 저하시키게 된다. 이는 작업 부하가 많은 OLTP(On-Line Transaction Processing)환경에서 더욱 두드러지게 나타난다. 즉 파셜 스트립 라이팅인 경우 라이트 수행되는 절차는 상기 (1)식과 같이 OP와 OD를 해당 드라이브에서 리드한후 XOR(Exclusive OR;)를 수행하고 그 결과를 다시 ND와 XOR한후 NP와 ND를 해당 드라이브에 라이팅함으로서 2번의 리드동작과 2번의 라이트동작으로 싱글 드라이브에 비해 오버헤드(overhead)가 크게 발생하는 문제점이 있었다.As described above, in a RAID system having a RAID level 5 structure, when a write command of a small data block (i.e., a short data block) is received from a host computer, the entire system performance is degraded by causing another disk access on the strip. This is especially noticeable in on-line transaction processing (OLTP) environments, where the workload is heavy. That is, in the case of the partial strip writing, the procedure to be written is XOR (Exclusive OR; ), And the result is ND and XOR again, and then NP and ND are written to the corresponding drive, resulting in a large overhead compared to a single drive by two read operations and two write operations.

따라서 본 발명의 목적은 데이타 입출력 성능을 향상시키기 위해 데이타 복구정보 리드동작의 오버헤드를 줄일 수 있는 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a storage system capable of reducing the overhead of a data recovery information read operation to improve data input / output performance, and a data recovery information cache implementation method accordingly.

도 1은 종래 RAID 레벨5의 블럭구성도.1 is a block diagram of a conventional RAID level 5.

도 2는 종래 RAID 레벨5에서 데이타 전송흐름을 설명하기 위한 데이타 전송 예시도.2 is an exemplary data transfer diagram illustrating a data transfer flow in a conventional RAID level 5.

도 3은 종래 RAID 레벨5 구조를 갖는 RAID 시스템에서 호스트컴퓨터로부터 전송된 데이타와 패러티정보가 각 드라이브에 라이팅(Writing)되는 과정을 설명하기 위한 제어흐름도.3 is a control flowchart illustrating a process of writing data and parity information transmitted from a host computer to each drive in a RAID system having a conventional RAID level 5 structure.

도 4는 본 발명의 일 실시예에 따른 RAID 시스템의 블럭구성도.Figure 4 is a block diagram of a RAID system according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 제어흐름도.5 is a control flow diagram according to an embodiment of the present invention.

이하 본 발명의 일실시예에 따른 동작을 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서 드라이브의 수, 캐시메모리의 수 및 구체적인 처리흐름등과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략하기로 한다.Hereinafter, an operation according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description, numerous specific details such as number of drives, number of cache memories and specific processing flows, etc. are shown to provide a more general understanding of the invention. It will be apparent to those skilled in the art that the present invention may be practiced without these specific details. And detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

도 4는 본 발명의 일 실시예에 따른 패러티 캐시 어레이(38)가 연결된 RAID 시스템의 블럭구성도를 도시한 것이다. 도 4를 참조하면, 상기 RAID 시스템은;4 is a block diagram of a RAID system to which a parity cache array 38 is connected according to an embodiment of the present invention. 4, the RAID system;

RAID 시스템의 전반적인 제어동작을 수행하는 CPU(30)와, 입출력버스(32)를 통해 상기 CPU(30)와 연결되며 상기 CPU(30)의 제어하에 호스트컴퓨터로부터 전송된 데이타를 각 드라이브 어레이(39)에 분산저장 혹은 각 드라이브 어레이(39)에 라이팅된 데이타를 재생하는 컨트롤러(34)와, SCSI버스(36)를 통해 상기 컨트롤러(34)와 연결되며 상기 컨트롤러(34)의 제어하에 상기 호스트컴퓨터로부터 전송된 데이타와 데이타 복구정보(이하 패러티정보라함)를 저장 및 재생하는 드라이브1∼5(39)와, 상기 컨트롤러(34)와 각 드라이브(39)사이의 입출력버스(36)에 연결되어 패러티 정보를 저장하는 캐시1∼5(38)로 구성한다. 한편 본 발명의 일실시예에 따른 상기 각 드라이브1∼5(39)는 데이타 및 패러티정보의 저장과 리드를 위해 다수의 블럭으로 구성한다. 또한 본 발명의 일 실시예에 따른 각 드라이브1∼5(39)는 RAID 레벨5 구조에서 정의된 스트립핑 방법을 탈피하고 디스크상의 실린더(Cylinder) 제로(Zero)부터 필요한 수만큼의 패러티 블럭을 설정하여 이를 패러티정보 저장영역으로 사용한다. 이때 상기 패러티정보 저장영역에는 데이타가 기록될 수 없다.Each drive array 39 is connected to the CPU 30 through an input / output bus 32 and the CPU 30 performing overall control operations of the RAID system, and transmits data transmitted from a host computer under the control of the CPU 30. Controller 34 for reproducing and storing data distributed to each drive array 39 and the host computer under the control of the controller 34 through the SCSI bus 36. Parity connected to drives 1 to 5 (39) for storing and reproducing data transmitted from the data and data recovery information (hereinafter referred to as parity information), and an input / output bus (36) between the controller (34) and each drive (39). Cache 1 to 5 (38) for storing information. On the other hand, each drive 1 to 5 (39) according to an embodiment of the present invention is composed of a plurality of blocks for storing and reading data and parity information. In addition, each drive 1 to 5 (39) according to an embodiment of the present invention is to escape the stripping method defined in the RAID level 5 structure and to set as many parity blocks from the cylinder zero on the disk This is used as a parity information storage area. At this time, data cannot be recorded in the parity information storage area.

도 5는 본 발명의 일 실시예에 따른 데이타 라이트 수행시의 제어흐름도를 도시한 것으로 이하 도 4 및 도 5를 참조하여 본 발명의 일 실시예에 따른 데이타 라이트 수행시의 제어과정을 설명하기로 한다.5 is a flowchart illustrating a control when data write is performed according to an embodiment of the present invention. Hereinafter, a control process when data write is performed according to an embodiment of the present invention will be described with reference to FIGS. 4 and 5. do.

우선 CPU(30)는 호스트컴퓨터로부터 데이타 라이트 명령이 수신되면 40단계에서 필요한 테스크 화일(Task File)을 업데이트 시킨후 드라이브내 디스크면의 패러티 블럭을 사용하기 위해 목표위치(Target Cylinder)를 계산(목표위치 = 패러티 블럭 + 요구 위치)한후 42단계로 진행한다. 이후 CPU(30)는 42단계에서 라이팅할 데이타 ND를 컨트롤러(34)로 전송한다. 이후 44단계에서 컨트롤러(34)는 NP를 생성하기 위해 OD를 해당 드라이브1∼5(39)의 디스크면으로 부터 리드한후 46단계로 진행하여 리드할 패러티정보 OP가 캐시(38)에서 히트(hit)되는가를 검사한다. 검사결과 캐시(38)에서 OP가 히트되면 컨트롤러(34)는 50단계로 진행하고 상기 캐시(38)에서 OP가 히트되지 않으면 48단계로 진행한다. 즉 OP와 패러티정보가 히트되지 않을 경우 컨트롤러(34)는 48단계에서 OP를 드라이브의 디스크에서 리드하여 캐시테이블을 업데이트시킨후 50단계로 진행한다. 이후 50단계에서 컨트롤러(34)는 리드한 OP와 OD 및 ND를 하기 수학식 2와 같은 계산과정을 통해 새로운 NP를 계산한후 52단계로 진행한다.First, when the data write command is received from the host computer, the CPU 30 updates the task file required in step 40, and then calculates a target cylinder to use the parity block on the disk surface of the drive. Location = parity block + request location) and proceed to step 42. Thereafter, the CPU 30 transmits the data ND to be written to the controller 34 in step 42. Thereafter, in step 44, the controller 34 reads the OD from the disk surface of the corresponding drives 1 to 5 (39) to generate the NP, and proceeds to step 46, where the parity information OP to be read is hit in the cache 38 ( hit). As a result of the check, when the OP is hit in the cache 38, the controller 34 proceeds to step 50, and when the OP is not hit in the cache 38, the controller 34 proceeds to step 48. That is, if the OP and the parity information do not hit, the controller 34 updates the cache table by reading the OP from the drive's disk in step 48 and proceeding to step 50. Thereafter, in step 50, the controller 34 calculates a new NP through the calculation process as shown in Equation 2 below with the lead OP, OD, and ND.

이후 52단계에서 컨트롤러(34)는 캐시테이블을 업데이트시킨후 54단계로 진행한다. 이후 컨트롤러(34)는 54,56단계에서 호스트컴퓨터로부터 전송된 데이타 ND와 계산된 NP를 해당 드라이브에 라이팅한후 본 발명의 일실시예에 따른 데이타 라이팅과정을 종료한다.Thereafter, in step 52, the controller 34 updates the cache table and proceeds to step 54. Thereafter, the controller 34 writes the data ND and the calculated NP transmitted from the host computer to the corresponding drive in steps 54 and 56, and then ends the data writing process according to the exemplary embodiment of the present invention.

상술한 바와 같이 본 발명은 패러티 캐시를 각 드라이브와 컨트롤러사이에 연결함으로서 패러티정보 리드동작 요구에 신속히 지원할 수 있은 잇점이 있는 한편, 패러티 정보를 저장하기 위한 패러티 블럭을 디스크면의 실린더 제로에서부터 연속적으로 존재하는 영역에 설정하기 때문에 리드/라이트 동작시 별도의 탐색수행으로 인한 시간지연을 방지할 수 있는 잇점이 있다. 그리고 패러티 정보만을 기억하는 캐시메모리가 구비되어 있기 때문에, 각 드라이브 내의 캐시메모리는 데이타 혹은 명령어만을 핸들링할 수 있는 기회가 많아져 데이타 리드/라이트 동작시의 히트 가능성이 높아지는 효과도 있다.As described above, the present invention has the advantage of supporting the parity information read operation request quickly by connecting the parity cache between each drive and the controller. Since it is set in the existing area, there is an advantage that it is possible to prevent time delay due to separate searching during read / write operations. Since a cache memory for storing only parity information is provided, the cache memory in each drive increases the chance of handling only data or instructions, thereby increasing the possibility of hit during data read / write operations.

Claims (7)

기억장치 시스템에 있어서,In the storage system, 데이타 복구에 필요한 정보를 블럭의 형태로 기록매체의 임의 영역에 연속적으로 저장하고 나머지 영역에 데이타를 저장하는 다수개의 고장 대응적인 기억장치들과,A plurality of fault-tolerant storage devices that continuously store information necessary for data recovery in the form of blocks in an arbitrary area of the recording medium and store data in the remaining area; 상기 각각의 기억장치와 연결되고 해당 기억장치로부터 독출된 데이타 복구에 필요한 정보 블럭들을 저장하는 다수개의 캐시장치와,A plurality of cache devices connected to each of the storage devices and storing information blocks necessary for recovering data read from the storage device; 상기 각각의 기억장치와 캐시장치에 연결되어 각각의 기억장치에 데이타 및 데이타 복구에 필요한 정보의 기록 및 독출을 제어하고, 각각의 기억장치로부터 독출된 데이타 복구에 필요한 정보를 계산하고, 계산된 데이타 복구에 필요한 정보를 해당 캐시장치에 저장하도록 제어하는 제어기로 구성함을 특징으로 하는 기억장치 시스템.It is connected to each of the storage device and the cache device to control the recording and reading of data and information necessary for data recovery to each storage device, to calculate the information necessary for data recovery read from each storage device, and to calculate the calculated data. And a controller for controlling to store information necessary for recovery in a corresponding cache device. 제1항에 있어서, 상기 제어기는 데이타와 연관된 데이타 복구 정보가 상기 각 캐시장치에 저장되어 있는지 판단하는 기능을 포함함을 특징으로 하는 기억장치 시스템.2. The storage system of claim 1, wherein the controller includes a function for determining whether data recovery information associated with data is stored in each of the cache devices. 제1항에 있어서, 상기 데이타 복구에 필요한 정보가 저장되는 블럭은 디스크상의 최외측 실린더에서부터 연속적으로 설정됨을 특징으로 하는 기억장치 시스템.2. The storage system according to claim 1, wherein the block for storing information necessary for data recovery is set continuously from the outermost cylinder on the disk. 제3항에 있어서, 상기 데이타 복구에 필요한 정보는 새로운 데이타 복구정보 계산과정에서 산출된 값으로 수정되는 것을 특징으로 하는 기억장치 시스템.4. The storage system according to claim 3, wherein the information necessary for data recovery is modified to a value calculated during the calculation of new data recovery information. 제4항에 있어서, 상기 데이타 복구에 필요한 정보는 이전 데이타, 이전 데이타와 연관된 복구 정보 및 새로운 데이타와의 배타적 논리합 연산에 의해 산출됨을 특징으로 하는 기억장치 시스템.5. The storage system according to claim 4, wherein the information necessary for data recovery is calculated by an exclusive OR operation with previous data, recovery information associated with old data, and new data. 데이타 복구에 필요한 정보를 블럭의 형태로 기억장치의 임의 영역에 연속적으로 저장하고 나머지 영역에 데이타를 저장하는 다수개의 고장 대응적인 기억장치와, 상기 각각의 기억장치와 제어기에 연결되는 캐시메모리들을 구비하는 기억장치 시스템에 있어서,And a plurality of fault-tolerant storage devices that continuously store information necessary for data recovery in a block form in an arbitrary area of the storage device and store data in the remaining area, and cache memories connected to the respective storage devices and the controller. In a storage system, 외부장치로부터 데이타 기록명령이 수신되면 상기 기억장치에서 독출된 데이타 복구정보가 해당 캐시메모리에서 히트하는가를 검사하는 과정과,When a data write command is received from an external device, checking whether the data recovery information read from the storage device hits the corresponding cache memory; 독출된 데이타 복구정보가 해당 캐시메모리에서 히트하는 경우 새로운 데이타 복구정보를 계산하여 상기 외부장치로부터 전송된 데이타와 함께 기록하고, 독출된 데이타 복구정보가 해당 캐시메모리에서 히트하지 않을 경우 해당 기억장치에서 데이타 복구정보를 독출하여 새로운 데이타 복구정보를 계산한후 이를 상기 외부장치로부터 전송된 데이타와 함께 기록하는 과정으로 이루어짐을 특징으로 하는 데이타 복구정보 캐시구현방법.If the read data recovery information hits the corresponding cache memory, new data recovery information is calculated and written together with the data transmitted from the external device. If the read data recovery information does not hit the corresponding cache memory, And recovering the data recovery information, calculating new data recovery information, and recording the data recovery information together with the data transmitted from the external device. 데이타 복구에 필요한 정보를 블럭의 형태로 기억장치의 임의 영역에 연속적으로 저장하고 나머지 영역에 데이타를 저장하는 다수개의 고장 대응적인 기억장치와, 상기 각각의 기억장치와 제어기에 연결되는 캐시메모리들을 구비하는 기억장치 시스템에 있어서,And a plurality of fault-tolerant storage devices that continuously store information necessary for data recovery in a block form in an arbitrary area of the storage device and store data in the remaining area, and cache memories connected to the respective storage devices and the controller. In a storage system, 외부장치로부터 수신되는 데이타 기록명령에 응답하여 각 기억장치내 새로운 데이타 복구블럭의 위치를 계산하는 과정과,Calculating a position of a new data recovery block in each storage device in response to a data write command received from an external device; 상기 새로운 데이타 복구블럭을 생성하기 위해 해당 기억장치에 기록된 데이타를 독출하는 과정과,Reading data recorded in the storage device to generate the new data recovery block; 해당 기억장치에서 독출된 데이타 복구정보가 상기 캐시메모리에서 히트하면 새로운 데이타 복구정보를 계산하여 외부장치로부터 전송된 데이타와 함께 해당 기억장치에 기록하고, 상기 독출된 데이타 복구정보가 상기 캐시메모리에서 히트하지 않으면 해당 기억장치에서 데이타 복구정보를 독출하여 새로운 데이타 복구정보를 계산하고 이를 외부장치로부터 전송된 데이타와 함께 기록하는 과정으로 이루어짐을 특징으로 하는 데이타 복구정보 캐시구현방법.When data recovery information read from the storage device hits the cache memory, new data recovery information is calculated and written to the storage device together with data transmitted from an external device, and the read data recovery information is hit from the cache memory. Otherwise, the data recovery information is read from the corresponding storage device, the new data recovery information is calculated, and the data recovery information is recorded together with the data transmitted from the external device.
KR1019960040202A 1996-09-16 1996-09-16 Storage device system for improving data input/output perfomance and data recovery information cache method KR100208801B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019960040202A KR100208801B1 (en) 1996-09-16 1996-09-16 Storage device system for improving data input/output perfomance and data recovery information cache method
DE19720721A DE19720721C2 (en) 1996-09-16 1997-05-16 Storage system
JP9246751A JPH10105344A (en) 1996-09-16 1997-09-11 Data recorder system and data write method therefor
US08/931,125 US6832291B2 (en) 1996-09-16 1997-09-16 Memory system for improving data input/output performance and method of caching data recovery information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960040202A KR100208801B1 (en) 1996-09-16 1996-09-16 Storage device system for improving data input/output perfomance and data recovery information cache method

Publications (2)

Publication Number Publication Date
KR19980021384A KR19980021384A (en) 1998-06-25
KR100208801B1 true KR100208801B1 (en) 1999-07-15

Family

ID=19473941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960040202A KR100208801B1 (en) 1996-09-16 1996-09-16 Storage device system for improving data input/output perfomance and data recovery information cache method

Country Status (4)

Country Link
US (1) US6832291B2 (en)
JP (1) JPH10105344A (en)
KR (1) KR100208801B1 (en)
DE (1) DE19720721C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100380221B1 (en) * 1999-03-31 2003-04-16 인터내셔널 비지네스 머신즈 코포레이션 Method and system for providing an instant backup in a raid data storage system

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467047B1 (en) * 1999-07-30 2002-10-15 Emc Corporation Computer storage system controller incorporating control store memory with primary and secondary data and parity areas
US6603625B1 (en) * 2000-09-11 2003-08-05 Western Digital Technologies, Inc. Spindle synchronizing a plurality of spindles connected to a multi-dimensional computer network
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
JP2003345520A (en) * 2002-05-24 2003-12-05 Hitachi Ltd Disk array system and cache control method in disk array system
US7281177B2 (en) * 2003-07-14 2007-10-09 International Business Machines Corporation Autonomic parity exchange
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
EP1668486A2 (en) 2003-08-14 2006-06-14 Compellent Technologies Virtual disk drive system and method
US8601035B2 (en) * 2007-06-22 2013-12-03 Compellent Technologies Data storage space recovery system and method
JP2006079418A (en) * 2004-09-10 2006-03-23 Fujitsu Ltd Storage control apparatus, control method and program
CN102880424B (en) * 2006-05-24 2015-10-28 克姆佩棱特科技公司 For RAID management, redistribute and the system and method for segmentation again
US20080091877A1 (en) * 2006-05-24 2008-04-17 Klemm Michael J Data progression disk locality optimization system and method
TWI329811B (en) * 2006-08-03 2010-09-01 Via Tech Inc Core logic unit having raid control function and raidcontrol method
US7797501B2 (en) * 2007-11-14 2010-09-14 Dell Products, Lp Information handling system including a logical volume and a cache and a method of using the same
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
CN101916173B (en) * 2010-08-27 2013-08-28 杭州华三通信技术有限公司 RAID (Redundant Array of Independent Disks) based data reading and writing method and system thereof
KR20120126389A (en) * 2011-05-11 2012-11-21 삼성전자주식회사 Data storage system having multi-bit memory device and on-chip buffer program method thereof
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
CN103049396B (en) * 2012-12-10 2015-10-28 浪潮(北京)电子信息产业有限公司 The method of writing with a brush dipped in Chinese ink of data and device
CN104484135A (en) * 2014-12-23 2015-04-01 浙江宇视科技有限公司 Method and device for quickly reading data
CN109725824A (en) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 Method and apparatus for from the disk array write-in data to storage system
US10606697B2 (en) * 2018-06-21 2020-03-31 Goke Us Research Laboratory Method and apparatus for improved data recovery in data storage systems
CN117234430B (en) * 2023-11-13 2024-02-23 苏州元脑智能科技有限公司 Cache frame, data processing method, device, equipment and storage medium

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257367A (en) 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5418921A (en) 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
JP2810593B2 (en) 1992-05-13 1998-10-15 三菱電機株式会社 Storage device
US5579474A (en) 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
US5463765A (en) 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method
US5455934A (en) * 1993-03-23 1995-10-03 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5367669A (en) 1993-03-23 1994-11-22 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5583876A (en) * 1993-10-05 1996-12-10 Hitachi, Ltd. Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations
JP3188071B2 (en) * 1993-10-14 2001-07-16 富士通株式会社 Disk cache device
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
JP2570614B2 (en) 1993-12-29 1997-01-08 日本電気株式会社 Disk array device
US5530948A (en) 1993-12-30 1996-06-25 International Business Machines Corporation System and method for command queuing on raid levels 4 and 5 parity drives
US5522032A (en) 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
US5636359A (en) 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
DE69524329T2 (en) * 1994-09-16 2002-08-14 Int Computers Ltd Data disk array
US5640506A (en) 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
WO1996032673A1 (en) * 1995-04-09 1996-10-17 Sony Corporation Device and method for reproducing information signal
US5734814A (en) * 1996-04-15 1998-03-31 Sun Microsystems, Inc. Host-based RAID-5 and NV-RAM integration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100380221B1 (en) * 1999-03-31 2003-04-16 인터내셔널 비지네스 머신즈 코포레이션 Method and system for providing an instant backup in a raid data storage system

Also Published As

Publication number Publication date
JPH10105344A (en) 1998-04-24
DE19720721C2 (en) 1999-07-29
KR19980021384A (en) 1998-06-25
US6832291B2 (en) 2004-12-14
US20020007438A1 (en) 2002-01-17
DE19720721A1 (en) 1998-03-26

Similar Documents

Publication Publication Date Title
KR100208801B1 (en) Storage device system for improving data input/output perfomance and data recovery information cache method
US6782450B2 (en) File mode RAID subsystem
US6704837B2 (en) Method and apparatus for increasing RAID write performance by maintaining a full track write counter
US7228381B2 (en) Storage system using fast storage device for storing redundant data
US7975168B2 (en) Storage system executing parallel correction write
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US9442802B2 (en) Data access methods and storage subsystems thereof
Ganger et al. Disk arrays: high-performance, high-reliability storage subsystems
JP3742494B2 (en) Mass storage device
US6182198B1 (en) Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations
US6330642B1 (en) Three interconnected raid disk controller data processing system architecture
US7305579B2 (en) Method, apparatus and program storage device for providing intelligent rebuild order selection
US6912635B2 (en) Distributing workload evenly across storage media in a storage array
KR100211788B1 (en) Failure prediction for disk arrays
US8819478B1 (en) Auto-adapting multi-tier cache
US20010049774A1 (en) Apparatus system and method for n-way raid controller having improved performance and fault tolerance
US20150309747A1 (en) Replicating tracks from a first storage site to a second and third storage sites
KR20070046835A (en) Storing parity information for data recovery
JPH1049308A (en) Host base raid-5 and nv-ram integrated system
US20070214313A1 (en) Apparatus, system, and method for concurrent RAID array relocation
US11379326B2 (en) Data access method, apparatus and computer program product
RU2750645C1 (en) Method for data storage in redundant array of independent disks with increased fault tolerance
US6615284B2 (en) Method and apparatus for performing input/output operations between a requesting device and responding device
US11467772B2 (en) Preemptive staging for full-stride destage
CN112328182A (en) RAID data management method, device and computer readable 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: 20130408

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20140407

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee