KR102347189B1 - Erasure Coding Method and Device for Irregular Error Situation - Google Patents

Erasure Coding Method and Device for Irregular Error Situation Download PDF

Info

Publication number
KR102347189B1
KR102347189B1 KR1020190169026A KR20190169026A KR102347189B1 KR 102347189 B1 KR102347189 B1 KR 102347189B1 KR 1020190169026 A KR1020190169026 A KR 1020190169026A KR 20190169026 A KR20190169026 A KR 20190169026A KR 102347189 B1 KR102347189 B1 KR 102347189B1
Authority
KR
South Korea
Prior art keywords
symbols
local parity
symbol
data
switched
Prior art date
Application number
KR1020190169026A
Other languages
Korean (ko)
Other versions
KR20210077414A (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 KR1020190169026A priority Critical patent/KR102347189B1/en
Publication of KR20210077414A publication Critical patent/KR20210077414A/en
Application granted granted Critical
Publication of KR102347189B1 publication Critical patent/KR102347189B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

비균일 소실 환경에 적합한 소실 부호화 방법 및 장치가 개시된다. 개시된 장치는, 분산 노드들에 저장되어 있으며 부호화할 데이터 심볼들의 소실 확률 균일성을 판단하는 소실 확률 균일성 판단부; 상기 복수의 데이터 심볼들의 소실 확률이 균일하지 않다고 판단되는 경우, 글로벌 패리티 심볼로부터 전환되는 전환 로컬 패리티 심볼의 수를 설정하는 전환 로컬 패리티 심볼 수 설정부; 상기 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정하는 데이터 심볼 할당부; 및 상기 할당된 데이터 심볼 및 패리티 생성 행렬을 이용하여 글로벌 패리티 심볼, 로컬 패리티 심볼 및 상기 전환 로컬 패리티 로컬 패리티 심볼의 값을 결정하는 패리티 심볼 생성부를 포함하되, 상기 전환 로컬 패리티 심볼의 로컬리티는 상기 로컬 패리티 심볼의 로컬리티에 비해 낮게 설정된다. 개시된 장치 및 방법에 의하면, 데이터 심볼들의 소실 확률이 비균일한 환경에서 복구 비용 및 복수 효율을 향상시킬 수 있는 장점이 있다. 데이터 심볼들의 소실 확률이 비균일한 환경에서 복구 비용 및 복수 효율을 향상시킬 수 있는 장점이 있다.Disclosed is a vanishing encoding method and apparatus suitable for a non-uniform vanishing environment. The disclosed apparatus includes: a loss probability uniformity determination unit which is stored in distributed nodes and determines the loss probability uniformity of data symbols to be encoded; a switched local parity symbol number setting unit configured to set the number of switched local parity symbols switched from global parity symbols when it is determined that the loss probability of the plurality of data symbols is not uniform; a data symbol allocator for determining a data symbol to be allocated to the switched local parity symbol; and a parity symbol generator for determining values of a global parity symbol, a local parity symbol, and a switched local parity local parity symbol by using the allocated data symbol and a parity generation matrix, wherein the locality of the switched local parity symbol is the It is set lower than the locality of the local parity symbol. According to the disclosed apparatus and method, there is an advantage in that recovery cost and plural efficiency can be improved in an environment in which the probability of loss of data symbols is non-uniform. There is an advantage in that recovery cost and plural efficiency can be improved in an environment in which the probability of loss of data symbols is non-uniform.

Description

비균일 소실 환경에 적합한 소실 부호의 부호화 방법 및 장치{Erasure Coding Method and Device for Irregular Error Situation}Erasure Coding Method and Device for Irregular Error Situation suitable for non-uniform loss environment

본 발명은 소실 부호화 방법 및 장치에 관한 것으로서, 더욱 상세하게는 분산 저장 장치의 비균일 소실 환경에 적합한 소실 부호화 방법 및 장치에 관한 것이다. The present invention relates to a vanishing encoding method and apparatus, and more particularly, to a vanishing encoding method and apparatus suitable for a non-uniform vanishing environment of a distributed storage device.

최근 빅데이터와 인공지능의 중요성이 증가함에 따라 대량의 데이터를 효율적으로 저장, 관리하는 클라우드 스토리지 시스템의 필요성이 매우 중요하게 대두되고 있다. 빅데이터를 다루는 스토리지 시스템에서 처리되는 데이터가 매우 크기 때문에 데이터의 크기에 유동적으로 적응할 수 있도록 확장이 용이한 시스템의 개발이 필요하다.Recently, as the importance of big data and artificial intelligence increases, the need for a cloud storage system that efficiently stores and manages a large amount of data is becoming very important. Since the data processed in the storage system dealing with big data is very large, it is necessary to develop a system that is easily expandable so that it can flexibly adapt to the size of the data.

대용량 분산저장장치는 다수의 노드에 정보를 분산하여 저장하는 특징이 있다. 정보를 분산하여 저장하기 때문에 정보가 필요할 경우 다수의 노드로부터 정보를 가져와야 하는 특성을 가지고 있다. 다수의 노드에 분산 저장된 정보를 가져오는 도중 다양한 요인에 의해 정보 수집이 되지 않을 경우 다양한 방법으로 소실된 정보를 복원할 수 있는데 주로 소실 부호를 활용하여 소실된 정보를 복원한다. A large-capacity distributed storage device is characterized by distributing and storing information among multiple nodes. Since information is distributed and stored, it has a characteristic that information must be retrieved from multiple nodes when information is needed. When information is not collected due to various factors while fetching information distributed and stored in multiple nodes, the lost information can be restored in various ways.

LRC(local reconstruction code)는 분산저장장치에서 널리 사용되는 소실 부호의 한 종류로서 일반적으로 단일(single) 노드 실패를 복구할 때 효율적이다. A local reconstruction code (LRC) is a type of extinction code widely used in distributed storage devices, and is generally effective when recovering from a single node failure.

그런데, LRC(local reconstruction code)는 부호화할 데이터 심볼의 소실 확률이 비균일하여 편차가 있을 경우 효율적인 복구가 이루어지지 않는 문제점이 있었다 However, the local reconstruction code (LRC) has a problem in that efficient recovery is not performed when there is a deviation because the probability of loss of data symbols to be encoded is non-uniform.

본 발명은 데이터 심볼들의 소실 확률이 비균일한 환경에서 복구 비용 및 복수 효율을 향상시킬 수 있는 변형된 LRC 소실 부호 부호화 장치 및 방법을 제안한다. The present invention proposes a modified LRC vanishing code encoding apparatus and method capable of improving recovery cost and plural efficiency in an environment in which the probability of loss of data symbols is non-uniform.

상기와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면, 분산 노드들에 저장되어 있으며 부호화할 데이터 심볼들의 소실 확률 균일성을 판단하는 소실 확률 균일성 판단부; 상기 복수의 데이터 심볼들의 소실 확률이 균일하지 않다고 판단되는 경우, 글로벌 패리티 심볼로부터 전환되는 전환 로컬 패리티 심볼의 수를 설정하는 전환 로컬 패리티 심볼 수 설정부; 상기 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정하는 데이터 심볼 할당부; 및 상기 할당된 데이터 심볼 및 패리티 생성 행렬을 이용하여 글로벌 패리티 심볼, 로컬 패리티 심볼 및 상기 전환 로컬 패리티 로컬 패리티 심볼의 값을 결정하는 패리티 심볼 생성부를 포함하되, 상기 전환 로컬 패리티 심볼의 로컬리티는 상기 로컬 패리티 심볼의 로컬리티에 비해 낮게 설정되는 소실 부호의 부호화 장치가 제공된다. In order to achieve the above object, according to an aspect of the present invention, the loss probability uniformity determination unit for determining the uniformity of the loss probability of the data symbols to be encoded and stored in the distributed nodes; a switched local parity symbol number setting unit configured to set the number of switched local parity symbols switched from global parity symbols when it is determined that the loss probability of the plurality of data symbols is not uniform; a data symbol allocator for determining a data symbol to be allocated to the switched local parity symbol; and a parity symbol generator for determining values of a global parity symbol, a local parity symbol, and a switched local parity local parity symbol by using the allocated data symbol and a parity generation matrix, wherein the locality of the switched local parity symbol is the An apparatus for encoding a lost code set to be lower than the locality of a local parity symbol is provided.

상기 데이터 심볼 할당부는 소실 확률이 상대적으로 높은 데이터 심볼들을 상대적으로 낮은 로컬리티를 가지는 전환 로컬 패리티 심볼에 할당한다. The data symbol allocator allocates data symbols having a relatively high loss probability to switched local parity symbols having a relatively low locality.

상기 전환 로컬 패리티 심볼의 수가 복수일 경우, 상기 복수의 전환 로컬 패리티 심볼 중 적어도 일부의 로컬 패리티 심볼의 로컬리티는 다르게 설정되며, 상기 데이터 심볼 할당부는 복수의 전환 로컬 패리티 심볼들 중 상대적으로 낮은 로컬리티를 가지는 전환 로컬 패리티 심볼에 소실 확률이 상대적으로 높은 데이터 심볼들을 할당하고, 복수의 전환 로컬 패리티 심볼들 중 상대적으로 높은 로컬리티를 가지는 전환 로컬 패리티 심볼에 소실 확률이 상대적으로 낮은 데이터 심볼들을 할당한다. When the number of switched local parity symbols is plural, localities of at least some of the plurality of switched local parity symbols are set differently, and the data symbol allocator is a relatively low local parity symbol among the plurality of switched local parity symbols. Data symbols having a relatively high probability of loss are allocated to switched local parity symbols having a high degree of loss, and data symbols having a relatively low loss probability are allocated to switched local parity symbols having a relatively high locality among a plurality of switched local parity symbols. do.

상기 데이터 심볼 할당부는 소실 확률이 상대적으로 높은 데이터 심볼들을 복수의 로컬 패리티 심볼들에 분산하여 할당한다. The data symbol allocator distributes and allocates data symbols having a relatively high loss probability to a plurality of local parity symbols.

상기 데이터 심볼 할당부는 상기 복수의 로컬 패리티 심볼들을 로컬리티에 기초하여 정렬하고 상기 데이터 심볼들을 소실 확률 순으로 순차적으로 할당한다. The data symbol allocator aligns the plurality of local parity symbols based on locality and sequentially allocates the data symbols in the order of disappearance probability.

상기 전환 로컬 패리티 심볼 수 설정부는 데이터 심볼의 수 및 소실 확률의 비균일설 정도 중 적어도 하나에 기초하여 상기 전환 로컬 패리티 심볼의 수를 결정한다. The switched local parity symbol number setting unit determines the number of switched local parity symbols based on at least one of the number of data symbols and the degree of non-uniformity of the loss probability.

상기 글로벌 패리티 심볼의 수는 상기 전환 로컬 패리티 심볼의 수만큼 감소된다. The number of global parity symbols is reduced by the number of switched local parity symbols.

본 발명의 다른 측면에 따르면, 분산 노드들에 저장되어 있으며 부호화할 데이터 심볼들의 소실 확률 균일성을 판단하는 단계(a); 상기 복수의 데이터 심볼들의 소실 확률이 균일하지 않다고 판단되는 경우, 글로벌 패리티 심볼로부터 전환되는 전환 로컬 패리티 심볼의 수를 설정하는 단계(b); 상기 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정하는 단계(c); 및 상기 할당된 데이터 심볼 및 패리티 생성 행렬을 이용하여 글로벌 패리티 심볼, 로컬 패리티 심볼 및 상기 전환 로컬 패리티 로컬 패리티 심볼의 값을 결정하는 단계(d)를 포함하되, 상기 전환 로컬 패리티 심볼의 로컬리티는 상기 로컬 패리티 심볼의 로컬리티에 비해 낮게 설정되는 소실 부호의 부호화 방법이 제공된다. According to another aspect of the present invention, the method comprising: (a) determining the uniformity of disappearance probability of data symbols to be encoded and stored in distributed nodes; (b) setting the number of switched local parity symbols converted from global parity symbols when it is determined that the loss probability of the plurality of data symbols is not uniform; (c) determining a data symbol to be assigned to the switched local parity symbol; and determining (d) values of a global parity symbol, a local parity symbol, and a switched local parity local parity symbol using the allocated data symbol and a parity generation matrix, wherein the locality of the switched local parity symbol is A method of encoding a lost code set to be lower than the locality of the local parity symbol is provided.

본 발명에 의하면, 데이터 심볼들의 소실 확률이 비균일한 환경에서 복구 비용 및 복수 효율을 향상시킬 수 있는 장점이 있다. According to the present invention, there is an advantage that recovery cost and plural efficiency can be improved in an environment in which the probability of loss of data symbols is non-uniform.

도 1은 일반적인 LRC 소실 부호의 구조를 나타낸 도면.
도 2는 일반적인 LRC 소실 부호에서 단일 데이터 심볼이 소실되었을 경우의 복구를 나타낸 나타낸 도면.
도 3은 일반적인 LRC 소실 부호에서 단일 로컬 패리티 심볼이 소실되었을 경우의 복구를 나타낸 도면.
도 4는 일반적인 LRC 소실 부호에서 단일 글로벌 패리티 심볼이 소실되었을 경우의 복구를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 소실 부호의 구조를 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른 소실 부호화 장치의 구조를 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 소실 부호화 방법의 전체적인 흐름을 도시한 순서도.
1 is a diagram showing the structure of a general LRC disappearing code.
2 is a diagram illustrating recovery when a single data symbol is lost in a general LRC erasure code.
3 is a diagram illustrating recovery when a single local parity symbol is lost in a general LRC lost code.
4 is a diagram illustrating recovery when a single global parity symbol is lost in a general LRC lost code.
5 is a diagram illustrating a structure of a disappearing code according to an embodiment of the present invention.
6 is a diagram illustrating a structure of an extinction encoding apparatus according to an embodiment of the present invention.
7 is a flowchart illustrating an overall flow of a lossy encoding method according to an embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다.Hereinafter, the present invention will be described with reference to the accompanying drawings. However, the present invention may be embodied in several different forms, and thus is not limited to the embodiments described herein.

그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다.Throughout the specification, when a part is "connected" with another part, this includes not only the case where it is "directly connected" but also the case where it is "indirectly connected" with another member interposed therebetween. .

또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 구비할 수 있다는 것을 의미한다.Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 변형된 LRC 구조의 소실 부호를 제안하며, 본 발명의 이해를 돕기 위해 일반적인 LRCT 소실 부호에 대해 먼저 살펴본다. The present invention proposes a lost code of a modified LRC structure, and a general LRCT disappearing code is first described to help the understanding of the present invention.

도 1은 일반적인 LRC 소실 부호의 구조를 나타낸 도면이다. 1 is a diagram showing the structure of a general LRC disappearing code.

도 1을 참조하면, 일반적인 LRC 소실 부호는 데이터 심볼(x0 ~ x5), 로컬 패리티 심볼(pL,0 , pL.1) 및 글로벌 패리티 심볼(pG,0, pG,1)을 포함한다. 도 1에는 6개의 데이터 심볼, 2개의 로컬 패리티 심볼 및 2개의 로컬 패리티 심볼이 있는 경우가 도시되어 있다. 도 1과 같은 LRC 구조를 (6, 2, 2) LRC 구조로 표현하기도 한다. Referring to FIG. 1 , a typical LRC loss code is a data symbol (x 0 to x 5 ), a local parity symbol (p L,0 , p L.1 ), and a global parity symbol (p G,0 , p G,1 ) includes 1 illustrates a case in which there are six data symbols, two local parity symbols, and two local parity symbols. The LRC structure shown in FIG. 1 is sometimes expressed as a (6, 2, 2) LRC structure.

본 발명은 분산 저장 장치에서의 심볼 복구를 전제하고 있으며, 위 데이터 심볼, 로컬 데이터 심볼 및 글로벌 패리티 심볼 각각은 복수의 노드에 각각 분산되어 저장되며, 로컬 패리티 심볼 및 글로벌 패리티 심볼은 특정 노드로부터의 심볼이 소실되었을 경우 소실된 심볼을 복원하는데 사용된다. 여기서 심볼의 소실은 네트워크 상태 및 노드의 문제 등으로 인해 심볼이 수신되지 않은 경우를 포함하며, 심볼 실패로 표현하기도 한다. The present invention is premised on symbol recovery in a distributed storage device, and each of the above data symbols, local data symbols, and global parity symbols are distributed and stored in a plurality of nodes, respectively, and local parity symbols and global parity symbols are transmitted from a specific node. When a symbol is lost, it is used to restore the lost symbol. Here, the symbol loss includes a case in which a symbol is not received due to a network condition or a node problem, and is sometimes expressed as symbol failure.

LRC 소실 부호에서, 데이터 심볼의 개수를 k, 로컬 패리티 심볼의 개수를 l, 글로벌 패리티 심볼의 개수를 g로 정의하며, LRC 구조를 (k, l, g)로 표현하기도 한다. In the LRC disappearance code, the number of data symbols is defined as k, the number of local parity symbols is defined as l, and the number of global parity symbols is defined as g, and the LRC structure is also expressed as (k, l, g).

로컬 패리티 심볼은 전체 데이터 심볼 중 미리 설정된 일부의 데이터 심볼의 복구에만 사용되는 심볼이다. 도 1에는 두 개의 로컬 패리티 심볼(pL,0 , pL.1)이 도시되어 있으며, 제1 로컬 패리티 심볼((pL,0)은 데이터 심볼 x0 내지 x2의 복원에 이용하도록 설정된 로컬 패리티 심볼이고 제2 로컬 패리티 심볼(pL.1)은 데이터 심볼 x3 내지 x5의 복원에 이용하도록 설정된 로컬 패리티 심볼이다. The local parity symbol is a symbol used only for the recovery of some preset data symbols among all data symbols. 1 shows two local parity symbols (p L,0 , p L.1 ), and the first local parity symbol ((p L,0 ) is set to be used for restoration of data symbols x 0 to x 2 It is a local parity symbol and the second local parity symbol (p L.1 ) is a local parity symbol configured to be used for restoration of data symbols x 3 to x 5.

LRC 소실 부호에서는 로컬리티(L)가 설정되며, 도 1에 도시된 예에서 각각의 로컬 패리티 심볼은 3개의 데이터 심볼의 복원에 사용되므로 도 1에 도시된 소실 부호 구조의 로컬리티는 3이다. In the LRC vanishing code, locality (L) is set, and in the example shown in FIG. 1 , since each local parity symbol is used to restore three data symbols, the locality of the vanishing code structure shown in FIG. 1 is 3.

한편, 글로벌 패리티 심볼은 복수의 심볼이 소실되었을 경우 소실된 심볼의 복원을 위해 사용되는 패리티 심볼이다. Meanwhile, when a plurality of symbols are lost, the global parity symbol is a parity symbol used to restore the lost symbols.

로컬 패리티 심볼 및 글로벌 패리티 심볼은 데이터 심볼의 값을 이용하여 패리티 생성 행렬(G)에 의해 결정된다. A local parity symbol and a global parity symbol are determined by a parity generation matrix (G) using values of data symbols.

패리티 생성 행렬(G)은 다음의 수학식 1과 같은 관계를 가진다. The parity generation matrix (G) has a relationship as in Equation 1 below.

Figure 112019130542795-pat00001
Figure 112019130542795-pat00001

위 수학식 1에서, G는 k X n 행렬이며 유한체의 원소로 구성된다. In Equation 1 above, G is a k X n matrix and consists of elements of a finite field.

로컬 패리티 심볼과 글로벌 패리티 심볼의 생성은 다음의 수학식 2와 같이 패리티 생성 행렬을 이용하여 이루어진다. A local parity symbol and a global parity symbol are generated using a parity generation matrix as shown in Equation 2 below.

Figure 112019130542795-pat00002
Figure 112019130542795-pat00002

Figure 112019130542795-pat00003
Figure 112019130542795-pat00003

Figure 112019130542795-pat00004
Figure 112019130542795-pat00004

Figure 112019130542795-pat00005
Figure 112019130542795-pat00005

Figure 112019130542795-pat00006
Figure 112019130542795-pat00006

위 수학식 2에서, a, b는 유한체의 원소를 의미한다. In Equation 2 above, a and b denote elements of a finite field.

LRC 부호는 (g+1)개까지의 심볼 오류를 100% 복구할 수 있다. The LRC code can recover 100% of up to (g+1) symbol errors.

위 수학식에서, P는 축소된 패리티 행렬을 의미하고, Ik는 k X k 단위 행렬(Identity Matrix)을 의미한다. In the above equation, P denotes a reduced parity matrix, and I k denotes a k X k identity matrix.

도 2는 일반적인 LRC 소실 부호에서 단일 데이터 심볼이 소실되었을 경우의 복구를 나타낸 도면이다. 2 is a diagram illustrating recovery when a single data symbol is lost in a general LRC lost code.

도 2를 참조하면, 6개의 데이터 심볼 중 x1 데이터 심볼이 소실된 경우가 도시되어 있다. 이 경우, 소실된 데이터 심볼 x1은 x0, x2 및 pL,0를 이용하여 복구된다. 이때, 두 개의 데이터 심볼 및 하나의 로컬 패리티 심볼을 이용하여 심볼이 복구되기 때문에 복구 비용은 3이된다. Referring to FIG. 2 , a case in which x 1 data symbol among 6 data symbols is lost is illustrated. In this case, the lost data symbol x 1 is recovered using x 0 , x 2 and p L,0 . At this time, since the symbol is recovered using two data symbols and one local parity symbol, the recovery cost becomes 3.

단일 데이터 심볼이 소실된 경우, 글로벌 패리티 심볼은 이용되지 않으며, 로컬 패리티 심볼만을 이용하여 적은 비용으로 소실된 데이터 심볼을 복구한다. When a single data symbol is lost, the global parity symbol is not used, and only the local parity symbol is used to recover the lost data symbol at a low cost.

도 3은 일반적인 LRC 소실 부호에서 단일 로컬 패리티 심볼이 소실되었을 경우의 복구를 나타낸 도면이다. 3 is a diagram illustrating recovery when a single local parity symbol is lost in a general LRC lost code.

도 3을 참조하면, 두 개의 로컬 패리티 심볼 중 pL,1 패리티 심볼이 소실된 경우가 도시되어 있다. pL,1 패리티 심볼은 pL,1 과 연관된 데이터 심볼인 x3, x4, x5만을 이용하여 복구된다. Referring to FIG. 3 , a case in which p L,1 parity symbol is lost among two local parity symbols is illustrated. The p L,1 parity symbol is recovered using only x 3 , x 4 , and x 5 that are data symbols associated with p L,1 .

세 개의 데이터 심볼(x3, x4, x5)이 이용하기에 단일 로컬 패리티 심볼의 복구를 위한 복구 비용은 3이다. Since three data symbols (x 3 , x 4 , x 5 ) are used, the recovery cost for recovering a single local parity symbol is three.

도 4는 일반적인 LRC 소실 부호에서 단일 글로벌 패리티 심볼이 소실되었을 경우의 복구를 나타낸 도면이다. 4 is a diagram illustrating recovery when a single global parity symbol is lost in a general LRC lost code.

도 4를 참조하면, 단일 글로벌 패리티 심볼(pG,1)이 소실되었을 경우, 소실된 글로벌 패리티 심볼의 복구를 위해 6개의 데이터 심볼 모두가 이용된다. 따라서, 단일 글로벌 패리티 심볼의 복구 비용은 6이다. Referring to FIG. 4 , when a single global parity symbol (p G,1 ) is lost, all six data symbols are used to recover the lost global parity symbol. Therefore, the recovery cost of a single global parity symbol is 6.

위에서 살펴본 바와 같이, 일반적인 LRC 구조에서 단일 데이터 심볼의 오류를 복구하기 위한 로컬 패리티 심볼의 로컬리티는 균일하게 설정된다. 이와 같이, 균일한 로컬리티는 분산되어 저장되는 데이터 심볼별로 소실 확률이 균일하다면 비교적 효율적일 수 있다. 그러나, 데이터 심볼별 소실(실패) 확률이 균일하지 않다면 일반적인 LRC 구조는 효율적이지 않을 수 있다. As described above, in a general LRC structure, the locality of a local parity symbol for recovering an error of a single data symbol is uniformly set. As such, the uniform locality may be relatively efficient if the loss probability is uniform for each data symbol that is distributed and stored. However, if the loss (failure) probability for each data symbol is not uniform, the general LRC structure may not be efficient.

본 발명은 데이터 심볼별 소실 확률이 균일하지 않은 환경에서 효율적으로 적용될 수 있는 변형된 LRC 소실 부호를 제안한다. The present invention proposes a modified LRC disappearance code that can be efficiently applied in an environment in which the loss probability for each data symbol is not uniform.

데이터 심볼은 다수의 노드에 분산되어 저장되는데 특정 노드는 높은 빈도로 요청되나 특정 노드는 상대적으로 낮은 빈도로 요청된다. 이와 같이, 요청되는 빈도가 높은 노드를 핫(Hot) 노드라고 정의하고, 요청되는 빈도가 낮은 노드를 쿨(Cool) 노드라고 정의한다. Data symbols are distributed and stored in a number of nodes. A specific node is requested with a high frequency, but a specific node is requested with a relatively low frequency. In this way, a node with a high frequency of requests is defined as a hot node, and a node with a low frequency of requests is defined as a cool node.

핫 노드와 쿨 노드가 존재하는 환경에서 핫 노드의 실패 확률이 더 높아질 수 밖에 없으며 이는 데이터 심볼별 소실(실패) 확률이 균일하지 않다는 것을 의미한다. In an environment where hot and cool nodes exist, the probability of failure of the hot node is inevitably higher, which means that the probability of loss (failure) for each data symbol is not uniform.

도 5는 본 발명의 일 실시예에 따른 소실 부호의 구조를 나타낸 도면이다. 5 is a diagram illustrating a structure of a lost code according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 소실 부호(변형된 LRC 부호)는 데이터 심볼(x0 ~ x5), 로컬 패리티 심볼(pL,0 , pL.1), 글로벌 패리티 심볼(pG,0) 및 전환된 로컬 패리티 심볼(p(1) L,0)을 포함한다. Referring to FIG. 5 , the disappearance code (modified LRC code) according to an embodiment of the present invention includes data symbols (x 0 to x 5 ), local parity symbols (p L,0 , p L.1 ), and global parity symbol (p G,0 ) and a switched local parity symbol (p (1) L,0 ).

본 발명의 소실 부호화 장치 및 방법은 데이터를 저장하고 있는 노드별로 소실(실패) 확률을 모니터링하며, 소실(실패) 확률이 균일한지 여부를 판단하고 소실(실패) 확률이 균일하지 않을 경우 글로벌 패리티 심볼을 로컬 패리티 심볼로 전환하며, 전환된 로컬 패리티 심볼이 p(1) L,0이다. The loss encoding apparatus and method of the present invention monitors the loss (failure) probability for each node storing data, determines whether the loss (failure) probability is uniform, and if the loss (failure) probability is not uniform, a global parity symbol is converted into a local parity symbol, and the converted local parity symbol is p (1) L,0 .

도 5의 소실 부호 구조는 도 1에 도시된 일반적인 LRC 구조를 전환한 것이며, 일례로 하나의 글로벌 패리티 심볼(pG,1)이 로컬 패리티 심볼로 전환된 경우가 도시되어 있다. The vanishing code structure of FIG. 5 is a conversion of the general LRC structure illustrated in FIG. 1 , and as an example, a case in which one global parity symbol (p G,1 ) is converted into a local parity symbol is illustrated.

다만, 도 5에 도시된 소실 부호의 구조는 예시적인 것이며, 전환되는 글로벌 패리티 심볼의 수 및 글로벌 패리티 심볼의 전환으로 인해 생성되는 전환된 로컬 패리티 심볼의 수는 데이터 심볼의 수 및/또는 비균일 오류 환경 등에 기초하여 다양하게 설정될 수 있을 것이다. 예를 들어, 세 개의 글로벌 패리티 심볼이 존재하는 경우, 두 개의 글로벌 패리티 심볼을 로컬 패리티 심볼로 전환할 수도 있는 것이다. However, the structure of the disappearing code shown in FIG. 5 is exemplary, and the number of switched global parity symbols and the number of switched local parity symbols generated due to the global parity symbol conversion are the number of data symbols and/or non-uniformity. It may be set in various ways based on an error environment and the like. For example, when there are three global parity symbols, two global parity symbols may be converted into local parity symbols.

한편, 전환 로컬 패리티 심볼은 로컬 패리티 심볼(pL,0 , pL.1)에 비해 낮은 로컬리티를 가진다. 도 5를 참조하면, 전환된 로컬 패리티 심볼의 로컬리티는 '2'이며, 로컬 패리티 심볼(pL,0 , pL.1)의 로컬리티는 '3'이다. On the other hand, the switched local parity symbol has a lower locality than the local parity symbol (p L,0 , p L.1). Referring to FIG. 5 , the locality of the switched local parity symbol is '2', and the locality of the local parity symbol (p L,0 , p L.1 ) is '3'.

전환 로컬 패리티 심볼은 기존의 로컬 패리티 심볼에 이미 할당된 데이터 심볼 중 선택된 데이터 심볼의 복구에 사용하도록 설정된다. 도 5에는 전환 로컬 패리티 심볼(p(1) L,0)이 기존의 로컬 패리티 심볼인 pL,0에 할당되어 있는 데이터 심볼들의 일부인 x0 및 x1의 복구에 사용되도록 설정된 경우가 도시되어 있다. The switched local parity symbol is set to be used for recovery of a selected data symbol among data symbols already allocated to the existing local parity symbol. 5 shows a case in which the switched local parity symbol (p (1) L,0 ) is set to be used for recovery of x 0 and x 1 , which are some of the data symbols allocated to the existing local parity symbol p L,0. have.

설명의 편의를 위해, 본 발명에서 제안하는 변형된 LRC 소실 부호의 구조를

Figure 112019130542795-pat00007
으로 정의한다. 위 수학식에서, k는 데이터 심볼의 수, l은 로컬 패리티 심볼의 수, g는 글로벌 패리티 심볼의 수, m은 전환되는 글로벌 패리티 심볼의 수를 의미한다. 또한, Xi는 전환 로컬 패리티 심볼들에 할당되는 데이터 심볼 그룹을 의미한다. For convenience of explanation, the structure of the modified LRC disappearing code proposed in the present invention is shown.
Figure 112019130542795-pat00007
to be defined as In the above equation, k is the number of data symbols, l is the number of local parity symbols, g is the number of global parity symbols, and m is the number of switched global parity symbols. In addition, X i refers to a data symbol group allocated to switched local parity symbols.

x0 및 x1이 핫 노드로부터의 데이터 심볼이어서 높은 소실 확률을 가진다면, '2'의 복구 비용만으로 복구가 가능하기에 상대적으로 낮은 복구 비용으로 소실 확률이 높은 데이터 심볼을 복구하는 것이 가능해진다. If x 0 and x 1 are data symbols from a hot node and thus have a high probability of loss, recovery is possible only with a recovery cost of '2', so it is possible to recover a data symbol with a high probability of loss with a relatively low recovery cost. .

도 6은 본 발명의 일 실시예에 따른 소실 부호화 장치의 구조를 나타낸 도면이다. 6 is a diagram illustrating a structure of an extinction encoding apparatus according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예에 따른 소실 부호화 장치는 소실 균일성 판단부(600), 전환 로컬 패리티 심볼 수 설정부(610), 데이터 심볼 할당부(620) 및 패리티 심볼 생성부(630)를 포함한다. Referring to FIG. 6 , the loss encoding apparatus according to an embodiment of the present invention includes a loss uniformity determiner 600 , a switched local parity symbol number setter 610 , a data symbol allocator 620 , and a parity symbol generator (630).

소실 균일성 판단부(600)는 데이터 심볼 또는 패리티 심볼을 저장하고 있는 노드들의 소실(실패) 확률이 균일한지 여부를 판단한다. 소실 균일성 판단부(600)는 다수 노드들로부터의 각 데이터 심볼의 소실(실패) 확률을 모니터링하고, 각 데이터 심볼들간의 소실 확률의 차이가 미리 설정된 임계치 이상인지 여부를 판단한다. The disappearance uniformity determination unit 600 determines whether the probability of loss (failure) of the nodes storing the data symbol or the parity symbol is uniform. The disappearance uniformity determination unit 600 monitors the loss (failure) probability of each data symbol from the plurality of nodes, and determines whether a difference in the loss probability between the data symbols is equal to or greater than a preset threshold.

소실 균일성 판단부(600)에서 각 데이터 심볼의 소실 확률이 균일하다고 판단되는 경우, 일반적인 LRC 부호화가 이루어진다. 그러나, 소실 균일성 판단부(600)에서 각 데이터 심볼의 소실 확률이 균일하지 않다고 판단되는 경우 본 발명에서 제안되는 변형된 LRC 소실 부호화가 이루어진다. When the disappearance uniformity determination unit 600 determines that the probability of disappearance of each data symbol is uniform, general LRC encoding is performed. However, when the loss uniformity determining unit 600 determines that the probability of loss of each data symbol is not uniform, the modified LRC loss encoding proposed in the present invention is performed.

전환 로컬 패리티 심볼 수 설정부(610)는 소실 균일성 판단부(600)에서 각 데이터 심볼의 소실 확률이 균일하지 않다고 판단되는 경우 전환 로컬 패리티 심볼의 수를 결정한다. 앞서 설명한 바와 같이, 전환 로컬 패리티 심볼의 수는 제거되는 글로벌 패리티 심볼의 수와 일치한다. 예를 들어, 두 개의 전환 로컬 패리티 심볼이 생성된다면, 두 개의 글로벌 패리티 심볼이 제거된다. The switched local parity symbol number setting unit 610 determines the number of switched local parity symbols when the loss uniformity determining unit 600 determines that the loss probability of each data symbol is not uniform. As described above, the number of switched local parity symbols coincides with the number of global parity symbols to be removed. For example, if two switched local parity symbols are generated, two global parity symbols are removed.

본 발명의 일 실시예에 따르면, 전환 로컬 패리티 심볼의 수는 데이터 심볼의 수에 기초하여 결정될 수 있다. 전환 로컬 패리티 심볼의 수는 데이터 심볼의 수에 비례하여 결정될 수 있을 것이다. According to an embodiment of the present invention, the number of switched local parity symbols may be determined based on the number of data symbols. The number of switched local parity symbols may be determined in proportion to the number of data symbols.

본 발명의 다른 실시예에 따르면, 실패 균일성 판단부(600)에서 판단되는 실패 비균일성 정도에 기초하여 결정될 수도 있을 것이다. 비균일성 정도가 높을수록 더 많은 수의 전환 로컬 패리티 심볼이 이용될 수 있을 것이다. According to another embodiment of the present invention, it may be determined based on the degree of failure non-uniformity determined by the failure uniformity determination unit 600 . The higher the degree of non-uniformity, the greater number of switched local parity symbols may be used.

물론, 데이터 심볼의 수 및 비균일설 정도를 함께 고려하여 전환 로컬 패리티 심볼의 수를 결정할 수도 있을 것이며, 동적으로 결정되지 않고 임의로 설정될 수도 있다는 점을 당업자라면 이해할 수 있을 것이다. Of course, it will be understood by those skilled in the art that the number of switched local parity symbols may be determined in consideration of the number of data symbols and the degree of non-uniformity, and may be set arbitrarily rather than dynamically.

데이터 심볼 할당부(620)는 각 전환 로컬 패리티 심볼이 복구할 데이터 심볼을 할당한다. 데이터 심볼 할당부(620)는 각 전환 로컬 패리티 심볼의 로컬리티를 먼저 결정하고 로컬리티에 상응하는 수의 데이터 심볼을 할당할 수 있다. 물론, 각 전환 로컬 패리티 심볼의 로컬리티는 동적으로 결정되지 않고 미리 결정될 수도 있을 것이다. The data symbol allocator 620 allocates a data symbol to be recovered by each switched local parity symbol. The data symbol allocator 620 may first determine the locality of each switched local parity symbol and allocate a number of data symbols corresponding to the locality. Of course, the locality of each switched local parity symbol may not be dynamically determined but may be predetermined.

생성할 m개의 전환 로컬 패리티 심볼을 각각 k0, k1, k2, ??..,km-1로 정의한다. 또한, 각 전환 로컬 패리티 심볼에 할당될 데이터 심볼 그룹을 각각 X0, X1, X2,?? , Xm-1로 정의한다. 데이터 심볼 할당부(620)는 X0 내지 Xm-1에 할당될 데이터 심볼을 결정하는 것이다. m transition local parity symbols to be generated are defined as k 0 , k 1 , k 2 , ??..,k m-1 , respectively. In addition, the data symbol group to be assigned to each switched local parity symbol is X 0 , X 1 , X 2 ,?? , X m-1 is defined. The data symbol allocator 620 determines data symbols to be allocated to X 0 to X m-1.

본 발명의 제1 실시예에 따르면, 각 데이터 심볼의 소실 확률에 기초하여 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정한다. 소실 확률이 가장 높은 데이터 심볼들은 가장 낮은 로컬리티를 가지는 X0(k0에 대한 데이터 심볼 그룹)에 할당한다. 다음으로 소실 확률이 높은 데이터 심볼들은 X0에 비해 높은 로컬리티를 가지며 X2(k2에 대한 데이터 심볼 그룹)에 비해 낮은 로컬리티를 가지는 X1(k1에 대한 데이터 심볼 그룹)에 할당된다. According to the first embodiment of the present invention, a data symbol to be allocated to a switched local parity symbol is determined based on the disappearance probability of each data symbol. Data symbols with the highest loss probability are allocated to X 0 (data symbol group for k 0 ) having the lowest locality. Next, data symbols with a high probability of disappearance are allocated to X 1 (data symbol group for k 1 ) having a high locality compared to X 0 and a low locality compared to X 2 (data symbol group for k 2 ). .

예를 들어, 두 개의 전환 로컬 패리티 심볼이 생성된다고 가정한다. 제1 전환 로컬 패리티 심볼(k0)의 로컬리티는 2로 결정되어 있고, 제2 전환 로컬 패리티 심볼(k1)의 로컬리티는 3으로 결정되어 있다고 가정한다. 10개의 데이터 심볼(0번 데이터 심볼 내지 9번 데이터 심볼)이 존재하고 0번 내지 4번 데이터 심볼 순으로 소실 확률이 높을 경우, 0번 데이터 심볼 및 1번 데이터 심볼을 제1 전환 로컬 패리티 심볼(k0)의 데이터 심볼 그룹 X0에 할당하고 2번 내지 4번 데이터 심볼을 제2 전환 로컬 패리티 심볼(k1)의 데이터 심볼 그룹 X1에 할당하는 것이다. For example, assume that two switched local parity symbols are generated. It is assumed that the locality of the first switched local parity symbol k 0 is determined to be 2 and the locality of the second switched local parity symbol k 1 is determined to be 3. If there are 10 data symbols (data symbols 0 to 9) and the loss probability is high in the order of data symbols 0 to 4, data symbols 0 and 1 are converted to a first switched local parity symbol ( k 0 ) is allocated to the data symbol group X 0 and the second to fourth data symbols are allocated to the data symbol group X 1 of the second switched local parity symbol (k 1 ).

요컨대, 제1 실시예는 상대적으로 낮은 로컬리티를 가지는 전환 패리티 심볼 에 소실 확률이 상대적으로 높은 데이터 심볼을 할당하고, 상대적으로 높은 로컬리티를 가지는 전환 패리티 심볼에 소실 확률이 상대적으로 낮은 데이터 심볼을 할당하도록 하는 것이다. That is, in the first embodiment, a data symbol having a relatively high loss probability is allocated to a switched parity symbol having a relatively low locality, and a data symbol having a relatively low loss probability is allocated to a switched parity symbol having a relatively high locality. to allocate.

이와 같은 데이터 심볼 할당에 의해 소실 확률이 높은 데이터 심볼들이 보다 낮은 복구 비용으로 복구될 수 있도록 한다. By such data symbol allocation, data symbols having a high probability of being lost can be recovered at a lower recovery cost.

본 발명의 제2 실시예에 따르면, 소실 확률이 높은 데이터 심볼을 복수의 전환 로컬 패리티 심볼에 분산하여 할당하도록 한다. m개의 로컬 패리티 심볼(k0, k1, k2, ??..,km-1)이 생성되고, 각 로컬 패리티 심볼에 할당되는 데이터 심볼 그룹을 X0, X1, X2,?? , Xm-1 이라고 정의한다. 본 발명의 제2 실시예에 따르면, 실패 확률이 가장 높은 데이터 심볼순으로 데이터 심볼 그룹에 순차적으로 할당한다. According to the second embodiment of the present invention, data symbols having a high loss probability are distributed and allocated to a plurality of switched local parity symbols. m local parity symbols (k 0 , k 1 , k 2 , ??..,k m-1 ) are generated, and the data symbol group assigned to each local parity symbol is X 0 , X 1 , X 2 ,? ? , is defined as X m-1. According to the second embodiment of the present invention, data symbols are sequentially allocated to the data symbol groups in the order of the data symbols having the highest failure probability.

예를 들어, 10개의 데이터 심볼 중 0번 데이터 심볼의 실패 확률이 가장 높고, 1번 데이터 심볼의 실패 확률이 두 번째로 높으며, 2번 데이터 심볼의 실패 확률이 세 번째로 높다고 가정한다. 이 경우, 제2 실시예에 따르면, 0번 데이터 심볼을 X0에 할당하고, 1번 데이터 심볼을 X1에 할당하며, 2번 데이터 심볼을 X2에 할당하도록 한다. For example, it is assumed that data symbol 0 has the highest failure probability among 10 data symbols, data symbol 1 has the second highest failure probability, and data symbol 2 has the third highest failure probability. In this case, according to the second embodiment, data symbol 0 is allocated to X 0 , data symbol 1 is allocated to X 1 , and data symbol 2 is allocated to X 2 .

제2 실시예의 경우에도 각 로컬 패리티 심볼의 로컬리티는 다르게 설정되는 것이 바람직하다. 실패 확률이 가장 높은 데이터 심볼이 할당되는 k0의 로컬리티는 이보다 낮은 실패 확률을 가지는 데이터 심볼이 할당되는 k1에 비해 낮게 설정되는 것이 바람직하다. Even in the case of the second embodiment, it is preferable that the locality of each local parity symbol is set differently. It is preferable that the locality of k 0 to which the data symbol having the highest failure probability is allocated is set lower than that of k 1 to which the data symbol having the lower failure probability is allocated.

제1 실시예와 같이 로컬리티가 낮은 전환 로컬 패리티 심볼에 실패 확률이 높은 데이터 심볼을 할당하는 방식은 단일 데이터 심볼이 소실될 경우 효과적일 수 있다. A method of allocating a data symbol having a high failure probability to a switched local parity symbol having a low locality as in the first embodiment may be effective when a single data symbol is lost.

한편, 제2 실시예와 같이, 실패 확률이 높은 데이터 심볼들을 각 전환 로컬 패리티 심볼에 분산하여 할당하는 방식은 복수 데이터 심볼이 소실될 경우에 효과적일 수 있다. Meanwhile, as in the second embodiment, a method of distributing and allocating data symbols having a high failure probability to each switched local parity symbol may be effective when a plurality of data symbols are lost.

패리티 심볼 생성부(630)는 소실 부호의 패리티 심볼들의 값을 데이터 심볼들에 기초하여 결정하고, 결정된 값을 가지는 패리티 심볼들을 생성한다. 전환 로컬 패리티 심볼 수 설정부(610)에서 생성할 전환 로컬 패리티 심볼의 수가 결정되고, 생성할 각 전환 로컬 패리티 심볼에 할당할 데이터 심볼이 결정되면, 패리티 심볼 생성부(630)는 결정된 정보에 기초하여 전환 로컬 패리티 심볼, 로컬 패리티 심볼 및 글로벌 패리티 심볼을 생성하는 것이다. The parity symbol generator 630 determines the values of the parity symbols of the disappearing code based on the data symbols, and generates parity symbols having the determined values. When the number of switched local parity symbols to be generated is determined in the switched local parity symbol number setting unit 610 and data symbols to be assigned to each switched local parity symbol to be generated are determined, the parity symbol generator 630 is based on the determined information. to generate a switched local parity symbol, a local parity symbol, and a global parity symbol.

전환 로컬 패리티 심볼, 로컬 패리티 심볼 및 글로벌 패리티 심볼의 값은 패리티 생성 행렬(G)을 이용하여 결정된다. The values of the switched local parity symbols, local parity symbols, and global parity symbols are determined using a parity generation matrix (G).

패리티 심볼 생성부(630)에서 패리티 심볼을 생성하기 위한 수학식은 다음의 수학식 3과 같이 설정될 수 있다. An equation for generating the parity symbol in the parity symbol generator 630 may be set as shown in Equation 3 below.

Figure 112019130542795-pat00008
Figure 112019130542795-pat00008

Figure 112019130542795-pat00009
Figure 112019130542795-pat00009

Figure 112019130542795-pat00010
Figure 112019130542795-pat00010

Figure 112019130542795-pat00011
Figure 112019130542795-pat00011

Figure 112019130542795-pat00012
Figure 112019130542795-pat00012

위 수학식 3은 하나의 전환 로컬 패리티 심볼이 생성되고, 생성된 로컬 패리티 심볼이 데이터 심볼에 x0 및 x1 데이터 심볼이 할당되는 경우를 예로 한 것이다. Equation 3 above is an example in which one switched local parity symbol is generated, and x0 and x1 data symbols are allocated to the generated local parity symbols as data symbols.

패리티 생성 행렬을 이용하여 패리티 심볼들을 결정하는 방법은 이미 알려진 기술이므로 이에 대한 상세한 설명은 생략하기로 한다. Since a method of determining parity symbols using a parity generation matrix is a known technique, a detailed description thereof will be omitted.

도 7은 본 발명의 일 실시예에 따른 소실 부호화 방법의 전체적인 흐름을 도시한 순서도이다. 7 is a flowchart illustrating an overall flow of a lossy encoding method according to an embodiment of the present invention.

도 7을 참조하면, 각 데이터 심볼의 실패 확률의 균일성을 판단한다(단계 700). 실패 확률이 각 데이터 심볼별로 균일할 경우 일반적인 LRC 부호화 절차를 진행한다(단계 702). Referring to FIG. 7, the uniformity of the failure probability of each data symbol is determined (step 700). When the failure probability is uniform for each data symbol, a general LRC encoding procedure is performed (step 702).

실패 확률이 데이터 심볼별로 상이하여 균일하지 않을 경우 단계 704 이하의 본 발명의 변형된 LRC 부호화 절차가 진행된다. If the failure probability is different for each data symbol and thus is not uniform, the modified LRC encoding procedure of the present invention below step 704 is performed.

실패 확률이 데이터 심볼별로 균일하지 않을 경우, 전환 로컬 패리티 심볼의 수를 설정한다(단계 704). 앞서 설명한 바와 같이, 본 발명의 변형된 LRC 소실 부호화에서는 글로벌 패리티 심볼이 전환 로컬 패리티 심볼로 전환되며, 생성되는 로컬 패리티 심볼의 수만큼 글로벌 패리티 심볼이 제거된다. If the failure probability is not uniform for each data symbol, the number of switched local parity symbols is set (step 704). As described above, in the modified LRC loss coding of the present invention, global parity symbols are converted into switched local parity symbols, and global parity symbols are removed by the number of generated local parity symbols.

전환 로컬 패리티 심볼의 수는 미리 설정되어 동적으로 로컬 패리티 심볼의 수를 결정하는 절차가 진행되지 아니할 수도 있으며, 데이터 심볼의 수 및 실패 확률에 기초하여 동적으로 전환 로컬 패리티 심볼의 수를 설정할 수도 있을 것이다. The number of switched local parity symbols is set in advance, so the procedure for dynamically determining the number of local parity symbols may not proceed, and the number of switched local parity symbols may be dynamically set based on the number of data symbols and failure probability will be.

전환 로컬 패리티 심볼의 수가 결정되면, 각 전환 로컬 패리티 심볼의 로컬리티 및 각 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정한다(단계 706). 각 전환 로컬 패리티 심볼의 로컬리티는 미리 결정될 수도 있으며, 데이터 심볼의 수 및 실패 확률의 비균일성 정도에 기초하여 동적으로 결정될 수도 있다. Once the number of switched local parity symbols is determined, the locality of each switched local parity symbol and a data symbol to be assigned to each switched local parity symbol are determined (step 706). The locality of each switched local parity symbol may be predetermined or may be dynamically determined based on the number of data symbols and the degree of non-uniformity in the probability of failure.

본 발명의 제1 실시예에 따르면, 낮은 로컬리티를 가지는 로컬 패리티 심볼에 실패 확률이 높은 데이터 심볼이 할당되도록 데이터 심볼 할당이 이루어질 수 있다. According to the first embodiment of the present invention, data symbol allocation may be performed such that a data symbol having a high failure probability is allocated to a local parity symbol having a low locality.

본 발명의 제2 실시예에 따르면, 높은 실패 확률을 가지는 데이터 심볼들이 분산되어 서로 다른 전환 로컬 패리티 심볼에 할당되도록 데이터 심볼 할당이 이루어질 수도 있다. According to the second embodiment of the present invention, data symbol allocation may be made such that data symbols having a high failure probability are distributed and allocated to different switched local parity symbols.

각 전환 로컬 패리티 심볼에 할당될 데이터 심볼이 결정되면, 패리티 생성 행렬을 이용하여 로컬 패리티 심볼, 글로벌 패리티 심볼 및 전환 로컬 패리티 심볼의 값을 결정한다(단계 708). When data symbols to be assigned to each switched local parity symbol are determined, values of a local parity symbol, a global parity symbol, and a switched local parity symbol are determined using a parity generation matrix (step 708).

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be.

그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention.

Claims (14)

분산 노드들에 저장되어 있는 부호화할 데이터 심볼들의 소실 확률 균일성을 판단하는 소실 확률 균일성 판단부;
상기 부호화할 데이터 심볼들의 소실 확률이 균일하지 않다고 판단되는 경우, 글로벌 패리티 심볼로부터 전환되는 전환 로컬 패리티 심볼의 수를 설정하는 전환 로컬 패리티 심볼 수 설정부;
상기 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정하는 데이터 심볼 할당부; 및
상기 할당된 데이터 심볼 및 패리티 생성 행렬을 이용하여 글로벌 패리티 심볼들, 로컬 패리티 심볼들 및 상기 전환 로컬 패리티 심볼들의 값을 결정하는 패리티 심볼 생성부를 포함하되,
상기 전환 로컬 패리티 심볼의 로컬리티는 상기 로컬 패리티 심볼의 로컬리티에 비해 낮게 설정되는 것을 특징으로 하는 소실 부호의 부호화 장치.
a loss probability uniformity determining unit that determines the uniformity of loss probability of data symbols to be encoded stored in the distributed nodes;
a switched local parity symbol number setting unit configured to set the number of switched local parity symbols converted from global parity symbols when it is determined that the loss probability of the data symbols to be encoded is not uniform;
a data symbol allocator for determining a data symbol to be allocated to the switched local parity symbol; and
Comprising a parity symbol generator for determining values of global parity symbols, local parity symbols, and the switched local parity symbols by using the allocated data symbol and the parity generation matrix,
The lost code encoding apparatus, characterized in that the locality of the switched local parity symbol is set lower than the locality of the local parity symbol.
제1항에 있어서,
상기 데이터 심볼 할당부는 소실 확률이 상대적으로 높은 데이터 심볼들을 상대적으로 낮은 로컬리티를 가지는 전환 로컬 패리티 심볼에 할당하는 것을 특징으로 하는 소실 부호의 부호화 장치.
According to claim 1,
and the data symbol allocator allocates data symbols having a relatively high loss probability to switched local parity symbols having a relatively low locality.
제2항에 있어서,
상기 전환 로컬 패리티 심볼의 수가 복수일 경우, 상기 복수의 전환 로컬 패리티 심볼 중 적어도 일부의 전환 로컬 패리티 심볼의 로컬리티는 다르게 설정되며, 상기 데이터 심볼 할당부는 복수의 전환 로컬 패리티 심볼들 중 상대적으로 낮은 로컬리티를 가지는 전환 로컬 패리티 심볼에 소실 확률이 상대적으로 높은 데이터 심볼들을 할당하고, 복수의 전환 로컬 패리티 심볼들 중 상대적으로 높은 로컬리티를 가지는 전환 로컬 패리티 심볼에 소실 확률이 상대적으로 낮은 데이터 심볼들을 할당하는 것을 특징으로 하는 소실 부호의 부호화 장치.
3. The method of claim 2,
When the number of switched local parity symbols is plural, the localities of at least some switched local parity symbols among the plurality of switched local parity symbols are set differently, and the data symbol allocator has a relatively low level among the plurality of switched local parity symbols. Data symbols having a relatively high loss probability are allocated to switched local parity symbols having locality, and data symbols having a relatively low loss probability are allocated to switched local parity symbols having a relatively high locality among a plurality of switched local parity symbols. An encoding device for a lost code, characterized in that allocating.
제1항에 있어서,
상기 데이터 심볼 할당부는 소실 확률이 상대적으로 높은 데이터 심볼들을 상기 로컬 패리티 심볼들에 분산하여 할당하는 것을 특징으로 하는 소실 부호의 부호화 장치.
According to claim 1,
and the data symbol allocator distributes and allocates data symbols having a relatively high loss probability to the local parity symbols.
제4항에 있어서,
상기 데이터 심볼 할당부는 상기 로컬 패리티 심볼들을 로컬리티에 기초하여 정렬하고 상기 데이터 심볼들을 소실 확률 순으로 순차적으로 할당하는 것을 특징으로 하는 소실 부호의 부호화 장치.
5. The method of claim 4,
and the data symbol allocator aligns the local parity symbols based on locality and sequentially allocates the data symbols in the order of disappearance probability.
제1항에 있어서,
상기 전환 로컬 패리티 심볼 수 설정부는 데이터 심볼의 수 및 소실 확률의 비균일성 정도 중 적어도 하나에 기초하여 상기 전환 로컬 패리티 심볼의 수를 결정하는 것을 특징으로 하는 소실 부호의 부호화 장치.
According to claim 1,
and the switched local parity symbol number setting unit determines the number of switched local parity symbols based on at least one of the number of data symbols and the degree of non-uniformity of the loss probability.
제1항에 있어서,
상기 글로벌 패리티 심볼의 수는 상기 전환 로컬 패리티 심볼의 수만큼 감소되는 것을 특징으로 하는 소실 부호의 부호화 장치.
According to claim 1,
The number of the global parity symbols is reduced by the number of switched local parity symbols.
분산 노드들에 저장되어 있는 부호화할 데이터 심볼들의 소실 확률 균일성을 판단하는 단계(a);
상기 부호화할 데이터 심볼들의 소실 확률이 균일하지 않다고 판단되는 경우, 글로벌 패리티 심볼로부터 전환되는 전환 로컬 패리티 심볼의 수를 설정하는 단계(b);
상기 전환 로컬 패리티 심볼에 할당될 데이터 심볼을 결정하는 단계(c); 및
상기 할당된 데이터 심볼 및 패리티 생성 행렬을 이용하여 글로벌 패리티 심볼들, 로컬 패리티 심볼들 및 상기 전환 로컬 패리티 심볼들의 값을 결정하는 단계(d)를 포함하되,
상기 전환 로컬 패리티 심볼의 로컬리티는 상기 로컬 패리티 심볼의 로컬리티에 비해 낮게 설정되는 것을 특징으로 하는 소실 부호의 부호화 방법.
Determining the uniformity of disappearance probability of the data symbols to be encoded stored in the distributed nodes (a);
(b) setting the number of switched local parity symbols converted from global parity symbols when it is determined that the loss probability of the data symbols to be encoded is not uniform;
(c) determining a data symbol to be assigned to the switched local parity symbol; and
(d) determining values of global parity symbols, local parity symbols and the switched local parity symbols using the allocated data symbols and a parity generation matrix,
The method of encoding a lost code, characterized in that the locality of the switched local parity symbol is set lower than that of the local parity symbol.
제8항에 있어서,
상기 단계(c)는 소실 확률이 상대적으로 높은 데이터 심볼들을 상대적으로 낮은 로컬리티를 가지는 전환 로컬 패리티 심볼에 할당하는 것을 특징으로 하는 소실 부호의 부호화 방법.
9. The method of claim 8,
The step (c) comprises allocating data symbols having a relatively high loss probability to switched local parity symbols having a relatively low locality.
제9항에 있어서,
상기 전환 로컬 패리티 심볼의 수가 복수일 경우, 상기 복수의 전환 로컬 패리티 심볼 중 적어도 일부의 전환 로컬 패리티 심볼의 로컬리티는 다르게 설정되며, 상기 단계(c)는 복수의 전환 로컬 패리티 심볼들 중 상대적으로 낮은 로컬리티를 가지는 전환 로컬 패리티 심볼에 소실 확률이 상대적으로 높은 데이터 심볼들을 할당하고, 복수의 전환 로컬 패리티 심볼들 중 상대적으로 높은 로컬리티를 가지는 전환 로컬 패리티 심볼에 소실 확률이 상대적으로 낮은 데이터 심볼들을 할당하는 것을 특징으로 하는 소실 부호의 부호화 방법.
10. The method of claim 9,
When the number of the switched local parity symbols is plural, the localities of at least some switched local parity symbols among the plurality of switched local parity symbols are set differently, and the step (c) is relatively higher among the plurality of switched local parity symbols. Data symbols having a relatively high loss probability are allocated to switched local parity symbols having low locality, and data symbols having a relatively low loss probability are allocated to switched local parity symbols having a relatively high locality among a plurality of switched local parity symbols. A method of encoding a vanishing code, characterized in that allocating them.
제8항에 있어서,
상기 단계(c)는 소실 확률이 상대적으로 높은 데이터 심볼들을 상기 로컬 패리티 심볼들에 분산하여 할당하는 것을 특징으로 하는 소실 부호의 부호화 방법.
9. The method of claim 8,
The step (c) comprises distributing and allocating data symbols having a relatively high loss probability to the local parity symbols.
제11항에 있어서,
상기 단계(c)는 상기 로컬 패리티 심볼들을 로컬리티에 기초하여 정렬하고 상기 데이터 심볼들을 소실 확률 순으로 순차적으로 할당하는 것을 특징으로 하는 소실 부호의 부호화 방법.
12. The method of claim 11,
The step (c) comprises aligning the local parity symbols based on locality and sequentially allocating the data symbols in the order of disappearance probability.
제8항에 있어서,
상기 단계(b)는 데이터 심볼의 수 및 소실 확률의 비균일성 정도 중 적어도 하나에 기초하여 상기 전환 로컬 패리티 심볼의 수를 결정하는 것을 특징으로 하는 소실 부호의 부호화 방법.
9. The method of claim 8,
The step (b) comprises determining the number of switched local parity symbols based on at least one of the number of data symbols and the degree of non-uniformity of the disappearance probability.
제8항에 있어서,
상기 글로벌 패리티 심볼의 수는 상기 전환 로컬 패리티 심볼의 수만큼 감소되는 것을 특징으로 하는 소실 부호의 부호화 방법.


9. The method of claim 8,
The number of the global parity symbols is reduced by the number of switched local parity symbols.


KR1020190169026A 2019-12-17 2019-12-17 Erasure Coding Method and Device for Irregular Error Situation KR102347189B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190169026A KR102347189B1 (en) 2019-12-17 2019-12-17 Erasure Coding Method and Device for Irregular Error Situation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190169026A KR102347189B1 (en) 2019-12-17 2019-12-17 Erasure Coding Method and Device for Irregular Error Situation

Publications (2)

Publication Number Publication Date
KR20210077414A KR20210077414A (en) 2021-06-25
KR102347189B1 true KR102347189B1 (en) 2022-01-03

Family

ID=76629438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169026A KR102347189B1 (en) 2019-12-17 2019-12-17 Erasure Coding Method and Device for Irregular Error Situation

Country Status (1)

Country Link
KR (1) KR102347189B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150142863A1 (en) 2012-06-20 2015-05-21 Singapore University Of Technology And Design System and methods for distributed data storage
KR101923116B1 (en) 2017-09-12 2018-11-28 연세대학교 산학협력단 Apparatus for Encoding and Decoding in Distributed Storage System using Locally Repairable Codes and Method thereof
KR101934204B1 (en) 2017-07-28 2018-12-31 한양대학교 산학협력단 Erasure Coding Method and Apparatus for Data Storage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007072721A1 (en) * 2005-12-20 2007-06-28 Mitsubishi Electric Corporation Inspection matrix generation method, encoding method, communication device, communication system, and encoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150142863A1 (en) 2012-06-20 2015-05-21 Singapore University Of Technology And Design System and methods for distributed data storage
KR101934204B1 (en) 2017-07-28 2018-12-31 한양대학교 산학협력단 Erasure Coding Method and Apparatus for Data Storage
KR101923116B1 (en) 2017-09-12 2018-11-28 연세대학교 산학협력단 Apparatus for Encoding and Decoding in Distributed Storage System using Locally Repairable Codes and Method thereof

Also Published As

Publication number Publication date
KR20210077414A (en) 2021-06-25

Similar Documents

Publication Publication Date Title
US10795789B2 (en) Efficient recovery of erasure coded data
US11487618B2 (en) Data storage method, apparatus, and system
CA2751358C (en) Distributed storage of recoverable data
EP3101530B1 (en) Data distribution method, data storage method, related apparatus, and system
US20180293018A1 (en) Policy-based hierarchical data protection in distributed storage
US10048999B2 (en) Method and apparatus for optimizing recovery of single-disk failure
US20180004414A1 (en) Incremental erasure coding for storage systems
US20070073990A1 (en) Distribution of data in a distributed shared storage system
US11442827B2 (en) Policy-based hierarchical data protection in distributed storage
US20100161897A1 (en) Metadata server and disk volume selecting method thereof
US20170255510A1 (en) System and method for regenerating codes for a distributed storage system
CN113687975B (en) Data processing method, device, equipment and storage medium
Tebbi et al. A code design framework for multi-rack distributed storage
US20190347165A1 (en) Apparatus and method for recovering distributed file system
KR101934204B1 (en) Erasure Coding Method and Apparatus for Data Storage
KR102347189B1 (en) Erasure Coding Method and Device for Irregular Error Situation
CN111176880B (en) Disk allocation method, device and readable storage medium
KR101873879B1 (en) Data distribution storage apparatus and method using relative difference set generated from the group having the two-dimensional element
US9450617B2 (en) Distribution and replication of erasure codes
CN106027653B (en) A kind of cloudy storage system extended method based on RAID4
CN112181974B (en) Identification information distribution method, system and storage device
KR101756136B1 (en) A fault tolerant method for a hierarchical system
CN113268374A (en) Method for storing data, storage device and data storage system
KR101893566B1 (en) Data distribution storage apparatus and method using cyclic difference family
CN113504875A (en) Erasure code system recovery method and system based on multi-level scheduling

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant