(57)【要約】【課題】直列のアドレス間接参照メタデータ記憶を備えた記憶装置を提供する。【解決手段】シングル磁気記録（ＳＭＲ）ドライブなどのディスクドライブが、緊急電源遮断（ＥＰＯ）後に、ＰＢＡに対するＬＢＡの間接参照アドレス表マッピングを復元できるようにする方法が説明される。間接参照アドレス表（ＩＡＴ）スナップショットが、ユーザデータ記憶と直列に周期的に書き込まれ、増分アドレス更新情報を備えた累積デルタリスト（ＣＤＬ）が、スナップショット間に記憶される。切迫した電力喪失が検出された場合に、ディスクにまだ書き込まれていないＩＡＴ更新をカバーする現在のＣＤＬは、不揮発性メモリに保存される。ＣＤＬセットと組み合わされたＩＡＴスナップショットは、緊急電力喪失後に電力が回復された場合に、現在の間接参照アドレス表を再生成するために必要とされる情報を提供する。【選択図】図１
2012243385.tif 000002
【特許請求の範囲】
【請求項１】
論理ブロックアドレス（ＬＢＡ）を物理ブロックアドレス（ＰＢＡ）にマッピングする間接参照アドレス表を有するデータ記憶装置を動作させる方法であって、
前記間接参照アドレス表のスナップショットを、ディスク上のバッファに書き込まれたユーザデータと直列に、前記ディスク上に周期的に書き込むことであって、前記各スナップショットが、前のスナップショットから最後のスナップショットを識別するスナップショットＩＤを含むことと、
前記各スナップショットが書き込まれた後で、前記間接参照アドレス表の後続の変更を含むデルタリストを作成すること、および前記デルタリストを前記ディスク上の前記バッファに周期的に書き込むことであって、前記各デルタリストが、前記最後のスナップショットを識別する前記スナップショットＩＤを含むことと、
を含む方法。
【請求項２】
緊急電源遮断に続いて電力が回復された後で取られる動作であって、
前記バッファを読み出して、前記間接参照アドレス表の前記最後のスナップショット、および前記最後のスナップショットを識別する前記スナップショットＩＤを見つけることと、
前記最後のスナップショットを識別する前記スナップショットＩＤを含む、前記バッファにおける前記各デルタリストを読み出すことと、
前記各デルタリストに記録された、前記間接参照アドレス表の変更を用いて、前記最後のスナップショットにおける前記間接参照アドレス表を更新することと、
をさらに含む、
請求項１に記載の方法。
【請求項３】
緊急電源遮断が検出された場合に、前記デルタリストを所定の不揮発性メモリに保存することをさらに含む、
請求項１に記載の方法。
【請求項４】
緊急電源遮断に続いて電力が回復された後で取られる動作であって、
前記バッファを読み出して、前記間接参照アドレス表の前記最後のスナップショット、および前記最後のスナップショットを識別する前記スナップショットＩＤを見つけることと、
前記最後のスナップショットを識別する前記スナップショットＩＤを含む、前記バッファにおける前記各デルタリストを読み出すことと、
前記所定の不揮発性メモリにおける前記デルタリストを読み出すことと、
前記各デルタリストに記録された、前記間接参照アドレス表の変更を用いて、前記最後のスナップショットにおける前記間接参照アドレス表を更新することと、
をさらに含む、
請求項３に記載の方法。
【請求項５】
前記デルタリストを前記ディスク上の前記バッファに周期的に書き込むことは、データブロック全体を用いたユーザデータブロックエリアに前記デルタリストを書き込むことをさらに含む、
請求項１に記載の方法。
【請求項６】
前記間接参照アドレス表の前記スナップショットを周期的に書き込むことは、前記スナップショットを書き込むためのトリガとして、書き込み動作のカウントを用いることをさらに含む、
請求項１に記載の方法。
【請求項７】
前記データ記憶装置がシングル磁気記録（ＳＭＲ）装置であり、前記バッファが前記ディスク上のＥ領域におけるリングバッファである、
請求項１に記載の方法。
【請求項８】
前記デルタリストにおける各エントリが、タイムスタンプを含む、
請求項１に記載の方法。
【請求項９】
論理ブロックアドレス（ＬＢＡ）を物理ブロックアドレス（ＰＢＡ）にマッピングする間接参照アドレス表を有するデータ記憶装置を動作させる方法であって、
前記間接参照アドレス表のスナップショットを、ディスク上のバッファに書き込まれたユーザデータと直列に、前記ディスク上に周期的に書き込むことであって、前記各スナップショットが、前のスナップショットから最後のスナップショットを識別するスナップショットＩＤを含むことと、
前記バッファに続いて書き込まれる前記各ＰＢＡのメタデータであって、前記ＰＢＡに対応する前記ＬＢＡを識別し、かつ前記最後のスナップショットを識別する前記スナップショットＩＤを含むメタデータを書き込むことと、
を含む方法。
【請求項１０】
緊急電源遮断に続いて電力が回復された後で取られる動作であって、
前記バッファを読み出して、前記間接参照アドレス表の前記最後のスナップショット、および前記最後のスナップショットを識別する前記スナップショットＩＤを見つけることと、
前記最後のスナップショットを識別する前記スナップショットＩＤを含む、前記バッファにおける前記ＰＢＡのセットを、対応するＬＢＡを用いて読み出すことと、
前記対応するＬＢＡを前記ＰＢＡセットにおける前記ＰＢＡにマッピングするために、前記最後のスナップショットにおける前記間接参照アドレス表を更新することと、
をさらに含む、
請求項９に記載の方法。
【請求項１１】
前記間接参照アドレス表の前記スナップショットを周期的に書き込むことは、前記スナップショットを書き込むためのトリガとして、書き込み動作のカウントを用いることをさらに含む、
請求項９に記載の方法。
【請求項１２】
前記データ記憶装置がシングル磁気記録（ＳＭＲ）装置であり、前記バッファが前記ディスク上のＥ領域におけるリングバッファである、
請求項９に記載の方法。
【請求項１３】
シングル磁気記録を用いるデータ記憶装置であって、
論理ブロックアドレス（ＬＢＡ）を物理ブロックアドレス（ＰＢＡ）にマッピングする間接参照アドレス表と、
ユーザデータ、および前記ユーザデータと直列の前記間接参照アドレス表の少なくとも１つのスナップショットを含む、ディスク表面上の磁気媒体におけるバッファであって、前記スナップショットがスナップショットＩＤを含むバッファと、
前記スナップショットＩＤを備えた前記間接参照アドレス表の前記スナップショットを前記バッファに周期的に書き込む間接参照システムであって、前記スナップショットＩＤが、前のスナップショットから最後のスナップショットを識別する間接参照システムと、
を含むデータ記憶装置。
【請求項１４】
前記間接参照システムが、前記各スナップショットが書き込まれた後で、前記間接参照アドレス表の後続の変更を含むデルタリストを作成し、かつ前記デルタリストを前記ディスク上の前記バッファに周期的に書き込み、前記各デルタリストが、前記最後のスナップショットを識別する前記スナップショットＩＤを含む、
請求項１３に記載のデータ記憶装置。
【請求項１５】
緊急電源遮断が検出された場合に前記デルタリストを記憶するためのフラッシュメモリをさらに含む、
請求項１４に記載のデータ記憶装置。
【請求項１６】
前記間接参照システムが、
前記バッファを読み出して、前記間接参照アドレス表の前記最後のスナップショット、および前記最後のスナップショットを識別する前記スナップショットＩＤを見つけることと、
前記最後のスナップショットを識別する前記スナップショットＩＤを含む、前記バッファにおける前記各デルタリストを読み出すことと、
前記フラッシュメモリにおける前記デルタリストを読み出し、かつ前記デルタリストに記録された前記間接参照アドレス表の変更を用いて、前記最後のスナップショットにおける前記間接参照アドレス表を更新することと、
によって、緊急電源遮断後に前記間接参照アドレス表を再構築する、
請求項１５に記載のデータ記憶装置。
【請求項１７】
前記デルタリストにおける各エントリがタイムスタンプを含む、
請求項１４に記載のデータ記憶装置。
【請求項１８】
前記デルタリストが、データブロック全体を用いたユーザデータブロックエリアに書き込まれる、
請求項１４に記載のデータ記憶装置。
【請求項１９】
前記バッファにおける前記各ＰＢＡが、前記ＰＢＡに対応する前記ＬＢＡを識別し、かつ前記最後のスナップショットを識別する前記スナップショットＩＤを含むメタデータを含む、
請求項１３に記載のデータ記憶装置。
【請求項２０】
前記バッファが、前記ディスク上のＥ領域におけるリングバッファである、
請求項１３に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理記憶位置を論理アドレスにマッピングするために間接参照を用いるデータ記憶装置アーキテクチャの分野に関し、より具体的には、シングル磁気記録（ＳＭＲ）装置において用いられる、かかる間接参照に関する。
【背景技術】
【０００２】
磁気媒体を備えた従来のディスクドライブは、離間された同心トラックにデータを組織化する。シングル書き込みの概念は、垂直磁気記録の形態であり、磁気記録の面密度を増加させる方法として提案されてきた。シングル磁気記録（ＳＭＲ）媒体において、隣接トラックの領域（バンド）が、１つまたは複数の、前に書き込まれたトラックにオーバーラップするように書き込まれる。シングルトラックは、任意の順序で書き込むことができる従来的には分離されたトラックとは異なり、順々に書き込まなければならない。ディスク表面上のトラックは、複数のシングル領域（Ｉ領域とも呼ばれる）に構成されるが、これらの領域は、内径（ＩＤ）から外径（ＯＤ）へ、またはＯＤからＩＤへ連続して書き込むことができる。領域において一緒に重なり合うように配置されるトラックの数は、シングル書き込みの重要な性能パラメータである。一旦シングル構造に書き込まれると、個別トラックは、適所で更新することができない。なぜなら、それは、オーバーラップしているトラックに上書きし、それを破壊することになるからである。したがって、ユーザの観点から、シングル書き込みデータトラックは、追記専用ログと考えられるときもある。ＳＭＲドライブの性能を改善するために、媒体の一部が、結局はＩ領域に書き込まれるデータ用の中間領域として用いられる、いわゆる「例外領域」（Ｅ領域）に割り当てられる。Ｅ領域は、時にはＥキャッシュと呼ばれる。
【０００３】
シングル書き込み記憶装置の内部構造におけるアドレス間接参照は、少なくともある程度まで既存のホストインターフェースをエミュレートし、かつＳＭＲに関連する複雑さからホストを守るのに有用である。従来的には、ホストファイルシステムは、コマンドにおいて論理ブロックアドレス（ＬＢＡ）を用い、記憶装置によって内部で用いられる実際の位置（物理ブロックアドレス（ＰＢＡ））に関係なくデータブロックを読み出し、かつ書き込む。ハードディスクドライブは、とりわけ、再マッピングの目的のために確保された良好なセクタへディスク上の不良セクタを再マッピングできるようにする、あるレベルのＬＢＡ−ＰＢＡ間接参照を数十年にわたって有してきた。アドレス間接参照は、典型的には、ドライブアーキテクチャのコントローラ部において実行される。コントローラは、ホストコマンドにおけるＬＢＡを、内部物理アドレス、または物理アドレスにより近いものに翻訳する。
【０００４】
欠陥に対して従来のＬＢＡ−ＰＢＡマッピングは、頻繁に変更する必要はない。対照的に、ＳＭＲ装置において、論理ブロックアドレス（ＬＢＡ）の物理ブロックアドレス（ＰＢＡ）は、書き込み履歴に応じて変化する可能性がある。例えば、ガーベッジコレクションなどのバックグランド処理は、データセクタをあるＰＢＡから別のＰＢＡに移動させるが、しかしＬＢＡは、同じままである。ＳＭＲ用の間接参照システムは、コントローラがホストアドレス要求を物理位置に翻訳する本来的に動的なシステムである。ＳＭＲシステムにおいて、ＬＢＡ−ＰＢＡマッピングは、あらゆる書き込み動作と共に変化する。なぜなら、システムは、ＬＢＡ用のホストデータが書き込まれる媒体上の物理位置を動的に決定するからである。ホストＬＢＡが次に更新されたときに、同じＬＢＡは、異なる位置に書き込まれる。間接参照システムは、ホストＬＢＡと媒体上の現在の物理位置との間に動的翻訳層を設ける。
【０００５】
記憶装置の設計は、緊急電源遮断後に復元可能な間接参照アドレスマッピング方式に備えなければならず、したがって、物理位置への論理ブロックアドレス（ＬＢＡ）のマッピングは、永続的な媒体に記録しなければならない。先行技術のファイルシステムは、ＬＢＡ位置を追跡するために用いられるメタデータ記憶用に、ディスク上に別個の領域を維持する。しかしながら、かかる解決法は、それがメタデータ領域とのやりとりに追加的なシークを必要とするので、ディスクドライブ用には性能不足を示す。
【０００６】
ディスクドライブＲＡＭキャッシュを扱う先行技術の方法は、電力喪失問題の解決策を提供しなければならなかった。２００２年４月２３日にＨａｌｌに付与された（特許文献１）において、フェイルセーフの書き込みキャッシングは、ドライブのアイドル時間に書き込みキャッシュデータを記憶するために、ディスク表面の特別に配置された部分を用いた。データがその最終的なディスク宛先に書き込まれる前のシステム障害または電力障害が起きた場合、データ損失なしに復元を達成するためにデータが特別に配置された部分から、データを読み出すことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第６３７８０３７号明細書
【発明の概要】
【課題を解決するための手段】
【０００８】
本発明の実施形態によって、シングル磁気記録（ＳＭＲ）ドライブなどのディスクドライブは、ディスク上の確保された位置における完全な間接参照アドレス表の頻繁なバックアップなしに、緊急電源遮断（ＥＰＯ）後に、ＰＢＡに対するＬＢＡの間接参照アドレス表マッピングを復元できるようになる。本発明の実施形態は、間接参照アドレス表（ＩＡＴ）スナップショットを周期的に記憶し、次に、ユーザデータを書き込まれた実際のセクタと同じトラック（または近くのトラック）に沿って、スナップショット間に、累積デルタリストと呼ばれる増分アドレスメタデータ更新情報を記憶する。これによって、ＩＡＴを保存するために、ディスク上の確保されたメタデータエリアとやりとりする追加的なシークを必要とする問題が除去される。本発明は、Ｅ領域におけるユーザデータの一時記憶またはステージング用に使用されるリングバッファ技術と共に用いることができる。ＩＡＴスナップショットおよび累積デルタリストは、例えば、所定の数の書き込みの後で、Ｉ／Ｏ動作に基づいて媒体に周期的に書き込まれる。累積デルタリスト（ＣＤＬ）は、ＩＡＴスナップショット間に何度も書き込むことができ、各ＣＤＬは、一意の識別子によって最後のスナップショットにリンクされる。各ＣＤＬには、最後にＣＤＬが保存されて以来のアドレスデルタだけが含まれる。
【０００９】
本発明の実施形態において、切迫した電力喪失が検出された場合に、ディスクにまだ書き込まれていないＩＡＴ更新をカバーする現在の累積デルタリストは、フラッシュメモリなどの所定の不揮発性メモリに保存される。累積デルタリストセットと組み合わされたＩＡＴスナップショットは、緊急電力喪失後に電力が回復された場合に、現在の間接参照アドレス表を再生成するために必要とされる情報を提供する。緊急電力喪失後におけるドライブの起動ルーチンは、媒体に書き込まれた最後のＩＡＴスナップショットを見つけ、次にそれを、ディスクに書き込まれた対応する累積デルタリストセットおよびフラッシュメモリに書き込まれた最後の累積デルタリストセットを用いて更新することによって、間接参照アドレス表を更新する。
【００１０】
一実施形態において、累積デルタリストは、標準的なユーザデータブロック（例えばセクタ）エリアに、データブロック全体を用いて書き込まれる。累積デルタリストを含むセクタには、ユーザデータセクタが点在している。装置によってそのメタデータ用に用いられるセクタが、ＩＡＴにおいて割り当てられるＬＢＡを有さず、したがって通常の動作ではホストに見えないことに留意されたい。
【００１１】
代替実施形態において、累積デルタリストは、アドレス間接参照マッピングおよび最後のスナップショットＩＤを符号化する装置のセクタにメタデータを含むことによって不要になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態による間接参照システムを備えたデータ記憶装置の図である。
【図２】本発明の実施形態に従って用いられるような媒体上のリングバッファを示す。
【図３】本発明の実施形態による累積デルタリストの内容を示す。
【図４】本発明の代替実施形態による、タイムスタンプを含む累積デルタリストの内容を示す。
【図５Ａ】本発明の代替実施形態によるセクタメタデータ構造の内容を示す。
【図５Ｂ】本発明の代替実施形態による、タイムスタンプを含むセクタメタデータ構造の内容を示す。
【図６】本発明の実施形態による、ＩＡＴスナップショットおよびＣＤＬを書き込む方法を示す。
【図７】本発明の実施形態による、緊急電源遮断後に、ＩＡＴスナップショットおよびＣＤＬを用いてＩＡＴを再構築する方法を示す。
【発明を実施するための形態】
【００１３】
図１は、本発明の実施形態に従って、単一の間接参照アドレス表（ＩＡＴ）１７を備えた間接参照システム１６を有するＳＭＲを用いるデータ記憶装置（ＤＳＤ）１０の図である。ホスト１１は、標準的な論理ブロックアドレス（ＬＢＡ）を参照する読み出しおよび書き込みコマンドを送信する。典型的なＳＭＲドライブアーキテクチャにおいて、ＬＢＡは、Ｅ領域またはＩ領域へと割り当てることができるが、これは、間接参照マッピングのタスクを複雑にする。実際の用途においては、間接参照表を維持する問題への様々なアプローチが予想され得る。例えば、アプローチの一つは、２つの間接参照表、すなわち、ＬＢＡをＥ領域またはＩ領域にマッピングする１つの表、およびＬＢＡをＩ領域内のＩトラックにマッピングする第２の表を維持することである。本明細書で説明する本発明の実施形態によって、複数の表の使用を含む間接参照表管理の様々なアプローチ内で、ユーザデータと直列の間接参照表情報の書き込みが可能になる。しかしながら、説明する実施形態では、１つの間接参照表のみが参照される。追加の表は、同様の方法で扱うことができるか、または完全に異なるアプローチを用いて記憶することができる。例えば、表の１つが、Ｅ領域をカバーすることから、はるかに頻繁に更新される場合に、それは、本発明に従って処理してもよく、一方で同程度に頻繁には更新されない第２の表は、より多くのオーバーヘッドを必要とする方法を用いて処理してもよい。
【００１４】
間接参照システム１６は、装置による内部使用のために、ＬＢＡを物理ブロックアドレス（ＰＢＡ）に翻訳する。例えば、間接参照システム１６は、ＤＳＤ１０のコントローラ部における機能コンポーネントとして実現することができる。間接参照システム１６は、本明細書で説明する場合を除いて先行技術に従って機能し、先行技術の機能を実行する間接参照システムの態様は、示されていない。装置が正常に動作している間は、ＬＢＡに対応する現在のＰＢＡは、ＲＡＭにおける間接参照アドレス表（ＩＡＴ）１７で見つかる。上記のように、ＩＡＴは、ＳＭＲドライブにおけるあらゆる書き込み動作と共に変化する。なぜなら、ＲＡＭにおけるＩＡＴは、電力が失われた場合に、損失にさらされるからである。しかしながら、間接参照アドレス表（ＩＡＴ）の内容は、緊急電源遮断後に、永続的な媒体から復元可能でなければならず、そうでなければデータは永久に失われる。ディスク上の確保された位置における、完全な間接参照アドレス表の頻繁なバックアップは、現実的な解決法ではない。なぜなら、追加的なＩ／Ｏが、性能不足に帰着することになるからである。ＳＭＲにおいて、メタデータ書き込みを含む書き込みは、最適な性能のために順次化すべきである。本発明は、ユーザデータが、Ｉ領域に書き込まれる前に一時的に保存されるＥ領域において、ユーザデータと共にＩＡＴメタデータをトラック上に書き込むことができるようにする。ＳＭＲにおける各ディスク表面は、典型的には、Ｅ領域として働くための専用トラックの少なくとも１つのバンドを有する。トラックの大部分は、Ｉ領域へと構成される。
【００１５】
本発明の実施形態は、間接参照アドレス表（ＩＡＴ）スナップショット１７Ａ、１７Ｂを同じトラック（または近くのトラック）に沿って記憶し（実際のセクタは、Ｅ領域においてユーザデータを書き込まれる）、したがって、通常のＥ領域の利用との効率的な統合を可能にする。ディスク１２Ａ、１２Ｂ上の複数の同心トラックは示されておらず、本明細書で言及する場合を除いて、先行技術に従う。間接参照アドレス表（ＩＡＴ）スナップショットは、その時の現行のＩＡＴのコピーである。復元プロセス中に最新のスナップショットを識別できるように、一意のＩＡＴスナップショットＩＤ（図示せず）が、各スナップショットに含まれる。ＩＡＴスナップショットＩＤは、古いスナップショットと新しいスナップショットとの間の曖昧さを回避するために、十分に大きな範囲を有するカウンタとすることができる。範囲は、完全なシングルＩ領域をディスク上に書き込む時に実行されるスナップショットの数をカバーすべきである。
【００１６】
ＩＡＴの単一スナップショットコピーだけが必要とされるが、図示のように、異なるディスク１２Ａ、１２Ｂ上に２つ以上のコピーを作成することは、コピーの１つが、ヘッドまたはディスク表面全体の損失を含む何らかの理由で復元不可能である場合に、冗長性を提供するという利点を有する。間接参照構造の複数のコピーを記憶することによって、装置は、残りの非損傷データを用いて適切に動作できるようになる。余分なコピーは、２つのディスクへの同時的な書き込みを可能にする複数のチャネルを有しない装置の典型例な場合であっても、ヘッドを切り替えることによって、追加ディスク上のＥ領域に効率的に書き込むことができる。
【００１７】
上記のように、装置によって実行される次の書き込み動作は、最後のスナップショットには反映されない。したがって、媒体上のスナップショットは、各追加書き込み動作が実行されるときに、現在のＩＡＴより遅れる。各書き込み動作のために、ＩＡＴ全体を書き換える（これは極めて大きくなり得る）のではなく、本発明は、スナップショット間に増分メタデータ更新情報を作成し周期的に書き込む。増分更新情報は、累積デルタリスト（ＣＤＬ）１８と呼ばれ、このリストは、ＲＡＭに維持される。その点で、ＩＡＴスナップショット間に、媒体への複数のＣＤＬ書き込みがあり得る。ＣＤＬの最大サイズによって、書き込まれる頻度が決定される。各ＣＤＬ書き込みは、ＩＡＴスナップショットＩＤを含むことによって、最後のＩＡＴスナップショットにリンクされる。各ＣＤＬ書き込みには、最後のＣＤＬ書き込み以来の、またはそれがスナップショット後の最初のＣＤＬである場合にはＩＡＴスナップショット以来の、アドレスデルタが含まれる。
【００１８】
ＩＡＴスナップショットが媒体に書き込まれる頻度は、本発明を実施する場合の設計選択である。スナップショット頻度は、ＥＰＯ復元時間、および分散実施形態においてＣＤＬ記憶用に割り当てられる記憶容量のトレードオフを意味する。一実施形態において、スナップショット書き込みは、選択された数の書き込み動作後にトリガされる。同様に、ＣＤＬにおけるデルタの数は、トレードオフを伴う設計選択である。書き込みは、ＣＤＬデルタが書き込まれるまでコミットされず、その結果、より大きなＣＤＬは、存在可能な非コミット書き込みのより大きな最大数を意味する。
【００１９】
本発明は、Ｅ領域アーキテクチャのリングバッファ実施形態と適合するが、本発明は、リングバッファが用いられることを必要としない。本発明によって、ＩＡＴスナップショットおよびＣＤＬをユーザデータと直列に書き込むことが可能になるので、本発明は、他のＥ領域アーキテクチャと共に用いることができる。
【００２０】
図２は、本発明の実施形態に従って用いられるような、媒体上のＥ領域におけるリングバッファ２１を示す。リングバッファにおけるヘッドおよびテールポインタの管理は、先行技術に従う。「安全な書き込み」２５は、媒体トラックに書き込まれる一連のユーザデータセクタである。安全な書き込み後に、ＩＡＴスナップショット１７Ａが書き込まれる。スナップショットの書き込みが、以前の書き込み用のＰＢＡ−ＬＢＡマッピングを含むＩＡＴスナップショットを記録することによって、以前の書き込みを「安全に」する。「非コミット書き込み」２６は、ＩＡＴスナップショット後に行われたユーザデータ書き込みである。ＲＡＭに維持されるＣＤＬ１８は、各書き込みが行われる場合に更新される。リングバッファにおけるＣＤＬ１８Ａは、一連の「非コミット書き込み」２６の後に書き込まれるもので、非コミット書き込みのそれぞれのためのデルタＩＤエントリを含む。この実施形態において、ＣＤＬは、デルタＩＤの数が、例えば、割り当てられたＲＡＭスペース（バッファ）を満たす所定の数に達した場合に書き込まれる。ＩＡＴスナップショットが、上記のように複数のディスク上に書き込まれる場合には、ＣＤＬ１８Ａ、１８Ｂもまた、複数のディスク上に書き込まれるべきである。
【００２１】
図３は、本発明の実施形態に従って媒体に書き込まれるような累積デルタリスト（ＣＤＬ）１８Ａの内容を示す。ＩＡＴスナップショットが媒体上に保存される場合に、ＣＤＬのデルタＩＤ部３３、３４は、空にリセットされ、保存されたスナップショット用のＩＡＴスナップショットＩＤ３２は記録される。ＣＤＬは、本質的に、ＩＤによって最新のＩＡＴスナップショットに結合される。リングバッファは、前のスナップショットが自動的には消去されないので、複数のスナップショットおよびＣＤＬが媒体に存在できるように十分に大きくすることができる。したがって、ポストＥＰＯ復元プロセスは、最新のスナップショットおよび関連するＣＤＬを、より前のスナップショットおよび関連するＣＤＬの中から知らせる方法を有しなければならない。ＩＡＴスナップショットおよびＣＤＬの両方に記録されたＩＡＴスナップショットＩＤは、この目的に役立つ。ＩＡＴスナップショットＩＤシーケンスは、どのＩＤが最も最近のものかをＥＰＯ後の復元ルーチンが分かるように、明白でなければならない。ＩＤを実現する方法の一つは、それを、単調に増加するカウンタにすることであり、その後、電源オンの復元ルーチン中に、ファームウェアは、ＩＤが減少する場合にはいつでも、スナップショットおよびＣＤＬデータの読み出しを停止することができ、これはリングバッファにおける最も最近のデータに達したことの合図となる。
【００２２】
リスト３３、３４における各デルタＩＤには、記録されている特定の書き込みコマンド用のＩＡＴを更新するために必要な情報の３つの断片が含まれ、それらは、開始ＬＢＡ、開始ＰＢＡおよびセクタ数である。各デルタＩＤは、例えば、６バイトとすることができる。複数のデルタＩＤを備えたＣＤＬの最大サイズは、それを１つのセクタに含むことができるように制限することができる。開始ＬＢＡ／ＰＢＡフィールドは、完全なＬＢＡ／ＰＢＡアドレスである必要はない。なぜなら、間接参照は、制限することができるからである（例えば、ドライブは、独立セクションに分割することができ、セクション内のオフセットだけが必要とされる）。
【００２３】
間接参照マッピングのいくつかの実施形態において、どのデルタＩＤが最も最近のものかを決定するためにタイムスタンプが必要とされる。したがって、図４に示すＣＤＬの実施形態において、追加フィールド、すなわちタイムスタンプカウンタ３５が含まれる。本発明のある実施形態において、所与のＬＢＡのデルタＩＤは、ＬＢＡの有効位置が、スナップショットポイント後の最後のデルタＩＤに現れるように、現在のシングル領域に常駐するだけに制約される。しかしながら、いくつかの実施形態において、この制約は課されず、タイムスタンプが、どのデルタＩＤが最も最近のものかを決定するために必要とされる。このタイムスタンプは、例えば、ＬＢＡをＥ領域またはＩトラックにマッピングする表、およびＩトラックをＩ領域内の位置にマッピングする表を含む２つの間接参照表が存在する場合に必要になり得る。最初の表に関して、デルタは、どちらの位置に記憶することも可能であるのに対して、第２の表用のデルタは、Ｉトラック領域に記憶することが潜在的に可能である。
【００２４】
本発明の実施形態による、ホストから装置が受信する書き込みコマンド用の典型的な書き込み動作のための例示的なシーケンスを、図６に関連して以下で説明するが、図６は、本発明の実施形態に従ってＩＡＴスナップショットおよびＣＤＬを書き込む方法を示す。１つまたは複数のＬＢＡは、ホストによって定義され、装置へ送信されるコマンドに含まれる。１つまたは複数のＰＢＡは、装置によって決定される。ＲＡＭにおけるＩＡＴは、書き込み動作に関連する１つまたは複数のＬＢＡおよびＰＢＡ用に更新される（６１）。デルタＩＤエントリが、この書き込み動作用に、ＲＡＭにおける累積デルタリストに追加される（６２）。書き込みコマンド用にホストによって供給されたデータは、媒体上の１つまたは複数のＰＢＡに書き込まれるが、しかし「コミットされない」。デルタおよびスナップショットカウンタは、増分される（６３）。ＩＡＴスナップショットカウンタトリガポイントに達した場合に（６４）、ＩＡＴスナップショット（デルタを含む）は、スナップショットＩＤを書き込まれ、スナップショットカウンタは、リセットされる（６６）。今や、ＲＡＭにおける累積デルタリストは、陳腐化し、したがってそれは、スナップショットＩＤだけを含み、デルタを含まないようにリセットされる（６７）。
【００２５】
ＩＡＴスナップショットがトリガされない場合に、デルタカウンタは、選択された最大値に関してチェックされ（６８）、達した場合には、累積デルタリスト（ＣＤＬ）は媒体に書き込まれ、デルタＩＤは、空に設定され、デルタカウンタは、０に設定される（６９）。ＣＤＬが媒体に書き込まれる場合に、ＣＤＬ用のＩＡＴスナップショットＩＤが変更されないことに留意されたい。ＩＡＴスナップショット間に複数のＣＤＬ書き込みが存在可能であり、これらのＣＤＬのそれぞれには、同じＩＡＴスナップショットＩＤが含まれる。
【００２６】
本発明の実施形態において、切迫した電力喪失が装置によって検出された場合に、ＲＡＭにおけるＣＤＬは、最後のメタデータ書き込み（ＩＡＴスナップショットまたは最後のＣＤＬ書き込みであり得る）以来のいかなる更新もカバーし、図１におけるフラッシュメモリ１９などの所定の不揮発性メモリに保存される。各ＣＤＬは、本質的にＩＡＴより小さく、ディスクへのより頻繁な書き込みによってサイズを低くしておくことができる。ＥＰＯ記憶用に必要とされるフラッシュメモリのサイズは、それが単に最新のＣＤＬを保持する必要があるだけなので、比較的小さい。切迫したＥＰＯ条件下でＣＤＬを書き込むために必要な時間もまた小さいということになる。対照的に、ＩＡＴのサイズは、例えば、セクタ当たり単純なバイト数ではなく、Ｉトラックの総数およびＥ領域のサイズの関数である。実際的なＳＭＲ装置は、少なくとも数十メガバイト程度のＩＡＴを有すると見込むことができる。
【００２７】
図７は、本発明の実施形態に従って、緊急電源遮断後に、ＩＡＴスナップショットおよびＣＤＬを用いて、ＩＡＴを再構築する方法を示す。恐らく複数あると思われる累積デルタリストのセットと組み合わされた最後のＩＡＴスナップショットは、緊急電力喪失後に電力が回復された場合に、現在の間接参照アドレス表を再生成するために必要とされる情報を提供する。起動ルーチンは、もし存在すれば、最後のＩＡＴスナップショット７１および続くＣＤＬ７２を見つけることが必要な場合に、リングバッファ全体を読み出すことができる。ＩＡＴスナップショットＩＤは、リングバッファに依然として存在する可能性がある、より古いスナップショットから最後のスナップショットを識別するために用いられる。起動ルーチンが、バッファから読み出された前のＩＤより古いＩＤを備えたＩＡＴスナップショットを読み出す場合に、ルーチンは、最後のＩＡＴスナップショットが見つかったことを知る。対応するＣＤＬセットは、ＩＡＴスナップショットＩＤを含み、リングバッファにおいて最新のＩＡＴスナップショットに続く。さらに、起動ルーチンは、上記のようにフラッシュメモリに書き込まれた最終ＥＰＯ  ＣＤＬを読み出さなければならない（７３）。一旦起動ルーチンが、最後のＩＡＴスナップショットを有すれば、ＩＡＴは、現在のＩＡＴを得るために、ＣＤＬのそれぞれにおけるデルタＩＤを用いて更新される（７４）。もちろん、いかなる新しいデルタＩＤエントリも行われないうちに、スナップショットまたはＣＤＬの書き込み直後にＥＰＯが発生する可能性がある。この場合に、ＥＰＯ  ＣＤＬは、いかなるデルタＩＤも含まない。また、ＥＰＯは、いかなるＣＤＬもディスクに書き込まれないうちに、発生する可能性がある。ディスクにもフラッシュにもＣＤＬがない場合に、ＩＡＴスナップショットは、いかなる更新も必要とせずに、現在のＩＡＴを表す。
【００２８】
本発明の一代替実施形態において、ＬＢＡおよびＰＢＡをマッピングするメタデータは、セクタフォーマットの一部として含まれ、これによって、ＣＤＬを維持し書き込む必要性が除去される。ＩＡＴスナップショットは、上記のように、やはり作成される。この実施形態の利点の一つは、セクタメタデータがデルタＩＤの役割を果たすため、セクタにＣＤＬを書き込む必要がないということである。スナップショットに続いて書き込まれるセクタはそれぞれ、続いて書き込まれたセクタを含む前スナップショットにおけるＩＡＴを更新するために必要とされるＬＢＡメタデータを本質的に含む。この実施形態に対して、ＥＰＯ後の起動ルーチンは、上記のように最後のＩＡＴスナップショットを見つけるが、しかし見つけるべきＣＤＬは存在しない。ＣＤＬの代わりに、ルーチンは、リングバッファにおける最後のスナップショット用のスナップショットＩＤを含む、各ＰＢＡ（セクタ）におけるメタデータを読み出す。次に、メタデータにおけるＰＢＡに対応するＬＢＡを用いて、最後のスナップショットにおけるＩＡＴを現在の状態に更新する。
【００２９】
本発明の実施形態用のセクタメタデータ４１Ａは、図５Ａに示されている。余分なメタデータは、数バイト、例えば４バイトだけセクタの物理サイズを長くする。この実施形態において明示的に記憶されたメタデータ４１Ａには、最後のＩＡＴスナップショットＩＤ４２およびＬＢＡ４４が含まれる。ＩＡＴスナップショットＩＤは、コミットされた書き込みおよび非コミット書き込み間を識別するために必要とされる。本発明の実施形態用のセクタメタデータ４１Ｂの代替実施形態が、図５Ｂに示されている。セクタメタデータ４１Ｂには、タイムスタンプカウンタ４３が含まれるが、このタイムスタンプカウンタ４３は、上記の代替ＣＤＬにおけるタイムスタンプカウンタと同じ機能を果たす。タイムスタンプカウンタ４３は、同じＬＢＡにおけるＩＡＴ更新が、上記のように別のシングル領域、例えばＩトラック領域に出現し得る場合に必要とされる。ＰＢＡは、それが実際の物理アドレスであるので、媒体上の各セクタ用に装置によって暗黙に知られている。また、本質的に１つであるセクタの数を定義する必要はない。
【００３０】
ＬＢＡメタデータは、セクタアーキテクチャに含まれる任意の他のメタデータに加えて明示的に保存することができる。先行技術のセクタフォーマットには、典型的には媒体上の物理セクタにおけるユーザデータに続くＥＣＣバイトの形態におけるメタデータが含まれる。ＬＢＡメタデータはまた、例えば、ＥＣＣ符号化のシードとして用いられることによって、ＥＣＣバイトへ符号化することができる。トレードオフとは、明示的に保存されたＬＢＡメタデータの記憶が、フォーマット効率において余分な数のバイトを要するのに対して、それをＥＣＣシードとして用いることにより、ＥＣＣ能力が低下することで、信頼性が犠牲になるということである。
【符号の説明】
【００３１】
１０  データ記憶装置
１１  ホスト
１２Ａ、１２Ｂ  ディスク
１６  間接参照システム
１７  間接参照アドレス表（ＩＡＴ）
１７Ａ、１７Ｂ  間接参照アドレス表（ＩＡＴ）スナップショット
１８、１８Ａ、１８Ｂ  累積デルタリスト（ＣＤＬ）
１９  フラッシュメモリ
２１  リングバッファ
２５  安全な書き込み
２６  非コミット書き込み
３２  ＩＡＴスナップショットＩＤ
３３、３４  デルタＩＤ部
３５  タイムスタンプカウンタ
４１Ａ、４１Ｂ  セクタメタデータ
４２  ＩＡＴスナップショットＩＤ
４３  タイムスタンプカウンタ
４４  ＬＢＡ
【図１】
2012243385.tif 000003
【図２】
2012243385.tif 000004
【図３】
2012243385.tif 000005
【図４】
2012243385.tif 000006
【図５Ａ】
2012243385.tif 000007
【図５Ｂ】
2012243385.tif 000008
【図６】
2012243385.tif 000009
【図７】
2012243385.tif 000010