JP5961746B2 - 多次元raidのための方法およびシステム - Google Patents
多次元raidのための方法およびシステム Download PDFInfo
- Publication number
- JP5961746B2 JP5961746B2 JP2015501902A JP2015501902A JP5961746B2 JP 5961746 B2 JP5961746 B2 JP 5961746B2 JP 2015501902 A JP2015501902 A JP 2015501902A JP 2015501902 A JP2015501902 A JP 2015501902A JP 5961746 B2 JP5961746 B2 JP 5961746B2
- Authority
- JP
- Japan
- Prior art keywords
- raid
- data
- raid grid
- parity
- grid
- 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
- 238000000034 method Methods 0.000 title claims description 68
- 230000002085 persistent effect Effects 0.000 claims description 25
- 239000007787 solid Substances 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 17
- 101100508417 Caenorhabditis elegans ifd-2 gene Proteins 0.000 description 6
- 208000029545 Linear nevus sebaceus syndrome Diseases 0.000 description 5
- 208000020038 linear nevus sebaceous syndrome Diseases 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 201000007946 Congenital intrinsic factor deficiency Diseases 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 208000034419 hereditary intrinsic factor deficiency Diseases 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
ストレージシステムにおけるデータの潜在的な損失に対する保護のために、複製スキームを実施することはしばしば有利である。現在の複製スキームは、ストレージシステム内のデータを読み出すことができなくなる前に、限られた量のエラーに耐えることができるだけである。
一般に、1つの局面において、本発明はデータを格納するための方法に関する。当該方法は、データを書き込む要求を受け取るステップと、上記要求に応答して、上記データを書き込むようRAIDグリッドにおけるRAIDグリッド位置を選択するステップと、上記データをメモリに書き込むステップとを含み、上記データは、上記メモリに一時的に格納されており、上記方法はさらに、上記RAIDグリッド位置が充填されていることを示すようデータ構造を更新するステップと、上記データ構造を使用して、上記RAIDグリッドにおけるデータグリッドが充填されているかどうかを決定するステップとを含み、上記RAIDグリッド位置は上記データグリッドに存在しており、上記方法はさらに、上記データグリッドが充填されているという決定に基づいて、上記データを使用して上記RAIDグリッドについてのパリティ値を計算するステップと、上記RAIDグリッド位置に対応する持続性ストレージにおける物理アドレスを決定するステップと、上記物理アドレスに対応する持続性ストレージにおける物理的位置に上記データを書き込むステップと、上記持続性ストレージに上記パリティ値を書き込むステップとを含む。
ここで、本発明の特定の実施形態を添付の図面を参照して詳細に記載する。本発明の実施形態の以下の詳細な説明において、本発明のより完全な理解を提供するために多くの特定の詳細が記載される。しかしながら、本発明がこれらの特定の詳細がなくても実施されてもよいことは当業者には明らかであろう。他の例では、説明を不必要に複雑にすることを回避するよう周知の機構は詳細に記載されない。
Claims (29)
- 実行されるとデータを格納するための方法を行なう命令を含むプログラムであって、前記方法は、
データを書き込む要求を受け取るステップと、
前記要求に応答して、前記データを書き込むようRAIDグリッドにおける独立ディスク冗長アレイ(RAID)グリッド位置を選択するステップと、
前記データをメモリに書き込むステップとを含み、前記データは、前記メモリに一時的に格納されており、前記方法はさらに、
前記RAIDグリッド位置が充填されていることを示すようデータ構造を更新するステップと、
前記データ構造を使用して、前記RAIDグリッドにおけるデータグリッドが充填されているかどうかを決定するステップとを含み、前記RAIDグリッド位置は前記データグリッドに存在しており、前記方法はさらに、
前記データグリッドが充填されているという決定に基づいて、
前記データを使用して前記RAIDグリッドについてのパリティ値を計算するステップを含み、前記RAIDグリッドは、ロウQパリティグループ、ロウPパリティグループ、カラムQパリティグループ、カラムPパリティグループおよびインターセクションパリティグループを含んでおり、前記パリティ値の各々は、前記ロウQパリティグループ、前記ロウPパリティグループ、前記カラムQパリティグループ、前記カラムPパリティグループおよび前記インターセクションパリティグループからなるグループから選択されるものに関連付けられており、前記インターセクションパリティグループに関連付けられるパリティ値は、前記ロウQパリティグループ、前記ロウPパリティグループ、前記カラムQパリティグループおよび前記カラムPパリティグループからなるグループから選択される少なくとも1つからの前記パリティ値を使用して計算され、前記方法はさらに、
前記RAIDグリッド位置に対応する持続性ストレージにおける物理アドレスを決定するステップと、
前記物理アドレスに対応する持続性ストレージにおける物理的位置に前記データを書き込むステップと、
前記持続性ストレージに前記パリティ値を書き込むステップとを含む、プログラム。 - 前記方法はさらに、
RAIDキューブのデータ部分が充填されているかどうかを決定するステップを含み、前記データ部分は複数のRAIDグリッドを含んでおり、前記RAIDグリッドは前記複数のRAIDグリッドのうちの1つであり、前記方法はさらに、
前記データ部分が充填されているという決定に基づき、
前記データ部分における値を使用して前記RAIDキューブのパリティ部分についてのパリティ値を計算するステップと、
前記パリティ部分についての前記パリティ値を持続性ストレージに書き込むステップとを含む、請求項1に記載のプログラム。 - 前記パリティ部分はPパリティRAIDグリッドおよびQパリティRAIDグリッドを含む、請求項2に記載のプログラム。
- 前記RAIDキューブは、第1の次元、第2の次元および第3の次元を含んでおり、前記第1の次元は第1の独立した障害ドメインに関連付けられ、前記第2の次元は第2の独立した障害ドメインに関連付けられ、前記第3の次元は第3の独立した障害ドメインに関連付けられる、請求項2に記載のプログラム。
- 前記持続性ストレージにおける前記物理的位置は、前記第1の独立した障害ドメイン、前記第2の独立した障害ドメインおよび前記第3の独立した障害ドメインを少なくとも部分的に使用して特定される、請求項4に記載のプログラム。
- 前記持続性ストレージは複数のストレージモジュールを含んでおり、前記複数のストレージモジュールの各々はソリッドステートメモリを含んでおり、前記第1の独立した障害ドメインは前記複数のストレージモジュールであり、前記第2の独立した障害ドメインは前記複数のストレージモジュールの各々における複数のチャンネルであり、前記第3の独立した障害ドメインは前記複数のストレージモジュールの各々における複数のNANDダイである、請求項4に記載のプログラム。
- 前記パリティ値は、Pパリティ値、Qパリティ値およびインターセクションパリティ値からなるグループから選択される少なくとも1つを含む、請求項1に記載のプログラム。
- 前記RAIDグリッドは第1の次元および第2の次元を含んでおり、前記第1の次元は第1の独立した障害ドメインに関連付けられており、前記第2の次元は第2の独立した障害ドメインに関連付けられている、請求項1に記載のプログラム。
- 前記持続性ストレージにおける前記物理的位置は、前記第1の独立した障害ドメインおよび前記第2の独立した障害ドメインを少なくとも部分的に使用して特定される、請求項8に記載のプログラム。
- 前記持続性ストレージは複数のストレージモジュールを含んでおり、前記複数のストレージモジュールの各々はソリッドステートメモリを含んでおり、前記第1の独立した障害ドメインは前記複数のストレージモジュールであり、前記第2の独立した障害ドメインは、前記複数のストレージモジュールの各々における複数のチャンネルである、請求項9に記載のプログラム。
- 前記持続性ストレージは複数のストレージモジュールを含んでおり、前記複数のストレージモジュールの各々はソリッドステートメモリを含んでおり、前記第1の独立した障害ドメインは、前記複数のストレージモジュールの各々における複数のチャンネルであり、前記第2の独立した障害ドメインは、前記複数のストレージモジュールの各々における複数のNANDダイである、請求項9に記載のプログラム。
- 実行されるとデータを再構築するための方法を行なう命令を含むプログラムであって、前記方法は、
第1のデータについての要求を受け取るステップと、
前記第1のデータを取得するステップとを含み、前記第1のデータは持続性ストレージにおける第1の物理的位置から取得され、前記第1の物理的位置は第1の物理アドレスに関連付けられており、前記方法はさらに、
前記第1のデータは破損および未取得からなるグループから選択されるものであるという第1の決定を行うステップを含み、
前記第1の決定に基づいて、
前記第1の物理アドレスに対応する第1の独立ディスク冗長アレイ(RAID)グリッド位置を識別するステップと、
第1のRAIDグリッドが前記第1のRAIDグリッド位置に関連付けられることを識別するステップと、
前記第1のRAIDグリッドに関連付けられる、前記第1のRAIDグリッドおよび第2のRAIDグリッドを含むRAIDキューブを識別するステップと、
前記第1のRAIDグリッドにおいて少なくとも1つの値を使用して前記第1のデータを再構築する第1の試みを行うステップとを含み、前記第1の試みは失敗し、前記方法はさらに、
前記第1の試みが失敗した後、前記第2のRAIDグリッドにおいて少なくとも1つの値を使用して前記第1のデータを再構築する第2の試みを行うステップを含み、前記第2の試みは成功し、前記方法はさらに、
再構築された前記第1のデータをクライアントに提供するステップを含む、プログラム。 - 前記方法は、
第2のデータについての要求を受け取るステップと、
前記第2のデータを取得するステップとをさらに含み、前記第2のデータは持続性ストレージにおける第2の物理的位置から取得され、前記第2の物理的位置は、第2の物理アドレスに関連付けられており、前記方法はさらに、
前記第2のデータが破損しているという第3の決定を行うステップを含み、
前記第3の決定に基づいて、
前記第2の物理アドレスに対応する第2のRAIDグリッド位置を識別するステップと、
前記第1のRAIDグリッドが前記第2のRAIDグリッド位置に関連付けられることを識別するステップと、
前記第1のRAIDグリッドにおける少なくとも1つの値を使用して前記第2のデータを再構築する第3の試みを行うステップとを含み、前記第3の試みは失敗し、前記方法はさらに、
前記第3の試みが失敗した後、前記第2のRAIDグリッドにおいて少なくとも1つの値を使用して前記第2のデータを再構築する第4の試みを行うステップを含み、前記第4の試みは失敗し、前記方法はさらに、
前記第4の試みが失敗した後、前記RAIDキューブのパリティ部分からの少なくとも1つの値を使用して前記第2のデータを再構築する第5の試みを行うステップを含み、前記第5の試みは成功し、前記方法はさらに、
再構築された前記第2のデータを前記クライアントに提供するステップを含む、請求項12に記載のプログラム。 - 前記パリティ部分はPパリティ値およびQパリティ値を含む、請求項13に記載のプログラム。
- 前記Pパリティ値は、前記第1のRAIDグリッドに関連付けられる少なくとも1つの値と前記第2のRAIDグリッドに関連付けられる少なくとも1つの値とを使用して計算される、請求項14に記載のプログラム。
- 前記第1のRAIDグリッドは、前記第1のRAIDグリッドについてのロウQパリティグループ、前記第1のRAIDグリッドについてのロウPパリティグループ、前記第1のRAIDグリッドについてのカラムQパリティグループ、および前記第1のRAIDグリッドについてのカラムPパリティグループからなるグループから選択される少なくとも1つを含み、
前記第2のRAIDグリッドは、前記第2のRAIDグリッドについてのロウQパリティグループ、前記第2のRAIDグリッドについてのロウPパリティグループ、前記第2のRAIDグリッドについてのカラムQパリティグループ、および前記第2のRAIDグリッドについてのカラムPパリティグループからなるグループから選択される少なくとも1つを含む、請求項12に記載のプログラム。 - 前記第1のRAIDグリッドにおける前記少なくとも1つの値は、データグリッドにおけるRAIDグリッド位置に対応する値、前記第1のRAIDグリッドについてのロウQパリティグループに関連付けられるRAIDグリッド位置に対応する値、前記第1のRAIDグリッドについてのロウPパリティグループに関連付けられるRAIDグリッド位置に対応する値、前記第1のRAIDグリッドについてのカラムQパリティグループに関連付けられるRAIDグリッド位置に対応する値、および前記第1のRAIDグリッドについてのカラムPパリティグループに関連付けられるRAIDグリッド位置に対応する値とからなるグループから選択されるものであり、前記第1のRAIDグリッドは前記データグリッドを含む、請求項12に記載のプログラム。
- 前記持続性ストレージはソリッドステートメモリである、請求項12に記載のプログラム。
- 実行されるとデータを再構築するための方法を行なう命令を含むプログラムであって、前記方法は、
データについての要求を受け取るステップと、
前記データを取得するステップとを含み、前記データは持続性ストレージにおける物理的位置から取得され、前記物理的位置は物理アドレスに関連付けられており、前記方法はさらに、
前記データは破損および未取得からなるグループから選択されるものであるという第1の決定を行うステップを含み、
前記第1の決定に基づいて、
前記物理アドレスに対応する第1の独立ディスク冗長アレイ(RAID)グリッド位置を識別するステップと、
RAIDグリッドが前記第1のRAIDグリッド位置に関連付けられることを識別するステップと、
第2のRAIDグリッド位置における第1の値を使用して前記データを再構築する第1の試みを行うステップとを含み、前記第2のRAIDグリッド位置は、前記RAIDグリッドにおける第1のロウおよび第1のカラムからなるグループから選択される少なくとも1つに位置しており、前記第1のRAIDグリッド位置は前記第1のロウおよび前記第1のカラムの一部であり、前記第1の試みは失敗し、前記方法はさらに、
前記第1の試みが失敗した後、前記データを再構築する第2の試みを行うステップを含み、前記第2の試みは成功し、前記第2の試みは、
前記RAIDグリッドの再構築された部分を取得するよう、前記RAIDグリッドにおける第2のロウおよび第2のカラムからなるグループから選択される少なくとも1つのものを再構築するステップを含み、前記RAIDグリッドの前記再構築された部分は、前記第1のロウおよび前記第1のカラムからなるグループから選択される少なくとも1つと交差しており、前記第2の試みは、
第3のRAIDグリッド位置における第2の値を使用して、前記データを再構築するステップを含み、前記第3のRAIDグリッド位置は前記RAIDグリッドの前記再構築された部分の一部であり、前記第3のRAIDグリッド位置は、前記第1のロウおよび前記第1のカラムからなるグループから選択されるものに位置しており、前記方法はさらに、
再構築された前記データをクライアントに提供するステップを含む、プログラム。 - 実行されるとデータを再構築するための方法を行なう命令を含むプログラムであって、前記方法は、
データについての要求を受け取るステップと、
持続性ストレージにおける物理的位置から前記データを取得することを試みるステップとを含み、前記物理的位置は第1の物理アドレスに関連付けられており、前記方法はさらに、
前記データは、破損および利用不可からなるグループから選択されるものであるという決定を行うステップを含み、
前記決定に基づいて、
第1の値を取得するようパリティ値を使用して、第2の物理アドレスに対応する第1の独立ディスク冗長アレイ(RAID)グリッド位置を再構築するステップと、
第2の値を取得するよう前記パリティ値を使用して、第3の物理アドレスに対応する第2のRAIDグリッド位置の再構築するステップと、
第3の値を取得するよう前記第1の値を使用して、第4の物理アドレスに対応する第3のRAIDグリッド位置の再構築するステップと、
前記第2の値および前記第3の値を使用して前記データを再構築するステップとを含み、
前記第1のRAIDグリッド位置はRAIDグリッドにおける第1のストライプに存在しており、
前記第2のRAIDグリッド位置は前記RAIDグリッドにおける第2のストライプに存在しており、
前記パリティ値は前記RAIDグリッドにおける第4のRAIDグリッド位置に位置しており、
前記第4のRAIDグリッド位置は、前記第1のストライプおよび前記第2のストライプの一部であり、前記方法はさらに、
再構築された前記データをクライアントに提供するステップを含む、プログラム。 - 前記第1のストライプは前記RAIDグリッドにおけるロウであり、前記第2のストライプは前記RAIDグリッドにおけるカラムである、請求項20に記載のプログラム。
- 前記第1のストライプは前記RAIDグリッドにおけるカラムであり、前記第2のストライプは前記RAIDグリッドにおけるロウである、請求項20に記載のプログラム。
- 前記第4のRAIDグリッド位置は、前記RAIDグリッドにおけるインターセクションパリティグループの一部である、請求項20に記載のプログラム。
- 前記パリティ値はインターセクションパリティ値である、請求項20に記載のプログラム。
- 前記パリティ値は、前記第1のストライプにおける少なくとも1つの他のパリティ値を使用して計算される、請求項20に記載のプログラム。
- 前記少なくとも1つの他のパリティ値は、ロウPパリティグループおよびロウQパリティグループからなるグループから選択されるものの一部である、請求項25に記載のプログラム。
- 前記パリティ値は、前記第2のストライプにおける少なくとも1つの他のパリティ値を使用して計算される、請求項20に記載のプログラム。
- 前記少なくとも1つの他のパリティ値は、カラムPパリティグループおよびカラムQパリティグループからなるグループから選択されるものの部分である、請求項27に記載のプログラム。
- 前記データは第5のRAIDグリッド位置に関連付けられており、前記第5のRAIDグリッド位置は前記第1のストライプの部分ではなく、前記第2のストライプの部分ではない、請求項20に記載のプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/428,536 | 2012-03-23 | ||
US13/428,536 US8327185B1 (en) | 2012-03-23 | 2012-03-23 | Method and system for multi-dimensional raid |
PCT/US2013/033224 WO2013142646A1 (en) | 2012-03-23 | 2013-03-21 | Method and system for multi-dimensional raid |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015516630A JP2015516630A (ja) | 2015-06-11 |
JP5961746B2 true JP5961746B2 (ja) | 2016-08-02 |
Family
ID=47148139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015501902A Active JP5961746B2 (ja) | 2012-03-23 | 2013-03-21 | 多次元raidのための方法およびシステム |
Country Status (5)
Country | Link |
---|---|
US (6) | US8327185B1 (ja) |
EP (2) | EP2828754A1 (ja) |
JP (1) | JP5961746B2 (ja) |
CN (2) | CN104272261A (ja) |
WO (1) | WO2013142646A1 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645751B2 (en) * | 2011-11-02 | 2014-02-04 | Empire Technology Development Llc | Triple parity encoding to facilitate data recovery |
US8327185B1 (en) * | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
US8464095B1 (en) * | 2012-11-15 | 2013-06-11 | DSSD, Inc. | Method and system for multi-dimensional raid reconstruction and defect avoidance |
US8554997B1 (en) * | 2013-01-18 | 2013-10-08 | DSSD, Inc. | Method and system for mirrored multi-dimensional raid |
US9244761B2 (en) | 2013-06-25 | 2016-01-26 | Microsoft Technology Licensing, Llc | Erasure coding across multiple zones and sub-zones |
US9378084B2 (en) | 2013-06-25 | 2016-06-28 | Microsoft Technology Licensing, Llc | Erasure coding across multiple zones |
AU2013392019B2 (en) | 2013-08-09 | 2016-09-22 | Xfusion Digital Technologies Co., Ltd. | File processing method and apparatus, and storage device |
US8924776B1 (en) | 2013-12-04 | 2014-12-30 | DSSD, Inc. | Method and system for calculating parity values for multi-dimensional raid |
US8949692B1 (en) | 2014-01-23 | 2015-02-03 | DSSD, Inc. | Method and system for service-aware parity placement in a storage system |
US20150205667A1 (en) | 2014-01-23 | 2015-07-23 | DSSD, Inc. | Method and system for service-aware data placement in a storage system |
WO2016073018A1 (en) * | 2014-11-04 | 2016-05-12 | Hewlett Packard Enterprise Development Lp | Storing excess data in a raid 60 array |
US9673840B2 (en) * | 2014-12-08 | 2017-06-06 | SK Hynix Inc. | Turbo product codes for NAND flash |
EP3079079B8 (en) | 2015-04-07 | 2022-04-27 | Huawei Technologies Co., Ltd. | Method, apparatus and data structure for copying values of a table of a database |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
US9766837B2 (en) | 2015-06-10 | 2017-09-19 | Micron Technology, Inc. | Stripe mapping in memory |
US10191841B2 (en) * | 2015-07-06 | 2019-01-29 | Shannon Systems Ltd. | Host device, access system, and access method |
CN106339179B (zh) * | 2015-07-06 | 2020-11-17 | 上海宝存信息科技有限公司 | 主机装置、存取系统、以及存取方法 |
US10346246B2 (en) * | 2015-11-30 | 2019-07-09 | International Business Machines Corporation | Recovering data copies in a dispersed storage network |
CN107533537B (zh) | 2016-01-29 | 2021-02-26 | 慧与发展有限责任合伙企业 | 存储系统、用于存储的方法和非暂时性计算机可读介质 |
WO2017131751A1 (en) | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Remote direct memory access |
CN107430494B (zh) * | 2016-01-29 | 2020-09-15 | 慧与发展有限责任合伙企业 | 用于远程直接存储器访问的系统、方法和介质 |
KR102572357B1 (ko) | 2016-02-03 | 2023-08-29 | 삼성전자주식회사 | Raid-6 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10152378B2 (en) * | 2016-10-04 | 2018-12-11 | Futurewei Technologies, Inc. | Data protection for a cold storage system |
US10705911B2 (en) | 2017-04-24 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Storing data in a distributed storage system |
US10466930B2 (en) | 2017-04-28 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for fast ordered writes with atomic multicast |
US10614019B2 (en) | 2017-04-28 | 2020-04-07 | EMC IP Holding Company LLC | Method and system for fast ordered writes with target collaboration |
US10339062B2 (en) | 2017-04-28 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for writing data to and read data from persistent storage |
US10289491B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance |
US10365967B2 (en) * | 2017-08-23 | 2019-07-30 | Toshiba Memory Corporation | On the fly raid parity calculation |
KR102490191B1 (ko) | 2018-03-05 | 2023-01-18 | 삼성전자주식회사 | 데이터 스토리지 장치 및 이를 포함하는 raid 시스템 |
WO2019227465A1 (en) | 2018-06-01 | 2019-12-05 | Microsoft Technology Licensing, Llc. | Erasure coding with overlapped local reconstruction codes |
CN109634771A (zh) * | 2018-10-31 | 2019-04-16 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
CN110109716B (zh) * | 2019-05-13 | 2021-11-16 | 深圳忆联信息系统有限公司 | 保证ssd固件稳定加载的方法、装置、计算机设备及存储介质 |
CN113377569B (zh) | 2020-03-09 | 2024-06-07 | 伊姆西Ip控股有限责任公司 | 用于恢复数据的方法、设备和计算机程序产品 |
US11379318B2 (en) | 2020-05-08 | 2022-07-05 | Vmware, Inc. | System and method of resyncing n-way mirrored metadata on distributed storage systems without requiring checksum in the underlying storage |
US11403189B2 (en) | 2020-05-08 | 2022-08-02 | Vmware, Inc. | System and method of resyncing data in erasure-coded objects on distributed storage systems without requiring checksum in the underlying storage |
US11429498B2 (en) | 2020-05-08 | 2022-08-30 | Vmware, Inc. | System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout |
US11182250B1 (en) * | 2020-07-02 | 2021-11-23 | Vmware, Inc. | Systems and methods of resyncing data in erasure-coded objects with multiple failures |
US11494090B2 (en) | 2020-09-25 | 2022-11-08 | Vmware, Inc. | Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage |
CN113703684B (zh) * | 2021-08-31 | 2024-06-11 | 长江存储科技有限责任公司 | 基于raid的数据存储方法、数据读取方法及存储器系统 |
US20230385167A1 (en) * | 2022-05-31 | 2023-11-30 | Dell Products L.P. | Balanced data mirroring distribution for parallel access |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708668A (en) | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
US6415355B1 (en) * | 1998-05-11 | 2002-07-02 | Kabushiki Kaisha Toshiba | Combined disk array controller and cache control method for parity generation mode and data restoration mode |
US6351838B1 (en) * | 1999-03-12 | 2002-02-26 | Aurora Communications, Inc | Multidimensional parity protection system |
US6742081B2 (en) * | 2001-04-30 | 2004-05-25 | Sun Microsystems, Inc. | Data storage array employing block checksums and dynamic striping |
US7543100B2 (en) | 2001-06-18 | 2009-06-02 | 3Par, Inc. | Node controller for a data storage system |
US20030093740A1 (en) * | 2001-10-19 | 2003-05-15 | Nebojsa Stojanovic | Iterative hard decoding method for multidimensional SPC |
US7180732B2 (en) * | 2002-11-06 | 2007-02-20 | Disk Dynamix | Mounting apparatus for storage devices |
KR20040066638A (ko) * | 2003-01-20 | 2004-07-27 | 삼성전자주식회사 | 외부 저장 서브 시스템에서의 패리티 저장 방법 및에러블록 복구 방법 |
GB2400935B (en) | 2003-04-26 | 2006-02-15 | Ibm | Configuring memory for a raid storage system |
US7149847B2 (en) * | 2003-06-26 | 2006-12-12 | Adaptec, Inc. | RAID 6 disk array architectures |
CN101566931B (zh) * | 2003-08-14 | 2011-05-18 | 克姆佩棱特科技公司 | 虚拟磁盘驱动系统和方法 |
US7644197B1 (en) | 2003-10-15 | 2010-01-05 | Sun Microsystems, Inc. | Queue management by multiple processors |
JP4595342B2 (ja) * | 2004-02-19 | 2010-12-08 | 日本電気株式会社 | 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム |
US7490083B2 (en) | 2004-02-27 | 2009-02-10 | International Business Machines Corporation | Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates |
US7191388B1 (en) * | 2004-03-01 | 2007-03-13 | Lattice Semiconductor Corporation | Fast diagonal interleaved parity (DIP) calculator |
US7406621B2 (en) * | 2004-04-02 | 2008-07-29 | Seagate Technology Llc | Dual redundant data storage format and method |
US7237062B2 (en) * | 2004-04-02 | 2007-06-26 | Seagate Technology Llc | Storage media data structure system and method |
US7594075B2 (en) * | 2004-10-20 | 2009-09-22 | Seagate Technology Llc | Metadata for a grid based data storage system |
US7496735B2 (en) | 2004-11-22 | 2009-02-24 | Strandera Corporation | Method and apparatus for incremental commitment to architectural state in a microprocessor |
US7644087B2 (en) | 2005-02-24 | 2010-01-05 | Xeround Systems Ltd. | Method and apparatus for data management |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US7519859B2 (en) | 2005-08-30 | 2009-04-14 | International Business Machines Corporation | Fault recovery for transaction server |
US8046660B2 (en) * | 2006-08-07 | 2011-10-25 | Marvell World Trade Ltd. | System and method for correcting errors in non-volatile memory using product codes |
US7934120B2 (en) | 2006-09-11 | 2011-04-26 | International Business Machines Corporation | Storing data redundantly |
US7822921B2 (en) | 2006-10-31 | 2010-10-26 | Netapp, Inc. | System and method for optimizing write operations in storage systems |
US7831768B2 (en) * | 2006-11-03 | 2010-11-09 | Hewlett-Packard Development Company, L.P. | Method and apparatus for writing data to a disk array |
US7711678B2 (en) | 2006-11-17 | 2010-05-04 | Microsoft Corporation | Software transaction commit order and conflict management |
US7788526B2 (en) * | 2007-01-10 | 2010-08-31 | International Business Machines Corporation | Providing enhanced tolerance of data loss in a disk array system |
US7752389B1 (en) | 2007-06-20 | 2010-07-06 | Emc Corporation | Techniques for determining physical data layout of RAID devices |
US7849356B2 (en) | 2008-01-17 | 2010-12-07 | International Business Machines Corporation | Parity data management system apparatus and method |
US8049980B1 (en) | 2008-04-18 | 2011-11-01 | Network Appliance, Inc. | Partial disk failures and improved storage resiliency |
US8234445B2 (en) | 2008-06-09 | 2012-07-31 | Infortrend Technology, Inc. | RAID data protection architecture using data protection information |
JP4978576B2 (ja) * | 2008-07-03 | 2012-07-18 | 株式会社Jvcケンウッド | 符号化方法および符号化装置ならびに復号方法および復号装置 |
US8078906B2 (en) * | 2008-08-21 | 2011-12-13 | Infinidat, Ltd. | Grid storage system and method of operating thereof |
US8626709B2 (en) | 2008-09-26 | 2014-01-07 | Codefutures Corporation | Scalable relational database replication |
US8645749B2 (en) * | 2009-02-04 | 2014-02-04 | Micron Technology, Inc. | Systems and methods for storing and recovering controller data in non-volatile memory devices |
US8572460B2 (en) * | 2009-03-17 | 2013-10-29 | Broadcom Corporation | Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein |
US8145840B2 (en) * | 2009-06-05 | 2012-03-27 | Lsi Corporation | Method and system for storing excess data in a redundant array of independent disk level 6 |
US8463826B2 (en) | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8214560B2 (en) | 2010-04-20 | 2012-07-03 | International Business Machines Corporation | Communications support in a transactional memory |
US8489979B2 (en) | 2010-05-28 | 2013-07-16 | Seagate Technology Llc | Methods and devices to reduce outer code failure rate variability |
US8677063B2 (en) * | 2010-07-30 | 2014-03-18 | International Business Machines Corporation | Parity declustered storage device array with partition groups |
US8775868B2 (en) * | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8782339B2 (en) * | 2010-10-11 | 2014-07-15 | Open Invention Network, Llc | Storage system having cross node data redundancy and method and computer readable medium for same |
CN101980137B (zh) | 2010-10-19 | 2012-05-30 | 成都市华为赛门铁克科技有限公司 | 廉价磁盘冗余阵列重构方法、装置及系统 |
US8782340B2 (en) * | 2010-12-06 | 2014-07-15 | Xiotech Corporation | Hot sheet upgrade facility |
US8719520B1 (en) | 2010-12-14 | 2014-05-06 | Datadirect Networks, Inc. | System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity |
JP5367686B2 (ja) * | 2010-12-24 | 2013-12-11 | 株式会社東芝 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
US8560772B1 (en) * | 2010-12-29 | 2013-10-15 | Datadirect Networks, Inc. | System and method for data migration between high-performance computing architectures and data storage devices |
US9104327B2 (en) | 2011-05-17 | 2015-08-11 | Sandisk Technologies Inc. | Fast translation indicator to reduce secondary address table checks in a memory device |
US9519555B2 (en) | 2011-05-23 | 2016-12-13 | Microsoft Technology Licensing, Llc | Synchronous replication in a distributed storage environment |
US20120324156A1 (en) | 2011-06-17 | 2012-12-20 | Naveen Muralimanohar | Method and system of organizing a heterogeneous memory architecture |
US9069657B2 (en) | 2011-12-12 | 2015-06-30 | Apple Inc. | LBA bitmap usage |
US8850450B2 (en) | 2012-01-18 | 2014-09-30 | International Business Machines Corporation | Warning track interruption facility |
US8327185B1 (en) * | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
CN103577111B (zh) | 2012-07-23 | 2017-05-31 | 上海宝存信息科技有限公司 | 基于非易失性存储器的动态独立冗余阵列存储系统及方法 |
US8464095B1 (en) | 2012-11-15 | 2013-06-11 | DSSD, Inc. | Method and system for multi-dimensional raid reconstruction and defect avoidance |
CN103019617A (zh) | 2012-11-25 | 2013-04-03 | 向志华 | 高效实现ssd内部raid的构建方法、数据读写方法及装置 |
TWI500272B (zh) * | 2012-12-03 | 2015-09-11 | Nat Univ Tsing Hua | 資料偵錯系統及其方法 |
US8554997B1 (en) * | 2013-01-18 | 2013-10-08 | DSSD, Inc. | Method and system for mirrored multi-dimensional raid |
US9778943B2 (en) | 2013-05-28 | 2017-10-03 | Red Hat Israel, Ltd. | Timer based virtual processor scheduling and suspension on physical processor for use of physical processor by other processing |
US9529674B2 (en) | 2013-06-18 | 2016-12-27 | Dell Product, LP | Storage device management of unrecoverable logical block addresses for RAID data regeneration |
US9552242B1 (en) | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
US8924776B1 (en) | 2013-12-04 | 2014-12-30 | DSSD, Inc. | Method and system for calculating parity values for multi-dimensional raid |
CN103902465B (zh) | 2014-03-19 | 2017-02-08 | 华为技术有限公司 | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 |
US10523753B2 (en) | 2014-05-06 | 2019-12-31 | Western Digital Technologies, Inc. | Broadcast data operations in distributed file systems |
TWI567554B (zh) | 2014-11-06 | 2017-01-21 | 慧榮科技股份有限公司 | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 |
US9558847B2 (en) | 2014-11-21 | 2017-01-31 | Sandisk Technologies Llc | Defect logging in nonvolatile memory |
US20160210060A1 (en) | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Dynamic resource allocation within storage devices |
US9436608B1 (en) | 2015-02-12 | 2016-09-06 | International Business Machines Corporation | Memory nest efficiency with cache demand generation |
US10248463B2 (en) | 2015-02-13 | 2019-04-02 | Honeywell International Inc. | Apparatus and method for managing a plurality of threads in an operating system |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
CN106406987B (zh) | 2015-07-29 | 2020-01-03 | 阿里巴巴集团控股有限公司 | 一种集群中的任务执行方法及装置 |
US10387649B2 (en) | 2015-10-31 | 2019-08-20 | Quick Heal Technologies Private Limited | Detecting malware when executing in a system |
US10261902B2 (en) | 2016-01-04 | 2019-04-16 | Toshiba Memory Corporation | Parallel processing of a series of data units for writing |
US10095414B2 (en) | 2016-03-07 | 2018-10-09 | Toshiba Memory Corporation | Memory system including a controller and a nonvolatile memory having memory blocks |
US9760493B1 (en) | 2016-03-14 | 2017-09-12 | Vmware, Inc. | System and methods of a CPU-efficient cache replacement algorithm |
US10248327B2 (en) | 2016-04-01 | 2019-04-02 | SK Hynix Inc. | Throttling for a memory system using a GC/HOST ratio and operating method thereof |
US20170300249A1 (en) | 2016-04-15 | 2017-10-19 | Western Digital Technologies, Inc. | Validity tracking for garbage collection |
US10031810B2 (en) | 2016-05-10 | 2018-07-24 | International Business Machines Corporation | Generating a chain of a plurality of write requests |
US20170351604A1 (en) | 2016-06-02 | 2017-12-07 | Futurewei Technologies, Inc. | Host and garbage collection write ratio controller |
US20180032333A1 (en) | 2016-07-31 | 2018-02-01 | Mark Kenneth Sullivan | Atomic Line Multi-Tasking |
KR20180104830A (ko) | 2017-03-14 | 2018-09-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
-
2012
- 2012-03-23 US US13/428,536 patent/US8327185B1/en active Active
- 2012-07-23 US US13/555,859 patent/US8316260B1/en active Active
- 2012-10-23 US US13/658,437 patent/US8448021B1/en active Active
-
2013
- 2013-03-21 EP EP13716549.4A patent/EP2828754A1/en not_active Ceased
- 2013-03-21 US US14/387,326 patent/US9513994B2/en active Active
- 2013-03-21 JP JP2015501902A patent/JP5961746B2/ja active Active
- 2013-03-21 CN CN201380015047.9A patent/CN104272261A/zh active Pending
- 2013-03-21 CN CN201710260966.2A patent/CN107038087B/zh active Active
- 2013-03-21 EP EP18178864.7A patent/EP3399419B1/en active Active
- 2013-03-21 WO PCT/US2013/033224 patent/WO2013142646A1/en active Application Filing
-
2016
- 2016-03-31 US US15/087,445 patent/US20160217037A1/en not_active Abandoned
-
2020
- 2020-10-01 US US17/060,946 patent/US11119856B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107038087B (zh) | 2020-09-25 |
US20210049069A1 (en) | 2021-02-18 |
WO2013142646A1 (en) | 2013-09-26 |
CN107038087A (zh) | 2017-08-11 |
US8316260B1 (en) | 2012-11-20 |
US8327185B1 (en) | 2012-12-04 |
US20160217037A1 (en) | 2016-07-28 |
CN104272261A (zh) | 2015-01-07 |
JP2015516630A (ja) | 2015-06-11 |
EP2828754A1 (en) | 2015-01-28 |
EP3399419B1 (en) | 2020-10-14 |
US8448021B1 (en) | 2013-05-21 |
US9513994B2 (en) | 2016-12-06 |
US11119856B2 (en) | 2021-09-14 |
US20150095697A1 (en) | 2015-04-02 |
EP3399419A1 (en) | 2018-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11119856B2 (en) | Method and system for multi-dimensional RAID | |
JP6058813B2 (ja) | 多次元raid再構築および障害回避のための方法およびシステム | |
JP5968562B2 (ja) | ミラーリングされた多次元raidのための方法およびシステム | |
US8924776B1 (en) | Method and system for calculating parity values for multi-dimensional raid | |
CN106095700B (zh) | 在存储系统中复制和使用网格层级元数据的方法和系统 | |
US9600368B2 (en) | Method and system for service-aware parity placement in a storage system | |
US7406621B2 (en) | Dual redundant data storage format and method | |
CN104965768A (zh) | 用于存储系统中的服务感知数据放置的方法和系统 | |
US10409682B1 (en) | Distributed RAID system | |
JP2020042805A (ja) | 永続記憶装置の管理 | |
US10289491B1 (en) | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance | |
JP4843695B2 (ja) | ディスクアレイ制御装置及びディスクアレイ装置 | |
US9471429B2 (en) | Scalable protection scheme for protecting destaged data units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160502 |
|
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: 20160531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5961746 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |