(57)【要約】【課題】ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理方法を提供する。【解決手段】ホストからデータにアクセスするための、メモリに対するフラッシュメモリ管理システムであって、システムは、メモリの物理ユニットおよび仮想ユニット、そして各仮想ユニットの一つ以上の物理ユニットへのマッピング・メカニズムを含み、仮想ユニットの各々にアクセスするのに必要なバイナリ・ビット数が、物理ユニットの各々にアクセスするのに必要なバイナリ・ビット数よりも少ない。【選択図】図２
2008508589.tif 000002
【特許請求の範囲】
【請求項１】
ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理方法であって、
（ａ）前記フラッシュメモリの物理アドレス・スペースを提供するステップ、なお、前記物理アドレス・スペースは、複数の物理アドレスでアドレス指定可能であり、
（ｂ）前記フラッシュメモリの仮想アドレス・スペースを提供するステップ、なお、前記仮想アドレス・スペースは、複数の仮想アドレスでアドレス指定可能であり、そして
（ｃ）前記仮想アドレスを前記物理アドレスへマップするステップからなり、
前記仮想アドレスの各々にアクセスするのに必要なバイナリ・ビット数が、前記物理アドレスの各々にアクセスするのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理方法。
【請求項２】
ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理方法であって、
（ａ）前記フラッシュメモリの複数の物理ユニットを提供するステップ、
（ｂ）前記フラッシュメモリの複数の仮想ユニットを提供するステップ、そして
（ｃ）前記仮想ユニットの各々を前記物理ユニットの少なくとも一つにマップするステップからなり、
前記仮想ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数が、前記物理ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理方法。
【請求項３】
ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理システムであって、
（ａ）複数の物理アドレスでアドレス指定可能な、前記フラッシュメモリ、
（ｂ）複数の仮想アドレス、そして
（ｃ）前記仮想アドレスの前記物理アドレスへのマッピング・メカニズムからなり、
前記仮想アドレスの各々にアクセスするのに必要なバイナリ・ビット数が、前記物理アドレスの各々にアクセスするのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理システム。
【請求項４】
ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理システムであって、
（ａ）前記フラッシュメモリの複数の物理ユニット、
（ｂ）複数の仮想ユニット、そして
（ｃ）前記仮想ユニットの前記物理ユニットへのマッピング・メカニズムからなり、
前記仮想ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数が、前記物理ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理システム。
【請求項５】
ホストからフラッシュメモリにアクセスする際の、フラッシュメモリを管理する方法であって、
（ａ）物理アドレス・スペースを介して前記フラッシュメモリのアドレス指定を行うステップ、そして
（ｂ）前記ホストから、前記物理アドレス・スペースよりも小さな仮想アドレス・スペースからのアドレスだけを受け入れるステップからなり、
前記仮想アドレス・スペースのアドレスが、前記物理アドレス・スペースの物理アドレスよりも少ないビットを持つ、方法。
【請求項６】
（ａ）フラッシュメモリ、そして
（ｂ）前記フラッシュメモリにアクセスする際に、物理アドレス・スペースを用いて前記フラッシュメモリのアドレス指定を行う、そしてメモリ・デバイスのアドレス指定を行うホストから、仮想アドレス・スペースからのアドレスだけを受け入れるコントローラからなり、
前記仮想アドレス・スペースのアドレスが、前記物理アドレス・スペースのアドレスよりも少ないバイナリ・ビットを持つ、メモリ・デバイス。
【請求項７】
（ａ）複数の物理フラッシュメモリ・ユニットを含むフラッシュメモリ、そして
（ｂ）前記フラッシュメモリにアクセスする際に、物理ユニットを使用する物理アドレス・スペースからのアドレスを用いて前記フラッシュメモリのアドレス指定を行う、そしてメモリ・デバイスのアドレス指定を行うホストから、仮想ユニットを使用する仮想アドレス・スペースからのアドレスだけを受け入れるコントローラからなり、
前記仮想メモリ・ユニットのアドレス指定を行うことが、前記物理メモリ・ユニットのアドレス指定を行うのに必要なバイナリ・ビットよりも少ないバイナリ・ビットを必要とする、フラッシュメモリ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリのアドレス指定を行うための改良型システムに関し、特に、仮想アドレス指定に必要なビット数を減少させるフラッシュファイル・システム内のアドレス変換に関する。
【背景技術】
【０００２】
フラッシュデバイスは、フラッシュタイプ浮遊ゲート・トランジスタから製造した、電気的に消去可能でプログラム可能な読出し専用メモリ（ＥＥＰＲＯＭ）を含み、機能および性能の点でＥＰＲＯＭメモリに類似する不揮発性メモリであり、追加機能として、メモリを部分的に消去するように、インサーキット・プログラム可能な作動を実行できる。フラッシュデバイスは、比較的安価で、従来の磁気記憶装置ディスクと比べ、必要電力が比較的に小さいという長所がある。しかしながら、フラッシュデバイスには、物理アドレス・レベルでの使用に対して少々問題となる特定の制限がある。フラッシュデバイスでは、領域を先に消去することなく、メモリの以前に書き込んだ領域を書き直すことは実際的ではない。すなわち、再度プログラム可能にするには、フラッシュセルを消去（例えば、「１」にプログラム）しなければならない。消去は、通常「消去ブロック」と呼ばれる比較的大きなグループのセルに対してのみ可能である（その大きさは、典型的に、現在市販されているＮＡＮＤデバイスでは１６から１２８キロバイトであり、そしてＮＯＲデバイスではより大きい）。したがって、１バイトの、あるいは１キロバイトもの塊のコンテンツを更新するには、「ハウスキーピング」オペレーションが必要である。すなわち、消去ブロックの更新させない部分は、最初にどこか他へ移動させて、消去中にも維持し、それから元へ戻さなければならない。
【０００３】
さらに、デバイスのいくつかのブロックは、信頼性のない「不良ブロック」であり、それらを使用することは避けるべきである。ブロックは、デバイスを最初にテストした製造業者によって、あるいは実際にデバイスが使用されているときにブロックの障害を検出したアプリケーション・ソフトウェアによって、「不良ブロック」と宣言される。
【０００４】
背景技術のこれらの限界を克服するためのフラッシュファイル・システム（ＦＦＳ）が、本出願の譲受人に譲渡された米国特許第５，４０４，４８５号に開示されている。この開示内容は、参照によって、本文に完全に記述したものとする。ＦＦＳは、フラッシュデバイス上でのデータ記憶およびデータ操作システムを提供し、これらのデバイスが磁気ディスクを模倣することを可能にする。既存の技術では、アプリケーションまたはオペレーティングシステムは、物理アドレスではなく、むしろ仮想アドレスを用いて、フラッシュ記憶サブシステムと相互に作用する。すなわち、ソフトウェア・アプリケーションと物理デバイスとの間には、仮想アドレスから物理アドレスへのマッピングを提供する中間層が存在する。ソフトウェアは、記憶システムを、制約なしでランダムに読み書き可能な、連続した欠陥のないメディアと見るが、物理アドレス指定方式は、（例えば、不良ブロックがあるために）そのアドレス範囲内に「孔」を持つため、仮想アドレス範囲内で相互に隣接するデータ・ピースが、物理アドレス範囲内では大いに分離してしまう可能性がある。上述のマッピングを実行する中間層は、アプリケーションが作動するのと同じＣＰＵ上で作動するソフトウェア・ドライバでよい。代替的に、ホスト・コンピュータが記憶装置へアクセスするときにフラッシュデバイスを制御し、ホスト・コンピュータのメインＣＰＵに対するインターフェイス・ポイントとして機能するコントローラ内に、中間層を埋め込んでもよい。これは、例えば、セキュアデジタル（ＳＤ）カードまたはマルチメディア・カード（ＭＭＣ）等の、リムーバブルメモリ・カードの状態である。この場合、カードは、他の機能も含んで上述のマッピングのようなことを実行するファームウエア・プログラムを作動させるオンボード・コントローラを持つ。
【０００５】
そのようなアドレス変換を実行するソフトウェアまたはファームウェアの実装は、典型的に、「フラッシュ管理システム」または「フラッシュファイル・システム」と呼ばれている。後者の用語は、その実装が、オペレーティングシステムまたはパソコン内でファイルを使用する感覚において、必ずしも「ファイル」をサポートするというわけではなく、むしろ、ハードディスク・ソフトウェア・ドライバがエクスポートするのに類似したブロック・デバイス・インターフェイスをサポートするため、誤った名称である。依然として、その用語は一般に使用されるため、本文でも「フラッシュファイル・システム」と「フラッシュ管理システム」とを相互に置換可能に使用する。
【０００６】
仮想アドレスから物理アドレスへのマッピングを実行する、先行技術による他のシステムは、バン氏による米国特許第５，９３７，４２５号、そしてラッサー氏による米国特許第６，５９１，３３０号に開示されている。それらの両方は、参照によって、すべての目的のために本文に完全に記述したものとする。
【０００７】
ＮＡＮＤタイプ・フラッシュデバイスに特に適当な米国特許第５，９３７，４２５号では、図１（先行技術）を参照して、マッピングは以下の通りに実行される。物理アドレス・スペース１３は、実際には消去ブロック、すなわち、消去可能な最も小さい塊であるユニット１１１から構成されている。各物理ユニット１１１は、一つ以上の物理ページ１１３を含み、ページは、書き込みが可能な最も小さい塊である。仮想アドレス・スペース１１は、物理ユニットと同じ大きさを持つ仮想ユニット１２１から構成されている。各仮想ユニットは、物理ページ１１３と同じ大きさを持つ一つ以上の仮想ページ１２３を含む。読み書きのためにアプリケーションによって仮想アドレスが提供されると、そのアドレスが属する仮想ユニット番号が、仮想アドレスから抽出される。各仮想ユニット１２１に、一つの物理ユニット１１１または一連の複数の物理ユニット１１１を割り当てるマッピングがあり、それから、仮想ページ１２３を物理ページ１１３に関連づける「ローカル」配置規則を使用して、または物理ページ１１３と一緒に保存した制御情報を使用して、仮想ユニット１２１内の要求仮想ページ１２３に対応する物理ページ１１３を、対応する物理ユニット１１１内に位置づける。
【０００８】
米国特許第５，９３７，４２５号に開示した方法の利点の一つは、メイン・マッピングが、ページではなくユニットに対して実行されるため、ページよりも非常に少ないユニットに対する変換テーブルが非常に小さいということである。もう一つの利点は、一つの仮想ユニット１２１に複数の物理装置１１１を割り当てることが可能であることから生じる書き込み性能の向上である。
【０００９】
いくつかの理由で、有効な仮想アドレス範囲の典型的なサイズは、マップさせた物理アドレス範囲のサイズよりも僅かに小さい。それらの理由は、以下を含む。
【００１０】
（１）仮想スペース１１は、不良ブロックを含むことができないため、不良ブロックが物理スペース１３内に存在するとしても、仮想スペース１１は、そのアドレス範囲から不良ブロックを排除するように「詰められる」。
【００１１】
（２）米国特許第５，９３７，４２５号に開示されているように、１対多のマッピングをサポートするフラッシュファイル・システムに対しては、仮想スペース１１は、物理スペース１３よりも小さくなくてはならない。
【００１２】
先行技術によるフラッシュ管理システムでは、仮想アドレスを表すのに必要なビット数は、物理アドレスを表すのに必要なビット数と同じである。例えば、ＮＡＮＤフラッシュデバイスが、１，０２４の物理ユニット１１１から構成され、それらの各々が、５１２バイトからなる３２ページ１１３を含むと仮定する（典型的に、ユーザ・データを保存せずに、エラー訂正コード等のシステム情報を保存する、ＮＡＮＤデバイス内の「余分な」バイトを無視する）。物理レベルでは、バイト・アドレス範囲は、０から、１６メガバイト−１までであり、完全な表記のためには、２４ビットを必要とする。ユニット・アドレスだけを直接的にマップする、米国特許第５，９３７，４２５号の方法を使用すると、我々は、１，０２４の物理ユニット１１１を持ち、１０ビットを必要とする。仮想スペース１１が２４ユニットだけ小さいとみなすと、我々は、１，０００の仮想ユニット１２１を得、各ユニットが、各々５１２バイトからなる３２ページ１２３を含む。完全なバイト・アドレスを表すためのビット数は、再び２４であり、仮想ユニット数を表すのに必要なビット数は、依然として１０である。時には、仮想アドレスを表すのに必要なビット数を可能な限り低くすることが非常に望ましい。フラッシュファイル・システムおよびソフトウェア・アプリケーションの両方は、アドレスを、テーブル内や、種々のデータ構造内に維持する。このため、アドレスがより多くのビットを必要とすればするほど、ＲＡＭメモリは消費される。
【００１３】
したがって、仮想アドレス指定に必要なビット数を減少させる、フラッシュファイル・システム内で仮想アドレスから物理アドレスへ変換するための方法に対する必要性があり、そのような方法を得ることは非常に有利である。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明によれば、ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理方法が提供される。この方法は、フラッシュメモリの物理アドレス・スペースを提供すること、そしてフラッシュメモリの仮想アドレス・スペースを提供することを含む。この場合、物理アドレス・スペースは、物理アドレスでアドレス指定可能であり、そして仮想アドレス・スペースは、仮想アドレスでアドレス指定可能である。この方法は、さらに、仮想アドレスの各々にアクセスするのに必要なバイナリ・ビット数が、物理アドレスの各々にアクセスするのに必要なバイナリ・ビット数よりも少ないように、仮想アドレスを物理アドレスにマップすることを含む。
【００１５】
本発明によれば、ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理方法が提供される。この方法は、フラッシュメモリの物理ユニット、フラッシュメモリの仮想ユニットを提供し、そして仮想ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数が、物理ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数よりも少ないように、仮想ユニットの各々を物理ユニットの一つ以上へマップする。
【００１６】
本発明によれば、ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理システムが提供される。このシステムは、物理アドレスでアドレス指定可能なフラッシュメモリ、仮想アドレス、そして仮想アドレスの物理アドレスへのマッピング・メカニズムを含む。この場合、仮想アドレスの各々にアクセスするのに必要なバイナリ・ビット数は、物理アドレスの各々にアクセスするのに必要なバイナリ・ビット数よりも少ない。
【００１７】
本発明によれば、ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理システムが提供される。このシステムは、フラッシュメモリの物理ユニットおよび仮想ユニット、そして仮想ユニットの物理ユニットへのマッピング・メカニズムを含む。この場合、仮想ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数は、物理ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数よりも少ない。
【００１８】
本発明によれば、ホストからフラッシュメモリにアクセスする際にフラッシュメモリを管理するための方法が提供される。この方法は、物理アドレス・スペースを介してフラッシュメモリのアドレス指定を行うこと、そしてホストから、物理アドレス・スペースよりも小さな仮想アドレス・スペースからのアドレスだけを受け入れることを含む。この場合、仮想アドレス・スペースのアドレスは、物理アドレス・スペースの物理アドレスよりも少ないビットを持つ。
【００１９】
本発明によれば、フラッシュメモリおよびコントローラを含むメモリ・デバイスが提供される。コントローラは、フラッシュメモリにアクセスする際に、物理アドレス・スペースを用いてフラッシュメモリのアドレス指定を行う。また、メモリ・デバイスのアドレス指定を行うホストから、仮想アドレス・スペースからのアドレスだけを受け入れる。この場合、仮想アドレス・スペースのアドレスは、物理アドレス・スペースのアドレスよりも少ないバイナリ・ビットを持つ。
【００２０】
本発明によれば、物理フラッシュメモリ・ユニットを含むフラッシュメモリと、コントローラを含むフラッシュメモリ・デバイスが提供される。コントローラは、フラッシュメモリにアクセスする際に、物理ユニットを使用する物理アドレス・スペースからのアドレスを用いてフラッシュメモリのアドレス指定を行う。また、メモリ・デバイスのアドレス指定を行うホストから、仮想ユニットを使用する仮想アドレス・スペースからのアドレスだけを受け入れる。この場合、仮想メモリ・ユニットのアドレス指定を行うのに必要なバイナリ・ビットは、物理メモリ・ユニットのアドレス指定を行うのに必要なバイナリ・ビットよりも少ない。
【００２１】
本発明を、例として、添付の図面を参照しながら説明する。
【発明を実施するための最良の形態】
【００２２】
本発明は、仮想アドレス指定に必要なビット数を減少させる、フラッシュファイル・システム内での仮想アドレスから物理アドレスへのマッピングである。
【００２３】
本発明によるシステムおよび方法の原理および作用は、図面とその説明文を参照することによって、よりよく理解できる。
【００２４】
本発明の実施例を詳細に説明する前に、本発明は、その適用において、以下の説明文で述べる、あるいは図面に示すデザインの詳細および構成要素のアレンジメントに限定されないことを理解すべきである。本発明は、他の実施例も可能であり、また、種々の様式で実施または実行できる。また、本文で用いる文体および用語は、説明の目的のためのもので、限定するものと見なしてはならないことを理解すべきである。
【００２５】
本文で用いる用語「ユニット」および「ページ」は、先行技術において一貫して使用されてきたものではない。米国特許第５、９３７、４２５号では、本文で用いる用語「ページ」の代わりに、用語「ブロック」が使用されている。他の先行技術によるシステムは、本文で用いる「ページ」に対して、用語「セクター」を使用している。また、他の先行技術によるシステムは、本文で用いる「ユニット」に対して、用語「ブロック」を使用している。本文では、用語「ユニット」を、消去可能な、メモリの最小塊と定義する。本文では、用語「ページ」を、書き込みが可能な、メモリの最小塊と定義する。用語「ビット」および「バイナリ・ビット」は、相互に置換可能に用いる。
【００２６】
注意すべきことは、先行技術による異なるシステムは、「仮想」アドレス指定に対して異なる用語を使用していることである。いくつかは「仮想」を用い、また、いくつかは「論理」を用いている。他は、同じシステムに両方の用語を使用して、アプリケーション・レベル・アドレスとデバイス・レベル・アドレスとの間で、最初に「仮想」から「論理」へ、そして「論理」から「物理」へのマッピング、または逆方向へのマッピングを行う、二層マッピングを実行している。そのようなすべてのマッピングは、本発明の適用範囲内にある。本発明のマッピングは、デバイスを使用するソフトウェアが、一つのアドレス・スペース、例えば、仮想を検知するとき、物理デバイスが、異なるアドレス・スペース、例えば、物理を使用することだけを必要とする。本文では、データの特定な部分が、二つのアドレス・スペース内に異なるアドレスを持つことが可能な場合、アドレス・スペースは「異なる」と定義する。本文では、用語「物理スペース」および「物理アドレス・スペース」を置換可能に用いる。また、用語「仮想スペース」および「仮想アドレス・スペース」を置換可能に用いる。用語、メモリへの「アクセス」は、メモリへの「読み書き」に言及すると定義する。メモリのアドレス指定に必要な「ビット数」は、先行ビットを含むと定義する。例えば、０００００００１は、アドレス指定のために８ビットを必要とする。
【００２７】
我々は、ここで、物理フラッシュデバイスのすべてがマッピングに参加するのではないケースに言及していないことに注意すべきである。本技術では、時々、物理デバイスのある部分が、（例えば、ブーティング、またはオペレーティングシステム・コード・イメージ等の）特殊な目的のために利用され、その部分は、物理アドレスによって直接にアクセスされる。デバイスの残りの部分だけがマッピングに関わり、対応する仮想スペースも明らかに減少する。そのようなケースでは、我々の本文の議論は、物理マップした部分にのみ言及する。その部分が、デバイス内に存在する唯一の部分であるかのように。
【００２８】
本発明は、物理アドレスのビット数に比較して、仮想アドレスのビット数を減少させるアドレス・マッピングである。例えば、ファームウェアでフラッシュファイル・システムを具現し、そして米国特許第５、９３７、４２５号の方法を用いる、低コストのフラッシュコントローラを考える。マッピングは、物理ユニット番号で索引をつけた変換テーブルを用い、仮想ユニット番号を保存して実行してもよい。例えば、先に論じたデバイスでは、テーブルは、１，０２４ｘ１０＝１０，２４０ビットを消費する。仮想アドレスが、９ビットを超過する必要がないと保証できたなら、消費メモリは、１，０２４ｘ９＝９，２１６ビットだけになる。そのうえ、コントローラのファームウェアが、単一ビットを割り当てることができず、完全なバイトだけを割り当てる場合は、アドレスが９ビットから８ビットへ減少することは、テーブルの各項目が２バイトから１バイトへ減少するため、メモリ節約の点でより重要な意義を持つ。したがって、仮想アドレスから物理アドレスへのマッピングの一部として、仮想アドレスを表すのに必要なビット数を減少させるフラッシュファイル・システムを用いることには、大きな利益がある。
【００２９】
本発明のすべての実施例において、仮想アドレスのビット数を減少させるフラッシュファイル・システムは、使用可能な記憶容量を減少させるが、多くのケースでは、大きな容量の必要はなく、小さなものが入手不能であるという理由だけで、大きなデバイスが使用される。また、米国特許第５，９３７，４２５号のタイプのフラッシュファイル・システムは、性能が良いことが知られている。その理由は、マッピング中により多くの、１対多の仮想ユニットから物理ユニットへの割り当てが同時に存在するので、物理ユニット１１１数に比較して仮想ユニット１２１数が小さいため、平均書き込み性能が、より効果的な消去によって改善されるからである。そのように、仮想記憶容量の損失を正当化する考慮がある。したがって、マッピングにおける仮想アドレス・ビット数を減少させる本発明は、有利である。
【００３０】
現在のフラッシュファイル・システムは、アドレスのマッピング中にアドレス・ビット数を減少させない。その理由は、常用のフラッシュデバイスが、典型的に、正確な２の累乗である多数の物理ユニットを含むという事実に密接な関係がある。例えば、１，０２４ユニットの上記デバイスは、２の１０乗（２１０）のユニット数を持つ。その結果、仮想範囲および物理範囲の典型的な差となる、仮想アドレス範囲の数パーセントの減少では、低ビット数アドレス範囲への「境界を横切る」のに十分ではない。
【００３１】
しかし、フラッシュデバイスのサイズを、２の正確な累乗にすることは、義務的なことでない。例えば６００または７００等の、２の累乗でない多数の物理ユニット１１１を持つフラッシュデバイスを製造することへの、物理的な障害はない。２の累乗よりも僅かに多い数の物理ユニット１１１を持つ利点は、不良ブロックに関連するものである。フラッシュ製造業者は、典型的に、デバイス・テストにおける不良ブロックの検出を予期して、予備のブロックをいくつかフラッシュシリコン・ダイ内に含ませる。テスト後、検出した不良ブロックを、正常なスペアブロックで置換する、置換工程があり、デバイスは、より少ない数のブロックで、望ましくは０不良ブロックで出荷されることになる。この方法の欠点は、置換に必要でない正常なスペアブロックが、ユーザには消失してしまうことである。
【００３２】
さて、本発明の実施例による、仮想から物理へのマッピング２０を表す概略図である図２を参照する。図２は、仮想スペース２１の、物理スペース２３へのメモリ・マッピング２０を示す。
【００３３】
メモリ・マッピング２０は、本発明によるメモリ管理中に、フラッシュメモリ・コントローラ２０７を持つホスト２０５によって達成する。
【００３４】
物理スペース２３は、２の累乗である多数の「レギュラー」ユニット２０１を提供し、また、「レギュラー」ユニット直後のアドレスを持つ追加ユニットとして、スペアユニット２０３を提供する。ゆえに、フラッシュデバイスは、２の正確な累乗よりも僅かに、例えば０．５%だけ大きな、レギュラーユニット２０１にスペアユニット２０３を加えたユニット合計数を持つ。本発明によるフラッシュファイル・システムは、仮想スペース２１内の多くのユニット１２１を犠牲にすることなく、仮想スペース２１内のアドレス・ビット数を減少させる。例えば、フラッシュデバイスが、追加で１０のスペアユニット２０３を提供するならば、物理スペース２３は、１１アドレス・ビットを必要とする、０から１，０２４＋１０−１＝１，０３３までの数のユニット、すなわちレギュラーユニット２０１にスペアユニット２０３を加えたものを含む。本発明による改良型フラッシュファイル・システムは、仮想スペース２１を、０から１，００９までの数の仮想ユニット１２１に減少させ、１０アドレス・ビットのみを必要とすると共に、物理アドレス範囲と仮想アドレス範囲との間のサイズの違いを、比較的小さく保つ。
【００３５】
したがって、前述のものは、本発明の原理だけを例証するものと考えるべきである。さらに、当業者には、多数の修正および変更を施すことは容易であり、本発明を、図示および説明したデザインおよび作用に正確に限定することは望ましいことではなく、したがって、すべての適当な修正および同等なことは、本発明の範囲内に含まれる。
【００３６】
このように、当業者は、この開示の基礎を形成する概念が、本発明のいくつかの目的を実行する他の方法およびシステムを設計するための基礎として、容易に利用可能であることを理解すべきである。したがって、本発明の精神および範囲から逸脱しない限り、請求項は、そのような相当構造を含むと見なすことが重要である。
【００３７】
本発明を、限られた数の実施例について説明したが、本発明の多くの変形、修正および他の適用が可能であることは言うまでもない。
【図面の簡単な説明】
【００３８】
【図１】（先行技術）は、フラッシュファイル・システム内での仮想アドレスから物理アドレスへの、従来の変換を表す概略図である。
【図２】本発明の実施例による、フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換を表す概略図である。
【図１】
2008508589.tif 000003
【図２】
2008508589.tif 000004
【国際調査報告】
2008508589.tif 000005