(57)【要約】フラッシュメモリメディアにおけるデータ管理方法を提供する。この方法は、複数のブロックを２以上のセクションに分割し、各セクションにおいてブロックの論理アドレスをスキャンすることによって、セクション・アドレス・マッピングテーブルを生成し、マッピングテーブルを各セクションのバックアップブロックに格納し、マッピングテーブルを読むことによってリード／ライトのオペレーションを実行し、ＲＡＭに格納したマッピングテーブルにもとづいて物理アドレスと論理アドレス間の変換を実行する。マッピングテーブルが各セクションのバックアップブロックに格納されるため、リード／ライトのオペレーションが実行され、次のセクションに対するマッピングテーブルに切り替える必要があるときでも、次のセクションのバックアップブロックに格納されたマッピングテーブルに基づいて、次のセクションに格納されたデータを読み出すことができる。【選択図】図１
2009510552.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリメディアにおけるデータ管理方法であって、前記フラッシュメモリメディアは複数のブロックを含み、各ブロックは複数のページを含み、各ページはデータ格納ビットと冗長ビットを含み、当該方法は、
１）複数のブロックを２つ以上のセクションに分割するステップと、
２）各セクションにおいてブロックの論理アドレスをスキャンすることによって、セクション・アドレス・マッピングテーブルを生成するステップと、
３）前記セクション・アドレス・マッピングテーブルを各セクションのバックアップブロックに格納するステップと、
４）前記論理アドレスを対応する物理アドレスにマップするために前記セクション・アドレス・マッピングテーブルをＲＡＭにロードすることにより、リード／ライトのオペレーションを実行するステップとを含むことを特徴とする方法。
【請求項２】
５）特定のセクションにおけるブロックの新しい論理アドレスにもとづいて新しいセクション・アドレス・マッピングテーブルを生成するステップと、
６）前記特定のセクションのバックアップブロックに前記新しいセクション・アドレス・マッピングテーブルを格納することにより、前記バックアップブロックに格納された前記セクション・アドレス・マッピングテーブルを更新するステップと、
７）前記セクション・アドレス・マッピングテーブルにもとづいて物理アドレスと論理アドレス間の変換を実行することにより、リード／ライトのオペレーションを実行するステップとをさらに含む請求項１の方法。
【請求項３】
前記更新するステップは、切り替えブロックによって行われ、前記更新するステップは、
１）前記セクション・アドレス・マッピングテーブルを前記切り替えブロックに格納するステップと、
２）前記切り替えブロックの物理アドレスを、前記セクション・アドレス・マッピングテーブルを格納するバックアップブロックの論理アドレスに関連づけるステップと、３）前記バックアップブロックの物理アドレスを前記切り替えブロックの論理アドレスに関連づけ、前記バックアップブロックを新しい切り替えブロックとしてラベル付けするステップとを含む請求項２の方法。
【請求項４】
前記バックアップブロックは各セクションに配置される請求項１または２の方法。
【請求項５】
前記セクション・アドレス・マッピングテーブルは、少なくとも一つのセクションの前記ブロックをスキャンすることによって生成される請求項１または２の方法。
【請求項６】
前記バックアップブロックはランダムに決定される請求項１または２の方法。
【請求項７】
前記バックアップブロックはファームウェアによる変数で指定される請求項６の方法。
【請求項８】
前記バックアップブロックは冗長ビットにおけるラベルセットによって特定される請求項７の方法。
【請求項９】
ステートラベルが少なくとも一つのブロックの少なくとも一つのページの前記冗長ビットに設定され、前記リード／ライトのオペレーションが当該ブロックで行われたときは、前記ステートラベルは「未完了」に設定され、前記オペレーションが完了した後、前記ステートラベルは「完了」に設定される請求項１または２の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体メモリメディアにおけるデータ管理方法、特に、フラッシュメモリメディアにおけるデータ管理方法に関する。
【背景技術】
【０００２】
今日、フロッピー（登録商標）ディスクやフロッピー（登録商標）ドライバに変わるものとして、フラッシュメモリメディアを有するモバイル記憶デバイスが広く使われている。フラッシュメモリメディアは、不揮発性とプログラマビリティをもつため、携帯電話、ＰＤＡ、ＭＰ３などのデバイスで広く使われている。
【０００３】
フラッシュメモリメディアは、ＲＡＭや、その他の揮発性記憶メディア、磁気ディスクなどにアクセスするのと同様の方法で、蓄積されたデータにランダムにアクセスすることができるが、これらの既存メディアとは異なる方法で蓄積されたデータを修正し、削除する。すなわち、フラッシュメモリメディアのあるブロックのデータを削除するときは、当該ブロックを含むセクションも削除される。ここで、物理的に連続なアドレスをもつ複数のバイトは、ブロックと呼ばれており、ブロックは、フラッシュメモリメディアにおいて操作される基本ユニットとして機能する。さらに、削除の操作（オペレーション）をすると、フラッシュメモリメディアの複数のブロックを含むセクションが、一度に一つの基本ユニットとして物理的に削除される。
【０００４】
フラッシュメモリメディアは複数のセクションを含み、各セクションは、複数のブロックを含む。フラッシュメモリメディアにおいてデータは、一般的にブロック単位でアクセスされ、ＲＡＭのようにバイト単位でアクセスされない。ブロックに割り当てられたアドレスは物理アドレスと呼ばれている。ユーザのコンピュータにおける各ブロックの仮想アドレスは論理アドレスと呼ばれている。論理アドレスと物理アドレスは、マッピング情報を含むアドレスマッピングテーブルなどを用いたマッピングによって互いに変換することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
フラッシュメモリメディアのファームウエアはリソースが限られており、ＲＡＭの容量が比較的小さいため、ＲＡＭに格納されるマッピング情報は、ある一つのセクションに対応した一つだけのセクション・アドレス・マッピングテーブルである。フラッシュメモリメディアの各セクションは、各セクション・アドレス・マッピングテーブルに対応している。フラッシュメモリメディアの二つ以上のセクションに格納されたファイルを読むとき、対応するセクション・アドレス・マッピングテーブルがＲＡＭにおいて頻繁に切り替えられ、新しいセクション・アドレス・マッピングテーブルを切り替えの度に確立しなければならない。新しいセクション・アドレス・マッピングテーブルが確立されるとき、読み込まれたセクションにおける各ブロックがスキャンされ、対応するセクション・アドレス・マッピングテーブルが、スキャンされた各ブロックの物理アドレスにもとづいて動的に生成される。したがって、フラッシュメモリメディアが二つ以上のセクションに格納されたファイルを読むには多くの時間がかかり、その結果、フラッシュメモリメディアにおけるデータ管理の効率が低下する。
【０００６】
本発明では、フラッシュメモリメディアにおけるデータのリード／ライトの効率を高めるためのデータ管理方法を提供する。
【課題を解決するための手段】
【０００７】
本発明は、フラッシュメモリメディアにおけるデータ管理方法を提供する。前記フラッシュメモリメディアは複数のブロックを含み、各ブロックは複数のページを含み、各ページはデータ格納ビットと冗長ビットを含み、当該方法は、
１）フラッシュメモリメディアの複数のブロックを２つ以上のセクションに分割するステップと、
２）各セクションにおいてブロックの論理アドレスをスキャンすることによって、セクション・アドレス・マッピングテーブルを生成するステップと、
３）前記セクション・アドレス・マッピングテーブルを各セクションのバックアップブロックに格納するステップと、
４）前記セクション・アドレス・マッピングテーブルを読むことによってリード／ライトのオペレーションを実行し、前記セクション・アドレス・マッピングテーブルをＲＡＭに格納し、前記ＲＡＭに格納された前記セクション・アドレス・マッピングテーブルにもとづいて物理アドレスと論理アドレス間の変換を実行するステップを含む。
【０００８】
フラッシュメモリメディアがリード／ライトのオペレーションを実行するとき、次のセクション用のセクション・アドレス・マッピングテーブルに切り替える必要があるときはいつでも、次のセクションのバックアップブロックに格納されたセクション・アドレス・マッピングテーブルにもとづいて当該オペレーションを行うことができる。そのため、次のセクションの各ブロックをスキャンして、各ブロックの物理アドレスにしたがってセクション・アドレス・マッピングテーブルを生成し、新しいセクション・アドレス・マッピングテーブルを確立することは必要ではなくなる。
【０００９】
フラッシュメモリメディアがライト（書き込み）オペレーションを実行するとき、新しいセクション・アドレス・マッピングテーブルを生成する必要があるときはいつでも、現在のセクションのバックアップブロックにその新しいセクション・アドレス・マッピングテーブルを格納し、古いものを更新するだけでよい。また、別のオペレーションがなされて、当該セクションのセクション・アドレス・マッピングテーブルに切り替える必要があるときも、当該セクションの各ブロックをスキャンしてセクション・アドレス・マッピングテーブルを生成する必要はない。その代わりに、バックアップブロックから更新後のセクション・アドレス・マッピングテーブルを読み出し、そのテーブルをＲＡＭに格納するだけでよい。
【００１０】
従来技術に比べて、本発明は次の利点をもつ。本発明によれば、セクション・アドレス・マッピングテーブルは各セクションのバックアップブロックに格納される。リード／ライトのオペレーションが行われ、次のセクション用のセクション・アドレス・マッピングテーブルが必要になる場合、次のセクションのバックアップブロックに格納されたセクション・アドレス・マッピングテーブルにもとづいてデータが読み出される。そのため、新しいセクション・アドレス・マッピングテーブルを生成するために次のセクションの各ブロックをスキャンする必要がない。したがって、本発明の方法によって、データオペレーションの時間を節約することができ、フラッシュメモリメディアにおける効率的なデータ管理を実現することができる。
【発明を実施するための最良の形態】
【００１１】
本発明を次の実施の形態を参照して詳細に説明する。
【００１２】
本発明の実施の形態では、フラッシュメモリメディアは複数のブロックを含み、各ブロックは複数のページを含む。各ページはデータ格納ビットと冗長ビットを含む。本発明に係るデータ管理方法のフローチャートは、図１に示されており、次のステップを含む。
１）フラッシュメモリメディアを含むデバイスを通電するステップ、
２）フラッシュメモリメディアの複数のブロックを２以上のセクションに分割するステップ、
３）ファームウエアの制御のもとですべてのセクションに含まれるすべてのブロックをスキャンし、それぞれがいずれか一つのセクションに対応する複数のセクション・アドレス・マッピングテーブルを生成するステップ（ここで、すべてのセクション・アドレス・マッピングテーブルはフラッシュメモリメディアに対する一つのアドレスマッピングテーブルを構成する）、
４）各セクションのバックアップブロックに各セクション・アドレス・マッピングテーブルを格納するステップ、
５）リード／ライトのオペレーションが現在のセクションで存在するかどうかを判定するステップ、
６）そのリード／ライトのオペレーションをするとき、現在のセクション用のセクション・アドレス・マッピングテーブルから次のセクション用のセクション・アドレス・マッピングテーブルに切り替えることが必要であるかどうかを判定し、もし必要でないなら、リード／ライトのオペレーションを直接実行するステップ、および
７）切り替えが必要な場合、現在のセクションのセクション・アドレス・マッピングテーブルをライト（書き込み）オペレーションのゆえに変更する必要があるかどうかを判定し、もし変更が必要なら、変更されたセクション・アドレス・マッピングテーブルを現在のセクションのバックアップブロックに格納することにより、現在のセクション用のセクション・アドレス・マッピングテーブルを更新し、もし変更が必要でないなら、次のセクションの対応するバックアップブロックにある次のセクション用のセクション・アドレス・マッピングテーブルを読み出し、そのテーブルをＲＡＭに格納し、ＲＡＭに格納されたセクション・アドレス・マッピングテーブルにもとづいて物理アドレスと論理アドレス間の変換を実行し、リード／ライトのオペレーションを実行するステップ。
【００１３】
セクション・アドレス・マッピングテーブルを格納するための上述のバックアップブロックは、ランダムに決定され、ファームウエアによる変数で指定され、フラッシュメモリメディアを含むデバイスが通電された時点でスキャンされる。
【００１４】
フラッシュメモリメディアはブロックの観点でリード／ライトのオペレーションを実行する。次のセクション用のセクション・アドレス・マッピングテーブルに切り替える必要があるとき、次のセクションのバックアップブロックに格納されたセクション・アドレス・マッピングテーブルにもとづいてそのオペレーションを実行することができる。そのため、次のセクションの各ブロックをスキャンして各ブロックの物理アドレスにしたがって対応するセクション・アドレス・マッピングテーブルを生成し、新しいセクション・アドレス・マッピングテーブルを確立する必要はない。
【００１５】
現在のセクションにおけるライト（書き込み）オペレーションのゆえに、セクション・アドレス・マッピングテーブルが変更されるなら、現在のセクションのバックアップブロックに新しいセクション・アドレス・マッピングテーブルを格納して古いものを更新するだけでよい。また、別のオペレーションが実行され、当該セクションのセクション・アドレス・マッピングテーブルに切り替える必要が生じたときは、当該セクションの各ブロックをスキャンして各ブロックの物理アドレスにしたがって対応するセクション・アドレス・マッピングテーブルを生成する必要はない。その代わり、対応するバックアップブロックから更新後のセクション・アドレス・マッピングテーブルを読み出し、ＲＡＭに格納するだけでよい。
【００１６】
ライト（書き込み）オペレーションは、セクション・アドレス・マッピングテーブルを変更する結果をもたらすため、本発明は切り替えブロックの方法でセクション・アドレス・マッピングテーブルを更新する処理を利用する。これにより、フラッシュメモリメディアの損傷を避けることができる。この処理は、次のステップを含む。
１）生成された新しいセクション・アドレス・マッピングテーブルを切り替えブロックに書き込むステップ、
２）切り替えブロックの物理アドレスを、古いセクション・アドレス・マッピングテーブルを格納するバックアップブロックの論理アドレスに関連づけるステップ、および
３）古いセクション・アドレス・マッピングテーブルを格納するバックアップブロックの物理アドレスを、切り替えブロックの論理アドレスに関連づけ、古いセクション・アドレス・マッピングテーブルを格納するバックアップブロックを切り替えブロックとしてラベル付けするステップ。
【００１７】
本発明によれば、セクション・アドレス・マッピングテーブルはバックアップブロックに格納される。フラッシュメモリメディアが一つのセクションよりも大きいファイルにリード／ライトのオペレーションを実行し、次のセクションのセクション・アドレス・マッピングテーブルに切り替える必要がある場合、次のセクションのバックアップブロックに格納されたセクション・アドレス・マッピングテーブルにもとづいてそのオペレーションを実行することができる。そのため、次のセクションにおいて各ブロックをスキャンして各ブロックの物理アドレスにしたがって対応するセクション・アドレス・マッピングテーブルを動的に生成し、新しいセクション・アドレス・マッピングテーブルを確立する必要はない。したがって、本発明によれば、リード／ライトのオペレーションの時間を削減し、フラッシュメモリメディアにおけるデータ管理の効率を向上させることができる。
【００１８】
上述の本発明の有利な効果は、フラッシュメモリメディアが書き込み保護状態にある場合により大きくなる。フラッシュメモリメディアが書き込み保護状態にあって、一つのファイルを読み出す場合、そのファイルのファイル名と、そのファイルを格納するためのファイルアドレスを探さなければならない。この検索はルートディレクトリから始めて、ファイル名とファイルアドレスが見つかるまで、段階的に実行される。リード／ライトのオペレーションが一つの大きなファイルに関してなされる場合、あるセクションのセクション・アドレス・マッピングテーブルを次のセクションのセクション・アドレス・マッピングテーブルに切り替えることが必要になる。したがって、ルートディレクトリから始めた検索が段階的になされると、新しいセクション・アドレス・マッピングテーブルを動的に生成することを次々に行わなければならなくなり、たいへんな時間がかかる。本発明を書き込み保護状態にあるフラッシュメモリメディアに適用する場合、あるセクションのセクション・アドレス・マッピングテーブルを次のセクションのセクション・アドレス・マッピングテーブルに切り替えるときはいつでも、リード／ライトのオペレーションは、次のセクションのバックアップブロックに格納されたセクション・アドレス・マッピングテーブルにしたがって実行される。検索がルートディレクトリからなされても、新しいセクション・アドレス・マッピングテーブルを次から次へと生成する必要はない。このようにして、検索に費やす時間は劇的に減らされ、フラッシュメモリメディアにおけるデータ管理の効率が改善する。
【００１９】
本発明によれば、セクション・アドレス・マッピングテーブルを格納するためのバックアップブロックが指定されてもよい。バックアップブロックは各セクションに配置されてもよく、フラッシュメモリメディアの他の利用可能な場所に置かれてもよい。バックアップブロックは冗長ビットにおいて特定のラベルで設定されてもよく、別の方法で特定されてもよい。
【００２０】
本発明によれば、フラッシュメモリメディアを含むデバイスが通電されたとき、すべてのセクション用のセクション・アドレス・マッピングテーブルがそれぞれ確立されてもよい。あるいは、ある一つのセクション用のセクション・アドレス・マッピングテーブルだけ、あるいは、いくつかのセクション用のセクション・アドレス・マッピングテーブルだけが確立されてもよい。残りのセクションは、切り替えが必要になったとき、セクション・アドレス・マッピングテーブルを確立してもよい。このようにすることで、すべてのセクションに対応するセクション・アドレス・マッピングテーブルが徐々に確立される。
【００２１】
本発明に係る方法は、不正な断電が生じてもフラッシュメモリメディアの安定性を保証するための超安定技術において用いてもよい。超安定技術は、少なくとも一つのブロックにおいて少なくとも一つのページの冗長ビットにステートラベルを設定するステップと、当該ブロックにおいてリード／ライトのオペレーションがなされた場合にそのステートラベルを「未完了」と設定するステップと、そのオペレーションが完了すると、当該ステートラベルを「完了」と設定するステップとを含む。いったん不正な中断が起きても、各ブロックの状態は、ステートラベルをチェックすることで判定される。このようにして、セーブすべきデータを回収することができ、データを元通りにするオペレーションを実行して、フラッシュメモリメディアの安定な管理を実現することができる。超安定技術については中国特許出願０３１０４９８３．４号を参考にすることができる。
【００２２】
上述のフラッシュメモリメディアのデータ管理方法は、フラッシュメモリメディアを含む携帯型デバイスに広く用いて、リード／ライトのオペレーションの速度を上げることができる。たとえば、モバイル記憶デバイス、オーディオプレイヤ（たとえばＭＰ３、ＭＰ４など）、デジタルカメラ、計算機、ゲーム機、携帯電話、ノート型コンピュータ、携帯プリンタなどである。
【図面の簡単な説明】
【００２３】
【図１】本発明に係るフラッシュメモリメディアにおけるデータ管理方法のフローチャートである。
【図１】
2009510552.tif 000003
【国際調査報告】
2009510552.tif 000004
2009510552.tif 000005
2009510552.tif 000006
2009510552.tif 000007