JP2006503370A - 利用者データの永続的な格納を提供するための方法およびシステム - Google Patents
利用者データの永続的な格納を提供するための方法およびシステム Download PDFInfo
- Publication number
- JP2006503370A JP2006503370A JP2004544839A JP2004544839A JP2006503370A JP 2006503370 A JP2006503370 A JP 2006503370A JP 2004544839 A JP2004544839 A JP 2004544839A JP 2004544839 A JP2004544839 A JP 2004544839A JP 2006503370 A JP2006503370 A JP 2006503370A
- Authority
- JP
- Japan
- Prior art keywords
- data
- nvram
- request
- manager
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
この発明は パワーが故障した時のデータ記憶に関する。より明確には、この発明は、第2の電源を用いたパワーが故障し、そして、パワーが復旧した時に、データが不当に上書きされないことを保証するためにプライベートリストを利用するデータ記憶に関する。
ファイルサーバの性能における重要な基準は、クライアント要求を処理するのにかかる時間である。優れたサーバは最も短い時間でクライアント要求に応じるであろう。ファイルシステムへの書き込み時の場合、すべての利用者データが最終的にディスクアレイに書き込まれることを保証することができるまで、サーバは、要求の承諾を許可しない。そのデータがサーバの中に揮発性メモリに保存されているなら、電力供給停止は、書き込みデータの完全な喪失を引き起こし、データ保全保証に反する全損を引き起こす。常時利用できるように、サーバを無停電電源装置に取り付けることは、費用がかかり、スペースの面で禁止されることがある。
この発明は、ネットワークからクライアントのデータに役立つためのファイルサーバに関係する。そのサーバはデータを保存するためのディスク手段を備える。そのサーバは、ネットワークからのデータを受信し、そして、データがディスク手段に格納される前に、データクライアントに保存されたことの通知をネットワークを通じて送るための手段を備え、その受信手段はディスク手段と通信状態にある。サーバは、データがディスク手段で保存されるまでデータを保存するためのメモリを備え、その受信手段はディスク手段と通信状態にある。そのサーバは、電気をディスク手段に供給する第1の電源と、メモリおよび、受信手段を備え、前記第1の電源は、ディスク手段、メモリおよび受信手段と電気通信状態にある。そのサーバは、第1の電源が故障した時、電気をメモリに供給する第2の電源を備え、この第2の電源はメモリと通信状態にある。
参照する図面において、いくつかの視点中で同様の、または、同じ部分については同じ参照番号を用いている。特に図1から4を参照すると、ネットワーク12からクライアントのデータに役立つためのファイルサーバ10が示される。そのサーバ10は、データを保存するためのディスク手段14を備える。そのサーバ10は、ネットワーク12からのデータを受信し、そして、そのデータがディスク手段14に格納される前に、そのデータがネットワーク12を通じてクライアントに保存されたという承認を送信するための手段を備え、その受信手段16はディスク手段14と通信状態にある。サーバ10は、データがディスク手段14で保存されるまでデータを保存するためのメモリ18を備え、受信手段16はメモリ18と通信状態にある。そのサーバ10は、電気をディスク手段14に給電するための第1の電源、メモリ18および受信手段16を備え、第1の電源20はディスク手段14、メモリ18、および受信手段16と通信状態にある。サーバ10は、第1の電源20が故障した時、メモリ18に電気を供給する第2の電源22を備え、第2の電源22はメモリ18と通信状態にある。
それは、ディスクへのデータの書き戻しを延期するので、キャッシュ RAMは、ファイルシステムはディスクアレイと比較して、より最新のバージョンを持つであろう。したがって、書き戻しが起きるまで、そのコンテンツはNVRAMによって保護されなくてはならない。
ユーザーデータ到着の説明
ファイルサーバがクライアントから書き込み要求を受けた時、それは、要求マネージャによって専用要求番号(RNUM)に割り当てられて、分析されて、分配される。要求が到着したことを、iノードマネージャに通知する前に、全体の書き込みデータコンテンツを保持するために、最初に、十分な4kBのNVRAMバッファをデキューしなければならない。書き込み要求の最大サイズが8kBであるので、2つ未満のバッファが要求毎に必要となる。
利用者データ到着の間のNVRAM構造への唯一の変更は、フリーリストのヘッドからのNVRAMバッファをデキューすることである。このプロセスの間、極めて特別なオーダーで2つの構造だけをアップデートする。まず最初に、記述子の状態フラグは、開放から無効に変化し、どんな保護された部分も変化されない。記述子の他のフィールドが全くこの操作の間に変化しないので、アップデートの間の電力遮断はその状態に全く影響を持たないであろう。無効か開放であるフリーリスト上のエントリーは、定義により決して回復されないであろう。NVフリーヘッド回復レジスタがアップデートされる前で、記述子がアップデートされた後で、パワーが無くなると、回復手順は、まだフリーリストのヘッド上の最近にデキューされた記述子を単に見つけ、それを回復しないであろう。次のポインタフィールドが変化しないので、フリーリストの保全はまだ維持されている。
利用者データ収容の説明
要求マネージャが、新しいRNUMが書き込み要求に割り当てられたことをいったんiノードマネージャに通知すると、iノードマネージャは、応答をクライアントに送り返すべきである時間になるまで、このコールのためのその手順を実行する。この応答を送る前に、iノードマネージャは、確実にバッファコンテンツを保護しなければならない。このタスクを達成するために、この要求に対する書き込みデータを保持するのにどのバッファが用いられたかを見つけるために、RNUM状態メモリのポインタフィールドを最初に探す必要がある。書き込み要求が 4kB かそれ未満なら、1個のポインタだけが有効である。iノードマネージャは、32バイトのNVRAM 記述子に対する物理アドレスを発生させるのに各ポインタを使用しなければならない。iノードマネージャは、メモリに記述子の全体のコンテンツを書き、第1および/又は第2の状態が保護されるために設定しなければならない。さらに、それは、それが保護した最後のNVRAMバッファよりさらに1つ以上の8バイトのシーケンス番号を割り当てなければならない。このポイントで、バッファが保護されて、iノードマネージャが書き込み要求に対する応答を発光することが受入れられる。
利用者データ収容の供給停止分析
この段階の間、 書き込みデータを保護するために、iノードマネージャがNVRAM記述子を満たしたとき、NVRAM構造への唯一の変化が起こる。記述子の状態ビットは、他のすべてのフィールドが最初に書かれるまで保護されることへの状態変化が起こらないのを保証するために、最終的なワード内に置かれる。この段階の始めで、記述子が不正状態にあるので、すべてのフィールドが有効な情報を含むまで、記述子は回復の候補でなくなるであろう。
なぜ、NVRAMバッファの開放リストがキャッシュバッファの背後に維持されるのか、また、すべての時間で電力遮断を考慮しているとしても、なぜ、サーバが、このリストが任意のオーダーで作成されることを許容するのかの理由は、次に説明される。ファイルシステム上で独立して、又は同時に動作する種々のソフトウエアおよびハードウエアをサーバに持たせるために、故障時に機能を敢行することを可能にする十分な柔軟性がなければならない。言い換えれば、コンテンツが最終的にディスクに書き込まれた時、キャッシュブロックは、開放するためにNVRAMバッファのリストを持つと言える。バッファのこのリストが、1-2-5-4-3の順であったとする。数字はクライアントから到達したデータの順を表す。クライアントは5回連続で極めて迅速にファイルに書き、(要求#5からの最新の書き込みデータが実際にはキャッシュバッファの中にあっても)サーバは最後に書かれた3番目の書き込みが開放リストの最後に書く方法でこれらの要求を処理することを考える。開放リストが処理される前にパワーが停止したなら、NVRAMがまだすべての5つのNVRAMバッファを持っていて、それらを整理して、最新のデータがディスクに行くことを保証するので問題が全くないであろう。しかしながら、開放リストの最初の3つのエントリーがNVRAMから取り除かれ、その後、パワーが停止したらどうなるのか。システムが戻るとき、転送#3および#4がNVRAMにあって、それがそれらをディスクに書き込まれ、不当に、転送#5からの最新のデータを上書きすることがわかるであろう。プライベートリストが要求マネージャによって維持されている状態で、バッファを開放するとき、この問題は解決される。
開放プロセスの間に現れるNVRAM構造の第1の変更は、プライベートリストの作成である。ポインタがプライベートリストのヘッドかテールに書かれているときはいつも、状態ビットは、次のポインタにアップデートされるのと同時に、開放することに変化する。プライベートリストの生成の間、フリーリストへの変化は全くない。したがって、プライベートリスト生成の間にパワーが失われたとき、NVRAMポインタがプライベートリストに対するものか否かに関係なく、新たにクリーンにされたキャッシュブロックの背後のあらゆるNVRAMポインタが回復されるであろう。
パワーの損失時、ファイルサーバは優雅にすべてのNVRAMの活動に終わりにもたらすであろう。データをNVRAMに送るメモリコントローラは、要求マネージャおよびiノードマネージャからのどんな新しい要求も受け入れるのを止め、そして、それを持っているすべての書き込み位置バッファも洗い流すであろう。書き込みがメモリコントローラにより受け入れられた後で、しかし、それが実際にNVRAMになされる前に、要求マネージャがメモリコントローラにより受け入れられるので、その洗い流しのステップは重要である。そのメモリコントローラは、その後、電源をバッテリバックアップに移し、そしてメモリを低パワーモードに置く、シャットダウン手順が続くであろう。
システムでパワーが復帰するとき、全体のサーバが新しい要求を受け入れる準備ができるまで、要求マネージャはディセーブル状態で留まる必要がある。正常な初期化ルーチンが完了した後、どのバッファがデータを保護するか、そして、それらがどんな順序で受け取られたかを決定するために、iノードマネージャは、NVRAM内のあらゆる記述子を通じて実行することが期待される。
1.開放または保護された状態にデータの部分を持っているすべてのポインタのために、全体のNVRAM記述子をスキャンさせる。これらの部分を保護された状態に置く。
2.NVフリーヘッド回復レジスタを読む。
3.次にフリーバッファのリストにリンクされ、保護されたリストからどんな開放部分も取り除く。
4.全体の保護されたリストをスキャンし、そして、シーケンス番号に従って、それらに命令する。
12:ネットワーク
14:ディスク手段
16:受信手段
18:メモリ
20:第1の電源
22:第2の電源
24:ディスクアレイ
26:NVRAM
28:要求マネージャ
3O:iノードマネージャ
34:キャッシュコントローラ
36:NVRAMバッファ
Claims (36)
- ネットワークからのクライアントのデータをセーブするためのファイルサーバであり、
データを格納するためのディスク手段と、
ネットワークからのデータを受信し、そして、データが格納される前に、データが格納されたことの認識をネットワークを通じてクライアントに送るための手段であり、かつ受信手段はディスク手段と通信状態にある手段と、
データがディスク手段に格納されるまで、データを格納するためのメモリであり、かつ、前記受信手段と通信状態にあるメモリと、
ディスク手段、メモリおよび受け取り手段に電気を供給し、かつ、ディスク手段、メモリおよび受信手段と電気的に通信する第1の電源と、
第1の電源が故障した時、メモリに電気を供給し、かつ、メモリと通信状態にある第2の電源とを備えるファイルサーバ。 - 受信手段は、クライアントからデータを正常に受信し、そして異常状態でデータを受信し、かつデータがメモリに格納される前に第1の電源が故障した時、データがメモリに不正に上書きされることを防止する請求項1記載のサーバ。
- ディスク手段はディスクアレイを含む請求項2記載のサーバ。
- メモリはNVRAMを含む請求項2記載のサーバ。
- 受信手段は、クライアントから受信した他の情報から書き込みデータを分離し、そして、前記データをNVRAMへ送る請求項4記載のサーバ。
- 要求マネージャは、データを正常に認識したプライベートリストを有し、クライアントからの書き込み要求は、受信手段により敢行され、プライベートリストは、要求が異常状態で処理され、かつ、データがディスクアレイに書き込まれる前に第1の電源が故障した場合であっても、データが正常に回復されることを確実にするために、要求マネージャにより用いられる請求項5記載のサーバ。
- 受信手段は、クライアントからの要求を処理するiノードマネージャを含む請求項6記載のサーバ。
- 受信手段は、ディスクアレイを管理し、そしてディスクアレイに対してデータを読み書きするディスクマネージャを含む請求項7記載のサーバ。
- 受信手段は、ディスクアレイにセーブされたものではなく、メモリ手段に格納されたファイルの少なくとも一部を管理するキャッシュコントローラを含む請求項8記載のサーバ。
- NVRAMは、第1の電源の故障時に、適したデータ回復を確実にするために、ファイルシステムメタデータへのすべての変化を追跡するディスクアレイ内に配置されたログファイルのテールを保持する請求項9記載のサーバ。
- NVRAMは、NVRAMバッファ、NVRAM記述子および回復レジスタを備える請求項10記載のサーバ。
- NVRAMバッファは、クライアントからデータを受け取った時にそのデータを格納し、NVRAM記述子は、データ回復に適した情報をその関連するNVRAMバッファに格納し、NVRAMバッファおよび回復レジスタは、フリーリストのヘッドおよびカウント値を保持する請求項11記載のサーバ。
- 第2の電源はバッテイを含む請求項12記載のサーバ。
- 要求マネージャは、要求番号を、受け取り手段によりネットワークを通じクライアントから受け取ったファイルシステム要求に割り当て、要求番号は要求を識別するものである請求項13記載のサーバ。
- 受信手段は、要求番号状態メモリおよび、コールパラメータおよびファイル名を含む他の情報を含み、要求マネージャは、コールパラメータおよびファイル名を要求番号状態メモリへ送り、そして要求が処理に対して準備完了であるメッセージをiノードマネージャに送る請求項14記載のサーバ。
- iノードマネージャが要求を処理する一方、要求マネージャがクライアントから継続して要求を受信できるように、要求マネージャおよびiノードマネージャは、互いに独立して動作できる請求項15記載のサーバ。
- どのタイプの動作が要求によって要求されたかを決定するために、iノードマネージャは、要求番号状態メモリからの要求のコールパラメータを読むことにより、要求の処理を開始する請求項16記載のサーバ。
- 受信手段は、キャッシュRAMを含み、そして、キャッシュコントローラは、iノードマネージャから参照メッセージを受信し、そして、要求されたデータブロックに対し、キャッシュRAM内に配置されたキャッシュ状態テーブルを、キャッシュコントローラにサーチさせるディスクマネージャは、データブロックに関係した現在のデータを、ディスクアレイからフェッチし、そして、キャッシュポインタを、どこに書き込みデータが位置するかを認識しているキャッシュ状態テーブルに戻し、そして、キャッシュポインタを含むメッセージおよび、関連したキャッシュブロックの状態でもって、何をすべきであるかの命令をフェッチする請求項17記載のサーバ。
- NVRAMバッファからの書き込みデータを、キャッシュRAM内の特定のデータブロックにコピーするために、メッセージを要求マネージャに送り、iノードマネージャは、データブロックが変化し、ディスクアレイに書き込まなければならないことの変化メッセージをキャッシュコントローラに送る請求項18記載のサーバ。
- 関連したキャッシュポインタをロックし、一時的に変化するのを防止する、キャッシュコントローラへ、フェッチメッセージを出力した後に、ディスクマネージャは、キャッシュポインタからの書き込みデータをディスクブロックに転送する請求項19記載のサーバ。
- キャッシュコントローラは、キャッシュブロックがクリーンにされた時に、開放されることが必要なNVRAMバッファと互いにリンクするNVRAM開放リストを格納する請求項20記載のサーバ。
- NVRAM記述子は、異なるキャッシュブロック内に格納された、そのNVRAMバッファ内のデータの第1および第2の位置を追跡する請求項21記載のサーバ。
- ネットワークからのクライアントのデータをセーブするための方法であり、
第1の電源により給電されたファイルサーバでネットワークからデータを受信し、
データがディスクアレイに格納される前に、ネットワークを通じデータがサーバのディスクアレイに格納されたことの認識をクライアントに送り、
第1の電源が故障した時、
データがディスクアレイに格納されるまで、第1の電源が故障してもデータを喪失しないように、第2の電源により給電されるメモリ内にデータを格納し、
そのデータをディスクアレイに格納する、
ステップを備える方法。 - 受信ステップは、データを異常状態で受信するステップを含み、そして、データが異常状態で受信され、そして、データがメモリに格納される前に第1の電源が故障した時、データがメモリに不正に上書きされることを防止するステップを含む請求項23記載の方法。
- 受信ステップは、データを正常に識別するサーバの要求マネージャによりプライベートリストを維持するステップを含み、書き込み要求は、サーバにより敢行され、そして、要求が異常に処理され、かつ、データがディスクアレイに書き込まれる前に第1の電源が故障しても、データが正常に回復されることを確実にするために、要求マネージャにより用いられる請求項24記載の方法。
- メモリにデータを格納する手段は、書き込みデータをNVRAMに格納するステップを含む請求項25記載の方法。
- 受信ステップは、ネットワークを通じてクライアントから受信した他の情報から書き込みデータを分離するステップを含む請求項26記載の方法。
- 受信ステップは、要求番号を、データに関連した要求に割り当て、そして、書き込みデータを保持するために、十分なNVRAMバッファをデキューする請求項27記載の方法。
- サーバの要求マネージャにより、フリーリストのヘッドからのNVRAMポインタをデキューし、記述子が示したNVRAMバッファの状態をチェックするために、NVRAMの記述子を読み込みステップを含む請求項28記載の方法。
- NVRAMと関連と関係するサーバのキャッシュRAMの第1のキャッシュブロックまたは第2のキャッシュブロックが保護された状態である限り、記述子の要求マネージャ状態ビットにより、ゼロにし、要求マネージャにより、記述子の次のポインタフィールドを、回復レジスタにコピーし、そして、回復レジスタがアップデートされる前に第1の電源が遮断された場合、記述子内の次のポインタフィールドを保持する請求項29記載の方法。
- 書き込みデータを格納するステップは、書き込みデータをNVRAMバッファに書き込み、そして、バッファポインタを、要求番号状態メモリ内のそれぞれのNVRAMバッファに格納するステップを含む請求項30記載の方法。
- 要求マネージャにより、要求番号が要求に割り当てられたことを、サーバのiノードマネージャに通知し、要求の書き込みデータを保持するNVRAMバッファを保護し、そして、iノードマネージャが、クライアントからの要求に対し、クライアントに認識を出力することを許可するステップを含む請求項31記載の方法。
- 保護ステップは、どのNVRAMバッファが要求に対する書き込みデータを保持するために用いられているかを決定するために、iノードマネージャにより、要求番号状態メモリのポインタフィールドの中を調べ、NVRAM記述子のために各ポインタフィールドに対する物理的なアドレスを発生させ、iノードマネージャで記述子をNVRAMバッファに書き込み、そして、保護されるために第1および第2のキャッシュブロックを設定するステップを含む請求項32記載の方法。
- 各不正キャッシュコントローラが開放された時、どのNVRAMバッファが開放されるべきかを決定する、キャッシュコントローラに、iノードマネージャからのブロック開放不正メッセージで各不正キャッシュブロックを開放するステップを含む請求項33記載の方法。
- キャッシュブロックがクリーンにされ、そして、要求マネージャがキャッシュコントローラを通じてディスクマネージャからブロッククリーン応答メッセージを受信した後、キャッシュコントローラに関係した各NVRAMポインタを、要求マネージャでもって開放するステップを含む請求項34記載の方法。
- 開放するステップは、キャッシュコントローラのNVRAMポインタを要求マネージャに転送し、要求マネージャがプライベートリスト内のNVRAMポインタと互いにリンクする一方、要求マネージャがNVRAMポインタを受信した時に、要求マネージャでもって、ポインタリスト上の各NVRAMポインタの、キャッシュコントローラで示されたような、第1または第2の部分を、開放状態に変更し、要求マネージャでもって、キャッシュコントローラにより示されていない、プライベートリスト上の各NVRAMポインタの第1または第2の部分が保護された状態であるかを決定し、NVRAMポインタが要求マネージャにより受信された時、NVRAMポインタを、第1または第2の部分が保護状態ならば、プライベートリストのヘッドにエンキューし、第1または第2の部分のいずれもが保護状態でないならば、プライベートリストのテールにエンキューし、プライベートリストを、現在のフリーリストのヘッドに追加し、フリーリストの新しいヘッドに向けるために、回復レジスタをアップデートするステップを含む請求項35記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/274,066 US6938184B2 (en) | 2002-10-17 | 2002-10-17 | Method and system for providing persistent storage of user data |
PCT/US2003/032112 WO2004036353A2 (en) | 2002-10-17 | 2003-10-09 | Method and system for providing persistent storage of user data |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006503370A true JP2006503370A (ja) | 2006-01-26 |
JP2006503370A5 JP2006503370A5 (ja) | 2009-07-16 |
JP4336313B2 JP4336313B2 (ja) | 2009-09-30 |
Family
ID=32092953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004544839A Expired - Fee Related JP4336313B2 (ja) | 2002-10-17 | 2003-10-09 | 利用者データの永続的な格納を提供するための方法およびシステム |
Country Status (7)
Country | Link |
---|---|
US (2) | US6938184B2 (ja) |
EP (1) | EP1552393B1 (ja) |
JP (1) | JP4336313B2 (ja) |
AT (1) | ATE379809T1 (ja) |
AU (1) | AU2003282561A1 (ja) |
DE (1) | DE60317815T2 (ja) |
WO (1) | WO2004036353A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006114008A (ja) * | 2004-10-18 | 2006-04-27 | Seagate Technology Llc | システム構成を更新するための回復記録を構成するための方法および装置 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7660945B1 (en) * | 2004-03-09 | 2010-02-09 | Seagate Technology, Llc | Methods and structure for limiting storage device write caching |
DE602004003583T2 (de) * | 2004-10-04 | 2007-11-22 | Research In Motion Ltd., Waterloo | System und Verfahren zum Datensichern bei Stromausfall |
US8321486B2 (en) * | 2005-11-09 | 2012-11-27 | Ca, Inc. | Method and system for configuring a supplemental directory |
US8326899B2 (en) | 2005-11-09 | 2012-12-04 | Ca, Inc. | Method and system for improving write performance in a supplemental directory |
US8458176B2 (en) | 2005-11-09 | 2013-06-04 | Ca, Inc. | Method and system for providing a directory overlay |
US20070112812A1 (en) * | 2005-11-09 | 2007-05-17 | Harvey Richard H | System and method for writing data to a directory |
US20070112791A1 (en) * | 2005-11-09 | 2007-05-17 | Harvey Richard H | Method and system for providing enhanced read performance for a supplemental directory |
US20070143242A1 (en) * | 2005-12-15 | 2007-06-21 | Microsoft Corporation | Disk-based cache |
US8572495B2 (en) | 2005-12-15 | 2013-10-29 | Microsoft Corporation | Providing electronic distribution of filtered calendars |
US7685171B1 (en) * | 2006-09-22 | 2010-03-23 | Emc Corporation | Techniques for performing a restoration operation using device scanning |
US7710075B1 (en) | 2007-01-31 | 2010-05-04 | Network Appliance, Inc. | Apparatus and implementation of a battery in a non volatile memory subsystem |
US8639656B2 (en) | 2007-02-02 | 2014-01-28 | International Business Machines Corporation | Method for implementing persistent file pre-allocation |
US7877626B2 (en) * | 2007-12-31 | 2011-01-25 | Datadirect Networks, Inc. | Method and system for disk storage devices rebuild in a data storage system |
US8301742B2 (en) * | 2008-04-07 | 2012-10-30 | International Business Machines Corporation | Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments |
US9678879B2 (en) * | 2008-05-29 | 2017-06-13 | Red Hat, Inc. | Set partitioning for encoding file system allocation metadata |
WO2010049929A1 (en) * | 2008-10-27 | 2010-05-06 | Kaminario Tehnologies Ltd. | A mass-storage system utilizing solid-state storage and non-solid-state storage |
US8065556B2 (en) * | 2009-02-13 | 2011-11-22 | International Business Machines Corporation | Apparatus and method to manage redundant non-volatile storage backup in a multi-cluster data storage system |
US9311018B2 (en) * | 2010-05-11 | 2016-04-12 | Taejin Info Tech Co., Ltd. | Hybrid storage system for a multi-level RAID architecture |
US8812908B2 (en) | 2010-09-22 | 2014-08-19 | Microsoft Corporation | Fast, non-write-cycle-limited persistent memory for secure containers |
CN102455902B (zh) | 2010-10-29 | 2015-09-16 | 国际商业机器公司 | 用于对象持久化的方法以及计算机系统 |
US9229816B2 (en) * | 2011-03-14 | 2016-01-05 | Taejin Info Tech Co., Ltd. | Hybrid system architecture for random access memory |
JP5751488B2 (ja) * | 2011-07-26 | 2015-07-22 | 横河電機株式会社 | ファイル管理装置 |
US10698826B1 (en) | 2012-01-06 | 2020-06-30 | Seagate Technology Llc | Smart file location |
US9542324B1 (en) | 2012-04-05 | 2017-01-10 | Seagate Technology Llc | File associated pinning |
US9268692B1 (en) | 2012-04-05 | 2016-02-23 | Seagate Technology Llc | User selectable caching |
US9632932B1 (en) * | 2013-06-21 | 2017-04-25 | Marvell International Ltd. | Backup-power-free cache memory system |
US9665493B2 (en) * | 2014-10-03 | 2017-05-30 | International Business Machines Corporation | Increased cache performance with multi-level queues of complete tracks |
US10318340B2 (en) * | 2014-12-31 | 2019-06-11 | Ati Technologies Ulc | NVRAM-aware data processing system |
US10318649B2 (en) * | 2017-04-18 | 2019-06-11 | International Business Machines Corporation | Implementing a secondary storage dentry cache |
KR102277728B1 (ko) * | 2017-07-31 | 2021-07-14 | 삼성전자주식회사 | 데이터 저장 시스템, 데이터 저장 시스템의 데이터 저장 방법, 및 솔리드 스테이트 드라이브의 제조 방법 |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0833864B2 (ja) * | 1990-01-30 | 1996-03-29 | 富士通株式会社 | データ保全方式 |
US5218695A (en) * | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5335352A (en) * | 1990-09-24 | 1994-08-02 | Emc Corporation | Reconfigurable, multi-function data storage system controller selectively operable as an input channel adapter and a data storage unit adapter |
MX9200970A (es) * | 1991-03-05 | 1993-08-01 | Zitel Corp | Memoria de deposito. |
US5359569A (en) * | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
US5761406A (en) * | 1992-07-31 | 1998-06-02 | Fujitsu Limited | Method of controlling data transfer and a safe shutdown in a hierarchical cache system during power cut-off |
US5295577A (en) * | 1993-03-26 | 1994-03-22 | Minter Theodore M | Storage system for compact discs |
US5586291A (en) * | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
US5613155A (en) * | 1995-06-07 | 1997-03-18 | International Business Machines Corporation | Bundling client write requests in a server |
US6339787B1 (en) * | 1995-11-30 | 2002-01-15 | Stampede Technologies, Inc. | Apparatus and method for increasing speed in a network file/object oriented server/client system |
JP3477689B2 (ja) * | 1995-12-07 | 2003-12-10 | 株式会社日立製作所 | 磁気ディスク制御装置 |
US5893140A (en) * | 1996-08-14 | 1999-04-06 | Emc Corporation | File server having a file system cache and protocol for truly safe asynchronous writes |
US6295577B1 (en) * | 1998-02-24 | 2001-09-25 | Seagate Technology Llc | Disc storage system having a non-volatile cache to store write data in the event of a power failure |
JP3745552B2 (ja) * | 1999-02-26 | 2006-02-15 | 富士通株式会社 | 情報記憶装置 |
US6654912B1 (en) * | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
US6606694B2 (en) | 2000-12-22 | 2003-08-12 | Bull Hn Information Systems Inc. | Write logging in mirrored disk subsystems |
US20020156983A1 (en) * | 2001-04-19 | 2002-10-24 | International Business Machines Corporation | Method and apparatus for improving reliability of write back cache information |
US20040139167A1 (en) | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
US6898685B2 (en) * | 2003-03-25 | 2005-05-24 | Emc Corporation | Ordering data writes from a local storage device to a remote storage device |
US8214588B2 (en) * | 2003-11-05 | 2012-07-03 | International Business Machines Corporation | Parallel asynchronous order-preserving transaction processing |
US8250406B2 (en) * | 2003-08-19 | 2012-08-21 | Intel Corporation | Operational state preservation in the absence of AC power |
US7249229B2 (en) * | 2004-03-31 | 2007-07-24 | Gemini Mobile Technologies, Inc. | Synchronous message queues |
US7334158B2 (en) * | 2004-06-29 | 2008-02-19 | Intel Corporation | Power fault handling method, apparatus, and system |
US8032787B2 (en) * | 2004-09-02 | 2011-10-04 | Intel Corporation | Volatile storage based power loss recovery mechanism |
JP4699091B2 (ja) * | 2005-05-31 | 2011-06-08 | 株式会社日立製作所 | ディザスタリカバリ方法およびシステム |
-
2002
- 2002-10-17 US US10/274,066 patent/US6938184B2/en not_active Expired - Lifetime
-
2003
- 2003-10-09 WO PCT/US2003/032112 patent/WO2004036353A2/en active IP Right Grant
- 2003-10-09 EP EP03774749A patent/EP1552393B1/en not_active Expired - Lifetime
- 2003-10-09 AU AU2003282561A patent/AU2003282561A1/en not_active Abandoned
- 2003-10-09 AT AT03774749T patent/ATE379809T1/de not_active IP Right Cessation
- 2003-10-09 DE DE60317815T patent/DE60317815T2/de not_active Expired - Lifetime
- 2003-10-09 JP JP2004544839A patent/JP4336313B2/ja not_active Expired - Fee Related
-
2005
- 2005-08-19 US US11/208,165 patent/US7380158B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006114008A (ja) * | 2004-10-18 | 2006-04-27 | Seagate Technology Llc | システム構成を更新するための回復記録を構成するための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1552393A2 (en) | 2005-07-13 |
AU2003282561A1 (en) | 2004-05-04 |
WO2004036353A2 (en) | 2004-04-29 |
WO2004036353A3 (en) | 2004-07-08 |
US20040078623A1 (en) | 2004-04-22 |
US7380158B2 (en) | 2008-05-27 |
AU2003282561A8 (en) | 2004-05-04 |
DE60317815T2 (de) | 2008-07-17 |
ATE379809T1 (de) | 2007-12-15 |
EP1552393A4 (en) | 2006-11-22 |
US6938184B2 (en) | 2005-08-30 |
DE60317815D1 (de) | 2008-01-10 |
EP1552393B1 (en) | 2007-11-28 |
JP4336313B2 (ja) | 2009-09-30 |
US20060031422A1 (en) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4336313B2 (ja) | 利用者データの永続的な格納を提供するための方法およびシステム | |
JP2006503370A5 (ja) | ||
EP1179770B1 (en) | File system | |
US6675264B2 (en) | Method and apparatus for improving write performance in a cluster-based file system | |
US8793531B2 (en) | Recovery and replication of a flash memory-based object store | |
JP4568115B2 (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
US8868487B2 (en) | Event processing in a flash memory-based object store | |
US7124128B2 (en) | Method, system, and program for managing requests to tracks subject to a relationship | |
US20020073082A1 (en) | System modification processing technique implemented on an information storage and retrieval system | |
US6549920B1 (en) | Data base duplication method of using remote copy and database duplication storage subsystem thereof | |
US20050289152A1 (en) | Method and apparatus for implementing a file system | |
US5600816A (en) | System and method for managing data in a cache system for a disk array | |
US20030200394A1 (en) | Cache memory arrangement and methods for use in a cache memory system | |
US20060069890A1 (en) | Triangular asynchronous replication with minimal synchronous storage | |
JPWO2004025475A1 (ja) | データベースの再編成システム、並びに、データベース | |
US8200627B2 (en) | Journaling database changes using a bit map for zones defined in each page | |
EP0536375A1 (en) | Fault tolerant network file system | |
JP2002132582A (ja) | 圧縮メモリ・システムの再利用スペース予約 | |
US7159139B2 (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stopped records and utilization of a check value for verifying that a record is from a particular storage location | |
US7558929B2 (en) | Instant copy of data in a cache memory via an atomic command | |
US7552297B2 (en) | Instant copy of data in a cache memory via an atomic command | |
WO2022107920A1 (ko) | 데이터 일관성을 위한 버퍼 캐시 및 방법 | |
JPH10320274A (ja) | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 | |
WO2023147067A1 (en) | Promotion of snapshot storage volumes to base volumes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080512 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080609 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080612 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080609 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080711 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090408 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20090408 |
|
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: 20090616 |
|
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: 20090626 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
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: 20120703 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130703 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130703 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130703 Year of fee payment: 4 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |