(57)【要約】【課題】フラッシュメモリを用いる場合に、リラクゼーション効果を有効利用でき、信頼性の高いシステムを構築することが可能となるメモリシステムを提供する。【解決手段】フラッシュEEPROM 及び RAM とこれらを制御する制御回路を有するメモリシステムにおいて、EEPROM は第１，第２記憶領域を有し、制御回路は、消去単位のうちで使用中のブロック領域のデータを格納する第１リスト21と、消去単位のうちで未使用又は使用済みで無効となったブロック領域のデータを格納する第２リスト22と、第２記憶領域に対して使用済みで無効となったブロック領域のデータを格納する第３リスト23と、第１記憶領域に対して使用済みで無効となったブロック領域のデータを格納する第４リスト24とを管理し、且つ第３又は第４リスト23，24の格納データが一杯になった時点で、第３又は第４リスト23，24に格納されたブロック領域のデータを第２リスト22へ追い出す。【選択図】      図６
2011222057.tif 000002
【特許請求の範囲】
【請求項１】
読み書き単位と消去単位が異なるフラッシュＥＥＰＲＯＭメモリおよびＲＡＭと、前記フラッシュＥＥＰＲＯＭメモリおよびＲＡＭを制御する制御回路を有するメモリシステムにおいて、
前記フラッシュＥＥＰＲＯＭメモリは、格納するデータの用途が異なる少なくとも第１の記憶領域および第２の記憶領域を有し、
前記制御回路は、
前記フラッシュＥＥＰＲＯＭメモリにおける消去単位のうちで、前記第１の記憶領域または第２の記憶領域として使用中のブロック領域を示すデータを格納する第１のリストと、
前記消去単位のうちで、未使用のブロック領域または使用済みで無効となったブロック領域を示すデータを格納する第２のリストと、
前記フラッシュＥＥＰＲＯＭメモリに対する消去間隔を確保するために用意され、前記第２の記憶領域に対応して使用済みで無効となったブロック領域を示すデータを格納する第３のリストと、
前記フラッシュＥＥＰＲＯＭメモリに対する消去間隔を確保するために用意され、前記第１の記憶領域に対応して使用済みで無効となったブロック領域を示すデータを格納する第４のリストと、
を管理し、且つ前記第３のリストまたは第４のリストの格納データが一杯になった時点で、当該第３のリストまたは第４のリストに格納されたブロック領域を示すデータを前記第２のリストへ追い出す機能を有し、
前記第３のリストおよび第４のリストはそれぞれの記憶可能な最大のデータエントリ数が互いに異なることを特徴とするメモリシステム。
【請求項２】
前記第１の記憶領域は、主記憶領域であり、前記第２の記憶領域は、前記第１の記憶領域に対するキャッシュ領域であり、前記第４のリストの最大データエントリ数が前記第３のリストの最大データエントリ数より少ないことを特徴とする請求項１記載のメモリシステム。
【請求項３】
前記制御回路は、前記第３のリストまたは第４のリストの格納データの中で一定期間経過したデータを優先して前記第２のリストへ登録する機能を有することを特徴とする請求項１記載のメモリシステム。
【請求項４】
前記制御回路は、前記第２のリストのデータ中に前記第１のリストへ登録する候補がない場合、前記主記憶領域として前記ブロック領域を使用する際は前記第４のリストからデータを選択して前記第１のリストへ登録し、前記キャッシュ領域として前記ブロック領域を使用する際は前記第３のリストからデータを選択して前記第１のリストへ登録する機能を有することを特徴とする請求項２記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、フラッシュＥＥＰＲＯＭ型不揮発性メモリを用いたメモリシステムに係り、特に書き込み・消去時間の間隔を短くするとリテンション特性（データ保持特性）が悪化してしまうＮＡＮＤ型フラッシュメモリを用いたメモリシステムに関するもので、例えばハードディスク装置の代替に使用されるものである。
【背景技術】
【０００２】
現在、半導体メモリは大型コンピュータの主記憶から、パーソナルコンピュータ、家電製品、携帯電話等、至る所で利用されている。市場が大きく伸びているものは、フラッシュ（Flash）ＥＥＰＲＯＭ型の不揮発性メモリ（以下、フラッシュメモリと記す）である。これは、電源を切ってもデータが消えない、高集積化に適した構造になっている、などといったことから、今では携帯電話やデジタルカメラ等、多くの情報機器に利用されている。すなわち、デジタルカメラ、デジタルビデオ、ＭＰ３等の音楽機器、モバイル用パソコン等の記憶媒体、デジタルテレビ等において、画像、動画、音声、ゲーム等の情報を記憶する媒体として、各種メモリカード（ＳＤカード、ＭＭＣカード、ＭＳカード、ＣＦカード等）、パソコンの記憶媒体としてＵＳＢ対応のメモリ（ＵＳＢメモリ）、携帯電話のメモリ等にも用いられている。
【０００３】
フラッシュメモリは主にＮＯＲ型のメモリ（ＮＯＲメモリ）とＮＡＮＤ型のメモリ（ＮＡＮＤメモリ）が有る。ＮＯＲメモリは、高速読み出し、読み出し回数が１０13程度の特性を有し、携帯機器の命令コード記憶として使われているが、書き込みの実効バンド幅が小さいので、ファイル記録には適していない。
【０００４】
これに対して、ＮＡＮＤメモリは、ＮＯＲメモリに比べて高集積化が可能であり、読み出し特性に関しては、アクセス時間は２５μｓ程度と遅いが、バースト読み出しが可能であって実効バンド幅が高い。また、書き込み特性に関しては、プログラム時間が２００μｓ、消去時間が１ｍｓ程度と遅いが、一度にプログラム、消去可能なビット数が多く、バースト動作で書き込みデータを取り込み、一度に多数のビットをページ単位でプログラムできるので、実効バンド幅が高い。
【０００５】
また、ＮＡＮＤメモリは、高集積化による大容量化が可能であるので、最近ではハードディスクの置き換えとしても考えられているが、使用上の幾つかの制約がある。まず、読み書き（＆消去）回数によるデータ劣化があるので、書き込み回数制限（プログラム・消去回数制限）がある。すなわち、ＮＡＮＤメモリのプログラムは、基板に対してメモリセルトランジスタのゲートに高電圧をかけることによってフローティングゲートに電子を注入させる。この動作を何回も行うと、メモリセルトランジスタのフローティングゲート周りの酸化膜が劣化し、データを破壊してしまう。現在、ＮＡＮＤメモリの読み書き（＆消去）可能な回数は、１０5 回程度であり、他の不揮発メモリと比べて非常に少なく、今後のプロセスの微細化やセルの多値化に伴い、書き込み回数がさらに少なくなっていく見込みである。ＮＡＮＤメモリをメモリカードやＵＳＢメモリなどで用いる場合は、１０5 回程度アクセスするには相当な時間がかかるので、ＮＡＮＤメモリを現実的に使用可能である。しかし、ＮＡＮＤメモリをハードディスクの置き換え用のシステムに載せることを考えると、かなりの短期間で１０5 回程度アクセスされてしまう。
【０００６】
また、ＮＡＮＤメモリは、消去単位が大きいので、画像データや音楽ファイル等の大容量データを扱う場合なら支障は少ないが、通常のＰＣで使用する環境では大容量データばかりを扱うわけではなく、メモリの疲労を早めてしまう。
【０００７】
このような問題に対応できる１つの解は、記憶メディアとしてＤＲＡＭやＦｅＲＡＭなどのＲＡＭを使用することである。ＲＡＭは、高速で読み出し／書き込み動作が可能であって、上書きが可能であるので、フラッシュメモリの書き込みバッファまたはキャッシュ（Cache）としてＲＡＭを使用することにより、ＮＡＮＤメモリの疲労をカバーすることができるだけでなく、実効読み書きバンド幅も増加させることが可能である。
【０００８】
しかし、最近では、ＮＡＮＤメモリの疲労を十分カバーできるＲＡＭ容量を確保することが困難になりつつあるが、ＮＡＮＤメモリの大容量化が顕著であり、キャッシュとして、ＲＡＭだけでなく、ＮＡＮＤメモリ内にも持たせることによってＮＡＮＤメモリの疲労をより抑えることが可能となる。この場合、ＮＡＮＤメモリ内のキャッシュ容量は大きい方がよいが、ユーザ使用可能領域が減少してしまうことになる。
【０００９】
また、ＮＡＮＤメモリは、消去時間間隔が短いほどリテンション特性（データ保持特性）が悪化してしまうという性質があり、最近では、消去時間間隔を長くするシステムが必要になっている。
【００１０】
なお、（特許文献１）の一体型メモリおよびコントローラには、第１のバスから第１のアドレスを受信し、第１のアドレスをＮＡＮＤメモリデバイス内の第２のアドレスにマップし、ＮＡＮＤメモリデバイス内の第２のアドレスへのデータまたは当該アドレスからのデータ用のキャッシュとして揮発性ＲＡＭメモリデバイスを操作する手段を備えている。さらに、ＮＡＮＤメモリデバイス内の第２のアドレスに格納されたデータとキャッシュとして機能する揮発性ＲＡＭメモリデバイス内に格納されたデータとの一貫性を維持する手段を備えている点が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００７−１８３９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
発明が解決しようとする課題は、フラッシュメモリを用いる場合に、リラクゼーション効果を有効利用でき、信頼性の高いシステムを構築することが可能となるメモリシステムを提供することである。
【課題を解決するための手段】
【００１３】
実施形態は、読み書き単位と消去単位が異なるフラッシュＥＥＰＲＯＭメモリおよびＲＡＭと、前記フラッシュＥＥＰＲＯＭメモリおよびＲＡＭを制御する制御回路を有するメモリシステムにおいて、前記フラッシュＥＥＰＲＯＭメモリは、格納するデータの用途が異なる少なくとも第１の記憶領域および第２の記憶領域を有し、前記制御回路は、前記フラッシュＥＥＰＲＯＭメモリにおける消去単位のうちで、前記第１の記憶領域または第２の記憶領域として使用中のブロック領域を示すデータを格納する第１のリストと、前記消去単位のうちで、未使用のブロック領域または使用済みで無効となったブロック領域を示すデータを格納する第２のリストと、前記フラッシュＥＥＰＲＯＭメモリに対する消去間隔を確保するために用意され、前記第２の記憶領域に対応して使用済みで無効となったブロック領域を示すデータを格納する第３のリストと、前記フラッシュＥＥＰＲＯＭメモリに対する消去間隔を確保するために用意され、前記第１の記憶領域に対応して使用済みで無効となったブロック領域を示すデータを格納する第４のリストと、を管理し、且つ前記第３のリストまたは第４のリストの格納データが一杯になった時点で、当該第３のリストまたは第４のリストに格納されたブロック領域を示すデータを前記第２のリストへ追い出す機能を有し、前記第３のリストおよび第４のリストはそれぞれの記憶可能な最大のデータエントリ数が互いに異なることを特徴とする。
【図面の簡単な説明】
【００１４】
【図１】本発明のメモリシステムの第１の実施形態に係るハードアェア構成を示すブロック図。
【図２】図１のメモリシステムにおいて消去管理に用いられるデータ管理リストの一例を示す図。
【図３】図１メモリシステムの動作例を示す図。
【図４】大容量のＮＡＮＤメモリにおける消去間隔とリテンション時間の関係を示す特性図。
【図５】図１のメモリシステムにおいてＦＢリストを分割し、新しく書き込むブロック領域の優先度が低いＦＢリスト（１）と分割した残りのＦＢリスト（２）の一例を示す図。
【図６】図１のメモリシステムにおいて主記憶領域用とキャッシュ領域用などの書込み頻度別に分けた消去間隔管理用リストの一例を示す図。
【図７】図１のメモリシステムにおいて消去間隔確保用のＦＢリストから通常のＦＢリストに追い出すタイミングとＡＢリスト＆ＦＢリストの関係の一例を示す図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態を説明する。この説明に際して、全図にわたり共通する部分には共通する参照符号を付す。
【００１６】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るメモリシステムのハードアェア構成の一例を示す。このメモリシステム１０においては、フラッシュメモリ（本例では、ＮＡＮＤメモリ）１１と、このＮＡＮＤメモリ１１を制御するコントローラ（ＮＡＮＤ制御回路）１２と、ランダムアクセスメモリ（ＲＡＭ）１３と、このＲＡＭ１３を制御するコントローラ（ＲＡＭ制御回路）１４とを有する。ここで、ＮＡＮＤメモリ１１は、データ用途が異なる少なくとも第１の記憶領域および第２の記憶領域を有する。本例では、ＮＡＮＤメモリ１１は、主に大容量のデータ（大データ）を記憶する主記憶領域（ユーザデータ領域）１１１や、小容量のデータ（小データ）を扱うキャッシュ領域（以下、ＮＡＮＤキャッシュと記す）１１２を有する。ＲＡＭ１３は、ＮＡＮＤメモリ１１のデータ消去時の退避領域や、ＮＡＮＤメモリ１１のデータ読出し・書き込み用のキャッシュ領域などを有する場合を想定している。
【００１７】
また、このメモリシステム１０は、ＮＡＮＤメモリ１１の使用中ブロック領域の管理・未使用ブロック領域の管理などの処理を制御プログラムに基づいて実行するマイクロコントロールユニット（Micro Control Unit；ＭＰＵ）１５や、外部のホスト（図示せず、例えばパーソナルコンピュータ；ＰＣ）に接続されるインターフェース回路（ＩＦ）１６を有する。
【００１８】
このメモリシステムに接続されるＰＣからメモリシステム１０に対する読み出し・書き込みは、大容量データだけではなく、小容量データも多くアクセスされる。ＮＡＮＤメモリ１１で小容量データの書き込みを繰り返すと、書き込み量に対して消去量が増大するので、ＮＡＮＤメモリ１１の劣化を早める。そこで、ＲＡＭ１３を書き込みキャッシュとして用いて劣化を抑えるが、ＮＡＮＤメモリ１１内にＮＡＮＤキャッシュ１１２を用意することにより、劣化の低減を一層図ることができる。ＮＡＮＤキャッシュ１１２は、主に追記書き込みを行うので、管理単位は任意でよいが、管理単位が小さい方が小容量データを管理し易いので劣化を抑えることができ、また、容量が大きい方が小容量データを貯めることができるので、劣化の低減に有効である。
【００１９】
図２及び図３は、上記メモリシステムにおいて消去管理に用いられるデータ管理リスト（テーブル）の一例を示している。ＮＡＮＤ制御回路１２は、図２に示すように、ＮＡＮＤメモリ１１における消去単位のうちで使用中のブロック（以下、Active Block；ＡＢ）領域を示すデータを格納する第１のリストであるＡＢリスト２１、未使用のブロック領域または使用済済みで無効となったブロック（以下、Free Block；ＦＢ）領域を示すデータを格納する第２のリストであるＦＢリスト２２を管理する機能を有する。
【００２０】
さらに、ＮＡＮＤ制御回路１２は、ＰＣが管理するアドレス（以下、L_adr）とＮＡＮＤメモリ１１内の書き込み位置を示すアドレス（以下、P_adr）の対応リスト２０を管理する機能を有する。
【００２１】
さらに、ＮＡＮＤ制御回路１２は、後述する図６及び図７に示すように、キャッシュ領域および主記憶領域にそれぞれ対応して消去の時間間隔を確保するために、前記キャッシュ領域および主記憶領域にそれぞれ対応して使用済みのブロック領域を示すデータを格納する第３のリストであるＦＢリスト(1-1)２３および第４のリストであるＦＢリスト(1-2)２４を管理する機能を有する。この場合、ＦＢリスト(1-1)２３およびＦＢリスト(1-2)２４は互いにデータエントリ数が異なり、本例では、主記憶領域用のＦＢリスト(1-2)２４のエントリ数がキャッシュ領域用のＦＢリスト(1-1)２３のデータエントリ数より少ない。
【００２２】
以下、上記メモリシステムの動作例について、図３を参照しながら説明する。メモリシステムに対してＰＣからデータの書込みが行われ、ＮＡＮＤメモリ１１への書込みが生じると、以前のデータに対して上書きされる。この際、ＮＡＮＤメモリ１１内で以前に書き込まれたデータがあるブロック領域（消去単位領域）を消去して書き込んでもよいが、現在は使用していないブロック領域へ書き込むことによって消去回数を減らすことができる。その際、L_adr と P_adr の対応リスト２０を管理する必要がある。
【００２３】
また、このようなメモリシステムでは、ＮＡＮＤメモリ１１内の現在使用中（使用済み）のブロック領域を管理するＡＢリスト２１や、未使用のブロック領域または使用済みで無効となったブロック領域を管理するＦＢリスト(2) ２２などを用いる。
【００２４】
ＮＡＮＤメモリ１１への書込みが生じると、現在のＦＢ領域へ書き込みが生じる（キャッシュ領域などの追記書込みの領域では、新たにＦＢ領域を取得しなくても書込み可能である）。ＮＡＮＤメモリ１１へデータが書かれると、L_adr と P_adr の対応リスト２０の内容を更新し、新しく書き込んだブロック領域に対してはＦＢリストから削除してＡＢリスト２１へ登録し、無効になったブロック領域に対してはＡＢリスト２１から削除してＦＢリストへ登録する。この際、上記ブロック領域は、書き込み・消去エラーなどで使用不可にならない限り、ＡＢリスト２１とＦＢリスト２２を行き来する。
【００２５】
ところで、ＮＡＮＤメモリ１１への書き込みが生じた際、無効になったブロック領域はＦＢリスト２２へ登録され、次の書き込み等で直ぐに使用されることも考えられる。しかし、最近の大容量のＮＡＮＤメモリ１１は、図４に示すような Erase（消去）間隔（時間）とリテンション時間（データ保持保障時間）の関係を有し、消去間隔が短い場合にリテンション特性が悪化するので、ＦＢリスト２２へ登録されたブロック領域は暫く使用しない方がよい。
【００２６】
このような事情に鑑み、本発明では、消去時間間隔を確保するために、図５に示すように、ＦＢリスト２２を分割し、新しく書き込むブロック領域の優先度が低いＦＢリスト(1) を設ける。分割した残りのＦＢリスト(2) を、以下、通常のＦＢリスト２２と称する。
【００２７】
ここで、本発明では、図６に示すように、ＦＢリスト(1) を書込み頻度別に分け、キャッシュ領域で用いられるブロック領域のデータに対応してＦＢリスト(1-1)２３を設け、主記憶領域で用いられるブロック領域のデータに対応してＦＢリスト(1-2)２４を設けている。
【００２８】
キャッシュ領域で用いられるブロック領域は、データ書込み頻度が一般に高く、ＡＢリスト２１に登録されてから削除されるまでの間隔が短い。これに対して、主記憶領域で用いられるブロック領域は、上記キャッシュ領域で用いられるブロック領域とは逆の傾向を示す（ＡＢリスト２１に登録されてから削除されるまでの間隔が長い）。そこで、キャッシュ領域で用いられたブロック領域に対応するＦＢリスト(1-1)２３のデータエントリ数を多めに設定し、主記憶領域で用いられたブロック領域に対応するＦＢリスト(1-2)２４のデータエントリ数を少なめに設定してよい。換言すれば、主記憶領域で用いられたブロック領域に対応するＦＢリスト(1-2)２４のデータエントリ数を、キャッシュ領域で用いられたブロック領域に対応するＦＢリスト(1-1)２３のデータエントリ数よりも少なくしてよい。
【００２９】
また、ＦＢリスト(1-1)２３、ＦＢリスト(1-2)２４から通常のＦＢリスト２２にデータを追い出すトリガは、リストが一杯になった時でも良いし、時間管理をして一定期間放置された時でも良い。
【００３０】
ここで、一定期間放置された場合にトリガを使用すると、特にユーザデータにより殆んど使用されてＦＢブロックの数が少なくなってきた際、通常のＦＢリスト２２に登録されているブロックが存在しない場合もある。
【００３１】
その場合、ＡＢリスト２１は、ＦＢリスト(1-1)２３とＦＢリスト(1-2)２４からデータを取得することになるが、これから使用するデータの用途がキャッシュ領域の場合は、データを長期間保持する必要はないので、リテンション特性が比較的悪いキャッシュ領域用のＦＢリスト(1-1)２３の方からデータを取得する。これに対して、これから使用するデータの用途が主記憶領域の場合は、データを長期間保持する必要があるので、主記憶領域用のＦＢリスト(1-2)２４の方からデータを取得する。
【００３２】
なお、上記実施形態のＲＡＭ１３は、ＮＡＮＤメモリ１１より高速の揮発性あるいは不揮発性のメモリ、例えばＤＲＡＭ、ＳＲＡＭ、ＦｅＲＡＭ、ＭＲＡＭ、ＰＲＡＭ等を用いることができる。また、上記実施形態では、ＮＡＮＤメモリ１１内を、大データ領域と小データ領域に振り分けたが、さらに、中容量のデータを格納する中データ領域を設け、上記実施形態に準じて実施することも可能である。
【符号の説明】
【００３３】
１０…メモリシステム、１１…ＮＡＮＤメモリ、１１１…主記憶領域、１１２…キャッシュ領域、１２…ＮＡＮＤ制御回路、１３…ＲＡＭ、１４…ＲＡＭ制御回路、１５…ＭＣＵ、１６…ＩＦ、２０… L_adr とP_adr の対応リスト、２１…使用中のブロック領域リスト、２２…未使用・使用済みのブロック領域リスト、２３…キャッシュ領域用のＦＢリスト、２４…主記憶領域用のＦＢリスト。
【図１】
2011222057.tif 000003
【図２】
2011222057.tif 000004
【図３】
2011222057.tif 000005
【図４】
2011222057.tif 000006
【図５】
2011222057.tif 000007
【図６】
2011222057.tif 000008
【図７】
2011222057.tif 000009