JP2019036301A - データ保存方法及びそのシステム - Google Patents
データ保存方法及びそのシステム Download PDFInfo
- Publication number
- JP2019036301A JP2019036301A JP2018142656A JP2018142656A JP2019036301A JP 2019036301 A JP2019036301 A JP 2019036301A JP 2018142656 A JP2018142656 A JP 2018142656A JP 2018142656 A JP2018142656 A JP 2018142656A JP 2019036301 A JP2019036301 A JP 2019036301A
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- data
- storage
- parity code
- 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.)
- Granted
Links
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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
RAIDアレイは、ライトコマンド(write commands)を受信し、パリティーコード(parity codes)を生成し、パリティーコードとともにRAIDアレイに書き込む(write)データを保存するRAIDコントローラと言及される中央コントローラによって制御され得る。
データの損失時に、RAIDコントローラは、パリティーコードから損失されたデータを再生成することができる。
複数のストレージ装置は、データをストレージ装置に分散させ、データの保護を提供する介在中央コントローラ無しで、一つ以上のホストコンピュータと直接接続される。
パリティーコードは、一つ以上の専用ストレージ装置に保存されたり、複数のストレージ装置に分散されたりする。
ストレージ装置が、ライトコマンドを受信した場合、部分パリティーコードが計算され、ライトされたデータに対するパリティーコードが他のストレージ装置にあれば、部分パリティーコードを使用してパリティーコードをアップデートするように、部分パリティーコードが他のストレージ装置に伝送される。
前記第1ストレージ装置が、前記第2ストレージ装置の識別子を計算するステップと、前記第2ストレージ装置の前記識別子が、前記第1ストレージ装置の識別子と異なるか否かを判断するステップと、前記第2ストレージ装置の前記識別子が、前記第1ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第2ストレージ装置に伝送するステップと、をさらに有することが好ましい。
前記ライトコマンドは、ネームスペース(namespace)識別子をさらに含み、前記第2ストレージ装置の前記識別子を計算するステップは、前記ネームスペース識別子に基づいてネームスペースオフセットテーブルからネームスペースオフセットを取得するステップと、前記ネームスペースオフセット及び前記論理ブロックアドレスの和として仮想ストライプ識別子を計算するステップと、を含むことが好ましい。
前記第2ストレージ装置の前記識別子を計算するステップは、前記第1ストレージ装置によって、前記第1ストレージ装置の第1テーブルからストライドサイズ(stride size)を検索するステップと、前記仮想ストライプ識別子、モジュロ(modulo)、及び前記ストライドサイズを計算するステップと、をさらに含むことが好ましい。
前記パリティーメッセージを前記第2ストレージ装置に伝送するステップは、前記第1ストレージ装置が、前記第1ストレージ装置の第2テーブルから前記第2ストレージ装置のアドレスを検索するステップと、前記第2ストレージ装置の前記アドレスに前記パリティーメッセージを伝送するステップと、を含むことが好ましい。
ストレージシステム管理回路によって、前記第1ストレージ装置の前記第2テーブルに前記第2ストレージ装置のアドレスを保存するステップをさらに有することが好ましい。
前記ストレージシステム管理回路によって、前記第1テーブルに前記ストライドサイズを保存するステップをさらに有することが好ましい。
前記第1ストレージ装置は、PCI(Peripheral component interconnect)エクスプレススイッチ(express switch)に接続され、前記第2ストレージ装置は、前記PCIエクスプレススイッチに接続され、前記第2ストレージ装置のアドレスは、前記第2ストレージ装置のPCIエクスプレスアドレスであることが好ましい。
前記以前のパリティーコード及び前記新しいパリティーコードのそれぞれは、RAID4、RAID5、RAID6、及び消去コードデータ保護システムからなるグループから選択されるデータ保護システムに利用されるデータ保護コードであることが好ましい。
前記ストレージシステム管理回路によって、前記第1ストレージ装置に以前に保存されたデータを復旧するステップと、前記復旧されたデータを第4ストレージ装置に保存するステップと、をさらに有することが好ましい。
前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置の故障又は切断時に、ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを再構成し、前記第1ストレージ装置にアドレスされたストレージコマンドを第4ストレージ装置に伝送させるステップと、受信したストレージコマンドに応答して、前記第4ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記第1ストレージ装置が送信したであろう、存在し、正しく動作していたものと、同一のコマンド完了を伝送するステップと、をさらに有することが好ましい。
前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置に分離障害(discrete failure)が発生し、リードコマンドの受信時に、前記第1ストレージ装置が、前記分離障害によって影響を受けたデータを復旧するステップと、前記リードコマンドに応答して、前記第1ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記分離障害が発生しなかったら、前記第1ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することが好ましい。
前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置に分離障害が発生し、リードコマンドの受信時に、ストレージシステム管理回路が、前記分離障害によって影響を受けたデータを復旧するステップと、前記リードコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記分離障害が発生しなかったら、前記第1ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することが好ましい。
前記第1ストレージ装置が、前記第2ストレージ装置の識別子を計算し、前記第2ストレージ装置の前記識別子が前記第1ストレージ装置の識別子と異なるか否かを判断し、前記第2ストレージ装置の前記識別子が前記第1ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第2ストレージ装置に伝送すること。
詳細な説明は、説明した実施形態とともに本発明の特徴を陳述する。
しかしながら、同一であるか、同等の機能及び構造が、また本発明の本質及び範囲内において、包括されるものと意図される他の実施形態によって達成されるのが理解されるはずである。
ここで、別に明示されない限り、同一の参照番号は同一の構成要素又は特徴を示すものと意図される。
図1を参照すると、一実施形態において、イーサネットSSD(ethernet solid state drive)シャーシ110に具現されるストレージシステムは(例えば、24個又は48個)(即ち、複数の)イーサネットSSDのアレイを含み、イーサネットSSDのそれぞれが、例えば、イーサネットスイッチのようなストレージインターフェーススイッチに接続される。
イーサネットSSDのそれぞれは、ベースボード管理コントローラ(Baseboard management controller, BMC)のような、(より具体的に後述されるプロセッシング回路でありえる)ストレージシステム管理回路と接続することができる。
イーサネットSSDは、遠隔DAS(Direct attached storage)構成と接続することができ、イーサネットSSDのそれぞれは、I/O動作のための他のイーサネットSSDに独立的である。
このような構成において、RAIDコントローラの潜在的なボトルネックの現象を回避することができる。
さらに、図1のシステムは、原則的に複数のイーサネットSSD(例えば、256個のイーサネットSSD)を収容可能である。
コントローラは、ホストコンピュータとインターフェースすることができ、データの保存を除いたイーサネットSSDの全ての機能を遂行することができ、データの保存は、バッファ及び非揮発性メモリによって遂行することができる。
バッファは、揮発性メモリであり得る。
ここで、使用される「ストレージインターフェーススイッチ」は、ホストコンピュータによって、それぞれのイーサネットSSDと相互作用して、例えば、イーサネットSSDとコマンド及びコマンド完了を交換するようにするスイッチである。
ホストストレージシステムによって提供されたシャーシレベルのデータ保護にアグノスチック(agnostic:無関心)であることができる。(例えば、データ保護の具現はホストから隠すことができ、ホストは、ただ信頼できるストレージシステムのみを認知することができ、信頼できるストレージシステムは変化する性能を有することができる。(例えば、データ復旧動作が発生される場合、性能が減少される))。
ドライバインスタンス(driver instances)140は、イーサネットSSDへの全てのアクセスがドライバインスタンス140のそれぞれを介して行われると意味で、そして、ホストに対するドライバインスタンス140とシステムのイーサネットSSDとの間で1対1の関係がありえるという意味で、イーサネットSSDを「所有」することができる。
イーサネットSSDのそれぞれは、自体のネームスペースを有することができる。
ストレージシステムは、RAID4、RAID5、RAID6、及び消去コーディング(Erasure Coding)(又は「消去コードデータの保護」)を含む任意の多様な保護モードを具現するように構成することができる。
図2a及び図2bを参照すると、データの保護システムは、ここで「仮想ストライプ」として言及されるデータのユニットを保護することができる。
仮想ストライプのそれぞれに番号又は「識別子」が割り当てられる。
仮想ストライプのそれぞれは、データ及びパリティーコードを含む。
ここで使用される「パリティーコード」はデートとともに保存される重複データであり、(例えば、故障(或いは障害)(failure)したイーサネットSSDから誘発された保存されたデータの損失を含む)保存されたデータに対するエラー又は消去の場合に、このようなデータはパリティーコードから復旧することができる。
仮想ストライプのそれぞれは、任意のイーサネットSSDの故障が復旧できないデータの損失を誘発させないように、複数のイーサネットSSDにわたって分散される。
ストレージシステム(及び/又はイーサネットSSDシャーシ110)は、一つ以上の保護グループを含むことができる。
イーサネットSSDのそれぞれは、ブロック220の単位でストレージを提供し、それぞれのブロック220は図2a及び図2bにおいてそれぞれの長方形形状で示す。
仮想ストライプのそれぞれは、イーサネットSSDのそれぞれから一つのブロック220を含むことができるが、例えば、仮想ストライプ0は、スロット0のイーサネットSSDからブロックD0を、そしてスロット1のイーサネットSSDからブロックD0などを含み、仮想ストライプ2は、(示されたように)スロット0のイーサネットSSDからブロックD2を、そしてスロット1のイーサネットSSDからブロックD2などを含むのと同一である。
循環パリティー配列において、スロットnのイーサネットSSDは、代替されたデータプレーンとして作動することができ、イーサネットSSDが、通常的に保存されたデータをパリティーコードに対するブロック220の代わりに保存した結果として、「代替された」データを保存することができる。
仮想ストライプは、「ストライド」と言及されるグループにグループ化することができる。
ストライドそれぞれのサイズは「N」であり得、循環パリティー配列で、パリティーデータの位置は、追加的なストライドのそれぞれで繰り返され得る。
(例えば、パリティーデータが第2ドライブ(スロット1)で、ストライド0の第2仮想ストライプ(仮想ストライプ1)及びストライド1の第2仮想ストライプ(仮想ストライプ(n+1))であり得る。)
(そして、固定パリティーが採択されると、パリティーデータがパリティープレーンに保存されるが、このようなパリティは循環配列と同一に配列することができる。)
(i)パリティーデータP2をアップデートし、
(ii)固定パリティーが採択された場合、パリティーデータP2を保存する。
スロット2のイーサネットSSDは、パリティーデータP2をアップデートすべき責任があり、スロットn(パリティープレーン)のイーサネットSSDは、パリティーデータP2を保存すべき責任がある。
任意のストライプに対し、パリティーコードを計算及びアップデートすべき責任のあるイーサネットSSDは、ストライプに対する「D/PイーサネットSSD」又は「D/P eSSD」として言及することができる。
パリティーコードを計算及びアップデートすべき責任のあるイーサネットSSDの識別子(又はスロット番号)は、任意の仮想ストライプに対して(仮想ストライプ識別子)modulo(ストライドサイズ(n))で計算することができる。
図3を参照すると、イーサネットSSDのそれぞれは、一つ以上の(図3にて「NS0」、「NS1」などのラベルが付与された)ネームスペースを管理することができる。
ネームスペースのそれぞれは、ネームスペースオフセットテーブルで、ネームスペースが始まるイーサネットSSD内の位置を決定するオフセットと関連させることができる。
ネームスペースに対する書き込み動作が遂行される場合、ネームスペースをホスティングするイーサネットSSDは、ネームスペースオフセットに書き込み動作の論理ブロックアドレス(Logic block address, LBA)を追加することによって、書き込みが遂行される仮想ストライプを計算することができる。
それぞれのパリティーコードは、仮想ストライプにおける全てのデータに対する関数でありえる。
例えば、パリティーコードPは、仮想ストライプにおける全てのデータのビット間の排他的な論理和(bit−wise exclusive OR)であり得る。
P=D0+D1+D2+…+Dn−1
「+」は、ビット間の排他的な論理和の動作を示し、Diはデータである。
データブロック中の一つが変化した場合、例えば、D1はD1’に代替され、パリティーコードは新しい値P’にアップデートされる。
P’=D0+D1’+D2+…+Dn−1
部分パリティーコードは、以前のパリティーコードとともに評価される場合(例えば、適切な関数(例えば、排他的論理和(exclusive OR))を使用して、以前のパリティーコードと結合された場合)、新しいパリティーコードを生成する値である。
概念的に、部分パリティーコードは、
(i)パリティーコードから、以前のデータの寄与分を除去し、
(ii)パリティーコードに新しいデータの寄与分を追加した効果を有する値と見なすことができる。
このような概念は、象徴的に以下の通りに書き込むことができる。
DeltaD1=fInverse(D1)+D1’
fInverse(D1)は、適切な関数を使用して、以前のパリティーコードと結合された場合、以前のパリティーコードからD1の寄与分を除去した値である。
P’=P+DeltaD1
exclusive OR関数の逆は、exclusive OR関数である。
その結果、パリティーコードが、ビット間のexclusive ORを使用して計算されると、fInverse(D1)=D1である。
DeltaD1=D1+D1’
(ii)その自体がパリティーデータをアップデートすべき責任がある場合、パリティーデータをアップデートすることができる。
図4を参照すると、図4はパリティーメッセージの例示であり、パリティーメッセージは、仮想ストライプ識別子(Virtual stripe identifier、VSID)(即ち、ストライプ番号)を含むヘッダー、及び部分パリティーコードを含む。
イーサネットSSDは、PCIeスイッチ又はイーサネットスイッチ(図1)を介する私設(プライベート)通信チャンネルを通じてパリティーメッセージを互いに伝送することができる。
下記に示す表1は、ベースボード管理コントローラが、初期化中にイーサネットSSDのそれぞれに書き込むことができる保護構成テーブルのフォーマットを示す。
表1は、それぞれのフィールドが、提示可能な多様な値を示し、さらに下記のテーブル(表)は、ベースボード管理コントローラがテーブルにライトすることができる値の例示を示す。
図5を参照すると、スタート時、ベースボード管理コントローラ(BMC)は、ステップS510において、イーサネットSSDシャーシ110の全てのイーサネットSSDをスキャンし、ステップS520において、データ保護モードを選択し、ステップS530において保護モードのためのパラメーターを決定し、ステップS540において、イーサネットSSDのそれぞれにスロット識別子ID(又はスロット番号)のそれぞれをプログラムし、ステップS550においてイーサネットSSDのそれぞれに保護パラメーターをプログラムし、ステップS560において、イーサネットSSDのそれぞれにアドレス情報をプログラムする。
アドレス情報は、イーサネットSSDのイーサネットSSDアドレステーブルに保存することができ、下記に示す表2の情報を(空いているセルのそれぞれに挿入される適切なアドレスとともに)含むことができる。
データ書き込み動作は、図6のフローチャートに示すように進行する。
ステップS605において、コマンド実行を始め、ステップS610においてイーサネットSSDはホストライトデータを引き出し、ステップS615においてイーサネットSSDは、ホストライトデータを持続させる。
ここで、使用するデータを「持続させる」というのは、非揮発性メモリ又はパワー損失が保護されるメモリにデータを保存することを意味する。
そうであれば、ステップS650において、イーサネットSSDはパリティーブロックをアップデートし、ステップS655においてイーサネットSSDはパリティーブロックを持続させ、ステップS660においてイーサネットSSDはホストにライトコマンド完了を伝送する。
固定パリティーの場合、D/PイーサネットSSDは、アップデートされたパリティーブロックを、保存のためのイーサネットSSDのパリティープレーンに伝送することができる。
固定パリティーに対する一部の実施形態において、それぞれのイーサネットSSDが遂行するデータ書き込み動作のためのD/PイーサネットSSDの機能を遂行することができる。(即ち、仮想ストライプの管理する専用D/PイーサネットSSDがないことができる。)
このような実施形態において、データ書き込み動作を遂行するイーサネットSSDは、部分パリティーコードを計算し、イーサネットSSDのパリティープレーンから以前のパリティーブロックを引き出し、パリティーブロックをアップデートし、アップデートされたパリティーブロックを保存するためのイーサネットSSDのパリティープレーンに伝送する。
パリティーアップデート動作は、D/PイーサネットSSDによって遂行することができ、図7に示すように進行する。
ステップS710において、D/PイーサネットSSDは、受信したパリティーメッセージから仮想ストライプ識別子を抽出する。
以降、ステップS730において、D/PイーサネットSSDはパリティーブロックを引き出し、ステップS740において、D/PイーサネットSSDはパリティーブロックをアップデートし、ステップS750において、D/PイーサネットSSDはアップデートされたパリティーブロックを持続させ、ステップS760において、D/PイーサネットSSDは確認メッセージをライトコマンドを実行するイーサネットSSDに伝送する。
一部の実施形態において、RAID4は、図8に示すように具現することができる。
RAID4は、示すように固定パリティーを使用することができる。
下記に示す表3は、RAID4を具現するためのベースボード管理コントローラによって、イーサネットSSDそれぞれの保護構成テーブルにプログラムされることができるを示す。
なお、表3は、イーサネットSSDアドレステーブルにプログラムすることができる例示的な値を示す。
一部の実施形態において、RAID5は、図9に示すように具現することができる。
RAID5は、示すように循環パリティーを使用することができる。
下記に示す表4は、RAID5を具現するためのベースボード管理コントローラによって、イーサネットSSDそれぞれの保護構成テーブルにプログラムすることができる値を示す。
なお、表4は、ストレージシステムに他のイーサネットSSDのイーサネットアドレスを提供するイーサネットSSDアドレステーブルにプログラムすることができる例示的な値を示す。
イーサネットSSDのそれぞれは、例えば、ライトコマンドを実行する場合にアップデートされるパリティーコードを準備する場合、このような情報を使用することができる。
一部の実施形態において、RAID6は、図10に示すように具現することができる。
RAID6は、示すように、ストライプ当たり二つのパリティーブロックとともに、そして代替されたデータブロックに使用される二つのスロットとともに、循環パリティーを使用することができる。
下記に示す表5は、RAID6を具現するためのベースボード管理コントローラによって、イーサネットSSDそれぞれの保護構成テーブルにプログラムされることができる値を示す。
なお、表5は、ストレージシステムに他のイーサネットSSDのイーサネットアドレスを提供するイーサネットSSDアドレステーブルにプログラムすることができる例示的な値を示す。
一部の実施形態において、消去コードデータ保護は、図11に示すように具現することができる。
消去コードデータ保護は、示すように、t個の体系的な入力ユニット及びストライプ当たり(n−t)個のパリティーコードブロックと共に、固定パリティーを使用することができる。
下記に示す表6は、消去コードデータ保護を具現するためのベースボード管理コントローラによって、イーサネットSSDそれぞれの保護構成テーブルにプログラムすることができる値を示す。
なお、表6は、ストレージシステムに他のイーサネットSSDのイーサネットアドレスを提供するイーサネットSSDアドレステーブルにプログラムすることができる例示的な値を示す。
ここで使用する「分離障害(discrete failure)」は、イーサネットSSDが動作を継続することを可能にするが、イーサネットSSDが記憶するデータの一部を正常に読み取ることを妨げるイーサネットSSDの故障(障害)である。
分離エラーは、フラッシュメモリページ又はブロックの故障から誘発されるか、又はフラッシュメモリによって採択され得るLDPC(low−density parity−check)エラー訂正コードによって訂正できないメモリエラーから誘発され得る。
以降、ステップS1215において、イーサネットSSDは、保護構成テーブルからデータの復元のためのパラメーターを検索し、ステップS1220において、イーサネットSSDは、損失データを復旧するのに要求されるイーサネットSSDのセットを決定する。
以降、ステップS1225、S1230、及びS1235において、イーサネットSSDは、損失データを復旧するのに要求されるデータを全て検索するまで、このようなイーサネットSSDからデータを反復的に要請する。
以降、ステップS1240において、イーサネットSSDは損失データブロックを計算し、ステップS1245において、イーサネットSSDは、損失データブロックを持続させ、ステップS1250において、適切であれば、イーサネットSSDは、損失データをホストに伝送する。
このような実施形態において、故障(障害)によって影響を受けるイーサネットSSDはベースボード管理コントローラに通知を提供し、ベースボード管理コントローラは仮想ストライプから損失データを復旧するのに要求されるデータを要請し、損失データを計算し、影響を受けたイーサネットSSDに復旧されたデータを再び書き込む。
ディスク故障(障害)は、イーサネットSSDで中央ハードウェア故障(障害)によって誘発されるか、又はイーサネットSSDの突然の除去によって誘発され得る。
一部の実施形態において、復旧は、図13に示すように、ベースボード管理コントローラによって遂行することができる。
イーサネットSSDのそれぞれは、「プレゼンスピン(presence pin)」があり、イーサネットSSDの除去は、「プレゼンスピン」との接触損失を誘発し得るので、ベースボード管理コントローラにイーサネットSSDの除去を警告する可能性があります。
以降、ステップS1315において、ベースボード管理コントローラは、保護構成テーブルからデータの復元のためのパラメーターを検索し、ステップS1320において、ベースボード管理コントローラは、損失データを再建するように余分(spare)のイーサネットSSDを識別する。
そして、ステップS1322において、ベースボード管理コントローラは、全ての仮想ストライプが遂行された否かを判断する。
以降、ベースボード管理コントローラは、二つの内包されたループを含む工程を使用してデータを再建する。
ステップS1325、S1327、S1330、及びS1335を含む外部ループは、全ての仮想ストライプが復旧されるまで(即ち、仮想ストライプそれぞれの損失ブロックが余分のイーサネットSSDで復旧されるまで)実行され、ステップS1340及びS1345を含む内部ループは、このようなデータを保存するイーサネットSSDのそれぞれから再建のために要求されるデータを読み出すように実行される。
一旦、外部ループが終了すると(そして、損失データが再建されると)(ステップS1335でステップS1322に戻り、全ての仮想ストライプが遂行された判断された場合)、ベースボード管理コントローラは、ステップS1350において、余分のイーサネットSSDを保護グループに追加し、ステップS1355において、新たに追加されたイーサネットSSDをホストに知れるようにする。
(i)損失データが復元される余分のイーサネットSSDにデータを書き込むか、
(ii)ライトコマンドにおけるデータが、進行中のデータ復旧工程によって復元される他のイーサネットSSDにデータ及び/又はパリティーコードを書き込むようにして、
ホストからのライトコマンドに応答して、ベースボード管理コントローラは、イーサネットスイッチをリプログラム(reprogram)するとができ、故障したイーサネットSSDのためのプロキシとして作動することができる。
ベースボード管理コントローラは、故障したものの代わりに余分のイーサネットSSDを代替し、余分のイーサネットSSDにディスク復旧を渡す。
新しいイーサネットSSDは、バックグラウンドで、復旧されたデータに対する全ての仮想ストライプを構築し、その仮想ストライプに対するすべてのI/O動作を処理する。
一部の実施形態において、複数のストレージ装置は、データをストレージ装置に分散させ、データの保護を提供する介在(intervening)中央コントローラ無しで、直接一つ以上のホストコンピュータと接続され得る。
パリティーコードは、一つ以上の専用ストレージ装置に保存されたり、複数のストレージ装置に分散されたりする。
ストーレジ装置がライトコマンドを受信した場合、ストレージ装置は部分パリティーコードを計算し、書き込まれるデータに対するパリティーコードが他のストレージ装置にあれば、ストレージ装置は、部分パリティーコードを他のストレージ装置に伝送し、このような部分パリティーコードを使用してパリティーコードをアップデートする。
仮想ストライプが、一部の実施形態において保護グループでの複数のイーサネットSSDにわたったブロックのセットで構成されたものと説明したが、ブロックそれぞれの論理ブロックアドレスが、同一の仮想ストライプは、もっと一般的に保護グループにわたって分散され、データの保護のための重複データ(例えば、パリティーコード)を含む、データのセットであり得る。
プロセッシング回路ハードウェアは、例えば、ASICs(application specific integrated circuits)、汎用又は特殊な目的のCPUs(central processing units、DPSs(digital signal processors, GPUs(graphics processing units)、及びFPGAs(field programmable gate arrays)のようなプログラマブル論理装置を含むことができる。
プロセッシング回路において、ここで使用するそれぞれの機能は、このような機能を遂行するように構成された、即ち、ハードワイヤードされたハードウェア又は非一時的なストレージ媒体に保存された命令語を実行するように構成されたCPUのような、もっと汎用的なハードウェアによって遂行され得る。
プロセッシング回路は、単一のPCB(printed circuit board)上に製作されたり、複数の相互に接続されたPCBにわたって分散されたりすることができる。
プロセシング回路は、他のプロセッシング回路を含むことができる。
例えば、プロセッシング回路は、PCBに相互に接続されるFPGA及びCPUのような、二つのプロセッシング回路を含むことができる。
したがって、本発明の原理によって構成された分散消去コーディングのためのシステム及び方法は、ここで具体的に説明されたものとは別に実施することができる。なお、本発明は、以下の請求項及びこれの均等物として定義される。
120 アプリケーション
140 ドライバインスタンス(インスタント化されたNVMe−of(Nonvolatile Memory Express over Fabrics)ドライバ
210 スロット
220 ブロック
Claims (20)
- ストレージ装置アレイにデータを保存する方法において、
前記ストレージ装置アレイの第1ストレージ装置が、ホストコンピュータから、前記第1ストレージ装置の論理ブロックアドレスで前記第1ストレージ装置に書き込まれるライトデータ(write data)を含むライトコマンド(write command)を受信するステップと、
前記第1ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索するステップと、
前記第1ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコード(parity code)を計算するステップと、
前記ストレージ装置アレイの第2ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成するステップと、
前記ストレージ装置アレイの第3ストレージ装置が、前記新しいパリティーコードを保存するステップと、を有し、
前記部分パリティーコードは、以前のパリティコードと共に評価される時、前記以前のパリティコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とするデータ保存方法。 - 前記第3ストレージ装置は、前記第2ストレージ装置であることを特徴とする請求項1に記載のデータ保存方法。
- 前記第1ストレージ装置が、前記第2ストレージ装置の識別子を計算するステップと、
前記第2ストレージ装置の前記識別子が、前記第1ストレージ装置の識別子と異なるか否かを判断するステップと、
前記第2ストレージ装置の前記識別子が、前記第1ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第2ストレージ装置に伝送するステップと、をさらに有することを特徴とする請求項1に記載のデータ保存方法。 - 前記ライトコマンドは、ネームスペース(namespace)識別子をさらに含み、
前記第2ストレージ装置の前記識別子を計算するステップは、前記ネームスペース識別子に基づいてネームスペースオフセットテーブルからネームスペースオフセットを取得するステップと、
前記ネームスペースオフセット及び前記論理ブロックアドレスの和として仮想ストライプ識別子を計算するステップと、を含むことを特徴とする請求項3に記載のデータ保存方法。 - 前記第2ストレージ装置の前記識別子を計算するステップは、前記第1ストレージ装置によって、前記第1ストレージ装置の第1テーブルからストライドサイズ(stride size)を検索するステップと、
前記仮想ストライプ識別子、モジュロ(modulo)、及び前記ストライドサイズを計算するステップと、をさらに含むことを特徴とする請求項4に記載のデータ保存方法。 - 前記パリティーメッセージを前記第2ストレージ装置に伝送するステップは、前記第1ストレージ装置が、前記第1ストレージ装置の第2テーブルから前記第2ストレージ装置のアドレスを検索するステップと、
前記第2ストレージ装置の前記アドレスに前記パリティーメッセージを伝送するステップと、を含むことを特徴とする請求項5に記載のデータ保存方法。 - 前記第1ストレージ装置は、イーサネット(登録商標、以下省略)ストレージ装置であり、
前記第2ストレージ装置は、イーサネットストレージ装置であり、
前記第2ストレージ装置のアドレスは、前記第2ストレージ装置のイーサネットアドレスであることを特徴とする請求項6に記載のデータ保存方法。 - ストレージシステム管理回路によって、前記第1ストレージ装置の前記第2テーブルに前記第2ストレージ装置のアドレスを保存するステップをさらに有することを特徴とする請求項6に記載のデータ保存方法。
- 前記ストレージシステム管理回路によって、前記第1テーブルに前記ストライドサイズを保存するステップをさらに有することを特徴とする請求項8に記載のデータ保存方法。
- 前記第1ストレージ装置は、PCI(Peripheral component interconnect)エクスプレススイッチ(express switch)に接続され、
前記第2ストレージ装置は、前記PCIエクスプレススイッチに接続され、
前記第2ストレージ装置のアドレスは、前記第2ストレージ装置のPCIエクスプレスアドレスであることを特徴とする請求項6に記載のデータ保存方法。 - 前記以前のパリティーコード及び前記新しいパリティーコードのそれぞれは、RAID4、RAID5、RAID6、及び消去コードデータ保護システムからなるグループから選択されるデータ保護システムに利用されるデータ保護コードであることを特徴とする請求項1に記載のデータ保存方法。
- 前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置の故障又は切断時に、
ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを再構成して、前記第1ストレージ装置にアドレスされたストレージコマンドを前記ストレージシステム管理回路に伝送させるステップと、
受信したストレージコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記第1ストレージ装置が送信したであろう、存在し、正しく動作していたものと、同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項1に記載のデータ保存方法。 - 前記ストレージシステム管理回路によって、前記第1ストレージ装置に以前に保存されたデータを復旧するステップと、
前記復旧されたデータを第4ストレージ装置に保存するステップと、をさらに有することを特徴とする請求項12に記載のデータ保存方法。 - 前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置の故障又は切断時に、
ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを再構成し、前記第1ストレージ装置にアドレスされたストレージコマンドを第4ストレージ装置に伝送させるステップと、
受信したストレージコマンドに応答して、前記第4ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記第1ストレージ装置が送信したであろう、存在し、正しく動作していたものと、同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項1に記載のデータ保存方法。 - 前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置に分離故障(discrete failure)が発生し、リードコマンドの受信時に、
前記第1ストレージ装置が、前記分離故障によって影響を受けたデータを復旧するステップと、
前記リードコマンドに応答して、前記第1ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記分離故障が発生しなかったら、前記第1ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項1に記載のデータ保存方法。 - 前記第1ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第1ストレージ装置に分離故障が発生し、リードコマンドの受信時に、
ストレージシステム管理回路が、前記分離故障によって影響を受けたデータを復旧するステップと、
前記リードコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記分離故障が発生しなかったら、前記第1ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項1に記載のデータ保存方法。 - データを保存するシステムにおいて、
ストレージ装置アレイを含み、
前記ストレージ装置アレイの第1ストレージ装置が、ホストコンピュータから、前記第1ストレージ装置の論理ブロックアドレスで、前記第1ストレージ装置に書き込まれるライトデータを含むライトコマンドを受信し、
前記第1ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索し、
前記第1ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコードを計算し、
前記ストレージ装置アレイの第2ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成し、
前記ストレージ装置アレイの第3ストレージ装置が、前記新しいパリティーコードを保存し、
前記部分パリティーコードは、以前のパリティコードと共に評価される時、前記以前のパリティコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とするデータ保存システム。 - 前記第3ストレージ装置は、前記第2ストレージ装置であることを特徴とする請求項17に記載のデータ保存システム。
- 前記第1ストレージ装置が、前記第2ストレージ装置の識別子を計算し、
前記第2ストレージ装置の前記識別子が前記第1ストレージ装置の識別子と異なるか否かを判断し、
前記第2ストレージ装置の前記識別子が前記第1ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第2ストレージ装置に伝送することを特徴とする請求項17に記載のデータ保存システム。 - データを保存するシステムにおいて、
ストレージ装置アレイと、
ストレージシステム管理手段と、を有し、
前記ストレージ装置アレイの第1ストレージ装置によって、ホストコンピュータから、前記第1ストレージ装置の論理ブロックアドレスで、前記第1ストレージ装置に書き込まれるライトデータを含むライトコマンドを受信し、
前記第1ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索し、
前記第1ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコードを計算し、
前記ストレージ装置アレイの第2ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成し、
前記ストレージ装置アレイの第3ストレージ装置が、前記新しいパリティーコードを保存し、
前記部分パリティーコードは、以前のパリティコードと共に評価される時、前記以前のパリティコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とするデータ保存システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762543789P | 2017-08-10 | 2017-08-10 | |
US62/543,789 | 2017-08-10 | ||
US15/789,884 | 2017-10-20 | ||
US15/789,884 US10585749B2 (en) | 2017-08-10 | 2017-10-20 | System and method for distributed erasure coding |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019036301A true JP2019036301A (ja) | 2019-03-07 |
JP2019036301A5 JP2019036301A5 (ja) | 2021-08-26 |
JP7084243B2 JP7084243B2 (ja) | 2022-06-14 |
Family
ID=65275031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018142656A Active JP7084243B2 (ja) | 2017-08-10 | 2018-07-30 | データ保存方法及びそのシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10585749B2 (ja) |
JP (1) | JP7084243B2 (ja) |
KR (1) | KR102279723B1 (ja) |
CN (1) | CN109388515B (ja) |
TW (1) | TWI746845B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10620855B2 (en) * | 2016-09-06 | 2020-04-14 | Samsung Electronics Co., Ltd. | System and method for authenticating critical operations on solid-state drives |
WO2018051505A1 (ja) * | 2016-09-16 | 2018-03-22 | 株式会社日立製作所 | ストレージシステム |
US10635609B2 (en) * | 2018-03-02 | 2020-04-28 | Samsung Electronics Co., Ltd. | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
US10990554B2 (en) | 2018-03-02 | 2021-04-27 | Samsung Electronics Co., Ltd. | Mechanism to identify FPGA and SSD pairing in a multi-device environment |
KR20200108650A (ko) * | 2019-03-11 | 2020-09-21 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
GB201905209D0 (en) * | 2019-04-12 | 2019-05-29 | Vaion Ltd | Method of strong items of data |
WO2021012164A1 (zh) * | 2019-07-22 | 2021-01-28 | 华为技术有限公司 | 数据重构的方法、装置、计算机设备、存储介质及系统 |
US11334434B2 (en) | 2020-02-19 | 2022-05-17 | Seagate Technology Llc | Multi-level erasure system with cooperative optimization |
US11609869B2 (en) | 2020-07-14 | 2023-03-21 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for time synchronized storage delivery |
KR20220058224A (ko) * | 2020-10-30 | 2022-05-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법 |
US11372553B1 (en) | 2020-12-31 | 2022-06-28 | Seagate Technology Llc | System and method to increase data center availability using rack-to-rack storage link cable |
US20230305713A1 (en) * | 2022-03-23 | 2023-09-28 | Samsung Electronics Co., Ltd. | Client and network based erasure code recovery |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324579A (ja) * | 1992-05-25 | 1993-12-07 | Hitachi Ltd | 分散ファイルシステム及び記憶装置 |
JP2003223284A (ja) * | 2002-01-31 | 2003-08-08 | Toshiba Corp | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
US7389393B1 (en) * | 2004-10-21 | 2008-06-17 | Symantec Operating Corporation | System and method for write forwarding in a storage environment employing distributed virtualization |
KR20130026738A (ko) * | 2011-09-06 | 2013-03-14 | 한국전자통신연구원 | 파일 데이터 분산 저장 장치 및 방법 |
JP2014203233A (ja) * | 2013-04-04 | 2014-10-27 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおいてデータを更新する方法 |
WO2015162777A1 (ja) * | 2014-04-25 | 2015-10-29 | 株式会社日立製作所 | 計算機システム及び接続構成制御方法 |
JP2016115355A (ja) * | 2014-12-11 | 2016-06-23 | 株式会社東芝 | 情報処理装置、プログラム、及び、情報処理システム |
JP2016157441A (ja) * | 2015-02-25 | 2016-09-01 | エイチジーエスティーネザーランドビーブイ | Ssdへのコピーオンライト用システム及び方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0701715A4 (en) * | 1993-06-04 | 1999-11-17 | Network Appliance Corp | METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY |
CA2134016A1 (en) * | 1994-01-07 | 1995-07-08 | Peter B. Bandy | Data storage device and method of operation |
US6742081B2 (en) * | 2001-04-30 | 2004-05-25 | Sun Microsystems, Inc. | Data storage array employing block checksums and dynamic striping |
JP2007179297A (ja) * | 2005-12-28 | 2007-07-12 | Fujitsu Ltd | Raid5のパリティチェック強化方法、装置及びプログラム |
TW200727167A (en) * | 2006-01-02 | 2007-07-16 | Via Tech Inc | Disk array data arrangement structure and its data access method |
US7822921B2 (en) * | 2006-10-31 | 2010-10-26 | Netapp, Inc. | System and method for optimizing write operations in storage systems |
US8321597B2 (en) | 2007-02-22 | 2012-11-27 | Super Talent Electronics, Inc. | Flash-memory device with RAID-type controller |
US8751862B2 (en) * | 2007-08-10 | 2014-06-10 | Dell Products L.P. | System and method to support background initialization for controller that supports fast rebuild using in block data |
US8402217B2 (en) * | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
EP2467783B1 (en) * | 2009-10-09 | 2020-05-27 | Violin Systems LLC | Memory system with multiple striping of raid groups and method for performing the same |
US8327225B2 (en) * | 2010-01-04 | 2012-12-04 | Micron Technology, Inc. | Error correction in a stacked memory |
US9582431B2 (en) | 2010-03-22 | 2017-02-28 | Seagate Technology Llc | Storage address space to NVM address, span, and length mapping/converting |
US8583987B2 (en) * | 2010-11-16 | 2013-11-12 | Micron Technology, Inc. | Method and apparatus to perform concurrent read and write memory operations |
US9569320B2 (en) | 2010-12-01 | 2017-02-14 | Seagate Technology Llc | Non-volatile memory program failure recovery via redundant arrays |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
US9311181B2 (en) * | 2012-11-15 | 2016-04-12 | Samsung Electronics Co., Ltd. | Memory controller changing partial data in memory device and method for changing partial data thereof |
WO2014110095A1 (en) * | 2013-01-08 | 2014-07-17 | Violin Memory Inc. | Method and system for data storage |
KR102318478B1 (ko) * | 2014-04-21 | 2021-10-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법 |
US9384093B1 (en) | 2014-05-28 | 2016-07-05 | Microsemi Storage Solutions (U.S.), Inc. | Raid enabled NVME device |
US9274720B1 (en) | 2014-09-15 | 2016-03-01 | E8 Storage Systems Ltd. | Distributed RAID over shared multi-queued storage devices |
KR20160075229A (ko) * | 2014-12-19 | 2016-06-29 | 삼성전자주식회사 | 가비지 컬렉션 동작 방법 및 이를 적용하는 레이드 스토리지 시스템 |
KR20160083762A (ko) * | 2015-01-02 | 2016-07-12 | 삼성전자주식회사 | 스토리지 시스템에서의 매핑 테이블 관리 방법 및 이를 적용한 스토리지 시스템 |
US9678665B2 (en) | 2015-03-06 | 2017-06-13 | Western Digital Technologies, Inc. | Methods and systems for memory page allocation |
US10061694B2 (en) | 2015-09-07 | 2018-08-28 | Toshiba Memory Corporation | Memory system and method for controlling non-volatile memory |
KR102413755B1 (ko) | 2015-11-20 | 2022-06-28 | 삼성전자주식회사 | 리텐션 특성에 의한 성능 저하를 복구하는 저장 장치의 동작 방법 및 이를 포함하는 데이터 처리 시스템의 동작 방법 |
-
2017
- 2017-10-20 US US15/789,884 patent/US10585749B2/en active Active
-
2018
- 2018-04-26 KR KR1020180048726A patent/KR102279723B1/ko active IP Right Grant
- 2018-05-08 TW TW107115575A patent/TWI746845B/zh active
- 2018-07-10 CN CN201810753492.XA patent/CN109388515B/zh active Active
- 2018-07-30 JP JP2018142656A patent/JP7084243B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324579A (ja) * | 1992-05-25 | 1993-12-07 | Hitachi Ltd | 分散ファイルシステム及び記憶装置 |
JP2003223284A (ja) * | 2002-01-31 | 2003-08-08 | Toshiba Corp | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
US7389393B1 (en) * | 2004-10-21 | 2008-06-17 | Symantec Operating Corporation | System and method for write forwarding in a storage environment employing distributed virtualization |
KR20130026738A (ko) * | 2011-09-06 | 2013-03-14 | 한국전자통신연구원 | 파일 데이터 분산 저장 장치 및 방법 |
JP2014203233A (ja) * | 2013-04-04 | 2014-10-27 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおいてデータを更新する方法 |
WO2015162777A1 (ja) * | 2014-04-25 | 2015-10-29 | 株式会社日立製作所 | 計算機システム及び接続構成制御方法 |
JP2016115355A (ja) * | 2014-12-11 | 2016-06-23 | 株式会社東芝 | 情報処理装置、プログラム、及び、情報処理システム |
JP2016157441A (ja) * | 2015-02-25 | 2016-09-01 | エイチジーエスティーネザーランドビーブイ | Ssdへのコピーオンライト用システム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US10585749B2 (en) | 2020-03-10 |
CN109388515A (zh) | 2019-02-26 |
TWI746845B (zh) | 2021-11-21 |
CN109388515B (zh) | 2023-11-03 |
TW201911041A (zh) | 2019-03-16 |
KR20190017630A (ko) | 2019-02-20 |
US20190050289A1 (en) | 2019-02-14 |
KR102279723B1 (ko) | 2021-07-21 |
JP7084243B2 (ja) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7084243B2 (ja) | データ保存方法及びそのシステム | |
US10191676B2 (en) | Scalable storage protection | |
EP2972871B1 (en) | Methods and apparatus for error detection and correction in data storage systems | |
US8386834B1 (en) | Raid storage configuration for cached data storage | |
US11860672B2 (en) | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD | |
US8484506B2 (en) | Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality | |
US20060236149A1 (en) | System and method for rebuilding a storage disk | |
US9336412B2 (en) | Storage system and method for controlling storage system | |
US20160170851A1 (en) | Multi level data recovery in storage disk arrays | |
CN111124266A (zh) | 数据管理方法、设备和计算机程序产品 | |
JP2020061149A (ja) | FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム | |
JP2011028520A (ja) | ディスクアレイ装置及び物理ディスクの復元方法 | |
US8832370B2 (en) | Redundant array of independent storage | |
US7975104B2 (en) | Method for preserving data integrity by breaking the redundant array of independent disks level 1(RAID1) | |
US20140173337A1 (en) | Storage apparatus, control method, and control program | |
JP5107196B2 (ja) | 情報処理装置および再構築処理および修復処理の制御方法 | |
US9830094B2 (en) | Dynamic transitioning of protection information in array systems | |
US20240095196A1 (en) | Method for supporting erasure code data protection with embedded pcie switch inside fpga+ssd | |
US11221790B2 (en) | Storage system | |
JP2009238003A (ja) | ディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体 | |
JP2015197793A (ja) | 記憶装置、データ復旧方法およびデータ復旧プログラム | |
JP2009217719A (ja) | Raidコントローラ、raidシステム、およびraidシステムの制御方法 | |
JP2017027356A (ja) | バックアップ方法、バックアッププログラム、及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210719 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210719 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210719 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220322 |
|
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: 20220524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220602 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7084243 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |