KR101566467B1 - 데이터 복원을 용이하게 하기 위한 트리플 패리티 인코딩 - Google Patents
데이터 복원을 용이하게 하기 위한 트리플 패리티 인코딩 Download PDFInfo
- Publication number
- KR101566467B1 KR101566467B1 KR1020147011826A KR20147011826A KR101566467B1 KR 101566467 B1 KR101566467 B1 KR 101566467B1 KR 1020147011826 A KR1020147011826 A KR 1020147011826A KR 20147011826 A KR20147011826 A KR 20147011826A KR 101566467 B1 KR101566467 B1 KR 101566467B1
- Authority
- KR
- South Korea
- Prior art keywords
- parity
- row
- diagonal
- storage devices
- diagonal parity
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2918—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2921—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
도 1은 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하기 위한 예시적인 시스템을 도시하고;
도 2는 복원 관리기에 대한 예시적인 아키텍처의 블록도를 도시하고;
도 3a 내지 3d는 저장 어레이에 대한 트리플 패리티 인코딩과 연관된 예시적인 패리티 테이블을 예시하고;
도 4는 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하기 위한 예시적인 방법의 흐름도이고;
도 5는 예시적인 컴퓨터 프로그램 제품의 블록도를 도시하며;
도 6은 예시적인 컴퓨팅 장치를 도시하고, 모두 본 개시의 적어도 일부 실시예에 따라 배열된다.
Claims (53)
- 복수의 데이터 저장 장치, 제1 로우 패리티 저장 장치(row parity storage device), 제2 로우 패리티 저장 장치, 제1 사선 패리티 저장 장치(diagonal parity storage device) 및 제2 사선 패리티 저장 장치를 포함하는 복수의 저장 장치를 가지는 저장 어레이(storage array)와 연관된 실패(failure)로부터의 복원을 용이하게 하기 위한 방법으로서,
상기 복수의 데이터 저장 장치에 대한 제1 로우 패리티를 결정하는 단계 - 상기 제1 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고(span) 상기 제1 로우 패리티 저장 장치 상에 저장됨 -;
제1 사선 패리티 세트를 따라 제1 사선 패리티를 결정하는 단계 - 상기 제1 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제1 사선 패리티는 상기 제1 사선 패리티 저장 장치 상에 저장됨-;
제2 사선 패리티 세트를 따라 제2 사선 패리티를 결정하는 단계 - 상기 제2 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제2 사선 패리티는 상기 제2 사선 패리티 저장 장치 상에 저장됨-; 및
상기 복수의 데이터 저장 장치에 대하여 제2 로우 패리티를 결정하는 단계
를 포함하고,
상기 제2 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제2 로우 패리티 저장 장치 상에 저장되고,
상기 제2 로우 패리티의 하나 이상의 로우(row)의 적어도 일부는 상기 복수의 데이터 저장 장치의 일부에 기초하여 결정된 제2 로우 패리티를 포함하는, 방법. - 제1항에 있어서,
상기 복수의 저장 장치는 n 개의 데이터 저장 장치를 포함하고, n=p-1이고 p는 3 보다 큰 소수(prime number)인, 방법. - 제2항에 있어서,
상기 복수의 저장 장치 각각을 청크(chunk)로 분할하는 단계; 및
상기 복수의 저장 장치 각각을 각 저장 장치 내 동일한 수의 청크를 포함하는 스트라이프(stripe)로 구성(organizing)하는 단계
를 더 포함하고,
상기 복수의 저장 장치 각각은 (p-1)2 청크로 스트라이핑(striping)되는, 방법. - 제3항에 있어서,
상기 제1 로우 패리티 및 상기 제2 로우 패리티를 결정하는 단계는, (p-1)2 로우를 별도로 포함하는 결정된 제1 로우 패리티 및 결정된 제2 로우 패리티에 적어도 부분적으로 기초하여 별도로 정의되는 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 포함하는, 방법. - 제4항에 있어서,
상기 제1 사선 패리티 세트를 따라 상기 제1 사선 패리티를 결정하는 단계는, 주어진 스트라이프의 각 제1 사선 패리티 세트에 속하는 모든 청크가 상기 주어진 스트라이프에 저장되도록, (p-1)2 로우 내에서 둘러싸는 상기 제1 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제1 사선 패리티를 포함하는, 방법. - 제5항에 있어서,
상기 제2 사선 패리티 세트를 따라 상기 제2 사선 패리티를 결정하는 단계는, 주어진 스트라이프의 각 제2 사선 패리티 세트에 속하는 모든 청크가 상기 주어진 스트라이프에 저장되도록, 상기 (p-1)2 로우 내에 부분적으로 둘러싸는 상기 제2 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제2 사선 패리티를 포함하는, 방법. - 제6항에 있어서,
상기 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하는 것은, 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값을 이용하는 제1 로우-사선 패리티(RDP) 기법의 구현을 가능하게 하는 것 및 이후 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 기법의 구현을 가능하게 하는 것을 포함하는, 방법. - 제3항에 있어서,
상기 복수의 저장 장치 각각은 RAID (Redundant Array of Independent Disks) 기법에 따라 스트라이핑되는, 방법. - 제1항에 있어서,
상기 복수의 저장 장치는 하드 디스크 드라이브, 솔리드 스테이트 디스크 드라이브, 직접 접근 저장 장치(direct access storage device), 자기 테이프, 버블 메모리(bubble memory), 광학 저장 매체, 전자 임의 접근 또는 디지털 다용도 디스크 중 적어도 하나를 포함하는, 방법. - 제1항에 있어서,
상기 저장 어레이와 연관된 실패는 상기 복수의 저장 장치 중 하나 이상에서의 실패 또는 상기 복수의 저장 장치 중 하나 이상과 연관된 체크섬 에러(checksum error)의 조합(combination)을 포함하는 상기 저장 장치 어레이와 연관된 3 개의 동시 실패를 포함하는, 방법. - 복수의 데이터 저장 장치, 제1 로우 패리티 저장 장치, 제2 로우 패리티 저장 장치, 제1 사선 패리티 저장 장치 및 제2 사선 패리티 저장 장치를 포함하는 복수의 저장 장치를 가지는 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하는 장치로서,
로직을 가지는 복원 관리기(recovery manager)를 포함하고,
상기 로직은
상기 복수의 데이터 저장 장치에 대한 제1 로우 패리티를 결정하고 - 상기 제1 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제1 로우 패리티 저장 장치 상에 저장됨 -;
제1 사선 패리티 세트를 따라 제1 사선 패리티를 결정하고 - 상기 제1 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제1 사선 패리티는 상기 제1 사선 패리티 저장 장치 상에 저장됨 -;
제2 사선 패리티 세트를 따라 제2 사선 패리티를 결정하고 - 상기 제2 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제2 사선 패리티는 상기 제2 사선 패리티 저장 장치 상에 저장됨 -; 및
상기 복수의 데이터 저장 장치에 대한 제2 로우 패리티를 결정하도록 구성되고,
상기 제2 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제2 로우 패리티 저장 장치 상에 저장되고, 상기 제2 로우 패리티의 하나 이상의 로우의 적어도 일부는 상기 복수의 데이터 저장 장치의 일부에 기초하여 결정된 제2 로우 패리티를 포함하는, 장치. - 제11항에 있어서,
상기 복수의 저장 장치는 n 개의 데이터 저장 장치를 포함하고, n=p-1이고 p는 3 보다 큰 소수인, 장치. - 제12항에 있어서, 상기 로직은,
상기 복수의 저장 장치 각각을 청크로 분할하고,
상기 복수의 저장 장치 각각을 각각의 저장 장치와 동일한 수의 청크를 포함하는 스트라이프로 구성하도록 더 구성되며,
상기 복수의 저장 장치 각각은 (p-1)2 청크로 스트라이핑되는, 장치. - 제13항에 있어서,
상기 제1 로우 패리티 및 상기 제2 로우 패리티를 결정하는 것은, (p-1)2 로우를 개별로 포함하는 결정된 제1 로우 패리티 및 결정된 제2 로우 패리티에 적어도 부분적으로 기초하여 개별로 정의되는 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 포함하는, 장치. - 제14항에 있어서,
상기 제1 사선 패리티 세트를 따라 상기 제1 사선 패리티를 결정하는 것은, 주어진 스트라이프의 각 제1 사선 패리티 세트에 속하는 모든 청크가 상기 주어진 스트라이프에 저장되도록, (p-1)2 로우 내에 둘러싸는 상기 제1 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제1 사선 패리티를 포함하는, 장치. - 제15항에 있어서,
상기 제2 사선 패리티 세트를 따라 상기 제2 사선 패리티를 결정하는 것은, 주어진 스트라이프의 각 제2 사선 패리티 세트에 속하는 모든 청크가 상기 주어진 스트라이프에 저장되도록, 상기 (p-1)2 로우 내에 부분적으로 둘러싸는 상기 제2 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제2 사선 패리티를 포함하는, 장치. - 제16항에 있어서,
상기 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하는 것은, 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값을 이용하는 제1 로우-사선 패리티(RDP) 기법의 구현을 가능하게 하는 것 및 이후 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 기법의 구현을 가능하게 하는 것을 포함하는, 장치. - 제13항에 있어서,
상기 복수의 저장 장치 각각은 RAID (Redundant Array of Independent Disks) 기법에 따라 스트라이핑되는, 장치. - 제11항에 있어서,
상기 저장 어레이와 연관된 실패는 상기 복수의 저장 장치 중 하나 이상에서의 실패 또는 상기 복수의 저장 장치 중 하나 이상과 연관된 체크섬 에러(checksum error)의 조합을 포함하는 상기 저장 장치 어레이와 연관된 3 개의 동시 실패를 포함하는, 장치. - 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하기 위한 시스템으로서,
복수의 데이터 저장 장치, 제1 로우 패리티 저장 장치, 제2 로우 패리티 저장 장치, 제1 사선 패리티 저장 장치 및 제2 사선 패리티 저장 장치를 포함하는 복수의 저장 장치 및
로직을 가지는 복원 관리기를 포함하고,
상기 로직은
상기 복수의 데이터 저장 장치에 대한 제1 로우 패리티를 결정하고 - 상기 제1 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제1 로우 패리티 저장 장치 상에 저장됨 -;
제1 사선 패리티 세트를 따라 제1 사선 패리티를 결정하고 - 상기 제1 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제1 사선 패리티는 상기 제1 사선 패리티 저장 장치 상에 저장됨 -;
제2 사선 패리티 세트를 따라 제2 사선 패리티를 결정하고 - 상기 제2 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제2 사선 패리티는 상기 제2 사선 패리티 저장 장치 상에 저장됨 -; 및
상기 복수의 데이터 저장 장치에 대한 제2 로우 패리티를 결정하도록 구성되고,
상기 제2 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제2 로우 패리티 저장 장치 상에 저장되고, 상기 제2 로우 패리티의 하나 이상의 로우의 적어도 일부는 상기 복수의 데이터 저장 장치의 일부에 기초하여 결정된 제2 로우 패리티를 포함하는, 시스템. - 제20항에 있어서,
상기 복수의 저장 장치는 n 개의 데이터 저장 장치를 포함하고, n=p-1이고 p는 3 보다 큰 소수인, 시스템. - 제21항에 있어서, 상기 로직은,
상기 복수의 저장 장치 각각을 청크로 분할하고,
상기 복수의 저장 장치 각각을 각각의 저장 장치와 동일한 수의 청크를 포함하는 스트라이프로 구성하도록 더 구성되며,
상기 복수의 저장 장치 각각은 (p-1)2 청크로 스트라이핑되는, 시스템. - 제22항에 있어서,
상기 제1 로우 패리티 및 상기 제2 로우 패리티를 결정하는 것은, (p-1)2 로우를 개별로 포함하는 결정된 제1 로우 패리티 및 결정된 제2 로우 패리티에 적어도 부분적으로 기초하여 개별로 정의되는 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 포함하는, 시스템. - 제23항에 있어서,
상기 제1 사선 패리티 세트를 따라 상기 제1 사선 패리티를 결정하는 것은, 주어진 스트라이프의 각 제1 사선 패리티 세트에 속하는 모든 청크가 상기 주어진 스트라이프에 저장되도록, (p-1)2 로우 내에 둘러싸는 상기 제1 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제1 사선 패리티를 포함하는, 시스템. - 제24항에 있어서,
상기 제2 사선 패리티 세트를 따라 상기 제2 사선 패리티를 결정하는 것은, 주어진 스트라이프의 각 제2 사선 패리티 세트에 속하는 모든 청크가 상기 주어진 스트라이프에 저장되도록, 상기 (p-1)2 로우 내에 부분적으로 둘러싸는 상기 제2 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제2 사선 패리티를 포함하는, 시스템. - 제25항에 있어서,
상기 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하는 것은, 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값을 이용하는 제1 로우-사선 패리티(RDP) 기법의 구현을 가능하게 하는 것 및 이후 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 방법의 구현을 가능하게 하는 것을 포함하는, 시스템. - 제20항에 있어서,
상기 복수의 저장 장치 각각은 RAID (Redundant Array of Independent Disks) 기법에 따라 스트라이핑되는, 시스템. - 제20항에 있어서,
상기 복수의 저장 장치는 하드 디스크 드라이브, 솔리드 스테이트 디스크 드라이브, 직접 접근 저장 장치(direct access storage device), 자기 테이프, 버블 메모리(bubble memory), 광학 저장 매체, 전자 임의 접근 또는 디지털 다용도 디스크 중 적어도 하나를 포함하는, 시스템. - 복수의 데이터 저장 장치, 제1 로우 패리티 저장 장치, 제2 로우 패리티 저장 장치, 제1 사선 패리티 저장 장치 및 제2 사선 패리티 저장 장치를 포함하는 복수의 저장 장치를 가지는 저장 어레이와 연관된 실패로부터 복원을 용이하게 하기 위한 명령어를 가지는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령어는, 로직에 의하여 실행되면, 상기 로직으로 하여금,
상기 복수의 데이터 저장 장치에 대한 제1 로우 패리티를 결정하고 - 상기 제1 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제1 로우 패리티 저장 장치 상에 저장됨 -;
제1 사선 패리티 세트를 따라 제1 사선 패리티를 결정하고 - 상기 제1 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제1 사선 패리티는 상기 제1 사선 패리티 저장 장치 상에 저장됨 -;
제2 사선 패리티 세트를 따라 제2 사선 패리티를 결정하고 - 상기 제2 사선 패리티는 상기 제1 로우 패리티 저장 장치 및 상기 복수의 데이터 저장 장치 중 하나를 제외한 모두에 걸치고, 상기 결정된 제2 사선 패리티는 상기 제2 사선 패리티 저장 장치 상에 저장됨 -; 및
상기 복수의 데이터 저장 장치에 대한 제2 로우 패리티를 결정하도록 하고,
상기 제2 로우 패리티는 상기 복수의 데이터 저장 장치에 걸치고 상기 제2 로우 패리티 저장 장치 상에 저장되고, 상기 제2 로우 패리티의 하나 이상의 로우의 적어도 일부는 상기 복수의 데이터 저장 장치의 일부에 기초하여 결정된 제2 로우 패리티를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제29항에 있어서,
상기 복수의 저장 장치는 n 개의 데이터 저장 장치를 포함하고, n=p-1이고 p는 3 보다 큰 소수인, 비일시적 컴퓨터 판독가능 저장 매체. - 제30항에 있어서, 상기 로직은,
상기 복수의 저장 장치 각각을 청크로 분할하고,
상기 복수의 저장 장치 각각을 각각의 저장 장치와 동일한 수의 청크를 포함하는 스트라이프로 구성하도록 더 구성되며,
상기 복수의 저장 장치 각각은 (p-1)2 청크로 스트라이핑되는, 비일시적 컴퓨터 판독가능 저장 매체. - 제31항에 있어서,
상기 저장 어레이와 연관된 실패로부터의 복원을 용이하게 하는 명령어는, 상기 로직으로 하여금, 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값을 이용하는 제1 로우-사선 패리티(RDP) 기법의 구현을 가능하게 하고; 그리고 이후 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 방법의 구현을 더 가능하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제31항에 있어서,
상기 복수의 저장 장치 각각은 RAID (Redundant Array of Independent Disks) 기법에 따라 스트라이핑되는, 비일시적 컴퓨터 판독가능 저장 매체. - 저장 어레이의 데이터 복원을 용이하게 하기 위한 방법으로서,
스트라이핑 기법에 따라 복수의 저장 장치를 스트라이프로 구성하는 단계;
상기 스트라이핑 기법에 따라 제1 로우 패리티, 제2 로우 패리티, 제1 사선 패리티 및 제2 사선 패리티를 결정하는 단계;
상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티를 이용하는 제1 로우-사선 패리티(RDP) 기법을 구현하는 단계; 및
상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 기법을 구현하는 단계
를 포함하는 방법. - 제34항에 있어서,
상기 복수의 저장 장치는 n 개의 데이터 저장 장치를 포함하고, n=p-1이고 p는 3 보다 큰 소수(prime number)를 포함하는, 방법. - 제34항에 있어서,
상기 복수의 저장 장치 각각을 청크(chunk)로 분할하는 단계
를 더 포함하고, 그리고
상기 스트라이핑 기법은 상기 복수의 저장 장치 각각에서 동일한 수의 청크를 구성(organizing)하는 것을 포함하고,
상기 복수의 저장 장치 각각은 (p-1)2 청크로 스트라이핑(striping)되고, n=p-1이고 p는 3 보다 큰 소수(prime number)를 포함하는, 방법. - 제36항에 있어서,
상기 스트라이핑 기법에 따라 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 결정하는 것은 (p-1)2 로우를 별도로 포함하는 결정된 제1 로우 패리티 및 결정된 제2 로우 패리티에 적어도 부분적으로 기초하여 별도로 정의되는 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 포함하는, 방법. - 제36항에 있어서,
상기 복수의 저장 장치 각각은 RAID (Redundant Array of Independent Disks) 기법에 따라 스트라이핑되는, 방법 - 제37항에 있어서,
상기 제1 사선 패리티 세트를 따라 상기 제1 사선 패리티를 결정하는 것은, (p-1)2 로우 내에서 둘러싸는 상기 제1 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제1 사선 패리티를 포함하고, 주어진 스트라이프의 각 제1 사선 패리티 세트에 속하는 상기 청크는 상기 주어진 스트라이프에 저장되는, 방법. - 제39항에 있어서,
상기 제2 사선 패리티 세트를 따라 상기 제2 사선 패리티를 결정하는 것은, 상기 (p-1)2 로우 내에 부분적으로 둘러싸는 상기 제2 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제2 사선 패리티를 포함하고, 주어진 스트라이프의 각 제2 사선 패리티 세트에 속하는 상기 청크는 상기 주어진 스트라이프에 저장되는, 방법. - 제34항에 있어서,
상기 복수의 저장 장치는 하드 디스크 드라이브, 솔리드 스테이트 디스크 드라이브, 직접 접근 저장 장치, 자기 테이프, 버블 메모리, 광학 저장 매체, 전자 임의 접근 또는 디지털 다용도 디스크 중 적어도 하나를 포함하는, 방법. - 제34항에 있어서,
상기 데이터 복원과 연관된 실패는 상기 복수의 저장 장치 중 하나 이상에서의 실패 또는 상기 복수의 저장 장치 중 하나 이상과 연관된 체크섬 에러(checksum error)의 조합(combination)을 포함하는, 방법. - 스트라이핑 기법에 따라 복수의 저장 장치를 스트라이프로 구성하고;
상기 스트라이핑 기법에 따라 제1 로우 패리티, 제2 로우 패리티, 제1 사선 패리티 및 제2 사선 패리티를 결정하고;
상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티를 이용하는 제1 로우-사선 패리티(RDP) 기법을 구현하고; 및
상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 기법을 구현하도록 구성된 복원 관리기
를 포함하는 장치. - 제43항에 있어서,
상기 복수의 저장 장치는 n 개의 데이터 저장 장치를 포함하고, n=p-1이고 p는 3 보다 큰 소수인, 장치. - 제43항에 있어서,
상기 복원 관리기는
상기 복수의 저장 장치 각각을 청크(chunk)로 분할하도록 더 구성되고; 그리고
상기 스트라이핑 기법은 상기 복수의 저장 장치 각각에서 동일한 수의 청크를 구성하는 것을 포함하고,
상기 복수의 저장 장치 각각은 (p-1)2 청크로 스트라이핑되고, n=p-1이고 p는 3 보다 큰 소수인, 장치. - 제45항에 있어서,
상기 스트라이핑 기법에 따라 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 결정하는 것은, (p-1)2 로우를 별도로 포함하는 결정된 제1 로우 패리티 및 결정된 제2 로우 패리티에 적어도 부분적으로 기초하여 별도로 정의되는 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 포함하는, 장치. - 제45항에 있어서,
상기 복수의 저장 장치 각각은 RAID 기법에 따라 스트라이핑되는, 장치 - 제46항에 있어서,
상기 제1 사선 패리티 세트를 따라 상기 제1 사선 패리티를 결정하는 것은, (p-1)2 로우 내에서 둘러싸는 상기 제1 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제1 사선 패리티를 포함하고, 주어진 스트라이프의 각 제1 사선 패리티 세트에 속하는 상기 청크는 상기 주어진 스트라이프에 저장되는, 장치. - 제48항에 있어서,
상기 제2 사선 패리티 세트를 따라 상기 제2 사선 패리티를 결정하는 것은, 상기 (p-1)2 로우 내에 부분적으로 둘러싸는 상기 제2 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제2 사선 패리티를 포함하고, 주어진 스트라이프의 각 제2 사선 패리티 세트에 속하는 상기 청크는 상기 주어진 스트라이프에 저장되는, 장치. - 제43항에 있어서,
상기 복수의 저장 장치는 하드 디스크 드라이브, 솔리드 스테이트 디스크 드라이브, 직접 접근 저장 장치, 자기 테이프, 버블 메모리, 광학 저장 매체, 전자 임의 접근 또는 디지털 다용도 디스크 중 적어도 하나를 포함하는, 장치. - 제43항에 있어서,
데이터 복원과 연관된 실패는 상기 복수의 저장 장치 중 하나 이상에서의 실패 또는 상기 복수의 저장 장치 중 하나 이상과 연관된 체크섬 에러의 조합을 포함하는, 장치. - 저장 어레이의 데이터 복원을 용이하게 하기 위한 시스템으로서,
복수의 데이터 저장 장치, 제1 로우 패리티 저장 장치, 제2 로우 패리티 저장 장치, 제1 사선 패리티 저장 장치, 제2 사선 패리티 저장 장치 및 복원 관리기를 포함하고,
상기 복원 관리기는,
스트라이핑 기법에 따라 상기 복수의 저장 장치를 스트라이프로 구성하고;
상기 스트라이핑 기법에 따라 제1 로우 패리티, 제2 로우 패리티, 제1 사선 패리티 및 제2 사선 패리티를 결정하고;
상기 제1 로우 패리티와 연관된 하나 이상의 로우 패리티 값 및 상기 제1 사선 패리티와 연관된 하나 이상의 사선 패리티를 이용하는 제1 로우-사선 패리티(RDP) 기법을 구현하고; 및
상기 제2 사선 패리티와 연관된 하나 이상의 사선 패리티 값 및 상기 제2 로우 패리티와 연관된 하나 이상의 로우 패리티 값을 이용하는 제2 RDP 기법을 구현하도록 구성된, 시스템. - 제52항에 있어서,
상기 스트라이핑 기법에 따라 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 결정하는 것은 (p-1)2 로우를 별도로 포함하는 결정된 제1 로우 패리티 및 결정된 제2 로우 패리티에 적어도 부분적으로 기초하여 별도로 정의되는 상기 제1 로우 패리티 및 상기 제2 로우 패리티를 포함하고,
상기 제1 사선 패리티 세트를 따라 상기 제1 사선 패리티를 결정하는 것은, (p-1)2 로우 내에서 둘러싸는 상기 제1 사선 패리티 세트에 적어도 부분적으로 기초하여 정의되는 상기 제1 사선 패리티를 포함하고, 주어진 스트라이프의 각 제1 사선 패리티 세트에 속하는 청크는 상기 주어진 스트라이프에 저장되는, 시스템.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/081693 WO2013063777A1 (en) | 2011-11-02 | 2011-11-02 | Triple parity encoding to facilitate data recovery |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140074371A KR20140074371A (ko) | 2014-06-17 |
KR101566467B1 true KR101566467B1 (ko) | 2015-11-05 |
Family
ID=48191208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147011826A Expired - Fee Related KR101566467B1 (ko) | 2011-11-02 | 2011-11-02 | 데이터 복원을 용이하게 하기 위한 트리플 패리티 인코딩 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8645751B2 (ko) |
JP (1) | JP5993018B2 (ko) |
KR (1) | KR101566467B1 (ko) |
WO (1) | WO2013063777A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467094B2 (en) | 2016-03-04 | 2019-11-05 | Samsung Electronics Co., Ltd. | Method and apparatus for performing data recovery in a raid storage |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529675B2 (en) * | 2013-07-26 | 2016-12-27 | Huawei Technologies Co., Ltd. | Data recovery method, data recovery device and distributed storage system |
KR20160097657A (ko) | 2015-02-09 | 2016-08-18 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 그리고 그것의 동작 방법 |
CN106339179B (zh) * | 2015-07-06 | 2020-11-17 | 上海宝存信息科技有限公司 | 主机装置、存取系统、以及存取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1324200A2 (en) | 2001-12-28 | 2003-07-02 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US20050102470A1 (en) | 2003-11-11 | 2005-05-12 | Nec Corporation | Disk array device |
US7613984B2 (en) | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640484B2 (en) | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US7085953B1 (en) * | 2002-11-01 | 2006-08-01 | International Business Machines Corporation | Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array |
US6792391B1 (en) | 2002-11-15 | 2004-09-14 | Adeptec, Inc. | Method and system for three disk fault tolerance in a disk array |
US7093159B1 (en) * | 2002-12-12 | 2006-08-15 | Adaptec, Inc. | Method and system for four disk fault tolerance in a disk array |
US7353423B2 (en) * | 2004-09-24 | 2008-04-01 | International Business Machines Corporation | System and method for improving the performance of operations requiring parity reads in a storage array system |
US8990495B2 (en) * | 2011-11-15 | 2015-03-24 | Emc Corporation | Method and system for storing data in raid memory devices |
US8327185B1 (en) * | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
-
2011
- 2011-11-02 KR KR1020147011826A patent/KR101566467B1/ko not_active Expired - Fee Related
- 2011-11-02 WO PCT/CN2011/081693 patent/WO2013063777A1/en active Application Filing
- 2011-11-02 JP JP2014539202A patent/JP5993018B2/ja not_active Expired - Fee Related
- 2011-11-02 US US13/643,874 patent/US8645751B2/en not_active Expired - Fee Related
-
2014
- 2014-01-02 US US14/146,354 patent/US9223652B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1324200A2 (en) | 2001-12-28 | 2003-07-02 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US7613984B2 (en) | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
US20050102470A1 (en) | 2003-11-11 | 2005-05-12 | Nec Corporation | Disk array device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467094B2 (en) | 2016-03-04 | 2019-11-05 | Samsung Electronics Co., Ltd. | Method and apparatus for performing data recovery in a raid storage |
Also Published As
Publication number | Publication date |
---|---|
KR20140074371A (ko) | 2014-06-17 |
US8645751B2 (en) | 2014-02-04 |
US9223652B2 (en) | 2015-12-29 |
US20140115426A1 (en) | 2014-04-24 |
WO2013063777A1 (en) | 2013-05-10 |
US20130238929A1 (en) | 2013-09-12 |
JP5993018B2 (ja) | 2016-09-14 |
JP2015501491A (ja) | 2015-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2703991B1 (en) | Scalable storage protection | |
US8171379B2 (en) | Methods, systems and media for data recovery using global parity for multiple independent RAID levels | |
US8082465B1 (en) | Auto-adapting cache memory system and method | |
US9836369B2 (en) | Storage system to recover and rewrite overwritten data | |
US20190163587A1 (en) | Shared storage parity on raid | |
US8799745B2 (en) | Storage control apparatus and error correction method | |
US8732411B1 (en) | Data de-duplication for information storage systems | |
US20130227346A1 (en) | Controlling nonvolatile memory device and nonvolatile memory system | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
US8484506B2 (en) | Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality | |
US10503620B1 (en) | Parity log with delta bitmap | |
US11809274B2 (en) | Recovery from partial device error in data storage system | |
KR101566467B1 (ko) | 데이터 복원을 용이하게 하기 위한 트리플 패리티 인코딩 | |
US20190171523A1 (en) | Erased memory page reconstruction using distributed coding for multiple dimensional parities | |
US9280431B2 (en) | Prioritizing backups on a disk level within enterprise storage | |
EP3794451B1 (en) | Parity log with by-pass | |
US10740189B2 (en) | Distributed storage system | |
US9268640B1 (en) | Limiting data loss on parity RAID groups | |
US20160139991A1 (en) | Parity-layout generating method, parity-layout generating apparatus, and storage system | |
US11544005B2 (en) | Storage system and processing method | |
US9886344B2 (en) | Storage system and storage apparatus | |
CN111858133B (zh) | 用于通用evenodd编码的扩展 | |
US20220137829A1 (en) | Providing preferential treatment to metadata over user data | |
US20200363958A1 (en) | Efficient recovery of resilient spaces | |
CN106557268B (zh) | 一种存储数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0105 | International application |
Patent event date: 20140430 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20140430 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20150427 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20150813 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20151030 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20151102 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20190810 |