JP5848353B2 - Raidアレイにおけるデバイス内データ保護 - Google Patents
Raidアレイにおけるデバイス内データ保護 Download PDFInfo
- Publication number
- JP5848353B2 JP5848353B2 JP2013531647A JP2013531647A JP5848353B2 JP 5848353 B2 JP5848353 B2 JP 5848353B2 JP 2013531647 A JP2013531647 A JP 2013531647A JP 2013531647 A JP2013531647 A JP 2013531647A JP 5848353 B2 JP5848353 B2 JP 5848353B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- storage devices
- raid
- storage device
- 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
- 238000003491 array Methods 0.000 title description 29
- 238000013500 data storage Methods 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 21
- 239000007787 solid Substances 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 238000005192 partition Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 18
- 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
- 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
- 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
- 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
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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/0688—Non-volatile semiconductor memory arrays
-
- 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
-
- 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)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (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 (10)
- ネットワークを介して読み込み及び書き込み要求を送信するように構成されたクライア
ントコンピュータと、
前記ネットワークに結合されて前記読み込み及び書き込み要求を受け取るように構成さ
れた、複数のストレージデバイスを含むデータストレージサブシステムと、
を備え、前記データストレージサブシステムは、ストレージコントローラをさらに備え、
該ストレージコントローラは、
前記データストレージサブシステムに記憶されたデータ単位を識別するように構成さ
れ、前記データ単位は、前記複数のストレージデバイスのうちの少なくとも第1のストレ
ージデバイス及び第2のストレージデバイスにわたって記憶され、前記第1のストレージ
デバイス及び前記第2のストレージデバイスの各々は、前記データ単位に対応するデバイ
ス内冗長データを記憶し、前記ストレージコントローラは、
前記データ単位に対応するデバイス内冗長データの量を前記第1のストレージデバイ
ス上においてのみ変更する、
ようにさらに構成される、
ことを特徴とするコンピュータシステム。 - 前記データ単位は、RAIDストライプである、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記ストレージコントローラは、前記第1のストレージデバイスの信頼性の変化の指示
を検出したことに応答して、前記第1のストレージデバイス上に記憶された前記デバイス
内冗長データの量を変更するように構成される、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記ストレージコントローラは、前記複数のストレージデバイスの特性を示すデータを
記憶するようにさらに構成され、前記信頼性の変化は、前記特性に少なくとも部分的に基
づく、
ことを特徴とする請求項3に記載のコンピュータシステム。 - 前記ストレージコントローラは、前記第1のストレージデバイスの特性を検出したことに応答して、前記第1のストレージデバイス上に記憶された前記デバイス内冗長データの量を変更するように構成され、前記特性は、エラー率、アクセス率、使用年数、占有率レベル、データの予想寿命、及び記憶されたデータの使用年数のうちの1つ又はそれ以上である、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記ストレージコントローラは、前記複数のストレージデバイス間の2つの連続するス
トライプの2つの連続する書き込み間において、前記複数のストレージデバイスのうちの
少なくとも2つの異なるストレージデバイスについて、ユーザデータ及び対応するデバイ
ス内冗長データのための記憶空間のそれぞれの量の新しい明確な値を決定する、
ように構成されることを特徴とする請求項1に記載のコンピュータシステム。 - 前記複数のストレージデバイスの各々は、固体メモリを含む、
ことを特徴とする請求項2に記載のコンピュータシステム。 - 前記第1のストレージデバイス及び前記第2のストレージデバイスの各々は、前記デー
タ単位の記憶されたユーザデータのためのチェックサムをさらに含み、前記ストレージコ
ントローラは、前記データ単位の少なくとも一部に対する読み込みに応答して、
前記チェックサムを利用して、対応する読み込みデータを検証し、
前記チェックサムが、前記読み込みデータが有効でないと示したことを検出したことに
応答して、デバイス内冗長性データを利用して前記対応する読み込みデータを再生する、
ように構成されることを特徴とする請求項1に記載のコンピュータシステム。 - コンピューティングシステムで使用するための方法であって、
複数のストレージデバイスを含むデータストレージサブシステムにおいて読み込み及び
書き込み要求を受け取るステップと、
前記データストレージサブシステムに記憶されたデータ単位を識別するステップと、
を含み、前記データ単位は、前記複数のストレージデバイスのうちの少なくとも第1のス
トレージデバイス及び第2のストレージデバイスにわたって記憶され、前記第1のストレ
ージデバイス及び前記第2のストレージデバイスの各々は、前記データ単位に対応するデ
バイス内冗長データを記憶し、
前記データ単位に対応するデバイス内冗長データの量を前記第1のストレージデバイス
上においてのみ変更するステップをさらに含む、
ことを特徴とする方法。 - プログラム命令を記憶するコンピュータ可読記憶媒体であって、前記プログラム命令は
、
複数のストレージデバイスを含むデータストレージサブシステムにおいて読み込み及び
書き込み要求を受け取り、
前記データストレージサブシステムに記憶されたデータ単位を識別する、
ように実行可能であり、前記データ単位は、前記複数のストレージデバイスのうちの少な
くとも第1のストレージデバイス及び第2のストレージデバイスにわたって記憶され、前
記第1のストレージデバイス及び前記第2のストレージデバイスの各々は、前記データ単
位に対応するデバイス内冗長データを記憶し、前記プログラム命令は、
前記データ単位に対応するデバイス内冗長データの量を前記第1のストレージデバイス
上においてのみ変更する、
ようにさらに実行可能であることを特徴とするコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/892,535 US8463991B2 (en) | 2010-09-28 | 2010-09-28 | Intra-device data protection in a raid array |
US12/892,535 | 2010-09-28 | ||
PCT/US2011/052268 WO2012047500A1 (en) | 2010-09-28 | 2011-09-20 | Intra-device data protection in a raid array |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013539133A JP2013539133A (ja) | 2013-10-17 |
JP2013539133A5 JP2013539133A5 (ja) | 2014-11-06 |
JP5848353B2 true JP5848353B2 (ja) | 2016-01-27 |
Family
ID=44736062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013531647A Active JP5848353B2 (ja) | 2010-09-28 | 2011-09-20 | Raidアレイにおけるデバイス内データ保護 |
Country Status (6)
Country | Link |
---|---|
US (3) | US8463991B2 (ja) |
EP (2) | EP2622480B1 (ja) |
JP (1) | JP5848353B2 (ja) |
KR (1) | KR101821001B1 (ja) |
CN (1) | CN103339609B (ja) |
WO (1) | WO2012047500A1 (ja) |
Families Citing this family (160)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
US8463991B2 (en) * | 2010-09-28 | 2013-06-11 | Pure Storage Inc. | Intra-device data protection in a raid array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8689040B2 (en) * | 2010-10-01 | 2014-04-01 | Lsi Corporation | Method and system for data reconstruction after drive failures |
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 |
WO2013048451A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Presentation of direct accessed storage under a logical drive model |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9021333B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
US8788910B1 (en) | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
US9645917B2 (en) * | 2012-05-22 | 2017-05-09 | Netapp, Inc. | Specializing I/O access patterns for flash storage |
US9021337B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US9021336B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US8972824B1 (en) | 2012-05-22 | 2015-03-03 | Pmc-Sierra, Inc. | Systems and methods for transparently varying error correction code strength in a flash drive |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
US8996957B1 (en) | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US8869001B1 (en) | 2012-06-27 | 2014-10-21 | Amazon Technologies, Inc. | Layered redundancy encoding schemes for data storage |
US9110797B1 (en) | 2012-06-27 | 2015-08-18 | Amazon Technologies, Inc. | Correlated failure zones for data storage |
US8806296B1 (en) * | 2012-06-27 | 2014-08-12 | Amazon Technologies, Inc. | Scheduled or gradual redundancy encoding schemes for data storage |
US8850288B1 (en) | 2012-06-27 | 2014-09-30 | Amazon Technologies, Inc. | Throughput-sensitive redundancy encoding schemes for data storage |
CN102915212B (zh) * | 2012-09-19 | 2015-06-10 | 记忆科技(深圳)有限公司 | 一种固态硬盘的raid实现方法、固态硬盘及电子设备 |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9021339B2 (en) * | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9135096B2 (en) * | 2012-12-06 | 2015-09-15 | Compellent Technologies | RAID surveyor |
US9214963B1 (en) | 2012-12-21 | 2015-12-15 | Western Digital Technologies, Inc. | Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system |
CN104040512B (zh) * | 2012-12-28 | 2017-09-19 | 华为技术有限公司 | 存储空间的处理方法及装置 |
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 |
US9053012B1 (en) | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
US9026867B1 (en) | 2013-03-15 | 2015-05-05 | Pmc-Sierra, Inc. | Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9183086B2 (en) * | 2013-06-03 | 2015-11-10 | Sandisk Technologies Inc. | Selection of data for redundancy calculation in three dimensional nonvolatile memory |
WO2015017963A1 (en) | 2013-08-05 | 2015-02-12 | Intel Corporation | Storage systems with adaptive erasure code generation |
US9411817B2 (en) * | 2013-09-23 | 2016-08-09 | Google Inc. | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems based on desired file reliability or availability |
US9177673B2 (en) | 2013-10-28 | 2015-11-03 | Sandisk Technologies Inc. | Selection of data for redundancy calculation by likely error rate |
US9262268B2 (en) * | 2013-12-20 | 2016-02-16 | Seagate Technology Llc | Method to distribute user data and error correction data over different page types by leveraging error rate variations |
US9170746B2 (en) | 2014-01-07 | 2015-10-27 | Netapp, Inc. | Clustered raid assimilation management |
US20150199236A1 (en) * | 2014-01-13 | 2015-07-16 | Infinidat Ltd. | Multi-level disk failure protection |
US9454434B2 (en) | 2014-01-17 | 2016-09-27 | Netapp, Inc. | File system driven raid rebuild technique |
US9483349B2 (en) | 2014-01-17 | 2016-11-01 | Netapp, Inc. | Clustered raid data organization |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
IN2014CH01331A (ja) * | 2014-03-13 | 2015-09-18 | Infosys Ltd | |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US8850108B1 (en) * | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US9811546B1 (en) * | 2014-06-30 | 2017-11-07 | EMC IP Holding Company LLC | Storing data and metadata in respective virtual shards on sharded storage systems |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US9671960B2 (en) | 2014-09-12 | 2017-06-06 | Netapp, Inc. | Rate matching technique for balancing segment cleaning and I/O workload |
WO2016051512A1 (ja) | 2014-09-30 | 2016-04-07 | 株式会社日立製作所 | 分散型ストレージシステム |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US10365836B1 (en) * | 2015-01-27 | 2019-07-30 | Western Digital Technologies, Inc. | Electronic system with declustered data protection by parity based on reliability and method of operation thereof |
US9720601B2 (en) | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
US9762460B2 (en) | 2015-03-24 | 2017-09-12 | Netapp, Inc. | Providing continuous context for operational information of a storage system |
US9710317B2 (en) | 2015-03-30 | 2017-07-18 | Netapp, Inc. | Methods to identify, handle and recover from suspect SSDS in a clustered flash array |
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 |
US9998150B1 (en) * | 2015-06-16 | 2018-06-12 | Amazon Technologies, Inc. | Layered data redundancy coding techniques for layer-local data recovery |
US10270476B1 (en) * | 2015-06-16 | 2019-04-23 | Amazon Technologies, Inc. | Failure mode-sensitive layered redundancy coding techniques |
US10977128B1 (en) | 2015-06-16 | 2021-04-13 | Amazon Technologies, Inc. | Adaptive data loss mitigation for redundancy coding systems |
US10270475B1 (en) * | 2015-06-16 | 2019-04-23 | Amazon Technologies, Inc. | Layered redundancy coding for encoded parity data |
US10298259B1 (en) * | 2015-06-16 | 2019-05-21 | Amazon Technologies, Inc. | Multi-layered data redundancy coding techniques |
US9838041B1 (en) * | 2015-06-17 | 2017-12-05 | Amazon Technologies, Inc. | Device type differentiation for redundancy coded data storage systems |
US9853662B1 (en) | 2015-06-17 | 2017-12-26 | Amazon Technologies, Inc. | Random access optimization for redundancy coded data storage systems |
US9838042B1 (en) | 2015-06-17 | 2017-12-05 | Amazon Technologies, Inc. | Data retrieval optimization for redundancy coded data storage systems with static redundancy ratios |
US10311020B1 (en) | 2015-06-17 | 2019-06-04 | Amazon Technologies, Inc. | Locality-sensitive data retrieval for redundancy coded data storage systems |
US9825652B1 (en) | 2015-06-17 | 2017-11-21 | Amazon Technologies, Inc. | Inter-facility network traffic optimization for redundancy coded data storage systems |
US9866242B1 (en) | 2015-06-17 | 2018-01-09 | Amazon Technologies, Inc. | Throughput optimization for redundancy coded data storage systems |
US10009044B1 (en) * | 2015-06-17 | 2018-06-26 | Amazon Technologies, Inc. | Device type differentiation for redundancy coded data storage systems |
US10089176B1 (en) | 2015-07-01 | 2018-10-02 | Amazon Technologies, Inc. | Incremental updates of grid encoded data storage systems |
US10162704B1 (en) | 2015-07-01 | 2018-12-25 | Amazon Technologies, Inc. | Grid encoded data storage systems for efficient data repair |
US9959167B1 (en) | 2015-07-01 | 2018-05-01 | Amazon Technologies, Inc. | Rebundling grid encoded data storage systems |
US10198311B1 (en) | 2015-07-01 | 2019-02-05 | Amazon Technologies, Inc. | Cross-datacenter validation of grid encoded data storage systems |
US9998539B1 (en) | 2015-07-01 | 2018-06-12 | Amazon Technologies, Inc. | Non-parity in grid encoded data storage systems |
US10394762B1 (en) | 2015-07-01 | 2019-08-27 | Amazon Technologies, Inc. | Determining data redundancy in grid encoded data storage systems |
US9904589B1 (en) | 2015-07-01 | 2018-02-27 | Amazon Technologies, Inc. | Incremental media size extension for grid encoded data storage systems |
US10108819B1 (en) | 2015-07-01 | 2018-10-23 | Amazon Technologies, Inc. | Cross-datacenter extension of grid encoded data storage systems |
US9760432B2 (en) * | 2015-07-28 | 2017-09-12 | Futurewei Technologies, Inc. | Intelligent code apparatus, method, and computer program for memory |
US9740566B2 (en) | 2015-07-31 | 2017-08-22 | Netapp, Inc. | Snapshot creation workflow |
US10089180B2 (en) * | 2015-07-31 | 2018-10-02 | International Business Machines Corporation | Unfavorable storage growth rate abatement |
US9928141B1 (en) | 2015-09-21 | 2018-03-27 | Amazon Technologies, Inc. | Exploiting variable media size in grid encoded data storage systems |
US9691473B2 (en) | 2015-09-22 | 2017-06-27 | Sandisk Technologies Llc | Adaptive operation of 3D memory |
US9401216B1 (en) | 2015-09-22 | 2016-07-26 | Sandisk Technologies Llc | Adaptive operation of 3D NAND memory |
US11386060B1 (en) | 2015-09-23 | 2022-07-12 | Amazon Technologies, Inc. | Techniques for verifiably processing data in distributed computing systems |
US9785525B2 (en) | 2015-09-24 | 2017-10-10 | Netapp, Inc. | High availability failover manager |
US9940474B1 (en) | 2015-09-29 | 2018-04-10 | Amazon Technologies, Inc. | Techniques and systems for data segregation in data storage systems |
US9836366B2 (en) | 2015-10-27 | 2017-12-05 | Netapp, Inc. | Third vote consensus in a cluster using shared storage devices |
US10437480B2 (en) | 2015-12-01 | 2019-10-08 | Futurewei Technologies, Inc. | Intelligent coded memory architecture with enhanced access scheduler |
US10235059B2 (en) | 2015-12-01 | 2019-03-19 | Netapp, Inc. | Technique for maintaining consistent I/O processing throughput in a storage system |
US10394789B1 (en) | 2015-12-07 | 2019-08-27 | Amazon Technologies, Inc. | Techniques and systems for scalable request handling in data processing systems |
US10642813B1 (en) | 2015-12-14 | 2020-05-05 | Amazon Technologies, Inc. | Techniques and systems for storage and processing of operational data |
US9785495B1 (en) | 2015-12-14 | 2017-10-10 | Amazon Technologies, Inc. | Techniques and systems for detecting anomalous operational data |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US10229009B2 (en) | 2015-12-16 | 2019-03-12 | Netapp, Inc. | Optimized file system layout for distributed consensus protocol |
US10248793B1 (en) | 2015-12-16 | 2019-04-02 | Amazon Technologies, Inc. | Techniques and systems for durable encryption and deletion in data storage systems |
US10180912B1 (en) | 2015-12-17 | 2019-01-15 | Amazon Technologies, Inc. | Techniques and systems for data segregation in redundancy coded data storage systems |
US10324790B1 (en) | 2015-12-17 | 2019-06-18 | Amazon Technologies, Inc. | Flexible data storage device mapping for data storage systems |
US10235402B1 (en) | 2015-12-17 | 2019-03-19 | Amazon Technologies, Inc. | Techniques for combining grid-encoded data storage systems |
US10102065B1 (en) | 2015-12-17 | 2018-10-16 | Amazon Technologies, Inc. | Localized failure mode decorrelation in redundancy encoded data storage systems |
US10127105B1 (en) | 2015-12-17 | 2018-11-13 | Amazon Technologies, Inc. | Techniques for extending grids in data storage systems |
US9569306B1 (en) * | 2015-12-18 | 2017-02-14 | International Business Machines Corporation | Recovery of multi-page failures in non-volatile memory system |
CN106933490A (zh) | 2015-12-29 | 2017-07-07 | 伊姆西公司 | 控制对磁盘阵列进行读写操作的方法和装置 |
WO2017131752A1 (en) | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Remote direct memory access |
EP3286631A4 (en) | 2016-01-29 | 2018-05-30 | Hewlett-Packard Enterprise Development LP | Remote direct memory access |
CN107430585B (zh) | 2016-01-29 | 2021-04-02 | 慧与发展有限责任合伙企业 | 用于远程直接存储器访问的系统和方法 |
US10001922B2 (en) * | 2016-02-19 | 2018-06-19 | International Business Machines Corporation | High performance optical storage system for protection against concurrent data loss |
US10592336B1 (en) | 2016-03-24 | 2020-03-17 | Amazon Technologies, Inc. | Layered indexing for asynchronous retrieval of redundancy coded data |
US10366062B1 (en) | 2016-03-28 | 2019-07-30 | Amazon Technologies, Inc. | Cycled clustering for redundancy coded data storage systems |
US10061668B1 (en) | 2016-03-28 | 2018-08-28 | Amazon Technologies, Inc. | Local storage clustering for redundancy coded data storage system |
US10678664B1 (en) | 2016-03-28 | 2020-06-09 | Amazon Technologies, Inc. | Hybridized storage operation for redundancy coded data storage systems |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US9952767B2 (en) | 2016-04-29 | 2018-04-24 | Netapp, Inc. | Consistency group management |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US11137980B1 (en) | 2016-09-27 | 2021-10-05 | Amazon Technologies, Inc. | Monotonic time-based data storage |
US10437790B1 (en) | 2016-09-28 | 2019-10-08 | Amazon Technologies, Inc. | Contextual optimization for data storage systems |
US11281624B1 (en) | 2016-09-28 | 2022-03-22 | Amazon Technologies, Inc. | Client-based batching of data payload |
US10810157B1 (en) | 2016-09-28 | 2020-10-20 | Amazon Technologies, Inc. | Command aggregation for data storage operations |
US11204895B1 (en) | 2016-09-28 | 2021-12-21 | Amazon Technologies, Inc. | Data payload clustering for data storage systems |
US10496327B1 (en) | 2016-09-28 | 2019-12-03 | Amazon Technologies, Inc. | Command parallelization for data storage systems |
US10657097B1 (en) | 2016-09-28 | 2020-05-19 | Amazon Technologies, Inc. | Data payload aggregation for data storage systems |
US10614239B2 (en) | 2016-09-30 | 2020-04-07 | Amazon Technologies, Inc. | Immutable cryptographically secured ledger-backed databases |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US9996285B2 (en) * | 2016-11-08 | 2018-06-12 | SK Hynix Inc. | Cyclically interleaved XOR array for error recovery |
US10296764B1 (en) | 2016-11-18 | 2019-05-21 | Amazon Technologies, Inc. | Verifiable cryptographically secured ledgers for human resource systems |
US11269888B1 (en) | 2016-11-28 | 2022-03-08 | Amazon Technologies, Inc. | Archival data storage for structured data |
US10152379B1 (en) * | 2016-12-27 | 2018-12-11 | EMC IP Holding Company LLP | Efficient garbage collection for distributed storage with forward error correction |
KR20180078426A (ko) | 2016-12-29 | 2018-07-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 에러 정정 코드 처리 방법 |
US11356445B2 (en) | 2017-03-28 | 2022-06-07 | Amazon Technologies, Inc. | Data access interface for clustered devices |
US10530752B2 (en) | 2017-03-28 | 2020-01-07 | Amazon Technologies, Inc. | Efficient device provision |
US10621055B2 (en) | 2017-03-28 | 2020-04-14 | Amazon Technologies, Inc. | Adaptive data recovery for clustered data devices |
US10705911B2 (en) | 2017-04-24 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Storing data in a distributed storage system |
CN107391353B (zh) * | 2017-07-07 | 2020-07-28 | 西安电子科技大学 | 基于日志的复杂软件系统异常行为检测方法 |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10740202B2 (en) * | 2018-02-07 | 2020-08-11 | Excelero Storage Ltd. | System and method for efficient comparison of mirrored storage devices |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11494107B2 (en) | 2019-04-11 | 2022-11-08 | Apple Inc. | Managing parity information for data stored on a storage device |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11789611B2 (en) | 2020-04-24 | 2023-10-17 | Netapp, Inc. | Methods for handling input-output operations in zoned storage systems and devices thereof |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11340987B1 (en) | 2021-03-04 | 2022-05-24 | Netapp, Inc. | Methods and systems for raid protection in zoned solid-state drives |
CN113703684B (zh) * | 2021-08-31 | 2024-06-11 | 长江存储科技有限责任公司 | 基于raid的数据存储方法、数据读取方法及存储器系统 |
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 |
US11966277B2 (en) * | 2022-01-25 | 2024-04-23 | Dell Products L.P. | Storage error identification/reduction system |
CN117234791B (zh) * | 2023-11-09 | 2024-01-26 | 联和存储科技(江苏)有限公司 | 存储芯片的数据丢失检测方法及装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822782A (en) | 1995-10-27 | 1998-10-13 | Symbios, Inc. | Methods and structure to maintain raid configuration information on disks of the array |
WO1998012621A1 (fr) * | 1996-09-20 | 1998-03-26 | Hitachi, Ltd. | Sous-systeme a piles de disques |
JPH10240453A (ja) * | 1997-02-28 | 1998-09-11 | Nec Corp | ディスクアレイ装置 |
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 |
US7111117B2 (en) | 2001-12-19 | 2006-09-19 | Broadcom Corporation | Expansion of RAID subsystems using spare space with immediate access to new space |
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 |
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 |
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 |
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 |
JP4718340B2 (ja) * | 2006-02-02 | 2011-07-06 | 富士通株式会社 | ストレージシステム、制御方法及びプログラム |
JP2008090372A (ja) * | 2006-09-29 | 2008-04-17 | Hitachi Ltd | ストレージ装置及び負荷分散方法 |
WO2008070803A1 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for managing data from a requesting device with an empty data token directive |
US7958303B2 (en) | 2007-04-27 | 2011-06-07 | Gary Stephen Shuster | Flexible data storage system |
CN100592427C (zh) * | 2007-12-05 | 2010-02-24 | 苏州壹世通科技有限公司 | 一种数据块的磨损处理方法和装置 |
US7788541B2 (en) * | 2008-04-15 | 2010-08-31 | Dot Hill Systems Corporation | Apparatus and method for identifying disk drives with unreported data corruption |
JP5268710B2 (ja) * | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
CN101504625B (zh) * | 2009-03-04 | 2010-07-28 | 成都市华为赛门铁克科技有限公司 | 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备 |
US8037391B1 (en) | 2009-05-22 | 2011-10-11 | Nvidia Corporation | Raid-6 computation system and method |
CN102023809B (zh) * | 2009-09-21 | 2012-10-17 | 成都市华为赛门铁克科技有限公司 | 存储系统、从存储系统读取数据的方法及写入数据的方法 |
CN101825994B (zh) * | 2010-04-16 | 2016-04-13 | 苏州壹世通科技有限公司 | 基于固件的非操作系统依赖的闪存阵列管理装置和方法 |
US8463991B2 (en) | 2010-09-28 | 2013-06-11 | Pure Storage Inc. | Intra-device data protection in a raid array |
-
2010
- 2010-09-28 US US12/892,535 patent/US8463991B2/en active Active
-
2011
- 2011-09-20 EP EP11764403.9A patent/EP2622480B1/en active Active
- 2011-09-20 EP EP18165225.6A patent/EP3373145A1/en active Pending
- 2011-09-20 KR KR1020137010870A patent/KR101821001B1/ko active IP Right Grant
- 2011-09-20 CN CN201180053510.XA patent/CN103339609B/zh active Active
- 2011-09-20 WO PCT/US2011/052268 patent/WO2012047500A1/en active Application Filing
- 2011-09-20 JP JP2013531647A patent/JP5848353B2/ja active Active
-
2013
- 2013-06-10 US US13/914,248 patent/US8832373B2/en active Active
-
2014
- 2014-08-04 US US14/450,666 patent/US9058116B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140365717A1 (en) | 2014-12-11 |
WO2012047500A1 (en) | 2012-04-12 |
CN103339609B (zh) | 2015-09-23 |
EP3373145A1 (en) | 2018-09-12 |
EP2622480B1 (en) | 2018-08-01 |
US8832373B2 (en) | 2014-09-09 |
US20120079189A1 (en) | 2012-03-29 |
US9058116B2 (en) | 2015-06-16 |
JP2013539133A (ja) | 2013-10-17 |
KR101821001B1 (ko) | 2018-01-22 |
KR20130105666A (ko) | 2013-09-25 |
US8463991B2 (en) | 2013-06-11 |
CN103339609A (zh) | 2013-10-02 |
US20130346690A1 (en) | 2013-12-26 |
EP2622480A1 (en) | 2013-08-07 |
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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20130521 |
|
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: 20150818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150825 |
|
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: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5848353 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 |