(57)【要約】【課題】アドレスマッピングテーブルとそれの構成方法が開示される。【解決手段】前記アドレスマッピングテーブルはＲＵＮ単位、例えば少なくとも２つ以上連続した物理アドレスを含むＲＵＮのフラッシュメモリ内での初期位置を示す第１値と、前記ＲＵＮの全体のサイズを示す第２値で構成される。前記ＲＵＮレベルアドレスマッピングテーブルは前記ＲＵＮの初期物理ページ値と前記ＲＵＮの全体のサイズを示す連続した物理ページ値とを記憶する。【選択図】図４
2006221636.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリに使用されるアドレスマッピングテーブルにおいて、
少なくとも２つ以上連続した物理アドレスを含むＲＵＮのフラッシュメモリ内での初期位置を示す第１値と、
前記ＲＵＮの全体のサイズを示す第２値とを含むことを特徴とするアドレスマッピングテーブル。
【請求項２】
前記アドレスマッピングテーブルは前記初期位置から始まるＲＵＮエントリ単位でアドレスマッピングデータを記憶することを特徴とする請求項１に記載のアドレスマッピングテーブル。
【請求項３】
前記フラッシュ変換階層は前記初期位置と前記ＲＵＮの全体サイズとに基づいて前記ＲＵＮに対応する複数個の論理アドレスと複数個の物理アドレスとを計算することを特徴とする請求項２に記載のアドレスマッピングテーブル。
【請求項４】
前記ＲＵＮの物理アドレスと連関した物理アドレスを有する新しい連続した物理アドレスを有するＲＵＮが前記アドレスマッピングテーブルに記憶される際、前記ＲＵＮの全体サイズのみ記憶されることを特徴とする請求項１に記載のアドレスマッピングテーブル。
【請求項５】
前記論理アドレスは前記フラッシュメモリの論理ページ値であることを特徴とする請求項１に記載のアドレスマッピングテーブル。
【請求項６】
前記物理アドレスは前記フラッシュメモリの物理ページ値であることを特徴とする請求項１に記載のアドレスマッピングテーブル。
【請求項７】
前記物理ページ値は一つまたはそれ以上の物理セクタ値に対応することを特徴とする請求項６に記載のアドレスマッピングテーブル。
【請求項８】
フラッシュ変換階層を利用してフラッシュメモリの論理アドレスと物理アドレスとをマッピングさせるアドレスマッピングデータを記憶するのに使用されるアドレスマッピングテーブルを構成する方法において、
前記アドレスマッピングテーブルに前記アドレスマッピングデータを記憶し、前記アドレスマッピングデータを記憶する段階は、
少なくとも２つ以上連続した物理アドレスを含むＲＵＮのフラッシュメモリ内での初期位置を示す第１値を記憶する段階と、
前記ＲＵＮの全体のサイズを示す第２値を記憶する段階とを含むことを特徴とするアドレスマッピングテーブルの構成方法。
【請求項９】
ＲＵＮと係わる前記アドレスマッピングデータはＲＵＮエントリ単位で記憶されることを特徴とする請求項８に記載のアドレスマッピングテーブルの構成方法。
【請求項１０】
前記アドレスマッピングテーブルの前記アドレスマッピングデータをアップデートする段階をさらに含むことを特徴とする請求項８に記載のアドレスマッピングテーブルの構成方法。
【請求項１１】
前記ＲＵＮの物理アドレスと連関した物理アドレスを有する新しい連続した物理アドレスを有するＲＵＮが前記アドレスマッピングテーブルに記憶される際、前記ＲＵＮの全体サイズのみ記憶されることを特徴とする請求項１０に記載のアドレスマッピングテーブルの構成方法。
【請求項１２】
前記論理アドレスは前記フラッシュメモリの論理ページ値であることを特徴とする請求項８に記載のアドレスマッピングテーブルの構成方法。
【請求項１３】
前記物理アドレスは前記フラッシュメモリの物理ページ値であることを特徴とする請求項８に記載のアドレスマッピングテーブルの構成方法。
【請求項１４】
前記物理ページ値は一つまたはそれ以上の物理セクタ値に対応することを特徴とする請求項１３に記載のアドレスマッピングテーブルの構成方法。
【請求項１５】
複数個の物理セクタ番号値内に一つまたはそれ以上の空の物理セクタが存在すれば、前記１つまたはそれ以上の空の物理セクタに対してコピーバックを実行する段階をさらに含むことを特徴とする請求項１４に記載のアドレスマッピングテーブルの構成方法。
【請求項１６】
前記初期位置または前記ＲＵＮの全体のサイズに変動が生ずる場合、時間順序のとおり前記アドレスマッピングテーブルを再構成する段階をさらに含むことを特徴とする請求項１０に記載のアドレスマッピングテーブルの構成方法。
【請求項１７】
フラッシュ変換階層を利用してフラッシュメモリに適用され、ＲＵＮと係わるアドレスマッピングデータを記憶するアドレスマッピングテーブルにおいて、
前記ＲＵＮの初期位置を示す初期物理ページ値と、
前記ＲＵＮの全体のサイズを示す連続した物理ページ値とを含むことを特徴とするアドレスマッピングテーブル。
【請求項１８】
前記アドレスマッピングテーブルは初期論理ページ値をさらに含み、前記論理ページ値は前記フラッシュ変換階層によって前記フラッシュメモリ内での物理ページ値と連関することを特徴とする請求項１７に記載のアドレスマッピングテーブル。
【請求項１９】
前記物理ページ値は少なくとも１つまたはその以上の物理セクタ値と対応することを特徴とする請求項１８に記載のアドレスマッピングテーブル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置に係り、さらに具体的にはフラッシュメモリのように不揮発性であり、かつ電気的に消去可能な半導体メモリ装置を効率的に管理する方法及び装置に関する。
【背景技術】
【０００２】
不揮発性メモリ装置はドライブ電源が供給されなくてもセルに記録されたデータが消滅されず残っている。不揮発性メモリのうちでもフラッシュメモリは、電気的にセルのデータを一括的に消去する機能を有しているので、コンピュータ及びメモリカードなどに広く使用されている。最近、携帯電話、ＰＤＡ、デジカメなどのようなポータブル情報器機の使用が急増することに従って、ハードディスクに代えてフラッシュメモリが記憶装置として広く使用されている。
【０００３】
フラッシュメモリはセルとビットラインの連結状態によってＮＯＲ型とＮＡＮＤ型に区別される。ＮＯＲ型フラッシュメモリは読み出し速度が速いが、書き込み速度が遅く、主にコード用メモリとして使用されている。そして、ＮＡＮＤ型フラッシュメモリは書き込み速度が速く、単位面積当たり単価が低いため、主に大容量データ記憶装置として使用されている。フラッシュメモリは他のメモリ素子と比較する際、比較的安価で速い読み出し速度を提供できるという長所がある。しかし、フラッシュメモリにデータを書き込むためには削除演算が必ず先行されなければならず、書き込まれるデータの単位より削除されるデータの単位が大きいという特徴を有している。このような特徴はフラッシュメモリをメインメモリとして使用することを難しくするだけでなく、フラッシュメモリが補助記憶装置として使用される場合にも一般ハードディスク用ファイルシステム（Ｆｉｌｅ  Ｓｙｓｔｅｍ）をそのまま活用することを阻害する要因になる。したがって、フラッシュメモリの削除演算を隠すため、ファイルシステムとフラッシュメモリとの間にフラッシュ変換階層（ｆｌａｓｈ  ｔｒａｎｓｌａｔｉｏｎ  ｌａｙｅｒ、以下、ＦＴＬと称する）が使用される。
【０００４】
ＦＴＬは、フラッシュメモリの書き込み動作の際、ファイルシステムが生成した論理アドレスを、削除演算が実行されたフラッシュメモリの物理アドレスにマッピングさせる役割を果たす。ＦＴＬで実行されるアドレスマッピング（ａｄｄｒｅｓｓ  ｍａｐｐｉｎｇ）の例は、特許文献１及び２に開示されている。ＦＴＬは速いアドレスマッピングが行われるようにアドレスマッピングテーブル（ａｄｄｒｅｓｓｍａｐｐｉｎｇｔａｂｌｅ）を使用する。一般的に、アドレスマッピングテーブルは比較的高価のＳＲＡＭで構成される。
【０００５】
ＦＴＬのアドレスマッピング機能により、ホストはフラッシュメモリ装置をハードディスクドライバーまたはＳＲＡＭとして認識して、ハードディスクドライバと同一の方式によりフラッシュメモリ装置にアクセスできるようになる。ＦＴＬはホストシステムから独立したハードウェア形態でも実現でき、ホストシステム内部のデバイスドライバ形態でも実現できる。
【０００６】
ＦＴＬのアドレスマッピング機能は、アドレスマッピング単位により大きくページ単位（すなわち、データ書き込み単位）アドレスマッピング（ｐａｇｅ−ｌｅｖｅｌａｄｄｒｅｓｓｍａｐｐｉｎｇ）と、ブロック単位（すなわち、データ消去単位）アドレスマッピング（ｂｌｏｃｋ−ｌｅｖｅｌａｄｄｒｅｓｓｍａｐｐｉｎｇ）に区別される。ページ単位アドレスマッピングは、精巧にアドレスを変換するので、性能は良いが、アドレスマッピングテーブルのサイズが大きくて製作費用が高いという短所がある。一方、ブロック単位アドレスマッピングは、粗雑にアドレスを変換するので、アドレスマッピングテーブルのサイズは小さいが、内部の１つのページに対する修正演算が発生する場合にも全体のブロックを削除して更新すべき追加費用が発生するという問題がある。さらに、ブロック単位アドレスマッピングはアドレスマッピング中に欠陥（ｆａｕｌｔ）が発生すれば、データの一貫性を破るおそれがある。
【０００７】
このような問題を解決するために、最近にはログブロック技法（ｌｏｇ−ｂｌｏｃｋｓｃｈｅｍｅ）が提案され使用されている。この方式は、ログ構造ファイルシステム（Ｌｏｇ−Ｓｔｒｕｃｔｕｒｅ  Ｆｉｌｅ  Ｓｙｓｔｅｍ；ＬＦＳ）と同様にデータをログ形態で記憶する。ログブロック技法は、ページ単位アドレスマッピングとブロック単位アドレスマッピング技法を併用した形態であり、比較的大きい単位で要請される入出力はブロック単位で処理して、小さい単位で要請される入出力はページ単位で処理する。しかし、ログブロック技法によるアドレスマッピングを実行するためには、ブロックマッピングテーブル、ログブロックマッピングテーブル、ログマッピングテーブルのような３つのアドレスマッピングテーブルが具備されなければならないから、これらに対する入出力を制御する過程が複雑になるという問題がある。
【０００８】
上述の説明のように、ＦＴＬには多様なアドレスマッピング方式が使用されている。しかし、どんなアドレスマッピング方式が適用されてもデータ記憶装置の容量が増加することに従って、アドレスマッピングテーブルのサイズも増加することは回避できない。したがって、メモリの容量が大きくなっても少ないメモリ容量を占め、かつフラッシュメモリに対するアドレスマッピング情報を効率的に管理することができるアドレスマッピングテーブルが要求されている。
【特許文献１】米国特許第５，９３７，４２５号
【特許文献２】米国特許第６，３８１，１７６号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は少ないメモリ容量を有しても、効率的なマッピング情報管理を実行することができるアドレスマッピングテーブルの構成方法を提供することにある。
【課題を解決するための手段】
【００１０】
上述の本発明の目的を達成すために、本発明の特徴によると、フラッシュメモリに使用されるアドレスマッピングテーブルは、少なくとも２つ以上連続した物理アドレスを含むＲＵＮのフラッシュメモリ内での初期位置を示す第１値と、前記ＲＵＮの全体のサイズを示す第２値とを含むことを特徴とする。
【００１１】
この実施形態において、前記アドレスマッピングテーブルは前記初期位置から始まるＲＵＮエントリ単位でアドレスマッピングデータを記憶することを特徴とする。
【００１２】
この実施形態において、前記フラッシュ変換階層は前記初期位置と前記ＲＵＮの全体サイズに基づいて前記ＲＵＮに対応する複数個の論理アドレスと複数個の物理アドレスとを計算することを特徴とする。
【００１３】
この実施形態において、前記ＲＵＮの物理アドレスと連関した物理アドレスを有する新しい連続した物理アドレスを有するＲＵＮが前記アドレスマッピングテーブルに記憶される際、前記ＲＵＮの全体サイズのみ記憶されることを特徴とする。
【００１４】
この実施形態において、前記論理アドレスは前記フラッシュメモリの論理ページ値であることを特徴とする。
【００１５】
この実施形態において、前記物理アドレスは前記フラッシュメモリの物理ページ値であることを特徴とする。
【００１６】
この実施形態において、前記物理ページ値は一つまたはそれ以上の物理セクタ値に対応することを特徴とする。
【００１７】
上述の本発明の目的を達成するために、本発明の特徴によると、フラッシュ変換階層を利用してフラッシュメモリの論理アドレスと物理アドレスとをマッピングさせるアドレスマッピングデータを記憶するのに使用されるアドレスマッピングテーブルを構成する方法は、前記アドレスマッピングテーブルに前記アドレスマッピングデータを記憶し、前記アドレスマッピングデータを記憶する段階は、少なくとも２つ以上連続した物理アドレスを含むＲＵＮのフラッシュメモリ内での初期位置を示す第１値を記憶する段階と、前記ＲＵＮの全体のサイズを示す第２値とを記憶する段階とを含むことを特徴とする。
【００１８】
この実施形態において、ＲＵＮと係わる前記アドレスマッピングデータはＲＵＮエントリ単位で記憶されることを特徴とする。
【００１９】
この実施形態において、前記アドレスマッピングテーブルの前記アドレスマッピングデータをアップデートする段階をさらに含むことを特徴とする。
【００２０】
この実施形態において、前記ＲＵＮの物理アドレスと連関した物理アドレスを有する新しい連続した物理アドレスを有するＲＵＮが前記アドレスマッピングテーブルに記憶される際、前記ＲＵＮの全体サイズのみ記憶されることを特徴とする。
【００２１】
この実施形態において、前記論理アドレスは前記フラッシュメモリの論理ページ値であることを特徴とする。
【００２２】
この実施形態において、前記物理アドレスは前記フラッシュメモリの物理ページ値であることを特徴とする。
【００２３】
この実施形態において、前記物理ページ値は一つまたはそれ以上の物理セクタ値に対応することを特徴とする。
【００２４】
この実施形態において、複数個の物理セクタ番号値内に一つまたはそれ以上の空の物理セクタが存在すれば、前記１つまたはそれ以上の空の物理セクタに対してコピーバックを実行する段階をさらに含むことを特徴とする。
【００２５】
この実施形態において、前記初期位置または前記ＲＵＮの全体のサイズに変動が生ずる場合、時間順序のとおり前記アドレスマッピングテーブルを再構成する段階をさらに含むことを特徴とする。
【００２６】
上述のような本発明の目的を達成するために、本発明の他の特徴によると、フラッシュ変換階層を利用してフラッシュメモリに適用され、ＲＵＮと係わるアドレスマッピングデータを記憶するアドレスマッピングテーブルにおいて、前記ＲＵＮの初期位置を示す初期物理ページ値と、前記ＲＵＮの全体のサイズを示す連続した物理ページ値とを含むことを特徴とする。
【００２７】
この実施形態において、前記アドレスマッピングテーブルは初期論理ページ値をさらに含み、前記論理ページ値は前記フラッシュ変換階層によって前記フラッシュメモリ内での物理ページ値と連関していることを特徴とする。
【００２８】
この実施形態において、前記物理ページ値は少なくとも１つまたはそれ以上の物理セクタ値と対応することを特徴とする。
【発明の効果】
【００２９】
本発明によると、フラッシュメモリベースの記憶装置で少ないメモリ容量を有しても効率的なマッピング情報管理を実行することができる。
【発明を実施するための最良の形態】
【００３０】
以下では、本発明による実施形態を添付の図を参照して詳細に説明する。
【００３１】
本発明の新規なＲＵＮ単位アドレスマッピングテーブル及びその方法は、論理アドレス及び物理アドレスが隣接したページの集合（すなわち、連続ページグループ、またはＲＵＮ）を基本単位にしてアドレスマッピングテーブルを構成する。本発明によるＲＵＮ単位アドレスマッピングテーブルは、各々のＲＵＮに対する初期物理ページ番号と、連続した物理ページの個数のみを記憶するが、簡単な算術演算を通じて各々のＲＵＮに含まれた論理ページ番号と物理ページ番号とが全部分かる。したがって、少ないメモリ容量を有しても効率的なマッピング情報管理を実行することができる。
【００３２】
図１及び図２は一般的なアドレスマッピングテーブルの構成を示す図であり、ページ単位のアドレスマッピング情報が記憶されたアドレスマッピングテーブルの構成が示されている。
【００３３】
フラッシュメモリは複数個のメモリブロックで分割されており、各メモリブロックは複数個のページまたはセクタで構成される。ユーザ側で定義されたページの仮想番号は論理ページ番号（Ｌｏｇｉｃａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ、すなわち記号“ＬＰＮ”）と呼ばれ、分割されたページに物理的に割り当てられた番号は物理ページ番号（Ｐｈｙｓｉｃａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ、すなわち記号“ＰＰＮ”）と呼ばれる。論理ページ番号と物理ページ番号は各々アドレスマッピングテーブルを通じて一対一マッピングされる。例えば、図１に示したように、第１論理ページ番号ＬＰＮ０のデータは第１物理ページ番号ＰＰＮ０に記憶され、第２論理ページ番号ＬＰＮ１のデータは第２物理ページ番号ＰＰＮ１に各々記憶される。
【００３４】
図２に示したアドレスマッピングテーブルのデータ構成によると、論理ページ番号ＬＰＮと物理ページ番号ＰＰＮの配列がある程度連続した形態で配列されていることが分かる。例えば、第１乃至第８論理ページ番号ＬＰＮ０〜ＬＰＮ７のデータは第１乃至第８物理ページ番号ＰＰＮ０〜ＰＰＮ７に連続的に記憶され、第９乃至第１２論理ページ番号ＬＰＮ８〜ＬＰＮ１１のデータは第２１乃至第２４物理ページ番号ＰＰＮ２０〜ＰＰＮ２３に連続的に記憶される。このように、論理アドレス及び物理アドレスの隣接したページの集合を連続ページグループまたはＲＵＮと呼ぶ。本発明では論理アドレス情報と物理アドレス情報が連続して配列されるマッピングテーブルのデータ構成特性に基づいて、連続ページグループ（すなわち、ＲＵＮ）を基本単位とするマッピングテーブルを構成する。本発明では、これをＲＵＮ単位アドレスマッピングテーブルと呼ぶ。
【００３５】
図３は本発明の一実施形態によるＲＵＮ単位アドレスマッピングテーブルの構成を示す図である。図３に示したＲＵＮ単位アドレスマッピングテーブルは図２に示したマッピングテーブルをＲＵＮ単位で再構成したものである。本発明によるＲＵＮ単位アドレスマッピングテーブルの構成によると、図２に８個のエントリで構成された第１ＲＵＮ（ＲＵＮ０）が１つのエントリとして表示できる。そして、図２に４個のエントリで構成された第２ＲＵＮ（ＲＵＮ１）も１つのエントリとして表示できる。したがって、マッピングテーブルの全体サイズが減る。
【００３６】
図３を参照すると、本発明によるＲＵＮ単位アドレスマッピングテーブルは“初期論理ページ番号（初期ＬＰＮ）”、“初期物理ページ番号（初期ＰＰＮ）”、及び“連続物理ページ個数（連続ＰＰＮ個数）”で構成される。初期論理ページ番号項目には各々のＲＵＮに対する初期論理ページ番号が記憶され、初期物理ページ番号項目には各々のＲＵＮに対する初期物理ページ番号が記憶される。そして、“連続ＰＰＮ個数”項目には各々のＲＵＮに含まれたページの個数（すなわち、ＲＵＮのサイズに該当する）が記憶される。例えば、初期論理ページ番号項目に“０”が記憶され、初期物理ページ番号項目に“０”が記憶され、連続物理ページ個数項目に“８”が記憶されたＲＵＮ（すなわち、ＲＵＮ０）の構成は、該当のＲＵＮ（すなわち、ＲＵＮ０）は０の値を有する論理ページ番号から始まり、ここに該当する物理ページ番号は０であり、０から数えて８個の物理ページ番号が連続している（すなわち、０〜７の物理ページ番号で構成される）ことが分かる。そして、初期論理ページ番号項目に“８”が記憶され、初期物理ページ番号項目に“２０”が記憶され、連続物理ページ個数項目に“４”が記憶されたＲＵＮ（すなわち、ＲＵＮ１）の構成は、該当のＲＵＮ（すなわち、ＲＵＮ１）は８の値を有する論理ページ番号から始まり、ここに該当する物理ページ番号は２０であり、２０から数えて４個の物理ページ番号が連続されている（すなわち、２０〜２３の物理ページ番号で構成される）ことが分かる。すなわち、マッピングテーブルにはすべての情報が表記されていないが、各々のＲＵＮに対する初期論理ページ番号、初期物理ページ番号、及び連続した物理ページの個数情報を利用した単純な算術演算（例えば、初期物理ページ番号＋（１ずつ増加した初期物理ページ番号）×（連続した物理ページ番号の個数））を通じて、各々のＲＵＮに含まれた論理ページ番号と物理ページ番号とが全部分かる。このような演算は、ＦＴＬまたはＦＴＬの動作を制御する回路（例えば、ＣＰＵなど）によって実行できる。
【００３７】
図４は本発明の他の実施形態によるＲＵＮ単位アドレスマッピングテーブルの構成を示す図である。図４に示したＲＵＮ単位アドレスマッピングテーブルは図３に示したＲＵＮ単位アドレスマッピングテーブルの構造をさらに簡単に構成したものである。
【００３８】
図４を参照すると、本発明によるＲＵＮ単位アドレスマッピングテーブルは各々のＲＵＮに対する初期論理ページ番号を記憶せず、初期物理ページ番号項目と連続した物理ページの個数のみを記憶する。この場合、論理ページ番号に対する情報が表記されていないが、各々のＲＵＮに対する初期物理ページ番号と連続した物理ページの個数情報を利用した単純な算術演算を通じて、各々のＲＵＮに含まれた論理ページ番号と物理ページ番号とが全部分かる。なぜなら、論理ページ番号はホスト側で仮想的に管理されるページとして、常に順次に配列されるからである。その結果、マッピングテーブルの構成がさらに簡単になる。この場合、各々のＲＵＮに対する初期物理ページ番号はマッピングテーブルを運用するための開始位置情報（すなわち、開始アドレス）になり、各々のＲＵＮに含まれた連続した物理ページの個数情報はマッピングテーブルを運用するためのオフセット（Ｏｆｆｓｅｔ）値になる。このようなマッピングテーブルの管理はＦＴＬ、またはＦＴＬの動作を制御する回路（例えば、ＣＰＵなど）によって実行できる。
【００３９】
以上、１つのページが１つのセクタで構成された場合のＲＵＮ単位アドレスマッピングテーブルの構成について示した。一般的に、ページはセクタと同一のサイズ（例えば、５１２バイト）を有するが、１つのページが複数個（例えば、４個）のセクタで構成できることはこの分野の通常的な知識を習得した者等に自明である。したがって以下、１つのページが複数個のセクタで構成される場合のＲＵＮ単位アドレスマッピングテーブルの構成について説明する。
【００４０】
図５Ａ乃至図８Ｂは、１つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を各々説明するための図である。図５Ａ、図６Ａ、図７Ａ、及び図８Ａには各々のページに含まれた複数個のセクタの構成が詳細に示されている。図５Ｂ、図６Ｂ、図７Ｂ、及び図８Ｂは各々図５Ａ、図６Ａ、図７Ａ、及び図８Ａに示したページ構造に対する本発明によるＲＵＮ単位アドレスマッピングテーブルの構成図である。
【００４１】
まず、図５Ａを参照すると、１つの論理ページ番号ＬＰＮに対して４個の物理セクタ番号が対応する。例えば、第１論理ページ番号ＬＰＮ０には０、１、２、３値の物理セクタ番号Ｓｅｃｔｏｒ０〜Ｓｅｃｔｏｒ３が各々対応する。そして、第２論理ページ番号ＬＰＮ１には４、５、６、７値の物理セクタ番号Ｓｅｃｔｏｒ０〜Ｓｅｃｔｏｒ３が各々対応する。この場合、第１論理ページ番号ＬＰＮ０と第２論理ページ番号ＬＰＮ１に該当する８個の物理セクタが一つのＲＵＮ（ＲＵＮ０）を構成することが分かる。これを本発明によるＲＵＮ単位アドレスマッピングテーブルで構成すれば、図５Ｂのようになる。
【００４２】
図５Ｂを参照すると、本発明によるＲＵＮ単位アドレスマッピングテーブルは図５Ａに示したＲＵＮ０を一つのエントリとして表記することができる。この場合、ＲＵＮ単位アドレスマッピングテーブルに記憶されるデータは、ＲＵＮ（ＲＵＮ０）の初期物理ページ番号（すなわち、連続した８個の物理セクタ番号のうち一番目の物理セクタ番号）と、連続したページ番号の個数だけである。したがって、１つのページが複数個（例えば、４個）のセクタで構成されても、最終的に構成されたＲＵＮ単位アドレスマッピングテーブルの構成は図４の形態と同様である。ただ、各々のページを構成するセクタの物理的領域に空の空間がないように、内部的に空の空間で残っているセクタ領域に対してコピーバック動作を実行するという差がある。これに対する詳細内容は次のようになる。
【００４３】
図６Ａを参照すると、セクタ単位で表示されたマッピングテーブルで各々の物理セクタ番号に対応するセクタＳｅｃｔｏｒ０〜Ｓｅｃｔｏｒ３はモード演算（例えば、対応するセクタ番号＝物理セクタ番号ｍｏｄ４）を通じて決められる。例えば、１０の物理セクタ番号は２の識別符号を有するセクタＳｅｃｔｏｒ２に記憶され、１１の物理セクタ番号は３の識別符号を有するセクタＳｅｃｔｏｒ３に各々記憶される。このようなセクタの決定方式によると、図６Ａの第１論理ページ番号ＬＰＮ０に対応する初期の２個のセクタＳｅｃｔｏｒ０、Ｓｅｃｔｏｒ１が空の空間で残ることができる。この場合、該当ページの開始物理アドレスに該当する１番目のセクタＳｅｃｔｏｒ０の物理セクタ番号が空いているので、オフセット値が不正確になる可能性がある。したがって、本発明では、ＲＵＮ単位アドレスマッピングテーブルのオフセット値を正確に決めるため、ＲＵＮを構成する初期のセクタ領域を空の空間で残さず、空の空間の該当のセクタ領域に対してコピーバック動作を実行する。コピーバック動作は他の物理セクタ領域に記憶されているデータを任意のセクタ領域（すなわち、空の空間で残っている該当のセクタ領域）に持って来る動作を意味する。このようなコピーバック動作によると、ＲＵＮ単位アドレスマッピングテーブルのオフセット値を正確に決めることができ、マッピングテーブルを構成するデータをよりコンパクトに記憶することができるようになる。そして、本発明によるＲＵＮ単位アドレスマッピングテーブルの構成がより容易くなる。図６Ａに示したセクタ単位で表示されたマッピングテーブルを本発明によるＲＵＮ単位アドレスマッピングテーブルで構成すれば、図６Ｂのようになる。
【００４４】
図７Ａには図６Ａに示したマッピングテーブルと連続した物理セクタ番号を有するページが連続してマッピングテーブルに書き込まれる場合（斜線部分参照）の構成が示されている。この場合、本発明では図７Ｂのように、既存のエントリ構成に追加的に１つのエントリをさらに追加する代わりに、既存のＲＵＮ単位アドレスマッピングテーブルに記載されている連続物理ページ番号情報のみをアップデートする。その結果、エントリの個数が追加されず、新しい情報がアップデートできるようになって、ＲＵＮ単位アドレスマッピングテーブルで要するメモリ容量が顕著に減少する。また、連続したページに対しては１つのエントリに統合管理されるので、アドレスマッピングテーブルに対するデータ運用がより容易になる。
【００４５】
図８Ａには図６Ａに示したマッピングテーブルと連続しない物理セクタ番号を有するページが連続してマッピングテーブルに書き込まれる場合の構成が示されている。この場合、本発明では図８Ｂのように、既存のエントリ構成に追加的に一つのエントリをさらに追加して、空の空間で残る前ページのセクタ領域に対してコピーバック動作を実行する（斜線部分参照）。その結果、ＲＵＮ単位アドレスマッピングテーブルのオフセット値を正確に決めることができ、マッピングテーブルを構成するデータがよりコンパクトとなるように記憶することができる。そして、マッピングテーブルに対するデータ運用がより容易になる。
【００４６】
図９Ａ及び図９Ｂは、一つのページが複数個のセクタで構成された場合、フラッシュメモリの読み出し動作によってＲＵＮを認識する過程と、この際のＲＵＮ単位のマッピングテーブルの構成を各々説明するための図である。
【００４７】
まず、図９Ａを参照すると、例えば第１時点でのＲＵＮ（ＲＵＮ３）の構成は、第１時点以後の第２時点では他の形態ＲＵＮ３'に変更できる。例えば、第１時点ではＲＵＮ単位アドレスマッピングテーブルのＲＵＮ（ＲＵＮ３）の初期物理ページ番号が３であり、連続したページ番号の個数が６であり、ユーザの書き込み及び削除動作によって第２時点では前記ＲＵＮ（ＲＵＮ３'）の初期物理ページ番号が４であり、連続したページ番号の個数が２に変更できる。
【００４８】
この場合、本発明では毎度該当のＲＵＮ（ＲＵＮ３）の情報を変更する代わりに、時間の手順によってＲＵＮ単位アドレスマッピングテーブルのエントリを順次書き込む。そして、読み出しの際にはＲＵＮ単位アドレスマッピングテーブルに書き込まれた手順と反対の手順でデータを検索して読み出す。例えば、第２時点に記憶されたＲＵＮ（ＲＵＮ３’）の情報と第１時点に記憶されたＲＵＮの情報の中うち重複区間が存在する場合には後に書き込まれたＲＵＮ（ＲＵＮ３’）の情報が有効であると判断する。
【００４９】
以下、本発明によるＲＵＮ単位アドレスマッピングテーブルと、既存の方式によるマッピングテーブルとを構成する際要するメモリの容量に対して比較する。以下に実行されたメモリ容量の比較は、既存のマッピングテーブルのうち最小容量を占めるログブロック技法と、本発明によるＲＵＮ単位アドレスマッピングテーブルの容量を比較したものである。比較の条件では、４ウェイインターリビング（すなわち、６４ｘ４＝２５６ページ／スーパーブロック）が使用され、ログＬＯＧの個数が７の場合である。
【００５０】
例えば、ログブロック方式の既存のマッピングテーブルは、スーパーブロック（ｓｕｐｅｒ  ｂｌｏｃｋ）当たり５１２バイト（すなわち、５１２バイト／スーパーブロック＝２バイト／ページ×２５６ページ／スーパーブロック）のページマッピングエントリを要する。そして、スーパーブロック当たり１２８バイト（すなわち、１２８バイト／スーパーブロック＝１ビット／セクタ×１０２４セクタ／スーパーブロック）のページ（またはセクタ）ビットマップエントリを要する。この場合、既存方式のマッピングテーブルが要する全体のメモリ容量は、総４４８０バイト（すなわち、４４８０バイト＝（５１２＋１２８）バイト／スーパーブロック×７スーパーブロック）になる。ここで、スーパーブロックとは、インターリビング（ｉｎｔｅｒｌｅａｖｉｎｇ）を使用する場合、各インターリビングのブロックを意味する。一方、本発明によるＲＵＮ単位アドレスマッピングテーブルは、従来に比べて要するエントリの個数が非常に少なくて、全部で４４８バイト（すなわち、４４８バイト＝４バイト／ＲＵＮ×１６ＲＵＮ／スーパーブロック×７スーパーブロック）のみを要する。このように、本発明によるＲＵＮ単位アドレスマッピングテーブルの構成方式によると、マッピングテーブルを構成するために要するメモリの容量が従来の方式に比べて顕著に減るようになる（約１／１０程度）。したがって、少ないメモリ容量を有しても効率的なマッピング情報管理を実行できるようになる。
【００５１】
以上では、本発明による回路の構成及び動作を上述の説明及び図によって図示したが、これは例をあげて説明したことに過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な変化及び変更が可能であることは勿論である。
【００５２】
また、本発明はコンピュータで読み出すことができる記録媒体にコンピュータが読み出すことができるコードとして実現することが可能である。コンピュータが読み出す記録媒体はコンピュータシステムによって読み出しできるデータが記憶されるすべての種類の記録装置を含む。コンピュータが読み出せる記録媒体の例では、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ記憶装置などがあり、またキャリアウエーブ（例えばインターネットを通じた伝送）の形態で実現されるものも含む。またコンピュータが読み出せる記録媒体はネットワークで連結されたコンピュータシステムに分散して、分散方式でコンピュータを読み出せるコードに記憶されて実行できる。
【図面の簡単な説明】
【００５３】
【図１】一般的なアドレスマッピングテーブルの構成を示す図である。
【図２】一般的なアドレスマッピングテーブルの構成を示す図である。
【図３】本発明の一実施形態によるＲＵＮ単位アドレスマッピングテーブルの構成を示す図である。
【図４】本発明の他の実施形態によるＲＵＮ単位アドレスマッピングテーブルの構成を示す図である。
【図５Ａ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図５Ｂ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図６Ａ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図６Ｂ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図７Ａ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図７Ｂ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図８Ａ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図８Ｂ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの書き込み動作によってＲＵＮＲＵＮが形成される過程と、形成されたＲＵＮに対してＲＵＮ単位のマッピングテーブルを構成する過程を説明するための図である。
【図９Ａ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの読み出し動作によってＲＵＮを認識する過程と、その際におけるＲＵＮ単位のマッピングテーブルの構成を説明するための図である。
【図９Ｂ】一つのページが複数個のセクタで構成された場合、フラッシュメモリの読み出し動作によってＲＵＮを認識する過程と、その際におけるＲＵＮ単位のマッピングテーブルの構成を説明するための図である。
【図１】
2006221636.tif 000003
【図２】
2006221636.tif 000004
【図３】
2006221636.tif 000005
【図４】
2006221636.tif 000006
【図５Ａ】
2006221636.tif 000007
【図５Ｂ】
2006221636.tif 000008
【図６Ａ】
2006221636.tif 000009
【図６Ｂ】
2006221636.tif 000010
【図７Ａ】
2006221636.tif 000011
【図７Ｂ】
2006221636.tif 000012
【図８Ａ】
2006221636.tif 000013
【図８Ｂ】
2006221636.tif 000014
【図９Ａ】
2006221636.tif 000015
【図９Ｂ】
2006221636.tif 000016