(57)【要約】【課題】複数の格納媒体デバイスについてのファイルシステムバックアップのためのデバイス、格納媒体および方法を提供する。【解決手段】デバイスは、第１のデータ格納媒体、第２のデータ格納媒体、およびコントローラを備え得る。コントローラは、第１のデータ格納媒体にファイルシステム情報を格納し、第１のデータ格納媒体についてのファイルシステム情報のコピーをバックアップとして第２のデータ格納媒体に格納し、第１のデータ格納媒体内のファイルシステム情報が有効データを含有するとき、ファイルシステム情報を第１のデータ格納媒体からキャッシュメモリにロードし、第１のデータ格納媒体内のファイルシステム情報が有効データを含有しないとき、ファイルシステム情報のコピーを第２のデータ格納媒体からキャッシュにロードするように、構成され得る。【選択図】図１
2014182818.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ格納媒体と、
第２のデータ格納媒体と、
コントローラであって、
前記第１のデータ格納媒体についてのファイルシステム情報のコピーをバックアップとして前記第２のデータ格納媒体に格納するように構成された、コントローラとを備える、デバイス。
【請求項２】
前記第１のデータ格納媒体は、不揮発性の固体メモリを含むことを更に備える、請求項１に記載のデバイス。
【請求項３】
前記第２のデータ格納媒体は、ディスクメモリを含むことを更に備える、請求項２に記載のデバイス。
【請求項４】
揮発性の固体メモリを含む第３のデータ格納媒体と、
前記コントローラであって、
前記第１のデータ格納媒体内の前記ファイルシステム情報が使用されるべきであるかどうかを決定するように、および
前記第１のデータ格納媒体内の前記ファイルシステム情報が使用されるべきではないとき、前記ファイルシステム情報の前記コピーを前記第２のデータ格納媒体から前記第３のデータ格納媒体にロードするように、更に構成された、前記コントローラとを更に備える、請求項１に記載のデバイス。 
【請求項５】
前記コントローラであって、
前記第１のデータ格納媒体内の前記ファイルシステム情報が使用されるべきではないとき、
前記第１のデータ格納媒体が適切に動作しているかどうかを決定するように、および
前記第１のデータ格納媒体が適切に動作しているとき、
前記第１のデータ格納媒体内の前記ファイルシステム情報を前記第２のデータ格納媒体からの前記ファイルシステム情報の前記コピーと交換するように、更に構成された、前記コントローラを更に備える、請求項４に記載のデバイス。
【請求項６】
前記コントローラであって、
前記第１のデータ格納媒体に割り当てられた特定の論理ブロックアドレス（ＬＢＡ）からデータをロードするために読み出し要求を受信するように、
前記第１のデータ格納媒体が適切に動作していないとき、
前記ファイルシステム情報の前記コピーに基づいて、前記特定のＬＢＡについての有効データが、前記第２のデータ格納媒体上に格納されるかどうかを決定するように、
前記特定のＬＢＡについての有効データが前記第２のデータ格納媒体上に格納されるとき、前記第２のデータ格納媒体からのデータで前記読み出し要求に応答するように、および
前記特定のＬＢＡについての有効データが前記第２のデータ格納媒体上に格納されないとき、訂正不可能なデータ誤りで前記読み出し要求に応答するように、更に構成された、前記コントローラを更に備える、請求項５に記載のデバイス。
【請求項７】
前記ファイルシステム情報が、どのデータが前記第１のデータ格納媒体または前記第２のデータ格納媒体内に格納されるか、また、前記データが現在の有効データであるかどうかについての情報を含むマッピングテーブルを含むことを更に備える、請求項１に記載のデバイス。 
【請求項８】
前記ファイルシステム情報が、前記マッピングテーブルへの変更を追跡するためのジャーナルシステムを含むことと、
キャッシュメモリと、
前記コントローラであって、
前記マッピングテーブルを前記第１のデータ格納媒体から前記キャッシュメモリにロードするように、
前記キャッシュメモリ内に前記ジャーナルシステムを維持するように、ならびに
前記ジャーナルシステムからの前記変更で前記第１のデータ格納媒体内の前記マッピングテーブルを更新するように、および前記マッピングテーブルのコピーを前記第２のデータ格納媒体に格納するように、更に構成された、前記コントローラと、を更に備える、請求項７に記載のデバイス。
【請求項９】
前記コントローラであって、
電源切断が検出されるときに、前記ジャーナルシステムを前記キャッシュメモリから前記第２のデータ格納媒体にコピーするように更に構成された、前記コントローラを更に備える、請求項８に記載のデバイス。
【請求項１０】
コンピュータ処理であって、
ファイルシステム情報を第１の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリについてのファイルシステム情報のコピーをバックアップとして第２の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有するとき、前記ファイルシステム情報を前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記ファイルシステム情報の前記コピーを前記第２の不揮発性のメモリから前記キャッシュにロードすることとを含む、コンピュータ処理をコンピューティングシステム上で実行するためのコンピュータプログラムを符号化するコンピュータで読み出し可能な格納媒体。 
【請求項１１】
前記処理は、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記第１の不揮発性のメモリが適切に動作しているかどうかを決定することと、
前記第１の不揮発性のメモリが適切に動作しているとき、前記第１の不揮発性のメモリ内の前記ファイルシステム情報を前記第２の不揮発性のメモリからの前記ファイルシステム情報の前記コピーと交換することとを更に含む、請求項１０に記載のコンピュータで読み出し可能な格納媒体。
【請求項１２】
前記処理は、
前記第１の不揮発性のメモリに割り当てられた特定の論理ブロックアドレス（ＬＢＡ）からデータをロードするために読み出し要求を受信することと、
前記第１の不揮発性のメモリが適切に動作していないとき、
前記ファイルシステム情報の前記コピーに基づいて、前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるかどうかを決定することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるとき、前記第２の不揮発性のメモリからのデータで前記読み出し要求に応答することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されないとき、訂正不可能なデータ誤りで前記読み出し要求に応答することとを更に含む、請求項１１に記載のコンピュータで読み出し可能な格納媒体。
【請求項１３】
前記処理は、前記ファイルシステム情報が、
どのデータが前記第１の不揮発性のメモリまたは前記第２の不揮発性のメモリ内に格納されるか、また、前記データが現在の有効データであるかどうかについての情報を含むマッピングテーブルと、
前記マッピングテーブルへの変更を追跡するためのジャーナルシステムとを更に含む、請求項１０に記載のコンピュータで読み出し可能な格納媒体。
【請求項１４】
前記処理は、
前記マッピングテーブルを前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記キャッシュメモリ内に前記ジャーナルシステムを維持することと、
前記ジャーナルシステムからの前記変更で、前記第１の不揮発性のメモリ内の前記マッピングテーブルを更新することと、
前記マッピングテーブルのコピーを前記第２の不揮発性のメモリに格納することを更に含む、請求項１３に記載のコンピュータで読み出し可能な格納媒体。
【請求項１５】
前記処理は、
電源切断が検出されるとき、前記ジャーナルシステムを前記キャッシュメモリから前記第２の不揮発性のメモリにコピーすることを更に含む、請求項１４に記載のコンピュータで読み出し可能な格納媒体。
【請求項１６】
ファイルシステム情報を第１の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリについてのファイルシステム情報のコピーをバックアップとして第２の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有するとき、前記ファイルシステム情報を前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記ファイルシステム情報の前記コピーを前記第２の不揮発性のメモリから前記キャッシュにロードすることとを含む、方法。
【請求項１７】
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記第１の不揮発性のメモリが適切に動作しているかどうかを決定することと、
前記第１の不揮発性のメモリが適切に動作していることを決定されるとき、前記第２の不揮発性のメモリからの前記ファイルシステム情報の前記コピーと前記第１の不揮発性のメモリ内の前記ファイルシステム情報を交換することとを更に含む、請求項１６に記載の方法。
【請求項１８】
前記第１の不揮発性のメモリに割り当てられた特定の論理ブロックアドレス（ＬＢＡ）からデータをロードするために読み出し要求を受信することと、
前記第１の不揮発性のメモリが適切に動作していないとき、
前記ファイルシステム情報の前記コピーに基づいて、前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるかどうかを決定することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるとき、前記第２の不揮発性のメモリからのデータで前記読み出し要求に応答することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されないとき、訂正不可能なデータ誤りで前記読み出し要求に応答することとを更に含む、請求項１７に記載の方法。
【請求項１９】
前記ファイルシステム情報のマッピングテーブルを前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記キャッシュメモリ内の前記ファイルシステム情報のジャーナルシステムであって、前記マッピングテーブルへの変更を追跡するために使用されるジャーナルシステムを維持することと、
前記ジャーナルシステムからの前記変更で前記第１の不揮発性のメモリ内の前記マッピングテーブルを更新することと、
前記マッピングテーブルのコピーを前記第２の不揮発性のメモリに格納することとを更に含む、請求項１８に記載の方法。
【請求項２０】
電源切断が検出されるとき、前記ジャーナルシステムを前記キャッシュメモリから前記第２の不揮発性のメモリにコピーすることを更に含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の格納媒体デバイスについてのファイルシステムバックアップのためのデバイス、格納媒体および方法に関する。
【背景技術】
【０００２】
データ格納デバイス（ＤＳＤ）は、複数のデータ格納媒体を備え得る。データ格納媒体についてのファイルシステム情報が破損されることになった場合またはデータ格納媒体が故障した場合、有効データの利用可能性についての情報は、失われ得る。したがって、データ格納デバイスの性能を向上するためのシステムおよび方法が必要とされている。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施形態では、デバイスは、第１のデータ格納媒体、第２のデータ格納媒体、およびコントローラを備え得る。コントローラは、第１のデータ格納媒体についてのファイルシステム情報のコピーをバックアップとして第２のデータ格納媒体に格納するように構成され得る。
【０００４】
別の実施形態では、コンピュータで読み出し可能な格納媒体は、ファイルシステム情報を第１の不揮発性のメモリに格納することと、第１の不揮発性のメモリについてのファイルシステム情報のコピーをバックアップとして第２の不揮発性のメモリに格納することと、第１の不揮発性のメモリ内のファイルシステム情報が有効データを含有するとき、ファイルシステム情報を第１の不揮発性のメモリからキャッシュメモリにロードすることと、第１の不揮発性のメモリ内のファイルシステム情報が有効データを含有しないとき、ファイルシステム情報のコピーを第２の不揮発性のメモリからキャッシュにロードすることと、を含むコンピュータ処理をコンピューティングシステム上で実行するためのコンピュータプログラムを符号化し得る。
【０００５】
更に別の実施形態では、方法は、ファイルシステム情報を第１の不揮発性のメモリに格納することと、第１の不揮発性のメモリについてのファイルシステム情報のコピーをバックアップとして第２の不揮発性のメモリに格納することと、第１の不揮発性のメモリ内のファイルシステム情報が有効データを含有するとき、ファイルシステム情報を第１の不揮発性のメモリからキャッシュメモリにロードすることと、第１の不揮発性のメモリ内のファイルシステム情報が有効データを含有しないとき、ファイルシステム情報のコピーを第２の不揮発性のメモリからキャッシュにロードすることと、を含み得る。
【図面の簡単な説明】
【０００６】
【図１】複数の格納媒体デバイスについてのファイルシステムバックアップのシステムの例示的な実施形態の図である。
【図２】複数の格納媒体デバイスについてのファイルシステムバックアップのシステムの別の例示的な実施形態の図である。
【図３】複数の格納媒体デバイスについてのファイルシステムバックアップを利用するデータ格納デバイスの例示的な実施形態の図である。
【図４】複数の格納媒体デバイスについてのファイルシステムバックアップを利用する方法の例示的な実施形態のフローチャートである。
【図５】複数の格納媒体デバイスについてのファイルシステムバックアップを利用する方法の別の例示的な実施形態のフローチャートである。
【発明を実施するための形態】
【０００７】
実施形態の以下の詳細な説明において、本明細書の一部を形成し、その明細書において特定の実施形態の例示として示される、添付の図面に対する参照がなされる。他の実施形態が利用され得ることと、構造的変更が本開示の範囲から逸脱することなくなされ得ることとが理解されるべきである。
【０００８】
いくつかのデータ格納デバイスは、複数のメモリを含むことができる。例えば、ハイブリッドハードドライブは、回転ディスク格納媒体に加えて、一定量の不揮発性の固体メモリ（ＮＶＳＳＭ）を有し得る。ＮＶＳＳＭは、任意の種類の不揮発性の固体メモリ、例えば、ＮＡＮＤ  ＮＶＳＳＭ、ＮＯＲ  ＮＶＳＳＭ、ＮＶＲＡＭ、またはそれ自体のファイルシステムを有し得る任意の固体メモリなどであり得る。いくつかの実施形態では、デバイスは、ディスクメモリの代わりにもしくはディスクメモリに加えて、異なる種類のまたは同じ種類の、２つ以上のＮＶＳＳＭを有し得る。明瞭さのために、本明細書に記載される例や実施形態は、ＮＶＳＳＭおよびディスクメモリを有するデバイスに言及することになるが、ＮＶＳＳＭを含む他の構成は、当業者に明らかであろう。
【０００９】
実施形態例では、ディスク上のデータおよびＮＶＳＳＭ内のデータは、重複ＬＢＡ（論理ブロックアドレス）空間を占有することができる。そのような実施形態では、特定のＬＢＡにおけるデータについてのホスト要求があるとき、それは、どのメモリが、そのＬＢＡについての最新の有効データを含有するか、およびどのメモリがより高速な応答を提供するか次第で、ディスクからまたはＮＶＳＳＭから来得る。いくつかの実施形態では、ホストからのデータ書き込みをディスクまたはＮＶＳＳＭに直接送信させることも可能である。データがＮＶＳＳＭに直接書き込まれる場合、それは、データのバックアップコピーを提供するために、バックグラウンドにおいてディスクに鏡映を作られ得る。そのようなバックアップは、設定された量の時間後、データ格納デバイスがアイドル状態であるとき、または他の誘因に基づいて、即時に作られ得る。
【００１０】
ファイルシステムは、例えば、メモリ内のどの物理的格納位置が所与のＬＢＡについてのデータを含有するか、どのデータが現在の、有効なものであるか、また、どのデータが古いか無効なものであるかのログを取ることによって、データを編成するためにデータ格納デバイス上で利用されるソフトウェアであり得る。データがＮＶＳＳＭメモリに直接格納され得、ディスクに鏡映を作られ得るシステムにおいて、不揮発性のファイルシステム（ＮＶＦＳ）は、どのデータがＮＶＳＳＭにおいて有効（例えば、直近）であるか、また、どのデータがディスクに鏡映を作られているかの記録を維持し得る。本明細書に使用される際、ＮＶＦＳは、ファイルシステムまたはファイルシステム情報として呼ばれることもある。
【００１１】
ホストデータがＮＶＳＳＭに直接書き込まれることを可能にするハイブリッドハードディスクドライブ（ＨＤＤ）例では、有効データだけがＮＶＳＳＭ内にある期間があり得る。この期間の間、ＮＶＦＳの破損を引き起こす事象があるかＮＶＳＳＭが不完全になる場合には、ハイブリッドＨＤＤは、有効データが任意の所与のＬＢＡについてのものであることを確実に知っていない可能性がある。有効データはＮＶＳＳＭ内にあることができ、あるいは、その有効データはディスク上にあることができる。これは、読み出し要求の上で不正確なデータをホストに送信し戻すことを結果としてもたらすことができるか、あるいは、ディスク上のデータが最新のバージョンのデータであるかどうかが不確かであるので、データを全く送信しない可能性がある。
【００１２】
ファイルシステムの損失に起因する危険性を最小限にするために、バックアップコピーは、ディスクメモリに格納され得る。ハイブリッドＨＤＤ例では、ＮＶＳＳＭ内にあるコピーが破壊されるか破損される場合、ＮＶＦＳが、依然としてディスクから検索され得、再生成され得、回転ディスクは、ＮＶＦＳのコピーを格納するために使用され得、それによって、無効データをホストに送信することを防止し、あるいは適切にサービスされ得ないホスト要求に応答しない。
【００１３】
図１は、１００で一般に指定される、複数の格納媒体デバイスについてのファイルシステムバックアップについてのシステムの実施形態を描写する。システム１００は、ホスト１０２とデータ格納デバイス（ＤＳＤ）１０４とを含み得る。ホスト１０２はまた、ホストシステムまたはホストコンピュータとも呼ばれ得る。ホスト１０２は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、タブレットコンピュータ、電話、音楽プレーヤ、別の電子デバイス、またはそれらの任意の組み合わせとすることができる。同様に、ＤＳＤ１０４は、上に挙げたデバイスのいずれか、またはデータを格納するか検索するために使用され得る任意の他のデバイスであり得る。ホスト１０２およびＤＳＤ１０４は、有線もしくは無線接続によって、またはローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）によって接続され得る。いくつかの実施形態では、ＤＳＤ１０４は、ホスト１０２に接続されない独立型デバイスとすることができ、またはホスト１０２とＤＳＤ１０４の両方は、単一ユニットの一部であってもよい。
【００１４】
ＤＳＤ１０４は、１つ以上の不揮発性のメモリを含むことができる。描写された実施形態では、ＤＳＤ１０４は、回転ディスクメモリ１０６およびＮＶＳＳＭメモリ１０８を含むハイブリッドＨＤＤである。他の実施形態では、ＤＳＤ１０４は、揮発性および不揮発性のメモリを含む、付加的なメモリまたはメモリの類いを含有し得る。いくつかの実施形態では、ディスク上のデータおよびＮＶＳＳＭ内のデータは重複ＬＢＡ空間を占有する。例えば、０と１０，０００との間のＬＢＡ内に格納されたデータは、ＮＶＳＳＭメモリまたはディスクメモリに位置し得る。ＮＶＦＳは、どのデータがＮＶＳＳＭ上に格納されるか、また、そのデータがディスク上にバックアップされるかどうかを把握するために、ＤＳＤ１０４によって使用され得る。データがＮＶＳＳＭ１０８に格納されており、ディスク１０６にバックアップされ得る実施形態では、ＮＶＦＳは、ＮＶＳＳＭ１０８やディスク１０６上のデータが、所与のＬＢＡについての最新のバージョンの有効データであるかどうかを決定するために使用され得る。
【００１５】
図２は、２００で一般に指定される、複数の格納媒体デバイスについてのファイルシステムバックアップについてのシステムの実施形態を描写する。システム２００は、データ格納デバイス２０２およびホストデバイス２０４を含み得、それは、図１のＤＳＤ１０４およびホストシステム１０２に対応し得る。描写された実施形態では、ＤＳＤ２０２は、ディスクメモリ２０６、ＮＶＳＳＭメモリ２０８、およびＲＡＭ２１０を含むハイブリッドＨＤＤであり得る。いくつかの実施形態では、他の不揮発性のメモリが、ディスク２０６およびＮＶＳＳＭ２０８の代わりに使用され得る。ＲＡＭ２１０は、ＤＳＤ２０２のためのキャッシュメモリとして働き得、ＤＲＡＭまたはＳＲＡＭなどの任意の種類の揮発性のメモリであり得る。
【００１６】
実施形態例では、ＮＶＦＳは、マッピングテーブル構成要素およびジャーナリングシステム構成要素を含み得る。マッピングテーブルは、どの情報が、ＮＶＳＳＭメモリ内に格納されるか、どの物理的格納位置におけるものか、データが現在の有効データであるかどうか、およびそのデータがディスクメモリにバックアップされるかどうかについての情報を含み得る。ジャーナリングシステムは、マッピングテーブルが最後に更新されてからＮＶＳＳＭの内容を変更された書き込みコマンド、消去コマンド、または他のコマンドに基づいて、ＮＶＳＳＭメモリ内に格納されたデータへの変更のリストであり得る。ジャーナルは、直近のファイルシステム情報を含有するようにマッピングテーブルを更新するために使用され得る。
【００１７】
図２に描写された実施形態では、主マッピングテーブル２１２は、ＮＶＳＳＭメモリ２０８内に格納され得る。主マッピングテーブル２１２は、例えばＤＳＤ２０２の電源投入などの誘因事象で、ＮＶＳＳＭメモリ２０８からＲＡＭ２１０にロードされ得る。ＲＡＭ２１０内でＮＶＦＳ２１４のコピーを保持することは、データ動作の間に情報へのより高速なアクセスを提供することができる。ＲＡＭ２１０内のＮＶＦＳ２１４はまた、マッピングテーブル２１６への変更を追跡するためにジャーナル２１８を含むことができる。データ動作の間、ＲＡＭ２１０内のファイルシステム２１４は、例えば新たに格納されたデータまたは無効になったデータなどの、マッピングテーブル２１６への変更を示すジャーナル２１８で更新され得る。ジャーナル２１８内の情報は、間隔をおいてＮＶＳＳＭ内の主マッピングテーブル２１２を更新するために使用され得る。いくつかの実施形態では、ジャーナル２１８は、間隔をおいて、または制御された電源切断事象などの誘因に基づいて、ＮＶＳＳＭ２０８に格納され得、ＮＶＳＳＭ内のマッピングテーブル２１２は、より長い間隔をおいて１つ以上のジャーナルからの情報で更新され得る。
【００１８】
予期しない電力損失がある場合には、ＲＡＭ２１０内の最新の差異ジャーナル２１８が失われ得る。次の電源投入の際、主マッピングテーブル２１８は、ＲＡＭ２１０にロードされ得、差異ジャーナル２１８は、ＮＶＳＳＭ２０８の内容を検索することによって再現され得る。例えば、ＮＶＳＳＭメモリ２０８に格納されたデータは、次の有効データ位置を指し示すメタデータを含み得る。失われたジャーナルエントリは、記録されていないデータ変更のすべてを発見するためにポインタをたどることによって、回復され得る。しかしながら、ＮＶＳＳＭ２０８内の主マッピングテーブル２１２が失われる場合、ＮＶＳＳＭメモリを分析することによってそれを再現することは困難であるか不可能であり得る。
【００１９】
ＮＶＳＳＭメモリ２０８内のマッピングテーブル２１２の損失の場合に、格納された有効データを把握するために、ＮＶファイルシステムバックアップ２２０がディスクメモリ２０６に保存され得る。例えば、主マッピングテーブル２１２は、例えば電源投入事象において、ＮＶＳＳＭ２０８からＲＡＭ２１０にコピーされた後、それはまた、ディスク２０６にコピーされ得る。加えて、マッピングテーブル２１６のコピーは、ＮＶＳＳＭ２０８内の主マッピングテーブル２１２がジャーナル２１８で更新される度に、ディスク２０６にコピーされ得る。ジャーナル２１８を使用するマッピングテーブル２１２もしくは２１６への更新が誘因とされる時は常に、ディスク２２０上のマッピングテーブルは、同様に更新され得る。いくつかの実施形態では、ジャーナル２１８は、マッピングテーブル２１６全体がコピーされるか更新されるよりも頻繁にＮＶＳＳＭ２０８およびディスク２０６にコピーされ得る。例えば、制御された電源切断がある時は常に、ジャーナル２１８、もしくは更新されたマッピングテーブル２１６は、ＲＡＭ２１０からコピーされ得、ディスク２０６に書き込まれ得る。
【００２０】
ディスク２０６上にＮＶＦＳ２２０のバックアップを作ることは、いくつかの手法でシステム２００の信頼性を向上することができる。ＮＶＳＳＭ２０８内の主マッピングテーブル２１２を破損させる場合、それは、ディスク２０６からバックアップ２２０を検索することによって、再現され得る。これは、正確な情報の信頼性の増加を伴って、ＮＶＳＳＭ２０６をスキャンすることによってマッピングテーブルへの最近の変更を再現するのに必要な時間を節約することができる。ＮＶＦＳのバックアップ２２０が無いと、主マッピングテーブル２１２は、破損もしくはＮＶＳＳＭの故障に起因してすべて失われ得る。
【００２１】
加えて、ＮＶＳＳＭ２０８が完全に動作不可能になる場合には、ＤＳＤ２０２は、ホスト２０４からの将来の読み出し要求にどのように応答するかを決定するために、ディスク２０６上のファイルシステム２２０のバックアップを使用することができる。ファイルシステム２２０のバックアップが、所与のＬＢＡについてのディスク２０６上のデータが有効データであることを示す場合には、ＤＳＤ２０２は、有効データで応答することができる。所与のＬＢＡについて、ファイルシステム２２０のバックアップが、有効データが現在不完全なＮＶＳＳＭ２０８内にあったこと、対応するディスクＬＢＡ内のデータが無効データであること、あるいはＬＢＡについてのバックアップがディスク２０６になされなかったことを示す場合には、ＤＳＤ２０２は、訂正不可能なデータ誤りでホスト２０４に応答することができる。これは、ＤＳＤ２０２が間違ったデータをホスト２０４に報告することを防止させることができる。
【００２２】
図３は、３００で一般に指定され、複数の格納媒体デバイスについてのファイルシステムバックアップを利用するシステムの別の例示的な実施形態の図である。特に、図３は、ディスクドライブデータ格納デバイス（ＤＳＤ）３００の機能的ブロック図を提供する。ＤＳＤ３００は、図１に示されるデバイス１０４または図２に示されるＤＳＤ２０２などのデータ格納デバイスであり得る。データ格納デバイス３００は、ＤＳＤ３００がホスト３０２から物理的に取り外されることを可能にするコネクタ（図示しない）を含み得る、ハードウェアまたはファームウェアをベースとしたホストインターフェース回路３０４経由で、ホストデバイス３０２（例えば、図１に示されるホストシステム１０２もしくは図２に示される２０４など）と通信することができる。バッファ３１２は、読み出しや書き込み動作の間にユーザデータを一時的に格納することができ、また、複数の保留のアクセス動作が実行中に一時的に格納され得るコマンドキュー（ＣＱ）３１３を含むことができる。ＤＲＡＭバッファ３１２は、図２からのＲＡＭキャッシュ２１０に対応し得る。フラッシュメモリなどの不揮発性の固体メモリ３０３は、付加的なキャッシュまたはバッファメモリのために、あるいはＤＳＤ３００について付加的なアドレス指定可能なデータ格納を提供するために含まれ得る。ＤＳＤ３００は、関連付けられたメモリ３０８およびプロセッサ３１０を有するプログラム可能なコントローラ３０６を含むことができる。コントローラ３０６または関連付けられたプロセッサ３１０は、ファイルシステムバックアップ、例えば、本明細書に開示されたハイブリッドドライブ上のＮＶＦＳバックアップなど、および以下に開示される、図４や図５に描写される方法のステップを実装するように、ＤＳＤ３００を制御するよう構成され得る。
【００２３】
更に、図３は、ＤＳＤ３００が、書き込み動作の間にデータを符号化し、また、読み出し動作の間に（複数の）ディスク３０９から検索されたユーザデータを再構築することができる、読み出し／書き込み（Ｒ／Ｗ）チャネル３１７を含むことができることを示す。プリアンプ／ドライバ回路（プリアンプ）３１８は、書き込み電流を（複数の）ヘッド３１９に印加することができ、リードバック信号の事前の増幅を提供する。サーボ制御回路３２０は、（複数の）ディスク３０９の上に（複数の）ヘッド３１９を配置するようにコイル３２４に適切な電流を供給するためにサーボデータを使用し得る。コントローラ３０６は、コマンドキュー３１３におけるさまざまな保留コマンドの実行の間に、（複数の）ディスク３０９上の所望の位置に（複数の）ヘッド３１９を動かすように、プロセッサ３２２と通信することができる。
【００２４】
ＮＶＦＳマッピングテーブルは、ＮＶＳＳＭ３０３内に格納され得、ＤＳＤ３００の動作の間にＤＲＡＭバッファ３１２にロードされ得る。ＤＲＡＭバッファ３１２は、ＮＶＳＳＭ３０３に格納されたデータの変更に対応するマッピングテーブルへの変更ジャーナルを維持し得、ジャーナル内にログを取られた変更に基づいて、ＮＶＳＳＭ３０３内のマッピングテーブルを定期的に更新し得る。例えば、ＮＶＳＳＭ３０３内のマッピングテーブルは、設定された時間間隔で、ＮＶＳＳＭ３０３への一定の数の書き込みコマンドの後に、ＤＳＤ３００がアイドル状態であるとき、ジャーナルが満杯になるとき、または他の誘因に基づいて、更新され得る。
【００２５】
加えて、ＮＶＦＳマッピングテーブルおよびジャーナルは、ＮＶＳＳＭ３０３もしくはＤＲＡＭバッファ３１２からディスク３０９にバックアップとしてコピーされ得る。バックアップマッピングテーブルは、ディスク３０９にコピーされ得るか、ＮＶＳＳＭ３０３内のマッピングテーブルが更新される時は常にジャーナルに基づいて、あるいは、例えば時間、データ書き込みなどの他の誘因に基づいて、更新され得る。いくつかの実施形態では、ジャーナルのコピーもしくは複数のコピーは、マッピングテーブルに加えてまたはマッピングテーブルの代わりに、ディスク３０９に格納され得る。例えば、ジャーナルのコピーは、ＤＳＤ３００の制御された電源切断の際にディスク３０９に格納され得る。
【００２６】
ＮＶＳＳＭ３０３内の主マッピングテーブルが破損されることになるか読み出し不可能になる事象において、ディスク３０９上のマッピングテーブルのコピーは、マッピングテーブルをＮＶＳＳＭ３０３に復元するために、またＮＶＳＳＭ３０３およびディスク３０９に格納されたデータの状況を決定するために、使用され得る。ＮＶＳＳＭ３０３が動作不可能になるという事象において、ディスク３０９上のマッピングテーブルのバックアップは、ホスト読み出し要求にどのように応答するかを決定するために使用され得る。
【００２７】
次に図４を見てみると、複数の格納媒体デバイスについてのファイルシステムバックアップを利用する方法の例示的な実施形態のフローチャートが示され、４００で一般に指定される。描写された方法は、システム、例えば、図１、図２、および図３に描写されたシステムなどにおいて使用され得る。方法４００は、４０２で、不揮発性の（ＮＶ）マッピングテーブルをＮＶＳＳＭからＲＡＭにロードすることを含むことができる。主マッピングテーブル内に反映されていない変更のジャーナルはまた、ＮＶＳＳＭからＲＡＭにロードされ得る。この動作は、例えば、データ格納デバイスが電源を投入されたとき、あるいはコムリセット（ｃｏｍｒｅｓｅｔ）信号がホストから受信されたとき、呼び出され得る。
【００２８】
ＮＶＳＳＭへのデータ動作の間、ＮＶマッピングテーブルへの変更のジャーナルは、４０４で、マッピングテーブルのコピーに加えてＲＡＭ内に保持され得る。ＮＶＳＳＭ内に格納されたマッピングテーブルは、ジャーナルからの変更で更新され得、マッピングテーブルのコピーは、４０６で、ディスクメモリに格納され得る。いくつかの実施形態では、マッピングテーブルのコピーは、マッピングテーブルがＲＡＭにロードされるときか、あるいは直後に、ディスクに格納され得る。ＮＶＳＳＭおよびディスク内のマッピングテーブルは、例えば、設定された期間後、指定された数のデータ書き込み後、ジャーナルが満杯になるとき、あるいはデータ格納デバイスがアイドル状態であるときなどの１つ以上の誘因に基づいて、ジャーナル内の情報で更新され得る。いくつかの実施形態では、更新されたマッピングテーブルまたはジャーナルのコピー全体が、間隔をおいてディスクに保存され、他の実施形態では、ディスクに格納されたマッピングテーブルのコピーは、間隔をおいてジャーナル情報で更新される。
【００２９】
方法４００は、４０８で、制御された電源切断事象について監視することを含み得る。制御された電源切断が検出されない場合、方法は、４０４で、変更ジャーナルを保持し続け得る。制御された電源切断が検出される場合、方法４００は、４１０で、ジャーナルのコピーをＲＡＭからディスクに格納することを含み得る。これは、単に、ジャーナルのコピーをディスクに格納すること、またはディスク上に格納されたＮＶマッピングテーブルを更新することを含み得る。いくつかの実施形態では、ＲＡＭ内のマッピングテーブルは、ジャーナルで更新され得、更新されたマッピングテーブルは、ディスクに格納され得る。ジャーナルは、制御された電源切断事象でも同様にＮＶＳＳＭ内に格納された主マッピングテーブルを更新するために使用され得、あるいはジャーナル自体が、ＮＶＳＳＭに格納され得る。
【００３０】
次に図５を見てみると、複数の格納媒体デバイスについてのファイルシステムバックアップを利用する方法の別の例示的な実施形態のフローチャートが示され、５００で一般に指定される。方法は、５０２で、電源投入事象を含み得る。これは、複数の不揮発性のメモリを含むデータ格納デバイス（ＤＳＤ）に電力を印加することを含み得る。一実施形態では、ＤＳＤは、ＮＶＳＳＭおよび回転ディスクメモリを含むハイブリッドＤＳＤを備え得る。
【００３１】
方法５００は、５０４で、ＮＶＳＳＭ内に格納されたＮＶＦＳのマッピングテーブルが読み出し可能であるかどうかを決定することを含み得る。いくつかの実施形態では、５０４の決定は、ＮＶＳＳＭ内に格納されたＮＶファイルシステムが使用されるべきであるかどうかのものであり得、例えば、それがメモリの故障に起因してアクセスされ得ない場合、データが破損した場合、データが古くなった場合、データが無効である場合、あるいはＮＶＦＳを信頼不可能、使用不可能、または不正確にさせる他の要因の場合、それは使用されるべきではない。マッピングテーブルが適切に読み出し可能である場合、方法５００は、５０６で、マッピングテーブルをＮＶＳＳＭからＲＡＭメモリにロードすることと、５１４で、通常のＤＳＤ動作に続くこととを含み得る。
【００３２】
５０４で、マッピングテーブルが読み出し可能ではない場合、方法５００は、５０８で、マッピングテーブルのコピーをディスクメモリからＲＡＭにロードすることを含み得る。決定は、５１０で、ＮＶＳＳＭが適切に動作しているかどうかについてなされ得る。これは、データがＮＶＳＳＭから格納され得るかまたは検索され得るかどうかを決定するための診断、あるいは他の診断手順を行うことを含み得る。ＮＶＳＳＭが適切に動作可能である場合、５１２で、ＮＶＳＳＭ内の読み出し不可能なマッピングテーブルは、ディスクからロードされたバックアップマッピングテーブルと交換され得る。ＤＳＤは、５１４で、通常動作を再開し得る。
【００３３】
ＮＶＳＳＭが、５１０で、適切に動作していない場合、方法５００は、５１６で、所与のＬＢＡについてのホストデバイスからの読み出し要求を受信することを含み得る。いくつかの実施形態では、所与のＬＢＡについてのデータは、ＮＶＳＳＭに直接格納されている可能性があり、データの鏡映を作られたバックアップは、いくつかの時点でディスクに格納されている可能性がある。ＬＢＡがＮＶＳＳＭを指し示す場合、ＮＶマッピングテーブルは、所与のＬＢＡについてのデータの有効な現在のコピーがディスクに格納されているかどうかを示し得る。所与のＬＢＡについての読み出し要求が受信されるならば、ＤＳＤは、それが適切に動作している場合にＮＶＳＳＭからデータを検索することができ得、あるいは、それがデータの現在のコピーを含有する場合にディスクからデータを検索することができ得る。
【００３４】
５１６で、ＮＶＳＳＭに割り当てられた所与のＬＢＡについての読み出し要求を受信した後、方法５００は、ＮＶＳＳＭは適切に動作していないと決定されているので、５１８で、ＬＢＡについてのデータの有効コピーがディスク上に格納されるかどうかを決定することを含み得る。所与のＬＢＡについての現在の有効データがディスク上に格納されない場合、方法５００は、５２０で、訂正不可能なデータ誤りで読み出し要求に応答することを含み得る。いくつかの実施形態では、これは、完全なデータ損失の代わりに古いバージョンのデータの回復を可能にし得るので、そのようなデータがディスク上に格納される場合、ユーザは、ＬＢＡについての非現在のデータを検索する選択肢を与えられ得る。
【００３５】
５１８で、所与のＬＢＡについての有効データが、バックアップマッピングテーブルに従ってディスク上に格納される場合、方法５００は、５２２で、ディスク上に格納されたＬＢＡについてのデータで読み出し要求に応答することを含み得る。
【００３６】
さまざまな実施形態によれば、本明細書に記載された方法は、コンピュータプロセッサまたはコントローラ上で動く１つ以上のソフトウェアプログラムとして実装され得る。別の実施形態によれば、本明細書に記載された方法は、ディスクドライブを使用しているパーソナルコンピュータなどのコンピューティングデバイス上で動く１つ以上のソフトウェアプログラムとして実装され得る。限定されるものではないが、特定用途向け集積回路、プログラム可能な論理アレイ、および他のハードウェアデバイスを含む専用ハードウェアの実装は、本明細書に記載された方法を実装するように同様に構築され得る。更に、本明細書に記載された方法は、実行されるときにプロセッサに方法を行わせる命令を含むコンピュータで読み出し可能な媒体として実装され得る。
【００３７】
本明細書に記載された実施形態の実例は、さまざまな実施形態の構造の一般的な理解を与えることを意図される。実例は、本明細書に記載された構造もしくは方法を利用する装置およびシステムの要素や特徴の全ての完全な記載として供されることを意図されない。多くの他の実施形態は、開示を検討すれば、当業者に明らかであろう。他の実施形態は、構造的および論理的置換や変更が開示の範囲から逸脱することなくなされ得るように、利用され得、開示から導かれ得る。その上、特定の実施形態が本明細書に例示され記載されたが、同じまたは類似目的を達成するように設計された任意の後続の配置が、示された特定の実施形態に置換され得ることが理解されるべきである。
【００３８】
この開示は、さまざまな実施形態の任意のおよび全ての後続の適応または変形を包含することが意図される。上記実施形態の組み合わせ、および本明細書に特に記載されていない他の実施形態は、説明を再検討すれば、当業者に明らかになるであろう。更に、実例は、単に代表するものであり、縮尺に合わせて描かれていない可能性がある。実例の範囲内の一定部分は、誇張され得る一方で、他の部分は縮小され得る。したがって、開示および図面は、限定的なものではなくて、例示的なものであるとして、みなされるべきである。
【図１】
2014182818.tif 000003
【図２】
2014182818.tif 000004
【図３】
2014182818.tif 000005
【図４】
2014182818.tif 000006
【図５】
2014182818.tif 000007
【手続補正書】
【提出日】平成26年7月29日(2014.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のデータ格納媒体と、
第２のデータ格納媒体と、
コントローラであって、
前記第１のデータ格納媒体についてのファイルシステム情報のコピーをバックアップとして前記第２のデータ格納媒体に格納するように構成された、コントローラとを備える、デバイス。
【請求項２】
揮発性の固体メモリを含む第３のデータ格納媒体と、
前記コントローラであって、
前記第１のデータ格納媒体内の前記ファイルシステム情報が使用されるべきであるかどうかを決定するように、および
前記第１のデータ格納媒体内の前記ファイルシステム情報が使用されるべきではないとき、前記ファイルシステム情報の前記コピーを前記第２のデータ格納媒体から前記第３のデータ格納媒体にロードするように、更に構成された、前記コントローラとを更に備える、請求項１に記載のデバイス。 
【請求項３】
前記コントローラであって、
前記第１のデータ格納媒体内の前記ファイルシステム情報が使用されるべきではないとき、
前記第１のデータ格納媒体が適切に動作しているかどうかを決定するように、および
前記第１のデータ格納媒体が適切に動作しているとき、
前記第１のデータ格納媒体内の前記ファイルシステム情報を前記第２のデータ格納媒体からの前記ファイルシステム情報の前記コピーと交換するように、更に構成された、前記コントローラを更に備える、請求項２に記載のデバイス。
【請求項４】
前記コントローラであって、
前記第１のデータ格納媒体に割り当てられた特定の論理ブロックアドレス（ＬＢＡ）からデータをロードするために読み出し要求を受信するように、
前記第１のデータ格納媒体が適切に動作していないとき、
前記ファイルシステム情報の前記コピーに基づいて、前記特定のＬＢＡについての有効データが、前記第２のデータ格納媒体上に格納されるかどうかを決定するように、
前記特定のＬＢＡについての有効データが前記第２のデータ格納媒体上に格納されるとき、前記第２のデータ格納媒体からのデータで前記読み出し要求に応答するように、および
前記特定のＬＢＡについての有効データが前記第２のデータ格納媒体上に格納されないとき、訂正不可能なデータ誤りで前記読み出し要求に応答するように、更に構成された、前記コントローラを更に備える、請求項３に記載のデバイス。
【請求項５】
前記ファイルシステム情報が、どのデータが前記第１のデータ格納媒体または前記第２のデータ格納媒体内に格納されるか、また、前記データが現在の有効データであるかどうかについての情報を含むマッピングテーブルを含むことを更に備える、請求項１に記載のデバイス。 
【請求項６】
前記ファイルシステム情報が、前記マッピングテーブルへの変更を追跡するためのジャーナルシステムを含むことと、
キャッシュメモリと、
前記コントローラであって、
前記マッピングテーブルを前記第１のデータ格納媒体から前記キャッシュメモリにロードするように、
前記キャッシュメモリ内に前記ジャーナルシステムを維持するように、ならびに
前記ジャーナルシステムからの前記変更で前記第１のデータ格納媒体内の前記マッピングテーブルを更新するように、および前記マッピングテーブルのコピーを前記第２のデータ格納媒体に格納するように、更に構成された、前記コントローラと、を更に備える、請求項５に記載のデバイス。
【請求項７】
前記コントローラであって、
電源切断が検出されるときに、前記ジャーナルシステムを前記キャッシュメモリから前記第２のデータ格納媒体にコピーするように更に構成された、前記コントローラを更に備える、請求項６に記載のデバイス。
【請求項８】
前記第１のデータ格納媒体は、不揮発性の固体メモリを含むことを更に備える、請求項１〜７のいずれか１項に記載のデバイス。
【請求項９】
前記第２のデータ格納媒体は、ディスクメモリを含むことを更に備える、請求項１〜８のいずれか１項に記載のデバイス。
【請求項１０】
コンピュータ処理であって、
ファイルシステム情報を第１の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリについてのファイルシステム情報のコピーをバックアップとして第２の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有するとき、前記ファイルシステム情報を前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記ファイルシステム情報の前記コピーを前記第２の不揮発性のメモリから前記キャッシュにロードすることとを含む、コンピュータ処理をコンピューティングシステム上で実行するためのコンピュータプログラムを符号化するコンピュータで読み出し可能な格納媒体。 
【請求項１１】
前記処理は、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記第１の不揮発性のメモリが適切に動作しているかどうかを決定することと、
前記第１の不揮発性のメモリが適切に動作しているとき、前記第１の不揮発性のメモリ内の前記ファイルシステム情報を前記第２の不揮発性のメモリからの前記ファイルシステム情報の前記コピーと交換することとを更に含む、請求項１０に記載のコンピュータで読み出し可能な格納媒体。
【請求項１２】
前記処理は、
前記第１の不揮発性のメモリに割り当てられた特定の論理ブロックアドレス（ＬＢＡ）からデータをロードするために読み出し要求を受信することと、
前記第１の不揮発性のメモリが適切に動作していないとき、
前記ファイルシステム情報の前記コピーに基づいて、前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるかどうかを決定することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるとき、前記第２の不揮発性のメモリからのデータで前記読み出し要求に応答することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されないとき、訂正不可能なデータ誤りで前記読み出し要求に応答することとを更に含む、請求項１１に記載のコンピュータで読み出し可能な格納媒体。
【請求項１３】
前記処理は、前記ファイルシステム情報が、
どのデータが前記第１の不揮発性のメモリまたは前記第２の不揮発性のメモリ内に格納されるか、また、前記データが現在の有効データであるかどうかについての情報を含むマッピングテーブルと、
前記マッピングテーブルへの変更を追跡するためのジャーナルシステムとを更に含む、請求項１０に記載のコンピュータで読み出し可能な格納媒体。
【請求項１４】
前記処理は、
前記マッピングテーブルを前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記キャッシュメモリ内に前記ジャーナルシステムを維持することと、
前記ジャーナルシステムからの前記変更で、前記第１の不揮発性のメモリ内の前記マッピングテーブルを更新することと、
前記マッピングテーブルのコピーを前記第２の不揮発性のメモリに格納することを更に含む、請求項１３に記載のコンピュータで読み出し可能な格納媒体。
【請求項１５】
前記処理は、
電源切断が検出されるとき、前記ジャーナルシステムを前記キャッシュメモリから前記第２の不揮発性のメモリにコピーすることを更に含む、請求項１４に記載のコンピュータで読み出し可能な格納媒体。
【請求項１６】
ファイルシステム情報を第１の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリについてのファイルシステム情報のコピーをバックアップとして第２の不揮発性のメモリに格納することと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有するとき、前記ファイルシステム情報を前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記ファイルシステム情報の前記コピーを前記第２の不揮発性のメモリから前記キャッシュにロードすることとを含む、方法。
【請求項１７】
前記第１の不揮発性のメモリ内の前記ファイルシステム情報が有効データを含有しないとき、前記第１の不揮発性のメモリが適切に動作しているかどうかを決定することと、
前記第１の不揮発性のメモリが適切に動作していることを決定されるとき、前記第２の不揮発性のメモリからの前記ファイルシステム情報の前記コピーと前記第１の不揮発性のメモリ内の前記ファイルシステム情報を交換することとを更に含む、請求項１６に記載の方法。
【請求項１８】
前記第１の不揮発性のメモリに割り当てられた特定の論理ブロックアドレス（ＬＢＡ）からデータをロードするために読み出し要求を受信することと、
前記第１の不揮発性のメモリが適切に動作していないとき、
前記ファイルシステム情報の前記コピーに基づいて、前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるかどうかを決定することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されるとき、前記第２の不揮発性のメモリからのデータで前記読み出し要求に応答することと、
前記特定のＬＢＡについての有効データが前記第２の不揮発性のメモリ上に格納されないとき、訂正不可能なデータ誤りで前記読み出し要求に応答することとを更に含む、請求項１７に記載の方法。
【請求項１９】
前記ファイルシステム情報のマッピングテーブルを前記第１の不揮発性のメモリからキャッシュメモリにロードすることと、
前記キャッシュメモリ内の前記ファイルシステム情報のジャーナルシステムであって、前記マッピングテーブルへの変更を追跡するために使用されるジャーナルシステムを維持することと、
前記ジャーナルシステムからの前記変更で前記第１の不揮発性のメモリ内の前記マッピングテーブルを更新することと、
前記マッピングテーブルのコピーを前記第２の不揮発性のメモリに格納することとを更に含む、請求項１８に記載の方法。
【請求項２０】
電源切断が検出されるとき、前記ジャーナルシステムを前記キャッシュメモリから前記第２の不揮発性のメモリにコピーすることを更に含む、請求項１９に記載の方法。