(57)【要約】【課題】  高速でかつ安全なデ−タアクセス性能、シンプルなインタフェ−スを実現でき、さらに、メインメモリとして用いられる不揮発性メモリの長寿命化を実現できるメモリカ−ド、不揮発性メモリを備えた装置及びメモリコントロ−ラを提供する。【解決手段】  NAND flash ROM１８とＦｅＲＡＭ２０とを備えるメモリモジュ−ルを具備するメモリカ−ドであって、NAND flash ROM１８をメインメモリとして用い、当該メインメモリのキャッシュメモリとしてＦｅＲＡＭ２０を用いる。【選択図】      図１
2005301591.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリとして用いられる第１の不揮発性メモリと、前記第１の不揮発性メモリのキャッシュメモリとして用いられる第２の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置。
【請求項２】
メインメモリとして用いられる第１の不揮発性メモリと、前記第１の不揮発性メモリよりも小容量でかつ前記第１の不揮発性メモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いられる第２の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置。
【請求項３】
メインメモリとして用いる第１の不揮発性メモリと、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いる第２の不揮発性メモリと、これらのメモリを制御するメモリコントロ−ラとを備えた装置であって、
前記メモリコントロ−ラは、前記第２の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第１の不揮発性メモリに記憶されているデ−タを前記第２の不揮発性メモリにロ−ドし、前記第２の不揮発性メモリを介して求めるデ−タを得ることを特徴とする、不揮発性メモリを備えた装置。
【請求項４】
第１の不揮発性メモリをメインメモリとし、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい第２の不揮発性メモリを前記メインメモリのキャッシュメモリとして用いるメモリ構成を制御するメモリコントロ−ラであって、
前記第２の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第１の不揮発性メモリに記憶されているデ−タを前記第２の不揮発性メモリにロ−ドし、前記第２の不揮発性メモリを介して求めるデ−タを得ることを特徴とするメモリコントロ−ラ。
【請求項５】
前記第２の不揮発性メモリにアクセスがない空き時間に、前記第１の不揮発性メモリに記憶されているデ−タを前記第２の不揮発性メモリにロ−ドすることを特徴とする請求項４に記載のメモリコントロ−ラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントロ−ラ、および不揮発性メモリとフラッシュメモリの混載メモリシステムに関し、特に高速にフラッシュメモリのデ−タアクセスが行え、かつデ−タ保全性を向上する不揮発性メモリを備えた装置及びメモリコントロ−ラに関する。
【背景技術】
【０００２】
従来、フラッシュメモリ、例えば、NAND flash ROM等における問題点としては、デ−タ書き込み時のオ−バヘッドの問題が挙げられる。NAND flash ROMへのデ−タ書き込みは、新たな書き込みを消去済みの新たなブロックに対して行い、その後、古いブロックを消去状態にする方法が一般的に使用される。この際に、新しい書き込みによって上書きされない領域のデ−タについては、新たなブロックにコピ−する必要がある。このように、巻き添えで移動するデ−タのコピ−処理がオ−バヘッドとなる。また、このようにブロック書き込みは、NAND flash ROM内に有効な空きブロックが存在することを前提としており、この空きブロックを確保しておくために、実際のメモリ容量を全て使うことはできない。
【０００３】
また、不揮発性メモリであるフラッシュメモリにおける問題としては、フラッシュメモリ寿命の問題が挙げられる。フラッシュメモリには書き換え回数の制限があり、頻繁なデ−タ書き込みがあると、すぐに寿命がきてしまう。特に、NAND flash ROMの消去単位はブロック単位であることと、デ−タの書き込み前には書き込む領域を消去しなくてはならないことより、NAND flash ROMのデ−タ書き込みの単位もブロック単位となっている。このことはブロックサイズより小さいサイズのデ−タを書き込むたびに、ブロックの消去と書き込みが発生し、必要以上の領域に対して書き込みが行われることを意味し、書き換え回数の制限があるflashタイプのメモリにとっては問題である。
【０００４】
これらの問題に対応するために、メインメモリとして使用するNAND flash ROMとともにデータバッファとして揮発性のメモリを備える技術が開示されている（例えば、特許文献１）。
【０００５】
しかし、当該技術では、揮発性メモリを使用しているため、電源が切断された場合のデ−タ保全性の問題が挙げられる。すなわち、NAND flash ROMのデ−タ書き込み時に行われる古いブロックから新しいブロックヘの書き込みは、ブロック書き込みが完了し、古いブロックを消去し終えることで完了することになる。この処理の間に、電源切断などにより処理が意図せずに停止した場合、処理停止のタイミングによっては論理的に同じアドレスを持つブロックが２つ存在することになり、その後のデ−タアクセスのためにどちらかのブロックを削除する等のリカバリ処理が必要となる。この時、新しく書き込まれたブロックを削除すると新規書き込み分のデ−タは失われることとなり、古いブロックを削除するとなると新しく書き込まれたブロックのデ−タが不完全である可能性があることになる。このように、突然の書き込み処理停止に対するデ−タ保全性に問題がある。なお、他のフラッシュメモリにおいて同様の処理が必要となる場合には、NAND flash ROMに限った問題ではない。さらに、デ−タ書き込み時には、結局メインメモリのほうにも書き込みを行っており、通常はソフトウェアで対応している処理をハ−ドウェアで実現しただけのものである。
【０００６】
また、インタフェ−スの問題が挙げられる。すなわち、NAND flash ROMは不良ブロックの存在を許す仕様であることより、デ−タアクセスの際に不良ブロックを管理する必要がある。不良ブロックを管理する方法として、アクセスするアドレスとしての論理アドレス、実際のアドレスである物理アドレスとの対応関係の情報として論理・物理変換テ−ブルを生成・更新し、それを利用することで不良ブロックを避けながら正常ブロックヘのアクセスを実現している。このことは、物理アドレスを論理的に連続したアドレスとして利用できないことを意味しており、NAND flash ROMに対するデ−タアクセスを複雑なものにしている。なお、他のフラッシュメモリにおいて同様の処理が必要となる場合には、NAND flash ROMに限った問題ではない。
【特許文献１】特開２００３−２４２７８８号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、高速でかつ安全なデータアクセス性能、シンプルなインタフェースを実現でき、さらに、メインメモリとして用いられる不揮発性メモリの長寿命化を実現できる不揮発性メモリを備えた装置及びメモリコントロ−ラを提供することである。
【課題を解決するための手段】
【０００８】
本発明の一態様は、メインメモリとして用いられる第１の不揮発性メモリと、前記第１の不揮発性メモリのキャッシュメモリとして用いられる第２の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置である。
【０００９】
また、本発明の一態様は、メインメモリとして用いられる第１の不揮発性メモリと、前記第１の不揮発性メモリよりも小容量でかつ前記第１の不揮発性メモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いられる第２の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置である。
【００１０】
また、本発明の一態様は、メインメモリとして用いる第１の不揮発性メモリと、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いる第２の不揮発性メモリと、これらのメモリを制御するメモリコントロ−ラとを備えた装置であって、前記メモリコントロ−ラは、前記第２の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第１の不揮発性メモリに記憶されているデ−タを前記第２の不揮発性メモリにロ−ドし、前記第２の不揮発性メモリを介して求めるデ−タを得ることを特徴とする、不揮発性メモリを備えた装置である。
【００１１】
また、本発明の一態様は、第１の不揮発性メモリをメインメモリとし、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい第２の不揮発性メモリを前記メインメモリのキャッシュメモリとして用いるメモリ構成を制御するメモリコントロ−ラであって、前記第２の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第１の不揮発性メモリに記憶されているデ−タを前記第２の不揮発性メモリにロ−ドし、前記第２の不揮発性メモリを介して求めるデ−タを得ることを特徴とするメモリコントロ−ラである。
【発明の効果】
【００１２】
高速でかつ安全なデ−タアクセス性能、シンプルなインタフェ−スを実現でき、さらに、メインメモリとして用いられる不揮発性メモリの長寿命化を実現できる不揮発性メモリを備えた装置及びメモリコントロ−ラを提供することができる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施形態）
以下図面を参照して、本発明の実施形態について説明する。
【００１４】
図１は、本発明の第１の実施形態に係る不揮発性メモリを備えた装置として、例えばメモリカ−ドの構成を示したブロック図である。なお、不揮発性メモリを備えた装置としては、図１に示したメモリカードの実施形態に限らず、携帯用の情報機器端末や固定用のコンピュータ装置など、不揮発性メモリを備えた装置であれば何であってもよいものである。なお、以降の説明においては、キャッシュメモリとしてＦｅＲＡＭ（不揮発性メモリ）を、メインメモリとしての位置付けとなるフラッシュメモリとしてNAND flash ROMを用いた場合の混載メモリシステムとして説明を行う。
【００１５】
メモリカ−ド１０は、プラスチック等のカ−ド型のケ−スにメモリモジュ−ルを収納して搭載している。
【００１６】
メモリモジュ−ル１１は、インタフェ−ス部１２、ライトバック機能１５を備えたキャッシュ制御部１４、ＥＣＣ計算機能１７を備えたNAND flash ROMアクセス制御部１６、デ−タ記憶のためのブロックエントリ領域２１とキャッシュ制御のための情報テ−ブル領域２２を備えたＦｅＲＡＭ２０、及びNAND flash ROM１８を有する。なお、NAND flash ROM１８は、例えば、１ペ−ジ５１２バイトの容量を持つNAND flash ROMであり、この構成に限ったものではない。
【００１７】
インタフェ−ス部１２は、例えば、非同期SRAMと同等のインタフェ−スを持つ構成とすることができ、簡便なインタフェ−スを用いることができる。
【００１８】
ＦｅＲＡＭ２０は、NAND flash ROM１８が備える物理ブロックのサイズ単位に対応する複数のエントリを持つブロックエントリ領域２１と、論理ブロック番号と対応するNAND flash ROM１８の物理ブロックアドレスやＦｅＲＡＭのアドレス、そしてキャッシュ管理情報が記憶される情報テ−ブル領域２２を有する。
【００１９】
キャッシュ制御部１４は、インタフェ−ス部１２からのデ−タアクセス要求に対して、ＦｅＲＡＭ２０内に存在する情報テ−ブル領域２２を参照しながらＦｅＲＡＭ２０内のブロックエントリ領域２１のデ−タにアクセスを行う。詳細は後述する。
【００２０】
ライトバック機能１５は、キャッシュ制御部１４の補助的な役割を持つ部である。詳細は後述する。
【００２１】
NAND flash ROMアクセス制御部１６は、NAND flash ROM１８のアクセスを実現する一般的なNAND flash ROMコントロ−ラを指す。NAND flash ROMアクセス制御部１６は、キャッシュ制御部１４よりアクセス要求があるNAND flash ROM１８の物理アドレスと、デ−タアクセスの種別（ペ−ジデ−タ読み出し／ブロックデ−タ書き込み）が渡され、NAND flash ROM１８に該当するデ−タアクセスを行う。このデ−タアクセスの際には、ＥＣＣ計算機能１７を介して、アクセスデ−タのＥＣＣ計算値を利用する。また、デ−タ書き込み時には、書き込みデ−タのＥＣＣ計算値をNAND flash ROM１８のペ−ジ毎に備える冗長部デ−タ領域に書き込む。さらに、デ−タ読み出し時には、冗長部にあるＥＣＣ計算値と、読み出しデ−タのＥＣＣ計算値とを比較し、必要があれば１ビットエラ−修正を行ってからデ−タを読み出す。なお、１ビットエラ−修正を行ったデ−タをNAND flash ROM１８側には書き戻しは行わない。２ビット以上のエラ−を含む修正不能なビットエラ−を検出した場合の処理方法としては、キャッシュ制御部１４に該当デ−タを返すのと同時に修正不能エラ−が検出されたことを通知し、キャッシュ制御部１４は、該当する論理ブロックのNAND flash ROM１８の物理アドレスやＦｅＲＡＭ２０のブロックエントリ領域２１に記憶されているブロックエントリ情報を"未割り当て"にする。なお、不良が検出されたNAND flash ROM１８の物理ブロックは、不良ブロックのマ−キングを施す、等があるが、特に限定するものではない。
【００２２】
ＥＣＣ計算機能１７は、NAND flash ROMアクセス制御部１６の補助的な役割を持つ部である。ＥＣＣ計算機能１７は、NAND flash ROM１８のデ−タ信頼性を上げるために、例えば、２５６バイト毎に２２ビットのＥＣＣを計算を行う（なお、この構成に限らないことはいうまでもない）。
【００２３】
次に、ＦｅＲＡＭ２０のメモリマップと情報テ−ブルの一例を図２に示す。なお、情報テ−ブルはキャッシュ制御部１４の処理アルゴリズムによって必要十分な情報を提供するものであり、必ずしも図２に示す情報テ−ブルの形態を取るとは限らない。
【００２４】
まず、図２（ａ）に示すように、ブロックエントリ領域２１に記憶されている各ブロックエントリ２１ａ〜２１ｎは、さらにNAND flash ROM１８の１ペ−ジ単位（５１２バイト）のペ−ジ区画で区切られている（図２では、０〜３１の３２個のペ−ジ区画）。
【００２５】
ＦｅＲＡＭ２０は、図２（ｂ）に示すように、複数のブロックエントリが記憶されているブロックエントリ領域２１と、情報テ−ブルを記憶している情報テ−ブル領域２２から構成されている。
【００２６】
情報テ−ブル領域２２に記憶されている情報テ−ブルは、図２（ｃ）に示すように、実現するメモリの全論理ブロック分（０〜ｎ）のステ−タス情報を保持する。ある論理ブロックにNAND flash ROM１８の物理ブロックが割り当てられている場合には、情報テ−ブルの該当部分に対応する物理ブロックアドレスが記憶される。あるブロックエントリにNAND flash ROM１８の物理ブロックが割り当てられている場合には、情報テ−ブルの該当部分に対応するＦｅＲＡＭ２０内のアドレスが記憶され、さらに、ブロックエントリ内の各ペ−ジ区画のデ−タの有効性を示す属性情報（バリッドビット）が、ＦｅＲＡＭ２０内の情報テ−ブルの所定の場所（バリッドビットフィ−ルド）に記憶される。ＦｅＲＡＭ２０内の割り当て済みのブロックエントリ内のデ−タが書き込まれ、対応するNAND flash ROM１８内の物理ブロックのデ−タと差違が生じた場合には、ブロックエントリ毎にあるダ−ティ情報（ダ−ティビット）が更新される。ＦｅＲＡＭ２０とNAND flash ROM１８とのデ−タのやり取りは、キャッシュ制御部１４を介して行われ、NAND flash ROM１８からの読み出しはペ−ジ単位（一般のキャッシュで言うところのライン）、NAND flash ROM１８への書き込みはブロック単位である。
【００２７】
次に、キャッシュ制御部１４の基本的な処理を図３のフロ−チャ−トを参照して説明する。本発明の実施形態に係るメモリモジュ−ル１１を制御している図示しないＣＰＵ等の制御部は、ステップＳ１で、インタフェ−ス部１２にビジ−を通知する。
【００２８】
次に、キャッシュ制御部１４は、ステップＳ２で、アクセス対象の論理ブロックがＦｅＲＡＭ２０内のブロックエントリに登録されているか否かを判別する。ステップＳ２で、アクセス対象の論理ブロックがＦｅＲＡＭ２０内のブロックエントリに登録されていると判別された場合は、ステップＳ３で、キャッシュ制御部１４は、ブロックエントリ内のアクセス対象のペ−ジ区画のデ−タが有効であるか否かを判別する。
【００２９】
ステップＳ３で、キャッシュ制御部１４によって、ブロックエントリ内のアクセス対象のペ−ジ区画のデ−タが有効でないと判別された場合は、ステップＳ４で、NAND flash ROM１８から該当ペ−ジをフェッチする（ＦｅＲＡＭ２０内の該当位置にデ−タを記憶した後、該当するバリッドビットを更新する）。即ち、デ−タが無効であれば、NAND flash ROM１８から対象のデ−タが存在するペ−ジデ−タをフェッチして、適切なペ−ジ区画に記憶し、そのペ−ジ区画に対応するバリッドビットを更新してからデ−タアクセスをＦｅＲＡＭ２０に対して行う。
【００３０】
一方、ステップＳ３で、キャッシュ制御部１４によって、ブロックエントリ内のアクセス対象のペ−ジ区画のデ−タが有効であると判別された場合は、ステップＳ５で、ＦｅＲＡＭ２０内の該当アドレスに対してアクセスを行う（アクセス先アドレスがあるＦｅＲＡＭ２０内のペ−ジ区画に対応するバリッド情報を、情報テ−ブル内の該当する論理ブロックが持つバリッドフィ−ルドから取得し、デ−タが有効であればデ−タアクセスをＦｅＲＡＭに対して行う）。
【００３１】
キャッシュ制御部１４によって、ＦｅＲＡＭ２０内の該当アドレスに対してアクセスされた場合、ステップＳ６で、当該アクセスは、読み出しのためのアクセスでない場合（書き換え等の場合）は、ステップＳ７で、該当するブロックエントリに書き換えが行われたことを示すダ−ティビットを設定する。即ち、デ−タアクセスが書き込みの場合には、対応するダ−ティビットを更新し、ブロックエントリに書き込みが行われたことを示す情報を付加する。アクセス処理中は、インタフェ−ス部にビジ−であることを通知し、インタフェ−ス部はそれに応じてレディ／ビジ−出力を行う。
【００３２】
一方、当該アクセスは、読み出しのためのアクセスである場合は、ステップＳ８で、ＦｅＲＡＭ２０は、インタフェ−ス部１２に読み出すデ−タを出力する。続いて、ステップＳ９で、ＦｅＲＡＭ２０は、インタフェ−ス部１２にレディを通知する。
【００３３】
次に、ステップＳ２で、キャッシュ制御部１４によって、アクセス対象の論理ブロックがＦｅＲＡＭ２０内のブロックエントリに登録されていないと判別された場合は、ステップＳ１０で、キャッシュ制御部１４は、空きブロックエントリがあるか否かを判別する。ステップＳ１０で、キャッシュ制御部１４により、空きブロックエントリがない（登録されていない）と判別された場合は、ステップＳ１１で、キャッシュ制御部１４のライトバック機能１５によって、適切な既存のブロックエントリのデ−タをNAND flash ROM１８の該当ブロックに書き戻し処理であるライトバック処理（後述、詳細に説明する）が行われ、空き状態になったブロックエントリを新規割り当て用として使用する。なお、ライトバック処理は、ライトバック機能１５部に委譲し、ブロックエントリの割り当て後の処理については前述の通りである。
【００３４】
一方、ステップＳ１０で、キャッシュ制御部１４により、空きブロックエントリがあると判別された場合は、ステップＳ１２で、NAND flash ROM１８アクセス制御部１６により、アクセス対象の論理ブロックに対してNAND flash ROMの物理ブロックが割り当たっているか否かを判別する。ステップＳ１２で、NAND flash ROM１８アクセス制御部１６により、アクセス対象の論理ブロックに対してNAND flash ROMの物理ブロックが割り当たっていないと判別された場合は、ステップＳ１３で、空いている物理ブロックを割り当てる。この際、空いている物理ブロックの割り当て方法としては、「NAND flash ROM１８の各物理ブロックの書き込み頻度に関する情報テ−ブルをＦｅＲＡＭ２０内に用意し、最も書き込み回数が少ない物理ブロックを選択する」などがあるが、特に限定するものではない。
【００３５】
一方、ステップＳ１２で、NAND flash ROM１８アクセス制御部１６により、アクセス対象の論理ブロックに対してNAND flash ROMの物理ブロックが割り当たっていると判別された場合は、ステップＳ１４で、キャッシュ制御部１４により、該当するブロックエントリの割り当てが行われる。
【００３６】
次に、上述したライトバック処理について、詳細に説明する。キャッシュ制御部１４のライトバック機能１５は、キャッシュ制御部１４の補助的な役割を持っている。基本的な処理フロ−を図４に示す。
【００３７】
ステップＳ２０で、ライトバック機能１５は、割り当てられているブロックエントリを１つ選択し、ステップＳ２２で、当該ブロックエントリのダ−ティビットが設定されているか否かを判別する。ステップＳ２２で、当該ブロックエントリのダ−ティビットが設定されている（書き換えが行われている）と判別された場合、ステップＳ２４で、ライトバック機能１５は、ＦｅＲＡＭ２０に記憶されているデ−タをNAND flash ROM１８の空き物理ブロックを選択し、ステップＳ２６で、選択されたNAND flash ROM１８の空き物理ブロックに書き込み（ＦｅＲＡＭ２０からNAND flash ROM１８への書き戻し処理：ライトバック処理）を行う。続いて、ステップＳ２８で、ライトバック機能１５は、ＦｅＲＡＭ２０の情報テ−ブル領域２２に記憶されている情報テ−ブルを更新し（ライトバック対象の物理ブロックアドレスを、実際の書き込んだ物理ブロックアドレスで上書きし、対応する論理ブロックのブロックエントリ情報を"未割り当て"とする）、空きブロックエントリを作成する。なお、ライトバック処理中の意図しない処理の中断については、次回のアクセス時に再度ライトバックが発生した時に正しく処理されることが保証される。
【００３８】
また、書き戻すブロックエントリの選択方法としては、「各ブロックエントリのアクセス頻度に関する情報テ−ブルやリストなどをＦｅＲＡＭ２０内に用意し、最近のアクセスの中で最もアクセスが少ないブロックエントリを選択する。」などがあるが、特に限定するものではない。また、空き物理ブロックの選択方法としては、「NAND flash ROM１８の空き物理ブロックに関する情報テ−ブルやリストなどをＦｅＲＡＭ２０内に用意し、最も書き込み回数が少ない物理ブロックを選択する。」などがあるが、特に限定するものではない。
【００３９】
以上の構成により、耐障害性の向上電源切断などによりデ−タ書き込み処理が意図せずに停止したとしても、直接のデ−タアクセスはキャッシュメモリに対して行われるため、このキャッシュメモリに対して行われたデ−タ書き込みは、電源が供給されなくなっても保持される。また、ライトバック処理中の意図しない処理の中断が発生したとしても、キャッシュメモリ内に保持される情報テ−ブルの更新は、メインメモリとしてのフラッシュメモリの空きブロックヘの書き込み完了後に行われる。このため、情報テ−ブルの更新前にメインメモリ（フラッシュメモリ）には元のブロックのデ−タがそのまま残っており、デ−タが破壊されることがない。このように耐障害性の向上が期待できる。
【００４０】
また、デ−タ書き込み先をキャッシュメモリとすることにより、メインメモリ（フラッシュメモリ）の特性によっては発生する、巻き添えで移動するデ−タコピ−処理によるオ−バヘッドがなくなり、デ−タ書き込み速度の向上が期待できる。特に、頻繁に発生するブロックサイズ以下のデ−タ書き込みにおいては、非常に高いキャッシュ効果が期待できる。例えば、異なる複数ブロックへのブロックサイズより小さなサイズの書き込みが頻繁に行われる場合には、直接メインメモリ（フラッシュメモリ）にアクセスする際に小さなサイズの書き込み毎に一連のNAND flash ROMのブロック書き込み処理が発生するが、本発明の場合にはキャッシュヒット（キャッシュメモリ側に登録されているブロックエントリがアクセス対象である）する分だけ、メインメモリ（フラッシュメモリ）へのアクセスが減らされる。さらに具体例を挙げると、１０ブロックに対してアクセスするブロックを変えながら、それぞれブロックに対して１００００回書き込んだとする（その間は他のアクセス処理はないものとする）と、前者では１００００回メインメモリ（フラッシュメモリ）への書き込みが発生するが、後者では（１０ブロック分位ははキャッシュに含まれるという前提で）一度も書き込みが発生しないことになる。つまり、キャッシュメモリのアクセス性能でアクセス出来るとともに、メインメモリ（フラッシュメモリ）には書き込み処理がないので混載メモリシステムのほうがNAND flash ROM単体と比べると寿命が延びる。即ち、メインメモリとしてのフラッシュメモリヘの書き込みは、不揮発性メモリ内のブロックエントリのデ−タが書き戻される場合のみとなり、デ−タアクセスの時間的局所性と空間的局所性により、キャッシュヒットをすればするほどフラッシュメモリヘの書き込み頻度が低減し、書き込み回数に制限があるフラッシュメモリをより有効に使用できる。このように、必要があるまでメインメモリとしてのフラッシュメモリには書き込みが行われないため、従来技術（デ−タ書き込み時には、メインメモリ（フラッシュメモリ）のほうにも書き込みを行う技術）と異なる。
【００４１】
また、メインメモリとしてのフラッシュメモリのアクセスは、キャッシュ制御部が不揮発性メモリ内に保持される論理／物理アドレス変換テ−ブルを用いて制御するため、複雑なメインメモリ（フラッシュメモリ）のデ−タアクセスのインタフェ−スを隠し、他のよりシンプルなインタフェ−スに変換することができる。
【００４２】
（第２の実施形態）
次に、本発明に係る第２の実施形態について、図５を参照して説明する。なお、第１の実施形態と同様の構成は、同符号で示すことにより詳しい説明を前述に譲る。第１の実施形態との相違点は、キャッシュ制御部１４がライトバック機能１５に加え、プリフェッチ機能１３を備えている点である。以下、このプリフェッチ機能１３が行うプリフェッチ処理を中心に説明を行う。
【００４３】
図５は、本発明の第２の実施形態に係る不揮発性メモリを備えた装置として、例えばメモリカ−ドの構成を示したブロック図である。キャッシュ制御部１４にプリフェッチ機能１３をさらに備えている構成となっており、その他の構成は、第１の実施形態と同様である。このプリフェッチ機能１３は、ＦｅＲＡＭ２０へのデ−タアクセスない空き時間を利用して、NAND flash ROM１８からＦｅＲＡＭ２０にキャッシュデ−タを効率的にファイルすることにより、キャッシュ効率を高めるものであり、キャッシュ制御部１４の補助的な役割を持っている。
【００４４】
このプリフェッチ機能１３が行うプリフェッチ処理について、図６のフロ−チャ−トを用いて説明する。
【００４５】
プリフェッチ機能１３は、ステップＳ３０で、インタフェ−ス部１２からのデ−タアクセス要求（チップセレクトも含む）がキャッシュ制御部１４に対して行われているか否かを判別する。ステップＳ３０で、インタフェ−ス部１２により、インタフェ−ス部１２からのデ−タアクセス要求がキャッシュ制御部１４に対して行われていないと判別された場合は、ステップＳ３２で、プリフェッチ機能１３は、ＦｅＲＡＭ２０のブロックエントリ領域２１に記憶されているブロックエントリの無効属性が付いたペ−ジ区画があるか否かを判別する。ステップＳ３２で、プリフェッチ機能１３により、該当するペ−ジ区画があると判別された場合は、プリフェッチ機能１３は、ステップＳ３４で、ＦｅＲＡＭ２０のブロックエントリ領域２１に記憶されているブロックエントリの無効属性が付いたペ−ジ区画を選択する。続いて、プリフェッチ機能１３は、ステップＳ３６で、選択されたペ−ジ区画に対して、NAND flash ROM１８から該当するペ−ジデ−タを読み出して、ステップＳ３８で、有効なデ−タを記憶し、ステップＳ４０で、該当ペ−ジ区画のバリッドビットをセットする。
【００４６】
なお、バリッドビッドは、各ペ−ジ区画にデ−タを記憶する毎に、対応するバリッドビッドを更新する。また、有効デ−タを埋め込むペ−ジ区画の選択方法としては、「各ブロックエントリのアクセス頻度に関する情報テ−ブルやリストなどをＦｅＲＡＭ２０内に用意し、最も最近アクセスがあったブロックエントリの順に、それぞれ若いアドレス順にペ−ジ区画を選択する。」などがあるが、特に限定するものではない。
【００４７】
以上の構成により、第１の実施形態の効果に加え、ＦｅＲＡＭのキャッシュ効率を高めることができ、アクセス速度をさらに向上させることができる。
【００４８】
なお、本発明は、NAND flash ROMとＦｅＲＡＭの組み合わせに限定されることなく、特許請求の範囲に記載された発明の範囲内で、他の不揮発性メモリ等を用いるなど、他の種々の変更が可能であり、それらも本発明の範囲内に含有されるものであることは言うまでもない。さらに、メモリモジュ−ルやメモリコントロ−ラをメモリカ−ドに組み込んで使用するため、一般的なメモリカ−ドが有する特長や利点（扱い安さ、耐久性向上等）を有することはもちろんである。
【００４９】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１の実施形態に係る不揮発性メモリを備えた装置として、例えばメモリカ−ドの構成を示したブロック図。
【図２】本発明の第１の実施形態に係るＦｅＲＡＭのメモリマップと情報テ−ブルの一例を示した模式図。
【図３】本発明の第１の実施形態に係るキャッシュ制御部の基本的な処理を示したフロ−チャ−ト。
【図４】本発明の第１の実施形態に係るライトバック機能の基本的な処理を示したフロ−チャ−ト。
【図５】本発明の第２の実施形態に係る不揮発性メモリを備えた装置として、例えばメモリカ−ドの構成を示したブロック図。
【図６】本発明の第２の実施形態に係るプリフェッチ機能によるプリフェッチ処理について示したフロ−チャ−ト。
【符号の説明】
【００５１】
１０…メモリカ−ド、１１…メモリモジュ−ル、１２…インタフェ−ス部、１３…プリフェッチ機能、１４…キャッシュ制御部、１５…ライトバック機能、１６…NAND flash ROMアクセス制御部、１７…ＥＣＣ計算機能、１８…NAND flash ROM、２０…ＦｅＲＡＭ、２１…ブロックエントリ領域、２２…情報テ−ブル領域
【図１】
2005301591.tif 000003
【図２】
2005301591.tif 000004
【図３】
2005301591.tif 000005
【図４】
2005301591.tif 000006
【図５】
2005301591.tif 000007
【図６】
2005301591.tif 000008