부분 접속 복구가 가능하고 중복 인코딩이 용이한 데이터 저장 방법 및 시스템
METHOD AND SYSTEM FOR STORING DATA LOCALLY REPAIRABLE AND EFFICIENT MULTIPLE ENCODING
특허 요약
부분 접속 복구가 가능하고 중복 인코딩이 용이한 데이터 저장 방법 및 시스템을 제공한다. 일실시예에 따른 데이터 저장 방법은, 데이터 블록의 생성을 위한 MХM(상기 M은 자연수) 크기의 제1 행렬, 로컬 패리티 블록의 생성을 위해 모든 원소의 값이 1을 갖는 1ХM 크기의 제2 행렬 및 글로벌 패리티 블록의 생성을 위해 동일한 원소집합으로부터 순서를 변경하여 각 열을 구성한 대칭(symmetric) 행렬인 MХM 크기의 제3 행렬로 구성되는 NХM(상기 N은 자연수) 크기의 인코딩 행렬을 n(상기 n은 자연수)개 생성하는 단계; 상기 생성된 n 개의 인코딩 행렬을 복수의 그룹으로 분류하여 배치하는 단계; 제1 그룹의 원본 데이터를 제1 그룹으로 분류된 인코딩 행렬 중 제1 인코딩 행렬로 인코딩시켜 상기 제1 행렬을 통한 데이터 블록, 상기 제2 행렬을 통한 로컬 패리티 블록 및 상기 제3 행렬을 통한 글로벌 패리티 블록을 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 생성된 글로벌 패리티 블록을 상기 제1 인코딩 행렬과는 다른 제2 인코딩 행렬의 글로벌 패리티 블록과 병합하는 단계를 포함할 수 있다.
청구항
번호청구항
6

제1항에 있어서,상기 제1 그룹에서 데이터 블록과 해당 데이터 블록의 로컬 패리티 블록을 포함하는 제1 블록그룹 내에서, 또는 로컬 패리티 블록과 글로벌 패리티 블록을 포함하는 제2 블록그룹 내에서 하나의 블록만이 소실된 경우, 상기 제1 블록그룹에 남은 블록들 또는 상기 제2 블록그룹에 남은 블록들을 이용하여 소실된 블록을 포함하는 원본 데이터를 복구하는 단계를 더 포함하는 데이터 저장 방법.

1

적어도 하나의 프로세서를 포함하는 컴퓨터 장치가 수행하는 데이터 저장 방법에 있어서,상기 적어도 하나의 프로세서에 의해, 데이터 블록의 생성을 위한 MХM(상기 M은 자연수) 크기의 제1 행렬, 로컬 패리티 블록의 생성을 위해 모든 원소의 값이 1을 갖는 1ХM 크기의 제2 행렬 및 글로벌 패리티 블록의 생성을 위해 동일한 원소집합으로부터 순서를 변경하여 각 열을 구성한 대칭(symmetric) 행렬인 MХM 크기의 제3 행렬로 구성되는 NХM(상기 N은 자연수) 크기의 인코딩 행렬을 n(상기 n은 자연수)개 생성하는 단계;상기 적어도 하나의 프로세서에 의해, 상기 생성된 n 개의 인코딩 행렬을 복수의 그룹으로 분류하여 배치하는 단계;상기 적어도 하나의 프로세서에 의해, 제1 그룹의 원본 데이터를 제1 그룹으로 분류된 인코딩 행렬 중 제1 인코딩 행렬로 인코딩시켜 상기 제1 행렬을 통한 데이터 블록, 상기 제2 행렬을 통한 로컬 패리티 블록 및 상기 제3 행렬을 통한 글로벌 패리티 블록을 생성하는 단계; 및상기 적어도 하나의 프로세서에 의해, 상기 생성된 글로벌 패리티 블록을 상기 제1 인코딩 행렬과는 다른 제2 인코딩 행렬의 글로벌 패리티 블록과 병합하는 단계를 포함하는 데이터 저장 방법.

2

제1항에 있어서,상기 제2 인코딩 행렬은 상기 제1 그룹으로 분류된 인코딩 행렬 중 하나인, 데이터 저장 방법.

3

제1항에 있어서,상기 제2 인코딩 행렬은 상기 제1 그룹과는 다른 제2 그룹으로 분류된 인코딩 행렬 중 하나인, 데이터 저장 방법.

4

제1항에 있어서,상기 병합하는 단계는,상기 생성된 글로벌 패리티 블록에 대응하는 행렬과 상기 제2 인코딩 행렬의 글로벌 패리티 블록에 대응하는 행렬간의 배타적 논리합(XOR) 연산을 처리하는, 데이터 저장 방법.

5

제1항에 있어서,기설정된 횟수만큼 병합이 완료되는 경우, 병합에 사용된 글로벌 패리티 블록을 삭제하는 단계를 더 포함하는 데이터 저장 방법.

7

제6항에 있어서,상기 원본 데이터를 복구하는 단계는,상기 제1 블록그룹에서 하나의 데이터 블록 또는 하나의 로컬 패리티 블록이 소실된 경우, 상기 제1 블록그룹에 남은 블록들간의 배타적 논리합(XOR) 연산을 통해 원본 데이터를 복구하고, 상기 제2 블록그룹에서 하나의 로컬 패리티 블록이 소실된 경우, 상기 제2 블록그룹에 남은 로컬 패리티 블록들 각각에 특정 계수 ci를 곱한 값과 상기 제2 블록그룹에 남은 글로벌 패리티 블록들간의 배타적 논리합(XOR) 연산에 기초하여 원본 데이터를 복구하고,상기 특정 계수 ci는 상기 제3 행렬의 원소들간의 배타적 논리합(XOR) 연산에 기초하여 계산되는, 데이터 저장 방법.

8

제6항에 있어서,상기 원본 데이터를 복구하는 단계는,상기 제2 블록그룹에서 하나의 글로벌 패리티 블록이 소실된 경우, 상기 제2 블록그룹에 남은 로컬 패리티 블록들 각각에 특정 계수 ci를 곱한 값과 상기 제2 블록그룹에 남은 글로벌 패리티 블록들간의 배타적 논리합(XOR) 연산에 기초하여 원본 데이터를 복구하고,상기 특정 계수 ci는 상기 제3 행렬의 원소들간의 배타적 논리합(XOR) 연산에 기초하여 계산되는, 데이터 저장 방법.

9

제1항에 있어서,상기 제1 그룹 및 상기 제2 인코딩 행렬이 분류된 제2 그룹 중 적어도 하나에서 부분접속 복구가 불가능하도록 블록이 소실된 경우, (n, k(상기 k는 자연수)) 이레이저 코드의 디코딩을 이용하여 원본 데이터를 복구하는 단계를 더 포함하는 데이터 저장 방법.

10

제9항에 있어서,상기 원본 데이터를 복구하는 단계는,상기 제1 그룹에서 로컬 패리티 블록이 모두 남아 있는 경우, 상기 로컬 패리티 블록간의 배타적 논리합(XOR) 연산의 결과블록을 추가적인 글로벌 패리티 블록으로 이용하여 상기 (n, k) 이레이저 코드의 디코딩을 처리하는, 데이터 저장 방법.

11

컴퓨터 장치와 결합되어 제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.

12

제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위한 컴퓨터 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체.

13

컴퓨터 장치에 있어서,상기 컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서에 의해,데이터 블록의 생성을 위한 MХM(상기 M은 자연수) 크기의 제1 행렬, 로컬 패리티 블록의 생성을 위해 모든 원소의 값이 1을 갖는 1ХM 크기의 제2 행렬 및 글로벌 패리티 블록의 생성을 위해 동일한 원소집합으로부터 순서를 변경하여 각 열을 구성한 대칭(symmetric) 행렬인 MХM 크기의 제3 행렬로 구성되는 NХM(상기 N은 자연수) 크기의 인코딩 행렬을 n(상기 n은 자연수)개 생성하고,상기 생성된 n 개의 인코딩 행렬을 복수의 그룹으로 분류하여 배치하고,제1 그룹의 원본 데이터를 제1 그룹으로 분류된 인코딩 행렬 중 제1 인코딩 행렬로 인코딩시켜 상기 제1 행렬을 통한 데이터 블록, 상기 제2 행렬을 통한 로컬 패리티 블록 및 상기 제3 행렬을 통한 글로벌 패리티 블록을 생성하고,상기 적어도 하나의 프로세서에 의해, 상기 생성된 글로벌 패리티 블록을 상기 제1 인코딩 행렬과는 다른 제2 인코딩 행렬의 글로벌 패리티 블록과 병합하는,컴퓨터 장치.

14

제13항에 있어서,상기 제2 인코딩 행렬은 상기 제1 그룹으로 분류된 인코딩 행렬 중 하나인, 컴퓨터 장치.

15

제13항에 있어서,상기 제2 인코딩 행렬은 상기 제1 그룹과는 다른 제2 그룹으로 분류된 인코딩 행렬 중 하나인, 컴퓨터 장치.

16

제13항에 있어서,상기 적어도 하나의 프로세서에 의해,상기 생성된 글로벌 패리티 블록에 대응하는 행렬과 상기 제2 인코딩 행렬의 글로벌 패리티 블록에 대응하는 행렬간의 배타적 논리합(XOR) 연산을 처리하여 글로벌 패리티 블록을 병합하는, 컴퓨터 장치.

17

제13항에 있어서,상기 적어도 하나의 프로세서에 의해,기설정된 횟수만큼 병합이 완료되는 경우, 병합에 사용된 글로벌 패리티 블록을 삭제하는, 컴퓨터 장치.

18

제13항에 있어서,상기 적어도 하나의 프로세서에 의해,상기 제1 그룹에서 데이터 블록과 해당 데이터 블록의 로컬 패리티 블록을 포함하는 제1 블록그룹 내에서, 또는 로컬 패리티 블록과 글로벌 패리티 블록을 포함하는 제2 블록그룹 내에서 하나의 블록만이 소실된 경우, 상기 제1 블록그룹에 남은 블록들 또는 상기 제2 블록그룹에 남은 블록들을 이용하여 소실된 블록을 포함하는 원본 데이터를 복구하는, 컴퓨터 장치.

19

제13항에 있어서,상기 적어도 하나의 프로세서에 의해,상기 제1 그룹 및 상기 제2 인코딩 행렬이 분류된 제2 그룹 중 적어도 하나에서 부분접속 복구가 불가능하도록 블록이 소실된 경우, (n, k(상기 k는 자연수)) 이레이저 코드의 디코딩을 이용하여 원본 데이터를 복구하는, 컴퓨터 장치.