KR100809300B1 - Method for organizing RAID system having changeable storage - Google Patents
Method for organizing RAID system having changeable storage Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- 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
도 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 시스템이 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 시스템은 시스템을 처음 구성할 때 시스템을 구성하는 저장장치의 개수가 미리 정해져야 하고, 한번 개수가 정해지면 바꿀 수 없는 문제점이 있다. 예를 들어, 종래에는 하나의 데이터 저장장치가 고장난 경우 고장난 데이터 저장장치를 다른 추가적인 저장장치로 교체하여 패러티 저장장치를 이용하여 데이터를 복구하였다. 그러나 추가적인 저장장치를 교체할 수 없는 경우에 고장난 저장장치를 제외한 남은 저장장치로 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
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
데이터는 저장장치에 저장될 때 여러 블록으로 나뉘어져 저장된다. 도 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
저장장치 5에는 패러티 블록(115b)이 저장된다. 패러티 블록(115b)은 각 행 의 데이터 블록(115a)들로부터 계산된 것으로 데이터 블록(115a)에 오류가 생겼을 때 데이터를 복구하기 위해 저장되는 데이터이다. 여기서 각 행이라 함은 저장장치의 물리적인 위치에 의한 행을 의미하는 것이 아니라, 데이터 블록(115a)들이 저장장치 1, 저장장치 2, 저장장치 3, 저장장치 4에 각각 순차적으로 입력되었을 때 각 저장장치에 저장된 데이터 블록(115a)의 그룹을 의미한다. 도면에서는 데이터블록 1, 2, 3, 4와 5, 6, 7, 8과 9, 10, 11, 12는 각각 같은 행에 있다고 할 수 있다. 저장장치 5의 는 같은 행에 있는 데이터 블록(115a) 1, 2, 3, 4로부터 계산된 패러티 데이터가 저장된 패러티 블록(115b)이다. 저장장치 3이 고장났을 때, 저장장치 3에 저장되었던 데이터 블록(115a)의 값은 각 행에 있는 데이터 블록(115a)과 패러티 블록(115b)으로부터 복구될 수 있다. 예를 들어 첫 번째 행의 경우 데이터 블록(115a) 1, 2, 4와 패러티 블록(115b) 로부터 데이터 블록(115a) 3을 복구할 수 있는 것이다. The
종래에는 저장장치가 고장났을 때, 다른 저장장치로 교체하여 전술한 바와 같이 복구된 데이터를 저장하여 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
저장장치 중 하나가 고장나거나 사용자에 의해 이탈되는 등 기존 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) 을 생성하여 저장한다. 저장장치 3, 저장장치 4의 경우도 마찬가지로 하여 패러티 블록(115b)을 생성한다. 도 4에서는 본 단계((a)단계)를 거쳐 각 저장장치에 패러티 블록(115b) , , 이 생 성되는 것을 도시하고 있다. 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
다음, 저장장치가 하나 제거되면서 기존의 가로방향으로 데이터가 세로방향으로 저장되도록 데이터 블록(115a)과 패러티 블록(115b)을 각 데이터 저장장치(110a)로 전송한다(S120)((b) 단계). 이때, 같은 행에 있는 데이터 블록(115a)과 패러티 블록(115b)이 하나의 데이터 저장장치(110a)에 위치하도록 한다. 예를 들어 도 3과 같이 첫 번째 행에 있는 데이터 블록(115a) 1, 2, 3, 4 와 패러티 블록(115b) 가 같은 저장장치에 위치할 수 있도록 데이터를 전송시킨다. 도면에서는 저장장치 2로 이송되었음을 알 수 있다. 이때, 데이터 블록(115a) 1은 저장장치 1이 제거되었으므로 전송시킬 수 없고, 데이터 블록(115a) 2는 저장장치 1이 제거되기 전에 미리 저장장치 2에 위치하였으므로 전송시킬 필요가 없다. 따라서, 도 3의 상부 블록들의 움직임을 도시한 화살표와 같이 저장장치 2에는 데이터 블록(115a) 3과 4가 각각 저장장치 3과 저장장치 4로부터 전송된다. 이때, 같은 행에 있던 패러티 블록(115b) 도 데이터 블록(115a)들과 같은 저장장치에 위치하도록 저장장치 5로부터 저장장치 2로 전송된다. 따라서 저장장치 2에는 기존에 있던 데이터 블록(115a) 2와 전송된 데이터 블록(115a) 3, 4와 전송된 패러티 블록(115b)가 존재하게 된다. 물론 전술한 단계(S110)에서 생성된 패러티 블록(115b) 도 존재하게 된다. 이때, 데이터 블록(115a) 1은 후술할 단계(S130)에서 복구된다. 나머지 저장장치에서도 전술한 바와 같이 다른 저장장치로부터 데이터 블록(115a)과 패러티 블록(115b)들이 전송된다. 도 3의 상단에 있는 블록의 이동을 도시한 화살표에서는 각 저장장치에서 데이터 블록(115a)과 패러티 블록(115b)의 전송을 보여주고 있다. Next, the
다음, 각 저장장치에서는 데이터 블록(115a)과 패러티 블록(115b)을 이용하여 제거된 저장장치에 있었던 데이터 블록(115a)을 복구한다(S130)((c) 단계). 예를 들어 저장장치 2에는 전술한 단계(S120)를 거쳐 데이터 블록(115a) 2, 3, 4 와 패러티 블록(115b) 가 존재하게 되는데, 이로부터 데이터 블록(115a) 1을 복구할 수 있다. 데이터 블록(115a)을 복구한 후 패러티 블록(115b) 는 삭제할 수 있다. Next, each storage device recovers the
도 4 에서는 전술한 단계((b), (c)단계)를 거쳐 데이터 블록(115a)들이 저장된 모습을 도시하고 있는데, 저장장치가 제거되기 전 가로로 배열되었던 데이터 블록(115a)들이 각 저장장치에서 세로로 배열됨을 알 수 있다. In FIG. 4, the
다음, 전술한 단계(S110)에서 생성된 패러티 블록(115b)과 전술한 단계(S140)에서 복구된 데이터 블록(115a)을 패러티 저장장치(110b)로 전송한다(S140)((d) 단계). 이때, 복구된 데이터 블록(115a)을 복사하여 패러티 저장장치(110b)로 전송함으로써 복구된 데이터 블록(115a)이 각 데이터 저장장치(110a)에 남아 저장될 수 있도록 한다. 저장장치 2에서는 (a) 단계에서 생성된 와 (c) 단계에서 복구한 데이터 블록(115a) 1을 저장장치 5로 전송한다. 다른 저장장치에서도 이와 마찬가지로 생성된 패러티 블록(115b)과 복구된 데이터 블록(115a)을 전송하는데, 이는 도 3의 아래에 있는 블록의 이송을 도시한 화살표에 잘 나타나 있 다. Next, the
다음, 전술한 (d) 단계에서 전송된 복구된 데이터 블록(115a)들의 패러티 블록(115b)을 생성한다(S150)((e) 단계). 도 3에서 저장장치 2로부터 데이터 블록(115a) 1이, 저장장치 3으로부터 데이터 블록(115a) 5가, 저장장치 4로부터 데이터 블록(115a) 9가 복구되어 저장장치 5로 전송되는데, 데이터 블록(115a) 1, 5, 9로부터 패러티 블록(115b) 를 계산하여 생성한다. 본 발명에 따라 기존의 가로로 배열된 데이터 블록(115a)들을 세로로 배열함에 따라서 첫 번째 행에는 데이터 블록(115a) 1, 5, 9 가 위치하게 된다. 따라서 첫 번째 행의 데이터 블록(115a)에 해당하는 패러티 블록(115b) 를 저장장치 5에 위치시킨다. 나머지 두 번째 행의 데이터 블록(115a) 2, 6, 10, 세 번째 행의 데이터 블록(115a) 3, 7, 11 등의 패러티 블록(115b)은 (a)단계에서 생성된 패러티 블록(115b) , 등이 저장장치 5로 전송되어 별도의 계산과정 없이 전송되어 해당 위치에 저장될 수 있다. 기존의 저장장치 1이 제거되기 전에 저장장치 5에 존재하던 패러티 블록(115b)들은 삭제되고 전술한 바와 같이 새로운 패러티 블록(115b)으로 교체될 것이다.Next, a
최종적으로 전술한 단계((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
도 5는 데이터 저장장치(110a)가 제거되기 전과 마찬가지로 데이터 블 록(115a)을 가로로 배열하였을 때 데이터 블록(115a)들의 이동을 보여주는 도면이다. FIG. 5 is a view illustrating movement of
데이터 저장장치(110a) 중 하나가 제거되었을 때 다른 저장장치의 추가 없이 남은 저장장치로 새로이 RAID 시스템을 구성한다고 할 때, 전술한 바와 같이 데이터 블록(115a)을 각 저장장치에 세로로 배열하지 않고 저장장치가 제거되기 전과 마찬기지로 데이터 블록(115a)을 가로로 배열하는 방법을 고려할 수 있다. 도 5는 이때의 데이터 블록(115a)들의 이동을 보여준다. 본 방법에 따르면, 도면에서와 같이 모든 데이터 블록(115a)들은 패러티 저장장치(110b)로 전송된다. 패러티 저장장치(110b)에서 삭제된 데이터 블록(115a)들을 복구하고 패러티 블록(115b)을 다시 계산하여 생성한다. 이후 저장장치로 전송된 데이터 블록(115a) 중 일부(예를 들어 데이터 블록(115a) 10의 경우는 기존에 저장장치 2에 존재하였으므로 저장장치 5에서 별도로 저장장치 2로 전송할 필요가 없다.)와 복구된 데이터 블록(115a)을 해당 저장장치에 저장될 수 있도록 전송한다. When one of the
도 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
따라서, 도 5와 같이 기존과 같이 가로로 데이터 블록(115a)을 구성하면 모든 패러티 블록(115b)을 다시 계산해야 하며, 모든 데이터를 시스템에 맞게 재구성해야 하므로 시스템 구축을 위한 네트워크 비용이 매우 커지게 된다. 본 발명은 블록들의 이동량을 최소화하면서 RAID 시스템을 재구성할 수 있는 방법을 제시함을 알 수 있다. Therefore, when the
도 6은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 제거되었을 때 데이터와 패러티 블록(115b)들의 이동을 보여주는 도면이다. FIG. 6 is a diagram illustrating movement of data and parity blocks 115b when one
도 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에서 의 패러티 블록(115b)을 생성하는 것이 아니라 데이터 저장장치(110a)의 개수와 동일한 개수인 2개의 데이터 블록(115a)들에 대하여 패러티 블록(115b)을 생성한다. 즉, 저장장치 2에서는 와 두 개의 패러티 블록(115b)을 생성한다. 이후, 블록들의 전송을 거쳐 데이터 블록(115a) 1, 7이 저장장치 2에서 복구되고, 데이터 블록(115a) 4, 10이 저장장치 3에서 복구된다. 복구된 데이터 블록(115a) 1, 7, 4, 10과 생성된 패러티 블록(115b) , , , 는 패러티 저장장치(110b)인 저장장치 4로 전송된다. 패러티 저장장치(110b)로 전송된 복구된 데이터 블록(115a) 1, 7, 4, 10으로부터 패러티 블록(115b) , 을 생성한다. Unlike FIG. 3, FIG. 6 illustrates a case where the number of
도 7은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 추가되었을 때 RAID 시스템을 구성하는 방법의 순서도이고, 도 8은 본 발명의 일 실시예에 따른 데이터 저장장치(110a)가 하나 추가되었을 때 데이터 블록(115a)들의 이동을 보여주는 도면이다. 7 is a flowchart illustrating a method of configuring a RAID system when one
저장장치가 추가되는 경우에는 저장장치가 제거되는 경우와 거의 비슷하나, 제거된 데이터 블록(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
저장장치 중 하나가 추가될 때, 먼저 각 데이터 저장장치(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) 을 생성하여 저장한다. 저장장치 2, 저장장치 3의 경우도 마찬가지로 하여 패러티 블록(115b)을 생성한다. When one of the storage devices is added, first, a
다음, 저장장치가 하나 추가되면서 기존의 데이터 저장장치(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
다음, 전술한 단계(S210)에서 생성된 패러티 블록(115b)을 패러티 저장장치(110b)로 전송한다(S230). 저장장치 1에서는 생성된 패러티 블록(115b) , 저장장치 2에서는 생성된 패러티 블록(115b) , 저장장치 3에서는 생성된 패러티 블록(115b) 을 패러티 저장장치(110b)인 저장장치 4로 전송한다. 이는 도 8의 아래에 있는 블록의 이송을 도시한 화살표에 잘 나타나 있다. Next, the
본 발명에 따라 기존의 가로로 배열된 데이터 블록(115a)들을 세로로 배열함에 따라서 첫 번째 행에는 데이터 블록(115a) 1, 4, 7, 10이 위치하게 된다. 따라서 첫 번째 행의 데이터 블록(115a)에 해당하는 패러티 블록(115b) 을 저장장 치 4에 위치시킨다. 은 별로로 계산할 필요가 없고 전술한 바와 같이 저장장치 1에서 생성되어 전송된 패러티 블록(115b)을 저장한다. 나머지 행의 패러티 블록(115b)도 마찬가리도 전송된 패러티 블록(115b)이 저장된다. 기존의 저장장치 5가 추가되기 전에 저장장치 4에 존재하던 패러티 블록(115b)들은 삭제되고 전송된 새로운 패러티 블록(115b)으로 교체될 것이다.According to the present invention, as the horizontally arranged
저장장치가 제거되는 경우와 마찬가지로, 패러티 저장장치(110b)에 있는 패러티 블록(115b)들의 개수에 비해 데이터 저장장치(110a)의 개수가 적은 경우에, 각 데이터 저장장치(110a)에 저장된 데이터 블록(115a)들의 패러티 블록(115b)을 생성할 때(S210), 데이터 저장장치(110a)의 개수와 동일한 개수의 데이터 블록(115a) 그룹들에 대하여 패러티 블록(115b)을 생성한다. As in the case where the storage device is removed, when the number of
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.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)
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)
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)
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 |
-
2006
- 2006-08-07 KR KR1020060074286A patent/KR100809300B1/en not_active IP Right Cessation
Patent Citations (2)
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 |