(57)【要約】【課題】書き込みエラーが発生すると失われる可能性のあるデータを効率的にバックアップする。【解決手段】ワードライン当たりｎページ分の記憶容量を有する不揮発性の第１メモリ１と、不揮発性の第２メモリ３と、第２メモリ１が記憶しているユーザデータをページ単位で読み出し、読み出したユーザデータを逐次第１メモリ１に書き込むデータコピー処理を実行するデータコピー処理部５１と、データコピー処理実行後、書き込み先のワードラインがｎページ分のユーザデータを記憶しているか否かに基づいて第２メモリ３が記憶しているデータコピー処理済みのユーザデータからバックアップを必要とするユーザデータを選択し、該選択したユーザデータを残して第２メモリ３に残して第２メモリ３上のデータコピー処理済みのユーザデータを無効化するデータ無効化処理部３２、３３、５２、５３と、を備える。【選択図】図５
2011048755.tif 000002
【特許請求の範囲】
【請求項１】
ワードライン当たりのメモリセル群がｎ（ｎ≧２）ページ分の記憶容量を有する不揮発性の第１メモリと、
ホスト装置から書き込み要求されたユーザデータを一時記憶する不揮発性の第２メモリと、
前記第２メモリが記憶しているユーザデータをページ単位で読み出して該読み出したページ単位のユーザデータを逐次前記第１メモリに書き込むデータコピー処理を所定のタイミングで実行するデータコピー処理部と、
データコピー処理実行後、書き込み先のワードライン当たりのメモリセル群がｎページ分のユーザデータを記憶しているか否かに基づいて前記第２メモリが記憶している前記データコピー処理済みのユーザデータからバックアップを必要とするユーザデータを選択し、前記選択したユーザデータをバックアップデータとして前記第２メモリに残し、前記バックアップデータを除く前記第２メモリ上の前記データコピー処理済みのユーザデータを無効化するデータ無効化処理部と、
を備えることを特徴とするメモリシステム。
【請求項２】
前記データ無効化処理部は、バックアップデータと該バックアップデータの前記第１メモリにおける書き込み先アドレスとをページ毎に対応付けるバックアップ情報を備え、前記バックアップ情報を更新管理する、
ことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記データコピー処理部は、前記バックアップ情報に基づいて前記第２メモリが記憶しているユーザデータをデータコピー処理済みであるバックアップデータとデータコピー処理が行われていないユーザデータとに弁別し、前記データコピー処理が行われていないユーザデータに対してデータコピー処理を実行する、
ことを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記所定のタイミングは、前記第２メモリに所定ページ数のユーザデータが蓄積されたタイミングである、ことを特徴とする請求項１に記載のメモリシステム。
【請求項５】
前記第１メモリはＮＡＮＤ型フラッシュメモリである、ことを特徴とする請求項１に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに関する。
【背景技術】
【０００２】
不揮発性メモリであるＮＡＮＤ型フラッシュメモリ（以下、単にＮＡＮＤメモリ）は、ハードディスクに比べ、高速、軽量などの利点を有している。また、ＮＡＮＤメモリは、ＮＯＲ型フラッシュメモリを含む他のフラッシュメモリに比べて大容量化・高集積化を行いやすい。これらの特徴を有するＮＡＮＤメモリを搭載したＳＳＤ（Solid  State  Drive）は、磁気ディスク装置に替わる大容量の外部記憶装置として注目されている。
【０００３】
磁気ディスク装置をＮＡＮＤメモリを搭載したＳＳＤに置き換える際の問題点の一つとして、ＮＡＮＤメモリが読み書き(特に書き込み)アクセスに耐えられる回数（アクセス制限回数）が少ないことが挙げられる。この問題に対応できる１つの解として、ＮＡＮＤメモリへ書き込む前にＤＲＡＭなどの高速読み出し／書き込みが可能なメモリ(ＲＡＭ)を経由させることが挙げられる。具体的には、ホスト装置から送信されてきた小容量データをＲＡＭに貯めておき、大容量データをして扱えるようになった際に、ＲＡＭに貯めてあったデータをブロック単位などの大きな単位でＮＡＮＤメモリへ書き込む（例えば特許文献１参照）。小容量データのままＮＡＮＤメモリへ書き込む必要があるデータについては、ページ単位でブロック内追記をすることでＮＡＮＤメモリの疲労を軽減する方式も多く用いられる。
【０００４】
ところで、近年、ＮＡＮＤメモリには、１つのセルに多ビットを格納する多値技術が適用されたものが増えてきている。例えば、１つのセル２ビットを格納できるＮＡＮＤメモリにおいては、１つのセルに格納されるビットは、書き込まれる順にロアー（Ｌｏｗｅｒ）ビット、アッパー（Ｕｐｐｅｒ）ビットと呼ばれる。また、ロアービットからなるページはロアーページ、アッパービットからなるページはアッパーページと呼ばれる。
【０００５】
前記したようなＲＡＭを介してＮＡＮＤメモリへの書き込みを行うＳＳＤには、ＮＡＮＤメモリに多値ＮＡＮＤメモリを適用したものが多くなってきている。このＳＳＤにおいてページ単位でブロック内追記を行う際には注意が必要となる。なぜならば、アッパーページを書き込んでいる途中に書き込みエラー（プログラムエラーや瞬停など)が起こるとロアーページに格納されているデータの保障ができなくなってしまうからである。したがって、アッパーページの書き込みを無事終了するまでは書き込み先のアッパーページに対するロアーページのバックアップが必要となる。従来は、ＮＡＮＤメモリへの書き込みを行う際に保障できないデータがある場合は、このデータをＮＡＮＤメモリ中の別のブロックへバックアップする動作が行われていた。この動作はＳＳＤの書き込み速度を落としてしまう原因となっていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−３３７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、書き込みエラーが発生すると失われる可能性のあるデータを効率的にバックアップするメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明の一態様によれば、ワードライン当たりのメモリセル群がｎ（ｎ≧２）ページ分の記憶容量を有する不揮発性の第１メモリと、ホスト装置から書き込み要求されたユーザデータを一時記憶する不揮発性の第２メモリと、前記第２メモリが記憶しているユーザデータをページ単位で読み出して該読み出したページ単位のユーザデータを逐次前記第１メモリに書き込むデータコピー処理を所定のタイミングで実行するデータコピー処理部と、データコピー処理実行後、書き込み先のワードライン当たりのメモリセル群がｎページ分のユーザデータを記憶しているか否かに基づいて前記第２メモリが記憶している前記データコピー処理済みのユーザデータからバックアップを必要とするユーザデータを選択し、前記選択したユーザデータをバックアップデータとして前記第２メモリに残し、前記バックアップデータを除く前記第２メモリ上の前記データコピー処理済みのユーザデータを無効化するデータ無効化処理部と、を備えることを特徴とするメモリシステムが提供される。
【発明の効果】
【０００９】
本発明によれば、書き込みエラーが発生すると失われる可能性のあるデータを効率的にバックアップするメモリシステムを提供することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、ホスト装置および本実施の形態のメモリシステム（ＳＳＤ）の構成を説明する図。
【図２】図２は、ＮＡＮＤメモリチップの物理ブロックについて説明するための図。
【図３】図３は、ＮＡＮＤメモリへの書き込み順序の一例を説明するための図。
【図４】図４は、ＦｅＲＡＭからＮＡＮＤメモリに２回の退避処理が行われた様子を説明する図。
【図５】図５は、本実施の形態のＳＳＤの機能構成を説明する図。
【図６】図６は、本実施の形態のＳＳＤの退避処理の動作を説明するフローチャート。
【図７】図７は、データコピー処理をさらに詳しく説明するフローチャート。
【図８】図８は、データ無効化処理をさらに詳しく説明するフローチャート。
【図９】図９は、バックアップがなされる様子を具体的に説明する図。
【図１０】図１０は、バックアップがなされる様子を具体的に説明する図。
【図１１】図１１は、バックアップがなされる様子を具体的に説明する図。
【図１２】図１２は、バックアップがなされる様子を具体的に説明する図。
【図１３】図１３は、バックアップがなされる様子を具体的に説明する図。
【図１４】図１４は、バックアップがなされる様子を具体的に説明する図。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明の実施の形態にかかるメモリシステムを詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１２】
（実施の形態）
図１は、ホスト装置およびメモリシステムの構成を説明する図である。本実施の形態においては、メモリシステムの一例として、ハードディスクドライブ（ＨＤＤ）と同じ接続インタフェース規格（ＡＴＡ規格）を持つ、不揮発性半導体メモリであるＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリ）を備えるＳＳＤを取り上げて説明する。
【００１３】
ＳＳＤ１００は、ＡＴＡインタフェースなどのメモリ接続インタフェースを介してパーソナルコンピュータあるいはＣＰＵコアなどのホスト装置２００と接続され、ホスト装置２００の外部記憶装置として機能する。ＳＳＤ１００は、ホスト装置２００から書き込み／読み出しされるユーザデータ（以下、データ）が格納される第１メモリとしてのＮＡＮＤメモリ１と、ホスト装置２００とＮＡＮＤメモリ１との間のデータ転送を制御するコントローラ２と、ホスト装置２００から書き込み要求されたデータが一時蓄積される第２メモリとしてのＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）３と、を備えている。ホスト装置２００から書き込み要求されたデータ（ユーザデータ）は、ＦｅＲＡＭ３を介してＮＡＮＤメモリ１に書き込まれる。
【００１４】
コントローラ２は、ＮＡＮＤメモリ１とＦＥＲＡＭ３を制御してホスト装置２００とＮＡＮＤメモリ１との間のデータ転送制御を行う。このデータ転送制御を行うための構成として、コントローラ２は以下の構成要素をさらに有する。すなわち、コントローラ２は、ＲＯＭ（Read  Only  Memory）４と、ＭＰＵ５と、インタフェース（Ｉ／Ｆ）制御回路６と、ＦｅＲＡＭ制御回路７と、ＮＡＮＤ制御回路８と、を備えている。
【００１５】
Ｉ／Ｆ制御回路６は、ＡＴＡインタフェースを介してホスト装置２００との間でユーザデータを送受信する。ＦｅＲＡＭ制御回路７は、ＦｅＲＡＭ３との間でユーザデータを送受信する。ＮＡＮＤ制御回路８は、ＮＡＮＤメモリ１との間でユーザデータを送受信する。
【００１６】
ＲＯＭ４には、ＮＡＮＤメモリ１に記憶されている管理プログラム（ファームウェア）をブートするブート用プログラムが格納されている。ＭＰＵ５は前記ファームウェアをブートしてＦｅＲＡＭ３上に展開し、ＦｅＲＡＭ３上に展開したファームウェアに基づいてコントローラ２全体を制御する。
【００１７】
ＮＡＮＤメモリ１は、一つ以上のＮＡＮＤメモリチップを備えている。さらに、各ＮＡＮＤメモリチップは、データ消去の単位である物理ブロックを複数配列して構成されている。図２（ａ）は、ＮＡＮＤメモリチップに含まれる１個の物理ブロックの構成例を示す等価回路図である。各物理ブロックは、Ｘ方向に沿って順に配列された（ｐ＋１）個のＮＡＮＤストリングを備えている（ｐは、０以上の整数）。（ｐ＋１）個のＮＡＮＤストリングにそれぞれ含まれる選択トランジスタＳＴ１は、ドレインがビット線ＢＬ０〜ＢＬｐに接続され、ゲートが選択ゲート線ＳＧＤに共通接続されている。また、選択トランジスタＳＴ２は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続されている。
【００１８】
各メモリセルトランジスタＭＴは、半導体基板上に形成された積層ゲート構造を備えたＭＯＳＦＥＴ（Metal  Oxide  Semiconductor  Field  Effect  Transistor）から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（浮遊ゲート電極）、および電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルトランジスタＭＴは、浮遊ゲート電極に蓄えられる電子の数に応じてしきい値電圧が変化し、このしきい値電圧の違いに応じてデータを記憶する。ここでは、メモリセルトランジスタＭＴは、多値（２ビット以上のデータ）を記憶するように構成されている。
【００１９】
また、メモリセルトランジスタＭＴは、浮遊ゲート電極を有する構造に限らず、ＭＯＮＯＳ（Metal-Oxide-Nitride-Oxide-Silicon）型など、電荷蓄積層としての窒化膜界面に電子をトラップさせることでしきい値調整可能な構造であってもよい。
【００２０】
各ＮＡＮＤストリングにおいて、（ｑ＋１）個のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、複数のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でＹ方向に直列接続される。
【００２１】
そして、最もドレイン側に位置するメモリセルトランジスタＭＴから順に、制御ゲート電極がワード線（ワードライン）ＷＬ０〜ＷＬｑにそれぞれ接続されている。従って、ワード線ＷＬ０に接続されたメモリセルトランジスタＭＴのドレインは選択トランジスタＳＴ１のソースに接続され、ワード線ＷＬｑに接続されたメモリセルトランジスタＭＴのソースは選択トランジスタＳＴ２のドレインに接続されている。
【００２２】
ワード線ＷＬ０〜ＷＬｑは、物理ブロック内のＮＡＮＤストリング間で、メモリセルトランジスタＭＴの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、同一のワード線ＷＬに接続される。この同一のワード線ＷＬに接続される（ｐ＋１）個のメモリセルトランジスタＭＴは１ページ（物理ページ）として取り扱われ、この物理ページごとにデータの書き込みおよびデータの読み出しが行われる。
【００２３】
また、ビット線ＢＬ０〜ＢＬｐは、ブロック間で、選択トランジスタＳＴ１のドレインを共通に接続している。つまり、複数のブロック内において同一列にあるＮＡＮＤストリングは、同一のビット線ＢＬに接続される。
【００２４】
メモリトランジスタＭＴ当たり複数ビット格納可能に構成されているものがある。例えば、メモリトランジスタＭＴ当たりｎ（ｎ≧２）ビット格納可能な場合、ワード線当たりの記憶容量はｎページ分のサイズに等しくなる。図２（ｂ）は、例えば、１個のメモリセルトランジスタＭＴに２ビットの記憶を行う４値データ記憶方式でのしきい値分布を示す模式図である。４値データ記憶方式では、メモリトランジスタＭＴ当たり、２ページ分のデータを記憶することができる。先に書き込みがなされるページをロアーページ、ロアーページの後から書き込みがなされるページをアッパーページという。
【００２５】
メモリセルトランジスタＭＴは、アッパーページデータ“ｘ”とロアーページデータ“ｙ”とで定義される４値データ“ｘｙ”の何れか１つを保持可能である。この４値データ“ｘｙ”は、メモリセルトランジスタＭＴのしきい値電圧の順に、例えば、データ“１１”、“０１”、“００”、“１０”が割り当てられる。データ“１１”は、メモリセルトランジスタＭＴのしきい値電圧が負の消去状態である。なお、データの割り当て規則はこれに限らない。また、本実施の形態では、以降、１個のメモリトランジスタＭＴに２ビットの値を記憶することができるものを取り上げて説明するが、１個のメモリセルトランジスタＭＴに３ビット以上の記憶を行う構成であってもよい。なお、以降、メモリセルトランジスタＭＴを単にメモリセルと表現することもある。
【００２６】
ロアーページ書き込み動作においては、データ“１１”（消去状態）のメモリセルに対して選択的に、ロアービットデータ“ｙ”の書き込みによって、データ“１０”が書き込まれる。アッパーページ書き込み動作においては、データ“１１”のメモリセルと、データ“１０”のメモリセルに対して、それぞれ選択的にアッパービットデータ“ｘ”の書き込みが行われて、データ“０１”およびデータ“００”が書き込まれる。アッパーページ書き込み前のデータ“１０”のしきい値分布は、アッパーページ書き込み後のデータ“０１”とデータ“００”のしきい値分布の中間程度に位置しており、一般的に、アッパーページ書き込み後のしきい値分布よりブロードとなっている。
【００２７】
ユーザデータの書き込み時においては、隣接メモリセル間のカップリング容量の影響により、メモリセルのしきい値電圧が変動する。そこで、隣接メモリセルのカップリング容量の影響を軽減するため、書き込み先のロアーページとアッパーページとが離れるように書き込み順序が工夫されている。図３は、ＮＡＮＤメモリ１への書き込み順序の一例を説明するための図である。図３（ａ）に示すように、まず、ｉをゼロ値以上の整数とし、ワード線ＷＬｉに接続されているメモリセル群のロアーページをロアーページｉ（Ｌｏｗｅｒ  Ｐａｇｅ  ｉ）、アッパーページをアッパーページｉ（Ｕｐｐｅｒ  Ｐａｇｅ  ｉ）と表現することとする。すると、図３（ｂ）に示すように、バンクの先頭の２ページのロアーページ（ロアーページ０、ロアーページ１）の書き込みが行われた後、（１）ロアーページ２ｉ＋２、（２）ロアーページ２ｉ＋３、（３）アッパーページ２ｉ、（４）アッパーページ２ｉ＋１の順番の書き込みが実行される。（４）の書き込みが終了すると、ｉは１インクリメントされ、（１）が示す書き込み先への書き込みが実行される。このように、ロアーページへの書き込み（１）、（２）と、その次に実行されるアッパーページへの書き込み（３）、（４）とが数ＷＬ分（この場合は２ＷＬ分）だけ離されている。
【００２８】
図１に戻る。ＦｅＲＡＭ３は、前記したように、コントローラ２の制御の下、ホスト装置２００から書き込み要求されたデータが一時蓄積される。そして、ＦｅＲＡＭ３に記憶されているデータをＮＡＮＤメモリ１に退避させるべき事象が起こったとき、該データはＮＡＮＤメモリ１にコピーされ、ＦｅＲＡＭ３に記憶されていたユーザデータは無効化される。ＮＡＮＤメモリ１へのデータコピーからユーザデータの無効化までの一連の処理を退避処理ということとする。なお、退避処理が実行されるタイミングについては特に限定しないが、ここでは、ＦｅＲＡＭ３に蓄積されたユーザデータが所定ページ数分のサイズに達したときに退避処理が実行されるとして説明する。また、以降、１ページのサイズとは一つのアッパーページ（あるいはロアーページ）のサイズを指すこととする。ＳＳＤ１００の第２メモリとしては、不揮発性でかつＮＡＮＤメモリ１よりも高速なアクセスを行うことができるメモリであればＦｅＲＡＭ３以外のメモリを使用することも可能である。例えば、ＦｅＲＡＭ３の代わりにＭＲＡＭ（Magnetoresistive  Random  Access  Memory）を使用することができる。
【００２９】
すでに図２（ｂ）のしきい値分布例の説明にて述べたように、アッパーページ書き込み前のデータ“１０”のしきい値分布は、アッパーページ書き込み後のデータ“０１”とデータ“００”のしきい値分布の中間程度に位置している。そのため、ロアービットデータ“ｙ”＝“０”が書き込まれているメモリセルにアッパービットデータを書き込む際にエラーが生じると、ロアービットデータが“１”であったのか“０”であったのかが分からなくなってしまう。つまり、アッパーページ書き込み中にエラーが起こると、ロアーページのデータが破壊されてしまう可能性がある。図４は、ＦｅＲＡＭ３からＮＡＮＤメモリ１に２回の退避処理が行われた様子を説明する図である。１回目の退避処理によりロアーページ０、１、２、３とアッパーページ０、１とにユーザデータが書き込まれ、２回目の退避処理によりロアーページ４、５、６、７とアッパーページ２、３とにユーザデータが書き込まれている。２回目の退避処理におけるアッパーページ２、３に対する書き込みに失敗したとき、１回目の退避処理によりロアーページ２、３に書き込まれたデータが破壊される可能性がある。
【００３０】
そこで、従来は、書き込みエラー発生時のデータ破壊に備え、破壊される可能性があるユーザデータを、退避処理を実行する前にＮＡＮＤメモリ１にバックアップしていた。しかしながら、このバックアップ処理の追加は書き込み速度の低下を招いていた。これに対し、本実施の形態によれば、ホスト装置２００から書き込み要求されたユーザデータを一時蓄積するメモリに不揮発性メモリであるＦｅＲＡＭ３を使用し、次回以降の退避処理により破壊される可能性のあるユーザデータをＦｅＲＡＭ３中に残し、残したユーザデータをバックアップデータとする。これにより、書き込み速度の低下を抑えた効率的なバックアップが可能となる。
【００３１】
図５は、上記説明した効率的なバックアップを行うための機能構成を説明する図である。図示するように、ＦｅＲＡＭ３には、ユーザデータを蓄積記憶する領域であるユーザデータ記憶領域３１が確保されている。また、ＦｅＲＡＭ３は、ユーザデータ記憶領域３１に記憶されているユーザデータが有効であるか無効であるかをページ単位で管理する有効／無効フラグ３２を記憶している。ユーザデータが無効な状態とは、該ユーザデータが消去された状態であることを指している。
【００３２】
ＦｅＲＡＭ３は、さらに、ユーザデータ記憶領域３１が記憶している有効なユーザデータがバックアップデータであるか否かをページ単位で管理するバックアップ情報３３と、を記憶している。書き込み先（コピー先）のワードライン当たりのメモリセル群が２ページ分のユーザデータを記憶していない場合、言い換えると書き込み先がロアーページであってかつこのロアーページと同一のメモリセル群のアッパーページへの書き込みがなされていない場合、このユーザデータはバックアップデータとされる。バックアップ情報３３には、バックアップデータと該バックアップデータのＮＡＮＤメモリ１におけるコピー先アドレスとの対応関係が記述されている。
【００３３】
ＭＰＵ５は、有効／無効フラグ３２およびバックアップ情報３３に基づいてユーザデータ記憶領域３１に蓄積記憶されているバックアップデータではない有効なユーザデータをＮＡＮＤメモリ１にコピーするデータコピー処理部５１と、データコピー処理部５１がユーザデータをコピーした後にコピー動作の内容に応じて有効／無効フラグ３２を更新管理する有効／無効フラグ更新処理部５２と、バックアップ情報３３を更新管理するバックアップ情報更新処理部５３とを備えている。
【００３４】
続いて、本実施の形態のＳＳＤ１００の動作を図６〜図８を用いて説明する。図６は、ＳＳＤ１００の退避処理の動作を説明するフローチャートである。
【００３５】
図６に示すように、まず、データコピー処理部５１は、ＦｅＲＡＭ３のユーザデータ記憶領域３１に所定ページ数のユーザデータが貯まったか否かを判定し（ステップＳ１）、貯まっていた場合（ステップＳ１、Ｙｅｓ）、データコピー処理を実行する（ステップＳ２）。所定ページ数のユーザデータが貯まっていなかった場合（ステップＳ１、Ｎｏ）、ステップＳ１の判定処理を続行する。
【００３６】
図７は、データコピー処理をさらに詳しく説明するフローチャートである。図示するように、データコピー処理が開始されると、データコピー処理部５１は、有効／無効フラグ３２およびバックアップ情報３３を参照し、ユーザデータ記憶領域３１に記憶されているユーザデータのうちからバックアップデータではない有効なユーザデータ（以下、有効なユーザデータを単に有効データという）を選択する（ステップＳ２１）。そして、データコピー処理部５１は、ステップＳ２１にて選択した有効データを逐次ＮＡＮＤメモリ１にコピーする（ステップＳ２２）。コピーが完了すると、データコピー処理はリターンされる。このように、データコピー処理部５１は、バックアップ情報３３に基づいてユーザデータをデータコピー処理済みのユーザデータであるバックアップデータとデータコピー処理が行われていないユーザデータとに弁別し、データコピー処理が行われていないユーザデータをＮＡＮＤメモリ１にコピーする。
【００３７】
図６に戻り、ＦｅＲＡＭ３が記憶しているデータコピー処理済みのユーザデータからバックアップを必要とするユーザデータをバックアップデータとしてＦｅＲＡＭ３上に残し、バックアップデータを除くデータコピー処理済みのユーザデータをＦｅＲＡＭ３から消去（無効化）する処理であるデータ無効化処理が実行される（ステップＳ３）。データ無効化処理は、有効／無効フラグ更新処理部５２、バックアップ情報更新処理部５３、有効／無効フラグ３２およびバックアップ情報３３の協働により実行される。データ無効化処理後、ステップＳ１に移行する。
【００３８】
図８は、データ無効化処理をさらに詳しく説明するフローチャートである。図示するように、データ無効化処理が開始されると、有効／無効フラグ更新処理部５２は、有効／無効フラグ３２を編集し、直前に実行されたデータコピー処理によってコピーされた有効データのうち、コピー先がアッパーページであったユーザデータを無効化する（ステップＳ３１）。ステップＳ３１の処理により、バックアップデータであったユーザデータおよび直前に実行されたデータコピー処理によりコピーされた有効データのうちのコピー先がロアーページであったユーザデータが依然として「有効」となっている。ステップＳ３１に引き続き、有効／無効フラグ更新処理部５２は、さらに有効／無効フラグ３２を編集して、この「有効」となっているユーザデータのうちの、アッパーページにデータを記憶しているメモリセル群のロアーページがコピー先であるユーザデータを無効とする（ステップＳ３２）。これにより、アッパーページにデータを記憶していないメモリセル群のロアーページがコピー先であるユーザデータ、すなわちバックアップを必要とするユーザデータが有効データとしてユーザデータ記憶領域３１に残る。バックアップ情報更新処理部５３は、ステップＳ３２の処理を経てなお有効データとして残存しているユーザデータを選択し、この選択したユーザデータと該ユーザデータのコピー先のアドレスとの対応付けをバックアップ情報３３として保存し（ステップＳ３３）、データ無効化処理がリターンされる。
【００３９】
図９〜図１４は、以上の動作によりバックアップがなされる様子を具体的に説明する図である。なお、ここでは、データコピー処理部５１は、ステップＳ１において、６ページ以上のユーザデータが貯まったとき、データコピー処理（ステップＳ２）に移行する、として説明する。
【００４０】
図９は、ユーザデータ記憶領域３１に６ページ分のユーザデータ（データ（１ａ）〜データ（１ｆ））が書き込まれた様子を示している。なお、データ（１ａ）〜データ（１ｆ）が書き込まれた段階においてはバックアップデータがなかったものとしている。
【００４１】
図１０は、データコピー処理部５１により、データ（１ａ）〜データ（１ｆ）がＮＡＮＤメモリ１にコピーされる様子を説明する図である。図示するように、データ（１ａ）〜データ（１ｆ）は、夫々、ロアーページ０（Ｌ０）、ロアーページ１（Ｌ１）、ロアーページ２（Ｌ２）、ロアーページ３（Ｌ３）、アッパーページ０（Ｕ０）、アッパーページ１（Ｕ１）に書き込まれている。ここで、Ｌ２、Ｌ３のメモリセルのアッパーページに対応するＵ２、Ｕ３は今回のデータコピー処理で書き込みが行われておらず、次回以降のデータコピー処理により書き込みが行われる。したがって、データ（１ｃ）、データ（１ｄ）はバックアップデータとして残されることとなる。
【００４２】
図１１は、バックアップデータが残されている状態を説明する図である。図示するように、データ（１ｃ）、データ（１ｄ）は有効のままユーザデータ記憶領域３１に残されている。
【００４３】
図１２は、さらにユーザデータ記憶領域３１に新たなユーザデータ（データ（２ａ）、データ（２ｂ）、データ（２ｃ）、データ（２ｄ）、データ（２ｅ））が書き込まれた様子を示している。
【００４４】
図１３は、データコピー処理部５１により、データ（２ａ）〜データ（２ｅ）がＮＡＮＤメモリ１にコピーされる様子を説明する図である。図示するように、データ（２ａ）、データ（２ｂ）、データ（３ｃ）、データ（２ｄ）、データ（２ｅ）が夫々ロアーページ４（Ｌ４）、ロアーページ５（Ｌ５）、アッパーページ２（Ｕ２）、アッパーページ３（Ｕ３）、ロアーページ６（Ｌ６）に夫々コピーされる。すると、Ｌ２およびＬ３のメモリセル群のアッパーページであるＵ２およびＵ３への書き込みが行われたため、Ｌ２、Ｌ３をコピー先としたユーザデータはバックアップされる必要がなくなる。また、今回のデータコピー処理によりアッパーページ４（Ｕ４）、アッパーページ５（Ｕ５）、アッパーページ６（Ｕ６）への書き込みが行われないので、新たにＬ４、Ｌ５、Ｌ６に書き込まれたユーザデータはバックアップが必要なユーザデータとなる。
【００４５】
図１４は、バックアップデータが残されている状態を説明する図である。図示するように、Ｌ４、Ｌ５、Ｌ６を夫々コピー先とするデータ（２ａ）、データ（２ｂ）、データ（２ｃ）がバックアップデータとしてユーザデータ記憶領域３１に消去されることなく残される。
【００４６】
なお、以上の説明においては、メモリセル当たり２ビットの記憶容量を有するＮＡＮＤメモリ１を例に挙げて説明したが、３ビット以上の記憶容量を有するＮＡＮＤメモリを備えるメモリシステムに対しても本実施の形態を適用することができる。ｎビットの記憶容量を有するＮＡＮＤメモリを備えるメモリシステムにおいては、ワードライン当たりのメモリセル群がｎページ分のユーザデータを記憶していない場合、該メモリセル群を書き込み先とするユーザデータをバックアップデータとしてＦｅＲＡＭ３に残すようにするとよい。
【００４７】
また、有効／無効フラグ３２およびバックアップ情報３３は、ＦｅＲＡＭ３に記憶されている、として説明したが、有効／無効フラグ３２およびバックアップ情報３３の記憶先はＦｅＲＡＭ３でなくてもかまわない。例えば、有効／無効フラグ３２およびバックアップ情報３３をＮＡＮＤメモリ１に記憶させるようにしても構わないし、ＳＳＤ１００は小規模にメモリまたはレジスタを別途設け、該メモリまたはレジスタに記憶させるようにしても構わない。
【００４８】
以上述べたように、本発明の実施の形態によれば、ワードライン当たりのメモリセル群がｎ（ｎ≧２）ページ分の記憶容量を有するＮＡＮＤメモリ１と、ホスト装置２００から書き込み要求されたユーザデータを一時記憶するＦｅＲＡＭ３と、ＦｅＲＡＭ３が記憶しているユーザデータをページ単位で読み出して該読み出したページ単位のユーザデータを逐次ＮＡＮＤメモリ１に書き込むデータコピー処理を所定のタイミングで実行するデータコピー処理部５１と、データコピー処理実行後、書き込み先のワードライン当たりのメモリセル群がｎページ分のユーザデータを記憶しているか否かに基づいてＦｅＲＡＭ３が記憶しているデータコピー処理済みのユーザデータからバックアップを必要とするユーザデータを選択し、選択したユーザデータをバックアップデータとしてＦｅＲＡＭ３に残し、バックアップデータを除くＦｅＲＡＭ３上のデータコピー処理済みのユーザデータを無効化するデータ無効化処理を実行するデータ無効化処理部（データ無効化処理は、有効／無効フラグ更新処理部５２、バックアップ情報更新処理部５３、有効／無効フラグ３２およびバックアップ情報３３）と、を備えるように構成したので、バックアップ専用の記憶領域を設ける必要がなくなる。また、バックアップ専用の領域にバックアップデータを移動させる処理を行わなくて済むため、データの書き込み速度の低下を抑えることができる。すなわち、本発明の実施の形態によれば、書き込みエラーが発生すると失われる可能性のあるデータを効率的にバックアップすることができる。
【００４９】
また、ＦｅＲＡＭ３に記憶されているユーザデータがバックアップデータであるかデータコピー処理がなされていないユーザデータであるかを判定するための情報として、バックアップデータと該バックアップデータのＮＡＮＤメモリ１における書き込み先アドレスとをページ毎に対応付けるバックアップ情報３３を備えるように構成した。
【００５０】
データコピー処理部５１は、バックアップ情報３３に基づいてＦｅＲＡＭ３が記憶しているユーザデータをバックアップデータとデータコピー処理が行われていないユーザデータとに弁別し、データコピー処理が行われていないユーザデータに対してデータコピー処理を実行する、ように構成したので、バックアップデータ、すなわち一度退避処理が実行されたユーザデータを何度も退避処理する無駄を省略することができるようになる。
【符号の説明】
【００５１】
１  ＮＡＮＤメモリ、２  コントローラ、３  ＦｅＲＡＭ、４  ＲＯＭ、５  ＭＰＵ、６  Ｉ／Ｆ制御回路、７  ＦｅＲＡＭ制御回路、８  ＮＡＮＤ制御回路、３１  ユーザデータ記憶領域、３２  有効／無効フラグ、３３  バックアップ情報、５１  データコピー処理部、５２  有効／無効フラグ更新処理部、５３  バックアップ情報更新処理部、１００  ＳＳＤ、２００  ホスト装置。
【図１】
2011048755.tif 000003
【図２】
2011048755.tif 000004
【図３】
2011048755.tif 000005
【図４】
2011048755.tif 000006
【図５】
2011048755.tif 000007
【図６】
2011048755.tif 000008
【図７】
2011048755.tif 000009
【図８】
2011048755.tif 000010
【図９】
2011048755.tif 000011
【図１０】
2011048755.tif 000012
【図１１】
2011048755.tif 000013
【図１２】
2011048755.tif 000014
【図１３】
2011048755.tif 000015
【図１４】
2011048755.tif 000016