JP5937599B2 - 動的構成のraidアレイにおける再構成読み込み - Google Patents
動的構成のraidアレイにおける再構成読み込み Download PDFInfo
- Publication number
- JP5937599B2 JP5937599B2 JP2013531648A JP2013531648A JP5937599B2 JP 5937599 B2 JP5937599 B2 JP 5937599B2 JP 2013531648 A JP2013531648 A JP 2013531648A JP 2013531648 A JP2013531648 A JP 2013531648A JP 5937599 B2 JP5937599 B2 JP 5937599B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- raid
- storage devices
- amount
- 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
- 238000013500 data storage Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 27
- 239000007787 solid Substances 0.000 claims description 12
- 238000005192 partition Methods 0.000 description 33
- 238000003491 array Methods 0.000 description 28
- 230000015654 memory Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 14
- 230000006399 behavior Effects 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 238000011084 recovery Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000008672 reprogramming Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000758 substrate Substances 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
-
- 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/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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
-
- 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/1059—Parity-single bit-RAID5, i.e. RAID 5 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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
繰り返すが、図示のように、ネットワークアーキテクチャ100は、ネットワーク180及び190を介して互いに及びデータストレージアレイ120a〜120bに相互接続されたクライアントコンピュータシステム110a〜110cを含む。ネットワーク180及び190は、無線接続、直接ローカルエリアネットワーク(LAN)接続、ストレージエリアネットワーク(SAN)、インターネットなどの広域ネットワーク(WAN)接続及びルータなどを含む様々な技術を含むことができる。ネットワーク180及び190は、1又はそれ以上のLANを含むことができ、これらは無線であってもよい。ネットワーク180及び190は、リモートダイレクトメモリアクセス(RDMA)ハードウェア及び/又はソフトウェア、伝送制御プロトコル/インターネットプロトコル(TCP/IP)ハードウェア及び/又はソフトウェア、ルータ、リピータ、スイッチ及び/又はグリッドなどをさらに含むことができる。ネットワーク180及び190内では、イーサネット(登録商標)、ファイバチャネル、ファイバチャネルオーバーイーサネット(FCoE)及びiSCSIなどのプロトコルを使用することができる。スイッチ140は、ネットワーク180及び190の両方に関連するプロトコルを利用することができる。ネットワーク190は、伝送制御プロトコル(TCP)及びインターネットプロトコル(IP)、すなわちTCP/IPなどの、インターネット160に使用される通信プロトコルの組と整合することができる。スイッチ150は、TCP/IPスイッチとすることができる。
ここで図2を参照すると、動的デバイス内冗長スキームの1つの実施形態を示す汎用ブロック図を示している。当業者には周知のように、ストレージデバイス内の潜在的なセクタエラーの影響を低減するように複数のデバイス内冗長スキームの1つを選択することができる。通常、「セクタ」という用語は、ディスク上の所与のトラック内のセグメントなどの、HDD上における基本記憶単位を意味する。ここでは、「セクタ」という用語は、SSD上における基本的な割り当て単位(アロケーションユニット)を意味することもできる。
ここで図4を参照すると、ストレージサブシステムの1つの実施形態の汎用ブロック図を示している。1又はそれ以上のデバイスグループ173a〜173mの1つにおいて、1又はそれ以上のストレージデバイス176a〜176mの各々を分割することができる。同様に、他のデバイスを含む他のデバイスグループも存在し得る。各ストレージデバイスの対応する動作キュー及び状態テーブルを、デバイスユニット400a〜400wの1つに含めることができる。これらのデバイスユニットを、RAM172に記憶することができる。デバイスグループ173a〜173mの各々に関し、対応するRAIDエンジン178a〜178mを含めることができる。各RAIDエンジン178は、対応するデバイスグループ内のストレージデバイスの各々の統計値を追跡するモニタ410を含むことができる。データレイアウトロジック420は、対応するストレージデバイス内の、ユーザデータ、デバイス間冗長データ及びデバイス内冗長データに対して割り当てるべき空き容量を決定することができる。ストレージコントローラ174は、ウェアレベリング、ガベージコレクション、I/Oスケジューリング、重複除外、並びに着信及び発信パケットのプロトコル変換といったタスクのうちの少なくとも1つを行うためのその他の制御ロジック430を含むことができる。
ここで図7を参照すると、フレキシブルなRAIDデータレイアウトアーキテクチャの1つの実施形態を示す汎用ブロック図を示している。RAIDエンジンは、ストレージデバイス176a〜176kに使用すべき保護レベルを決定することができる。例えば、RAIDエンジンは、ストレージデバイス176a〜176kにRAIDダブルパリティを利用すると決定することができる。デバイス間冗長データ240は、対応するユーザデータから生成されたRAIDダブルパリティ値を表すことができる。1つの実施形態では、ストレージデバイス176j及び176kが、ダブルパリティ情報を記憶することができる。他のレベルのRAIDパリティ保護も可能であり、企図されると理解されたい。また、他の実施形態では、ダブルパリティ情報を、各RAIDストライプのストレージデバイス176j及び176kに記憶するのではなく、この記憶をストレージデバイス間で循環させることもできる。ダブルパリティ情報がストレージデバイス176j及び176kに記憶されるように示しているのは、図示及び説明を簡単にするためである。
ここで図10を参照すると、フレキシブルなRAIDデータレイアウトアーキテクチャのさらに別の実施形態を示す汎用ブロック図を示している。図8に示す汎用ブロック図と同様に、フレキシブルなRAIDデータレイアウトアーキテクチャを使用することができる。ストレージデバイス176a〜176kは、複数のストレージデバイスにわたってレイアウトされた複数のRAIDストライプを含む。ストレージデバイス176a〜176kの各々は複数のページを含むが、図を簡単にするために、ページ1010及びページ1020にしかラベルを付けていない。図示の例では、ストレージデバイス176j及び176kがダブルパリティ情報を記憶するダブルパリティRAIDデータレイアウトが選択されている。
様々な実施形態では、本明細書で説明するシステムが物理層を含み、これを通じてシステムの他の要素がストレージデバイスと通信することができる。例えば、スケジューリングロジック、RAIDロジック及びその他のロジックは、ソフトウェア及び/又はハードウェアのあらゆる好適な組み合わせを含む物理層を介してストレージデバイスと通信することができる。一般に、物理層は、永続ストレージへのアクセスの提供及びデータストレージの完全性に関する機能の実行を含む様々な機能を実行する。
(1)RAIDレベル−セグメント内のデバイス間保護に使用されるRAIDレベル。これにより、ミラーリング、パリティ、又はECC RAID、及びどれだけのセグメントシャードがパリティを含むかを決定することができる。
(2)デバイスレイアウトI/Oシャードサイズ−書き込み中に各デバイスにわたるストライピングに使用するサイズを表す。このサイズは、典型的には256KB〜1MBとなり、恐らくは各デバイス上の消去ブロックサイズの倍数となる。図11Bには、例示目的でI/Oシャードサイズ1125を挙げている。
(3)I/O読み込みサイズ−論理的読み込みサイズである。各I/Oシャードを一連の論理ページとしてフォーマットすることができる。さらに各ページは、ページ内のデータのヘッダ及びチェックサムを含むことができる。読み込みが発行された場合、この読み込みは、1又はそれ以上の論理ページに対するものとなり、チェックサムを使用して各ページ内のデータを検証することができる。
(4)I/OシャードRAIDレベル−I/Oシャードは、再生中に見つかった潜在的なエラーを処理すべきシャード内パリティを有する。このパラメータは、どのタイプのパリティがシャード内保護に使用されているか、従ってどれだけのシャード内パリティのコピーが維持されるかを決定する。
(5)I/Oパリティチャンク−様々な実施形態では、ストレージデバイスが、ページ単位でECCを行うことができる。従って、エラーが見つかった場合、物理ページ全体の不具合を示している可能性がある。I/Oパリティチャンクは、セグメント内の各デバイス上の物理ページサイズの最小公倍数であり、I/Oパリティチャンク又はI/O読み込みサイズのうちの大きい方にI/Oシャードをストライピングすることにより、シャード内パリティが計算される。ページパリティの1又はそれ以上のページを含めることができる。様々な実施形態では、チェックサム検証が失敗に終わった場合、このパリティを使用してデータを再生することができる。
各デバイスのローカルなセグメントには、各デバイスの摩耗率テーブル(WLT)を記憶することができる。この情報を、各セグメントシャードのヘッダに記憶することもできる。1つの実施形態では、摩耗情報が、アロケーションユニットが消去及び再利用された回数を表す整数である。摩耗情報は正確でない場合もあるので、一定量の行動が行われた場合、又は相当期間にわたってシステムがアイドルであった場合に、デバイスに対するテーブルのフラッシュを行なうことができる。WLTは、新たなWLTセグメントを割り当てる際に古いWLTセグメントをクリーニングすることに関与することもできる。追加の保護層を加えるために、古いコピーを解放する前にこれらを維持することができる。例えば、テーブルマネージャが、WLTエントリの以前の消去ブロック及び現在の消去ブロックを常に保持し、新たなセグメントを割り当てる場合には、この新たなセグメントの第2の消去ブロックに書き込みを行うまで古いセグメントを解放しないように保証する。
AU状態テーブル(AST)は、各AUの状態を追跡する。この状態には、空き、割り当て済み、消去済み、及び不良がある。このASTを、デバイス上のセグメントに記憶することができる。割り当て済み又は空きへの状態変更は同期更新とすることができ、不良又は消去済みへの状態変更は非同期更新とすることができる。一般に、このテーブルは十分に小さく、NVRAMに記録できるだけの十分な更新を有することができる。ASTは、新たなセグメントを割り当てる際に古いWLTセグメントをクリーニングすることに関与することができる。ASTは、ドライブ上の各AUの第1のブロックをスキャンすることによって完全に回復できるので、古いASTのコピーを保持する必要はない。
AUエラーテーブル(AET)を使用して、各AU内の回復可能エラー及び回復不能エラーの数を追跡することができる。AETは、デバイス上のセグメントに記憶され、各フィールドは、2バイトの整数とすることができる。このテーブル全体は、AU当たり4バイトの比較的小さなものとすることができる。
ここで図12を参照すると、ハイブリッドRAIDデータレイアウト1200の1つの実施形態を示す汎用ブロック図を示している。3つの区分を示しているが、あらゆる数の区分を選択することができる。各区分は、図1に示すデバイスグループ713a〜173bなどの別個のデバイスグループに対応することができる。各区分は、複数のストレージデバイスを含む。1つの実施形態では、CRUSHアルゴリズムなどのアルゴリズムを利用して、データストレージに使用すべきRAIDデータレイアウトアーキテクチャにおいていずれのデバイスを使用すべきかを選択することができる。
Claims (7)
- 独立ディスク冗長アレイ(RAID)における複数のストレージデバイスを備えたデータストレージサブシステムと、ストレージコントローラを備え、
前記ストレージコントローラは、
第1のRAIDストライプを、前記複数のストレージデバイスに書き込むように構成され、前記複数のストレージデバイスの特定のストレージデバイスに、前記特定のストレージデバイスに保存された前記第1のRAIDストライプの第1のRAIDデータを保護するためのデバイス内保護データの第1の量を配置することを含み、
第2のRAIDストライプを書き込むための前記複数のストレージデバイスのストレージデバイスのサブセットを選択するように構成され、前記サブセットのストレージデバイスの量は、前記複数のストレージデバイスのストレージデバイスの量よりも小さく、前記サブセットは、前記特定のストレージデバイスを含み、
第2のRAIDストライプを、前記サブセットに書き込むように構成され、前記特定のストレージデバイスに、前記特定のストレージデバイスに保存された前記第2のRAIDストライプの第2のRAIDデータを保護するためのデバイス内保護データの第2の量を配置することを含み、前記デバイス内保護データの第2の量は、前記デバイス内保護データの第1の量よりも大きい、
コンピュータシステム。 - 前記複数のストレージデバイスは、ソリッドステートストレージデバイスである、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記第1のRAIDストライプは、L+xのレイアウトである第1のRAIDレイアウトを有し、前記第2のRAIDストライプは、M+yのレイアウトである第2のRAIDレイアウトを有し、L、x、M及びyは整数であり、(1)LはMに等しくない、及び(2)xはyに等しくない、のいずれか又は両方である、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記複数のストレージデバイスにおける少なくとも1つのストレージデバイスは、前記特定のストレージデバイスにおける前記デバイス内保護データの第1の量とは異なるデバイス内保護データの量を有する、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記ストレージデバイスのサブセットにおける少なくとも1つのストレージデバイスは、前記特定のストレージデバイスにおける前記デバイス内保護データの第2の量とは異なるデバイス内保護データの量を有する、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 独立ディスク冗長アレイ(RAID)における複数のストレージデバイスを構成するための方法であって、
第1のRAIDストライプを、前記複数のストレージデバイスに書き込むステップであって、前記複数のストレージデバイスの特定のストレージデバイスに、前記特定のストレージデバイスに保存された前記第1のRAIDストライプの第1のRAIDデータを保護するためのデバイス内保護データの第1の量を配置することを含むステップと、
第2のRAIDストライプを書き込むための前記複数のストレージデバイスのストレージデバイスのサブセットを選択するステップであって、前記サブセットのストレージデバイスの量は、前記複数のストレージデバイスのストレージデバイスの量よりも小さく、前記サブセットは、前記特定のストレージデバイスを含むステップと、
第2のRAIDストライプを、前記サブセットに書き込むステップであって、前記特定のストレージデバイスに、前記特定のストレージデバイスに保存された前記第2のRAIDストライプの第2のRAIDデータを保護するためのデバイス内保護データの第2の量を配置することを含み、前記デバイス内保護データの第2の量は、前記デバイス内保護データの第1の量よりも大きい、ステップと、
を含むことを特徴とする方法。 - 独立ディスク冗長アレイ(RAID)における複数のストレージデバイスを構成ためのプログラム命令を記憶するコンピュータ可読記憶媒体であって、前記プログラム命令は、
第1のRAIDストライプを、前記複数のストレージデバイスに書き込むように実行可能であり、前記複数のストレージデバイスの特定のストレージデバイスに、前記特定のストレージデバイスに保存された前記第1のRAIDストライプの第1のRAIDデータを保護するためのデバイス内保護データの第1の量を配置することを含み、
第2のRAIDストライプを書き込むための前記複数のストレージデバイスのストレージデバイスのサブセットを選択するように実行可能であり、前記サブセットのストレージデバイスの量は、前記複数のストレージデバイスのストレージデバイスの量よりも小さく、前記サブセットは、前記特定のストレージデバイスを含み、
第2のRAIDストライプを、前記サブセットに書き込むように実行可能であり、前記特定のストレージデバイスに、前記特定のストレージデバイスに保存された前記第2のRAIDストライプの第2のRAIDデータを保護するためのデバイス内保護データの第2の量を配置することを含み、前記デバイス内保護データの第2の量は、前記デバイス内保護データの第1の量よりも大きい、
コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/896,669 | 2010-10-01 | ||
US12/896,669 US9229808B2 (en) | 2010-10-01 | 2010-10-01 | Reconstruct reads in a raid array with dynamic geometries |
PCT/US2011/052276 WO2012044492A1 (en) | 2010-10-01 | 2011-09-20 | Reconstruct reads in a raid array with dynamic geometries |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016096285A Division JP6247334B2 (ja) | 2010-10-01 | 2016-05-12 | 動的構成のraidアレイにおける再構成読み込み |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013539134A JP2013539134A (ja) | 2013-10-17 |
JP2013539134A5 JP2013539134A5 (ja) | 2014-11-06 |
JP5937599B2 true JP5937599B2 (ja) | 2016-06-22 |
Family
ID=44720170
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013531648A Active JP5937599B2 (ja) | 2010-10-01 | 2011-09-20 | 動的構成のraidアレイにおける再構成読み込み |
JP2016096285A Active JP6247334B2 (ja) | 2010-10-01 | 2016-05-12 | 動的構成のraidアレイにおける再構成読み込み |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016096285A Active JP6247334B2 (ja) | 2010-10-01 | 2016-05-12 | 動的構成のraidアレイにおける再構成読み込み |
Country Status (6)
Country | Link |
---|---|
US (2) | US9229808B2 (ja) |
EP (1) | EP2622477A1 (ja) |
JP (2) | JP5937599B2 (ja) |
KR (1) | KR101824286B1 (ja) |
CN (1) | CN103314361B (ja) |
WO (1) | WO2012044492A1 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8775868B2 (en) * | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9128910B1 (en) * | 2011-03-16 | 2015-09-08 | Tintri Inc. | Avoiding long access latencies in redundant storage systems |
WO2013147785A1 (en) * | 2012-03-29 | 2013-10-03 | Hitachi Data Systems Corporation | Highly available search index with storage node addition and removal |
US9372726B2 (en) | 2013-01-09 | 2016-06-21 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
US9092310B2 (en) | 2013-03-15 | 2015-07-28 | Seagate Technology Llc | Host command based read disturb methodology |
US9153347B2 (en) * | 2013-12-06 | 2015-10-06 | Feiyue Xu | Method and system for reliable big capacity storage system protected by triple protection |
KR102318478B1 (ko) * | 2014-04-21 | 2021-10-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법 |
US9990263B1 (en) * | 2015-03-20 | 2018-06-05 | Tintri Inc. | Efficient use of spare device(s) associated with a group of devices |
US10248347B2 (en) | 2015-04-08 | 2019-04-02 | Tintri By Ddn, Inc. | Auto allocation of storage system resources to heterogeneous categories of resource consumer |
US10649850B1 (en) * | 2015-06-29 | 2020-05-12 | Amazon Technologies, Inc. | Heterogenous media storage and organization in automated data storage systems |
US10838911B1 (en) | 2015-12-14 | 2020-11-17 | Amazon Technologies, Inc. | Optimization of data request processing for data storage systems |
CN106933490A (zh) * | 2015-12-29 | 2017-07-07 | 伊姆西公司 | 控制对磁盘阵列进行读写操作的方法和装置 |
CN108228086B (zh) * | 2016-12-21 | 2021-07-16 | 伊姆西Ip控股有限责任公司 | Raid重建的方法和设备 |
US11150846B2 (en) * | 2017-03-28 | 2021-10-19 | Hitachi, Ltd. | Storage system, computer-readable recording medium, and control method for system that reconstructs and distributes data |
CN110096217B (zh) * | 2018-01-31 | 2022-05-27 | 伊姆西Ip控股有限责任公司 | 用于重新定位数据的方法、数据存储系统和介质 |
US11171671B2 (en) * | 2019-02-25 | 2021-11-09 | Samsung Electronics Co., Ltd. | Reducing vulnerability window in key value storage server without sacrificing usable capacity |
US11789611B2 (en) | 2020-04-24 | 2023-10-17 | Netapp, Inc. | Methods for handling input-output operations in zoned storage systems and devices thereof |
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 |
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 |
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 |
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 |
US11340987B1 (en) | 2021-03-04 | 2022-05-24 | Netapp, Inc. | Methods and systems for raid protection in zoned solid-state drives |
US11797377B2 (en) | 2021-10-05 | 2023-10-24 | Netapp, Inc. | Efficient parity determination in zoned solid-state drives of a storage system |
US11803329B2 (en) | 2021-11-22 | 2023-10-31 | Netapp, Inc. | Methods and systems for processing write requests in a storage system |
US11816359B2 (en) | 2021-12-16 | 2023-11-14 | Netapp, Inc. | Scalable solid-state storage system and methods thereof |
US11940911B2 (en) | 2021-12-17 | 2024-03-26 | Netapp, Inc. | Persistent key-value store and journaling system |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3681766B2 (ja) | 1994-01-10 | 2005-08-10 | 富士通株式会社 | ディスクアレイ装置 |
JPH07261945A (ja) * | 1994-03-17 | 1995-10-13 | Hitachi Ltd | ディスクアレイ装置およびディスクアレイの区分け方法 |
US5657439A (en) | 1994-08-23 | 1997-08-12 | International Business Machines Corporation | Distributed subsystem sparing |
US5497457A (en) * | 1994-10-17 | 1996-03-05 | International Business Machines Corporation | Redundant arrays of independent libraries of dismountable media with parity logging |
US5651133A (en) | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
US5822782A (en) | 1995-10-27 | 1998-10-13 | Symbios, Inc. | Methods and structure to maintain raid configuration information on disks of the array |
US6311251B1 (en) * | 1998-11-23 | 2001-10-30 | Storage Technology Corporation | System for optimizing data storage in a RAID system |
US6321345B1 (en) | 1999-03-01 | 2001-11-20 | Seachange Systems, Inc. | Slow response in redundant arrays of inexpensive disks |
US6275898B1 (en) | 1999-05-13 | 2001-08-14 | Lsi Logic Corporation | Methods and structure for RAID level migration within a logical unit |
US6681290B2 (en) | 2001-01-29 | 2004-01-20 | International Business Machines Corporation | Physical data layout to reduce seeks in a raid system |
US6854071B2 (en) | 2001-05-14 | 2005-02-08 | International Business Machines Corporation | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system |
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US6851082B1 (en) * | 2001-11-13 | 2005-02-01 | Network Appliance, Inc. | Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array |
US6883065B1 (en) * | 2001-11-15 | 2005-04-19 | Xiotech Corporation | System and method for a redundant communication channel via storage area network back-end |
US7111117B2 (en) | 2001-12-19 | 2006-09-19 | Broadcom Corporation | Expansion of RAID subsystems using spare space with immediate access to new space |
US7315976B2 (en) * | 2002-01-31 | 2008-01-01 | Lsi Logic Corporation | Method for using CRC as metadata to protect against drive anomaly errors in a storage array |
US7080278B1 (en) * | 2002-03-08 | 2006-07-18 | Network Appliance, Inc. | Technique for correcting multiple storage device failures in a storage array |
US7200715B2 (en) | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US6938123B2 (en) | 2002-07-19 | 2005-08-30 | Storage Technology Corporation | System and method for raid striping |
US7383379B2 (en) * | 2002-08-07 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Manipulating data in a data storage device using an auxiliary memory device |
JP3824317B2 (ja) * | 2003-06-24 | 2006-09-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ、コンピュータ装置、データ処理方法及びプログラム |
GB0320494D0 (en) | 2003-09-02 | 2003-10-01 | Ibm | Methods apparatus and controllers for a raid storage system |
US7206991B2 (en) | 2003-10-15 | 2007-04-17 | Lsi Logic Corporation | Method, apparatus and program for migrating between striped storage and parity striped storage |
US8645622B2 (en) * | 2003-11-18 | 2014-02-04 | International Business Machines Corporation | Method to protect data on a disk drive from uncorrectable media errors |
US7210077B2 (en) * | 2004-01-29 | 2007-04-24 | Hewlett-Packard Development Company, L.P. | System and method for configuring a solid-state storage device with error correction coding |
US7681072B1 (en) | 2004-08-13 | 2010-03-16 | Panasas, Inc. | Systems and methods for facilitating file reconstruction and restoration in data storage systems where a RAID-X format is implemented at a file level within a plurality of storage devices |
US7263583B2 (en) * | 2004-10-05 | 2007-08-28 | International Business Machines Corporation | On demand, non-capacity based process, apparatus and computer program to determine maintenance fees for disk data storage system |
US7290199B2 (en) * | 2004-11-19 | 2007-10-30 | International Business Machines Corporation | Method and system for improved buffer utilization for disk array parity updates |
JP4324088B2 (ja) | 2004-12-17 | 2009-09-02 | 富士通株式会社 | データ複製制御装置 |
US7484137B2 (en) | 2005-03-31 | 2009-01-27 | Hitachi Global Storage Technologies Netherlands B.V. | RAID system using regional error statistics for redundancy grouping |
US7370175B2 (en) * | 2006-03-31 | 2008-05-06 | Intel Corporation | System, method, and apparatus to aggregate heterogeneous RAID sets |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US7669008B2 (en) * | 2007-02-09 | 2010-02-23 | International Business Machines Corporation | Destage management of redundant data copies |
US7904782B2 (en) * | 2007-03-09 | 2011-03-08 | Microsoft Corporation | Multiple protection group codes having maximally recoverable property |
US7979773B2 (en) * | 2007-03-13 | 2011-07-12 | Summit Data Systems Llc | RAID array auto-initialization (RAAI) |
US7958303B2 (en) | 2007-04-27 | 2011-06-07 | Gary Stephen Shuster | Flexible data storage system |
JP2009037304A (ja) * | 2007-07-31 | 2009-02-19 | Hitachi Ltd | Raidレベルを変更する機能を有したストレージシステム |
US8095851B2 (en) * | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US8799681B1 (en) * | 2007-12-27 | 2014-08-05 | Emc Corporation | Redundant array of encrypting disks |
US20090172335A1 (en) * | 2007-12-31 | 2009-07-02 | Anand Krishnamurthi Kulkarni | Flash devices with raid |
US8171379B2 (en) | 2008-02-18 | 2012-05-01 | Dell Products L.P. | Methods, systems and media for data recovery using global parity for multiple independent RAID levels |
JP4862847B2 (ja) * | 2008-03-07 | 2012-01-25 | 日本電気株式会社 | ディスクアレイのデータ復旧方法、ディスクアレイシステム及び制御プログラム |
US20100125695A1 (en) * | 2008-11-15 | 2010-05-20 | Nanostar Corporation | Non-volatile memory storage system |
US20100241923A1 (en) * | 2009-03-17 | 2010-09-23 | Broadcom Corporation | Communication device employing LDPC (Low Density Parity Check) coding with Reed-Solomon (RS) and/or binary product coding |
JP5538362B2 (ja) | 2009-03-18 | 2014-07-02 | 株式会社日立製作所 | 記憶制御装置及び仮想ボリュームの制御方法 |
US8037391B1 (en) | 2009-05-22 | 2011-10-11 | Nvidia Corporation | Raid-6 computation system and method |
CN101727299B (zh) * | 2010-02-08 | 2011-06-29 | 北京同有飞骥科技股份有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
-
2010
- 2010-10-01 US US12/896,669 patent/US9229808B2/en not_active Ceased
-
2011
- 2011-09-20 CN CN201180054839.8A patent/CN103314361B/zh active Active
- 2011-09-20 EP EP11761784.5A patent/EP2622477A1/en active Pending
- 2011-09-20 JP JP2013531648A patent/JP5937599B2/ja active Active
- 2011-09-20 KR KR1020137011225A patent/KR101824286B1/ko active IP Right Grant
- 2011-09-20 WO PCT/US2011/052276 patent/WO2012044492A1/en active Application Filing
-
2016
- 2016-05-12 JP JP2016096285A patent/JP6247334B2/ja active Active
-
2018
- 2018-01-05 US US15/863,777 patent/USRE48222E1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9229808B2 (en) | 2016-01-05 |
USRE48222E1 (en) | 2020-09-22 |
EP2622477A1 (en) | 2013-08-07 |
JP2013539134A (ja) | 2013-10-17 |
WO2012044492A1 (en) | 2012-04-05 |
US20120084505A1 (en) | 2012-04-05 |
KR20130114668A (ko) | 2013-10-17 |
JP2016184413A (ja) | 2016-10-20 |
KR101824286B1 (ko) | 2018-01-31 |
JP6247334B2 (ja) | 2017-12-13 |
CN103314361B (zh) | 2016-06-01 |
CN103314361A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6307537B2 (ja) | Ssd環境のための適応的raid | |
JP6247334B2 (ja) | 動的構成のraidアレイにおける再構成読み込み | |
US11579974B1 (en) | Data protection using intra-device parity and intra-device parity | |
JP5848353B2 (ja) | Raidアレイにおけるデバイス内データ保護 | |
US20210173741A1 (en) | Distributed multi-level protection in a hyper-converged infrastructure | |
US20120084504A1 (en) | Dynamic raid geometries in an ssd environment | |
US20120084507A1 (en) | Multi-level protection with intra-device protection in a raid array based storage system | |
US20240354193A1 (en) | Managing Redundancy Levels For Storage Devices During Initial Operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140912 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140912 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150727 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150811 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20151111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151211 |
|
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: 20160412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160512 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5937599 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |