(57)【特許請求の範囲】
【請求項１】
ブロック化された不揮発性メモリにおける特定ブロック内の有効なページのみを他のブロックにコピーし、コピー後に、当該ブロックを削除する処理であるブロック回収を行う装置において、
前記不揮発性メモリに割り当てられた物理ブロックを、該不揮発性メモリが搭載された携帯用装置の電源状態に基づいてブロック回収を行う電源管理部を含み、
前記電源管理部は、
前記不揮発性メモリに物理ブロックを割り当てるブロック割当部と、
ブロック回収を行うブロック回収部と、
前記電源状態をチェックする電源状態チェック部と、
前記不揮発性メモリ内に割り当てられた物理ブロックに対する割当ブロックリスト及び空き物理ブロックに対する自由ブロックリストを格納するリスト格納部とを含み、
前記ブロック回収部は、電源状態チェック部でチェックされた電源状態に応じて、ブロック回収を行い、
前記ブロック回収部は、割り当てられたブロック回収の際、電源状態チェック部でチェックされた電源が、
充電中又は満充電の場合は、有効なページ数の最も多いブロックまで回収を行い、
満充電で無い場合は、充電状態に応じた有効なページ数を有するブロックの回収を行う不揮発性メモリのブロック回収を行う装置。
【請求項２】
ブロック化された不揮発性メモリにおける特定ブロック内の有効なページのみを他のブロックにコピーし、コピー後に、当該ブロックを削除する処理であるブロック回収を行う装置において、
前記不揮発性メモリに割り当てられた物理ブロックを、該不揮発性メモリが搭載された携帯用装置の電源状態に基づいてブロック回収を行う電源管理部を含み、
前記電源管理部は、
前記不揮発性メモリに物理ブロックを割り当てるブロック割当部と、
ブロック回収を行うブロック回収部と、
前記電源状態をチェックする電源状態チェック部と、
前記不揮発性メモリ内に割り当てられた物理ブロックに対する割当ブロックリスト及び空き物理ブロックに対する自由ブロックリストを格納するリスト格納部とを含み、
前記ブロック回収部は、電源状態チェック部でチェックされた電源状態に応じて、ブロック回収を行い、
前記ブロック回収部は、割り当てられたブロック回収の際、電源状態チェック部でチェックされた電源が、
充電中又は満充電の場合は、所定の周期で回収ブロックの回収を行い、
満充電で無い場合は、前記所定の周期未満でブロックの回収を行う不揮発性メモリのブロック回収を行う装置。
【請求項３】
前記ブロック回収部は、使用頻度を考慮して割り当てられた物理ブロックを回収する請求項１又２に記載の不揮発性メモリのブロック回収を行う装置。
【請求項４】
前記ブロック内の自由ブロックの数が所定値以上である場合は、ブロック回収を行わない請求項１又２に記載の不揮発性メモリのブロック回収を行う装置。
【請求項５】
ブロック化された不揮発性メモリにおける特定ブロック内の有効なページのみを他のブロックにコピーし、コピー後に、当該ブロックを削除する処理であるブロック回収を行う方法において、
不揮発性メモリ内の自由ブロックの数をチェックするステップと、
ブロック回収を行うブロック回収ステップと、
前記自由ブロックの数のチェックの結果、自由ブロックの数が第１閾値より小さい場合に、該不揮発性メモリが搭載された携帯用装置の電源状態をチェックするステップとを含み、
前記ブロック回収ステップにおいて、前記電源状態のチェックの結果、電源が、
充電中又は満充電の場合は、有効なページ数の多いブロックまで回収を行い、
満充電で無い場合は、充電状態に応じた有効なページ数を有するブロックの回収を行う不揮発性メモリのブロック回収を行う方法。
【請求項６】
前記自由ブロックの数が所定値以上である場合は、ブロック回収を行わない請求項５に記載の電源状態に応じて不揮発性メモリのブロック回収を行う方法。
【請求項７】
前記物理ブロック回収の際に使用頻度を考慮する請求項５に記載の電源状態に応じて不揮発性メモリのブロック回収を行う方法。
【請求項８】
ブロック化された不揮発性メモリにおける特定ブロック内の有効なページのみを他のブロックにコピーし、コピー後に、当該ブロックを削除する処理であるブロック回収を行う方法において、
不揮発性メモリ内の自由ブロックの数をチェックするステップと、
ブロック回収を行うブロック回収ステップと、
前記自由ブロックの数のチェックの結果、自由ブロックの数が所定値より小さい場合に、該不揮発性メモリが搭載された携帯用装置の電源状態をチェックするステップとを含み、
前記ブロック回収ステップにおいて、前記電源状態のチェックの結果、電源が、
充電中又は満充電の場合は、所定の周期で回収ブロックの回収を行い、
満充電で無い場合は、前記所定の周期未満でブロックの回収を行う不揮発性メモリのブロック回収を行う方法。
【請求項９】
前記自由ブロックの数が前記所定値以上である場合は、ブロック回収を行わない請求項８に記載の電源状態に応じて不揮発性メモリのブロック回収を行う方法。
【請求項１０】
前記割り当てられた物理ブロック回収の際に使用頻度を考慮する請求項８に記載の電源状態に応じて不揮発性メモリのブロック回収を行う方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電源状態に応じて不揮発性メモリのブロック回収を行う装置およびその方法に関するものであって、より詳しくは、携帯用装置の電源状態に基づいてブロック回収の動作を調節することによって、携帯用装置の電力消耗を減らすことができる電源状態に応じて不揮発性メモリのブロック回収を行う装置およびその方法に関する。
【背景技術】
【０００２】
一般に、フラッシュメモリは、一度書き込まれた（ライト）ページに他のデータを上書きすることができず、必ずブロック単位の削除（イレーズ）をした後に新しいデータを記録することができる。ここで、フラッシュメモリは、電源が遮断された場合にもデータが消えない代表的な不揮発性メモリをいう。
【０００３】
さらに、すでにページに記録されたデータを変更する時は、新しいデータを他のページに記録し、以前のデータは有効でない領域として管理する。これに、ブロック回収（ガーベージブロックコレクション）過程が求められる。
【０００４】
図１は、従来のフラッシュメモリにおいてブロック回収を行う動作を示す図面である。
【０００５】
図に示すように、ブロック回収は、特定ブロック内の有効なページのみを他のブロックにコピーしておいて、該当ブロックは削除することによって再び使用できるようにする。
【０００６】
これに、ブロック回収の過程が行われるためには書き込みと削除という過程が必然的に求められる。しかし、前記のようなブロック回収の過程は時間が長くかかるだけでなく、下記（表１）に示すように電力も多く消耗するようになる。
【０００７】
【表１】
0004495172.tif 000002
さらに、フラッシュメモリが無線端末機のようなバッテリで動作する移動用システムにおいて用いられる場合、ブロック回収過程実行時のバッテリの使用可能時間に大きい影響を及ぼす。
【０００８】
従来のブロック回収システムは、フラッシュメモリを自由ブロック（フリーブロック）と割当ブロック（アロケーテッドブロック）とに区分し、自由ブロックと割当ブロックとを管理する自由ブロックリストと割当ブロックリストとを含む。
【０００９】
さらに、ブロック回収システムは、割当ブロックリスト内で割当ブロックを探し出して削除した後、自由ブロックリストに送るブロック回収部および所定ブロックを割り当ててブロック回収部にブロック回収を要請するブロック割当部（ブロックアロケータ）を含む。
【００１０】
例えば、初期に用いられないすべてのブロックは自由ブロックリストに入り、フラッシュメモリでデータを用いるために新しいブロックが必要であれば、ブロック割当部が自由ブロックリストに新しいブロックを要請する。これに、自由ブロックリストは自由ブロックのうち１つを割り当てる。ここで、割り当てられたブロックは割当ブロックリストに追加される。
【００１１】
この後、ブロック割当部は、自由ブロックリストに自由ブロックがない場合、および、新しく格納すべきデータに比べて空いている自由ブロックが足りない場合にブロック回収部にブロック回収を要請する。
【００１２】
これに、ブロック回収部は割当ブロックリスト内で割当ブロックを探し出して削除した後、自由ブロックリストに伝送する。ここで、ブロック回収部は、外部から要請のない場合にもタイマを用いて特定時間周期や、または、システム休止検出部を用いてシステムが休止状態にある時にブロック回収過程を実行することもできる。
【００１３】
しかし、ブロック回収部は割当ブロックリストからすべての割当ブロックを探したり、ブロック回収動作の時間を減らしたりするために、所定数の割当ブロックのみを探して自由ブロックリストに送る。即ち、ブロック回収部が割当ブロックを削除する数は、無線端末機の電源状態とは全く関係がない。
【００１４】
従って、無線端末機のバッテリ電力が不足する時にブロック回収を行う場合、バッテリの電力をより一層減少させるという問題点がある。
【００１５】
特許文献１は、移動通信端末機においてフラッシュメモリに対するゴミデータの収集がなされたり、必要とする時に端末機をしばらく低電力モードに切り替えることによって外部からのインターラプトを防止し、円滑なゴミデータの収集が行われるようにすることによって、端末機が安定して動作するようにする移動通信端末機のゴミデータの収集方法を開示しているが、これは無線端末機の電源状態に基づいてブロック回収を行う技術について全く言及していない。
【特許文献１】韓国特許公開第２００４−０１０４２０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、携帯用装置の電源状態に基づいてブロック回収の際、ブロック回収のコストおよび動作周期を調節することによって、携帯用装置の電力をより効率的に消費することができるようにすることにその目的がある。
【００１７】
本発明の目的は、以上で言及した目的に制限されず、言及されていないまた他の目的は下記から当業者に明確に理解できる。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明の一態様に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置は、所定のデータを格納する不揮発性メモリと、前記不揮発性メモリに割り当てられた物理ブロックを携帯用装置の電源状態に基づいて回収する電源管理部とを含む。
【００１９】
さらに、本発明の他の態様に係わる電源状態に応じて不揮発性メモリのブロック回収を行う方法は、不揮発性メモリ内の自由ブロックの数をチェックするステップと、前記チェックの結果、自由ブロックの数が第１閾値より小さい場合に携帯用装置の電源状態をチェックするステップと、前記チェックの結果、電源が十分な場合にブロック回収のコストが大きい物理ブロックまで回収するステップと、前記チェックの結果、電源が十分でない場合にブロック回収のコストが小さい物理ブロックを回収するステップとを含む。
【００２０】
さらに、本発明のまた他の態様に係わる電源状態に応じて不揮発性メモリのブロック回収を行う方法は、不揮発性メモリ内の自由ブロックの数をチェックするステップと、前記チェックの結果、自由ブロックの数が第１閾値よりも小さい場合に携帯用装置の電源状態をチェックするステップと、前記チェックの結果、電源が十分な場合にブロック回収の周期を第２閾値より短く設定するステップと、前記チェックの結果、電源が十分でない場合にブロック回収の周期を第２閾値より長く設定するステップと、前記設定されたブロック回収の周期に基づいて割り当てられた物理ブロックを回収するステップとを含む。
【発明の効果】
【００２１】
本発明の電源状態に応じて不揮発性メモリのブロック回収を行う装置およびその方法によれば、次のような効果が１つあるいはそれ以上ある。
【００２２】
不揮発性メモリのブロック回収の際、携帯用装置の電源状態に基づいてブロック回収のコストおよび動作周期を調節して割り当てられたブロックを回収することによって、携帯用装置の電力をより効率的に用いることができる長所がある。
【００２３】
さらに、携帯用装置の電源状態に基づいてブロック回収を行うことにより、ブロック回収による携帯用装置の電力消耗を減らすことができる長所がある。
【発明を実施するための最良の形態】
【００２４】
その他、実施例の具体的な事項は、詳細な説明および図面に含まれている。
【００２５】
本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述している実施形態を参照すれば明確になる。しかし、本発明は以下で開示する実施形態に限定されず、互いに異なる多様な形態によって実現することができ、単に本実施形態は本発明の開示を完全なものとし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供しているものであって、本発明は請求項の範疇によってのみ定義されるものである。明細書全体に亘って、同一参照符号は同一の構成要素を示す。
【００２６】
以下、本発明の実施形態によって、電源状態に応じて不揮発性メモリのブロック回収を行う装置およびその方法を説明するためのブロック図、または、処理フローチャートに対する図面を参考にして、本発明について説明する。この時、処理フローチャートの各ブロックとフローチャートの組合は、コンピュータプログラムインストラクションによって行われる可能性があることを理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、または、その他のプログラム可能なデータプロセシング装備のプロセッサに搭載することができるため、コンピュータ、または、その他のプログラム可能なデータプロセシング装備のプロセッサを介して行われるそのインストラクションがフローチャートのブロックにおいて説明された機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式によって機能を実現するためにコンピュータ、または、その他のプログラム可能なデータプロセシング装備を指向できるコンピュータ利用可能、または、コンピュータ読取可能なメモリに格納されることも可能であるため、そのコンピュータ利用可能、または、コンピュータ読取可能なメモリに格納されたインストラクションは、フローチャートのブロックにおいて説明された機能を行うインストラクション手段を含む製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータ、または、その他のプログラム可能なデータプロセシング装備上に搭載されることも可能であるため、コンピュータ、または、その他のプログラム可能なデータプロセシング装備上で一連の動作段階が行われてコンピュータで実行されるプロセスを生成し、コンピュータ、または、その他のプログラム可能なデータプロセシング装備を行うインストラクションはフローチャートのブロックにおいて説明された機能を実行するための段階を提供することも可能である。
【００２７】
さらに、各ブロックは、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメント、または、コードの一部を示すことができる。さらに、いくつかの代替実行例では、ブロックにおいて言及された機能が順序から外れて発生する可能性を注目しなければならない。例えば、続けて図に示されている２つのブロックは、実質的に同時に行われることも可能であり、または、そのブロックが時々該当する機能によって逆順で行われることも可能である。
【００２８】
図２は、本発明の一実施形態に係わる電源状態によって不揮発性メモリのブロック回収を行う装置の内部ブロック図を示す図面である。
【００２９】
図に示すように、電源状態に応じて不揮発性メモリのブロック回収を行う装置は、ホスト１００、電源管理部２００、および、不揮発性メモリ（即ち、フラッシュメモリ）３００を含んで構成される。ここで、電源状態に応じて不揮発性メモリのブロック回収を行う装置は、ユーザが移動しながら所定機能および情報を用いることができる携帯用装置に装着され、携帯用装置は例えば携帯電話、ＰＤＡ、および、ＳＳＤ（ソリッドステートディスク）などをいう。
【００３０】
この時、本実施形態で用いられる「〜部」という用語は、ソフトウェア、または、ＦＰＧＡ、または、ＡＳＩＣのようなハードウェア構成要素を意味し、「〜部」は何かの役割を行う。ところが「〜部」はソフトウェア、または、ハードウェアに限定される意味ではない。「〜部」はアドレッシングできる格納媒体にあるように構成することもでき、１つ、あるいは、それ以上のプロセッサを再生させるように構成することもできる。従って、一例として「〜部」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、および、タスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および、変数を含む。構成要素と「〜部」との中で提供されている機能は、さらに小さい数の構成要素および「〜部」によって結合されたり、追加的な構成要素と「〜部」にさらに分離したりすることができる。それだけでなく、構成要素および「〜部」は、デバイスまたは保安マルチメディアカード内の１つ、または、それ以上のＣＰＵを再生させるように実現することもできる。
【００３１】
ホスト１００は、ユーザの命令に応じて不揮発性媒体３００とお互いにデータを送受信する。
【００３２】
電源管理部２００は、携帯用装置の電源状態に基づいてブロック回収を行うものであって、携帯用装置の電源が十分な状態にあるか、または、十分でない状態にあるかを判断し、判断の結果に応じてブロック回収の際、ブロック回収のコストおよび動作周期を相異するように行う。ここで、電源管理部２００は、ブロック割当部２１０、ブロック回収部２２０、電源状態チェック部２３０、リスト格納部２４０を含んで構成される。
【００３３】
ブロック割当部２１０は、不揮発性メモリ３００に物理ブロックを割り当てる。
【００３４】
即ち、ブロック割当部２１０は、リスト格納部２４０に格納された自由ブロックリストにより不揮発性メモリ３００に物理ブロックを割り当てることができる。ここで、自由ブロックリストは、データが存在していない空き物理ブロックを含む。
【００３５】
ブロック回収部２２０は、不揮発性メモリ３００に割り当てられた物理ブロックを回収するものであって、本発明におけるブロック回収部２２０は、物理ブロック回収の際に携帯用装置の電源状態に基づいて行う。
【００３６】
即ち、ブロック回収部２２０は、携帯用装置の電力消耗を考慮して物理ブロックの回収を行うが、携帯用装置の電源が十分な場合にはブロック回収のコストが大きい物理ブロックまで回収し、またブロック回収の周期を短く設定してブロック回収作業を頻繁に行う。
【００３７】
一方、携帯用装置の電源が十分でない場合には、ブロック回収のコストが小さい物理ブロックのみ回収し、またブロック回収の周期を長く設定して携帯用装置の電源が十分な場合よりブロック回収作業を少なく行う。以下、図３および図４でブロック回収のコストおよびブロック回収の周期に基づいてブロック回収を行う動作に対して説明する。
【００３８】
さらに、ブロック回収部２２０は、不揮発性メモリ３００から自由ブロックリストに自由ブロックの数が所定数以下であるか、非活性データが占める物理ブロックの数が所定数以上である場合にブロック回収を行う。ここで、ブロック回収部２２０は、使用頻度（ウェアレベル）を考慮してブロック回収を行う。
【００３９】
例えば、不揮発性メモリ３００ではデータのアップデートの際、既存のデータを修正せずに新しいデータを追加する方式を用いるため、新しいデータの追加時に非活性化データが占めるブロックの数が多くなる。よって、ブロック回収部２２０は、不揮発性データが位置するブロックを回収して新しいブロック割当時に用いることができるようにする。
【００４０】
さらに、ブロック回収部２２０は、タイマ（図示せず）およびシステム休止状態検索部（図示せず）を介して、所定の周期およびシステム休止状態にある場合にブロック回収を行う。ここで、ブロック回収部２２０は、携帯用装置の電源状態に基づいて設定されたブロック回収の周期を変更してからブロック回収を行うこともできる。
【００４１】
電源状態チェック部２３０は、携帯用装置の電源状態をチェックしてブロック回収部２２０に伝送する。ここで、電源状態は、携帯用装置のバッテリ供給電圧に基づいてチェックされた携帯用装置のバッテリ充電状態をいう。
【００４２】
リスト格納部２４０は、不揮発性メモリ３００に割り当てられた物理ブロックに対する割当ブロックリストおよび空き物理ブロックに対する自由ブロックリストを格納する。
【００４３】
不揮発性メモリ３００は、所定のデータが格納される領域であって、電源が遮断された場合にも格納されたデータが消えない。ここで、不揮発性メモリはフラッシュメモリなどとして理解できる。
【００４４】
図３ａと図３ｂは、本発明の他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置において、ブロック回収のコストに基づいてブロック回収を行う例を示す図面である。
【００４５】
携帯用装置の電源状態をチェックする電源状態チェック部２３０から携帯用装置の電源状態情報が伝送されれば、ブロック回収部２２０は図３ａに示すテーブルに基づいてブロック回収を行う。
【００４６】
伝送された携帯用装置のバッテリ充電状態がバッテリ充電中の場合、ブロック回収部２２０は自由ブロックを、設定された第１閾値以上で保持するために、ブロック回収のコストが大きい物理ブロックまでブロック回収を行う。ここで、バッテリ充電中の場合にはブロック回収部２２０が回収することができる全ての割り当てられた物理ブロックを回収する。さらに、第１閾値は、所定のデータ記録時に必要な自由ブロックの数を設定した値であり、ブロック回収のコストが大きい物理ブロックとは、所定の物理ブロックに有効なページの数が多い物理ブロックをいう。
【００４７】
即ち、割り当てられた物理ブロックには、有効なページと有効でないページが存在し、ブロック回収部２２０は有効なページは他の物理ブロックにコピーしてから削除し、有効でないページは直ちに削除する。この時、有効なページの多い物理ブロックである場合、有効なページの少ない物理ブロックより有効なページをコピーしてから削除する過程をさらに多く行わなければならないため、有効なページの少ない物理ブロックを回収する時よりもさらに大量の電源が消耗される。よって、有効なページの多い物理ブロックは、有効なページの少ない物理ブロックよりブロック回収のコストが大きい。
【００４８】
従って、ブロック回収部２２０は、リスト格納部２４０に格納された割当ブロックリストから各物理ブロック内の有効なページの数を算出し、算出の結果、有効なページの最も多い物理ブロック（即ち、ブロック回収のコストが大きい物理ブロック）までブロック回収を行う。
【００４９】
例えば、図３ｂに示すように、リスト格納部２４０に物理ブロックが７つ存在する場合、ブロック回収部２２０は物理ブロック１〜物理ブロック７の内の有効なページ数を算出する。
【００５０】
算出の結果、物理ブロック１の有効なページは５つ、物理ブロック３の有効なページは９つ、物理ブロック６の有効なページは３つ、物理ブロック７の有効なページは１つであることを知ることができ、物理ブロック２、物理ブロック４および物理ブロック５の有効なページは０であって、即ち自由ブロックであることが分かる。
【００５１】
よって、ブロック回収部２２０は、物理ブロック１、物理ブロック３、物理ブロック６および物理ブロック７についてブロック回収を行う。
【００５２】
さらに、携帯用装置のバッテリが十分にある場合（即ち、バッテリ充電状態１００）、ブロック回収部２２０は自由ブロックを、設定された第１閾値以上で保持するために、ブロック回収のコストが大きくない物理ブロック（例えば、物理ブロック１、物理ブロック６および物理ブロック７）を回収する。ここで、バッテリが十分にある場合には、リスト格納部２４０内に割り当てられた物理ブロックのうち、ブロック回収のコストが最も大きい物理ブロック（例えば、物理ブロック３）を除いて割り当てられた物理ブロックを回収する。
【００５３】
さらに、携帯用装置のバッテリが十分にない場合（即ち、バッテリ充電状態５０）、ブロック回収部２２０は自由ブロックを、設定された第１閾値で保持するために、ブロック回収のコストが大きくない物理ブロック（例えば、物理ブロック６および物理ブロック７）のみ回収する。
【００５４】
さらに、携帯用装置のバッテリがかなり放電している場合（即ち、バッテリ充電状態２０）、ブロック回収部２２０は自由ブロックを、設定された第１閾値以下で保持するためにブロック回収のコストが小さい物理ブロック（例えば、物理ブロック７）のみ回収する。
【００５５】
従って、携帯用装置のバッテリ状態により、ブロック回収を行うため携帯用装置の電力をより少なく消費することができる。
【００５６】
図４ａと図４ｂは、本発明の他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置においてブロック回収の周期を調整する例を示す図面である。
【００５７】
携帯用装置の電源状態をチェックする電源状態チェック部２３０から携帯用装置の電源状態情報が伝送されれば、ブロック回収部２２０は図４ａに示すテーブルに基づいてブロック回収を行う。
【００５８】
携帯用装置のバッテリ充電状態のチェックの結果、バッテリ充電中の場合、ブロック回収部２２０は自由ブロックを、設定された第１閾値以上で保持するために、ブロック回収の周期を第２閾値より短く設定してからブロック回収を行う。ここで、第１閾値は所定のデータ記録時に必要な自由ブロックの数を設定した値であり、第２閾値はブロック回収の周期を設定した値である。
【００５９】
例えば、図４ｂに示すように、基本的に設定されたブロック回収の周期が１時間であり、携帯用装置のバッテリが充電中の場合、ブロック回収部２２０は自由ブロックを、設定された第１閾値以上で保持するためにブロック回収の周期を３０分に変更設定する。
【００６０】
その次に、ブロック回収部２２０は変更設定されたブロック回収の周期（例えば、３０分）によりブロック回収を行う。従って、ブロック回収が頻繁に行われることによって、自由ブロックを第１閾値以上で保持することができる。
【００６１】
さらに、携帯用装置のバッテリが十分にある場合（即ち、バッテリ充電状態１００）、ブロック回収部２２０は自由ブロックを、設定された第１閾値以上で保持するために、ブロック回収の周期を第２閾値より短く設定（例えば、３０分）してからブロック回収を行う。
【００６２】
さらに、携帯用装置のバッテリが十分にない場合（即ち、バッテリ充電状態５０）、ブロック回収部２２０は自由ブロックを、設定された第１閾値で保持するために、ブロック回収の周期を第２閾値で設定（例えば、１時間）してからブロック回収を行う。
【００６３】
さらに、携帯用装置のバッテリがかなり放電している場合（即ち、バッテリ充電状態２０）、ブロック回収部２２０は自由ブロックを、設定された第１閾値以下で保持するために、ブロック回収の周期を第２閾値より長く設定してからブロック回収を行う。
【００６４】
例えば、図４ｂに示すように、基本的に設定されたブロック回収の周期が１時間であり、携帯用装置のバッテリがかなり放電している場合、ブロック回収部２２０は自由ブロックを、設定された第１閾値で保持するために、ブロック回収の周期を２時間に変更設定する。
【００６５】
その次に、ブロック回収部２２０は、変更設定されたブロック回収の周期（例えば、２時間）によりブロック回収を行う。従って、ブロック回収が少なく行われることによって、自由ブロックを、設定された第１閾値以下で保持することができる。
【００６６】
図５は、本発明のまた他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う方法のうち、電源状態に基づいてブロック回収のコストを参照しながらブロック回収を行う例を示すフローチャートである。
【００６７】
まず、ブロック回収部２２０は、リスト格納部２４０に存在する自由ブロックの数をチェックする（Ｓ５００）。チェックの結果、自由ブロックの数が設定された第１閾値より多い場合（Ｓ５１０）、ブロック回収部２２０はブロック回収を行わない（Ｓ５２０）。ここで、第１閾値は、所定のデータ作成時に必要な自由ブロックの数を設定した値である。
【００６８】
チェックの結果、自由ブロックの数が第１閾値より少ない場合（Ｓ５１０）、ブロック回収部２２０は電源状態チェック部２３０を介して感知した携帯用装置の電源状態をチェックする（Ｓ５３０）。
【００６９】
チェックの結果、携帯用電源が十分な場合（Ｓ５４０）、ブロック回収部２２０は現在携帯用装置のバッテリが充電中であるかを判断する（Ｓ５５０）。判断の結果、バッテリ充電中の場合、ブロック回収部２２０はリスト格納部２４０に自由ブロックが第１閾値以上で保持されるようにブロック回収のコストが大きい物理ブロックまで回収する（Ｓ５６０）。ここで、ブロック回収のコストが大きい物理ブロックとは、所定の物理ブロックに有効なページの数が多い物理ブロックをいう。
【００７０】
さらに、判断の結果、バッテリ充電中ではないが、バッテリの電源が十分な場合、ブロック回収部２２０はリスト格納部２４０内に自由ブロックが第１閾値以上で保持されるようにブロック回収のコストが大きくない物理ブロックを回収する（Ｓ５７０）。
【００７１】
一方、チェックの結果、携帯用電源が十分でない場合（Ｓ５４０）、ブロック回収部２２０はリスト格納部２４０内に自由ブロックが第１閾値が保持されるようにブロック回収のコストが小さい物理ブロックのみ回収する（Ｓ５８０）。
【００７２】
図６は、本発明のまた他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う方法のうち、電源状態に基づいてブロック回収の周期を変更する例を示すフローチャートである。
【００７３】
まず、ブロック回収部２２０は、リスト格納部２４０に存在する自由ブロックの数をチェックする（Ｓ６００）。チェックの結果、自由ブロックの数が設定された第１閾値より多い場合（Ｓ６１０）、ブロック回収部２２０はブロック回収を行わない（Ｓ６２０）。ここで、第１閾値は、所定のデータ作成時に必要な自由ブロックの数を設定した値である。
【００７４】
チェックの結果、自由ブロックの数が第１閾値より少ない場合（Ｓ６１０）、ブロック回収部２２０は電源状態チェック部２３０を介して感知した携帯用装置の電源状態をチェックする（Ｓ６３０）。
【００７５】
チェックの結果、携帯用電源が十分にある場合（Ｓ６４０）、ブロック回収部２２０はリスト格納部２４０に自由ブロックが第１閾値以上で保持されるようにブロック回収の周期を第２閾値より短く設定する（Ｓ６５０）。ここで、第１閾値は所定のデータ記録時に必要な自由ブロックの数を設定した値であり、第２閾値はブロック回収の周期を設定した値である。さらに、携帯用電源が十分にある場合は、携帯用装置が充電中であるか、バッテリ充電中ではないがバッテリが十分に充電された状態をいう。
【００７６】
一方、チェックの結果、携帯用電源が十分にない場合（Ｓ６４０）、ブロック回収部２２０は、リスト格納部２４０内で自由ブロックが第１閾値で保持されるように、ブロック回収の周期を第２閾値より長く設定する（Ｓ６６０）。
【００７７】
その次に、ブロック回収部２２０は、設定されたブロック回収の周期で割り当てられた物理ブロックを回収する。
【００７８】
本発明では、携帯用装置の電源状態に基づいてブロックを回収する際、ブロック回収のコストおよび動作周期を全て考慮して、割り当てられた物理ブロックに対するブロック回収を行うこともできる。
【００７９】
以上添付した図面を参照して本発明の実施例を説明したが、本発明が属する技術分野で通常の知識を有する者は本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施し得るということを理解することができる。従って、以上にて記述した実施形態はすべての面で例示的なものであって、限定的なものではないことを理解しなければならない。
【図面の簡単な説明】
【００８０】
【図１】従来のフラッシュメモリにおいてブロック回収部の動作を示す図である。
【図２】本発明の一実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置の内部ブロック図を示す図である。
【図３ａ】本発明の他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置においてブロック回収のコストに基づいてブロック回収を行う例を示す図である。
【図３ｂ】本発明の他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置においてブロック回収のコストに基づいてブロック回収を行う例を示す図である。
【図４ａ】本発明のまた他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置においてブロック回収の周期を調整する例を示す図である。
【図４ｂ】本発明のまた他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う装置においてブロック回収の周期を調整する例を示す図である。
【図５】本発明のまた他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う方法のうち、電源状態に基づいてブロック回収のコストを参照してブロック回収を行う例を示すフローチャートである。
【図６】本発明のまた他の実施形態に係わる電源状態に応じて不揮発性メモリのブロック回収を行う方法のうち、電源状態に基づいてブロック回収の周期を変更する例を示すフローチャートである。
【符号の説明】
【００８１】
１００      ホスト
２００      電源管理部
２１０      ブロック割当部
２２０      ブロック回収部
２３０      電源状態チェック部
２４０      リスト格納部
３００      不揮発性メモリ（フラッシュメモリ）
【図１】
0004495172.tif 000003
【図２】
0004495172.tif 000004
【図３ａ】
0004495172.tif 000005
【図３ｂ】
0004495172.tif 000006
【図４ａ】
0004495172.tif 000007
【図４ｂ】
0004495172.tif 000008
【図５】
0004495172.tif 000009
【図６】
0004495172.tif 000010