KR100809300B1 - Method for organizing RAID system having changeable storage - Google Patents

Method for organizing RAID system having changeable storage Download PDF

Info

Publication number
KR100809300B1
KR100809300B1 KR1020060074286A KR20060074286A KR100809300B1 KR 100809300 B1 KR100809300 B1 KR 100809300B1 KR 1020060074286 A KR1020060074286 A KR 1020060074286A KR 20060074286 A KR20060074286 A KR 20060074286A KR 100809300 B1 KR100809300 B1 KR 100809300B1
Authority
KR
South Korea
Prior art keywords
storage device
data
block
parity
blocks
Prior art date
Application number
KR1020060074286A
Other languages
Korean (ko)
Other versions
KR20080013154A (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 KR1020060074286A priority Critical patent/KR100809300B1/en
Publication of KR20080013154A publication Critical patent/KR20080013154A/en
Application granted granted Critical
Publication of KR100809300B1 publication Critical patent/KR100809300B1/en

Links

Images

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/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

저장장치의 개수가 가변적인 레이드(RAID) 시스템을 구성하는 방법이 제공된다. 본 발명의 실시예에 따른 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법은 두 개 이상의 데이터 저장장치와 하나의 패러티(parity) 저장장치로 구성된 레이드 시스템에서 데이터 저장장치가 하나 제거되었을 때, 각 데이터 저장장치에 저장된 데이터 블록들의 패러티 블록을 생성하는 단계, 같은 행에 있는 데이터 저장장치의 데이터 블록과 패러티 저장장치의 패러티 블록이 하나의 데이터 저장장치에 위치하도록, 데이터 블록들과 패러티 블록을 각 데이터 저장장치로 전송하는 단계, 제거된 저장장치의 데이터 블록을 각 데이터 저장장치에 있는 데이터 블록과 전송된 패러티 블록으로부터 복구하는 단계, 복구된 데이터 블록과 생성된 패러티 블록을 패러티 저장장치로 전송하는 단계 및 전송된 데이터 블록의 패러티 블록을 생성하는 단계를 포함한다.A method of configuring a RAID system having a variable number of storage devices is provided. According to an exemplary embodiment of the present invention, a method of configuring a RAID system having a variable number of storage devices may be performed when one data storage device is removed from a RAID system including two or more data storage devices and one parity storage device. Generating a parity block of data blocks stored in each data storage device, and placing the data blocks and the parity block so that the data block of the data storage device and the parity block of the parity storage device in the same row are located in one data storage device. Transmitting to each data storage device, recovering the data block of the removed storage device from the data block and transmitted parity block in each data storage device, and transmitting the recovered data block and generated parity block to parity storage device. And generating a parity block of the transmitted data block. It includes the system.

RAID, 레이드, RAID 4, 가변적인 저장장치 RAID, RAID, RAID 4, Variable Storage

Description

저장장치의 개수가 가변적인 레이드(RAID) 시스템을 구성하는 방법{Method for organizing RAID system having changeable storage}How to configure RAID system with variable number of storage devices {Method for organizing RAID system having changeable storage}

도 1은 데이터 저장장치와 패러티(parity) 저장장치로 구성된 레이드(RAID) 시스템을 보여주는 도면이다. FIG. 1 is a diagram illustrating a RAID system including a data storage device and a parity storage device.

도 2는 본 발명의 일 실시예에 따른 데이터 저장장치가 하나 제거되었을 때 RAID 시스템을 구성하는 방법의 순서도이다. 2 is a flowchart illustrating a method of configuring a RAID system when one data storage device is removed according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 데이터 저장장치가 하나 제거되었을 때 데이터와 패러티 블록들의 이동을 보여주는 도면이다. 3 is a view illustrating movement of data and parity blocks when one data storage device is removed according to an embodiment of the present invention.

도 4는 도 3에 따라 데이터 저장장치가 하나 제거되었을 때 각 저장장치에서 블록들의 변화를 보여주는 도면이다. FIG. 4 is a diagram illustrating changes of blocks in each storage device when one data storage device is removed according to FIG. 3.

도 5는 데이터 저장장치가 제거되기 전과 마찬가지로 데이터 블록을 가로로 배열하였을 때 데이터 블록들의 이동을 보여주는 도면이다. 5 is a diagram illustrating movement of data blocks when data blocks are arranged horizontally as before the data storage device is removed.

도 6은 본 발명의 일 실시예에 따른 데이터 저장장치가 하나 제거되었을 때 데이터와 패러티 블록들의 이동을 보여주는 도면이다. 6 is a view illustrating movement of data and parity blocks when one data storage device is removed according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 데이터 저장장치가 하나 추가되었을 때 RAID 시스템을 구성하는 방법의 순서도이다. 7 is a flowchart illustrating a method of configuring a RAID system when one data storage device is added according to an embodiment of the present invention.

도 8은 본 발명의 일 실시예에 따른 데이터 저장장치가 하나 추가되었을 때 데이터 블록들의 이동을 보여주는 도면이다. 8 is a view illustrating movement of data blocks when one data storage device is added according to an embodiment of the present invention.

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

110a: 데이터 저장장치110a: data storage

110b: 패러티 저장장치110b: parity storage

115a: 데이터 블록115a: data block

115b: 패러티 블록115b: Parity Blocks

본 발명은 저장장치의 개수가 가변적인 환경에서 레이드(RAID) 시스템을 구성하는 방법에 관한 것으로, 보다 상세하게는 RAID 시스템을 구성하는 데이터 저장장치가 제거되거나 추가되어 저장장치의 개수가 변화하여 RAID 시스템을 재구성하는 상황에서 블록들의 이동량을 최소화하면서 RAID 시스템을 구성하는 방법을 제공하는 것에 관한 것이다.The present invention relates to a method for configuring a RAID system in an environment in which the number of storage devices is variable, and more particularly, a data storage device constituting a RAID system is removed or added to change the number of storage devices. The present invention relates to providing a method of configuring a RAID system while minimizing the amount of movement of blocks in a system reconfiguration situation.

RAID(Redundant Array of Inexpensive Disks or Redundant Array of Independent Drives) 시스템은 여러 개의 개별적인 저장장치들을 모아서 하나의 저장장치를 이루는 시스템이다. 이 시스템의 목적은 저장장치에 에러가 생겼을 때 실시간으로 데이터를 복구하여 데이터 손실을 방지하고, 복수의 저장장치가 데이터의 입출력시 동시에 작동함으로써 데이터 입출력 속도를 향상시키는 데 있다.Redundant Array of Inexpensive Disks or Redundant Array of Independent Drives (RAID) systems are a collection of individual storage devices that form a single storage device. The purpose of this system is to prevent data loss by recovering data in real time when an error occurs in the storage device, and improve the data input / output speed by operating a plurality of storage devices at the same time.

지금까지 알려진 RAID 레벨(level)에는 0, 1, 2, 3, 4, 5 총 여섯 가지가 있 다. 각 레벨은 성능과 안정성 및 비용 측면에서 특징적인 성격을 각각 가지고 있으며, 장애 대응 기능(fault tolerance)을 구현하기 위해서 서로 다른 알고리즘을 채택하고 있다. 이 중에서 RAID 4는 데이터를 저장하는 다수의 저장장치와 패러티(parity)를 저장하는 1개의 저장장치로 구성되어 상기 목적을 달성한다. There are six known RAID levels: 0, 1, 2, 3, 4 and 5. Each level has its own characteristics in terms of performance, stability and cost, and employs different algorithms to implement fault tolerance. Among them, RAID 4 is composed of a plurality of storage devices for storing data and one storage device for storing parity to achieve the above object.

RAID 4 시스템이 N개의 데이터 저장장치와 1개의 패러티 저장장치로 구성되어 있다고 할 때, 데이터를 입력 받아 저장할 때에는 저장할 데이터를 블록 단위로 나누고 각 블록에 번호를 매긴 다음 Ni+j(i=0,1,2...)번 째 블록은 j번째 데이터 저장장치에 저장한다. 즉, 4개의 데이터 저장장치와 1개의 패러티 저장장치로 구성된 RAID 4 시스템에서 입력된 데이터를 12개의 데이터 블록으로 나누었을 때, 1, 5, 9번째 데이터 블록은 1번째 데이터 저장장치에 저장되고, 2, 6, 10번째 데이터 블록은 2번째 데이터 저장장치에 저장되고, 3, 7, 11번째 데이터 블록은 3번째 데이터 저장장치에 저장되고, 4, 8, 12번째 데이터 블록은 4번째 저장장치에 저장되는 방식이다. 또, 각 데이터 저장장치에 있는 i행에 있는 데이터 블록들로부터 패러티(parity) 블록을 각각 만든 후 패러티 저장장치에 저장한다. Suppose a RAID 4 system consists of N data storage devices and one parity storage device.When data is received and stored, the data to be stored is divided into blocks, numbered in blocks, and then Ni + j (i = 0, 1,2 ...) th block is stored in jth data storage device. That is, in a RAID 4 system consisting of four data storage devices and one parity storage device, when input data is divided into twelve data blocks, the first, fifth, and ninth data blocks are stored in the first data storage device. The second, sixth, and tenth data blocks are stored in the second data storage device, the third, seventh, and eleventh data blocks are stored in the third data storage device, and the fourth, eighth, and twelve data blocks are stored in the fourth storage device. This is how it is stored. In addition, a parity block is made from data blocks in row i of each data storage device and stored in the parity storage device.

종래의 RAID 시스템은 시스템을 처음 구성할 때 시스템을 구성하는 저장장치의 개수가 미리 정해져야 하고, 한번 개수가 정해지면 바꿀 수 없는 문제점이 있다. 예를 들어, 종래에는 하나의 데이터 저장장치가 고장난 경우 고장난 데이터 저장장치를 다른 추가적인 저장장치로 교체하여 패러티 저장장치를 이용하여 데이터를 복구하였다. 그러나 추가적인 저장장치를 교체할 수 없는 경우에 고장난 저장장치를 제외한 남은 저장장치로 RAID시스템을 구성하는 방법은 고려하고 있지 않다. 좀더 포괄적으로는 저장장치의 개수가 가변적으로 변해야 하는 환경에서 RAID 시스템을 구성하는 방법에 관하여 고려하지 않고 있다.In the conventional RAID system, when the system is initially configured, the number of storage devices configuring the system must be determined in advance, and once the number is determined, there is a problem that cannot be changed. For example, conventionally, when one data storage device fails, the failed data storage device is replaced with another additional storage device to recover data using the parity storage device. However, if the additional storage cannot be replaced, the method of configuring the RAID system with the remaining storage except the failed storage is not considered. More comprehensively, we do not consider how to configure a RAID system in an environment where the number of storage devices must vary.

본 발명은 상기한 문제점을 개선하기 위해 고안된 것으로, 본 발명이 이루고자 하는 기술적 과제는 저장장치가 제거되거나 추가되는 저장장치의 개수가 가변적인 환경에서도 블록들의 이동량을 최소화하면서 RAID 시스템을 재구성하는 방법을 제공하는 것이다. SUMMARY OF THE INVENTION The present invention has been devised to solve the above problems, and an object of the present invention is to provide a method of reconfiguring a RAID system while minimizing the movement of blocks even in an environment in which the number of storage devices to which storage devices are removed or added is variable. To provide.

본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법은 두 개 이상의 데이터 저장장치와 하나의 패러티(parity) 저장장치로 구성된 레이드(RAID) 시스템에서 데이터 저장장치가 하나 제거되었을 때, (a) 상기 각 데이터 저장장치에 저장된 데이터 블록의 패러티 블록을 생성하는 단계, (b) 같은 행에 있는 상기 데이터 저장장치의 데이터 블록과 상기 패러티 저장장치의 패러티 블록이 하나의 데이터 저장장치에 위치하도록, 상기 데이터 블록과 상기 패러티 블록을 각 데이터 저장장치로 전송하는 단계, (c) 상기 제거된 저장장치의 데이터 블록을 상기 각 데이터 저장장치에 있는 데이터 블록과 상기 전송된 패러티 블록으로부터 복구하는 단계, (d) 상기 복구된 데이터 블 록과 상기 생성된 패러티 블록을 패러티 저장장치로 전송하는 단계 및 상기 (d) 단계에서 전송된 데이터 블록의 패러티 블록을 생성하는 단계를 포함한다.In order to achieve the above object, a method of configuring a RAID system having a variable number of storage devices according to an embodiment of the present invention is a RAID system consisting of two or more data storage devices and one parity storage device. (A) generating a parity block of data blocks stored in each of the data storage devices, and (b) the data block and the parity storage device of the data storage device in the same row. Transmitting the data block and the parity block to each data storage device such that the parity block is located in one data storage device, and (c) transferring the data block of the removed storage device to the data block in each data storage device. Recovering from the transmitted parity block; and (d) the recovered data block and the generated parity. Sending a block with a parity storage device and generating the parity block of said data blocks transmitted in step (d).

상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법은 두 개 이상의 데이터 저장장치와 하나의 패러티(parity) 저장장치로 구성된 레이드(RAID) 시스템에서 데이터 저장장치가 하나 추가 되었을 때, (a) 상기 각 데이터 저장장치에 저장된 데이터 블록의 패러티 블록을 생성하는 단계, (b) 같은 행에 있는 상기 데이터 저장장치의 데이터 블록이 하나의 데이터 저장장치에 위치하도록, 상기 데이터 블록과 상기 패러티 블록을 각 데이터 저장장치로 전송하는 단계, 및 (c) 상기 생성된 패러티 블록을 패러티 저장장치로 전송하는 단계를 포함한다. In order to achieve the above object, a method of configuring a RAID system having a variable number of storage devices according to an embodiment of the present invention is a RAID system consisting of two or more data storage devices and one parity storage device. (A) generating a parity block of data blocks stored in each of the data storage devices, and (b) the data blocks of the data storage devices in the same row are one data storage device. Transmitting the data block and the parity block to each data storage device, and (c) transmitting the generated parity block to the parity storage device.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다 Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

이하, 본 발명의 실시예들에 의하여 저장장치의 개수가 가변적인 레이드 시 스템을 구성하는 방법을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.Hereinafter, the present invention will be described with reference to the drawings for explaining a method of configuring a RAID system having a variable number of storage devices according to embodiments of the present invention.

도 1은 데이터 저장장치(110a)와 패러티(parity) 저장장치(110b)로 구성된 레이드(RAID) 시스템을 보여주는 도면이다. FIG. 1 illustrates a RAID system including a data storage device 110a and a parity storage device 110b.

RAID 시스템은 여러 개의 개별적인 저장장치들이 모여서 하나의 저장장치를 이루는 시스템이다. 특히 본 발명은 RAID 레벨 중에서 RAID 4 에 관한 것으로 데이터를 저장하는 다수의 데이터 저장장치(110a)와 패러티를 저장하는 하나의 패러티 저장장치(110b)로 이루어진다. 도면에서 저장장치 1, 2, 3, 4는 데이터 저장장치(110a)이고 저장장치 5는 패러티 저장장치(110b)이다. 본 발명에 있어서 저장장치는 데이터를 입력하고 출력할 수 있는 것으로 컴퓨터에 내장된 하드디스크에서부터 휴대폰이나 MP3 등과 같은 휴대 장치의 저장장치에 이르기까지 다양하게 선택되어 구성될 수 있다. RAID system is a system in which several individual storage devices are gathered together to form a storage device. Particularly, the present invention relates to RAID 4 among RAID levels, and includes a plurality of data storage devices 110a for storing data and one parity storage device 110b for storing parity. In the drawing, storage devices 1, 2, 3, and 4 are data storage devices 110a and storage device 5 is a parity storage device 110b. In the present invention, the storage device can input and output data and can be configured in various ways from a hard disk built in a computer to a storage device of a portable device such as a mobile phone or an MP3.

데이터는 저장장치에 저장될 때 여러 블록으로 나뉘어져 저장된다. 도 1에서는 데이터 파일이 12개의 블록으로 나뉘어져 있는데 데이터 블록의 개수는 파일의 크기와 종류에 따라서 다양하게 바뀔 수 있음은 물론이다. 1번부터 12번까지 데이터 블록(115a)에 차례로 번호를 매겼을 때, 저장장치 1에서부터 저장장치 4로 차례로 데이터 블록(115a)이 가로로 저장된다. 즉, 1번째 데이터 블록(115a)은 저장장치 1에 저장되고, 2번째 데이터 블록(115a)은 저장장치 2에 저장되며, 5번째 데이터 블록(115a)는 다시 저장장치 1에 저장되는 방식으로 저장된다. When data is stored in storage, it is divided into several blocks. In FIG. 1, a data file is divided into 12 blocks. However, the number of data blocks may vary depending on the size and type of the file. When the data blocks 115a are sequentially numbered from 1 to 12, the data blocks 115a are stored horizontally from storage 1 to storage 4 in order. That is, the first data block 115a is stored in the storage device 1, the second data block 115a is stored in the storage device 2, and the fifth data block 115a is stored in the storage device 1 again. do.

저장장치 5에는 패러티 블록(115b)이 저장된다. 패러티 블록(115b)은 각 행 의 데이터 블록(115a)들로부터 계산된 것으로 데이터 블록(115a)에 오류가 생겼을 때 데이터를 복구하기 위해 저장되는 데이터이다. 여기서 각 행이라 함은 저장장치의 물리적인 위치에 의한 행을 의미하는 것이 아니라, 데이터 블록(115a)들이 저장장치 1, 저장장치 2, 저장장치 3, 저장장치 4에 각각 순차적으로 입력되었을 때 각 저장장치에 저장된 데이터 블록(115a)의 그룹을 의미한다. 도면에서는 데이터블록 1, 2, 3, 4와 5, 6, 7, 8과 9, 10, 11, 12는 각각 같은 행에 있다고 할 수 있다. 저장장치 5의

Figure 112006056439063-pat00001
는 같은 행에 있는 데이터 블록(115a) 1, 2, 3, 4로부터 계산된 패러티 데이터가 저장된 패러티 블록(115b)이다. 저장장치 3이 고장났을 때, 저장장치 3에 저장되었던 데이터 블록(115a)의 값은 각 행에 있는 데이터 블록(115a)과 패러티 블록(115b)으로부터 복구될 수 있다. 예를 들어 첫 번째 행의 경우 데이터 블록(115a) 1, 2, 4와 패러티 블록(115b)
Figure 112006056439063-pat00002
로부터 데이터 블록(115a) 3을 복구할 수 있는 것이다. The parity block 115b is stored in the storage device 5. The parity block 115b is calculated from the data blocks 115a of each row and is data stored to recover data when an error occurs in the data block 115a. Here, each row does not mean a row due to a physical location of the storage device, but each data block 115a is sequentially input to the storage device 1, the storage device 2, the storage device 3, and the storage device 4, respectively. A group of data blocks 115a stored in the storage device. In the drawing, data blocks 1, 2, 3, 4, and 5, 6, 7, 8, and 9, 10, 11, and 12 may each be in the same row. Of storage 5
Figure 112006056439063-pat00001
Is a parity block 115b in which parity data calculated from data blocks 115a 1, 2, 3, and 4 in the same row are stored. When storage device 3 fails, the value of data block 115a that was stored in storage device 3 can be recovered from data block 115a and parity block 115b in each row. For example, for the first row, data blocks 115a 1, 2, 4 and parity block 115b.
Figure 112006056439063-pat00002
It is possible to recover data block 115a 3 from.

종래에는 저장장치가 고장났을 때, 다른 저장장치로 교체하여 전술한 바와 같이 복구된 데이터를 저장하여 RAID 시스템이 유지될 수 있도록 하였다. 본 발명에서는 저장장치가 고장나서 제거되어야 하는 상황에서 다른 저장장치로 교체하는 것이 아니라, 고장난 저장장치를 뺀 남은 저장장치를 이용해서 새로이 RAID 시스템을 구성하는 방법을 제공한다. 물론, 저장장치가 추가되는 상황에 있어서 RAID 시스템을 재구성하는 방법도 제공한다. Conventionally, when a storage device fails, the RAID system can be maintained by storing the recovered data as described above by replacing it with another storage device. The present invention provides a method of newly configuring a RAID system using the remaining storage device except the failed storage device, instead of replacing it with another storage device in a situation in which the storage device is damaged and needs to be removed. Of course, it also provides a way to reconfigure a RAID system when additional storage is added.

이하 도 2 내지 도 6을 참조하여 저장장치가 제거되는 경우에 RAID 시스템을 구성하는 방법을 설명하고, 도 7과 도 8을 참조해서 저장장치가 추가되는 경우에 RAID 시스템을 구성하는 방법을 설명하기로 한다. Hereinafter, a method of configuring a RAID system when a storage device is removed will be described with reference to FIGS. 2 to 6, and a method of configuring a RAID system when a storage device is added with reference to FIGS. 7 and 8. Shall be.

도 2는 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 제거되었을 때 레이드 시스템을 구성하는 방법의 순서도이고, 도 3은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 제거되었을 때 데이터와 패러티 블록(115b)들의 이동을 보여주는 도면이고, 도 4는 도 3에 따라 데이터 저장장치(110a)가 하나 제거되었을 때 각 저장장치에서 블록들의 변화를 보여주는 도면이다. 2 is a flowchart illustrating a method of configuring a RAID system when one data storage device 110a is removed according to an embodiment of the present invention, and FIG. 3 is a view illustrating a data storage device 110a according to an embodiment of the present invention. FIG. 4 is a diagram illustrating movement of data and parity blocks 115b when one is removed, and FIG. 4 is a diagram illustrating changes of blocks in each storage device when one data storage device 110a is removed according to FIG. 3.

저장장치 중 하나가 고장나거나 사용자에 의해 이탈되는 등 기존 RAID 시스템에서 저장창치 중 하나가 제거되었을 때를 고려하면, 먼저 각 데이터 저장장치(110a)에 저장된 데이터 블록(115a)들의 패러티 블록(115b)을 생성한다(S110)((a) 단계). 도 3은 좌측의 4 개의 데이터 저장장치(110a)와 1 개의 패러티 저장장치(110b)로 이루어진 RAID 시스템에서 저장장치 1이 제거되어, 본 발명의 방법에 따라 데이터 블록(115a)이 이동하여 우측의 3 개의 데이터 저장장치(110a)와 1 개의 패러티 저장장치(110b)로 바뀌는 RAID 시스템을 도시하고 있다. 본 단계에서는 각 저장장치에서 각 저장장치에 저장된 데이터 블록(115a)들에 관한 패러티 블록(115b)을 생성한다. 즉, 도 3의 좌측의 저장장치 2의 경우 데이터 블록(115a) 2, 6, 10으로부터 패러티 블록(115b)

Figure 112006056439063-pat00003
을 생성하여 저장한다. 저장장치 3, 저장장치 4의 경우도 마찬가지로 하여 패러티 블록(115b)을 생성한다. 도 4에서는 본 단계((a)단계)를 거쳐 각 저장장치에 패러티 블록(115b)
Figure 112006056439063-pat00004
,
Figure 112006056439063-pat00005
,
Figure 112006056439063-pat00006
이 생 성되는 것을 도시하고 있다. Considering when one of the storage windows is removed from the existing RAID system, such as one of the storage devices failing or being dislodged by the user, the parity block 115b of the data blocks 115a stored in each data storage device 110a is first used. To generate (S110) (step (a)). 3 shows that the storage device 1 is removed from a RAID system including four data storage devices 110a and one parity storage device 110b on the left side, and the data block 115a is moved according to the method of the present invention. A RAID system is shown that is changed to three data storage devices 110a and one parity storage device 110b. In this step, each storage device generates a parity block 115b for the data blocks 115a stored in each storage device. That is, in the case of the storage device 2 on the left side of FIG. 3, the parity block 115b from the data blocks 115a 2, 6, and 10.
Figure 112006056439063-pat00003
Create and save Similarly, in the case of the storage device 3 and the storage device 4, the parity block 115b is generated. In FIG. 4, the parity block 115b is stored in each storage device after the present step (a).
Figure 112006056439063-pat00004
,
Figure 112006056439063-pat00005
,
Figure 112006056439063-pat00006
This is shown.

다음, 저장장치가 하나 제거되면서 기존의 가로방향으로 데이터가 세로방향으로 저장되도록 데이터 블록(115a)과 패러티 블록(115b)을 각 데이터 저장장치(110a)로 전송한다(S120)((b) 단계). 이때, 같은 행에 있는 데이터 블록(115a)과 패러티 블록(115b)이 하나의 데이터 저장장치(110a)에 위치하도록 한다. 예를 들어 도 3과 같이 첫 번째 행에 있는 데이터 블록(115a) 1, 2, 3, 4 와 패러티 블록(115b)

Figure 112006056439063-pat00007
가 같은 저장장치에 위치할 수 있도록 데이터를 전송시킨다. 도면에서는 저장장치 2로 이송되었음을 알 수 있다. 이때, 데이터 블록(115a) 1은 저장장치 1이 제거되었으므로 전송시킬 수 없고, 데이터 블록(115a) 2는 저장장치 1이 제거되기 전에 미리 저장장치 2에 위치하였으므로 전송시킬 필요가 없다. 따라서, 도 3의 상부 블록들의 움직임을 도시한 화살표와 같이 저장장치 2에는 데이터 블록(115a) 3과 4가 각각 저장장치 3과 저장장치 4로부터 전송된다. 이때, 같은 행에 있던 패러티 블록(115b)
Figure 112006056439063-pat00008
도 데이터 블록(115a)들과 같은 저장장치에 위치하도록 저장장치 5로부터 저장장치 2로 전송된다. 따라서 저장장치 2에는 기존에 있던 데이터 블록(115a) 2와 전송된 데이터 블록(115a) 3, 4와 전송된 패러티 블록(115b)
Figure 112006056439063-pat00009
가 존재하게 된다. 물론 전술한 단계(S110)에서 생성된 패러티 블록(115b)
Figure 112006056439063-pat00010
도 존재하게 된다. 이때, 데이터 블록(115a) 1은 후술할 단계(S130)에서 복구된다. 나머지 저장장치에서도 전술한 바와 같이 다른 저장장치로부터 데이터 블록(115a)과 패러티 블록(115b)들이 전송된다. 도 3의 상단에 있는 블록의 이동을 도시한 화살표에서는 각 저장장치에서 데이터 블록(115a)과 패러티 블록(115b)의 전송을 보여주고 있다. Next, the data block 115a and the parity block 115b are transmitted to each data storage device 110a such that the data is stored in the vertical direction while one storage device is removed (S120) (b). ). In this case, the data block 115a and the parity block 115b in the same row are located in one data storage device 110a. For example, data blocks 115a 1, 2, 3, 4 and parity blocks 115b in the first row as shown in FIG. 3.
Figure 112006056439063-pat00007
Transfers the data so that it is located on the same storage device. In the figure it can be seen that the transfer to the storage device 2. In this case, the data block 115a 1 cannot be transmitted because the storage device 1 has been removed, and the data block 115a 2 is located in the storage device 2 before the storage device 1 is removed. Therefore, as shown by the arrow showing the movement of the upper blocks of FIG. 3, the data blocks 115a and 3 are transmitted to the storage device 2 from the storage device 3 and the storage device 4, respectively. At this time, the parity block 115b in the same row
Figure 112006056439063-pat00008
Also transferred from storage 5 to storage 2 to be located in storage such as data blocks 115a. Therefore, in the storage device 2, the existing data blocks 115a and 2 and the transmitted data blocks 115a and 3 and 4 and the transmitted parity block 115b are stored.
Figure 112006056439063-pat00009
Will be present. Of course, the parity block 115b generated in step S110 described above.
Figure 112006056439063-pat00010
Will also exist. At this time, the data block 115a 1 is recovered in step S130, which will be described later. The data block 115a and the parity block 115b are also transmitted from the other storage device as described above. The arrow showing the movement of the block at the top of FIG. 3 shows the transmission of the data block 115a and the parity block 115b in each storage device.

다음, 각 저장장치에서는 데이터 블록(115a)과 패러티 블록(115b)을 이용하여 제거된 저장장치에 있었던 데이터 블록(115a)을 복구한다(S130)((c) 단계). 예를 들어 저장장치 2에는 전술한 단계(S120)를 거쳐 데이터 블록(115a) 2, 3, 4 와 패러티 블록(115b)

Figure 112006056439063-pat00011
가 존재하게 되는데, 이로부터 데이터 블록(115a) 1을 복구할 수 있다. 데이터 블록(115a)을 복구한 후 패러티 블록(115b)
Figure 112006056439063-pat00012
는 삭제할 수 있다. Next, each storage device recovers the data block 115a in the removed storage device by using the data block 115a and the parity block 115b (step S130) (step (c)). For example, the storage device 2 includes the data blocks 115a, 2, 3, and 4 and the parity block 115b through the above-described step (S120).
Figure 112006056439063-pat00011
Is present, from which data block 115a 1 can be recovered. Parity block 115b after restoring data block 115a
Figure 112006056439063-pat00012
Can be deleted.

도 4 에서는 전술한 단계((b), (c)단계)를 거쳐 데이터 블록(115a)들이 저장된 모습을 도시하고 있는데, 저장장치가 제거되기 전 가로로 배열되었던 데이터 블록(115a)들이 각 저장장치에서 세로로 배열됨을 알 수 있다. In FIG. 4, the data blocks 115a are stored through the aforementioned steps (b) and (c), and the data blocks 115a arranged horizontally before the storage device is removed are stored in each storage device. You can see that they are arranged vertically at

다음, 전술한 단계(S110)에서 생성된 패러티 블록(115b)과 전술한 단계(S140)에서 복구된 데이터 블록(115a)을 패러티 저장장치(110b)로 전송한다(S140)((d) 단계). 이때, 복구된 데이터 블록(115a)을 복사하여 패러티 저장장치(110b)로 전송함으로써 복구된 데이터 블록(115a)이 각 데이터 저장장치(110a)에 남아 저장될 수 있도록 한다. 저장장치 2에서는 (a) 단계에서 생성된

Figure 112006056439063-pat00013
와 (c) 단계에서 복구한 데이터 블록(115a) 1을 저장장치 5로 전송한다. 다른 저장장치에서도 이와 마찬가지로 생성된 패러티 블록(115b)과 복구된 데이터 블록(115a)을 전송하는데, 이는 도 3의 아래에 있는 블록의 이송을 도시한 화살표에 잘 나타나 있 다. Next, the parity block 115b generated in step S110 and the data block 115a recovered in step S140 are transmitted to the parity storage device 110b in step S140 (step (d)). . At this time, the recovered data block 115a is copied and transmitted to the parity storage device 110b so that the recovered data block 115a remains in each data storage device 110a and stored. In storage device 2, the
Figure 112006056439063-pat00013
And the data block 115a 1 recovered in step (c) to the storage device 5. Other storage devices likewise transmit the generated parity block 115b and recovered data block 115a, as illustrated by the arrows depicting the transfer of the block below in FIG.

다음, 전술한 (d) 단계에서 전송된 복구된 데이터 블록(115a)들의 패러티 블록(115b)을 생성한다(S150)((e) 단계). 도 3에서 저장장치 2로부터 데이터 블록(115a) 1이, 저장장치 3으로부터 데이터 블록(115a) 5가, 저장장치 4로부터 데이터 블록(115a) 9가 복구되어 저장장치 5로 전송되는데, 데이터 블록(115a) 1, 5, 9로부터 패러티 블록(115b)

Figure 112006056439063-pat00014
를 계산하여 생성한다. 본 발명에 따라 기존의 가로로 배열된 데이터 블록(115a)들을 세로로 배열함에 따라서 첫 번째 행에는 데이터 블록(115a) 1, 5, 9 가 위치하게 된다. 따라서 첫 번째 행의 데이터 블록(115a)에 해당하는 패러티 블록(115b)
Figure 112006056439063-pat00015
를 저장장치 5에 위치시킨다. 나머지 두 번째 행의 데이터 블록(115a) 2, 6, 10, 세 번째 행의 데이터 블록(115a) 3, 7, 11 등의 패러티 블록(115b)은 (a)단계에서 생성된 패러티 블록(115b)
Figure 112006056439063-pat00016
,
Figure 112006056439063-pat00017
등이 저장장치 5로 전송되어 별도의 계산과정 없이 전송되어 해당 위치에 저장될 수 있다. 기존의 저장장치 1이 제거되기 전에 저장장치 5에 존재하던 패러티 블록(115b)들은 삭제되고 전술한 바와 같이 새로운 패러티 블록(115b)으로 교체될 것이다.Next, a parity block 115b of the recovered data blocks 115a transmitted in step (d) is generated (S150) (step (e)). In FIG. 3, data block 115a 1 from storage 2, data block 115a 5 from storage 3, and data block 115a 9 from storage 4 are recovered and transferred to storage 5. 115a) Parity blocks 115b from 1, 5, 9
Figure 112006056439063-pat00014
Generate by calculating According to the present invention, the data blocks 115a 1, 5, and 9 are arranged in the first row according to the vertical arrangement of the data blocks 115a arranged horizontally. Therefore, the parity block 115b corresponding to the data block 115a of the first row.
Figure 112006056439063-pat00015
Location in storage 5. The parity blocks 115b such as the data blocks 115a of the second row, 2, 6, 10, and the data blocks 115a, 3, 7, and 11 of the third row are the parity blocks 115b generated in step (a).
Figure 112006056439063-pat00016
,
Figure 112006056439063-pat00017
Etc. may be transmitted to the storage device 5 and transmitted without a separate calculation process and stored in the corresponding location. The parity blocks 115b that existed in storage 5 before the existing storage device 1 are removed will be deleted and replaced with the new parity block 115b as described above.

최종적으로 전술한 단계((a), (b), (c), (d), (e))를 거쳐 새로이 구성된 RAID 시스템의 블록들의 모습을 도 3과 도 4에 도시하고 있다. 데이터 저장장치(110a)가 하나 제거되었지만, 별도의 저장장치를 추가함이 없이 기존의 저장장치로부터 새로이 RAID 시스템을 구성함을 알 수 있다. Finally, the block diagrams of the newly configured RAID system through the above-described steps (a), (b), (c), (d), and (e) are shown in FIGS. 3 and 4. Although one data storage device 110a has been removed, it can be seen that a new RAID system is configured from an existing storage device without adding a separate storage device.

도 5는 데이터 저장장치(110a)가 제거되기 전과 마찬가지로 데이터 블 록(115a)을 가로로 배열하였을 때 데이터 블록(115a)들의 이동을 보여주는 도면이다. FIG. 5 is a view illustrating movement of data blocks 115a when the data blocks 115a are arranged horizontally as before the data storage device 110a is removed.

데이터 저장장치(110a) 중 하나가 제거되었을 때 다른 저장장치의 추가 없이 남은 저장장치로 새로이 RAID 시스템을 구성한다고 할 때, 전술한 바와 같이 데이터 블록(115a)을 각 저장장치에 세로로 배열하지 않고 저장장치가 제거되기 전과 마찬기지로 데이터 블록(115a)을 가로로 배열하는 방법을 고려할 수 있다. 도 5는 이때의 데이터 블록(115a)들의 이동을 보여준다. 본 방법에 따르면, 도면에서와 같이 모든 데이터 블록(115a)들은 패러티 저장장치(110b)로 전송된다. 패러티 저장장치(110b)에서 삭제된 데이터 블록(115a)들을 복구하고 패러티 블록(115b)을 다시 계산하여 생성한다. 이후 저장장치로 전송된 데이터 블록(115a) 중 일부(예를 들어 데이터 블록(115a) 10의 경우는 기존에 저장장치 2에 존재하였으므로 저장장치 5에서 별도로 저장장치 2로 전송할 필요가 없다.)와 복구된 데이터 블록(115a)을 해당 저장장치에 저장될 수 있도록 전송한다. When one of the data storage devices 110a is removed and a new RAID system is configured with the remaining storage without adding another storage device, as described above, the data block 115a is not vertically arranged in each storage device. As before the storage device is removed, a method of horizontally arranging the data blocks 115a may be considered. 5 shows the movement of the data blocks 115a at this time. According to the method, all data blocks 115a are transmitted to the parity storage device 110b as shown in the figure. The data blocks 115a deleted from the parity storage device 110b are recovered, and the parity blocks 115b are recalculated and generated. Afterwards, some of the data blocks 115a transmitted to the storage device (for example, data block 115a 10 is present in storage device 2 and do not need to be transferred from storage device 5 to storage device 2). The recovered data block 115a is transmitted to be stored in the corresponding storage device.

도 5에서 전체 데이터 블록(115a)들의 이동량을 보면 처음 데이터 저장장치(110a)에서 패러티 저장장치(110b)로 전송될 때, 저장장치 2에서 데이터 블록(115a) 2, 6, 10이, 저장장치 3에서 데이터 블록(115a) 3, 7, 11이, 저장장치 4에서 데이터 블록(115a) 4, 8, 12가 패러티 저장장치(110b)인 저장장치로 전송된다. 이후 패러티 저장장치(110b)에서 각 저장장치로 데이터 블록(115a)이 이송되는데, 저장장치 2로 데이터 블록(115a) 1, 4, 7이, 저장장치 3으로 데이터 블록(115a) 2, 5, 8이, 저장장치 4로 데이터 블록(115a) 3, 6, 9로 전송된다. 데이터 블록(115a)들의 전송은 도 5의 데이트 블록들의 흐름을 도시한 화살표에 잘 도시되어 있는데, 처음에 9개의 데이터 블록(115a)이 나중에 9개의 데이터 블록(115a)이 이동하여 총 18개의 데이터 블록(115a)이 이동함을 알 수 있다. 본 발명에 따라 블록들의 이동을 살펴보면 도 3에 나타나 있는데, 상부 화살표에서 9개의 데이터 블록(115a)이 하부 화살표에서 6개의 데이터 블록(115a)이 이송되어 총 15개의 데이터 블록(115a)과 패러티 블록(115b)이 각 저장장치 사이에 이송됨을 알 수 있다. 이는 5개의 저장장치에서 1개의 저장장치가 제거될 때 데이터 파일이 12개의 블록을 가지는 경우에 대한 예시로, 저장장치의 개수가 많아지면 많아질수록 블록들의 이동양의 차이가 커짐을 알 수 있다. In FIG. 5, when the total amount of data blocks 115a is moved, data blocks 115a, 2, 6, and 10 are stored in the storage device 2 when the data storage device 110a is transferred from the data storage device 110a to the parity storage device 110b. In block 3, data blocks 115a 3, 7, and 11 are transferred from storage 4 to the storage device in which data blocks 115a, 4, 8, and 12 are parity storage 110b. Thereafter, the data blocks 115a are transferred from the parity storage device 110b to each storage device, and the data blocks 115a 1, 4, and 7 are stored as storage devices 2, and the data blocks 115a, 2, 5, and 3 are stored as storage devices 3. 8 is transmitted to data blocks 115a 3, 6, and 9 to storage device 4. The transmission of the data blocks 115a is well illustrated by an arrow showing the flow of the data blocks in FIG. 5, where nine data blocks 115a are moved later and nine data blocks 115a are moved, for a total of 18 data. It can be seen that block 115a moves. Referring to the movement of the block according to the present invention is shown in Figure 3, nine data blocks (115a) in the upper arrow six data blocks (115a) are transferred in the lower arrow, a total of 15 data blocks (115a) and parity blocks It can be seen that 115b is transferred between each storage device. This is an example of a case in which a data file has 12 blocks when one storage device is removed from five storage devices. As the number of storage devices increases, the difference in movement amount of blocks increases. .

따라서, 도 5와 같이 기존과 같이 가로로 데이터 블록(115a)을 구성하면 모든 패러티 블록(115b)을 다시 계산해야 하며, 모든 데이터를 시스템에 맞게 재구성해야 하므로 시스템 구축을 위한 네트워크 비용이 매우 커지게 된다. 본 발명은 블록들의 이동량을 최소화하면서 RAID 시스템을 재구성할 수 있는 방법을 제시함을 알 수 있다. Therefore, when the data block 115a is horizontally configured as shown in FIG. 5, all the parity blocks 115b need to be recalculated, and all data must be reconfigured for the system, thereby greatly increasing the network cost for system construction. do. It can be seen that the present invention provides a method for reconfiguring a RAID system while minimizing the amount of movement of blocks.

도 6은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 제거되었을 때 데이터와 패러티 블록(115b)들의 이동을 보여주는 도면이다. FIG. 6 is a diagram illustrating movement of data and parity blocks 115b when one data storage device 110a is removed according to an embodiment of the present invention.

도 3과 달리 도 6에서는 패러티 저장장치(110b)에 있는 패러티 블록(115b)들의 개수에 비해 데이터 저장장치(110a)의 개수가 적은 경우를 나타낸다. 도 6의 경우에도 전술한 본 발명의 방법과 동일한 방법으로 데이터 블록(115a)과 패러티 블록(115b)이 전송된다. 다만, 저장장치 1이 제거되기 전 첫 번째 행에 있었던 데이 터 블록(115a) 1, 2, 3이 저장장치 2에 위치하게 되고, 두 번째 행에 있었던 데이터 블록(115a) 4, 5, 6이 저장장치 3에 위치하게 된다. 이어서 세 번째 행의 데이터 블록(115a) 7, 8, 9는 데이터 블록(115a) 1, 2, 3에 이어서 저장장치 2에 위치하고 네 번째 행의 데이터 블록(115a) 10, 11, 12는 데이터 블록(115a) 4, 5, 6에 이어서 저장장치 3에 위치하게 된다. 그리고 전술한 (a)단계에서와 같이 각 데이터 저장장치(110a)에 저장된 데이터 블록(115a)들의 패러티 블록(115b)을 생성할 때, 데이터 저장장치(110a)의 개수와 동일한 개수의 데이터 블록(115a) 그룹들에 대하여 패러티 블록(115b)을 생성한다. 도 6의 저장장치 2에서

Figure 112006056439063-pat00018
의 패러티 블록(115b)을 생성하는 것이 아니라 데이터 저장장치(110a)의 개수와 동일한 개수인 2개의 데이터 블록(115a)들에 대하여 패러티 블록(115b)을 생성한다. 즉, 저장장치 2에서는
Figure 112006056439063-pat00019
Figure 112006056439063-pat00020
두 개의 패러티 블록(115b)을 생성한다. 이후, 블록들의 전송을 거쳐 데이터 블록(115a) 1, 7이 저장장치 2에서 복구되고, 데이터 블록(115a) 4, 10이 저장장치 3에서 복구된다. 복구된 데이터 블록(115a) 1, 7, 4, 10과 생성된 패러티 블록(115b)
Figure 112006056439063-pat00021
,
Figure 112006056439063-pat00022
,
Figure 112006056439063-pat00023
,
Figure 112006056439063-pat00024
는 패러티 저장장치(110b)인 저장장치 4로 전송된다. 패러티 저장장치(110b)로 전송된 복구된 데이터 블록(115a) 1, 7, 4, 10으로부터 패러티 블록(115b)
Figure 112006056439063-pat00025
,
Figure 112006056439063-pat00026
을 생성한다. Unlike FIG. 3, FIG. 6 illustrates a case where the number of data storage devices 110a is smaller than the number of parity blocks 115b in the parity storage device 110b. 6, the data block 115a and the parity block 115b are transmitted in the same manner as the above-described method of the present invention. However, data blocks 115a 1, 2, and 3 in the first row before storage 1 are removed are located in storage 2, and data blocks 115a 4, 5, and 6 in the second row are stored. It is located in storage 3. Subsequently, data blocks 115a 7, 8, and 9 of the third row are located in the storage device 2 after data blocks 115a 1, 2, and 3, and data blocks 115a 10, 11, and 12 of the fourth row are the data blocks. (115a) 4, 5, 6, followed by storage device 3. When the parity block 115b of the data blocks 115a stored in each data storage device 110a is generated as in step (a) described above, the number of data blocks equal to the number of data storage devices 110a ( 115a) Create a parity block 115b for the groups. In storage 2 of FIG. 6
Figure 112006056439063-pat00018
The parity block 115b is generated for two data blocks 115a having the same number as that of the data storage device 110a. That is, in storage 2
Figure 112006056439063-pat00019
Wow
Figure 112006056439063-pat00020
Create two parity blocks 115b. Thereafter, the data blocks 115a 1 and 7 are recovered from the storage 2 through the transmission of the blocks, and the data blocks 115a 4 and 10 are restored from the storage 3. Recovered data block 115a 1, 7, 4, 10 and generated parity block 115b
Figure 112006056439063-pat00021
,
Figure 112006056439063-pat00022
,
Figure 112006056439063-pat00023
,
Figure 112006056439063-pat00024
Is transmitted to storage device 4, which is parity storage device 110b. Parity block 115b from recovered data blocks 115a 1, 7, 4, and 10 sent to parity storage 110b.
Figure 112006056439063-pat00025
,
Figure 112006056439063-pat00026
Create

도 7은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 추가되었을 때 RAID 시스템을 구성하는 방법의 순서도이고, 도 8은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 추가되었을 때 데이터 블록(115a)들의 이동을 보여주는 도면이다. 7 is a flowchart illustrating a method of configuring a RAID system when one data storage device 110a is added according to an embodiment of the present invention, and FIG. 8 is a data storage device 110a according to an embodiment of the present invention. The figure shows the movement of the data blocks 115a when one is added.

저장장치가 추가되는 경우에는 저장장치가 제거되는 경우와 거의 비슷하나, 제거된 데이터 블록(115a)을 복구하는 과정(저장장치가 제거되는 경우의 (c) 단계)은 불필요하며 복구된 데이터 블록(115a)으로부터 패러티 블록(115b)을 생성하는 과정(저장장치가 제거되는 경우의 (e) 단계)도 불필요하다. When the storage device is added, it is almost the same as when the storage device is removed. However, the process of recovering the removed data block 115a (step (c) when the storage device is removed) is unnecessary and the recovered data block ( The process of generating the parity block 115b from 115a (step (e) when the storage device is removed) is also unnecessary.

저장장치 중 하나가 추가될 때, 먼저 각 데이터 저장장치(110a)에 저장된 데이터 블록(115a)들의 패러티 블록(115b)을 생성한다(S210). 도 8은 도면 좌측의 3 개의 데이터 저장장치(110a)와 1 개의 패러티 저장장치(110b)로 이루어진 RAID 시스템에서 데이터 저장장치(110a)인 저장장치 5가 추가되어, 본 발명의 방법에 따라 데이터 블록(115a)이 이동하여 도면 우측의 4 개의 데이터 저장장치(110a)와 1 개의 패러티 저장장치(110b)로 바뀌는 RAID 시스템을 도시하고 있다. 본 단계에서는 각 저장장치에서 저장장치에 저장된 데이터 블록(115a)들에 관한 패러티 블록(115b)을 생성한다. 즉, 도 8의 좌측의 저장장치 1의 데이터 블록(115a) 1, 4, 7, 10으로부터 패러티 블록(115b)

Figure 112006056439063-pat00027
을 생성하여 저장한다. 저장장치 2, 저장장치 3의 경우도 마찬가지로 하여 패러티 블록(115b)을 생성한다. When one of the storage devices is added, first, a parity block 115b of the data blocks 115a stored in each data storage device 110a is generated (S210). FIG. 8 shows a data block according to the method of the present invention, in which a storage device 5 which is a data storage device 110a is added in a RAID system including three data storage devices 110a and one parity storage device 110b on the left side of the drawing. A RAID system is shown in which 115a is moved to replace four data storage devices 110a and one parity storage device 110b on the right side of the drawing. In this step, each storage device generates a parity block 115b for the data blocks 115a stored in the storage device. That is, the parity block 115b from the data blocks 115a 1, 4, 7, and 10 of the storage device 1 on the left side of FIG. 8.
Figure 112006056439063-pat00027
Create and save Similarly, in the case of the storage device 2 and the storage device 3, the parity block 115b is generated.

다음, 저장장치가 하나 추가되면서 기존의 데이터 저장장치(110a)의 가로방향으로 저장된 데이터 블록(115a)이 세로방향으로 저장되도록 데이터 블록(115a)을 전송한다(S220). 저장장치가 제거되는 경우와는 달리 패러티 블록(115b)을 전송할 필요가 없다. 왜냐하면 저장장치가 추가되는 경우에는 사라진 데이터 블록(115a)을 복구할 필요가 없기 때문이다. 같은 행에 있는 데이터 블록(115a)이 하나의 데이터 저장장치(110a)에 위치하도록 한다. 예를 들어 도 8의 좌측의 첫 번째 행에 있는 데이터 블록(115a) 1, 2, 3이 저장장치 1에 위치할 수 있도록 데이터를 전송시킨다. 이때, 데이터 블록(115a) 1은 저장장치 5가 추가되기 전에 미리 저장장치 1에 위치하였으므로 전송시킬 필요가 없고 저장장치 1에는 데이터 블록(115a) 2, 3만 전송하면 된다. 따라서, 도 8의 블록들의 움직임을 도시한 화살표와 같이 저장장치 1에는 데이터 블록(115a) 2와 3이 각각 저장장치 2와 저장장치 3으로부터 전송된다. 물론 전술한 단계(S210)에서 생성된 패러티 블록(115b)도 각 저장장치에 존재하게 된다. 나머지 저장장치에서도 전술한 바와 같이 다른 데이터 저장장치(110a)로부터 데이터 블록(115a)들이 전송된다. 도 8의 상단에 있는 블록의 이동을 도시한 화살표에서는 각 저장장치에서 데이터 블록(115a)들의 전송을 보여주고 있다. Next, as one storage device is added, the data block 115a is transmitted such that the data block 115a stored in the horizontal direction of the existing data storage device 110a is stored in the vertical direction (S220). Unlike when the storage device is removed, the parity block 115b does not need to be transmitted. This is because when the storage device is added, it is not necessary to recover the lost data block 115a. The data blocks 115a in the same row are located in one data storage device 110a. For example, data blocks 115a, 1, 2, and 3 in the first row on the left side of FIG. 8 are transferred so that the storage device 1 can be located. In this case, since the data block 115a 1 is located in the storage device 1 before the storage device 5 is added, the data block 115a 1 does not need to be transmitted, and only the data blocks 115a 2 and 3 need to be transmitted to the storage device 1. Accordingly, as shown by the arrow showing the movement of the blocks in FIG. 8, data blocks 115a and 2 are transferred from storage 2 and storage 3 to storage 1, respectively. Of course, the parity block 115b generated in step S210 is also present in each storage device. The data blocks 115a are also transmitted from the other data storage 110a as described above with the remaining storage. An arrow showing the movement of the block at the top of FIG. 8 shows the transfer of data blocks 115a in each storage device.

다음, 전술한 단계(S210)에서 생성된 패러티 블록(115b)을 패러티 저장장치(110b)로 전송한다(S230). 저장장치 1에서는 생성된 패러티 블록(115b)

Figure 112006056439063-pat00028
, 저장장치 2에서는 생성된 패러티 블록(115b)
Figure 112006056439063-pat00029
, 저장장치 3에서는 생성된 패러티 블록(115b)
Figure 112006056439063-pat00030
을 패러티 저장장치(110b)인 저장장치 4로 전송한다. 이는 도 8의 아래에 있는 블록의 이송을 도시한 화살표에 잘 나타나 있다. Next, the parity block 115b generated in the above-described step S210 is transmitted to the parity storage device 110b (S230). In the storage device 1, the generated parity block 115b.
Figure 112006056439063-pat00028
In the storage device 2, the generated parity block 115b.
Figure 112006056439063-pat00029
In the storage device 3, the generated parity block 115b
Figure 112006056439063-pat00030
To the storage device 4 that is the parity storage device 110b. This is illustrated by the arrows showing the transfer of the block below in FIG.

본 발명에 따라 기존의 가로로 배열된 데이터 블록(115a)들을 세로로 배열함에 따라서 첫 번째 행에는 데이터 블록(115a) 1, 4, 7, 10이 위치하게 된다. 따라서 첫 번째 행의 데이터 블록(115a)에 해당하는 패러티 블록(115b)

Figure 112006056439063-pat00031
을 저장장 치 4에 위치시킨다.
Figure 112006056439063-pat00032
은 별로로 계산할 필요가 없고 전술한 바와 같이 저장장치 1에서 생성되어 전송된 패러티 블록(115b)을 저장한다. 나머지 행의 패러티 블록(115b)도 마찬가리도 전송된 패러티 블록(115b)이 저장된다. 기존의 저장장치 5가 추가되기 전에 저장장치 4에 존재하던 패러티 블록(115b)들은 삭제되고 전송된 새로운 패러티 블록(115b)으로 교체될 것이다.According to the present invention, as the horizontally arranged data blocks 115a are arranged vertically, the data blocks 115a 1, 4, 7, and 10 are positioned in the first row. Therefore, the parity block 115b corresponding to the data block 115a of the first row.
Figure 112006056439063-pat00031
Location in storage 4.
Figure 112006056439063-pat00032
Does not need to be calculated separately and stores the parity block 115b generated and transmitted in the storage device 1 as described above. The parity block 115b transmitted in both the parity block 115b of the remaining rows is stored. Before the existing storage device 5 is added, the parity blocks 115b that existed in the storage device 4 will be replaced with the new parity block 115b that has been deleted and transmitted.

저장장치가 제거되는 경우와 마찬가지로, 패러티 저장장치(110b)에 있는 패러티 블록(115b)들의 개수에 비해 데이터 저장장치(110a)의 개수가 적은 경우에, 각 데이터 저장장치(110a)에 저장된 데이터 블록(115a)들의 패러티 블록(115b)을 생성할 때(S210), 데이터 저장장치(110a)의 개수와 동일한 개수의 데이터 블록(115a) 그룹들에 대하여 패러티 블록(115b)을 생성한다. As in the case where the storage device is removed, when the number of data storage devices 110a is smaller than the number of parity blocks 115b in the parity storage device 110b, the data blocks stored in each data storage device 110a are stored. When the parity blocks 115b of the 115a are generated (S210), the parity blocks 115b are generated for the same number of groups of the data blocks 115a as the number of the data storage devices 110a.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art will appreciate that the present invention can be embodied in other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and the equivalent concept are included in the scope of the present invention. Should be interpreted.

상기한 바와 같은 본 발명의 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다. According to the method of configuring a RAID system having a variable number of storage devices as described above, one or more of the following effects are provided.

첫째, 저장장치의 개수가 가변적으로 변하는 환경에서도 RAID 시스템을 구성할 수 있다는 장점이 있다. First, there is an advantage that the RAID system can be configured even in an environment in which the number of storage devices varies.

둘째, 저장장치의 개수가 가변적으로 변하는 환경에서 RAID 시스템을 구성할 때 블록들의 이동량을 최소한으로 하여 네트워크 비용을 줄일 수 있다는 장점도 있다. Second, when configuring a RAID system in an environment in which the number of storage devices is variable, the network cost can be reduced by minimizing the movement of blocks.

Claims (4)

두 개 이상의 데이터 저장장치와 하나의 패러티(parity) 저장장치로 구성된 레이드(RAID) 시스템에서 데이터 저장장치가 하나 제거되었을 때,When a data storage device is removed from a RAID system consisting of two or more data storage devices and one parity storage device, (a) 상기 각 데이터 저장장치에 저장된 데이터 블록의 패러티 블록을 생성하는 단계; (a) generating a parity block of data blocks stored in each data storage device; (b) 같은 행에 있는 상기 데이터 저장장치의 데이터 블록과 상기 패러티 저장장치의 패러티 블록이 하나의 데이터 저장장치에 위치하도록, 상기 데이터 블록과 상기 패러티 블록을 각 데이터 저장장치로 전송하는 단계;(b) transmitting the data block and the parity block to each data storage device such that the data block and the parity block of the parity storage device in the same row are located in one data storage device; (c) 상기 제거된 저장장치의 데이터 블록을 상기 각 데이터 저장장치에 있는 데이터 블록과 상기 전송된 패러티 블록으로부터 복구하여, 상기 복구된 데이터 블록은 복구하는데 사용된 상기 데이터 블록과 상기 전송된 패러티 블록이 위치하는 저장장치에 위치시키고, 상기 각 저장장치에 복구된 데이터 블록은 같은 행에 위치시키는 단계;(c) recovering the data block of the removed storage device from the data block and the transmitted parity block in each data storage device, so that the recovered data block is used to recover the data block and the transmitted parity block. Placing the data blocks recovered in each of the storage devices in the same row; (d) 상기 복구된 데이터 블록과 상기 생성된 패러티 블록을 패러티 저장장치로 전송하는 단계; 및(d) transmitting the recovered data block and the generated parity block to a parity storage device; And (e) 상기 (d) 단계에서 전송된 데이터 블록의 패러티 블록을 생성하는 단계를 포함하는, 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법. (e) generating a parity block of the data block transmitted in step (d). 제 1 항에 있어서,The method of claim 1, 상기 (a) 단계에서 생성되는 패러티 블록은 데이터 저장장치의 개수와 동일한 개수의 데이터 블록 그룹들에 대한 패러티 블록을 생성하는, 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법.The parity block generated in the step (a) generates a parity block for the number of data block groups equal to the number of data storage devices, the configuration of a RAID system having a variable number of storage devices. 두 개 이상의 데이터 저장장치와 하나의 패러티(parity) 저장장치로 구성된 레이드(RAID) 시스템에서 데이터 저장장치가 하나 추가 되었을 때,When a data storage device is added in a RAID system consisting of two or more data storage devices and one parity storage device, (a) 상기 각 데이터 저장장치에 저장된 데이터 블록의 패러티 블록을 생성하는 단계; (a) generating a parity block of data blocks stored in each data storage device; (b) 같은 행에 있는 상기 데이터 저장장치의 데이터 블록이 하나의 데이터 저장장치에 위치하도록, 상기 데이터 블록과 상기 패러티 블록을 각 데이터 저장장치로 전송하는 단계; 및(b) transferring the data block and the parity block to each data storage device such that the data blocks of the data storage devices in the same row are located in one data storage device; And (c) 상기 생성된 패러티 블록을 패러티 저장장치로 전송하는 단계를 포함하는, 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법. and (c) transmitting the generated parity block to a parity storage device. 제 3 항에 있어서,The method of claim 3, wherein 상기 생성된 패러티 블록은 데이터 저장장치의 개수와 동일한 개수의 데이터 블록 그룹들에 대한 패러티 블록을 생성하는, 저장장치의 개수가 가변적인 레이드 시스템을 구성하는 방법. Wherein the generated parity block generates parity blocks for the same number of data block groups as the number of data storage devices.
KR1020060074286A 2006-08-07 2006-08-07 Method for organizing RAID system having changeable storage KR100809300B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060074286A KR100809300B1 (en) 2006-08-07 2006-08-07 Method for organizing RAID system having changeable storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060074286A KR100809300B1 (en) 2006-08-07 2006-08-07 Method for organizing RAID system having changeable storage

Publications (2)

Publication Number Publication Date
KR20080013154A KR20080013154A (en) 2008-02-13
KR100809300B1 true KR100809300B1 (en) 2008-03-04

Family

ID=39340947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060074286A KR100809300B1 (en) 2006-08-07 2006-08-07 Method for organizing RAID system having changeable storage

Country Status (1)

Country Link
KR (1) KR100809300B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170099161A (en) * 2016-02-23 2017-08-31 에스케이텔레콤 주식회사 Methods for Providing Data Read or Write for Fast Data Reconstruction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040066638A (en) * 2003-01-20 2004-07-27 삼성전자주식회사 Parity Storing Method And Error block recovering Method In External Storage Sub-system
KR20060023933A (en) * 2004-09-10 2006-03-15 후지쯔 가부시끼가이샤 Apparatus, method and program for the control of storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040066638A (en) * 2003-01-20 2004-07-27 삼성전자주식회사 Parity Storing Method And Error block recovering Method In External Storage Sub-system
KR20060023933A (en) * 2004-09-10 2006-03-15 후지쯔 가부시끼가이샤 Apparatus, method and program for the control of storage

Also Published As

Publication number Publication date
KR20080013154A (en) 2008-02-13

Similar Documents

Publication Publication Date Title
US11899932B2 (en) Storage system having cross node data redundancy and method and computer readable medium for same
KR101543369B1 (en) Parallel reed-solomon raid (rs-raid) architecture, device, and method
CN108696569A (en) The system and method that data replicate are provided in NVMe-oF Ethernets SSD
CN104052576B (en) Data recovery method based on error correcting codes in cloud storage
CN101692227B (en) Building method of large-scale and high-reliable filing storage system
CN103209210B (en) Method for improving erasure code based storage cluster recovery performance
US8464090B2 (en) Recovery of failed disks in an array of disks
CN104364765A (en) Method of data storing and maintenance in a distributed data storage system and corresponding device
CN103929500A (en) Method for data fragmentation of distributed storage system
CN101808012A (en) Data backup method in the cloud atmosphere
CN104536698A (en) Disk reconfiguration method based on RAID and related apparatus
CN110383251A (en) Storage system, computer readable recording medium, the control method of system
CN107729536A (en) A kind of date storage method and device
CN110825543B (en) Method for quickly recovering data on fault storage device
US20060047660A1 (en) Computer system
KR100809300B1 (en) Method for organizing RAID system having changeable storage
CN110781024B (en) Matrix construction method of symmetrical partial repetition code and fault node repairing method
CN108536555B (en) Data access method based on BCube (n, b) data center
WO2018165943A1 (en) Storage controller, data processing chip, and data processing method
Li et al. Exploiting decoding computational locality to improve the I/O performance of an XOR-coded storage cluster under concurrent failures
CN110781025B (en) Symmetrical partial repetition code construction and fault node repairing method based on complete graph
CN109791472A (en) The data protection of cold storage system
CN110781163B (en) Heterogeneous part repeated code construction and fault node repairing method based on complete graph
CN103414588A (en) VTL backup method and VTL nodes
CN106020975A (en) Data operation method, device and system

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
LAPS Lapse due to unpaid annual fee