(57)【特許請求の範囲】
【請求項１】
主記録媒体と、
前記主記録媒体のキャッシュとして使われ、データが固定される固定領域及びデータの移動が頻繁に発生する非固定領域を含む不揮発性メモリと、
前記不揮発性メモリに割当てられるブロックを管理するブロック管理部と、を備える不揮発性メモリをキャッシュとして用いる保存装置であって、
前記ブロック管理部は、前記固定領域及び前記非固定領域にブロックを割当てるブロック割当部と、前記割当てられたブロックを回収するブロック回収部と、を備え、
前記ブロック割当部は、前記不揮発性メモリの領域を論理的な円形構造に変換し、前記円形構造で前記固定領域及び前記非固定領域を区分するための二地点を設定し、
前記二地点は、前記固定領域及び前記非固定領域におけるブロック割当開始地点と、ブロック割当終了地点とを含み、
前記ブロック割当部は、前記ブロック割当開始地点を基準に前記固定領域及び前記非固定領域にブロックを互いに逆方向に順次に割当て、
前記ブロック回収部は、前記固定領域のブロック回収時、前記固定領域におけるブロック割当開始地点を前記非固定領域側に所定ブロックほど移動させた後、前記固定領域内の活性データを、前記固定領域内において、移動したブロック割当開始地点から、順次に、移動させることを特徴とする不揮発性メモリをキャッシュとして用いる保存装置。
【請求項２】
前記ブロック回収部は、最後に割当てられたブロックの位置を示す終点を、ブロック回収時最後に移動した活性データの移動先のブロックの位置に変更することを特徴とする請求項１に記載の不揮発性メモリをキャッシュとして用いる保存装置。
【請求項３】
不揮発性メモリをキャッシュとして用いる保存装置の動作方法であって、
所定の主記録媒体のキャッシュとして使われる不揮発性メモリの領域を、データが固定される固定領域及びデータの移動が頻繁に発生する非固定領域に区分するステップと、
前記区分された固定領域及び前記非固定領域に割当てられるブロックを管理するステップと、を含み、
前記ブロックを管理するステップは、
前記固定領域及び前記非固定領域にブロックを割当てるステップと、
前記割当てられたブロックを回収するステップと、を含み、
前記ブロックを割当てるステップは、
前記不揮発性メモリの領域を論理的な円形構造に変換し、更に、前記円形構造で前記固定領域及び前記非固定領域を区分するために、前記固定領域及び前記非固定領域におけるブロック割当開始地点と、ブロック割当終了地点を含む二地点を設定するステップと、
ブロック割当開始地点を基準に前記固定領域及び前記非固定領域にブロックを互いに逆方向に順次に割当てるステップとを含み、
前記ブロックを回収するステップは、前記固定領域のブロック回収時、前記固定領域におけるブロック割当開始地点を前記非固定領域側に所定ブロックほど移動させた後、前記固定領域内の活性データを、前記固定領域内において、移動したブロック割当開始地点から、順次に、移動させるステップを含むことを特徴とする不揮発性メモリをキャッシュとして用いる保存装置の動作方法。
【請求項４】
前記ブロックを割当てるステップは、前記固定領域及び前記非固定領域で最後に割当てられたブロックの位置を示す終点を設定するステップを含む請求項３に記載の不揮発性メモリをキャッシュとして用いる保存装置の動作方法。
【請求項５】
前記ブロックを回収するステップは、最後に割当てられたブロックの位置を示す終点を前記ブロック回収時最後に移動したブロックの移動先の位置に変更するステップを含む請求項３に記載の不揮発性メモリをキャッシュとして用いる保存装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法に係り、より詳細には、電源が遮断された場合にもデータが残っている不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法に関する。
【背景技術】
【０００２】
一般的な保存装置１０は、図１のように、ホスト１１、データバッファ（キャッシュ）１２及び主記録媒体１３を含みうる。ホスト１１は、ユーザの命令によって主記録媒体１３とデータを送受信する役割を行い、一般的にホスト１１と主記録媒体１３との間の速度差を緩衝させ、保存装置１０のアクセス効率を高めるために主記録媒体１３より小さくて、速いメモリをデータバッファ１２として使用する。データを書き込む時は、速度の遅い主記録媒体１３に直接記録するものではなく、速いデータバッファ１２に記録することによって記録速度を向上させ、主記録媒体１３の一部データをデータバッファ１２にあらかじめ移動させて置くことによって読み取り速度を向上させうる。
【０００３】
言い換えれば、ホスト１１から伝送されたデータは、主記録媒体１３に記録されるまでデータバッファ１２に保存され、主記録媒体１３から伝送されたデータはホスト１１に伝送されるまでデータバッファ１２に保存されるものである。このような保存装置１０でデータバッファ１２は、一般的に揮発性メモリで構成されているために、保存装置１０に供給される電源が遮断される場合、データバッファ１２に存在するデータはいずれも消去される。アクセス効率を高めるためにデータバッファを大きくする場合、電源遮断によって発生可能な損失データの量も増え、損失を減らすために主記録媒体１３に常に電源を供給せねばならないために消費電力の量を減少させるのに限界があるという問題点がある。
【０００４】
したがって、最近には保存装置１０に不揮発性メモリをキャッシュとして使用してホスト１１が不揮発性メモリに保存されたデータを読取り／書込みする時は、主記録媒体１３の電源を遮断して消費電力が減少可能にしている。
【０００５】
しかし、不揮発性メモリを保存装置１０のキャッシュとして使用する場合、データの固定如何、すなわち、所定データが不揮発性メモリに常に固定される固定領域と頻繁に変更される非固定領域についてのデータを効果的に管理し、突然の電源遮断からデータを安全に保護するための方案が要求されている。また、主記録媒体１３への電源の供給時間を最小化させるためのブロック回収方案及び不揮発性メモリで各物理ブロックに対する使用頻度を考慮して不揮発性メモリの寿命を延長させうる方案などが要求されている。
【０００６】
特許文献１は、アドレス指定可能なフラッシュメモリシステムにおいて、ブロックで組み合わせられた前記フラッシュメモリ指定位置を円形シーケンス（物理セクターアドレスの最下位と最上位の２ヶ所で記録と削除とが起こる）によって周期的にブロック指定削除を行うことによって、フラッシュメモリのＷｅａｒ  ｌｅｖｅｌｓの一貫性を保持しうるシステムを開始しているが、固定領域及び非固定領域についてのデータを効果的に管理し、突然の電源遮断によるデータ保護し、ブロック回収及び使用頻度調節を通じた寿命延長についての方案は提案されていない。
【特許文献１】日本特許公開第２００３−２５６２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、保存装置のキャッシュとして使われる不揮発性メモリに保存されるデータをデータの固定如何によって分離して管理し、突然の電源遮断時にデータを安全に復旧しうる不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法を提供するところにその目的がある。
【０００８】
また、本発明は、不揮発性メモリをキャッシュとして用いる保存装置で不揮発性メモリのブロック割当及び回収方法と、使用頻度を考慮して不揮発性メモリの寿命を延長させる不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法を提供するところにその目的がある。
【０００９】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【００１０】
前記目的を達成するために本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置は、主記録媒体、前記主記録媒体のキャッシュとして使われ、データの固定如何によって固定領域及び非固定領域を含む不揮発性メモリ、及び前記不揮発性メモリに割当てられるブロックを管理するブロック管理部を含む。
【００１１】
また、前記目的を達成するために本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置の動作方法は、所定の主記録媒体のキャッシュとして使われる不揮発性メモリの領域をデータの固定如何によって固定領域及び非固定領域に区分するステップと、前記区分された固定領域及び前記非固定領域に割当てられるブロックを管理するステップと、を含む。
【発明の効果】
【００１２】
本発明の不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法によれば次のような効果が１つあるいはそれ以上ある。
【００１３】
不揮発性メモリに保存されるデータを固定領域及び非固定領域に分離して管理するためにキャッシュとして使われる不揮発性メモリを効率的に管理しうる。
【００１４】
また、固定領域及び非固定領域に対するブロック回収及び使用頻度を考慮して不揮発性メモリの寿命を延ばし得る。
【００１５】
本発明の効果は、以上で言及した効果に制限されず、言及されていないさらに他の効果は特許請求の記載から当業者に明確に理解されうる。
【発明を実施するための最良の形態】
【００１６】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
【００１７】
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
【００１８】
以下、本発明の実施形態によって不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法を説明するためのブロック図またはフローチャートについての図面を参考にして本発明について説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラム可能データプロセッシング装備のプロセッサに搭載されうるので、コンピュータまたはその他のプログラム可能データプロセッシング装備のプロセッサによって実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラム可能データプロセッシング装備に備えられるコンピュータによって利用可能または判読可能なメモリに保存されることも可能なので、そのコンピュータによって利用可能または判読可能なメモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラム可能データプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラム可能データプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
【００１９】
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
【００２０】
図２は、本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置が示された図面である。
【００２１】
示されたように、本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置１００は、主記録媒体１１０、不揮発性メモリ１２０、ブロック管理部１３０、アドレス変換テーブル保存部１４０及び活性データリスト保存部１５０を含みうる。
【００２２】
主記録媒体１１０は、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）のように大容量の記録媒体を意味し、不揮発性メモリ１２０は、主記録媒体１１０のキャッシュとして使われるフラッシュメモリなどを意味する。
【００２３】
本発明の実施形態で不揮発性メモリ１２０は、フラッシュメモリが使われた場合を例として説明し、データが不揮発性メモリ１２０に固定される固定領域とデータの移動が頻繁に発生する非固定領域とに分けられた場合を例として説明する。この際、不揮発性メモリ１２０で固定領域と非固定領域とのサイズは用途及び必要に応じて変更されうる。
【００２４】
ブロック管理部１３０は、ブロック割当部１３１、ブロック回収部１３２、使用頻度調節部１３３及び停電復旧部１３４を含みうる。
【００２５】
ブロック割当部１３１は、固定領域及び非固定領域にブロックを割当てて、不揮発性メモリ１２０の領域を円形構造に変換した後、ブロックを割当てられうる。具体的に、ブロック割当部１３１は、図３のように不揮発性メモリ１２０の領域を円形構造に変換し、変換された円形構造で固定領域と非固定領域とを区分するための第１Ａ地点及び第２Ａ地点を設定しうる。この際、第１Ａ地点は、各領域の開始地点を意味し、第２Ａ地点は、各領域の終了地点を意味し、ブロック割当部１３１は、第１Ａ地点から順次にブロックを割当てうる。したがって、固定領域と非固定領域は、第１Ａ地点を基準に互いに逆方向にブロックが順次割当てられると理解されうる。
【００２６】
また、ブロック割当部１３１は、各領域で最後にブロックが割当てられた位置を管理しうる。本発明の実施形態で固定領域と非固定領域とで最後にブロックが割当てられた位置を各々第１Ａ終点及び第２Ａ終点と称する。また、固定領域と非固定領域とで活性化されたデータが位置する最初ブロックの位置を示すポインターを各々第１Ａ時点及び第２Ａ時点と称する。言い換えれば、各領域は、第１Ａ地点から活性化されたデータが位置することもあるが、該当領域内の所定地点から活性化されたデータが位置することもあるので、活性化されたデータが位置する最初ブロックの位置を示す第１Ａ時点及び第２Ａ時点が使われる。
【００２７】
この際、ブロック割当部１３１は、前述した第１Ａ地点、第２Ａ地点、第１Ａ時点、第２Ａ時点、第１Ａ終点及び第２Ａ終点を正常に電源を遮断するか、変更する度に不揮発性メモリ１２０の所定領域に保存し、今後非正常的な電源遮断が発生した場合、これを復旧するのに使われる。本発明の実施形態では、前述した第１Ａ地点、第２Ａ地点、第１Ａ時点、第２Ａ時点、第１Ａ終点及び第２Ａ終点などが不揮発性メモリ１２０の所定ブロックに保存される場合を例として説明する。
【００２８】
一方、ブロック割当部１３１は、固定領域に比べて非固定領域のブロックについての高い使用頻度を勘案して非固定領域でのブロック割当として回転式ブロック割当を使用しうる。具体的に、図４のように、ブロック割当部１３１は、非固定領域で第２Ａ終点が第２Ａ地点に近接するか、同一になれば、第２Ａ終点を第１Ａ地点に移動させて回転式ブロック割当を行わせ得る。この際、ブロック割当部１３１は、非固定領域で第１Ａ地点のブロックに活性化されたデータが位置する場合には、該当ブロックのデータを主記録媒体１１０に移動させた後、ブロックを割当てる。
【００２９】
ブロック回収部１３２は、不揮発性メモリ１２０においてデータのアップデート時、既存データを修正せず、新たなデータを追加する方式を使用するために、既存データを非活性化されたデータと判断し、この不揮発性データが位置するブロックを回収して新たなブロック割当時に使用可能にする。
【００３０】
このようなブロック回収は、固定領域と非固定領域とで互いに異なって行われ、まず固定領域に対するブロック回収について詳細に説明する。
【００３１】
固定領域に位置したデータは、大部分主記録媒体１１０に移動しない特性を有するためにブロック回収は必須的であると言える。
【００３２】
具体的に、ブロック回収部１３２は、固定領域についてのブロック回収のためにアドレス変換テーブル保存部１４０から活性データリストを生成し、生成された活性データリストを活性データリスト保存部１５０に保存しうる。この際、ブロック回収部１３２は、固定領域で第１Ａ地点が位置したブロックに活性化されたデータが存在する場合にのみ図５Ａのように、第１Ａ地点を第１Ｂ地点に非固定領域側に所定ブロックほど移動させ、その間の非固定領域のデータは主記録媒体１１０に移動させる。以後、図５Ｂのように、ブロック回収部１３２は、第１Ａ地点に位置した活性化されたデータを第１Ｂ地点のブロックに移動させる。次いで、活性データリストによって順次に活性化されたデータを移動させる。この際、ブロック回収部１３２は、活性化されたデータの移動時、非活性化されたデータは無視する。活性化されたデータの移動が完了すれば、ブロック回収部１３２は、図５Ｃのように、最後に移動した活性化されたデータが位置したブロックを第１Ｂ終点に設定する。また、ブロック回収部１３２は、図５Ｄのように、第１Ｂ地点及び第１Ｂ終点を再び第１Ａ地点及び第１Ａ終点に設定した後、ブロックを割当てるようにする。
【００３３】
この際、本発明の実施形態において第１Ａ地点及び第１Ａ地点は、実際的に管理される地点であり、第１Ｂ地点及び第１Ｂ終点は、活性化されたデータを移動させるために臨時的に使われた地点であると理解されうる。一方、本発明の実施形態において第１Ａ地点が第１Ｂ地点に移動することによって、第２Ａ地点も非固定領域側に移動しうる。
【００３４】
このように、ブロック回収部１３２が既存の第１Ａ地点を第１Ｂ地点に移動させることは、固定領域に比べて相対的に使用頻度の高い非固定領域について固定領域との使用頻度（Ｗｅａｒ  Ｌｅｖｅｌ）を均等にするためである。
【００３５】
次いで、非固定領域に対するブロック回収を通じて非活性データが位置したブロックを回収して新たに割当てて、主記録媒体１１０へのデータの移動回数を減らしうる。固定領域に対するブロック回収方法のような方法を利用した非固定領域に対するブロック回収は空ブロックの数が所定数以下であるか、非活性化データが占めるブロックの数が所定数以上である場合に使われうる。
【００３６】
具体的に、非固定領域に対するブロック回収は、まず前述した固定領域に対するブロック回収と同様に、ブロック回収部１３２は、固定領域に対するブロック回収のためにアドレス変換テーブル保存部１４０から活性化データリストを生成し、生成された活性化データリストを活性化データリスト保存部１５０に保存しうる。
【００３７】
この際、ブロック回収部１３２は、図６Ａのように、第２Ａ時点のブロックに活性化されたデータが存在する場合にのみ固定領域側に所定ブロックほど第２Ａ時点を移動させた第２Ｂ時点を設定する。一方、本発明の実施形態で前述したブロック割当部１３１は、Ｎ個の空ブロックをあらかじめ割当てた後でブロックを割当てるために第２Ｂ時点が第２Ａ時点に比べて所定ブロック固定領域側に移動しうる。また、本発明の実施形態において、第２Ｂ時点は、第２Ａ時点に比べて１ブロックほど固定領域側に移動した場合を例として説明する。第１Ａ地点と第２Ａ時点とが同じ場合には、Ｎ個のブロックに位置したデータを主記録媒体１１０に移動させる。
【００３８】
この際、ブロック回収部１３２は、図６Ｂのように、活性化データリストの順序によって第２Ｂ時点からデータを順次に移動させ、最後に割当てられたブロックの位置を示す第２Ｂ終点を設定する。次いで、ブロック回収部１３２は、第２Ｂ時点及び第２Ｂ終点を各々第２Ａ時点及び第２Ａ終点に変更する。この際、回数されたデータについての情報は、活性データリストで削除される。
【００３９】
一方、非固定領域に対するブロック回収で第２Ａ時点及び第２Ａ終点が実際的に使われる地点であり、第２Ｂ時点及び第２Ｂ終点は活性化されたデータを移動させるために臨時的に使われた地点であると理解されうる。
【００４０】
使用頻度調節部１３３は、前述したブロック回収部１３２によるブロック回収時に各ブロックの使用頻度を均等化するために各ブロックに対する使用頻度についての情報を保存しており、ブロック回収部１３２は、使用頻度調節部１３３に保存された各ブロックに対する使用頻度を考慮してブロック回収を行う。言い換えれば、ブロック回収部１３２は、ブロックを回収する度に使用頻度調節部１３３の情報に基づいて固定領域で第１Ａ時点を非固定領域側に所定ブロックほど移動させ、ブロック回収を行う。したがって、固定領域に比べて相対的に使用頻度の高い非固定領域に対する使用頻度を固定領域と均等に調節可能になる。
【００４１】
停電復旧部１３４は、突然の非正常的な電源遮断時に、復旧を行い、このような停電復旧は、前述したブロック割当部１３１により管理される第１Ａ地点、第２Ａ地点、第１Ａ時点、第２Ａ時点、第２Ａ終点及び第２Ａ終点と各ブロックのスペア領域に記録された論理ブロックアドレスを利用する。第１Ａ地点と第２Ａ地点は、変更される度に不揮発性メモリの特定ブロックに記録され、第１Ａ終点と第２Ａ終点は、ブロックを割当てる度に直ちにその次のブロックに復旧マークを記録する。この際、停電復旧部１３４は、第１Ａ地点から固定領域及び非固定領域で復旧マークを発見するまで順次に読取り、同じＬＢＡの場合には後で書き込まれたデータを活性化されたデータとして抽出する。これは不揮発性メモリ１２０でブロック修正時、既存データの修正でない新たなブロックを割当てて追加する方法を使用するために、同じＬＢＡである場合には後で書き込まれたデータが更新されたデータであるためである。次いで、停電復旧部１３４は、抽出されたデータに基づいてアドレス変換テーブルを復旧する。
【００４２】
具体的に、停電復旧部１３４は、図７のように、非固定領域で第２Ａ終点の直後に位置したブロックに復旧マークを記録しておく。この際、非正常的な電源遮断の発生時、停電復旧部１３４は、第１Ａ地点から順次に復旧マークが出るまでスキャニングし、前述したスペア領域に記録されたＬＢＡを通じてアドレス変換テーブルを再び生成する。一方、図７において、同じＬＢＡを有するブロック２１１、２１２、２１３が３つ存在するが、停電復旧部１３４は、最後に記録されたブロックのＬＢＡ２１３を活性化されたデータとして抽出する。
【００４３】
図８は、本発明の実施形態による不揮発性メモリのブロック割当方法が示された図面である。
【００４４】
示されたように、本発明の実施形態による不揮発性メモリのブロック割当方法は、まずブロック割当部１３１は、不揮発性メモリ１２０の領域を円形構造に変形し、不揮発性メモリ１２０の領域をデータが固定される固定領域とデータとが頻繁に変更される非固定領域とに分けるための第１Ａ地点及び第２Ａ地点を設定する（Ｓ１１０）。この際、第１Ａ地点及び第２Ａ地点により分けられる固定領域及び非固定領域の大きさは用途及び必要に応じて変更されうる。
【００４５】
次いで、ブロック割当部１３１は、第１Ａ地点を基準に各々固定領域及び非固定領域にブロックを順次に割当てる（Ｓ１２０）。
【００４６】
ブロック割当部１３１は、固定領域及び非固定領域にブロック割当が完了したか否かを判断し（Ｓ１３０）、判断結果、ブロック割当が完了した場合、最後に割当てられたブロックの位置を示す地点を設定する（Ｓ１４０）。言い換えれば、ブロック割当部１３１は、前述した図３のように、固定領域及び非固定領域で最後に割当てられたブロックの位置を示す第１Ａ終点及び第２Ａ終点を設定する。また、ブロック割当部１３１は、第１Ａ地点、第２Ａ地点、第１Ａ終点及び第２Ａ終点などを正常な電源遮断時や必要に応じて不揮発性メモリ１２０の所定領域に保存する。
【００４７】
図９は、本発明の実施形態による不揮発性メモリの固定領域に対するブロック回収方法が示された図面である。この際、図９の固定領域に対するブロック回収方法は、前述した図５Ａないし図５Ｄのブロック回収方法であると理解されうる。
【００４８】
示されたように、本発明の実施形態による不揮発性メモリの固定領域に対するブロック回収方法は、まずブロック回収部１３２は、アドレス変換テーブル保存部１４０に保存されたアドレス変換テーブルから活性化されたデータのリストを生成し、生成された活性データリストを活性データリスト保存部１５０に保存する（Ｓ２１０）。
【００４９】
次いで、ブロック回収部１３２は、固定領域と非固定領域とを区分し、ブロック割当開始地点である第１Ａ時点のブロックに活性化されたデータが存在する場合（Ｓ２２０）、第１Ａ地点を基準に非固定領域側の所定個数のブロックを主記録媒体１１０に移動させる（Ｓ２３０）。
【００５０】
非固定領域側のデータを主記録媒体１１０に移動させた後、ブロック回収部１３２は第１Ａ地点を非固定領域側に移動させ、第１Ｂ地点に移動させる（Ｓ２４０）。また、前述したＳ２２０ステップで第１Ａ地点のブロックに活性化されたデータが存在していない場合には、直ちに第１Ａ地点を非固定領域側の第１Ｂ地点にする。
【００５１】
ブロック回収部１３２は、活性データリストの順序によって活性データを第１Ｂ地点から順次に移動させ（Ｓ２５０）、移動した活性データについての情報を活性リストから削除する（Ｓ２６０）。ブロック回収部１３２は、活性リストが空くまで活性データを移動させて該当情報を活性リストから削除する過程を繰り返し行う（Ｓ２７０）。
【００５２】
ブロック回収部１３２は、活性データリストが空けば、最後に移動したブロックを第１Ｂ終点に設定し（Ｓ２８０）、最後に第１Ｂ地点を第１Ａ地点に変更し、第１Ｂ終点を第１Ａ終点に変更する（Ｓ２９０）。
【００５３】
図１０は、本発明の実施形態による不揮発性メモリの非固定領域に対するブロック回収方法が示された図面である。この際、図１０の非固定領域に対するブロック回収方法は、前述した図６Ａ及び図６Ｂのブロック回収方法であると理解されうる。
【００５４】
示されたように、本発明の実施形態による不揮発性メモリの非固定領域に対するブロック回収方法において、まずブロック回収部１３２はアドレス変換テーブル保存部１４０に保存されたアドレス変換テーブルから活性化されたデータのリストを生成し、生成された活性データリストを活性データリスト保存部１５０に保存する（Ｓ３１０）。
【００５５】
ブロック回収部１３２は、活性データがページを含むブロックが第２Ａ時点に存在しているか否かを判断する（Ｓ３２０）。
【００５６】
この際、ブロック回収部１３２は、第２Ａ時点に活性データが存在する場合、第１Ａ地点と第２Ａ時点とが同一か否かを判断する（Ｓ３３０）。
【００５７】
一方、ブロック回収部１３２は、第１Ａ地点と第２Ａ時点とが異なる場合、第２Ａ時点を固定領域側に所定ブロックほど移動させ、第２Ｂ時点に移動させる（Ｓ３４０）。
【００５８】
次いで、ブロック回収部１３２は、活性データリストの順序によって活性化されたデータを第２Ｂ時点から順次に移動させる（Ｓ３５０）。移動した活性データについての情報は活性データリストから削除され（Ｓ３６０）、リストが空くまで順次に活性データの移動と活性データ情報の削除過程（Ｓ３５０及びＳ３６０）とが繰り返される（Ｓ３７０）。
【００５９】
活性データの移動が完了すれば、ブロック回収部１３２は、最後に移動したブロックの位置を第２Ｂ終点に設定し（Ｓ３８０）、最後に第２Ｂ時点を第２Ａ時点に、第２Ｂ終点を第２Ａ終点に変更する（Ｓ３９０）。
【００６０】
前記‘部’は、ソフトウェアまたはＦＰＧＡ（フィールドプログラマブルゲートアレイ）または注文型半導体（アプリケーションスペシフィックインテグレーテッドサーキット；ＡＳＩＣ）のようなハードウェア構成要素を意味し、部は所定の役割を行う。しかし、部はソフトウェアまたはハードウェアに限定されるものではない。部は、アドレッシング可能な保存媒体に存在すべく構成されても良く、１つまたはそれ以上のプロセッサを実行させるように構成されても良い。したがって、一例として部は、ソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素とモジュールから提供される機能は、より少数の構成要素及びモジュールで結合されるか、追加的な構成要素とモジュールにさらに分離されうる。
【産業上の利用可能性】
【００６１】
本発明は、不揮発性メモリをキャッシュとして用いる保存装置関連の技術分野に好適に適用されうる。
【図面の簡単な説明】
【００６２】
【図１】一般的な保存装置が示された図面である。
【図２】本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置を示す図である。
【図３】本発明の実施形態によって円形構造に変形された不揮発性メモリの領域を示す図である。
【図４】本発明の実施形態によって回転式ブロック割当を使用する非固定領域を示す図である。
【図５Ａ】本発明の実施形態による固定領域のブロック回収時、第１Ａ地点が非固定領域に移動した図である。
【図５Ｂ】本発明の実施形態による固定領域のブロック回収時、第１Ａ地点の活性化されたデータが第１Ｂ地点に移動した図である。
【図５Ｃ】本発明の実施形態による固定領域のブロック回収時、活性化されたデータを第１Ｂ地点から順次に移動させて最後に移動した活性化されたデータが位置したブロックを示す第２Ｂ終点を示す図である。
【図５Ｄ】本発明の実施形態による固定領域のブロック回収時、第１Ａ地点が第１Ｂ地点に、第１Ａ終点が第１Ｂ終点に移動した図である。
【図６Ａ】本発明の実施形態による非固定領域のブロック回収時、第２Ａ時点を固定領域に移動させた第２Ｂ時点を示す図である。
【図６Ｂ】本発明の実施形態による非固定領域ブロック回収時、第２Ｂ時点から活性化されたデータが順次に移動した図である。
【図７】本発明の実施形態による停電復旧時のスキャニング方向を示す図である。
【図８】本発明の実施形態による不揮発性メモリのブロック割当方法を示す図である。
【図９】本発明の実施形態による不揮発性メモリの固定領域に対するブロック回収方法を示す図である。
【図１０】本発明の実施形態による不揮発性メモリの非固定領域に対するブロック回収方法を示す図である。
【符号の説明】
【００６３】
１００      保存装置
１１０      主記録媒体
１２０      不揮発性メモリ
１３０      ブロック管理部
１３１      ブロック割当部
１３２      ブロック回収部
１３３      使用頻度調節部
１３４      停電復旧部
１４０      アドレス変換テーブル保存部
１５０      活性データリスト保存部
【図１】
0004531742.tif 000002
【図２】
0004531742.tif 000003
【図３】
0004531742.tif 000004
【図４】
0004531742.tif 000005
【図５Ａ】
0004531742.tif 000006
【図５Ｂ】
0004531742.tif 000007
【図５Ｃ】
0004531742.tif 000008
【図５Ｄ】
0004531742.tif 000009
【図６Ａ】
0004531742.tif 000010
【図６Ｂ】
0004531742.tif 000011
【図７】
0004531742.tif 000012
【図８】
0004531742.tif 000013
【図９】
0004531742.tif 000014
【図１０】
0004531742.tif 000015