(57)【特許請求の範囲】
【請求項１】
非揮発性メモリの連続した物理ブロックアドレスが順次に割り当てられる、非揮発性メモリがキャッシュとして使用される保存装置であって、
論理ブロックアドレスと物理ブロックアドレスとの対応関係を表す非揮発性メモリのマッピング情報、及び前記マッピング情報が保存された時点で割り当てられた第１物理ブロックアドレスを前記非揮発性メモリに保存するマッピング情報保存モジュールと、
前記第１物理ブロックアドレスから現在割り当てられた第２物理ブロックアドレスまでスキャンを行うスキャンモジュールと、
前記スキャン結果にしたがって前記第１物理ブロックアドレスと前記第２物理ブロックアドレスとの間の物理ブロックアドレスに関するマッピング情報を復旧するマッピング情報復旧モジュールと、を含むことを特徴とする保存装置。
【請求項２】
前記非揮発性メモリは、前記マッピング情報、及び前記第１物理ブロックアドレスが保存されるマッピング情報保存領域を含むことを特徴とする請求項１に記載の保存装置。
【請求項３】
前記マッピング情報保存モジュールは、前記第１物理ブロックアドレスの以後に所定の個数の物理ブロックアドレスが割り当てられる毎に前記マッピング情報を保存することを特徴とする請求項２に記載の保存装置。
【請求項４】
前記マッピング情報は、前記非揮発性メモリ全体のマッピング情報である第１マッピング情報と、
更新されたアドレスのマッピング情報である第２マッピング情報と、を含むことを特徴とする請求項２に記載の保存装置。
【請求項５】
前記第１マッピング情報は、論理ブロックアドレスフィールド、物理ブロックアドレスフィールド、及び所定のアドレスの更新可否を示す更新フィールドを含むことを特徴とする請求項４に記載の保存装置。
【請求項６】
前記マッピング情報保存モジュールは、前記第１マッピング情報を前記マッピング情報保存領域に保存し、
前記更新フィールドのフィールド値に基づいて前記第２マッピング情報を前記マッピング情報保存領域にさらに保存することを特徴とする請求項５に記載の保存装置。
【請求項７】
前記マッピング情報保存モジュールは、前記マッピング情報保存領域で保存空間がない場合、前記マッピング情報保存領域を削除してから前記第１マッピング情報を保存することを特徴とする請求項６に記載の保存装置。
【請求項８】
前記スキャンモジュールは、割り当てられた所定の物理ブロックアドレスの次に位置した物理ブロックアドレスに保存される検出データを通じて前記第２物理ブロックアドレスを判断し、
前記第１物理ブロックアドレスから前記判断された第２物理ブロックアドレスまでスキャンを行うことを特徴とする請求項１に記載の保存装置。
【請求項９】
前記マッピング情報復旧モジュールは、前記スキャンが行われた物理ブロックアドレス、及び前記スキャンが行われた物理ブロックアドレスに対応する論理ブロックアドレスを通じてマッピング情報を復旧することを特徴とする請求項８に記載の保存装置。
【請求項１０】
所定の物理ブロックアドレスに対応する論理ブロックアドレスを該物理ブロックアドレスに保存するキャッシュ管理モジュールをさらに含むことを特徴とする請求項９に記載の保存装置。
【請求項１１】
非揮発性メモリの連続した物理ブロックアドレスが順次に割り当てられる、非揮発性メモリがキャッシュとして使用される保存装置、におけるマッピング情報復旧方法であって、
論理ブロックアドレスと物理ブロックアドレスとの対応関係を表す非揮発性メモリのマッピング情報、及び前記マッピング情報が保存された時点で割り当てられた第１物理ブロックアドレスを前記非揮発性メモリに保存する段階と、
前記第１物理ブロックアドレスから現在割り当てられた第２物理ブロックアドレスまでスキャンを行う段階と、
前記スキャン結果にしたがって前記第１物理ブロックアドレスと前記第２物理ブロックアドレスとの間の物理ブロックアドレスに関するマッピング情報を復旧する段階と、を含むことを特徴とするマッピング情報復旧方法。
【請求項１２】
前記非揮発性メモリは、前記マッピング情報、及び前記第１物理ブロックアドレスが保存されるマッピング情報保存領域を含むことを特徴とする請求項１１に記載のマッピング情報復旧方法。
【請求項１３】
前記マッピング情報を保存する段階は、前記第１物理ブロックアドレスの以後に所定の個数の物理ブロックアドレスが割り当てられる毎に前記マッピング情報を保存する段階を含むことを特徴とする請求項１２に記載のマッピング情報復旧方法。
【請求項１４】
前記マッピング情報は、前記非揮発性メモリ全体のマッピング情報である第１マッピング情報と、
更新されたアドレスのマッピング情報である第２マッピング情報と、を含むことを特徴とする請求項１２に記載のマッピング情報復旧方法。
【請求項１５】
前記第１マッピング情報は、論理ブロックアドレスフィールド、物理ブロックアドレスフィールド、及び所定のアドレスの更新可否を示す更新フィールドを含むことを特徴とする請求項１４に記載のマッピング情報復旧方法。
【請求項１６】
前記マッピング情報を保存する段階は、前記第１マッピング情報を前記マッピング情報保存領域に保存する段階と、
前記更新フィールドのフィールド値に基づいて前記第２マッピング情報を前記マッピング情報保存領域にさらに保存する段階と、を含むことを特徴とする請求項１５に記載のマッピング情報復旧方法。
【請求項１７】
前記マッピング情報を保存する段階は、前記マッピング情報保存領域に保存空間がない場合、前記マッピング情報保存領域を削除してから前記第１マッピング情報を保存する段階を含むことを特徴とする請求項１６に記載のマッピング情報復旧方法。
【請求項１８】
前記スキャンを行う段階は、割り当てられた所定の物理ブロックアドレスの次に位置した物理ブロックアドレスに保存される検出データを通じて前記第２物理ブロックアドレスを判断する段階と、
前記第１物理ブロックアドレスから前記判断された第２物理ブロックアドレスまでスキャンを行う段階と、を含むことを特徴とする請求項１１に記載のマッピング情報復旧方法。
【請求項１９】
前記マッピング情報を復旧する段階は、前記スキャンが行われた物理ブロックアドレス及び前記スキャンが行われた物理ブロックアドレスに対応する論理ブロックアドレスを通じてマッピング情報を復旧する段階を含むことを特徴とする請求項１８に記載のマッピング情報復旧方法。
【請求項２０】
所定の物理ブロックアドレスに対応する論理ブロックアドレスを該物理ブロックアドレスに保存する段階をさらに含むことを特徴とする請求項１９に記載のマッピング情報復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法に関するものであって、より詳しくはマッピング情報を安全に復旧することができる非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法に関する。
【背景技術】
【０００２】
一般的に、家電機器、通信機器、セットトップボックスなどの内蔵型システム（Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍ）では、データを保存して処理するための保存媒体として非揮発性メモリが多く使われている。
【０００３】
非揮発性メモリのうち主に使われるフラッシュメモリは、電気的にデータを消去したり、再記録することができる非揮発性記憶素子であって、磁気ディスクメモリを基盤とする保存媒体に比べて電力消耗が少ないながらもハードディスクのような速いアクセスタイム（Ａｃｃｅｓｓ  Ｔｉｍｅ）を有し、小サイズであるため携帯機器などに適合する。
【０００４】
最近には非揮発性メモリをハードディスクドライブなどの保存媒体に対するキャッシュとして使ってハードディスクドライブの電力消耗を減少させ、非揮発性メモリがキャッシュとして使われるシステムの起動時間を減少させている。キャッシュとして使われる非揮発性メモリは、ホストがハードディスクドライブにデータを保存しようとするとき、まず非揮発性メモリにデータが保存され、非揮発性メモリにそれ以上の保存空間がないとき、データをハードディスクドライブに移動させるようになる。これにより、非揮発性メモリでデータを読み書きするときには、ハードディスクドライブの電源を遮断できるため電力消耗を減少させることができるようになる。
【０００５】
このように非揮発性メモリをキャッシュとして使う保存装置は、ホストが論理ブロックアドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）を通じて非揮発性メモリの物理ブロックアドレス（Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）に接近できるように論理ブロックアドレスを物理ブロックアドレスに変換するマッピング情報が必要になる。
【０００６】
一般的にマッピング情報は、ハードディスクドライブ動作時には揮発性メモリに保存されるが、ハードディスクドライブの電源がオフになる場合には非揮発性メモリに保存されてからハードディスクドライブに再び電源が供給されるとき、揮発性メモリに再ロードされてホストがマッピング情報を通じて所定のデータに接近できるようにする。
【０００７】
このとき、非揮発性メモリがキャッシュとして使用される保存装置は、その特性上、予測できない突然の電源遮断が生じ得る。このような場合、揮発性メモリに保存されたマッピング情報が非揮発性メモリに保存できないためマッピング情報を復旧する過程が必要になる。
【０００８】
一般的にマッピング情報を復旧する方法としては、主に非揮発性メモリ全体をスキャンする方法、及び周期的にマッピング情報を非揮発性メモリに保存する方法などが用いられている。
【０００９】
まず、非揮発性メモリ全体をスキャンする方法は、図１のように非揮発性メモリ全体をスキャニングして最後に割り当てられた物理ブロックアドレスの、その次の物理ブロックアドレスに保存される検出データを探すようになる。このとき、有効なデータ及び有効ではないデータを区分し、図２のようなマッピング情報を復旧するようになる。
【００１０】
このとき、非揮発性メモリ全体をスキャンする方法は、最悪の場合、検出データを探すための全体スキャン、及びマッピング情報復旧のための全体スキャンのように２回の全体スキャンを経るようになる。これにより、スキャンにかかる時間の増加により非揮発性メモリを使うシステム起動時にかかる時間が遅延されるという問題点がある。
【００１１】
一方、周期的にマッピング情報を非揮発性メモリに保存する方法は、前述のような非揮発性メモリの全体スキャンを避けるために周期的にマッピング情報を非揮発性メモリに保存するようになる。
【００１２】
したがって、非揮発性メモリがキャッシュとして使用される保存装置の、次の起動時には非揮発性メモリに保存されたマッピング情報を通じてホストが非揮発性メモリのデータに接近できるようになる。
【００１３】
しかし、周期的にマッピング情報を保存する方法は、不要にマッピング情報を非常に頻繁に保存するという問題点がある。言い換えれば、マッピング情報の保存は、非揮発性メモリがキャッシュとして使用される保存装置の電源がオフになるときにのみ使われるものではなく、動作中にも行われるため非揮発性メモリがキャッシュとして使用される保存装置の性能低下の主な原因として作用するという問題点がある。
【００１４】
特許文献１は、コンピュータの起動時やリセット時にユーザが意図的にキャッシュ記憶装置にデータを満たすようにして、最初のラインフェッチ（Ｌｉｎｅ  Ｆｅｔｃｈ）時間を減少させることができるキャッシュ記憶装置を開示しているが、これはコンピュータの起動時やリセット時にキャッシュ記憶装置において主記憶装置からデータをラインフェッチにより持ってくるとき、時間がかかりすぎ、ラインフェッチする開始アドレスが任意であるため最悪の場合、ラインフェッチを複数回行わなければならないという問題点を解決するためのものであって、予想できない突然の電源遮断時に速かにマッピング情報を復旧し、マッピング情報復旧のために必要な保存空間を最小化できる方案は提案されていない。
【特許文献１】韓国公開特許第１９９８−００６３０１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は、予想できない突然の電源遮断時にマッピング情報復旧のために保存するマッピング情報を最小化し、速やかなマッピング情報復旧を可能にする非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法を提供するのにその目的がある。
【００１６】
本発明は、前述の目的に制限されず、言及されていないさらなる目的は、下記記載により当業者に明確に理解できる。
【課題を解決するための手段】
【００１７】
前記目的を果たすために、本発明の実施例による非揮発性メモリがキャッシュとして使用される保存装置は、非揮発性メモリのマッピング情報、及び前記マッピング情報が保存された時点で割り当てられた第１物理ブロックアドレスを前記非揮発性メモリに保存するマッピング情報保存モジュール、前記第１物理ブロックアドレスから現在割り当てられた第２物理ブロックアドレスまでスキャンを行うスキャンモジュール、及び前記スキャン結果にしたがって前記第１物理ブロックアドレス及び前記第２物理ブロックアドレスの間のマッピング情報を復旧するマッピング情報復旧モジュールを含む。
【００１８】
また、前記の目的を果たすために、本発明の実施例による非揮発性メモリがキャッシュとして使用される保存装置のためのマッピング情報復旧方法は、非揮発性メモリのマッピング情報、及び前記マッピング情報が保存された時点で割り当てられた第１物理ブロックアドレスを前記非揮発性メモリに保存する段階と、前記第１物理ブロックアドレスから現在割り当てられた第２物理ブロックアドレスまでスキャンを行う段階と、前記スキャン結果にしたがって前記第１物理ブロックアドレス及び前記第２物理ブロックアドレス間のマッピング情報を復旧する段階と、を含む。
【００１９】
その他実施例の具体的な事項は、詳細な説明及び図面に含まれている。
【発明の効果】
【００２０】
前記のような本発明の非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法によれば、マッピング情報を保存する回数を減少させて、非揮発性メモリをキャッシュとして使う保存装置の寿命短縮及び性能低下を防止し、予測できない突然の電源遮断後、再び電源が供給されたとき、速やかなマッピング情報の復旧が可能であるという効果がある。
【発明を実施するための最良の形態】
【００２１】
本発明の利点及び特徴、そして、それらを果たす方法は、添付される図面とともに詳しく後述されている実施例を参照すれば明確になる。しかし、本発明は以下に開示される実施例に限定されるものではなく、相異なる多様な形態で具現でき、単に本実施例は本発明の開示を完全にし、本発明の属する技術分野における通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求項の範疇により定義されるだけである。明細書全般にわたって同じ参照符号は同じ構成要素を指称する。
【００２２】
以下、本発明の実施例によって非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法を説明するためのブロック図または処理フローチャートに関する図面を参照して本発明を説明する。このとき、処理フローチャート図面の各ブロックとフローチャート図面の組み合せは、コンピュータプログラムインストラクションにより行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特需用コンピュータまたはその他プログラム可能なデータプロセシング装備のプロセッサに搭載できるので、コンピュータまたはその他プログラム可能なデータプロセシング装備のプロセッサを通じて行われるそのインストラクションがフローチャートブロック（ら）で説明された機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定の方式で機能を具現するために、コンピュータまたはその他プログラム可能なデータプロセシング装備を指向することができるコンピュータ利用可能またはコンピュータ読み取り可能メモリに保存されることも可能であるので、そのコンピュータ利用可能またはコンピュータ読み取り可能メモリに保存されたインストラクションは、フローチャートブロック（ら）で説明された機能を行うインストラクション手段を含む製造品目を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他プログラム可能なデータプロセシング装備上に搭載されることも可能であるので、コンピュータまたはその他プログラム可能なデータプロセシング装備上で一連の動作段階が行われてコンピュータで実行されるプロセスを生成して、コンピュータまたはその他プログラム可能なデータプロセシング装備を行うインストラクションは、フローチャートブロック（ら）で説明された機能を実行するための段階を提供することも可能である。
【００２３】
また、各ブロックは、特定された論理的機能（ら）を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を表すことができる。また、数個の取り替え実行例では、ブロックで言及された機能が順序を脱して生じ得ることも注目しなければならない。例えば、続いて示されている２つのブロックは、実際実質的に同時に行われることも可能であり、またはそのブロックが時々該当する機能にしたがって逆順に行われることも可能である。
【００２４】
図３は、本発明の実施例による非揮発性メモリがキャッシュとして使用される保存装置が示された図面である。
【００２５】
図示のように、本発明の実施例による非揮発性メモリがキャッシュとして使用される保存装置１００は、非揮発性メモリ１１０、マッピング情報保存モジュール１２０、スキャンモジュール１３０、マッピング情報復旧モジュール１４０、及びキャッシュ管理モジュール１５０を含むことができる。
【００２６】
一方、図３には示されていないが、本発明の非揮発性メモリがキャッシュとして使用される保存装置１００は、ハードディスクドライブなどのような大容量保存媒体を含むことができ、非揮発性メモリ１１０は、大容量保存媒体のキャッシュとして使われる。したがって、ホストが大容量保存媒体に所定のデータを書き込もうとする場合、データはまず非揮発性メモリ１１０に保存され、非揮発性メモリ１１０にそれ以上保存空間がない場合、大容量保存媒体にデータが移動できる。
【００２７】
このような非揮発性メモリ１１０は、図４のように、ホストが論理ブロックアドレスを通じて非揮発性メモリ１１０に保存されたデータに接近できるように論理ブロックアドレスを物理ブロックアドレスに変換してくれるマッピング情報が保存されるマッピング情報保存領域１１１、及びデータが保存されるデータ保存領域１１２を含むことができる。
【００２８】
このとき、マッピング情報は、本発明の非揮発性メモリがキャッシュとして使用される保存装置１００が動作中であるときは揮発性メモリに保存され、電源オフ時には非揮発性メモリ１１０に保存されて、本発明の非揮発性メモリがキャッシュとして使用される保存装置１００に再び電源が供給されると、非揮発性メモリ１１０に保存されたマッピング情報が揮発性メモリに再保存され、このマッピング情報に基づいて非揮発性メモリ１１０のデータ保存領域１１２に保存されたデータに接近可能になる。
【００２９】
マッピング情報保存モジュール１２０は、マッピング情報を所定の間隔に非揮発性メモリ１１０のマッピング情報保存領域１１１に保存し、マッピング情報が保存される時点で最後に割り当てられた物理ブロックアドレス（以下、第１物理ブロックアドレスという）をマッピング情報とともに保存することができる。これは、非揮発性メモリを使うシステムの特性上、予測できない突然の電源遮断が生じる場合、マッピング情報を復旧する過程が要求され、後述するマッピング情報復旧モジュール１４０は、マッピング情報保存モジュール１２０により非揮発性メモリ１１０のマッピング情報保存領域１１１に保存されたマッピング情報、及び第１物理ブロックアドレスを通じてマッピング情報の復旧を行うことができる。
【００３０】
図５は、本発明の実施例によるマッピング情報の構造が示された図面である。
【００３１】
図示のように、本発明の実施例によるマッピング情報は、論理ブロックアドレスフィールド２１０、物理ブロックアドレスフィールド２２０、及び更新フィールド２３０を含むことができる。論理ブロックアドレスフィールド２１０、及び物理ブロックアドレスフィールド２２０は、所定の論理ブロックアドレスに対応する物理ブロックアドレスを示し、更新フィールド２３０は、所定の論理ブロックアドレスまたは物理ブロックアドレスに対応する物理ブロックアドレスまたは論理ブロックアドレスの更新可否を示す。
【００３２】
したがって、マッピング情報保存モジュール１２０は、初期には非揮発性メモリ１１０全体に対するマッピング情報を保存するが、その以後からは更新フィールド２３０に基づいて更新されたマッピング情報のみを非揮発性メモリ１１０のマッピング情報保存領域１１１に保存することができる。以下、本発明の実施例で非揮発性メモリ１１０全体に対するマッピング情報を第１マッピング情報と称し、更新されたマッピング情報を第２マッピング情報と称する。このとき、前述した図５のマッピング情報は第１マッピング情報として理解できる。
【００３３】
一方、マッピング情報保存モジュール１２０は、所定の個数の物理ブロックアドレスが割り当てられる毎にマッピング情報を保存することができ、マッピング情報保存領域１１１にそれ以上マッピング情報を保存する空間が残っていない場合にはマッピング情報保存領域１１１を削除してから第１マッピング情報を保存した後、第２マッピング情報を保存する過程を繰り返して行うことができる。また、第２マッピング情報を保存した後は、前述した図５の更新フィールド２３０を初期化するようになる。
【００３４】
このとき、マッピング情報保存モジュール１２０が所定の個数の物理ブロックアドレスが割り当てられる毎にマッピング情報を保存するのは、頻繁にマッピング情報を保存する場合にはそのデータ量が大きくなりすぎるため、本発明の非揮発性メモリがキャッシュとして使用される保存装置１００の起動時に許容可能な起動遅延時間内で後述するスキャンモジュール１３０がスキャンすることが可能な個数の物理ブロックアドレスごとにマッピング情報を保存することができる。これはスキャンモジュール１３０が物理ブロックアドレスをスキャンする時間がマッピング情報を復旧するのにかかる時間として理解できるためである。
【００３５】
スキャンモジュール１３０は、本発明の非揮発性メモリがキャッシュとして使用される保存装置１００で予測できない突然の電源遮断が生じた場合、マッピング情報保存モジュール１２０により非揮発性メモリ１１０のマッピング情報保存領域１１１に保存された第１物理ブロックアドレスから電源遮断が生じた時点で割り当てられた物理ブロックアドレス（以下、第２物理ブロックアドレスという）までのスキャンを行って第１物理ブロックアドレス、及び第２物理ブロックアドレスの間に位置した物理ブロックアドレスに対応する論理ブロックアドレスをスキャンするようになる。このとき、所定の物理ブロックアドレスが割り当てられた場合、その次に位置する物理ブロックアドレスにこれを検出するための検出データが保存されるため、スキャンモジュール１３０は本発明の非揮発性メモリがキャッシュとして使用される保存装置１００の電源遮断が生じた時点における第２物理ブロックアドレスを判断することができる。
【００３６】
また、スキャンモジュール１３０は、所定の物理ブロックアドレスが割り当てられるとき、当該物理ブロックアドレスの所定の領域（例えば、スペア（Ｓｐａｒｅ）領域）にマッピングされた論理ブロックアドレスを保存するため、所定の物理ブロックアドレスにマッピングされた論理ブロックアドレスをスキャンすることができる。
【００３７】
このとき、スキャンモジュール１３０がスキャンする第１物理ブロックアドレス、及び第２物理ブロックアドレスの間の物理ブロックアドレスの個数は、前述したマッピング情報保存モジュール１２０がマッピング情報を保存する間隔である、第１物理ブロックアドレスの以後に割り当てられた物理ブロックアドレスの個数として理解できる。例えば、マッピング情報保存モジュール１２０が、Ｎ個の物理ブロックアドレスが割り当てられる毎にマッピング情報を保存する場合、スキャンモジュール１３０がスキャンする最大物理ブロックアドレスはＮ個になり得る。このとき、Ｎ個の物理ブロックアドレスが割り当てられる前に本発明の非揮発性メモリがキャッシュとして使用される保存装置１００の電源遮断が生じた場合、スキャンする物理ブロックアドレスの個数はＮ個より少ないことがある。
【００３８】
マッピング情報復旧モジュール１４０は、スキャンモジュール１３０によりスキャンされた結果を通じて、第１物理ブロックアドレスが保存された時点から本発明の非揮発性メモリがキャッシュとして使用される保存装置１００の電源遮断が生じた時点の第２物理ブロックアドレスまでのマッピング情報を復旧することができる。
【００３９】
具体的に、マッピング情報復旧モジュール１４０は、スキャンモジュール１３０のスキャン結果、第１物理ブロックアドレス、及び第２物理ブロックアドレスの間に割り当てられた物理ブロックアドレスと、それによる論理ブロックアドレスを通じて本発明の非揮発性メモリがキャッシュとして使用される保存装置１００の電源遮断が生じた後、再び電源が供給されたとき、マッピング情報を復旧することができる。
【００４０】
このとき、マッピング情報復旧モジュール１４０は、第１物理ブロックアドレスから第２物理ブロックアドレスまでのマッピング情報だけを復旧すればよいので、既存の最後に割り当てられた物理ブロックアドレスを判断し、判断された物理ブロックアドレスから全体物理ブロックアドレスをスキャンしてマッピング情報を復旧する場合に比べて短時間内にマッピング情報を復旧できるようになる。
【００４１】
キャッシュ管理モジュール１５０は、揮発性メモリに保存されたデータを非揮発性メモリ１１０のデータ保存領域１１２に保存する役目を行うことができる。また、キャッシュ管理モジュール１５０は、非揮発性メモリ１１０の所定の物理ブロックアドレスにデータを保存する場合、それに対応する論理ブロックアドレスを該当する物理ブロックアドレスにともに保存することができる。これは次回にマッピング情報を復旧する場合、前述したスキャンモジュール１３０が物理ブロックアドレスをスキャンする過程において論理ブロックアドレスまで判断できるようにするためである。
【００４２】
図６は、本発明の実施例によるマッピング情報保存方法が示された図面である。このとき、図６のマッピング情報保存方法は、マッピング情報保存モジュール１２０が非揮発性メモリ１１０のマッピング情報保存領域１１１に非揮発性メモリ１１０全体マッピング情報である第１マッピング情報を保存した場合を例として説明する。また、第１マッピング情報とともに第１マッピング情報が保存された時点における第１物理ブロックアドレスもともに保存された場合を例として説明する。
【００４３】
図示のように、本発明の実施例によるマッピング情報保存方法は、まずマッピング情報保存モジュール１２０が現在時点で第１物理ブロックアドレスの以後に所定の個数の物理ブロックアドレスが割り当てられたかを判断する（Ｓ１１０）。このとき、マッピング情報保存モジュール１２０が判断する割り当てられた物理ブロックアドレスの個数はＮ個である場合を例として説明する。このとき、第１物理ブロックアドレスから割り当てられたＮ個の物理ブロックアドレスは、スキャンモジュール１３０がスキャンする物理ブロックアドレスの個数であり、これは本発明の非揮発性メモリがキャッシュとして使われる装置１００起動時、遅延可能な時間内でスキャンできる最大個数の物理ブロック個数として理解できる。
【００４４】
判断結果、第１物理ブロックアドレスから割り当てられた物理ブロックアドレスの個数がＮ個以上である場合（Ｓ１２０）、マッピング情報保存モジュール１２０は、非揮発性メモリ１１０のマッピング情報保存領域１１１に保存空間が残っているか否かを判断する（Ｓ１３０）。
【００４５】
マッピング情報保存領域１１１に保存空間がある場合、マッピング情報保存モジュール１２０は、第１マッピング情報の更新フィールド２３０に基づいて更新されたマッピング情報である第２マッピング情報をマッピング情報保存領域１１１に保存する（Ｓ１４０）。
【００４６】
以後、マッピング情報保存モジュール１２０は、第２マッピング情報が保存された時点で最後に割り当てられた物理ブロックアドレスを第１物理ブロックアドレスに変更し（Ｓ１５０）、変更された第１物理ブロックアドレスをマッピング情報保存領域１１１に保存するようになる（Ｓ１６０）。
【００４７】
たとえ、前述したＳ１３０段階でマッピング情報保存領域１１１に保存空間が残っていない場合、マッピング情報保存モジュール１２０はマッピング情報保存領域１１１を削除し（S170）、非揮発性メモリ１１０の全体マッピング情報である第１マッピング情報をマッピング情報保存領域１１１に保存するようになる（S180）。このとき、Ｓ１７０段階で保存される第１マッピング情報は、更新が全部適用されたマッピング情報として理解できる。
【００４８】
以後、前述したＳ１５０及びＳ１６０段階のように、現在時点で最後に割り当てられた物理ブロックアドレスを第１物理ブロックアドレスに変更し、変更された第１物理ブロックアドレスをマッピング情報保存領域１１１に保存するようになる。
【００４９】
言い換えれば、本発明の実施例によるマッピング情報保存モジュール１２０は、図７のように、第１マッピング情報が保存された時点で最後に割り当てられた第１物理ブロックアドレスからＮ個の物理ブロックアドレスが割り当てられた場合、マッピング情報保存モジュール１２０は、更新された第２マッピング情報をマッピング情報保存領域１１１に、現在時点で割り当てられた物理ブロックアドレスを第１物理ブロックアドレスに変更して保存することができる。
【００５０】
図８は、本発明の実施例によるマッピング情報復旧方法が示された図面である。
図示のように、本発明の実施例によるマッピング情報復旧方法は、まずマッピング情報復旧モジュール１４０がマッピング情報保存領域１１１からマッピング情報、及び第１物理ブロックアドレスを判断する（Ｓ２１０）。このとき、判断されるマッピング情報は、第１マッピング情報、及び第２マッピング情報のうち少なくとも１つを含むことができる。
【００５１】
マッピング情報復旧モジュール１４０は所定の変数ｉを設定し、設定された変数ｉに１を入力する（Ｓ２２０）。以後、マッピング情報復旧モジュール１４０は、抽出された第１物理ブロックアドレス＋ｉに該当する物理ブロックアドレスをスキャンモジュール１３０を通じてスキャンし（Ｓ２３０）、スキャン結果、当該物理ブロックアドレスに検出データが保存されたかを判断する（Ｓ２４０）。
【００５２】
判断結果、当該物理ブロックアドレスに検出データが保存されていない場合、マッピング情報復旧モジュール１４０はマッピング情報を更新して（Ｓ２５０）、変数ｉに１を足すようになる（Ｓ２６０）。
【００５３】
以後、マッピング情報復旧モジュール１４０は第１物理ブロックアドレスからｉを１ずつ増加させながら検出データが存在する第２物理ブロックアドレスが出されるまでマッピング情報を更新する過程（Ｓ２３０ないしＳ２６０）を繰り返して行うことができる。
【００５４】
言い換えれば、本発明の実施例によるマッピング情報復旧モジュール１４０は、図９のように、非揮発性メモリ１１０のマッピング情報保存領域１１１から判断された第１物理ブロックアドレスから順次にスキャンモジュール１３０によりスキャンされた結果を通じてマッピング情報を更新することができ、検出データが保存された物理ブロックアドレスを判断して、その以前物理ブロックアドレスである第２物理ブロックアドレスまでのマッピング情報を更新してマッピング情報を復旧することができる。このとき、マッピング情報復旧モジュール１４０は、物理ブロックアドレスのスキャン時、判断される物理ブロックアドレス、及びそれに対応する論理ブロックアドレスを通じてマッピング情報を復旧することができる。
【００５５】
本発明の実施例で使われる用語のうち「モジュール」は、ソフトウェアまたはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）または注文型半導体（Ａｐｐｌｉｃａｔ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）のようなハードウェア構成要素を意味し、モジュールはいずれかの役目を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定される意味ではない。モジュールは、アドレシングできる保存媒体にあるように構成でき、もしくは１つまたはそれ以上のプロセッサを実行させるようにも構成できる。したがって、一例としてモジュールは、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素等とモジュールで提供される機能はさらに小さい数の構成要素及びモジュールで結合されたり、追加的な構成要素とモジュールにさらに分離できる。
【００５６】
以上のように、本発明による非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法を例示した図面を参照して説明したが、本明細書に開示された実施例と図面により本発明は限定されず、その発明の技術思想の範囲内で当業者により多様な変形が行われることは言うまでもない。
【図面の簡単な説明】
【００５７】
【図１】従来の技術による非揮発性メモリの全体スキャンを通じるマッピング情報復旧方法が示された図である。
【図２】図１のマッピング情報復旧方法によって復旧されたマッピング情報が示された図である。
【図３】本発明の実施例による非揮発性メモリがキャッシュとして使用される保存装置が示された図である。
【図４】本発明の実施例による非揮発性メモリが示された図である。
【図５】本発明の実施例によるマッピング情報が示された図である。
【図６】本発明の実施例によるマッピング情報を保存する方法が示された図である。
【図７】本発明の実施例によるマッピング情報を保存する間隔が示された図である。
【図８】本発明の実施例によるマッピング情報を復旧する方法が示された図である。
【図９】本発明の実施例によるマッピング情報を復旧する区間が示された図である。
【符号の説明】
【００５８】
１１０      非揮発性メモリ                
１２０      マッピング情報保存モジュール
１３０      スキャンモジュール            
１４０      マッピング情報復旧モジュール
１５０      キャッシュ管理モジュール
【図１】
0004597153.tif 000002
【図２】
0004597153.tif 000003
【図３】
0004597153.tif 000004
【図４】
0004597153.tif 000005
【図５】
0004597153.tif 000006
【図６】
0004597153.tif 000007
【図７】
0004597153.tif 000008
【図８】
0004597153.tif 000009
【図９】
0004597153.tif 000010