(57)【要約】【課題】トランザクションブロックを利用して複数のセクターに対して単位書き込みを支援し、トランザクションブロックを一括してデータブロックに変換してファイルシステムやデータベースの無欠性を保障することができる不揮発性メモリのデータ処理装置及びその処理方法を提供する。【解決手段】複数のブロックを含む不揮発性メモリと、ユーザの書き込み作業要求時、前記ブロックにデータを書き込んだ後に前記データが書き込まれたブロックを一括して有効化させる作業処理部と、前記作業処理部の作業処理に対応して前記ブロックの状態を管理するブロック管理部とを有する。【選択図】      図２
2008299848.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックを含む不揮発性メモリと、
ユーザの書き込み作業要求時、前記ブロックにデータを書き込んだ後に前記データが書き込まれたブロックを一括して有効化させる作業処理部と、
前記作業処理部の作業処理に対応して前記ブロックの状態を管理するブロック管理部とを有することを特徴とする不揮発性メモリのデータ処理装置。
【請求項２】
前記不揮発性メモリに含まれる前記ブロックは、ブロックの状態を表すブロックマップが保存されるマップブロックと、
トランザクション遂行時、割り当てられるトランザクションブロックと、
コミット（ｃｏｍｍｉｔ）された安定した状態のデータが書き込まれたデータブロックと、
有効なデータが含まれないガーベッジブロックとを含むことを特徴とする請求項１に記載の不揮発性メモリのデータ処理装置。
【請求項３】
前記作業処理部は、書き込み作業時、前記ガーベッジブロックを前記トランザクションブロックに割り当てることを特徴とする請求項２に記載の不揮発性メモリのデータ処理装置。
【請求項４】
前記作業処理部は、前記トランザクションブロックにデータを書き込んだ後、コミット要求時に一括して前記トランザクションブロックを前記データブロックに変換することを特徴とする請求項３に記載の不揮発性メモリのデータ処理装置。
【請求項５】
前記作業処理部は、前記トランザクションブロックにデータを書き込む場合、ユーザによる作業中止及び電源供給中断のうち少なくとも一つの状況が発生し、コミットが要求されない時、前記トランザクションブロックを前記ガーベッジブロックに変換することを特徴とする請求項３に記載の不揮発性メモリのデータ処理装置。
【請求項６】
前記ブロック管理部は、前記不揮発性メモリに含まれるすべてのブロックのブロックマップを管理し、前記ブロックマップは前記各ブロックのブロック状態情報、削除回数及び寿命のうち少なくとも一つを含むことを特徴とする請求項２に記載の不揮発性メモリのデータ処理装置。
【請求項７】
前記ブロック状態情報は、前記各ブロックが前記マップブロック、前記トランザクションブロック、前記データブロック、及び前記ガーベッジブロックの内のどのブロックなのかを表すことを特徴とする請求項６に記載の不揮発性メモリのデータ処理装置。
【請求項８】
前記ブロック管理部は、論理セクター番号に対応する安定した状態のページ及び不安定な状態のページを表すマッピングテーブルを生成することを特徴とする請求項６に記載の不揮発性メモリのデータ処理装置。
【請求項９】
前記安定した状態のページは、前記データブロックに含まれるページであることを特徴とする請求項８に記載の不揮発性メモリのデータ処理装置。
【請求項１０】
前記不安定な状態のページは、前記トランザクションブロックに含まれるページであることを特徴とする請求項８に記載の不揮発性メモリのデータ処理装置。
【請求項１１】
複数のブロックを含む不揮発性メモリにユーザの書き込み作業要求が入力される段階と、
前記ブロックにデータを書き込んだ後に前記データが書き込まれたブロックを一括して有効化させる段階と、
前記ブロックを一括して有効化させる段階の作業処理に対応して前記ブロックの状態を管理する段階とを有することを特徴とする不揮発性メモリのデータ処理方法。
【請求項１２】
前記不揮発性メモリに含まれるブロックは、前記ブロックの状態を表すブロックマップが保存されるマップブロックと、
トランザクション遂行時、割り当てられるトランザクションブロックと、
コミット（ｃｏｍｍｉｔ）された安定した状態のデータが書き込まれたデータブロックと、
有効なデータが含まれないガーベッジブロックとを含むことを特徴とする請求項１１に記載の不揮発性メモリのデータ処理方法。
【請求項１３】
前記ブロックを一括して有効化させる段階は、前記書き込み作業時、前記ガーベッジブロックを前記トランザクションブロックに割り当てる段階を含むことを特徴とする請求項１２に記載の不揮発性メモリのデータ処理方法。
【請求項１４】
前記ブロックを一括して有効化させる段階は、前記トランザクションブロックにデータを書き込んだ後、コミット要求時に一括して前記トランザクションブロックを前記データブロックに変換する段階を含むことを特徴とする請求項１３に記載の不揮発性メモリのデータ処理方法。
【請求項１５】
前記ブロックを一括して有効化させる段階は、前記トランザクションブロックにデータを書き込む場合、ユーザによる作業中止及び電源供給中断のうち少なくとも一つの状況が発生し、コミットが要求されない時、前記トランザクションブロックを前記ガーベッジブロックに変換する段階を含むことを特徴とする請求項１３に記載の不揮発性メモリのデータ処理方法。
【請求項１６】
前記ブロックの状態を管理する段階は、前記不揮発性メモリに含まれるすべてのブロックのブロックマップを管理する段階を含み、前記ブロックマップは前記各ブロックのブロック状態情報、削除回数及び寿命のうち少なくとも一つを含むことを特徴とする請求項１２に記載の不揮発性メモリのデータ処理方法。
【請求項１７】
前記ブロック状態情報は、前記各ブロックが前記マップブロック、前記トランザクションブロック、前記データブロック、及び前記ガーベッジブロックの内のどのブロックなのかを表すことを特徴とする請求項１６に記載の不揮発性メモリのデータ処理方法。
【請求項１８】
前記ブロックの状態を管理する段階は、論理セクター番号に対応する安定した状態のページおよび不安定な状態のページを表すマッピングテーブルを生成する段階を含むことを特徴とする請求項１６に記載の不揮発性メモリのデータ処理方法。
【請求項１９】
前記安定した状態のページは、前記データブロックに含まれるページであることを特徴とする請求項１８に記載の不揮発性メモリのデータ処理方法。
【請求項２０】
前記不安定な状態のページは、前記トランザクションブロックに含まれるページであることを特徴とする請求項１８に記載の不揮発性メモリのデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不揮発性メモリのデータ処理装置及びその処理方法に関するものであって、より詳細には、複数のセクターに対して単位書き込みを支援することができる不揮発性メモリのデータ処理装置及びその処理方法に関するものである。
【背景技術】
【０００２】
一般的に、家電機器、通信機器、セットトップボックスなどの内蔵型システム（Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍ）ではデータを保存して処理するための保存媒体として不揮発性メモリが多く使用されている。
【０００３】
不揮発性メモリの中で主に使用されるフラッシュメモリは電気的にデータを削除したりまた記録できる不揮発性記憶素子であって、磁気式ディスクメモリを基盤とする保存媒体に比べて、電力消費が少なく、ハードディスクのような速いアクセスタイム（Ａｃｃｅｓｓ  Ｔｉｍｅ）を有し、サイズが小さいため携帯機器などに適合する。
【０００４】
このようなフラッシュメモリはハードディスクのような磁気式保存媒体とは異なる特性を有するが、ページ単位で読み取り及び書き込みが可能な反面、データ更新作業はページ単位ですることができないという特性がそれである。フラッシュメモリでデータ更新作業をするためには複数のページ集合であるブロック単位の消去作業が必要だが、消去作業の単位が書き込み作業の単位よりより大きいことが問題となる。
【０００５】
このようにフラッシュメモリの消去単位が書き込み単位より大きい特性、そして消去回数の制限がある特性を補完し、ハードディスクを基盤として設計されたファイルシステムを使用するための目的でＦＴＬ（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ）が開発された。ＦＴＬは一種のソフトウェアレイヤーで、フラッシュメモリをハードディスクのように使用することができるようにする役割をする。ＦＴＬはこのような目的を達成するために内部的にマッピング技法を使用するようになっているが、いかなるアルゴリズムを使用するのかによってその性能と費用の特性が決定される。
【０００６】
ＦＴＬで使用されるマッピング技法としてはブロックマッピング技法及びページマッピング技法などのような多様な技法があり、このうちページマッピング技法を例にあげて説明すれば、ページマッピング技法はすべてのセクター又はページに対して実際、物理的に保存された位置を別途にマッピングテーブルをよって維持管理する技法である。すなわち、実際フラッシュメモリでデータ更新が起きる時、フラッシュメモリの空いた空間に新しいデータを記録し、該当セクターの位置が変更されたことをセクターマッピングテーブルを変更して処理する技法である。この時、セクターは論理的な演算単位であり、ページは物理的な演算単位である。小ブロックのフラッシュメモリの場合にはセクターとページが同一だが大ブロックのフラッシュメモリの場合にはページが複数のセクターを含むようになる。
【０００７】
図１は従来の技術によるページマッピング技法を示した図である。
【０００８】
図に示すように、ＦＴＬはセクターマッピングテーブル１０と複数のブロック２２を含む不揮発性メモリ２０とでなり、ユーザがセクターを「１、２、０、０、３、３、３、３、５、６、４」の順序でデータを記録する場合、不揮発性メモリ２０ではセクター０とセクター３に対してデータ更新が起きたことを知ることができる。この時、ページマッピング技法のＦＴＬでは空いているページ２１に新しいデータを記録すると同時にセクターマッピングテーブル１０も更新するようになる。すなわち、セクターマッピングテーブル１０は論理的なセクター番号と不揮発性メモリ２０でのページ番号間のマッピングテーブルとなる。
【０００９】
一方、ファイルシステムやデータベース等を更新する場合、大部分多数個のセクターを更新する作業が成されるようになる。例えば、セクター１、２、３を更新しなければならない状況で、システムの問題が発生してセクター１、２だけ書き込み作業が完了し、書き込み作業が中断された場合、セクター３は更新が成されない不安定な状態が作られ、これはファイルシステムやデータベースの無欠性を保障できなくなる。
【００１０】
このためにデータベースやファイルシステムで処理する作業に対してジャーナルやログを残す方法が使用されているが、これは作業が完了しないで中断された場合に備えて、本来データをバックアップしておく方式である。しかし、このようなバックアップ方式は本来処理しようとする作業よりさらに費用が大きいことが一般的である。
【００１１】
例えば、特許文献１を参照すると、フラッシュメモリでのデータ消去処理と記録終了通知をオーバーラップさせ、記録、消去及び記録終了通知の一連の処理を短時間に処理するデータ記録高速化方法及びその電子機器が記載されているが、複数個のセクターを更新する作業でファイルシステムやデータベースの無欠性を保障するための方案は提案されていないという問題がある。
【００１２】
【特許文献１】特開２００４−２４２１６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで、本発明は上記従来の不揮発性メモリにおける問題点に鑑みてなされたものであって、本発明の目的は、トランザクションブロックを利用して複数のセクターに対して単位書き込みを支援し、トランザクションブロックを一括してデータブロックに変換してファイルシステムやデータベースの無欠性を保障することができる不揮発性メモリのデータ処理装置及びその処理方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するためになされた本発明による不揮発性メモリのデータ処理装置は、複数のブロックを含む不揮発性メモリと、ユーザの書き込み作業要求時、前記ブロックにデータを書き込んだ後に前記データが書き込まれたブロックを一括して有効化させる作業処理部と、前記作業処理部の作業処理に対応して前記ブロックの状態を管理するブロック管理部とを有することを特徴とする。
【００１５】
また、上記目的を達成するためになされた本発明による不揮発性メモリのデータ処理方法は、複数のブロックを含む不揮発性メモリにユーザの書き込み作業要求が入力される段階と、前記ブロックにデータを書き込んだ後に前記データが書き込まれたブロックを一括して有効化させる段階と、前記ブロックを一括して有効化させる段階の作業処理に対応して前記ブロックの状態を管理する段階とを有することを特徴とする。
【発明の効果】
【００１６】
本発明に係る不揮発性メモリのデータ処理装置及びその処理方法によれば、不揮発性メモリの書き込み作業時にトランザクションブロックを利用して書き込み作業を遂行し、書き込み作業完了時に一括してデータブロックに変換されるようにしてデータベースシステムやファイルシステムでロギング作業を省略することができ、無欠性を保障することができるという効果がある。
【００１７】
また、一括してトランザクションブロックがデータブロックに変換されるため不揮発性メモリの電源供給の中断状況に対処でき、システムの性能と安全性を向上させることができるという効果がある。
【発明を実施するための最良の形態】
【００１８】
本発明の利点及び特徴、そしてそれらを達成する方法は添付される図面と共に詳細に後述されている実施形態を参照すれば明確になるだろう。しかし本発明は以下で開示される実施形態に限定されるものではなく互いに異なる多様な形態で具現されることができ、単に本実施形態は本発明の開示が完全なようにして、本発明が属する技術分野で通常の知識を有する者に発明の範囲を完全に知らせるために提供されるものであり、本発明は請求項の範囲によってのみ定義される。明細書全体にかけて、同一参照符号は同一構成要素を指称する。
【００１９】
次に、本発明に係る不揮発性メモリのデータ処理装置及びその処理方法を実施するための最良の形態の具体例を図面を参照しながら説明する。
【００２０】
以下、本発明の実施形態による不揮発性メモリのデータ処理装置及びその処理方法を説明するためのブロック図又は処理フローチャートに対する図を参考にして本発明に対して説明する。この時、処理フローチャートの各ブロックとフローチャートの組み合せはコンピュータプログラムインストラクションによって、遂行され得る可能性があることを理解できるものである。
【００２１】
これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他プログラム可能なデータプロセシング装置のプロセッサに搭載され得るため、コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサを通して遂行される、そのインストラクションがフローチャートブロックで説明された機能を遂行する手段を生成するようになる。
【００２２】
これらコンピュータプログラムインストラクションは、特定方式で機能を具現するためにコンピュータ又はその他プログラム可能なデータプロセシング装置を指向できるコンピュータ利用可能又はコンピュータ判読可能メモリに保存することも可能であるため、そのコンピュータ利用可能又はコンピュータ判読可能メモリに保存されたインストラクションはフローチャートブロックで説明された機能を遂行するインストラクション手段を内包する製造品目として生産することも可能である。
【００２３】
コンピュータプログラムインストラクションは、コンピュータ又はその他プログラム可能なデータプロセシング装置上に搭載されるのも可能なため、コンピュータ又はその他プログラム可能なデータプロセシング装置上で一連の動作段階が遂行され、コンピュータで実行されるプロセスを生成し、コンピュータ又はその他プログラム可能なデータプロセシング装置を遂行するインストラクションはフローチャートブロックで説明された機能を実行するための段階を提供することも可能である。
【００２４】
また、各ブロックは特定された論理的機能を実行するための一つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を示し得る。また、いくつかの代替実行形態ではブロックで言及された機能が順序を外れ発生することも可能であることに注目しなければならない。例えば、相次いで図に示される二つのブロックは事実実質的に同時に遂行されることも可能でまたはそのブロックが時々該当する機能によって逆順で遂行されるのも可能である。
【００２５】
図２は本発明の実施形態による不揮発性メモリのデータ処理装置を示すブロック図であり、図３は本発明の実施形態による不揮発性メモリの構造を示すブロック図である。
【００２６】
図に示すように、本発明の実施形態による不揮発性メモリのデータ処理装置１００は、不揮発性メモリ１１０、ユーザ要求部１２０、作業処理部１３０及びブロック管理部１４０を含み得る。
【００２７】
不揮発性メモリ１１０は複数のページを含む複数のブロックを含み得る。本発明の実施形態で不揮発性メモリ１１０に含まれたブロックはマップブロック、ガーベッジブロック、データブロック及びトランザクションブロックの用途で使用され得る。
【００２８】
マップブロックは不揮発性メモリ１１０に含まれるすべてのブロックの状態情報及びマッピングテーブルが保存され、ガーベッジブロックは有効なデータが存在せず消去作業をよって使用できるブロックを意味し、データブロックはコミット（Ｃｏｍｍｉｔ）された安定した状態のデータを有しているブロックを意味し、トランザクションブロックはトランザクションが始まれば割り当てられるブロックを意味する。また、ガーベッジブロックはマップブロック、データブロック及びトランザクションブロックとして使用され得る。
【００２９】
本発明の実施形態で不揮発性メモリ１１０は、初期フォーマット時に一つのマップブロックを除外したすべてのブロックがガーベッジブロック状態になる場合を例をあげて説明しているが、これは本発明の理解を助けるための一例に過ぎないものでマップブロックは一つ以上が存在し得る。
【００３０】
ユーザ要求部１２０は、ユーザの所定書き込み作業に対する要求が入力され得る。また、ユーザ要求部１２０は書き込み作業要求以外にも読み取り作業、消去作業及び現在進行している作業の中断要求が入力されることもある。この時、本発明の実施形態ではユーザ要求部１２０によって、ユーザの書き込み作業要求が入力された場合を例をあげて説明することにする。
【００３１】
作業処理部１３０は、ユーザ要求部１２０によって入力された作業要求により要求された作業に対する処理を遂行し得る。すなわち、本発明の実施形態による作業処理部１３０は、前述したＦＴＬにより作業を処理するようになり、本発明の実施形態によるＦＴＬは、一般的なＦＴＬが「デバイスオープン（ＦＴＬ＿Ｏｐｅｎ）」、「デバイスクローズ（ＦＴＬ＿Ｃｌｏｓｅ）」、「読み取り（ＦＴＬ＿Ｒｅａｄ）」および「書き込み（ＦＴＬ＿Ｗｒｉｔｅ）」のように４種類のＡＰＩを提供するものである反面、前述した４種類のＡＰＩとさらに追加して「トランザクション開始（ＦＴＬ＿ＢｅｇｉｎＴｘｎ）」、「トランザクション  コミット（ＦＴＬ＿ＣｏｍｍｉｔＴｘｎ）」及び「トランザクション中止（ＦＴＬ＿ＡｂｏｒｔＴｘｎ）」のような三つのＡＰＩを支援することができる。
【００３２】
具体的には、作業処理部１３０はユーザ要求部１２０によって、書き込み作業が要求された時、「トランザクション開始」と「トランザクションコミット」の間に数回の「書き込み」を呼び出し、「トランザクションコミット」が呼び出される以前にシステムが中断されたり電源供給が中断される場合、すべての書き込み作業は取り消すようになる。一方、ユーザは「トランザクション中止」を明示的に呼び出し、書き込み作業を取り消しできるようになる。また、ユーザはユーザ要求部１２０を利用して「トランザクション開始」、「トランザクションコミット」及び「トランザクション中止」のようなＡＰＩを呼び出すことができる。
【００３３】
作業処理部１３０の作業処理と一緒にブロック管理部１４０は、書き込み作業に対応して不揮発性メモリ１１０に含まれたブロックを管理するようになる。すなわち、ブロック管理部１４０は作業処理部１３０によってトランザクションが始まる場合、ガーベッジブロックを割り当て、トランザクションが遂行されるようにできる。また、ブロック管理部１４０は安定した状態のデータと不安定な状態のデータ、すなわちコミットされたブロックとトランザクションが始まったがコミットされていないブロックをマッピングテーブルを通して管理することができる。
【００３４】
具体的には、ブロック管理部１４０は図３のように不揮発性メモリ１１０に含まれたブロックをマップブロック１１１、データブロック１１２、トランザクションブロック１１３、及びガーベッジブロック１１４に区分して管理することができるものである。もちろん、図３ではマップブロック１１１、データブロック１１２、トランザクションブロック１１３、及びガーベッジブロック１１４がすべて存在するが不揮発性メモリ１１０の初期フォーマット時にはマップブロック１１１及びガーベッジブロック１１４が存在するようになり、マップブロック１１１、データブロック１１２、トランザクションブロック１１３、及びガーベッジブロック１１４の状態は処理する作業によってその数が変更される。
【００３５】
ブロック管理部１４０は、不揮発性メモリ１１０のブロックを前述したマップブロック、データブロック、トランザクションブロック、及びガーベッジブロックに区分して管理し、トランザクションがコミットされる時、該当ブロックをトランザクションブロックでデータブロックに変換させて、このような作業はマップブロックに記録された各ブロックの状態を変換させることができる。
【００３６】
図４は、本発明の実施形態によるブロックマップを示した図である。
具体的には、本発明の実施形態によるマップブロック１１１には図４のように、各ブロックに対するブロック状態情報２１１、削除回数２１２及びブロック生成順序２１３を表すブロックマップ２１０を保存することができ、ブロック管理部１４０は作業処理部１３０による書き込み作業がコミットされる場合、一括してトランザクションブロックのブロック状態情報２１１をデータブロックに一括変換するようになる。
この時、ブロックマップ２１０はすべてのブロックに対して各々保存されており、ブロック状態情報２１１は該当ブロックがマップブロック、データブロック、トランザクションブロック、及びガーベッジブロックの内のどこに属するかを表す。また、ブロック生成順序２１３は該当ブロックが生成された順序を表すものと理解し得る。
【００３７】
図５は、本発明の実施形態によるマッピングテーブルを示した図である。
ブロック管理部１４０は、各ブロックに対するマッピングテーブルを生成し保存することができ、このようなマッピングテーブルはマップブロック１１１に保存され得る。マップブロック１１１に記録されるマッピングテーブルを、安定した状態のセクターと不安定な状態のセクターを区分するために二元化され管理することができる。具体的には、本発明の実施形態によるマッピングテーブル２２０は図５のように、各論理セクター番号に対して安定した状態のページ及び不安定な状態のページが各々マッピングされ得る。このように、マッピングテーブル２２０を二元化して管理するのは不安定な状態のページは書き込み作業がコミットされる前には常に書き込み作業が取り消され得る可能性が存在するため、コミットされる時まで既存データに対する情報を削除してはならないためである。
【００３８】
また、マッピングテーブル２２０を二元化して管理するのはガーベッジコレクション時に該当セクターの状態を知るために行うものである。言い換えれば、既存のものではトランザクションの概念がなかったため、セクター書き込み時ＦＴＬで空のページに書き込み作業を処理し、該当セクターに対するマッピングテーブルを変更して、該当セクターに以前のデータはこれ以上必要がないのでガーベッジとしてマークするようになる。しかし、トランザクションの概念を支援する場合にはセクター書き込み時にコミットされる前に取り消される可能性も存在するため以前のデータに対する情報が必要なためである。
【００３９】
図６は本発明の実施形態による不揮発性メモリのデータ処理方法を示すフローチャートである。
また、図６は不揮発性メモリ１１０がフォーマットされ、マップブロックとガーベッジブロックだけが存在する状態の場合を例をあげて、説明することにし、マップブロック及びガーベッジブロックだけでなく、データブロック及びトランザクションブロックが共に存在する場合にも同一に適用され得る。
【００４０】
図に示すように、本発明の実施形態による不揮発性メモリのデータ処理方法は、まず、ユーザがユーザ要求部１２０を利用して不揮発性メモリ１１０に書き込み作業を要求する（ステップＳ１１０）。
【００４１】
作業処理部１３０は、ユーザの書き込み要求により不揮発性メモリ１１０のガーベッジブロックをトランザクションブロックに割り当て、書き込み作業を遂行するようになる（ステップＳ１２０）。
この時、作業処理部１３０はＦＴＬのＡＰＩのうち「トランザクション開始」を呼び出すようになり、「トランザクションコミット」が呼び出しされる前まで複数の「書き込み」を呼び出し、ユーザが要求した書き込み作業を遂行する。
【００４２】
この時、上述したステップＳ１２０段階で作業処理部１３０が書き込み作業を遂行する間、ブロックの割り当てなどはブロック管理部１４０によって管理される。すなわち、マップブロックに保存されるブロックマップでのブロック状態情報等とマッピングテーブルがブロック管理部１４０によって管理されるものである。
【００４３】
次に、作業処理部１３０はユーザによって「トランザクションコミット」が呼び出されたかを判断し（ステップＳ１３０）、判断の結果「トランザクションコミット」が呼び出された場合、ブロック管理部１４０は複数のトランザクションブロックをデータブロックに変換する（ステップＳ１４０）。
この時、ブロック管理部１４０が複数のトランザクションブロックをデータブロックに変換する時、マップブロックに保存されたブロックマップにブロック状態情報を変換し、一括してトランザクションブロックがデータブロックに変換されるようにする。
【００４４】
万一、上述したステップＳ１３０段階で「トランザクションコミット」が呼び出されなかったり、突然の電源供給中断が発生すれば、ユーザによって要求された書き込み作業は取り消され（ステップＳ１５０）、トランザクションブロックは改めてガーベッジブロックに変換される。
【００４５】
図７は、本発明の実施形態による不揮発性メモリでの各ブロックの状態変移を示した図である。
【００４６】
図に示したように、ガーベッジブロックはガーベッジコレクションによって、データブロックになることができ、ガーベッジブロックは「トランザクション開始」呼び出し時、トランザクションブロックに変換され得る。また、トランザクションブロックは「トランザクションコミット」が呼び出される前にユーザによって「トランザクション中止」が呼び出されたり、電源供給が中断された場合、改めてガーベッジブロックに変換される。トランザクションブロックは「トランザクションコミット」が呼び出された場合、データブロックに変換され得る。
【００４７】
以上で表記された「部」は、ソフトウェア又はＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）または注文型（特定用途向け）集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ；ＡＳＩＣ）のようなハードウェア構成要素を意味し、「部」はある役割を遂行する。しかし、「部」はソフトウェア又はハードウェアに限定される意味ではない。「部」はアドレッシングできる保存媒体に存在するように構成することもでき、一つ又はそれ以上のプロセッサを実行させるように構成され得ることもある。したがって、一形態として「部」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラム  コードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含み得る。構成要素と「部」で提供されている機能はさらに小さい数の構成要素及び「部」に結合したり追加的な構成要素と「部」にさらに分離することもできる。
【００４８】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【図面の簡単な説明】
【００４９】
【図１】従来の技術によるページマッピング技法を示した図である。
【図２】本発明の実施形態による不揮発性メモリのデータ処理装置を示すブロック図である。
【図３】本発明の実施形態による不揮発性メモリの構造を示すブロック図である。
【図４】本発明の実施形態によるブロックマップを示した図である。
【図５】本発明の実施形態によるマッピングテーブルを示した図である。
【図６】本発明の実施形態による不揮発性メモリのデータ処理方法を示すフローチャートである。
【図７】本発明の実施形態による各ブロックの状態変移を示した図である。
【符号の説明】
【００５０】
１００      不揮発性メモリのデータ処理装置
１１０      不揮発性メモリ
１１１      マップブロック
１１２      データブロック
１１３      トランザクションブロック
１１４      ガーベッジブロック
１２０      ユーザ要求部
１３０      作業処理部
１４０      ブロック管理部
２１０      ブロックマップ
２２０      マッピングテーブル
【図１】
2008299848.tif 000003
【図２】
2008299848.tif 000004
【図３】
2008299848.tif 000005
【図４】
2008299848.tif 000006
【図５】
2008299848.tif 000007
【図６】
2008299848.tif 000008
【図７】
2008299848.tif 000009