JP4516087B2 - 一貫性方法及び一貫性システム - Google Patents
一貫性方法及び一貫性システム Download PDFInfo
- Publication number
- JP4516087B2 JP4516087B2 JP2007055048A JP2007055048A JP4516087B2 JP 4516087 B2 JP4516087 B2 JP 4516087B2 JP 2007055048 A JP2007055048 A JP 2007055048A JP 2007055048 A JP2007055048 A JP 2007055048A JP 4516087 B2 JP4516087 B2 JP 4516087B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- configuration
- storage system
- data storage
- distributed
- 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.)
- Expired - Fee Related
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ブリックの連合アレイ(「FAB(federated array of bricks)」)アーキテクチャは、マスストレージの新しい、高度に分散した手法を表す。図1は、本発明の一実施の形態によるFABマスストレージシステムの高レベルの図を示している。FABマスストレージシステムを以下では「FABシステム」と呼ぶ。FABシステムは、複数の小さな別個のコンポーネントデータストレージシステム、すなわちマスストレージデバイス102〜109を備える。これらのマスストレージデバイス102〜109は、第1の通信媒体110を通じて互いに相互通信を行い、第2の通信媒体114を通じて、複数のリモートホストコンピュータ112〜113から要求を受信することができ、複数のリモートホストコンピュータ112〜113へ返答を送信することができる。各別個のコンポーネントデータストレージシステム102〜109は、「ブリック(brick)」と呼ばれる場合がある。ブリックは、インターフェースを含むことができ、このインターフェースを通じて、リモートホストコンピュータから要求を受信することができ、受信された要求に対する応答をリモートホストコンピュータへ返信することができる。FABシステムのいずれのブリックも、ホストコンピュータからの要求を受信することができ、この要求に応答することができる。FABシステムの1つのブリックは、任意の特定の要求に関して調整役を引き受け、その特定の要求に対する応答に関与するすべてのブリックのオペレーションを調整し、FABシステムのどのブリックも、所与の要求に関する調整役を引き受けることができる。したがって、FABシステムは、大部分がソフトウェアで実施される一種の対称分散コンピューティングシステムである。いくつかの代替的な実施の形態では、ブリックの相互接続、及び、FABシステムのリモートホストコンピュータへの相互接続の双方に単一のネットワークを使用することができる。他の代替的な実施の形態では、3つ以上のネットワークを使用することもできる。
FABシステム等の大きなマスストレージシステムは、膨大な記憶容量を提供するだけでなく、冗長ストレージの提供及び管理も行い、ブリックの故障、ディスクドライブの故障、ディスクドライブ上の特定のシリンダ、トラック、セクタ、若しくはブロックの故障、電子コンポーネントの故障、又はそれ以外の故障のために、記憶データの一部が喪失した場合に、ホストコンピュータによる介入もユーザによる手動の介入もなく、大規模マスストレージシステムによって記憶され管理されている冗長データから喪失データをシームレスに且つ自動的に回復できるようになっている。データベースシステム及びエンタープライズクリティカルデータ(enterprise-critical data)を含む重要なデータストレージの用途の場合、地理的に分散した複数のデータインスタンスを記憶して保持するために、2つ以上の大規模マスストレージシステムが使用されることが多く、壊滅的な事象であっても回復不可能なデータ喪失につながらないように、より高いレベルの冗長性が提供されている。
ci'=ci+fi,j(dj'−dj)
又は
上述したように、FABシステムは、膨大な量のデータストレージ空間を提供することができる。全ストレージ空間は、階層的なデータユニットに論理的に区画することができ、最も低くない各階層レベルのデータユニットは、次に最も低い(next-lowest)階層レベルのデータユニットで論理的に編成される。論理データユニットは、1つ又は複数のブリック内の物理ストレージ空間にマッピングすることができる。
上述したように、FABシステム内の各ブリックは、基本的に同じ制御プログラムを実行することができ、各ブリックは、リモートホストコンピュータからの要求を受信することができ、その要求に応答することができる。したがって、人体の各細胞が有機体全体の全DNAの符号化された構造(DNA-encoded architecture)を含むのとほとんど同じように、各ブリックは、個々のブリックによって適切に管理されるブリック特有の状態情報(一般的には、この状態情報は含まない)に至るまで、FABシステムの全データ状態を表すデータ構造体を、内部の揮発性ランダムアクセスメモリ、不揮発性メモリ、及び/又は内部ディスク空間に含む。全データ状態は、ブリックの動作状態、すなわち健全性と、セグメントが記憶される冗長性方式とに関する情報と共に、図9に示す階層的なデータユニットのサイズ及びロケーションを含む。一般に、内部のページ及びブリック内に記憶されたデータのブロックアドレスを含めて、ブリック特有のデータ状態情報は、FABシステムの全データ状態の一部とはみなされない。
FABシステムは、クォーラムベースの分散READ(読み出し)オペレーション及び分散WRITE(書き込み)オペレーションについてストレージレジスタモデルを使用することができる。ストレージレジスタは、データの分散単位である。現在のFABシステムでは、ブロックがストレージレジスタとして扱われる。
ストレージレジスタモデルは一般に、ミラーリング冗長性方式に従って分散されたセグメントにわたって一貫性を維持するために、FABシステムによってブロックレベルで適用される。換言すれば、セグメントの各ブロックは、複数のブリックにわたって分散されたストレージレジスタであるとみなすことができ、クォーラム及びメッセージパッシングを伴う上記分散技法は、ミラーコピーにわたってデータ一貫性を維持するのに使用される。一方、ストレージレジスタ方式は、イレージャ符号化冗長性方式をハンドリングするように拡張することができる。第1に、上記節で説明し、ミラーリング冗長性方式に使用されるように、ブロックが分散されたブリックの過半数から成るクォーラムではなく、イレージャ符号化冗長性方式は、m+[(n−m)/2]個のブリックのクォーラムを使用し、任意の2つのクォーラムの交わりが、少なくともm個のブリックを含むようにする。このタイプのクォーラムは、「m−クォーラム」と呼ばれる。第2に、新しく受信された値を、WRITEオペレーションの第2のフェーズで、内部ストレージのブロックに書き込むのではなく、ブリックはその代わりに、その新しい値をその値に関連付けられたタイムスタンプと共にログに記録することができる。ログは、その後、ログに記録されたエントリーのm−クォーラムが受信されてログに記録された時に、非同期に処理されて、ログに記録されたWRITEをコミットすることができる。ログ記録が使用される理由は、ブリックのm−クォーラムが特定のWRITEオペレーションを受信せず、正常の実行していなかった場合に、ミラーリング冗長性方式と異なって、ブリックのクラッシュによりデータを回復させることができないからである。図22は、図17に提供した擬似コードに類似した修正擬似コードを示している。この修正擬似コードは、本発明の一実施の形態を表す、FABシステム内におけるイレージャ符号化冗長性方式に従ってブリックにわたるセグメントの分散をハンドリングする、ストレージレジスタモデルへの拡張を含む。たとえば、m個のブリックが、最も近時に書き込まれた値をログに記憶できなかった場合、その最も近時に書き込まれた値は、ログ内の少なくともm個のコピーに存在する前の値又は少なくともm個のブリック内に記憶された前の値にロールバックされる。
前の小節で解説したデータストレージモデルの階層的な制御処理は、現在想定されるデータストレージモデル及びオペレーションと、今後のFABシステムアーキテクチャに追加できる追加データストレージモデル及び追加オペレーションとをサポートするための論理的な拡張可能モデルを提供するが、タイムスタンプに関する重大な問題が残っている。このタイムスタンプ問題は、具体例を参照することで最も良く解説される。図29A〜図29Cは、特定のセグメントを分散するための、4+2イレージャ符号化冗長性方式から8+2イレージャ符号化冗長性方式へのマイグレーションの状況におけるタイムスタンプ問題を示している。図29Aは、前の4+2冗長性方式及び新しい8+2イレージャ符号化冗長性方式のセグメントのレイアウトを示している。図29Aでは、セグメント2902は、連続した一連の8つのブロック2904〜2911として示されている。4+2冗長性方式のレイアウト2912は、これら8つのブロックをブリック2、3、6、9、10、及び11にわたって2つのストライプで分散させる。8+2冗長性方式のレイアウト2914は、これら8つのブロックをブリック1、4、6、8、9、15、16、17、18、及び20にわたって単一のストライプで分散させる。双方のレイアウトは、ブリック6及び9を使用するので、ブリック6及び9は、古い構成及び新しい構成の双方のブロックを含む。4+2構成では、チェックサムブロックが、ブリック10及び11にわたって分散される(2916)。8+2構成では、チェックサムブロックが、ブリック18及び20にわたって分散される(2918)。図29Aでは、セグメント2904〜2911のブロックとブリック内のストライプとの間のマッピングは、両頭矢印2920等の両頭矢印によって示されている。
前の小節で扱ったタイムスタンプ問題を解決するためのさまざまな異なる解決法を提案することができるが、提案された解決法の多くは、オーバーヘッド及び非効率性をさらに導入し、ストレージレジスタモデルの多くの具体的且つ拡張不能な変更を必要とする。本発明の一実施の形態は、比較的簡単且つ拡張可能な方法である。この方法は、新しいタイプのタイムスタンプを使用し、階層処理レベルがタイムスタンプに関連付けられたオペレーションを完了するにつれてタイムスタンプの範囲を段階的に収縮することにより、異なる階層処理レベルを互いに分離するものである。タイムスタンプの範囲は、この実施の形態では、タイムスタンプが活性であるみなされる処理レベルの範囲である。一実施の形態では、タイムスタンプの範囲は、トップダウン形式に制約され、タイムスタンプの範囲は、下位の処理レベルに向かうにつれて連続的に縮小されている。ただし、異なる実施の形態は、タイムスタンプの範囲を異なって収縮させることができる。本質的に、本発明のこの実施の形態は、図28に示す階層的な処理及びデータストレージモデルに直接マッピングされる新しいタイプのタイムスタンプを対象としている。
前の小節で説明した階層的なタイムスタンプは、複製並びにマイグレーション及び再構成に適用できる、タイムスタンプ問題に対する密接した(well-bounded)解決法を表しているが、階層的なタイムスタンプは、或る場合に、タイムスタンプデータベースに対する更新回数を増加させるおそれがあり、ブリック間のメッセージングオーバーヘッド及びタイムスタンプデータベースオペレーションの複雑度の双方を増加させるおそれがある。タイムスタンプ問題に対する1つの代替的な解決法は、マイグレーションオペレーション及び再構成オペレーション中に、古い構成及び新しい構成に独立クォーラムシステムを使用することを伴う。
110,114・・・通信媒体
112,113・・・リモートホストコンピュータ
202〜213・・・SATAディスクドライブ
214・・・ディスクIOP
216・・・高速バス
218・・・中央ブリッジ
220・・・プロセッサ
222・・・ホストIOP
224・・・ブリック間IOP
226,227,228・・・メモリ
702・・・全ストレージアドレス空間
704,706・・・仮想ディスク
708,710・・・セグメント
712,714・・・ブリック
716・・・ディスク
718・・・ページ
720・・・ブロック
826・・・全ストレージ
828・・・仮想ディスク
830・・・仮想ディスクイメージ
832・・・セグメント
902・・・全ストレージ
904,905,906,907・・・仮想ディスク
908,909,910,912・・・仮想ディスクイメージ
916,920・・・セグメント
914・・・順序付きリスト
918,922・・・ブリック
1002・・・仮想ディスクテーブル
1004・・・VDTEエントリー
1006,1008・・・VDIテーブル
1010・・・SCN
1012,1014・・・cgrp
1016・・・cfg
1018・・・レイアウト
1020・・・ブリック
1022・・・セグメント
1024・・・ブロック
1026・・・冗長性方式
1028・・・ブリック位置
1030・・・ストライプサイズ
1141,1145・・・cgrp
1146・・・SCN
1148・・・VDTEエントリー
1150,1152・・・VDIテーブル
1902・・・タイマメカニズム
1904・・・PID
1906・・・リアルタイム時計
1908・・・揮発性メモリ
1910・・・不揮発性メモリ
1918・・・READハンドラ
1920・・・ORDERハンドラ
1922・・・WRITEハンドラ
1924・・・ORDERデュアルハンドラ
2302,2314,2318,2320,2321,2324・・・ブロック
2304〜2312・・・ブリック
2316,2317,2328・・・タイムスタンプ
2326・・・ログエントリー
2400・・・非循環グラフ
2402,2404・・・リーフノード
2406,2408・・・ブロック
2802・・・最上位レベルコーディネータ
2804・・・仮想ディスクレベル
2806・・・VDIコーディネータ
2808・・・VDIレベル
2810・・・SCNコーディネータ
2812・・・SCNレベル
2814・・・構成グループコーディネータ
2816・・・構成グループレベル
2818・・・構成コーディネータ
2820・・・構成レベル
3000・・・タイムスタンプ
3002・・・タイムスタンプが適用されるエンティティの説明
3004・・・時刻又はシーケンス値
3006・・・レベル
3008・・・追加フィールド
3110・・・トリプルミラー
3302,3320・・・要求
3304,3318・・・タイムスタンプ
3306〜3316・・・処理ノード
Claims (9)
- コンポーネントデータストレージシステムを備える分散データストレージシステム(102〜109)内における現在の構成(1130)のマイグレーション(図11G)又は再構成(図11E〜図11F)の期間中に前記現在の構成及び新しい構成(1128)のデータブロックのデータ一貫性を維持するための方法であって、
第1のフェーズ(3402)において、前記コンポーネントデータストレージシステムが、前記現在の構成を再構成することを決定することと、
第2のフェーズ(3404)において、前記コンポーネントデータストレージシステムが、前記新しい構成を初期化して、前記現在の構成から前記新しい構成へデータブロックをコピーすることと、
第3のフェーズ(3408)において、前記コンポーネントデータストレージシステムが、前記現在の構成及び前記新しい構成のデータブロックを記憶する前記コンポーネントデータストレージシステムによって保持される構成状態を同期させることと、
前記第3のフェーズの期間中に、前記コンポーネントデータストレージシステムが、連続WRITEオペレーション及び連続READオペレーションを前記現在の構成及び前記新しい構成の双方に向けることと、
第4のフェーズ(3412)において、前記コンポーネントデータストレージシステムが、前記現在の構成を割り当て解除することと
を含み、
前記マイグレーション又は前記再構成に関与している前記分散データストレージシステムの前記コンポーネントデータストレージシステム(102〜109)それぞれは、当該コンポーネントデータストレージシステムの現在のフェーズに達しているすべての他の前記コンポーネントデータストレージシステムよりも前に、次のフェーズに遷移しない
方法。 - 前記第2のフェーズの期間中に、前記コンポーネントデータストレージシステムが、連続WRITEオペレーション(continuing WRITE operations)を前記現在の構成(1130)及び前記新しい構成(1128)の双方に向ける(directing)が、連続READオペレーション(continuing READ operations)を前記現在の構成に向けることと、
前記第3のフェーズの期間中に、前記コンポーネントデータストレージシステムが、連続WRITEオペレーション及び連続READオペレーションを前記現在の構成及び前記新しい構成の双方に向けることと
をさらに含む請求項1に記載の方法。 - 前記現在の構成から前記新しい構成へのマイグレーション又は再構成の期間中に、前記現在の構成及び前記新しい構成について、構成の各データブロックに関連付けられるタイムスタンプ(3000)が独立にガベージコレクトされ、
前記分散データストレージシステムにおける階層的なデータ構造体は、対応する階層的な複数のコーディネータによって処理され、
前記タイムスタンプは、前記マイグレーション又は前記再構成を管理するコーディネータよりも上の階層のコーディネータでは比較されない
請求項1に記載の方法。 - 請求項1に記載の方法を組み込む分散データストレージシステム(102〜109)であって、
コンポーネントデータストレージシステム
を備え、
該コンポーネントデータストレージシステムにわたってデータブロックのセグメントが分散され、前記データブロックの各セグメントは、通常オペレーションの期間中は1つの構成(1124)に従って分散され、マイグレーションの期間中は2つの構成(1128、1130)に従って分散され、又は再構成の期間中は2つ以上の構成に従って分散され、
前記コンポーネントデータストレージシステムは、現在の構成及び新しい構成について、同期された独立クォーラムベース一貫性方法を使用して、データブロックのセグメントに対して前記現在の構成から前記新しい構成へのマイグレーションオペレーション又は再構成オペレーションを実行する
分散データストレージシステム。 - 現在の構成(1130)から新しい構成(1128)への分散データストレージシステム(102〜109)内におけるマイグレーション(図11G)又は再構成(図11E〜図11F)の期間中に前記現在の構成及び前記新しい構成のデータブロックのデータ一貫性を維持するための方法であって、
前記分散データストレージシステムが、前記現在の構成(1130)を再構成することを決定することと、
前記分散データストレージシステムが、前記現在の構成のデータブロックに向けられている連続READオペレーション及び連続WRITEオペレーションをデータ一貫性のある方法で実行している間、
前記分散データストレージシステムが、前記新しい構成(1128)を初期化して、前記現在の構成から前記新しい構成へデータブロックをコピーすることと、
前記分散データストレージシステムが、前記現在の構成及び前記新しい構成のデータブロックのタイムスタンプ及びデータ状態を同期させることと
を含み、
前記現在の構成のデータブロックに向けられている連続WRITEオペレーションをデータ一貫性のある方法で実行することは、
前記分散データストレージシステムが、前記WRITEオペレーションの共通のタイムスタンプを生成すること(3502)と、
前記分散データストレージシステムが、該共通のタイムスタンプを使用して、前記連続WRITEオペレーションに対応する複数のWRITEオペレーションを前記現在の構成及び前記新しい構成の双方に向けること(3504、3506)と
を含み、
前記連続READオペレーションをデータ一貫性のある方法で実行することは、
前記分散データストレージシステムが、前記現在の構成及び前記新しい構成の一方にデータREADオペレーションを向け(3702)、前記現在の構成及び前記新しい構成の双方にタイムスタンプREADオペレーションを向けること(3702、3704)と、
前記READオペレーションによって返された前記タイムスタンプも前記データも同一でない場合、前記分散データストレージシステムが、前記現在の構成に向けられていた前記READオペレーションによって返された前記データを書き込むためのWRITEオペレーションを前記新しい構成に向けることと
を含む
方法。 - 前記現在の構成のデータブロックに向けられている連続WRITEオペレーションをデータ一貫性のある方法で実行することは、
前記分散データストレージシステムが、前記WRITEオペレーションの共通のタイムスタンプを生成すること(3502)と、
前記分散データストレージシステムが、該共通のタイムスタンプを使用して、前記連続WRITEオペレーションに対応する複数のWRITEオペレーションを前記現在の構成及び前記新しい構成の双方に向けること(3504、3506)と、
前記現在の構成及び前記新しい構成の双方に向けられている複数の前記WRITEオペレーションが完了する時に、
前記分散データストレージシステムが、ステータスを返すこと(3510)と、
前記分散データストレージシステムが、前記現在の構成及び前記新しい構成において、前記共通のタイムスタンプを独立にガベージコレクトすること(3512)と
をさらに含む
請求項5に記載の方法。 - 前記現在の構成のデータブロックに向けられている連続READオペレーションをデータ一貫性のある方法で実行することは、
前記分散データストレージシステムが、前記共通のタイムスタンプを使用して、前記現在の構成(1130)及び前記新しい構成(1128)の双方に、前記連続READオペレーションに対応するREADオペレーションを向けること(3602、3604)と、
前記現在の構成及び前記新しい構成の双方に向けられている前記READオペレーションが完了し、各READオペレーションがタイムスタンプ及びデータを返す時に、
前記READオペレーションによって返された前記タイムスタンプが同一である場合、前記分散データストレージシステムが、前記READオペレーションの1つによって返された前記データ及び成功ステータスを返すことと、
前記READオペレーションによって返された前記タイムスタンプが同一でないが、前記現在の構成及び前記新しい構成の双方に向けられていた前記READオペレーションによって返された前記データが同一である場合、前記分散データストレージシステムが、前記READオペレーションの1つによって返された前記データ及び成功ステータスを返すこと(3612)と、
前記READオペレーションによって返された前記タイムスタンプも前記データも同一でない場合、前記分散データストレージシステムが、前記現在の構成に向けられていた前記READオペレーションによって返された前記データを書き込むためのWRITEオペレーションを前記新しい構成に向け(3614)、前記WRITEオペレーションが成功すると、前記分散データストレージシステムが、該WRITEオペレーションによって書き込まれた前記データ及び成功ステータスを返すこと(3612)と
をさらに含む
請求項5に記載の方法。 - 前記連続READオペレーションをデータ一貫性のある方法で実行することは、
前記分散データストレージシステムが、前記現在の構成及び前記新しい構成の一方にデータREADオペレーションを向け(3702)、前記現在の構成及び前記新しい構成の双方にタイムスタンプREADオペレーションを向けること(3702、3704)と、
前記現在の構成及び前記新しい構成に向けられている前記READオペレーションが完了する時に、
前記READオペレーションによって返された前記タイムスタンプが同一でない場合、前記分散データストレージシステムが、前記現在の構成及び前記新しい構成の他方にREADオペレーションを向け(3706)、双方のデータREADオペレーションによって返された前記データが同一である場合、前記分散データストレージシステムが、前記READオペレーションの一方によって返された前記データ及び成功ステータスを返すことと、
前記READオペレーションによって返された前記タイムスタンプが同一であるが、前記現在の構成及び前記新しい構成の双方に向けられていた前記READオペレーションによって返された前記データが同一である場合、前記分散データストレージシステムが、前記READオペレーションの一方によって返された前記データ及び成功ステータスを返すことと、
前記2つのデータREADオペレーションによって返された前記タイムスタンプも前記データも同一でない場合、前記分散データストレージシステムが、前記現在の構成に向けられていた前記READオペレーションによって返された前記データを書き込むためのWRITEオペレーションを前記新しい構成に向け、前記WRITEオペレーションが成功すると、前記分散データストレージシステムが、該WRITEオペレーションによって書き込まれた前記データ及び成功ステータスを返すことと
をさらに含む
請求項5に記載の方法。 - 請求項5に記載の方法を組み込む分散データストレージシステム(102〜109)であって、
コンポーネントデータストレージシステム
を備え、
該コンポーネントデータストレージシステムにわたってデータブロックのセグメントが分散され、前記データブロックの各セグメントは、通常オペレーションの期間中は1つの構成(1124)に従って分散され、マイグレーション(図11G)の期間中は2つの構成(1128、1130)に従って分散され、再構成(図11E〜図11F)の期間中は2つ以上の構成に従って分散され、
前記コンポーネントデータストレージシステムは、現在の構成及び新しい構成について、同期されていない独立クォーラムベース一貫性方法を使用して、データブロックのセグメントに対して前記現在の構成から前記新しい構成へのマイグレーションオペレーション又は再構成オペレーションを実行する
分散データストレージシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/369,320 US20070214194A1 (en) | 2006-03-07 | 2006-03-07 | Consistency methods and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007242020A JP2007242020A (ja) | 2007-09-20 |
JP4516087B2 true JP4516087B2 (ja) | 2010-08-04 |
Family
ID=37965762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007055048A Expired - Fee Related JP4516087B2 (ja) | 2006-03-07 | 2007-03-06 | 一貫性方法及び一貫性システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070214194A1 (ja) |
JP (1) | JP4516087B2 (ja) |
GB (1) | GB2437105B (ja) |
Families Citing this family (179)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095600B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US8014321B2 (en) * | 2004-10-22 | 2011-09-06 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
US8549180B2 (en) | 2004-10-22 | 2013-10-01 | Microsoft Corporation | Optimizing access to federation infrastructure-based resources |
US8095601B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US20080288659A1 (en) | 2006-11-09 | 2008-11-20 | Microsoft Corporation | Maintaining consistency within a federation infrastructure |
US7958262B2 (en) * | 2004-10-22 | 2011-06-07 | Microsoft Corporation | Allocating and reclaiming resources within a rendezvous federation |
US20110082928A1 (en) | 2004-10-22 | 2011-04-07 | Microsoft Corporation | Maintaining consistency within a federation infrastructure |
US20060090003A1 (en) * | 2004-10-22 | 2006-04-27 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
US8392515B2 (en) | 2004-10-22 | 2013-03-05 | Microsoft Corporation | Subfederation creation and maintenance in a federation infrastructure |
US8290899B2 (en) * | 2007-03-28 | 2012-10-16 | Netapp, Inc. | Group stamping style asynchronous replication utilizing a loosely-accurate global clock |
US8949614B1 (en) * | 2008-04-18 | 2015-02-03 | Netapp, Inc. | Highly efficient guarantee of data consistency |
US8655848B1 (en) | 2009-04-30 | 2014-02-18 | Netapp, Inc. | Unordered idempotent logical replication operations |
US8321380B1 (en) | 2009-04-30 | 2012-11-27 | Netapp, Inc. | Unordered idempotent replication operations |
JP4818395B2 (ja) * | 2009-05-20 | 2011-11-16 | 富士通株式会社 | ストレージ装置及びデータコピー方法 |
US8671072B1 (en) | 2009-09-14 | 2014-03-11 | Netapp, Inc. | System and method for hijacking inodes based on replication operations received in an arbitrary order |
US8473690B1 (en) | 2009-10-30 | 2013-06-25 | Netapp, Inc. | Using logical block addresses with generation numbers as data fingerprints to provide cache coherency |
US8799367B1 (en) | 2009-10-30 | 2014-08-05 | Netapp, Inc. | Using logical block addresses with generation numbers as data fingerprints for network deduplication |
US9235348B2 (en) * | 2010-08-19 | 2016-01-12 | International Business Machines Corporation | System, and methods for initializing a memory system |
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 |
US8589732B2 (en) | 2010-10-25 | 2013-11-19 | Microsoft Corporation | Consistent messaging with replication |
US8738578B1 (en) * | 2010-12-27 | 2014-05-27 | The Mathworks, Inc. | Growing data structures |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US8782492B2 (en) * | 2011-10-04 | 2014-07-15 | Cleversafe, Inc. | Updating data stored in a dispersed storage network |
EP2863566B1 (en) | 2013-10-18 | 2020-09-02 | Université de Nantes | Method and apparatus for reconstructing a data block |
JP2015082313A (ja) * | 2013-10-24 | 2015-04-27 | 富士通株式会社 | Raid構成管理装置、raid構成管理プログラムおよびraid構成管理方法 |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US9612952B2 (en) | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9715505B1 (en) * | 2014-09-30 | 2017-07-25 | EMC IP Holding Company LLC | Method and system for maintaining persistent live segment records for garbage collection |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US10073869B2 (en) | 2015-09-25 | 2018-09-11 | Microsoft Technology Licensing, Llc | Validating migration data by using multiple migrations |
US10331656B2 (en) | 2015-09-25 | 2019-06-25 | Microsoft Technology Licensing, Llc | Data migration validation |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11336723B1 (en) | 2019-09-23 | 2022-05-17 | Amazon Technologies, Inc. | Replicating data volume updates from clients accessing the data volume across fault tolerance zones |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003085018A (ja) * | 2001-08-10 | 2003-03-20 | Hitachi Ltd | リモートコピーによるオンラインデータ移行方法およびシステム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6421787B1 (en) * | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6542930B1 (en) * | 2000-03-08 | 2003-04-01 | International Business Machines Corporation | Distributed file system with automated file management achieved by decoupling data analysis and movement operations |
US7152077B2 (en) * | 2003-05-16 | 2006-12-19 | Hewlett-Packard Development Company, L.P. | System for redundant storage of data |
US7509324B2 (en) * | 2004-09-07 | 2009-03-24 | General Electric Company | Apparatus and method for sharing configuration data among a plurality of devices |
US7711820B2 (en) * | 2004-11-08 | 2010-05-04 | Cisco Technology, Inc. | High availability for intelligent applications in storage networks |
JP2006301820A (ja) * | 2005-04-19 | 2006-11-02 | Hitachi Ltd | ストレージシステム及びストレージシステムのデータ移行方法 |
-
2006
- 2006-03-07 US US11/369,320 patent/US20070214194A1/en not_active Abandoned
-
2007
- 2007-03-01 GB GB0704004A patent/GB2437105B/en not_active Expired - Fee Related
- 2007-03-06 JP JP2007055048A patent/JP4516087B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003085018A (ja) * | 2001-08-10 | 2003-03-20 | Hitachi Ltd | リモートコピーによるオンラインデータ移行方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
GB0704004D0 (en) | 2007-04-11 |
GB2437105B (en) | 2011-06-15 |
US20070214194A1 (en) | 2007-09-13 |
GB2437105A (en) | 2007-10-17 |
JP2007242020A (ja) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4516087B2 (ja) | 一貫性方法及び一貫性システム | |
JP4541373B2 (ja) | 分散データの階層的管理のための方法及びシステム | |
US7743276B2 (en) | Sufficient free space for redundancy recovery within a distributed data-storage system | |
JP2007242018A (ja) | 分散データストレージシステム | |
US7644308B2 (en) | Hierarchical timestamps | |
JP2007242017A (ja) | データ状態記述データ構造体 | |
CN109716279B (zh) | 用于写入持久性的自适应并发 | |
US7054960B1 (en) | System and method for identifying block-level write operations to be transferred to a secondary site during replication | |
US6041423A (en) | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment | |
Hartman et al. | The Zebra striped network file system | |
KR101921365B1 (ko) | 비휘발성 매체 더티 영역 추적 기법 | |
US8433685B2 (en) | Method and system for parity-page distribution among nodes of a multi-node data-storage system | |
US7788244B2 (en) | Method and system for copying a snapshot tree | |
US20070112895A1 (en) | Block-based incremental backup | |
US8392813B2 (en) | Redundant file system | |
GB2369206A (en) | Excluding last written segments while rebuilding meta-data in a data storage system | |
US20110238936A1 (en) | Method and system for efficient snapshotting of data-objects | |
US6907507B1 (en) | Tracking in-progress writes through use of multi-column bitmaps | |
Hisgen et al. | Granularity and semantic level of replication in the Echo distributed file system | |
Appuswamy et al. | Loris-a dependable, modular file-based storage stack | |
US7313724B1 (en) | Method and apparatus for synchronizing redundant data with a volume | |
US7743225B2 (en) | Ditto blocks | |
US7925827B2 (en) | Method and system for dirty time logging | |
Brinkmann et al. | Realizing multilevel snapshots in dynamically changing virtualized storage environments | |
US8938594B2 (en) | Method and system for metadata-based resilvering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100303 |
|
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: 20100421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100513 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |