JP6396849B2 - 生成行列構成装置及び生成行列構成方法 - Google Patents
生成行列構成装置及び生成行列構成方法 Download PDFInfo
- Publication number
- JP6396849B2 JP6396849B2 JP2015110148A JP2015110148A JP6396849B2 JP 6396849 B2 JP6396849 B2 JP 6396849B2 JP 2015110148 A JP2015110148 A JP 2015110148A JP 2015110148 A JP2015110148 A JP 2015110148A JP 6396849 B2 JP6396849 B2 JP 6396849B2
- Authority
- JP
- Japan
- Prior art keywords
- row
- column
- matrix
- rows
- code
- 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.)
- Active
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Description
データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成部と、
前記ゼロ行列における所定行において、各列に配置する「1」の個数が一定値となるように、前記所定行の各列に「1」又は「0」を配置する所定行構成部と、
前記ゼロ行列における前記所定行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から前記一定値を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記所定行を除く全ての行の各列に「1」又は「0」を配置する行列構成部と、
を備える。
データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成部と、
前記ゼロ行列における特定の1行において、行に配置する「1」の個数が一定値以上となるように、前記特定の1行の各列に「1」又は「0」を配置する特定行構成部と、
前記特定の1行に「1」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から1を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置し、
前記特定の1行に「0」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が前記符号の最小距離に等しい値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置する行列構成部と、
を備える。
生成行列構成装置が実行する生成行列構成方法であって、
データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成ステップと、
前記ゼロ行列における所定行において、各列に配置する「1」の個数が一定値となるように、前記所定行の各列に「1」又は「0」を配置する所定行構成ステップと、
前記ゼロ行列における前記所定行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から前記一定値を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記所定行を除く全ての行の各列に「1」又は「0」を配置する行列構成ステップと、
を実行する。
生成行列構成装置が実行する生成行列構成方法であって、
データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成ステップと、
前記ゼロ行列における特定の1行において、行に配置する「1」の個数が一定値以上となるように、前記特定の1行の各列に「1」又は「0」を配置する特定行構成ステップと、
前記特定の1行に「1」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から1を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置し、
前記特定の1行に「0」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が前記符号の最小距離に等しい値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置する行列構成ステップと、
を実行する。
本実施形態に係る符号化部12は、生成行列構成装置として機能し、非正則構成の生成行列Gを構成する。本実施形態では、ストレージシステムを構成する全ディスク数を符号長に等しいn、データの分割数をk、パリティディスク数をn−k、符号の最小距離をwとする。n−k行k列のゼロ行列をZとする。
符号長nがある程度小さく、n−k及びwの組み合わせからk種類を選ぶ全組み合わせについて全探索可能である場合、k−n行n列のゼロ行列Zを作成し、Zの各列について探索した組み合わせに相当する行の値を1とする。構成した行列の中で、任意のf列{f=1,2,…,w}を修復可能な行列を生成行列Gとし、最も平均通信量の小さい生成行列を選択する。
符号長nが大きい場合、n−k及びwの組み合わせからk種類を選ぶ数が非常に大きくなるため、生成行列Gの第1の構成法を用いて行列を構成することができない。そこで、生成行列を2つの領域に分割し、列重みを割り振ることで探索範囲に制約をつけ、非正則の生成行列を構成する。具体的には、以下の手順で非正則の生成行列Gを構成する。
(数1)
xCp×n−k−xCw−p≧k (式1)
ただし、x>pである。
x=1のとき、Z31に示すように、1行目に「1111111111」が配置されている。
x=2のとき、Z32に示すように、1行目に「1010101010」が配置され、2行目に「0101010101」が配置されている。
x=1のとき、Z41に示すように、2行目から6行目までの各列に「1」を2つずつ配置する。
x=2のとき、Z42に示すように、1列目から順に、3行目から6行目までの各列に「1」を2つずつ配置する。このとき、各列に「1」を2つずつ配置する組み合わせは6列目で終了する。この場合、7列目以降は、1行目及び2行目の「1」の配置との組み合わせが1列目から6列目までと異なるように、2行目から6行目までの各列に「1」を2つずつ配置する。
符号長nが大きく、ステップS102において式1を満たす[x,p]の組合せが[x,p]=[n−k,w]のみである場合等において、xCpの組合せ数が大きくなり、生成行列Gの第2の構成法で行列を構成することができない。そこで、生成行列の1行目の行重みが平均行重み以上となるように構成することで、残りn−k−1行の探索範囲を制限し、非正則の生成行列Gを構成する。具体的には、以下の手順で非正則の生成行列Gを構成する。
(数2)
E=w×k/(n−k) (式2)
1行目の行重みがW=6のとき、1行目に1を配置する列の組合せをkCwにより決定する。例えば、A={1,2,3,4,5,6}のとき、Z36に示すように、1行目の1列目から6列目までに「1」を配置する。また、1行目の行重みがW=7のとき、1行目に1を配置する列の組合せをkCwにより決定する。例えば、A={1,2,3,7,8,9,10}のとき、Z37に示すように、1行目の1列目から3列目までに「1」を配置し、1行目の7列目から10列目までに「1」を配置する。
例えば、W=7のとき、Z47に示すように、Aに含まれる1列目から3列目まで及び7列目から10列目までは5C2の組合せにより決定される行に「1」を配置し、Aに含まれない4列目から6列目までは5C3の組合せにより決定される行に「1」を配置する。
復号装置は、生成行列Gにn−k行n−k列の単位行列を水平に接続しパリティ検査行列Hとする。
(数3)
H=[G I]
このとき、修復式の行重みから故障列に相当する1を引いた値を修復時の参照ディスク数、参照ディスク数から1を引いた値を修復時のXOR回数、参照ディスク数とディスク容量の積を修復に必要な通信量とする。修復式において値が1の行に該当するディスクのデータのXOR計算により、故障ディスクに保存されていたデータを修復する。
一例として、ストレージシステムを構成するディスク数nおよび分割数kが小さく、(n−k)及びwの組み合わせからk種類を選ぶ組み合わせを全通り探索可能な場合について、通信量を削減する符号化手法を示す。
多地点にデータを分散保存するストレージシステムにおいて、ディスク数nおよび分割数kが大きく、(n−k)及びwの組み合わせからk種類を選ぶ全組み合わせを探索不可能な場合について、RS符号と比較して通信量を削減する符号化手法を示す。
多地点にデータを分散保存するストレージシステムにおいて、ディスク数nおよび分割数kが大きく、(n−k)及びwの組み合わせからk種類を選ぶ全組み合わせを探索不可能な場合について、正則構成のFlat XOR符号と比較して通信量を削減する符号化手法を示す。
11:データ分割部
12:符号化部
13:データ分配部
20:ディスク
Claims (6)
- データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成部と、
前記ゼロ行列における所定行において、各列に配置する「1」の個数が一定値となるように、前記所定行の各列に「1」又は「0」を配置する所定行構成部と、
前記ゼロ行列における前記所定行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から前記一定値を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記所定行を除く全ての行の各列に「1」又は「0」を配置する行列構成部と、
を備える生成行列構成装置。 - 前記所定行が2以上の場合、
前記行列構成部が、前記ゼロ行列における前記所定行を除く全ての行における複数の列において、「1」を配置する行の組み合わせが同じになる場合、当該列同士で前記所定行における「1」を配置する行の組み合わせが異なるように、前記所定行を除く全ての行の各列に「1」又は「0」を配置する、
請求項1に記載の生成行列構成装置。 - データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成部と、
前記ゼロ行列における特定の1行において、行に配置する「1」の個数が一定値以上となるように、前記特定の1行の各列に「1」又は「0」を配置する特定行構成部と、
前記特定の1行に「1」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から1を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置し、
前記特定の1行に「0」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が前記符号の最小距離に等しい値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置する行列構成部と、
を備える生成行列構成装置。 - 前記ゼロ行列は、データの分割数に等しい列数を有し、かつデータを格納するディスク数から前記データの分割数を差し引いて求められるパリティディスク数に等しい行数を有する、請求項1から3のいずれかに記載の生成行列構成装置。
- 生成行列構成装置が実行する生成行列構成方法であって、
データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成ステップと、
前記ゼロ行列における所定行において、各列に配置する「1」の個数が一定値となるように、前記所定行の各列に「1」又は「0」を配置する所定行構成ステップと、
前記ゼロ行列における前記所定行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から前記一定値を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記所定行を除く全ての行の各列に「1」又は「0」を配置する行列構成ステップと、
を実行する生成行列構成方法。 - 生成行列構成装置が実行する生成行列構成方法であって、
データの分割数及びデータを格納するディスク数に基づいてゼロ行列を作成するゼロ行列作成ステップと、
前記ゼロ行列における特定の1行において、行に配置する「1」の個数が一定値以上となるように、前記特定の1行の各列に「1」又は「0」を配置する特定行構成ステップと、
前記特定の1行に「1」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が予め定められた符号の最小距離から1を差し引いた値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置し、
前記特定の1行に「0」が配置された列については、前記ゼロ行列における前記特定の1行を除く全ての行において、各列に配置する「1」の個数が前記符号の最小距離に等しい値となり、かつ「1」を配置する行の組み合わせが列ごとに異なるように、前記特定の1行を除く全ての行の各列に「1」又は「0」を配置する行列構成ステップと、
を実行する生成行列構成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015110148A JP6396849B2 (ja) | 2015-05-29 | 2015-05-29 | 生成行列構成装置及び生成行列構成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015110148A JP6396849B2 (ja) | 2015-05-29 | 2015-05-29 | 生成行列構成装置及び生成行列構成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016224679A JP2016224679A (ja) | 2016-12-28 |
JP6396849B2 true JP6396849B2 (ja) | 2018-09-26 |
Family
ID=57748522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015110148A Active JP6396849B2 (ja) | 2015-05-29 | 2015-05-29 | 生成行列構成装置及び生成行列構成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6396849B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108736899B (zh) * | 2017-06-19 | 2019-07-12 | 华为技术有限公司 | 一种极化码编译码方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058873B2 (en) * | 2002-11-07 | 2006-06-06 | Carnegie Mellon University | Encoding method using a low density parity check code with a column weight of two |
JP4386198B2 (ja) * | 2004-01-20 | 2009-12-16 | 日本電気株式会社 | 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム |
KR100981503B1 (ko) * | 2004-02-13 | 2010-09-10 | 삼성전자주식회사 | 최대 오류 정정/오류 검출 능력을 가지는 저밀도 패리티검사 부호 부호화/복호화 장치 및 방법 |
US8145941B2 (en) * | 2006-10-31 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Detection and correction of block-level data corruption in fault-tolerant data-storage systems |
EP2264930B1 (en) * | 2009-06-15 | 2014-05-14 | Canon Kabushiki Kaisha | Distributed code generation method and device |
-
2015
- 2015-05-29 JP JP2015110148A patent/JP6396849B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016224679A (ja) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146618B2 (en) | Distributed data storage with reduced storage overhead using reduced-dependency erasure codes | |
US7930611B2 (en) | Erasure-resilient codes having multiple protection groups | |
US7904782B2 (en) | Multiple protection group codes having maximally recoverable property | |
Papailiopoulos et al. | Simple regenerating codes: Network coding for cloud storage | |
Huang et al. | Pyramid codes: Flexible schemes to trade space for access efficiency in reliable data storage systems | |
US20170083603A1 (en) | Co-derived data storage patterns for distributed storage systems | |
US8392805B2 (en) | Non-MDS erasure codes for storage systems | |
US20140380114A1 (en) | Data encoding for data storage system based on generalized concatenated codes | |
CN106484559B (zh) | 一种校验矩阵的构造方法及水平阵列纠删码的构造方法 | |
US11748197B2 (en) | Data storage methods and systems | |
Kamath et al. | Codes with local regeneration | |
EP3635554B1 (en) | Layered error correction encoding for large scale distributed object storage system | |
US10740182B2 (en) | Erased memory page reconstruction using distributed coding for multiple dimensional parities | |
Ivanichkina et al. | Mathematical methods and models of improving data storage reliability including those based on finite field theory | |
Balaji et al. | On partial maximally-recoverable and maximally-recoverable codes | |
US20200336157A1 (en) | Systematic and xor-based coding technique for distributed storage systems | |
JP6396849B2 (ja) | 生成行列構成装置及び生成行列構成方法 | |
Bao et al. | Reducing network cost of data repair in erasure-coded cross-datacenter storage | |
WO2016201639A1 (zh) | 分布式数据存储方法、控制设备和系统 | |
Yongmei et al. | Large LDPC codes for big data storage | |
Calis et al. | Architecture-aware coding for distributed storage: Repairable block failure resilient codes | |
Li et al. | Parallelism-aware locally repairable code for distributed storage systems | |
Wei et al. | expanCodes: Tailored LDPC codes for big data storage | |
Yi et al. | Two-erasure codes from 3-plexes | |
Xu et al. | Expander code: A scalable erasure-resilient code to keep up with data growth in distributed storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180809 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180830 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6396849 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |