(57)【要約】  本発明は、フラッシュメモリのデータ処理装置及び方法に関し、より詳しくはフラッシュメモリのデータに対する有効性を容易に判断し得るフラッシュメモリのデータ処理装置及び方法に関するものである。  本発明の実施形態によるフラッシュメモリのデータ処理装置は、所定の論理アドレスを用いてデータ演算を要請するユーザ要請部と、前記論理アドレスを物理アドレスに変換する変換部と、前記データから所定ビットの個数をカウントしたカウントデータを、前記データ演算実行時に前記データの有効性の可否を示すインデックス領域に記録する制御部とを含む。
2008521123.tif 000002
【特許請求の範囲】
【請求項１】
所定の論理アドレスを用いてデータ演算を要請するユーザ要請部と、
前記論理アドレスを物理アドレスに変換する変換部と、
前記データから所定ビットの個数をカウントしたカウントデータを、前記データ演算実行時に前記データの有効性の可否を示すインデックス領域に記録する制御部と、を含むフラッシュメモリのデータ処理装置。
【請求項２】
前記制御部は、前記カウントデータのインバートされたデータを生成する請求項１に記載のフラッシュメモリのデータ処理装置。
【請求項３】
前記インデックス領域は、前記カウントデータが記録されるカウント領域と、前記インバートされたデータが記録されるインバート領域と、を含む請求項２に記載のフラッシュメモリのデータ処理装置。
【請求項４】
前記インバートされたデータは前記カウントデータの逆データからなる請求項３に記載のフラッシュメモリのデータ処理装置。
【請求項５】
所定の論理アドレスに存在するデータの有効性の可否を示すインデックス領域に記録されたデータを抽出する抽出部と、
前記論理アドレスに存在するデータと前記抽出されたデータの関係によって前記論理アドレスに存在するデータの有効性の可否を判断する制御部と、を含むフラッシュメモリのデータ処理装置。
【請求項６】
前記インデックス領域は前記論理アドレスに存在するデータの所定ビットの個数をカウントしたカウントデータが記録されるカウント領域と、
前記カウントデータのインバートされたデータが記録されるインバート領域と、を含む請求項５に記載のフラッシュメモリのデータ処理装置。
【請求項７】
前記インバートされたデータは前記カウントデータの逆データからなる請求項６に記載のフラッシュメモリのデータ処理装置。
【請求項８】
前記制御部は、前記インバートされたデータの逆変換時に前記カウントデータと同一である場合、前記カウントデータが有効であると判断する請求項７に記載のフラッシュメモリのデータ処理装置。
【請求項９】
前記制御部は、前記論理アドレスに存在するデータで所定ビットの個数と前記カウントデータによる該当ビットの個数が同一である場合、前記論理アドレスに存在するデータが有効であると判断する請求項８に記載のフラッシュメモリのデータ処理装置。
【請求項１０】
所定の論理アドレスを用いて所定のデータ演算が要請されるステップと、
前記論理アドレスが物理アドレスに変換されるステップと、
前記データから所定ビットの個数をカウントしたカウントデータを、前記データ演算実行時に前記データの有効性の可否を示すインデックス領域に記録するステップと、を含むフラッシュメモリのデータ処理方法。
【請求項１１】
前記カウントデータを記録するステップは、前記カウントデータのインバートされたデータを生成して記録するステップを含む請求項１０に記載のフラッシュメモリのデータ処理方法。
【請求項１２】
前記インバートされたデータは前記カウントデータの逆データからなる請求項１１に記載のフラッシュメモリのデータ処理方法。
【請求項１３】
所定の論理アドレスに存在するデータの有効性の可否を示すインデックス領域に記録されたデータを抽出するステップと、
前記論理アドレスに存在するデータと前記抽出されたデータの関係によって前記論理アドレスに存在するデータの有効性の可否を判断するステップと、を含むフラッシュメモリのデータ処理方法。
【請求項１４】
前記インデックス領域に記録されたデータを抽出するステップは、前記論理アドレスに存在するデータから所定ビットの個数をカウントしたカウントデータを抽出するステップと、前記カウントデータのインバートされたデータを抽出するステップと、を含む請求項１３に記載のフラッシュメモリのデータ処理方法。
【請求項１５】
前記論理アドレスに存在するデータ有効性の可否を判断するステップは、前記カウントデータの有効性の可否を判断するステップをさらに含む請求項１４に記載のフラッシュメモリのデータ処理方法。
【請求項１６】
前記論理アドレスに存在するデータ有効性の可否の判断は、前記カウントデータが有効である場合にのみ行われ、前記カウントデータは逆変換されたインバートされたデータと同一である場合、有効であると判断する請求項１５に記載のフラッシュメモリのデータ処理方法。
【請求項１７】
前記論理アドレスに存在するデータは、前記カウントデータによる所定ビットの個数と前記論理アドレスに存在するデータで該当ビットの個数が同一である場合、有効であると判断する請求項１６に記載のフラッシュメモリのデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリのデータ処理装置及び方法に関し、より詳しくはフラッシュメモリのデータに対する有効性を容易に判断し得るフラッシュメモリのデータ処理装置及び方法に関するものである。
【背景技術】
【０００２】
一般に、家電機器、通信機器、セットトップボックスなどの埋め込みシステムにはデータを格納して処理するための格納媒体として不揮発性メモリが多く使われている。
【０００３】
不揮発性メモリのうち主に使われるフラッシュメモリは、電気的にデータを削除したり、再記録することができる不揮発性記憶素子であって、磁気ディスクメモリを基盤とする格納媒体に比べて電力消耗が少なく、ハードディスクのような速いアクセスタイムを有し、サイズが小さいため、携帯機器などに適する。
【０００４】
フラッシュメモリは、ハードウェア的な特性上、既に記録されているデータに再記録する場合、該当データが記録されたブロック全体を削除する過程を必要とする。
このように、フラッシュメモリでデータの記録及び削除単位の不一致によって生じ得る性能低下を防止するために論理アドレスと物理アドレスの概念が導入された。
【０００５】
このとき、論理アドレスはユーザが所定のユーザプログラムを通じてフラッシュメモリで所定のデータ演算を行う場合に使われるアドレスであり、物理アドレスは実際フラッシュメモリで所定のデータ演算を行う場合に使われるアドレスである。
【０００６】
また、フラッシュメモリは一般に小ブロックフラッシュメモリと大ブロックフラッシュメモリに区分されるが、小ブロックフラッシュメモリは論理的な演算単位と物理的な演算単位が同一である反面、大ブロックフラッシュメモリは論理的な演算単位に比べて物理的な演算単位が大きい特性を有する。
【０００７】
図１及び図２は一般的な小ブロックフラッシュメモリと大ブロックフラッシュメモリの概略的な構造を示す図面である。
小ブロックフラッシュメモリは図１に示すように、論理的な演算単位であるセクター１１と物理的な演算単位であるページ１２が同一であることが分かる。
【０００８】
一方、大ブロックフラッシュメモリは図２に示すように、少なくとも１つ以上の論理的な演算単位であるセクター２１が集まって１つの物理的な演算単位であるページ２２を構成することが分かる。
【０００９】
フラッシュメモリを基盤とするシステムは、その応用分野の特性上、予測できない電源供給中断が頻繁に発生する。したがって、フラッシュメモリの動作中に電源が中断された場合に対する対応が必須的である。
【００１０】
具体的に、フラッシュメモリに所定のデータを記録する場合と削除する場合について説明する。まず、フラッシュメモリに所定のデータを記録する途中、電源供給が中断されれば、フラッシュメモリに記録しようとしたデータの一部は記録され、また一部は記録されない場合が発生する。一方、フラッシュメモリから所定のデータを削除する途中、電源供給が中断されれば、フラッシュメモリから削除しようとしたデータの一部は削除され、また一部は削除されない場合が発生する。
【００１１】
したがって、フラッシュメモリにおけるデータの記録及び削除のようなデータ演算が完了する前に予測できなかった電源供給中断が発生した場合に対応してフラッシュメモリのデータに対する有効性を判断し得る多様な方法が提案されている。
【００１２】
図３は従来技術によるフラッシュメモリにおけるデータ記録演算方法を示す図面である。
図示のように、まずフラッシュメモリの所定セクターにデータを記録しようとする場合、該当セクターにデータを記録できるか否かを判断し、判断結果、該当セクターにデータを記録できる場合、データ記録演算を行う同時にデータが記録されるセクターに該当する所定のインデックス領域に所定のマーキング値を記録する（Ｓ１０）。
【００１３】
具体的に、フラッシュメモリは図４に示すように、データ領域３１とインデックス領域３２からなる多数ページ３３が集まって１つのブロック３４を構成する。また、インデックス領域３２はさらにデータ記録演算進行状態を表す第１インデックス領域３２ａと、データ削除演算進行状態を表す第２インデックス領域３２ｂに分けられる。このとき、第１インデックス領域３２ａ及び第２インデックス領域３２ｂに各々第１マーキング値と第３マーキング値が記録される。
【００１４】
また、データ領域３１が図５のように、多数のセクターからなる場合、第１インデックス領域３２ａは各セクターによって別に構成される。このとき、第２インデックス領域３２ｂも一般にセクター単位で構成される。
【００１５】
データ記録演算が完了すれば（Ｓ２０）、第１インデックス領域３２ａにはデータ記録演算が完了したことを表す第２マーキング値が記録される（Ｓ３０）。
例えば、データ記録演算が開始すれば、第１インデックス領域３２ａには第１マーキング値である「０ｘＦＥ」が記録され、第２インデックス領域には第３マーキング値である「０ｘ００」が記録される。また、データ記録演算が完了すれば第１インデックス領域３２ａには第２マーキング値である「０ｘＦＣ」が記録される。
【００１６】
このとき、データ記録演算時にデータを記録できるか否かを判断する方法は、第１インデックス領域３２ａ及び第２インデックス領域３２ｂに記録された値が全て初期値、例えば「０ｘＦＦ」である場合はデータ記録可能と判断し、場合によってはデータ領域３１の値が「０ｘＦＦ」である場合まで含んでデータ記録可能と判断するようになる。具体的に、フラッシュメモリで削除演算が行われる場合、全てのビットは１に変わる。したがって、全てのビットが１である場合の「０ｘＦＦ」である場合、データ記録可能状態となる。
【００１７】
図６は前記図３のデータ記録方法によって記録されたデータの有効性を判断する方法を示している。
図示のように、まず第１インデックス領域３２ａ及び第２インデックス領域３２ｂに記録された値が正常であるか否かを判断する（Ｓ４０）。
【００１８】
具体的に、第１インデックス領域３２ａ及び第２インデックス領域３２ｂに記録された値が前記第２マーキング値及び第３マーキング値である場合、第１インデックス領域３２ａ及び第２インデックス領域３２ｂに記録された値が正常であると判断する。
判断結果、正常である場合は該当セクターに記録されたデータを有効であると判断し（Ｓ５０）、そうでない場合は有効でないと判断する（Ｓ６０）。
【００１９】
しかし、前記のような従来技術によるデータの有効性判断方法は、該当セクターに記録されたデータの有効性を判断するために、データ記録時にデータ領域にデータ、第１インデックス領域３２ａに第１マーキング値、第２インデックス領域には第３マーキング値を記録する第１記録演算と第１インデックス領域３２ａにさらに第２マーキング値を記録する第２記録演算を経るようになる。
【００２０】
このような２回にわたる記録動作はフラッシュメモリの全体的な書き込み性能低下をもたらし得るという問題点がある。
また、フラッシュメモリのデータ削除演算が行われる途中、電源供給が中断されれば、前記データ領域３１のデータのうち一部は削除されるが、第１インデックス領域３２ａと第２インデックス領域３２ｂの値は全く削除されないため、実際的にデータは有効でないが、第１インデックス領域３２ａ及び第２インデックス領域３２ｂに記録されている値によっては有効であると判断し得るという問題点がある。すなわち、図７のように有効であるデータがデータ領域３１に記録された状態でデータ削除演算が行われる途中、電源供給が中断されれば、図８のようにデータ領域３１のデータは有効でないが、第１インデックス領域３２ａの第１マーキング値「０ｘＦＣ」、第２インデックス領域３２ｂの第３マーキング値「０ｘ００」は削除演算の影響を受けずにそのまま残っているため有効性判断結果、有効であるデータと判断し得るという問題点がある。
【００２１】
特許文献１には、記録削除演算によるマッピング情報を更新し、これを格納してエラーを防止し得るフラッシュメモリ、それによるフラッシュメモリアクセス装置及び方法を開示しているが、これは記録削除演算によるマッピング情報を更新するために経なければならない記録動作回数とマッピング情報自体にエラーが発生した場合、データの有効性を判断し難いという問題点がある。
【特許文献１】韓国公開特許第２００４−００４２４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明は、フラッシュメモリに所定のデータ演算を行う途中、電源供給が中断される場合、データの有効性を容易に判断し得るフラッシュメモリのデータ処理装置及び方法を提供することを目的とする。
本発明の目的は、前記目的に制限されず、言及していないさらなる目的は下記によって当業者に明確に理解できるものである。
【課題を解決するための手段】
【００２３】
前記目的を達成するために、本発明の実施形態によるフラッシュメモリのデータ処理装置は、所定の論理アドレスを用いてデータ演算を要請するユーザ要請部と、前記論理アドレスを物理アドレスに変換する変換部と、前記データから所定ビットの個数をカウントしたカウントデータを前記データ演算実行時に前記データの有効性の可否を示すインデックス領域に記録する制御部とを含む。
【００２４】
また、前記目的を達成するために、本発明の実施形態によるフラッシュメモリのデータ処理装置は、所定の論理アドレスに存在するデータの有効性の可否を示すインデックス領域に記録されたデータを抽出する抽出部と、前記論理アドレスに存在するデータと前記抽出されたデータの関係によって前記論理アドレスに存在するデータの有効性の可否を判断する制御部とを含む。
【００２５】
また、前記目的を達成するために、本発明の実施形態によるフラッシュメモリのデータ処理方法は、所定の論理アドレスを用いて所定のデータ演算が要請されるステップと、前記論理アドレスが物理アドレスに変換されるステップと、前記データから所定のビットの個数をカウントしたカウントデータを前記データ演算実行時に前記データの有効性の可否を示すインデックス領域に記録するステップとを含む。
【００２６】
さらに、前記目的を達成するために、本発明の実施形態によるフラッシュメモリのデータ処理方法は、所定の論理アドレスに存在するデータの有効性の可否を示すインデックス領域に記録されたデータを抽出するステップと、前記論理アドレスに存在するデータと前記抽出されたデータの関係によって前記論理アドレスに存在するデータの有効性の可否を判断するステップとを含む。
その他、実施形態の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００２７】
前記のような本発明のフラッシュメモリのデータ処理装置及び方法によれば次のような効果が１つあるいはそれ以上ある。
第一に、データの記録または削除演算中に電源が中断されて、記録または削除中のデータが所望するデータと異なる場合、これを発見する検査の正確度を高めることができるという長所がある。
第二に、所定論理アドレスに該当するインデックス領域にデータ記録演算後、所定値をマーキングしないため、データの有効性判断のためにデータ記録時に必要とする演算回数が減少してフラッシュメモリの全体的な性能を向上させることができるという長所がある。
【発明を実施するための最良の形態】
【００２８】
本発明の利点及び特徴、そしてそれらを達成する方法は添付する図面とともに詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下に開示される実施形態に限定されず、相異なる多様な形態によって具現でき、単に本実施形態は本発明の開示を完全なものにし、本発明の属する技術分野における通常の知識を有する者に発明の範疇を完全に知らせるために提供するものであって、本発明は請求項の範疇によってのみ定義される。明細書全体にわたって同じ参照符号は同じ構成要素を示す。
【００２９】
以下、本発明の実施形態により、フラッシュメモリのデータ処理装置及び方法を説明するためのブロック図または処理フローチャートに関する図面を参考して本発明について説明する。この場合、処理フローチャートの各ブロックとフローチャートの組み合せは、コンピュータプログラムインストラクションによって行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他プログラム可能なデータプロセシング装備のプロセッサに搭載できるので、コンピュータまたはその他プログラム可能なデータプロセシング装備のプロセッサによって行われるインストラクションはフローチャートブロックで説明する機能を行う手段を生成する。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するために、コンピュータまたはその他プログラム可能なデータプロセシング装備が備えられるコンピュータによって利用可能または読取可能なメモリに格納できるので、そのコンピュータによって利用可能または読取可能なメモリに格納したインストラクションは、フローチャートブロックで説明する機能を行うインストラクション手段を含む製造品目の生産に用いることができる。また、コンピュータプログラムインストラクションは、コンピュータまたはその他プログラム可能なデータプロセシング装備上に搭載できるので、コンピュータまたはその他プログラム可能なデータプロセシング装備上で一連の動作ステップが行われ、コンピュータで実行されるプロセスを生成してコンピュータまたはその他プログラム可能なデータプロセシング装備の機能を行うインストラクションは、フローチャートブロックで説明する各ステップの機能を実行することもできる。
【００３０】
また、各ブロックは特定した論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を表すことができる。また、複数の代替実行例ではブロックで言及した機能が順序から外れて行われ得ることに注目しなければならない。例えば、連続して図示している２つのブロックは、実質的に同時に行われることも可能であり、またはそのブロックが場合によって該当する機能に応じて逆順に行われることも可能である。
【００３１】
以下、添付する図面を参照して本発明の好ましい実施形態を詳細に説明する。
【００３２】
一般に、フラッシュメモリは大きく小ブロックフラッシュメモリと大ブロックフラッシュメモリに分けられる。
小ブロックフラッシュメモリは実際の物理的な演算単位と論理的な演算単位が同一である反面、前記大ブロックフラッシュメモリは実際の物理的な演算単位が前記論理的な演算単位より大きい。
【００３３】
ここで、論理的な演算単位は通常セクターといい、ユーザが所定のユーザプログラムを使用してフラッシュメモリにデータを記録するための演算単位である。
【００３４】
また、物理的な演算単位は通常ページといい、実際のフラッシュメモリにおけるデータ演算、例えばデータ記録などの演算単位である。
このとき、論理的な演算単位及び物理的な演算単位はセクター及びページに限られず、使用する装置によって多様な単位で使うことができる。
【００３５】
従来には各セクターデータ演算を行う場合、データの有効性検証のために、データ演算が完了した後、所定セクターに該当するインデックス領域に所定値をマーキングする過程を経る。このようなデータ演算後、必要とするマーキング過程は全般的な書き込み性能を低下させ得る。
また、セクターだけでなく、インデックス領域に該当する容量がさらに使われるため格納容量が浪費される。
【００３６】
したがって、本発明の実施形態はフラッシュメモリでデータ演算実行時に有効性判断のために必要とする演算回数及び容量を減少させると同時に各論理アドレスのデータ有効性の可否を容易に判断し得るフラッシュメモリのデータ処理装置に関し、図９は本発明によるフラッシュメモリのデータ処理装置の構造を概略的に示している。
【００３７】
図示のように、本発明の実施形態によるフラッシュメモリのデータ処理装置は、ユーザが所定の論理アドレスを用いてフラッシュメモリにおけるデータ演算を要請するユーザ要請部１００と、論理アドレスを物理アドレスに変換する変換部２００と、変換された物理アドレスによってフラッシュメモリの動作を制御するデバイスドライバ４００を通じてフラッシュメモリに所定のデータ演算を行い、データ演算実行結果、論理アドレスに存在するデータから所定ビットの個数をカウントしたカウントデータを、論理アドレスに存在するデータの有効性の可否を示すインデックス領域に記録する制御部３００と、論理アドレスに存在するデータの有効性判断時にインデックス領域のデータを抽出する抽出部５００とを含むことができる。
【００３８】
本発明の実施形態によるフラッシュメモリは図１０に示すように、少なくとも１つ以上の論理アドレスを含み、データ演算が行われるデータ領域６１０と、データ演算実行結果、データ領域６１０に存在するデータの所定ビットの個数をカウントしたカウントデータが記録されるインデックス領域６２０を含むことができる。このとき、データの所定ビットとして「１」ビットまたは「０」ビットを使うことができ、場合によって選択的に使うことができる。
【００３９】
また、インデックス領域６２０は所定ビットの個数をカウントしたカウントデータが記録されるカウント領域６２１と、カウントデータのインバートされたデータが記録されるインバート領域６２２とを含むことができる。このようなインデックス領域６２０はデータ領域６１０に存在するデータが記録される単位によって構成される。インデックス領域６２０はデータ領域６１０に１回にわたるデータ記録が完了する領域の次に位置することができる。例えば、データ領域６１０にデータが１回に１０ｂｙｔｅが記録されれば、インデックス領域６２０は１０ｂｙｔｅの次に位置し、データ領域６１０にデータが１回に５０４ｂｙｔｅが記録されれば、インデックス領域６２０は５０４ｂｙｔｅの次に位置することができる。もちろんインデックス領域６２０の位置がデータ領域の次に固定されているのではない。
【００４０】
ここで、インバートされたデータはカウント領域６２１に記録されたカウントデータが所定の変換方式によって変換されたデータであって、本発明の実施形態では変換方式として論理アドレスに記録されたデータの１の補数変換が行われた場合を例として説明しているが、これに限定されず、インバートされたデータの逆変換時に論理アドレスに記録されたデータと同一になる全ての変換方式、例えば２の補数変換などを採択することもできる。例えば、インバートされたデータがカウントデータの１の補数である場合、カウントデータが「１０１０」であればインバートされたデータは「０１０１」になり得る。
【００４１】
一方、制御部３００はインデックス領域６２０に記録されたカウントデータ及びインバートされたデータによってデータ領域６１０に存在するデータの有効性を判断することができる。このとき、カウントデータ及びインバートされたデータは抽出部５００によって抽出され、制御部３００は抽出されたカウントデータに対する有効性を判断した後、データ領域６１０に存在するデータの有効性を判断することができる。
【００４２】
制御部３００はインバートされたデータを逆変換してカウントデータと同一であるか否かを判断し、判断結果に応じてカウントデータの有効性を判断することができる。このとき、カウントデータの有効性を判断する理由は、カウントデータを使ってデータの有効性を判断する前にカウントデータ自体の有効性を先に確認しなければならないためである。
【００４３】
以後、制御部３００はカウントデータによる所定ビットの個数とデータ領域６１０に存在するデータで該当ビットの個数を比較して同一である場合は有効であると判断し、そうでない場合は有効でないと判断することができる。
【００４４】
したがって、各セクターに対するデータの有効性を判断するためにデータ記録演算後、セクターに該当するインデックス領域に所定値をマーキングする場合に比べて必要とする演算回数を減らすことができる
以下、本発明の実施形態によるフラッシュメモリのデータ処理方法について説明する。
【００４５】
図１１は本発明の実施形態によるフラッシュメモリのデータ演算実行時にカウントデータ及びインバートされたデータを生成する方法を示す図面である。
図示のように、まずユーザがユーザ要請部１００を用いて所定の論理アドレスにデータ演算を要請する（Ｓ１１０）。
このとき、制御部３００はデータ演算実行以前にデータ演算時に使われるデータから所定ビットの個数をカウントし（Ｓ１２０）、カウント結果に応じて制御部３００は所定ビットの個数をカウントしたカウントデータを生成する（Ｓ１３０）。このとき、カウントされるビットは「１」ビットまたは「０」ビットであり得、場合によって選択的に使うことができる。
【００４６】
また、制御部３００は生成されたカウントデータのインバートされたデータを生成する（Ｓ１４０）。
【００４７】
具体的に、ユーザがデータ演算を要請すれば、該当データはバッファーにロードされ、制御部３００はロードされたデータから所定ビットの個数をカウントするようになる。このとき、制御部３００はカウントされたカウントデータを通じてインバートされたデータをまた生成するようになる。また、制御部３００は生成されたカウントデータ及びインバートされたデータをバッファーにロードさせる。
【００４８】
以後、制御部３００はデータ演算を行う同時に生成されたカウントデータ及びインバートされたデータを各々カウント領域６２１とインバート領域６２２に記録する（Ｓ１５０）。すなわち、制御部３００はバッファーにロードされたデータ、カウントデータ及びインバートされたデータを各々データ領域６１０、カウント領域６２１、インバート領域６２２に記録する。
【００４９】
前記図１１の本発明の実施形態によるカウントデータ及びインバートされたデータの生成方法を図１２及び図１３を参照してより詳細に説明する。
データ領域６１０に所定のデータ演算によって「１００１０１００１１」が存在する場合、制御部３００が「１」ビットの個数をカウントするようになれば、図１２のようにカウント領域６２１には「０１１０」が記録される。このとき、インバートされたデータがカウントデータの１の補数である場合、インバート領域６２２には「０１１０」の１の補数である「１００１」が記録される。例えば、制御部３００が「０」ビットの個数をカウントすれば、図１３のようにカウント領域６２１には「０１００」が記録され、インバート領域６２２には「０１００」の１の補数である「１０１１」が記録される。
【００５０】
図１４は前記図１１の方法によって記録されたカウントデータとインバートされたデータによってデータ領域６１０に存在するデータの有効性を判断する方法を示す図面である。
図示のように、まず抽出部５００がカウント領域６２１及びインバート領域６２２のカウントデータ及びインバートされたデータを抽出する（Ｓ２１０）。
【００５１】
以後、制御部３００は抽出されたカウントデータ及びインバートされたデータが互いにインバート関係を有するか否かを判断する（Ｓ２２０）。このとき、インバート関係はインバートされたデータを逆変換してカウントデータと比較して同一であるか否かを判断し、判断結果、同一である場合はインバート関係を有すると判断し、そうでない場合はインバート関係でないと判断する。また、カウントデータとインバートされたデータが互いにインバート関係でない場合にはデータ領域６１０に存在するデータに対する有効性を判断することができないためデータ領域６１０に存在するデータも有効でないと判断する。
【００５２】
判断結果、カウントデータとインバートされたデータが互いにインバート関係である場合、制御部３００はデータ領域６１０に存在するデータから所定ビットの個数をカウントする（Ｓ２３０）。このとき、カウントされるビットはカウントデータ生成時に使われたビットと同一ビットが使われる。
【００５３】
データ領域６１０に存在するデータから所定ビットの個数をカウントしたデータと抽出されたカウントデータが同一であるか否かを判断する（Ｓ２４０）。
【００５４】
判断結果、データ領域６１０に存在するデータで所定ビットの個数と抽出されたカウントデータによる所定ビットの個数が同一である場合、データ領域６１０に存在するデータは有効であると判断される（Ｓ２５０）。
【００５５】
例えば、データ領域６１０に存在するデータで所定ビットの個数と抽出されたカウントデータによる所定ビットの個数が異なったり、前記カウントデータとインバートされたデータが互いにインバート関係でない場合、データ領域６１０に存在するデータは有効でないと判断される（Ｓ２６０）。
【００５６】
一方、本発明の実施形態において、「部」はソフトウェアまたはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）または注文型半導体（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）のようなハードウェア構成要素を意味し、モジュールはある役割を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定される意味ではない。モジュールはアドレシングできる格納媒体にあるように構成することができ、１つまたはそれ以上のプロセッサを実行させるように構成することもできる。したがって、一例としてモジュールは、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素などのような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素とモジュールにより提供される機能は、さらに小さい数の構成要素及びモジュールで結合されたり、追加的な構成要素とモジュールにさらに分離できる。
【００５７】
以上、本発明によるフラッシュメモリのデータ処理装置及び方法を例示する図面を参照して説明したが、本発明は本明細書に開示した実施形態と図面に限定されず、その発明の技術思想範囲内で当業者によって多様な変形が行われるのは言うまでもない。
【図面の簡単な説明】
【００５８】
【図１】一般的な小ブロックフラッシュメモリの構造を示す図である。
【図２】一般的な大ブロックフラッシュメモリの構造を示す図である。
【図３】従来技術によるフラッシュメモリにおけるデータの記録演算方法を示す図である。
【図４】一般的なフラッシュメモリのデータ領域とインデックス領域を示す図である。
【図５】図４のデータ領域に含まれた各セクター別に区分されたインデックス領域を示す図である。
【図６】従来技術によるフラッシュメモリのデータ有効性判断方法を示す図である。
【図７】従来技術によって有効であるデータが記録されたデータ領域とインデックス領域を示す図である。
【図８】従来技術によって有効でないデータが記録されたデータ領域とインデックス領域を示す図である。
【図９】本発明によるフラッシュメモリのデータ処理装置を示す図である。
【図１０】本発明の実施形態によるデータ領域及びインデックス領域を示す図である。
【図１１】本発明の実施形態によるカウントデータとインバートされたデータを生成する方法を示す図である。
【図１２】本発明の実施形態によって１ビットの個数をカウントしたカウントデータ及びインバートされたデータを示す図である。
【図１３】本発明の実施形態によって０ビットの個数をカウントしたカウントデータ及びインバートされたデータを示す図である。
【図１４】本発明の実施形態によってフラッシュメモリに記録されたデータの有効性を判断する方法を示す図である。
【図１】
2008521123.tif 000003
【図２】
2008521123.tif 000004
【図３】
2008521123.tif 000005
【図４】
2008521123.tif 000006
【図５】
2008521123.tif 000007
【図６】
2008521123.tif 000008
【図７】
2008521123.tif 000009
【図８】
2008521123.tif 000010
【図９】
2008521123.tif 000011
【図１０】
2008521123.tif 000012
【図１１】
2008521123.tif 000013
【図１２】
2008521123.tif 000014
【図１３】
2008521123.tif 000015
【図１４】
2008521123.tif 000016
【国際調査報告】
2008521123.tif 000017
2008521123.tif 000018