JP6670311B2 - 分散ストレージのための多重イレージャーコード - Google Patents
分散ストレージのための多重イレージャーコード Download PDFInfo
- Publication number
- JP6670311B2 JP6670311B2 JP2017533887A JP2017533887A JP6670311B2 JP 6670311 B2 JP6670311 B2 JP 6670311B2 JP 2017533887 A JP2017533887 A JP 2017533887A JP 2017533887 A JP2017533887 A JP 2017533887A JP 6670311 B2 JP6670311 B2 JP 6670311B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- erasure
- data access
- state
- 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
- 238000003860 storage Methods 0.000 title claims description 74
- 238000000034 method Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 28
- 238000011084 recovery Methods 0.000 claims description 28
- 230000003044 adaptive effect Effects 0.000 claims description 25
- 238000004519 manufacturing process Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000007423 decrease Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/35—Unequal 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/356—Unequal error protection [UEP]
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- 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/2909—Product codes
-
- 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/35—Unequal 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Detection And Correction Of Errors (AREA)
- Retry When Errors Occur (AREA)
Description
Claims (27)
- ストレージ・システムにおいてイレージャーコードを動的に選択する方法であって、
データ・アクセス状態をトラッキングするステップと、
前記トラッキングされたデータ・アクセス状態に基づいて、頻繁にアクセスされるデータに対する高速リカバリコードおよびアクセス頻度の低いデータに対するコンパクトコードを含む、少なくとも2つのイレージャーコードの間で適応的に選択を行うステップと、
前記選択されたイレージャーコードを使って前記データをエンコードするステップと、
を含む、方法。 - 前記イレージャーコードを使って前記データをエンコードすることにより、当該データが複数のデータ・ブロックに分割され、かつ、1以上のパリティブロックが生成される、請求項1に記載の方法。
- 前記コンパクトコードで前記データをエンコードした際に生成されるパリティブロックの数は、前記高速リカバリコードで前記データをエンコードした際に生成されるパリティブロックの数より少ない、請求項2に記載の方法。
- 前記トラッキングされたデータ・アクセス状態に基づいて、前記少なくとも2つのイレージャーコードの間で動的に変換を行うステップをさらに含む、請求項1に記載の方法。
- グローバル状態に基づいて、前記少なくとも2つのイレージャーコードの間で動的に変換を行うステップをさらに含む、請求項1に記載の方法。
- 前記グローバル状態がシステム・ストレージの容量を含む、請求項5に記載の方法。
- 前記グローバル状態が示すシステム・ストレージの容量が閾値を超える、または前記トラッキングされるデータ・アクセス状態がデータ・アクセスの減少を示すのに応じて、高速リカバリコードでエンコードされた1つ以上のデータのセットをコンパクトコードでエンコードされるように動的に変換するステップをさらに含む、請求項5に記載の方法。
- 前記トラッキングされるデータ・アクセス状態がデータ・アクセスの増加を示し、且つ前記グローバル状態が示すシステム・ストレージの容量が閾値を下回っているのに応じて、コンパクトコードでエンコードされた1つ以上のデータのセットを、高速リカバリコードでエンコードされるように動的に変換するステップをさらに含む、請求項5に記載の方法。
- 前記データ・アクセス状態が、直近の修正時間、サイズ、読み取りカウント、符号化状態、およびこれらの組み合わせからなる群から選択されたデータを含む、請求項1に記載の方法。
- 前記2つのイレージャーコードは、プロダクションコード又はローカル再構築コードの何れかのファミリを用いることができる、請求項1に記載の方法。
- ストレージ・システムにおいてイレージャーコードを動的に選択するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムがプログラム・コードを含み、前記プログラム・コードはプロセッサに、
データ・アクセス状態をトラッキングするステップ、
前記トラッキングされたデータ・アクセス状態に基づいて、頻繁にアクセスされるデータに対する高速リカバリコードおよびアクセス頻度の低いデータに対するコンパクトコードを含む、少なくとも2つのイレージャーコードの間で適応的に選択を行うステップ、および
前記選択されたイレージャーコードを使って前記データをエンコードするステップ、
を実行させるためのコンピュータ・プログラム。 - 前記トラッキングされたデータ・アクセス状態に基づいて、前記少なくとも2つのイレージャーコードの間で動的に変換を行うためのプログラム・コードをさらに含む、請求項11に記載のコンピュータ・プログラム。
- グローバル状態に基づいて、前記少なくとも2つのイレージャーコードの間で動的に変換を行うためのプログラム・コードをさらに含む、請求項11に記載のコンピュータ・プログラム。
- 前記グローバル状態がシステム・ストレージの容量を含む、請求項13に記載のコンピュータ・プログラム。
- 前記グローバル状態が示すシステム・ストレージの容量が閾値を超える、または前記トラッキングされるデータ・アクセス状態がデータ・アクセスの減少を示すのに応じて、高速リカバリコードでエンコードされた1つ以上のデータのセットをコンパクトコードでエンコードされるように動的に変換するためのプログラム・コードをさらに含む、請求項13に記載のコンピュータ・プログラム。
- 前記トラッキングされるデータ・アクセス状態がデータ・アクセスの増加を示し、且つ前記グローバル状態が示すシステム・ストレージの容量が閾値を下回っているのに応じて、コンパクトコードでエンコードされた1つ以上のデータのセットを、高速リカバリコードでエンコードされるように動的に変換するためのプログラム・コードをさらに含む、請求項13に記載のコンピュータ・プログラム。
- データ・アクセス状態に基づいて、データに対するイニシャルイレージャーコードを選択し、前記イニシャルイレージャーコードを使って前記データをエンコードし、前記エンコードされたデータを前記イニシャルイレージャーコードとは異なる第二イレージャーコードで変換するためのプログラム・コードをさらに含み、前記変換は、前記データ・アクセス状態およびグローバル状態の両方に基づく、請求項11に記載のコンピュータ・プログラム。
- 前記データ・アクセス状態が、直近の修正時間、サイズ、読み取りカウント、符号化状態、およびこれらの組み合わせからなる群から選択されたデータを含む、請求項11に記載のコンピュータ・プログラム。
- 前記2つのイレージャーコードは、プロダクションコード又はローカル再構築コードの何れかのファミリを用いることができる、請求項11に記載のコンピュータ・プログラム。
- データ・ストレージと通信しているプロセッサと、
イレージャーコードを動的に選択するため、前記プロセッサと通信しているツールであって、
データ・アクセスの状態をトラッキングするためのシステム状態モジュール、
前記システム状態モジュールによってトラッキングされた前記データ・アクセス状態に基づいて、頻繁にアクセスされるデータに対する高速リカバリコードおよびアクセス頻度の低いデータに対するコンパクトコードを含む、少なくとも2つのイレージャーコードの間で適応的に選択を行うためのアダプティブコーディングモジュール、および
前記アダプティブコーディングモジュールによって選択された前記イレージャーコードを使って前記データをエンコードするためのコーディングモジュール、
を含む前記ツールと、
を含むコンピュータ・システム。 - 前記トラッキングされたデータ・アクセス状態に基づいて、少なくとも2つのイレージャーコードの間で動的に変換を行うための前記アダプティブコーディングモジュールをさらに含む、請求項20に記載のシステム。
- グローバル状態に基づいて、前記少なくとも2つのイレージャーコードの間で動的に変換を行うための前記アダプティブコーディングモジュールをさらに含む、請求項20に記載のシステム。
- 前記グローバル状態がシステム・ストレージの容量を含む、請求項22に記載のシステム。
- 前記グローバル状態が示すシステム・ストレージの容量が閾値を超える、または前記トラッキングされるデータ・アクセス状態がデータ・アクセスの減少を示すのに応じて、高速リカバリコードでエンコードされた1つ以上のデータのセットをコンパクトコードでエンコードされるように動的に変換するための前記アダプティブコーディングモジュールをさらに含む、請求項22に記載のシステム。
- 前記トラッキングされるデータ・アクセス状態がデータ・アクセスの増加を示し、且つ前記グローバル状態が示すシステム・ストレージの容量が閾値を下回っているのに応じて、コンパクトコードでエンコードされた1つ以上のデータのセットを、高速リカバリコードでエンコードされるように動的に変換するための前記アダプティブコーディングモジュールをさらに含む、請求項22に記載のシステム。
- ストレージ・システムにおいてイレージャーコードを選択する方法であって、
2つのイレージャーコードの1つを使って書き込みファイルをエンコードするステップを含む、前記書き込みファイルを保護するステップと、
前記エンコードされた書き込みファイルのアクセスをトラッキングするステップと、
前記トラッキングされたファイル・アクセスに基づいて、前記少なくとも2つのイレージャーコードの間で動的に選択を行うステップであって、前記イレージャーコードは、頻繁にアクセスされるデータに対する高速リカバリコードおよびアクセス頻度の低いデータに対するコンパクトコードを含む、前記選択を行うステップと、
前記選択されたイレージャーコードを使って前記書き込みファイルをエンコードするステップと、
を含む、方法。 - ストレージ・システムにおいてイレージャーコードを動的に選択するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムがプログラム・コードを含み、前記プログラム・コードはプロセッサに、
2つのイレージャーコードの1つを使って書き込みファイルをエンコードするステップを含む、前記書き込みファイルを保護するステップ、
前記エンコードされた書き込みファイルのアクセスをトラッキングするステップ、
前記トラッキングされたファイル・アクセスに基づいて、前記少なくとも2つのイレージャーコードの間で動的に選択を行うステップであって、前記イレージャーコードは、頻繁にアクセスされるデータに対する高速リカバリコードおよびアクセス頻度の低いデータに対するコンパクトコードを含む、前記選択を行うステップ、
前記選択されたイレージャーコードを使って前記書き込みファイルをエンコードするステップ、を実行させるためのコンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/600,532 | 2015-01-20 | ||
US14/600,532 US9595979B2 (en) | 2015-01-20 | 2015-01-20 | Multiple erasure codes for distributed storage |
PCT/EP2016/050821 WO2016116377A1 (en) | 2015-01-20 | 2016-01-15 | Multiple erasure codes for distributed storage |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018507462A JP2018507462A (ja) | 2018-03-15 |
JP6670311B2 true JP6670311B2 (ja) | 2020-03-18 |
Family
ID=55182304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017533887A Active JP6670311B2 (ja) | 2015-01-20 | 2016-01-15 | 分散ストレージのための多重イレージャーコード |
Country Status (4)
Country | Link |
---|---|
US (3) | US9595979B2 (ja) |
JP (1) | JP6670311B2 (ja) |
GB (1) | GB2546940B (ja) |
WO (1) | WO2016116377A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10187083B2 (en) * | 2015-06-26 | 2019-01-22 | Microsoft Technology Licensing, Llc | Flexible erasure coding with enhanced local protection group structures |
CN105159618B (zh) * | 2015-09-25 | 2018-08-28 | 清华大学 | 用于单盘失效修复的优化方法及优化装置 |
CN106649406B (zh) * | 2015-11-04 | 2020-04-28 | 华为技术有限公司 | 一种自适应存储文件的方法和装置 |
WO2017107107A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Techniques to recover data in a network storage system |
US9817713B2 (en) * | 2016-02-04 | 2017-11-14 | International Business Machines Corporation | Distributed cache system utilizing multiple erasure codes |
US10218789B2 (en) * | 2016-03-04 | 2019-02-26 | Western Digital Technologies, Inc. | Erasure correcting coding using temporary erasure data |
US10142419B2 (en) | 2016-03-04 | 2018-11-27 | Sandisk Technologies Llc | Erasure correcting coding using data subsets and partial parity symbols |
US9916478B2 (en) * | 2016-03-24 | 2018-03-13 | Netapp, Inc. | Data protection enhancement using free space |
US10452477B2 (en) * | 2016-08-26 | 2019-10-22 | Netapp, Inc. | Multiple node repair using high rate minimum storage regeneration erasure code |
US10567009B2 (en) * | 2016-12-06 | 2020-02-18 | Nutanix, Inc. | Dynamic erasure coding |
US10423351B1 (en) * | 2017-04-28 | 2019-09-24 | EMC IP Holding Company LLC | System and method for capacity and network traffic efficient data protection on distributed storage system |
CN109150792B (zh) | 2017-06-15 | 2022-03-08 | 杭州海康威视数字技术股份有限公司 | 一种提高数据存储安全性方法及装置 |
CN107436733B (zh) * | 2017-06-29 | 2020-11-06 | 华为技术有限公司 | 分片管理方法和分片管理装置 |
KR101934204B1 (ko) * | 2017-07-28 | 2018-12-31 | 한양대학교 산학협력단 | 데이터 저장을 위한 소실 부호의 부호화 방법 및 장치 |
CN109426590A (zh) * | 2017-09-01 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 用于数据节点存储数据的方法和用于恢复数据的方法 |
US10929226B1 (en) * | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
CN110018783B (zh) | 2018-01-09 | 2022-12-20 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置及系统 |
CN108255432A (zh) * | 2018-01-12 | 2018-07-06 | 郑州云海信息技术有限公司 | 基于分层存储的写操作控制方法、系统、装置及存储介质 |
US10592337B1 (en) * | 2018-03-27 | 2020-03-17 | Veritas Technologies Llc | Systems and methods for distributing information across distributed storage devices |
FR3080196B1 (fr) * | 2018-04-13 | 2022-10-14 | Inst Mines Telecom | Methodes et dispositifs de codage et de decodage de donnees |
CN112889033A (zh) * | 2018-10-15 | 2021-06-01 | Netapp股份有限公司 | 提高具有变化的数据冗余方案的系统中的可用存储空间 |
CN109960588B (zh) * | 2019-03-20 | 2020-12-08 | 华中科技大学 | 一种针对异构内存集群的读请求调度方法及系统 |
US10951237B2 (en) | 2019-03-22 | 2021-03-16 | International Business Machines Corporation | Composing array codes for power of two and variable block sizes |
US11314593B2 (en) | 2019-06-25 | 2022-04-26 | Western Digital Technologies, Inc. | Storage node processing of data functions using overlapping symbols |
US11055018B2 (en) * | 2019-06-25 | 2021-07-06 | Western Digital Technologies, Inc. | Parallel storage node processing of data functions |
US10990324B2 (en) | 2019-06-25 | 2021-04-27 | Western Digital Technologies, Inc. | Storage node processing of predefined data functions |
US11281531B2 (en) | 2019-06-25 | 2022-03-22 | Western Digital Technologies, Inc. | Serial storage node processing of data functions |
CN111837117B (zh) * | 2019-09-11 | 2024-04-16 | 创新先进技术有限公司 | 可信执行环境中基于纠错编码的共享区块链数据存储 |
JP7355616B2 (ja) | 2019-11-26 | 2023-10-03 | 株式会社日立製作所 | 分散ストレージシステムおよび分散ストレージシステムのパリティ更新方法 |
US11709609B2 (en) * | 2020-03-27 | 2023-07-25 | Via Technologies, Inc. | Data storage system and global deduplication method thereof |
CN113918378A (zh) * | 2020-07-10 | 2022-01-11 | 华为技术有限公司 | 数据存储方法、存储系统、存储设备及存储介质 |
CN112162967A (zh) * | 2020-09-24 | 2021-01-01 | 中广核工程有限公司 | 工控系统数据安全的拟态存储系统及方法 |
CN112256471A (zh) * | 2020-10-19 | 2021-01-22 | 北京京航计算通讯研究所 | 基于网络数据转发与控制层面分离的纠删码修复方法 |
CN113886115B (zh) * | 2021-09-09 | 2024-02-20 | 上海智能网联汽车技术中心有限公司 | 一种基于车路协同的区块链拜占庭容错方法及系统 |
US11899941B2 (en) | 2021-11-11 | 2024-02-13 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
CN114936188B (zh) * | 2022-05-30 | 2024-10-11 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115793984B (zh) * | 2023-01-03 | 2023-04-28 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、计算机设备及存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321703A (en) * | 1992-03-13 | 1994-06-14 | Digital Equipment Corporation | Data recovery after error correction failure |
KR100387078B1 (ko) * | 1997-07-30 | 2003-10-22 | 삼성전자주식회사 | 대역확산통신시스템의심볼천공및복구장치및방법 |
US7050419B2 (en) * | 2001-02-23 | 2006-05-23 | Terayon Communicaion Systems, Inc. | Head end receiver for digital data delivery systems using mixed mode SCDMA and TDMA multiplexing |
US20050210179A1 (en) * | 2002-12-02 | 2005-09-22 | Walmsley Simon R | Integrated circuit having random clock or random delay |
CN101031971A (zh) | 2004-08-02 | 2007-09-05 | 皇家飞利浦电子股份有限公司 | 数据存储和重放设备 |
US7945729B2 (en) * | 2004-11-24 | 2011-05-17 | International Business Machines Corporation | System and method for tolerating multiple storage device failures in a storage system using horizontal and vertical parity layouts |
US8122323B2 (en) * | 2007-03-08 | 2012-02-21 | Intel Corporation | Method, apparatus, and system for dynamic ECC code rate adjustment |
US8386868B2 (en) | 2008-04-16 | 2013-02-26 | Sandisk Il, Ltd. | Using programming-time information to support error correction |
EP2294510B1 (en) | 2008-06-24 | 2011-12-28 | SanDisk IL Ltd. | Method and apparatus for error correction according to erase counts of a solid-state memory |
US20100218037A1 (en) | 2008-09-16 | 2010-08-26 | File System Labs Llc | Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof |
US8386838B1 (en) * | 2009-12-01 | 2013-02-26 | Netapp, Inc. | High-availability of a storage system in a hierarchical virtual server environment |
US8392805B2 (en) * | 2010-07-15 | 2013-03-05 | Hewlett-Packard Development Company, L. P. | Non-MDS erasure codes for storage systems |
WO2012058328A1 (en) * | 2010-10-27 | 2012-05-03 | Sandforce, Inc. | Adaptive ecc techniques for flash memory based data storage |
WO2012068184A1 (en) | 2010-11-15 | 2012-05-24 | File System Labs Llc | Methods and apparatus for distributed data storage |
US8433979B2 (en) * | 2011-02-28 | 2013-04-30 | International Business Machines Corporation | Nested multiple erasure correcting codes for storage arrays |
WO2013191658A1 (en) | 2012-06-20 | 2013-12-27 | Singapore University Of Technology And Design | System and methods for distributed data storage |
US9354991B2 (en) * | 2013-06-25 | 2016-05-31 | Microsoft Technology Licensing, Llc | Locally generated simple erasure codes |
US9201728B2 (en) * | 2013-09-12 | 2015-12-01 | Seagate Technology Llc | Memory device with variable code rate |
US9356628B2 (en) * | 2014-02-13 | 2016-05-31 | Quantum Corporation | Dynamically reconfiguring rebuild agents for erasure code rebuild |
US9727437B2 (en) * | 2014-02-18 | 2017-08-08 | Quantum Corporation | Dynamically controlling erasure code distribution in an object store |
US9594634B2 (en) * | 2014-06-02 | 2017-03-14 | Intel Corporation | Techniques to efficiently compute erasure codes having positive and negative coefficient exponents to permit data recovery from more than two failed storage units |
US9612952B2 (en) * | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
-
2015
- 2015-01-20 US US14/600,532 patent/US9595979B2/en active Active
-
2016
- 2016-01-15 GB GB1707491.5A patent/GB2546940B/en active Active
- 2016-01-15 JP JP2017533887A patent/JP6670311B2/ja active Active
- 2016-01-15 WO PCT/EP2016/050821 patent/WO2016116377A1/en active Application Filing
- 2016-08-01 US US15/224,992 patent/US10305516B2/en active Active
- 2016-11-29 US US15/363,606 patent/US10014881B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170077961A1 (en) | 2017-03-16 |
US10305516B2 (en) | 2019-05-28 |
US20160336970A1 (en) | 2016-11-17 |
WO2016116377A1 (en) | 2016-07-28 |
GB2546940B (en) | 2017-11-08 |
JP2018507462A (ja) | 2018-03-15 |
GB201707491D0 (en) | 2017-06-21 |
US10014881B2 (en) | 2018-07-03 |
US20160211869A1 (en) | 2016-07-21 |
US9595979B2 (en) | 2017-03-14 |
GB2546940A (en) | 2017-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6670311B2 (ja) | 分散ストレージのための多重イレージャーコード | |
US10887416B2 (en) | Efficient high availability and storage efficiency in a multi-site object storage environment | |
US10735545B2 (en) | Routing vault access requests in a dispersed storage network | |
US20170123848A1 (en) | Multi-task processing in a distributed storage network | |
US20170214773A1 (en) | Adaptive compression and transmission for big data migration | |
US10853146B1 (en) | Efficient data forwarding in a networked device | |
JP2020509490A (ja) | 分散型ストレージ・ネットワーク内のゾーンにおけるデータの順次記憶 | |
CN110720088A (zh) | 集成到大容量存储设备的可访问快速耐久存储 | |
JP2016062609A (ja) | コンピュータ実装された動的シャーディング方法 | |
WO2015167665A1 (en) | Retrieving multi-generational stored data in a dispersed storage network | |
US10969962B2 (en) | Compacting data in a dispersed storage network | |
US9916319B2 (en) | Effective method to compress tabular data export files for data movement | |
US10505862B1 (en) | Optimizing for infrastructure diversity constraints in resource placement | |
US10949129B2 (en) | Adjusting data ingest based on compaction rate in a dispersed storage network | |
CN111104389A (zh) | 用于在信息技术环境中智能地使数据库备份操作的负载平衡的方法和系统 | |
WO2023273977A1 (en) | Transferring task data between edge devices in edge computing | |
US11178197B2 (en) | Idempotent processing of data streams | |
JP2023505442A (ja) | 第2のタイプのメモリとしてのダイナミック・ランダム・アクセス・メモリ・キャッシュの提供 | |
US11019146B2 (en) | Segmenting and merging data in a dispersed storage network | |
US20210334040A1 (en) | Aggressive intent write request cancellation | |
US10698862B2 (en) | Enhanced snapshot performance, storage efficiency improvement, dynamic snapshot policy in erasure code supported object storage environment | |
US10719483B2 (en) | Remote copy with data deduplication functionality | |
US10931756B2 (en) | Direct file send from storage to end client by transferring socket information to the storage | |
US10409522B2 (en) | Reclaiming storage capacity in a dispersed storage network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170814 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191105 |
|
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: 20200213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6670311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |