(57)【要約】【課題】フラッシュメモリに対する高速書き込みをインターリーブ動作で実現する。【解決手段】本発明のメモリシステムは、第１テンポラリメモリＴと第１ブロックＢＫ−Ａとを有する第１メモリチップＣＰ０と、第２テンポラリメモリＴと第２ブロックＢＫ−Ａとを有する第２メモリチップＣＰ１とを備える。インターリーブ動作によるロジカルページの書き込みは、第１テンポラリメモリＴと第１ブロックＢＫ−Ａ内の最下位のフィジカルページＰＰ０とからなる単位、第２テンポラリメモリＴと第２ブロックＢＫ−Ａ内の最下位のフィジカルページＰＰ０とからなる単位、第１ブロックＢＫ−Ａ内の下位ページと上位ページのペアからなる単位及び第２ブロックＢＫ−Ａ内の下位ページと上位ページのペアからなる単位の順番で行う。【選択図】図１４
2011059889.tif 000002
【特許請求の範囲】
【請求項１】
第１テンポラリメモリと第１ブロックとを有する第１メモリチップと、第２テンポラリメモリと第２ブロックとを有する第２メモリチップと、前記第１及び第２メモリチップに対するロジカルページの書き込みを制御するメモリコントローラとを具備し、
前記第１及び第２メモリチップは、それぞれ、１つのメモリセルにｎ（ｎは、２以上の自然数）ビットを記憶する多値フラッシュメモリであり、
前記第１及び第２ブロックは、それぞれ、複数のフィジカルページから構成され、前記書き込みは、最下位のフィジカルページから最上位のフィジカルページに向かってフィジカルページごとに行われ、
前記最下位のフィジカルページは、書き込み時間が最も短い下位ページを含み、前記最上位のフィジカルページは、書き込み時間が最も長い上位ページを含み、前記最下位のフィジカルページ及び前記最上位のフィジカルページを除く残りの複数のフィジカルページは、下位ページ、（ｎ−２）個の中位ページ及び上位ページからなる第１単位の繰り返しであり、
前記メモリコントローラは、前記第１テンポラリメモリと前記第１ブロック内の最下位のフィジカルページとにより前記第１単位のページ数と同じページ数を有する第２単位を形成し、前記第２テンポラリメモリと前記第２ブロック内の最下位のフィジカルページとにより前記第１単位のページ数と同じページ数を有する第３単位を形成し、前記第２単位、前記第３単位、前記第１ブロック内の前記第１単位及び前記第２ブロック内の前記第１単位の順番で、インターリーブ動作による前記ロジカルページの書き込みを行う
ことを特徴とするメモリシステム。
【請求項２】
前記第１メモリチップは、前記第１ブロックと同じ構成を持つ第３ブロックを有し、前記第２メモリチップは、第３テンポラリメモリと前記第２ブロックと同じ構成を持つ第４ブロックとを有し、
前記第１ブロック内の上位ページから前記ロジカルページの上書きを行うとき、前記メモリコントローラは、前記第３テンポラリメモリと前記第４ブロック内の最下位のフィジカルページとにより前記第１単位のページ数と同じページ数を有する第４単位を形成し、前記第３ブロック内の最下位のフィジカルページ、前記第４単位、前記第３ブロック内の前記第１単位及び前記第４ブロック内の前記第１単位の順番で、前記インターリーブ動作による前記ロジカルページの上書きを行う
ことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記第１テンポラリメモリに書き込まれた前記ロジカルページは、前記第１ブロック内の最上位のフィジカルページにコピーされ、前記第２テンポラリメモリに書き込まれた前記ロジカルページは、前記第２ブロック内の最上位のフィジカルページにコピーされることを特徴とする請求項１に記載のメモリシステム。
【請求項４】
前記第１テンポラリメモリは、前記第１メモリチップ内の前記第１ブロック以外のブロックの最下位のフィジカルページを含み、前記第２テンポラリメモリは、前記第２メモリチップ内の前記第２ブロック以外のブロックの最下位のフィジカルページを含むことを特徴とする請求項１に記載のメモリシステム。
【請求項５】
前記第１テンポラリメモリは、前記第１メモリチップ内のページバッファであり、前記第２テンポラリメモリは、前記第２メモリチップ内のページバッファであることを特徴とする請求項１に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値(multi-level)フラッシュメモリのデータ書き込み技術に関する。
【背景技術】
【０００２】
フラッシュメモリ、特に、ＮＡＮＤフラッシュメモリは、ストレージメモリとして、メモリカード、ＳＳＤ(solid state drive)など、様々な分野に適用され始めている。これらの分野において、フラッシュメモリシステムを構成する場合、データ書き込み速度の高速化が一つの重要な課題となっている。
【０００３】
ところで、データ転送速度の向上を図る技術としてインターリーブ(interleaving)動作が知られている（例えば、特許文献１〜４を参照）。従って、この技術をフラッシュメモリに適用すれば、データ書き込み速度の高速化という課題を解決できる可能性がある。
【０００４】
しかし、フラッシュメモリは、メモリセル（フィジカルページ）に対してデータの上書きができない、という特有のデータ書き込み方式を有する。即ち、データの上書き時には、オールドブロックの撤収を行い、ニューブロックにデータを書き直す必要がある。
【０００５】
従って、データ書き込み速度の高速化は、このようなフラッシュメモリのデータ書き込み方式にマッチしたインターリーブ動作を開発することにより実現される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−５１７３２０号公報
【特許文献２】特開２００８−５２４７０５号公報
【特許文献３】特開２００７−５２２５４２号公報
【特許文献４】特開２００８−３３８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、フラッシュメモリに対する高速書き込みをインターリーブ動作により実現するためのメモリシステムを提案する。
【課題を解決するための手段】
【０００８】
本発明の例に係わるメモリシステムは、第１テンポラリメモリと第１ブロックとを有する第１メモリチップと、第２テンポラリメモリと第２ブロックとを有する第２メモリチップと、前記第１及び第２メモリチップに対するロジカルページの書き込みを制御するメモリコントローラとを備える。前記第１及び第２メモリチップは、それぞれ、１つのメモリセルにｎ（ｎは、２以上の自然数）ビットを記憶する多値フラッシュメモリである。前記第１及び第２ブロックは、それぞれ、複数のフィジカルページから構成され、前記書き込みは、最下位のフィジカルページから最上位のフィジカルページに向かってフィジカルページごとに行われる。前記最下位のフィジカルページは、書き込み時間が最も短い下位ページを含み、前記最上位のフィジカルページは、書き込み時間が最も長い上位ページを含む。前記最下位のフィジカルページ及び前記最上位のフィジカルページを除く残りの複数のフィジカルページは、下位ページ、（ｎ−２）個の中位ページ及び上位ページからなる第１単位の繰り返しである。前記メモリコントローラは、前記第１テンポラリメモリと前記第１ブロック内の最下位のフィジカルページとにより前記第１単位のページ数と同じページ数を有する第２単位を形成し、前記第２テンポラリメモリと前記第２ブロック内の最下位のフィジカルページとにより前記第１単位のページ数と同じページ数を有する第３単位を形成し、前記第２単位、前記第３単位、前記第１ブロック内の前記第１単位及び前記第２ブロック内の前記第１単位の順番で、インターリーブ動作による前記ロジカルページの書き込みを行う。
【発明の効果】
【０００９】
本発明によれば、フラッシュメモリに対する高速書き込みをインターリーブ動作により実現することができる。
【図面の簡単な説明】
【００１０】
【図１】メモリシステムを示す図。
【図２】４値の閾値を示す図。
【図３】４値の閾値を示す図。
【図４】ブロック構成を示す図。
【図５】ブロック構成を示す図。
【図６】ＮＡＮＤブロックを示す図。
【図７】コンベンショナルな書き込みを示す図。
【図８】ページシフト動作による書き込みを示す図。
【図９】インターリーブ動作による書き込みを示す図。
【図１０】図９の動作の波形図。
【図１１】ジグザグインターリーブ動作による書き込みを示す図。
【図１２】図１１の動作の波形図。
【図１３】撤収時のデータ移動を示す図。
【図１４】本発明の一実施例による書き込みを示す図。
【図１５】本発明の一実施例による書き込みを示す図。
【図１６】本発明の一実施例による書き込みを示す図。
【図１７】本発明の一実施例による書き込みを示す図。
【図１８】テンポラリメモリの例を示す図。
【図１９】本発明の一実施例による書き込みを示す図。
【図２０】本発明の一実施例による書き込みを示す図。
【図２１】本発明の一実施例による書き込みを示す図。
【図２２】本発明の一実施例による書き込みを示す図。
【図２３】ＮＡＮＤフラッシュメモリの例を示す図。
【図２４】メモリコントローラの例を示す図。
【図２５】メモリコントローラの例を示す図。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明の例を実施するための最良の形態について詳細に説明する。
【００１２】
１．  基本構成  
本発明の例では、フラッシュメモリに対する高速書き込みをインターリーブ動作により実現するため、以下の構成を採用する。
【００１３】
まず、フラッシュチップ（メモリチップ）は、１つのメモリセルにｎ（ｎは、２以上の自然数）ビットを記憶する多値フラッシュメモリである。また、フラッシュチップは、複数のブロック（メモリブロック）を有し、複数のブロックは、それぞれ、複数のフィジカルページから構成される。
【００１４】
ここで、ブロックとは、データの記憶エリアとなるメモリセルアレイを複数に区分したときの一区分のことである。また、ページとは、ブロックを複数に区分したときの一区分のことである。従って、ページサイズは、ブロックサイズよりも小さい。
【００１５】
これらの文言は、特に、ＮＡＮＤフラッシュメモリで使用されるが、本発明は、ＮＡＮＤフラッシュメモリに限定されるものではない。
【００１６】
書き込みは、最下位のフィジカルページから最上位のフィジカルページに向かってフィジカルページごとに行われる。
【００１７】
最下位のフィジカルページは、書き込み時間が最も短い下位ページを含み、最上位のフィジカルページは、書き込み時間が最も長い上位ページを含む。最下位のフィジカルページ及び最上位のフィジカルページを除く残りの複数のフィジカルページは、下位ページ、（ｎ−２）個の中位ページ及び上位ページからなる第１単位の繰り返しである。
【００１８】
このような前提の下、本発明の例では、ロジカルページの初期書き込み時及び上書き時に、それぞれ、ロジカルページを一時的に記憶するテンポラリメモリを用意する。
【００１９】
ここで、ロジカルページとは、ホストが指定するページのことであり、フィジカルページとは、フラッシュチップの内部で実際に指定されるページのことである。
【００２０】
また、テンポラリメモリは、例えば、フラッシュチップ内のブロックの書き込み時間が最も短い下位ページ、フラッシュチップ内のページバッファなどである。
【００２１】
そして、インターリーブ動作によるロジカルページの書き込みは、例えば、第１フラッシュチップ内のテンポラリメモリとブロックの最下位のフィジカルページとにより第１単位のページ数と同じページ数を有する第２単位を形成し、第２フラッシュチップ内のテンポラリメモリとブロックの最下位のフィジカルページとにより第１単位のページ数と同じページ数を有する第３単位を形成し、第２単位、第３単位、第１フラッシュチップ内の第１単位及び第２フラッシュチップ内の第１単位の順番で行う。
【００２２】
第２単位及び第３単位は、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことなく、ロジカルページのデータ移動を同一のフラッシュチップ内のみで行うために採用された構成要件である。
【００２３】
例えば、４値の場合、インターリーブ動作によるニューブロックに対するロジカルページの書き込みは、２個のロジカルページをペアとして、以下の順番で行う。
【００２４】
A.  第１フラッシュチップ内の第２単位（２ページ）  
テンポラリメモリ→最下位のフィジカルページ（下位ページ）
B.  第２フラッシュチップ内の第３単位（２ページ）  
テンポラリメモリ→最下位のフィジカルページ（下位ページ）
C.  第１フラッシュチップ内の第１単位（２ページ）  
下位ページ→上位ページ
D.  第２フラッシュチップ内の第１単位（２ページ）  
下位ページ→上位ページ
E.  C.とD.の繰り返し
F.  テンポラリメモリに書き込まれたロジカルページのコピー  
第１フラッシュメモリ内のテンポラリメモリに書き込まれたロジカルページは、第１フラッシュメモリ内のニューブロックの最上位のフィジカルページ（上位ページ）にコピーされ、第２フラッシュメモリ内のテンポラリメモリに書き込まれたロジカルページは、第２フラッシュメモリ内のニューブロックの最上位のフィジカルページ（上位ページ）にコピーされる。
【００２５】
但し、ニューブロックに対して、オールドブロック内の上位ページからロジカルページの上書きを行うとき、上述のA.におけるテンポラリメモリに対する書き込みは省略し、上述のA.における最下位のフィジカルページ（下位ページ）から書き込みを開始する。
【００２６】
この時、上述のF.においては、第２フラッシュメモリ内のテンポラリメモリに書き込まれたロジカルページのコピーのみを行う。
【００２７】
尚、上述のF.におけるコピーに関しては、オールドブロックの撤収時に行うのが最も好ましい。
【００２８】
また、ｎ値の場合、インターリーブ動作によるニューブロックに対するロジカルページの書き込みは、ｎ個のロジカルページをペアとして、以下の順番で行う。
【００２９】
A.  第１フラッシュチップ内の第２単位（ｎページ）  
テンポラリメモリ→最下位のフィジカルページ（下位ページ→（ｎ−２）個の中位ページ）
B.  第２フラッシュチップ内の第３単位（ｎページ）  
テンポラリメモリ→最下位のフィジカルページ（下位ページ→（ｎ−２）個の中位ページ）
C.  第１フラッシュチップ内の第１単位（ｎページ）  
下位ページ→（ｎ−２）個の中位ページ→上位ページ
D.  第２フラッシュチップ内の第１単位（ｎページ）  
下位ページ→（ｎ−２）個の中位ページ→上位ページ
E.  C.とD.の繰り返し
F.  テンポラリメモリに書き込まれたロジカルページのコピー  
第１フラッシュメモリ内のテンポラリメモリに書き込まれたロジカルページは、第１フラッシュメモリ内のニューブロックの最上位のフィジカルページ内の上位ページにコピーされ、第２フラッシュメモリ内のテンポラリメモリに書き込まれたロジカルページは、第２フラッシュメモリ内のニューブロックの最上位のフィジカルページ内の上位ページにコピーされる。
【００３０】
但し、ニューブロックに対して、オールドブロック内の（ｎ−２）個の中位ページ又は上位ページからロジカルページの上書きを行うとき、上述のA.におけるテンポラリメモリに対する書き込みは省略し、上述のA.における最下位のフィジカルページ内の下位ページから書き込みを開始する。
【００３１】
この時、上述のF.においては、第２フラッシュメモリ内のテンポラリメモリに書き込まれたロジカルページのコピーのみを行う。
【００３２】
尚、上述のF.におけるコピーに関しては、オールドブロックの撤収時に行うのが最も好ましい。
【００３３】
さらに、ｎ値の場合、インターリーブ動作によるニューブロックに対するロジカルページの書き込みは、以下の順番で行ってもよい。
【００３４】
A.  第１フラッシュチップ内の第２単位（ｎページ）  
テンポラリメモリ（ｎ−１ページ）→最下位のフィジカルページ（下位ページ）
B.  第２フラッシュチップ内の第３単位（ｎページ）  
テンポラリメモリ（ｎ−１ページ）→最下位のフィジカルページ（下位ページ）
C.  第１フラッシュチップ内の第１単位（ｎページ）  
下位ページ→（ｎ−２）個の中位ページ→上位ページ
D.  第２フラッシュチップ内の第１単位（ｎページ）  
下位ページ→（ｎ−２）個の中位ページ→上位ページ
E.  C.とD.の繰り返し
F.  テンポラリメモリに書き込まれたロジカルページのコピー
尚、上述のF.におけるコピーに関しては、オールドブロックの撤収時に行うのが最も好ましい。
【００３５】
このような構成によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【００３６】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【００３７】
２．  フラッシュメモリシステム  
図１は、本発明の基本となるフラッシュメモリシステムを示している。
【００３８】
フラッシュチップＣＰ０，ＣＰ１は、それぞれ、例えば、ＮＡＮＤフラッシュメモリが形成されるチップである。
【００３９】
フラッシュチップＣＰ０，ＣＰ１は、ｍ＋１個（ｍは、自然数）のブロックＢＫ０，ＢＫ１，…ＢＫｍから構成される。ブロックＢＫｉ（ｉ＝０，１，…ｍ）は、複数のページから構成される。
【００４０】
メモリコントローラ１１は、フラッシュチップＣＰ０，ＣＰ１に対するデータ書き込み動作を制御する。
【００４１】
ここで、本例では、フラッシュチップＣＰ０，ＣＰ１は、２個であるが、３個以上としてもよい。
【００４２】
また、メモリコントローラ１１及びフラッシュチップＣＰ０，ＣＰ１は、１つのパッケージ内に収められていてもよいし、フラッシュチップＣＰ０が収められるパッケージとフラッシュチップＣＰ１が収められるパッケージとは、異なっていてもよい。
【００４３】
３．  多値フラッシュメモリ  
本発明は、多値フラッシュメモリに対するデータ書き込み技術に関する。
【００４４】
ここで、多値とは、１つのメモリセルに３値以上のデータが記憶されることをいう。データの単位である１ビットは、２値であるため、多値フラッシュメモリは、通常、２ｎ値（ｎは、自然数）を有する。１つのメモリセルにｎビットが記憶されるとき、そのｎビットは、下位ビット(lower bit)、中位ビット(middle bits)及び上位ビット(upper bit)で表されることとする。
【００４５】
多値ＮＡＮＤフラッシュメモリでは、データ書き込みは、ページ単位で行われる。この場合、書き込みデータとしての下位ビットは、下位ページ(lower page)Ｌと呼ばれ、中位ビットは、中位ページ(middle pages)Ｍと呼ばれ、上位ビットは、上位ページ(upper page)Ｕと呼ばれる。
【００４６】
例えば、図２に示すように、４値ＮＡＮＤフラッシュメモリでは、１つのメモリセルに４値（２ビット）が記憶される。このとき、１つのメモリセルに記憶される２ビットは、下位ビット及び上位ビットで表される。
【００４７】
１つのメモリセルに下位ビットのみが記憶された状態では、メモリセルの閾値分布は、第１状態Ａ及び第２状態Ｍのうちの一つになる。第１状態Ａは、消去状態であり、第２状態Ｍは、ＬＭ(lower middle)状態と称される。
【００４８】
１つのメモリセルに下位ビットと上位ビットとが記憶された状態では、メモリセルの閾値分布は、第１状態Ａ、第３状態Ｂ、第４状態Ｃ及び第５状態Ｄのうちの一つになる。例えば、第３状態Ｂは、第１状態Ａからの閾値シフトにより得られ、第４及び第５状態Ｃ，Ｄは、それぞれ、第２状態Ｍからの閾値シフトにより得られる。
【００４９】
但し、閾値のシフト方法は、これに限られることはない。
【００５０】
例えば、図３に示すように、下位ビットのみが記憶された状態では、メモリセルの閾値分布を、第１状態Ａ及び第２状態Ｂのうちの一つとし、下位ビットと上位ビットとが記憶された状態では、メモリセルの閾値分布を、第１状態Ａ、第２状態Ｂ、第３状態Ｃ及び第４状態Ｄのうちの一つとしてもよい。
【００５１】
この場合、第３状態Ｃは、第２状態Ｂからの閾値シフトにより得られ、第４状態Ｄは、第１状態Ａからの閾値シフトにより得られる。
【００５２】
４．  フラッシュメモリのブロック構成  
本発明の前提となるフラッシュメモリのブロック構成について説明する。
【００５３】
図４及び図５は、フラッシュメモリのブロック構成を示している。
【００５４】
ブロックＢＫｉ（ｉ＝０，１，…ｍ）は、図１のブロックＢＫ０，ＢＫ１，…ＢＫｍに相当する。
【００５５】
図４は、４値フラッシュメモリのブロック構成である。
【００５６】
１つのブロックＢＫｉは、ｊ＋１個（ｊは、自然数）のフィジカルアドレスＰＡ０，ＰＡ１，ＰＡ２，…ＰＡｊ−１，ＰＡｊから構成される。
【００５７】
１つのブロックＢＫｉ内の最下位のフィジカルアドレスＰＡ０は、フィジカルページＰＰ０の１ページのみから構成される。フィジカルページＰＰ０は、例えば、下位ページＬに設定される。
【００５８】
また、１つのブロックＢＫｉ内の最上位のフィジカルアドレスＰＡｊは、フィジカルページＰＰ２ｊ−１の１ページのみから構成される。フィジカルページＰＰ２ｊ−１は、例えば、上位ページＵに設定される。
【００５９】
フィジカルページＰＰ０，ＰＰ２ｊ−１を下位ページに設定するか、又は上位ページに設定するかは、任意である。
【００６０】
残りのフィジカルアドレスＰＡ１，ＰＡ２，…ＰＡｊ−１は、下位ページＬ及び上位ページＵの２ページから構成される。
【００６１】
例えば、フィジカルアドレスＰＡ１は、下位ページＬとしてのフィジカルページＰＰ１と上位ページＵとしてのフィジカルページＰＰ２とから構成される。
【００６２】
図５は、８値フラッシュメモリのブロック構成である。
【００６３】
１つのブロックＢＫｉは、ｊ＋１個（ｊは、自然数）のフィジカルアドレスＰＡ０，ＰＡ１，ＰＡ２，…ＰＡｊ−１，ＰＡｊから構成される。
【００６４】
１つのブロックＢＫｉ内の最下位のフィジカルアドレスＰＡ０は、フィジカルページＰＰ０の１ページのみから構成される。フィジカルページＰＰ０は、例えば、下位ページＬに設定される。
【００６５】
また、１つのブロックＢＫｉ内の最上位のフィジカルアドレスＰＡｊは、フィジカルページＰＰ２ｊ−１の１ページのみから構成される。フィジカルページＰＰ２ｊ−１は、例えば、上位ページＵに設定される。
【００６６】
フィジカルページＰＰ０，ＰＰ２ｊ−１を下位ページに設定するか、又は上位ページに設定するかは、任意である。
【００６７】
残りのフィジカルアドレスＰＡ１，ＰＡ２，…ＰＡｊ−１は、下位ページＬ、中位ページＭ及び上位ページＵの３ページから構成される。
【００６８】
例えば、フィジカルアドレスＰＡ１は、下位ページＬとしてのフィジカルページＰＰ１と、中位ページＭとしてのフィジカルページＰＰ２と、上位ページＵとしてのフィジカルページＰＰ３とから構成される。
【００６９】
尚、１つのブロックＢＫｉ内の最下位のフィジカルアドレスＰＡ０は、下位ページＬ及び中位ページＭの２ページから構成されていてもよい。また、１つのブロックＢＫｉ内の最上位のフィジカルアドレスＰＡｊは、中位ページＭ及び上位ページＵの２ページから構成されていてもよい。
【００７０】
図６は、ＮＡＮＤフラッシュメモリのブロック構成を示している。
【００７１】
ここでは、図４のブロック構成に対応させて、４値の例を説明する。
【００７２】
ＮＡＮＤセルユニットＣＵは、直列接続されるｊ＋１個のメモリセルＭＣと、その両端に１つずつ接続される合計２つのセレクトゲートトランジスタＳＴ１，ＳＴ２とから構成される。セレクトゲートトランジスタＳＴ１は、ソース線ＳＬに接続され、セレクトゲートトランジスタＳＴ２は、ビット線ＢＬ０に接続される。
【００７３】
ワード線ＷＬ０，ＷＬ１，ＷＬ２，…ＷＬｊ−１、ＷＬｊは、メモリセルＭＣに接続され、セレクトゲート線ＳＧＳ，ＳＧＤは、セレクトゲートトランジスタＳＴ１，ＳＴ２に接続される。
【００７４】
１つのブロックＢＫｉは、ｊ＋１個のフィジカルアドレスＰＡ０，ＰＡ１，ＰＡ２，…ＰＡｊ−１，ＰＡｊから構成される。
【００７５】
１つのブロックＢＫｉ内の最下位のフィジカルアドレスＰＡ０は、フィジカルページ（下位ページ）ＰＰ０の１ページのみから構成される。
【００７６】
また、１つのブロックＢＫｉ内の最上位のフィジカルアドレスＰＡｊは、フィジカルページ（上位ページ）ＰＰ２ｊ−１の１ページから構成される。
【００７７】
残りのフィジカルアドレスＰＡ１，ＰＡ２，…ＰＡｊ−１は、下位ページＬ及び上位ページＵの２ページから構成される。
【００７８】
以上の説明では、４値（２ビット）と８値（３ビット）のブロック構成について説明したが、例えば、図５の中位ビットＭの数を増やすことにより、容易に、１６値（４ビット）、３２値（５ビット）、６４値（６ビット）…に応用することができる。
【００７９】
これらフラッシュメモリのブロック構成の特徴は、１つのブロックＢＫｉ内の最下位のフィジカルアドレスＰＡ０のページ構成（１ページのみ）が、フィジカルアドレスＰＡ１、ＰＡ２，…ＰＡｊ−１のページ構成（複数ページ）と異なっていることにある。
【００８０】
これは、以下に説明するページシフト動作及びジグザグインターリーブ動作を実行するに当って高速書き込みを妨げる一つの要因となる。
【００８１】
５．  ページシフト動作  
ページシフト動作は、フラッシュメモリにおいて高速書き込みを実現するために開発された技術の一つである。
【００８２】
本発明は、ページシフト動作を前提とするため、以下、これについて説明する。
【００８３】
フラッシュメモリは、例えば、データ消去をブロック単位で行い、データ書き込みをページ単位で行う。一方、データは、ページサイズよりも小さいサイズ、例えば、セクタで管理される。
【００８４】
ここで、フラッシュメモリに新規データを書き込むときは、例えば、データ消去済みの未使用ブロック（ニューブロック）に対して、セクタ単位で管理される新規データを、最下位のフィジカルページから最上位のフィジカルページに向かって、順次、ページ単位で書き込むことができる。
【００８５】
これに対し、データが書き込まれている使用中ブロック（オールドブロック）内のページの一部（例えば、セクタ）を上書きデータ(over writing data)により変更するときは、上書きの対象となるページの一部のみを変更することはできないため、例えば、新たにデータ消去済みの未使用ブロック（ニューブロック）を用意し、この未使用ブロックに上書きデータを書き込む。
【００８６】
図７及び図８は、上書き動作の例を示している。  
本例では、１つのブロックは、１２８ページから構成されるものとする。
【００８７】
まず、未使用ブロックＢＫ−ＡのフィジカルページＰＰ０，ＰＰ１，ＰＰ２，ＰＰ３，ＰＰ４，…ＰＰ１２５，ＰＰ１２６，ＰＰ１２７に対して、ロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３，ＬＰ４，…ＬＰ１２５，ＬＰ１２６，ＬＰ１２７の新規データをページ単位で順次書き込む。データが書き込まれたブロックＢＫ−Ａは、使用中ブロックになる。
【００８８】
この後、ロジカルページＬＰ１２５，ＬＰ１２６，ＬＰ１２７に対して上書きを行う場合を考える。この場合、まず、使用中ブロックＢＫ−Ａとは別の未使用ブロックＢＫ−Ｂを用意する。
【００８９】
ここで、未使用ブロックＢＫ−Ｂに対するデータ書き込みは、フィジカルページＰＰ０からフィジカルページＰＰ１２７に向かって、順次、ページ単位で行われる。
【００９０】
従って、図７の例では、使用中ブロックＢＫ−Ａ内のフィジカルページＰＰ０〜ＰＰ１２４のデータ（有効データ）を未使用ブロックＢＫ−Ｂにコピーした後、上書きデータとしてのロジカルページＬＰ１２５〜ＬＰ１２７のデータを未使用ブロックＢＫ−ＢのフィジカルページＰＰ１２５〜ＰＰ１２７に書き込む。
【００９１】
しかし、この制御では、データを上書きする前に、常に、使用中ブロックＢＫ−Ａから未使用ブロックＢＫ−Ｂへのデータのコピーを行う必要があるため、データ書き込み速度の高速化を図ることができない。
【００９２】
これに対し、図８の例では、上書きデータは、常に、未使用ブロックＢＫ−Ｂの最下位のフィジカルページＰＰ０から順次書き込む。具体的には、上書きデータとしてのロジカルページＬＰ１２５〜ＬＰ１２７のデータは、未使用ブロックＢＫ−ＢのフィジカルページＰＰ０〜ＰＰ２に書き込む。
【００９３】
この制御をページシフト動作と呼ぶ。
【００９４】
ページシフト動作によれば、使用中ブロックＢＫ−Ａ内のページの一部を上書きデータにより変更するときに、使用中ブロックＢＫ−Ａ内のデータを未使用ブロックＢＫ−Ｂにコピーしなくてよいため、データ書き込み速度の高速化を図ることができる。
【００９５】
但し、ページシフト動作では、コントローラにより、ロジカルページとフィジカルページとの関係を管理することが重要である。
【００９６】
そして、ブロックＢＫ−Ａ内の残りの有効データ、即ち、ロジカルページＬＰ０〜ＬＰ１２４のデータは、適当な時期に、例えば、ブロックＢＫ−Ａ内のフィジカルページＰＰ０〜ＰＰ１２４からブロックＢＫ−Ｂ内のフィジカルページＰＰ３〜ＰＰ１２７に移動させる。
【００９７】
ブロックＢＫ−Ａ内の有効データの移動後において、ブロックＢＫ−Ａは、無効データのみを有する。このため、ブロックＢＫ−Ａに対してデータ消去が行われると、ブロックＢＫ−Ａは、再び、未使用ブロックとして取り扱われる。
【００９８】
このように、使用中ブロックが再び未使用ブロックに戻ることを撤収と呼ぶ。
【００９９】
６．  ジグザクインターリーブ動作  
ジグザグインターリーブ動作も、フラッシュメモリにおいて高速書き込みを実現するために開発された技術の一つである。
【０１００】
本発明は、ジグザグインターリーブ動作を前提とするため、以下、これについて説明する。ジグザグとは、多値フラッシュメモリに対するデータ書き込みにインターリーブ動作を適用したときに、複数のチップのフィジカルページに対するデータ書き込みの順番をジグザグにすると、高速書き込みに貢献できることから付けられた名称である。
【０１０１】
(1)   ノーマルインターリーブ動作  
ジグザグインターリーブ動作を理解するには、まず、ノーマルインターリーブ動作を知っておく必要があるため、これについて説明する。
【０１０２】
図９は、ノーマルインターリーブ動作の書き込み手順を示している。  
ここでは、インターリーブの対象となるチップ数は、２つとし、１つのブロックは、１２８ページから構成されるものとする。
【０１０３】
初期書き込みでは、２つのフラッシュチップＣＰ０，ＣＰ１内の未使用ブロックＢＫ−ＡのフィジカルページＰＰ０，ＰＰ１，ＰＰ２，ＰＰ３，ＰＰ４，…ＰＰ１２５，ＰＰ１２６，ＰＰ１２７に対して、交互に、ロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３，ＬＰ４，…ＬＰ１２５，ＬＰ１２６，ＬＰ１２７の新規データをページ単位で順次書き込む。
【０１０４】
例えば、まず、ロジカルページＬＰ０のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＡのフィジカルページＰＰ０（下位ページＬ）に書き込む。次に、ロジカルページＬＰ１のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＡのフィジカルページＰＰ０（下位ページＬ）に書き込む。
【０１０５】
続けて、ロジカルページＬＰ２のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＡのフィジカルページＰＰ１（下位ページＬ）に書き込む。次に、ロジカルページＬＰ３のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＡのフィジカルページＰＰ１（下位ページＬ）に書き込む。
【０１０６】
以下、同様に、ロジカルページＬＰ４，ＬＰ５，…ＬＰ２５４，ＬＰ２５５のデータを順次書き込む。
【０１０７】
データが書き込まれたブロックＢＫ−Ａは、使用中ブロックになる。
【０１０８】
この後、ロジカルページＬＰ４，ＬＰ５，ＬＰ６，ＬＰ７に対して上書きを行う場合を考える。この場合、まず、使用中ブロックＢＫ−Ａとは別の未使用ブロックＢＫ−Ｂを用意する。
【０１０９】
ここで、未使用ブロックＢＫ−Ｂに対するデータ書き込みは、上述したページシフト動作により、フィジカルページＰＰ０からフィジカルページＰＰ１２７に向かって、順次、ページ単位で行うものとする。
【０１１０】
即ち、上書き動作では、２つのフラッシュチップＣＰ０，ＣＰ１内の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０，ＰＰ１に対して、交互に、ロジカルページＬＰ４，ＬＰ５，ＬＰ６，ＬＰ７のデータを書き込む。
【０１１１】
具体的には、まず、ロジカルページＬＰ４のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０（下位ページＬ）に書き込む。次に、ロジカルページＬＰ５のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０（下位ページＬ）に書き込む。
【０１１２】
続けて、ロジカルページＬＰ６のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＢのフィジカルページＰＰ１（下位ページＬ）に書き込む。次に、ロジカルページＬＰ７のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＢのフィジカルページＰＰ１（下位ページＬ）に書き込む。
【０１１３】
そして、ブロックＢＫ−Ａ内の残りの有効データ、即ち、ロジカルページＬＰ０〜ＬＰ３，ＬＰ８〜ＬＰ２５５のデータは、適当な時期に、例えば、ブロックＢＫ−Ａ内のフィジカルページＰＰ０，ＰＰ１，ＰＰ４〜ＰＰ１２７からブロックＢＫ−Ｂ内のフィジカルページＰＰ２〜ＰＰ１２７に移動させる。
【０１１４】
図１０は、ノーマルインターリーブの動作波形を示している。  
ノーマルインターリーブ動作では、例えば、２つのフラッシュチップＣＰ０，ＣＰ１に対して交互にデータを入力することにより、実質的に、２つのフラッシュチップＣＰ０，ＣＰ１に対する書き込みを並行して行うことができ、見かけ上の書き込み速度を向上させることができる。
【０１１５】
しかし、上述したフラッシュメモリの特有のブロック構成により、インターリーブが有効に機能せず、書き込み速度を大幅に向上させることが難しい。
【０１１６】
なぜなら、多値フラッシュメモリでは、下位ページ、中位ページ及び上位ページに対する書き込み時間がそれぞれ異なっているからである。例えば、下位ページに対する書き込み時間は、最も短く、上位ページに対する書き込み時間は、最も長い。
【０１１７】
即ち、ノーマルインターリーブ動作では、フラッシュチップＣＰ０に対する下位ページの書き込み中に、フラッシュチップＣＰ１に対する下位ページの入力を行い、フラッシュチップＣＰ１に対する下位ページの書き込み中に、フラッシュチップＣＰ０に対する上位ページの入力を行い、フラッシュチップＣＰ０に対する上位ページの書き込み中に、フラッシュチップＣＰ１に対する上位ページの入力を行う。
【０１１８】
この場合、下位ページの書き込み時間は短いため、例えば、フラッシュチップＣＰ０に対するロジカルページＬＰ２の書き込み（Busy期間）中に、フラッシュチップＣＰ１に対するロジカルページＬＰ３のデータ入力を行うのは好ましくない。
【０１１９】
また、上位ページの書き込み時間は長いため、例えば、フラッシュチップＣＰ０に対するロジカルページＬＰ４の上位ページへの書き込み（Busy期間）中に、フラッシュチップＣＰ１に対するロジカルページＬＰ５のデータ入力のみを行うのは効率的ではない。
【０１２０】
この例では、ロジカルページＬＰ４の書き込みのために生じる見かけ上のBusy期間Ｘが長くなるため、インターリーブによる高速書き込みの効果が制限される。
【０１２１】
(2)   ジグザグインターリーブ動作  
ジグザグインターリーブ動作は、ノーマルインターリーブ動作の問題点を解消する。その特徴は、下位ページと上位ページとをペアで書き込むことにある。
【０１２２】
図１１は、ジグザグインターリーブ動作の書き込み手順を示している。  
ここでは、インターリーブの対象となるチップ数は、２つとし、１つのブロックは、１２８ページから構成されるものとする。
【０１２３】
初期書き込みでは、２つのフラッシュチップＣＰ０，ＣＰ１内の未使用ブロックＢＫ−ＡのフィジカルページＰＰ０，ＰＰ１，ＰＰ２，ＰＰ３，ＰＰ４，…ＰＰ１２５，ＰＰ１２６，ＰＰ１２７に対して、ジグザクに、ロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３，ＬＰ４，…ＬＰ１２５，ＬＰ１２６，ＬＰ１２７の新規データをページ単位で順次書き込む。
【０１２４】
例えば、まず、ロジカルページＬＰ０のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＡのフィジカルページＰＰ０（下位ページＬ）に書き込む。次に、ロジカルページＬＰ１のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＡのフィジカルページＰＰ０（下位ページＬ）に書き込む。
【０１２５】
続けて、ロジカルページＬＰ２，ＬＰ３のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＡのフィジカルページＰＰ１（下位ページＬ），ＰＰ２（上位ページ）に書き込む。次に、ロジカルページＬＰ４，ＬＰ５のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＡのフィジカルページＰＰ１（下位ページＬ），ＰＰ２（上位ページ）に書き込む。
【０１２６】
以下、同様に、ロジカルページＬＰ６，ＬＰ７，…ＬＰ２５４，ＬＰ２５５のデータを順次書き込む。
【０１２７】
データが書き込まれたブロックＢＫ−Ａは、使用中ブロックになる。
【０１２８】
この後、ロジカルページＬＰ２〜ＬＰ７に対して上書きを行う場合を考える。この場合、まず、使用中ブロックＢＫ−Ａとは別の未使用ブロックＢＫ−Ｂを用意する。
【０１２９】
ここで、未使用ブロックＢＫ−Ｂに対するデータ書き込みは、上述したページシフト動作により、フィジカルページＰＰ０からフィジカルページＰＰ１２７に向かって、順次、ページ単位で行うものとする。
【０１３０】
即ち、上書き動作では、２つのフラッシュチップＣＰ０，ＣＰ１内の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０，ＰＰ１に対して、ジグザグに、ロジカルページＬＰ２〜ＬＰ７のデータを書き込む。
【０１３１】
具体的には、まず、ロジカルページＬＰ２のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０（下位ページＬ）に書き込む。次に、ロジカルページＬＰ３のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０（下位ページＬ）に書き込む。
【０１３２】
続けて、ロジカルページＬＰ４、ＬＰ５のデータを、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＢのフィジカルページＰＰ１（下位ページＬ），ＰＰ２（上位ページＵ）に書き込む。次に、ロジカルページＬＰ６，ＬＰ７のデータを、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＢのフィジカルページＰＰ１（下位ページＬ），ＰＰ２（上位ページＵ）に書き込む。
【０１３３】
そして、ブロックＢＫ−Ａ内の残りの有効データ、即ち、ロジカルページＬＰ０，ＬＰ１，ＬＰ８〜ＬＰ２５５のデータは、適当な時期に、例えば、ブロックＢＫ−Ａ内のフィジカルページＰＰ０，ＰＰ３〜ＰＰ１２７からブロックＢＫ−Ｂ内のフィジカルページＰＰ３〜ＰＰ１２７に移動させる。
【０１３４】
図１２は、ジグザグインターリーブの動作波形を示している。  
ジグザグインターリーブ動作では、例えば、２つのフラッシュチップＣＰ０，ＣＰ１に対してジグザグにデータを入力することにより、実質的に、２つのフラッシュチップＣＰ０，ＣＰ１に対する書き込みを並行して行うことができ、見かけ上の書き込み速度を向上させることができる。
【０１３５】
また、書き込みは、下位ページと上位ページとをペアにして続けて行うため、常に、１つのフラッシュチップの上位ページの書き込みによって生じるBusy期間を利用して、残りの１つ又は複数のフラッシュチップに対する下位ページ及び上位ページの入力を行う。
【０１３６】
例えば、フラッシュチップＣＰ０に対するロジカルページＬＰ３の上位ページへの書き込み（Busy期間）中に、フラッシュチップＣＰ１に対するロジカルページＬＰ４，ＬＰ５のデータ入力を行う。
【０１３７】
従って、ロジカルページＬＰ３の書き込みのために生じる見かけ上のBusy期間Ｘが短くなるため、インターリーブによる高速書き込みの効果が最大となる。
【０１３８】
この最大の効果は、ジグザクインターリーブの対象となるフラッシュチップの数を、上位ページ書き込みのBusy期間に基づいて最適値に設定することで実現される。
【０１３９】
以上のジグザグインターリーブ動作について説明したが、その特徴は、複数のフラッシュチップに対してインターリーブ書き込みを行うに当って、下位ページと上位ページとをペアにして書き込みを行い、上位ページの書き込みによって生じるBusy期間を利用して、下位ページ及び上位ページの入力を行う、ということにある。
【０１４０】
従って、この書き込み順序を崩さないことが重要になる。
【０１４１】
しかし、上述したフラッシュメモリの特有のブロック構成により、ジグザグインターリーブ動作によっても、インターリーブが有効に機能しないモードがある。
【０１４２】
このモードは、上書き時に発生する。
【０１４３】
(3)   ジグザグインターリーブ動作の課題  
ジグザグインターリーブ動作の課題は、データの上書きをページシフト動作により行うときに発生する。
【０１４４】
ジグザグインターリーブ動作の特徴は、上述のように、複数のフラッシュチップに対してインターリーブ書き込みを行うに当って、下位ページと上位ページとをペアにして連続して書き込みを行うことにある。
【０１４５】
従って、この書き込み順序を崩さずに、ページシフト動作により上書きデータを書き込むことが必要である。
【０１４６】
例えば、図１１の例では、ロジカルページＬＰ２〜ＬＰ７に対して上書きを行う。
【０１４７】
ロジカルページＬＰ２のデータは、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０（下位ページＬ）に書き込まれ、ロジカルページＬＰ３のデータは、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＢのフィジカルページＰＰ０（下位ページＬ）に書き込まれる。
【０１４８】
また、ロジカルページＬＰ４、ＬＰ５のデータは、フラッシュチップＣＰ０の未使用ブロックＢＫ−ＢのフィジカルページＰＰ１（下位ページＬ），ＰＰ２（上位ページＵ）に書き込まれ、ロジカルページＬＰ６，ＬＰ７のデータは、フラッシュチップＣＰ１の未使用ブロックＢＫ−ＢのフィジカルページＰＰ１（下位ページＬ），ＰＰ２（上位ページＵ）に書き込まれる。
【０１４９】
この後、ブロックＢＫ−Ａ内の残りの有効データ、即ち、ロジカルページＬＰ０，ＬＰ１，ＬＰ８〜ＬＰ２５５のデータを、例えば、ブロックＢＫ−Ａ内のフィジカルページＰＰ０，ＰＰ３〜ＰＰ１２７からブロックＢＫ−Ｂ内のフィジカルページＰＰ３〜ＰＰ１２７に移動させ、ブロックＢＫ−Ａの撤収を図る。
【０１５０】
しかし、この場合、フラッシュチップＣＰ１内のブロックＢＫ−Ａに記憶されているロジカルページＬＰ８，ＬＰ９〜ＬＰ２５２，ＬＰ２５３，ＬＰ２５５のデータは、フラッシュチップＣＰ０内のブロックＢＫ−Ｂにコピーしなければならない（Copy 1）。
【０１５１】
また、フラッシュチップＣＰ０内のブロックＢＫ−Ａに記憶されているロジカルページＬＰ１０，ＬＰ１１〜ＬＰ２５０，ＬＰ２５１，ＬＰ２５４のデータは、フラッシュチップＣＰ１内のブロックＢＫ−Ｂにコピーしなければならない(Copy 2)。
【０１５２】
このコピーでは、データは、異なる２つのチップ間を移動することになるため、この動作を実行するに当たっては、データを一時的に記憶する外部メモリ、例えば、図１３に示すように、メモリコントローラ１１内のメモリＭが必要になる。
【０１５３】
従って、ジグザグインターリーブ動作とページシフト動作とにより、書き込みの高速化を図っても、データ上書き後にブロックＢＫ−Ａの撤収を行うに当たって、データの移動に多大な時間を要することになる。この撤収時間の増加により、結果として、書き込み速度の大幅な改善を図ることはできない。
【０１５４】
尚、この例では、ロジカルページＬＰ０のデータは、フラッシュチップＣＰ０内のブロックＢＫ−ＡからブロックＢＫ−Ｂにコピーされ（Copy 3）、ロジカルページＬＰ２５５，ＬＰ１のデータは、フラッシュチップＣＰ１内のブロックＢＫ−ＡからブロックＢＫ−Ｂにコピーされる（Copy 4）。
【０１５５】
ところで、フラッシュチップ（例えば、ＮＡＮＤフラッシュメモリ）は、データを一時的に記憶しておくことが可能なページバッファを有している。これを利用すれば、フラッシュチップ内の異なるブロック間でデータを高速移動させることができる。
【０１５６】
以下に説明する実施例では、データの上書きを、ジグザグインターリーブ動作及びページシフト動作により行っても、上書き後のブロックの撤収時においては、常に、データコピーが同一のフラッシュチップ内で行われることにより、書き込み速度の大幅な改善を図ることができる技術について提案する。
【０１５７】
７．  実施例  
本発明の例では、ロジカルページの初期書き込み時及び上書き時に、それぞれ、ロジカルページを一時的に記憶するテンポラリメモリを使用し、オールドブロックの撤収時に異なるフラッシュチップ間でデータ移動が生じることを防ぐことで、ページシフト動作及びインターリーブ動作による高速書き込みを実現する。
【０１５８】
以下では、インターリーブ動作を、２つのフラッシュチップで行う場合と、４つのフラッシュチップで行う場合とについて説明する。
【０１５９】
(1)   第１実施例  
第１実施例は、インターリーブ動作を２つのフラッシュチップで行う場合である。
【０１６０】
図１４乃至図１７は、第１実施例の書き込み手順を示している。  
ここでは、１つのブロックは、１２８ページから構成されるものとする。
【０１６１】
初期書き込みでは、テンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１内のニューブロックＢＫ−Ａに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０１６２】
テンポラリメモリＴは、例えば、図１８に示すように、フラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）とすることができる。また、本例とは関係ないが、８値（３ビット）以上のフラッシュメモリでは、テンポラリメモリＴを、ブロックＢＫ−（Ｔ）の複数のフィジカルページＰＰ０，ＰＰ１，…とすることができる。
【０１６３】
まず、第１ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ａ内のフィジカルページＰＰ０（下位ページＬ）に対して、２個のロジカルページＬＰ０，ＬＰ１をペアにして連続して書き込む。
【０１６４】
次に、第２ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ａ内のフィジカルページＰＰ０（下位ページＬ）に対して、２個のロジカルページＬＰ２，ＬＰ３をペアにして連続して書き込む。
【０１６５】
ここで、上述の第１及び第２ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページでないが、テンポラリメモリＴをフラッシュチップＣＰ０内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）とすれば、高速書き込みが大きく制限されることはない。
【０１６６】
次に、第３ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、２個のロジカルページＬＰ４，ＬＰ５をペアにして連続して書き込む。
【０１６７】
次に、第４ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、２個のロジカルページＬＰ６，ＬＰ７をペアにして連続して書き込む。
【０１６８】
ここで、上述の第３及び第４ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページであるため、フラッシュチップＣＰ０，ＣＰ１の一方に対する上位ページの書き込み時に生じるBusy期間を利用して、フラッシュチップＣＰ０，ＣＰ１の他方に対する下位ページ及び上位ページの入力を行い、インターリーブ動作による高速書き込みを実現できる。
【０１６９】
以下、第３及び第４ステップと同様にして、ロジカルページＬＰ８，ＬＰ９，ＬＰ１０，ＬＰ１１…ＬＰ２５２，ＬＰ２５３，ＬＰ２５４，ＬＰ２５５を順次書き込む。
【０１７０】
最後に、第５ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ０を、フラッシュチップＣＰ０内のブロックＢＫ−Ａの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ２を、フラッシュチップＣＰ１内のブロックＢＫ−Ａの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０１７１】
ロジカルデータＬＰ０〜ＬＰ２５５が書き込まれたフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−Ａは、使用中ブロック（オールドブロック）になる。
【０１７２】
この後、上書きを行う場合を考える。
【０１７３】
・  フラッシュチップＣＰ０内の偶数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図１４に示すようになる。  
上書きは、ロジカルページＬＰ４〜ＬＰ７に対して行うものとする。
【０１７４】
上書きでも、テンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０１７５】
まず、第１ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ４，ＬＰ５をペアにして連続して書き込む。
【０１７６】
次に、第２ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ６，ＬＰ７をペアにして連続して書き込む。
【０１７７】
ここで、上述の第１及び第２ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページでないが、テンポラリメモリＴをフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）とすれば、高速書き込みが大きく制限されることはない。
【０１７８】
この後、フラッシュチップＣＰ０，ＣＰ１内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ８，ＬＰ９〜ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３を、それぞれ移動させ（Copy 1, Copy 2）、オールドブロックＢＫ−Ａの撤収を図る。
【０１７９】
まず、第３ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ８，ＬＰ９をペアにして連続して書き込む。
【０１８０】
次に、第４ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ１０，ＬＰ１１をペアにして連続して書き込む。
【０１８１】
ここで、上述の第３及び第４ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページであるため、フラッシュチップＣＰ０，ＣＰ１の一方に対する上位ページの書き込み時に生じるBusy期間を利用して、フラッシュチップＣＰ０，ＣＰ１の他方に対する下位ページ及び上位ページの入力を行い、インターリーブ動作による高速書き込みを実現できる。
【０１８２】
また、この第３及び第４ステップでのデータ移動は、常に、同一のフラッシュチップ内のみで行われるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０１８３】
以下、第３及び第４ステップと同様にして、ロジカルページＬＰ１２，ＬＰ１３，ＬＰ１４，ＬＰ１５…ＬＰ２５２，ＬＰ２５３，ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３を順次書き込む。
【０１８４】
最後に、第５ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ４を、フラッシュチップＣＰ０内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ６を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０１８５】
ロジカルデータＬＰ０〜ＬＰ２５５が書き込まれたフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０１８６】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０１８７】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０１８８】
・  フラッシュチップＣＰ１内の偶数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図１５に示すようになる。  
上書きは、ロジカルページＬＰ２〜ＬＰ５に対して行うものとする。
【０１８９】
上書きでも、テンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０１９０】
まず、第１ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ２，ＬＰ３をペアにして連続して書き込む。
【０１９１】
次に、第２ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ４，ＬＰ５をペアにして連続して書き込む。
【０１９２】
ここで、上述の第１及び第２ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページでないが、テンポラリメモリＴをフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）とすれば、高速書き込みが大きく制限されることはない。
【０１９３】
この後、フラッシュチップＣＰ０，ＣＰ１内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ６，ＬＰ７〜ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１を、それぞれ移動させ（Copy 1, Copy 2）、オールドブロックＢＫ−Ａの撤収を図る。
【０１９４】
まず、第３ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）の２個のロジカルページＬＰ６，ＬＰ７をペアにして連続して書き込む。
【０１９５】
次に、第４ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ８，ＬＰ９をペアにして連続して書き込む。
【０１９６】
ここで、上述の第３及び第４ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページであるため、フラッシュチップＣＰ０，ＣＰ１の一方に対する上位ページの書き込み時に生じるBusy期間を利用して、フラッシュチップＣＰ０，ＣＰ１の他方に対する下位ページ及び上位ページの入力を行い、インターリーブ動作による高速書き込みを実現できる。
【０１９７】
また、この第３及び第４ステップでのデータ移動は、常に、同一のフラッシュチップ内のみで行われるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０１９８】
以下、第３及び第４ステップと同様にして、ロジカルページＬＰ１０，ＬＰ１１，ＬＰ１２，ＬＰ１３…ＬＰ２５２，ＬＰ２５３，ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１を順次書き込む。
【０１９９】
最後に、第５ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ２を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ４を、フラッシュチップＣＰ０内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２００】
ロジカルデータＬＰ０〜ＬＰ２５５が書き込まれたフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０２０１】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０２０２】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２０３】
・  フラッシュチップＣＰ０内の奇数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図１６に示すようになる。  
上書きは、ロジカルページＬＰ５〜ＬＰ７に対して行うものとする。
【０２０４】
この上書きでは、フラッシュチップＣＰ１内のテンポラリメモリＴのみを使用し、フラッシュチップＣＰ０，ＣＰ１内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０２０５】
まず、第１ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしてのロジカルページＬＰ５を書き込む。
【０２０６】
次に、第２ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ６，ＬＰ７をペアにして連続して書き込む。
【０２０７】
ここで、上述の第２ステップでは、ロジカルページの書き込み順序が下位ページ→上位ページでないが、テンポラリメモリＴをフラッシュチップＣＰ１内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）とすれば、高速書き込みが大きく制限されることはない。
【０２０８】
この後、フラッシュチップＣＰ０，ＣＰ１内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ８，ＬＰ９〜ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３，ＬＰ４を、それぞれ移動させ（Copy 1, Copy 2）、オールドブロックＢＫ−Ａの撤収を図る。
【０２０９】
まず、第３ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ８，ＬＰ９をペアにして連続して書き込む。
【０２１０】
次に、第４ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ１０，ＬＰ１１をペアにして連続して書き込む。
【０２１１】
ここで、上述の第３及び第４ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページであるため、フラッシュチップＣＰ０，ＣＰ１の一方に対する上位ページの書き込み時に生じるBusy期間を利用して、フラッシュチップＣＰ０，ＣＰ１の他方に対する下位ページ及び上位ページの入力を行い、インターリーブ動作による高速書き込みを実現できる。
【０２１２】
また、この第３及び第４ステップでのデータ移動は、常に、同一のフラッシュチップ内のみで行われるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２１３】
以下、第３及び第４ステップと同様にして、ロジカルページＬＰ１２，ＬＰ１３，ＬＰ１４，ＬＰ１５…ＬＰ２５２，ＬＰ２５３，ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１，ＬＰ２，ＬＰ３，ＬＰ４を順次書き込む。
【０２１４】
最後に、第５ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ６を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２１５】
ロジカルデータＬＰ０〜ＬＰ２５５が書き込まれたフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０２１６】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０２１７】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２１８】
・  フラッシュチップＣＰ１内の奇数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図１７に示すようになる。  
上書きは、ロジカルページＬＰ３〜ＬＰ５に対して行うものとする。
【０２１９】
この上書きでは、フラッシュチップＣＰ０内のテンポラリメモリＴのみを使用し、フラッシュチップＣＰ０，ＣＰ１内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０２２０】
まず、第１ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしてのロジカルページＬＰ３を書き込む。
【０２２１】
次に、第２ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ４，ＬＰ５をペアにして連続して書き込む。
【０２２２】
ここで、上述の第２ステップでは、ロジカルページの書き込み順序が下位ページ→上位ページでないが、テンポラリメモリＴをフラッシュチップＣＰ０内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）とすれば、高速書き込みが大きく制限されることはない。
【０２２３】
この後、フラッシュチップＣＰ０，ＣＰ１内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ６，ＬＰ７〜ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１，ＬＰ２を、それぞれ移動させ（Copy 1, Copy 2）、オールドブロックＢＫ−Ａの撤収を図る。
【０２２４】
まず、第３ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）の２個のロジカルページＬＰ６，ＬＰ７をペアにして連続して書き込む。
【０２２５】
次に、第４ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ８，ＬＰ９をペアにして連続して書き込む。
【０２２６】
ここで、上述の第３及び第４ステップでは、それぞれ、ロジカルページの書き込み順序が下位ページ→上位ページであるため、フラッシュチップＣＰ０，ＣＰ１の一方に対する上位ページの書き込み時に生じるBusy期間を利用して、フラッシュチップＣＰ０，ＣＰ１の他方に対する下位ページ及び上位ページの入力を行い、インターリーブ動作による高速書き込みを実現できる。
【０２２７】
また、この第３及び第４ステップでのデータ移動は、常に、同一のフラッシュチップ内のみで行われるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２２８】
以下、第３及び第４ステップと同様にして、ロジカルページＬＰ１０，ＬＰ１１，ＬＰ１２，ＬＰ１３…ＬＰ２５２，ＬＰ２５３，ＬＰ２５４，ＬＰ２５５及びロジカルページＬＰ０，ＬＰ１，ＬＰ２を順次書き込む。
【０２２９】
最後に、第５ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ４を、フラッシュチップＣＰ０内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２３０】
ロジカルデータＬＰ０〜ＬＰ２５５が書き込まれたフラッシュチップＣＰ０，ＣＰ１内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０２３１】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０２３２】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２３３】
(2)   第２実施例  
第２実施例は、インターリーブ動作を４つのフラッシュチップで行う場合である。
【０２３４】
図１９乃至図２２は、第２実施例の書き込み手順を示している。  
ここでは、１つのブロックは、１２８ページから構成されるものとする。
【０２３５】
初期書き込みでは、テンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のニューブロックＢＫ−Ａに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０２３６】
テンポラリメモリＴは、例えば、図１８に示すように、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のブロックＢＫ−（Ｔ）の最下位のフィジカルページＰＰ０（下位ページＬ）である。
【０２３７】
まず、第１ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ａ内のフィジカルページＰＰ０（下位ページＬ）に対して、２個のロジカルページＬＰ０，ＬＰ１をペアにして連続して書き込む。
【０２３８】
次に、第２ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ａ内のフィジカルページＰＰ０（下位ページＬ）に対して、２個のロジカルページＬＰ２，ＬＰ３をペアにして連続して書き込む。
【０２３９】
次に、第３ステップとして、フラッシュチップＣＰ２内のテンポラリメモリＴ及びブロックＢＫ−Ａ内のフィジカルページＰＰ０（下位ページＬ）に対して、２個のロジカルページＬＰ４，ＬＰ５をペアにして連続して書き込む。
【０２４０】
次に、第４ステップとして、フラッシュチップＣＰ３内のテンポラリメモリＴ及びブロックＢＫ−Ａ内のフィジカルページＰＰ０（下位ページＬ）に対して、２個のロジカルページＬＰ６，ＬＰ７をペアにして連続して書き込む。
【０２４１】
次に、第５ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、２個のロジカルページＬＰ８，ＬＰ９をペアにして連続して書き込む。
【０２４２】
次に、第６ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、２個のロジカルページＬＰ１０，ＬＰ１１をペアにして連続して書き込む。
【０２４３】
次に、第７ステップとして、フラッシュチップＣＰ２内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、２個のロジカルページＬＰ１２，ＬＰ１３をペアにして連続して書き込む。
【０２４４】
次に、第８ステップとして、フラッシュチップＣＰ３内のブロックＢＫ−Ａ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、２個のロジカルページＬＰ１４，ＬＰ１５をペアにして連続して書き込む。
【０２４５】
以下、第５乃至第８ステップと同様にして、ロジカルページＬＰ１６，ＬＰ１７…ＬＰＬＰ５１０，ＬＰ５１１を順次書き込む。
【０２４６】
最後に、第９ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ０を、フラッシュチップＣＰ０内のブロックＢＫ−Ａの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ２を、フラッシュチップＣＰ１内のブロックＢＫ−Ａの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２４７】
また、フラッシュチップＣＰ２内のテンポラリメモリＴに書き込まれたロジカルページＬＰ４を、フラッシュチップＣＰ２内のブロックＢＫ−Ａの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ３内のテンポラリメモリＴに書き込まれたロジカルページＬＰ６を、フラッシュチップＣＰ３内のブロックＢＫ−Ａの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２４８】
ロジカルデータＬＰ０〜ＬＰ５１１が書き込まれたフラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のブロックＢＫ−Ａは、使用中ブロック（オールドブロック）になる。
【０２４９】
この後、上書きを行う場合を考える。
【０２５０】
・  フラッシュチップＣＰ０内の偶数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図１９に示すようになる。  
上書きは、ロジカルページＬＰ８〜ＬＰ１５に対して行うものとする。
【０２５１】
上書きでも、テンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０２５２】
まず、第１ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ８，ＬＰ９をペアにして連続して書き込む。
【０２５３】
次に、第２ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１０，ＬＰ１１をペアにして連続して書き込む。
【０２５４】
次に、第３ステップとして、フラッシュチップＣＰ２内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１２，ＬＰ１３をペアにして連続して書き込む。
【０２５５】
次に、第４ステップとして、フラッシュチップＣＰ３内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１４，ＬＰ１５をペアにして連続して書き込む。
【０２５６】
この後、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ１６，ＬＰ１７〜ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ６，ＬＰ７を、それぞれ移動させ、オールドブロックＢＫ−Ａの撤収を図る。
【０２５７】
まず、第５ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ１６，ＬＰ１７をペアにして連続して書き込む。
【０２５８】
次に、第６ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ１８，ＬＰ１９をペアにして連続して書き込む。
【０２５９】
次に、第７ステップとして、フラッシュチップＣＰ２内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ２内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２０，ＬＰ２１をペアにして連続して書き込む。
【０２６０】
次に、第８ステップとして、フラッシュチップＣＰ３内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ３内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２２，ＬＰ２３をペアにして連続して書き込む。
【０２６１】
以下、第５乃至第８ステップと同様にして、ロジカルページＬＰ２４，ＬＰ２５…ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ６，ＬＰ７を順次書き込む。
【０２６２】
最後に、第９ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ８を、フラッシュチップＣＰ０内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１０を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２６３】
また、フラッシュチップＣＰ２内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１２を、フラッシュチップＣＰ２内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ３内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１４を、フラッシュチップＣＰ３内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２６４】
ロジカルデータＬＰ０〜ＬＰ５１１が書き込まれたフラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０２６５】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０２６６】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２６７】
・  フラッシュチップＣＰ２内の偶数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図２０に示すようになる。  
上書きは、ロジカルページＬＰ１２〜ＬＰ１９に対して行うものとする。
【０２６８】
上書きでも、テンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１，ＣＰ３，ＣＰ４内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０２６９】
まず、第１ステップとして、フラッシュチップＣＰ２内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１２，ＬＰ１３をペアにして連続して書き込む。
【０２７０】
次に、第２ステップとして、フラッシュチップＣＰ３内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１４，ＬＰ１５をペアにして連続して書き込む。
【０２７１】
次に、第３ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１６，ＬＰ１７をペアにして連続して書き込む。
【０２７２】
次に、第４ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１８，ＬＰ１９をペアにして連続して書き込む。
【０２７３】
この後、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ２０，ＬＰ２１〜ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ１０，ＬＰ１１を、それぞれ移動させ、オールドブロックＢＫ−Ａの撤収を図る。
【０２７４】
まず、第５ステップとして、フラッシュチップＣＰ２内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ２内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２０，ＬＰ２１をペアにして連続して書き込む。
【０２７５】
次に、第６ステップとして、フラッシュチップＣＰ３内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ３内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２２，ＬＰ２３をペアにして連続して書き込む。
【０２７６】
次に、第７ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ５（下位ページＬ）及びフィジカルページＰＰ６（上位ページＵ）の２個のロジカルページＬＰ２４，ＬＰ２５をペアにして連続して書き込む。
【０２７７】
次に、第８ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ５（下位ページＬ）及びフィジカルページＰＰ６（上位ページＵ）の２個のロジカルページＬＰ２６，ＬＰ２７をペアにして連続して書き込む。
【０２７８】
以下、第５乃至第８ステップと同様にして、ロジカルページＬＰ２８，ＬＰ２９…ＬＰＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ１０、ＬＰ１１を順次書き込む。
【０２７９】
最後に、第９ステップとして、フラッシュチップＣＰ２内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１２を、フラッシュチップＣＰ２内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ３内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１４を、フラッシュチップＣＰ３内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２８０】
また、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１６を、フラッシュチップＣＰ０内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１８を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２８１】
ロジカルデータＬＰ０〜ＬＰ５１１が書き込まれたフラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０２８２】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０２８３】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０２８４】
・  フラッシュチップＣＰ０内の奇数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図２１に示すようになる。  
上書きは、ロジカルページＬＰ９〜ＬＰ１５に対して行うものとする。
【０２８５】
この上書きでは、フラッシュチップＣＰ１，ＣＰ２，ＣＰ３内のテンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０２８６】
まず、第１ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしてのロジカルページＬＰ９を書き込む。
【０２８７】
次に、第２ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１０，ＬＰ１１をペアにして連続して書き込む。
【０２８８】
次に、第３ステップとして、フラッシュチップＣＰ２内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１２，ＬＰ１３をペアにして連続して書き込む。
【０２８９】
次に、第４ステップとして、フラッシュチップＣＰ３内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１４，ＬＰ１５をペアにして連続して書き込む。
【０２９０】
この後、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ１６，ＬＰ１７〜ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ６，ＬＰ７を、それぞれ移動させ、オールドブロックＢＫ−Ａの撤収を図る。
【０２９１】
まず、第５ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ１６，ＬＰ１７をペアにして連続して書き込む。
【０２９２】
次に、第６ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ１８，ＬＰ１９をペアにして連続して書き込む。
【０２９３】
次に、第７ステップとして、フラッシュチップＣＰ２内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ２内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２０，ＬＰ２１をペアにして連続して書き込む。
【０２９４】
次に、第８ステップとして、フラッシュチップＣＰ３内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ３内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２２，ＬＰ２３をペアにして連続して書き込む。
【０２９５】
以下、第５乃至第８ステップと同様にして、ロジカルページＬＰ２４，ＬＰ２５…ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ６，ＬＰ７，ＬＰ８を順次書き込む。
【０２９６】
最後に、第９ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１０を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２９７】
また、フラッシュチップＣＰ２内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１２を、フラッシュチップＣＰ２内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ３内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１４を、フラッシュチップＣＰ３内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０２９８】
ロジカルデータＬＰ０〜ＬＰ５１１が書き込まれたフラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０２９９】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０３００】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたブロック間でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０３０１】
・  フラッシュチップＣＰ２内の奇数ロジカルページ（ＬＰ）からの上書き  
この上書きの書き込み手順は、図２２に示すようになる。  
上書きは、ロジカルページＬＰ１３〜ＬＰ１９に対して行うものとする。
【０３０２】
この上書きでは、フラッシュチップＣＰ０，ＣＰ１，ＣＰ３内のテンポラリメモリＴを使用し、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のニューブロックＢＫ−Ｂに対するロジカルページの書き込みを、２個のロジカルページをペアとして、以下の順番で行う。
【０３０３】
まず、第１ステップとして、フラッシュチップＣＰ２内のブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしてのロジカルページＬＰ１３を書き込む。
【０３０４】
次に、第２ステップとして、フラッシュチップＣＰ３内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１４，ＬＰ１５をペアにして連続して書き込む。
【０３０５】
次に、第３ステップとして、フラッシュチップＣＰ０内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１６，ＬＰ１７をペアにして連続して書き込む。
【０３０６】
次に、第４ステップとして、フラッシュチップＣＰ１内のテンポラリメモリＴ及びブロックＢＫ−Ｂ内のフィジカルページＰＰ０（下位ページＬ）に対して、上書きデータとしての２個のロジカルページＬＰ１８，ＬＰ１９をペアにして連続して書き込む。
【０３０７】
この後、フラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のオールドブロックＢＫ−ＡからニューブロックＢＫ−Ｂへ、ロジカルページＬＰ２０，ＬＰ２１〜ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ１０，ＬＰ１１，ＬＰ１２を、それぞれ移動させ、オールドブロックＢＫ−Ａの撤収を図る。
【０３０８】
まず、第５ステップとして、フラッシュチップＣＰ２内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ２内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２０，ＬＰ２１をペアにして連続して書き込む。
【０３０９】
次に、第６ステップとして、フラッシュチップＣＰ３内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ３内のブロックＢＫ−Ａ内のフィジカルページＰＰ３（下位ページＬ）及びフィジカルページＰＰ４（上位ページＵ）の２個のロジカルページＬＰ２２，ＬＰ２３をペアにして連続して書き込む。
【０３１０】
次に、第７ステップとして、フラッシュチップＣＰ０内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ０内のブロックＢＫ−Ａ内のフィジカルページＰＰ５（下位ページＬ）及びフィジカルページＰＰ６（上位ページＵ）の２個のロジカルページＬＰ２４，ＬＰ２５をペアにして連続して書き込む。
【０３１１】
次に、第８ステップとして、フラッシュチップＣＰ１内のブロックＢＫ−Ｂ内のフィジカルページＰＰ１（下位ページＬ）及びフィジカルページＰＰ２（上位ページＵ）に対して、フラッシュチップＣＰ１内のブロックＢＫ−Ａ内のフィジカルページＰＰ５（下位ページＬ）及びフィジカルページＰＰ６（上位ページＵ）の２個のロジカルページＬＰ２６，ＬＰ２７をペアにして連続して書き込む。
【０３１２】
以下、第５乃至第８ステップと同様にして、ロジカルページＬＰ２８，ＬＰ２９…ＬＰ５１０，ＬＰ５１１及びロジカルページＬＰ０，ＬＰ１〜ＬＰ１０，ＬＰ１１，ＬＰ１２を順次書き込む。
【０３１３】
最後に、第９ステップとして、フラッシュチップＣＰ３内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１４を、フラッシュチップＣＰ３内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０３１４】
また、フラッシュチップＣＰ０内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１６を、フラッシュチップＣＰ０内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーし、フラッシュチップＣＰ１内のテンポラリメモリＴに書き込まれたロジカルページＬＰ１８を、フラッシュチップＣＰ１内のブロックＢＫ−Ｂの最上位のフィジカルページＰＰ１２７（上位ページＵ）にコピーする。
【０３１５】
ロジカルデータＬＰ０〜ＬＰ５１１が書き込まれたフラッシュチップＣＰ０，ＣＰ１，ＣＰ２，ＣＰ３内のブロックＢＫ−Ｂは、使用中ブロック（オールドブロック）になる。
【０３１６】
以上のような書き込み手順によれば、ページシフト動作によるロジカルページの上書きを、いずれのロジカルページから繰り返し行っても、同一のフラッシュチップ内でのロジカルページの順番を崩すことがない。言い換えれば、ロジカルページの順番は、ブロックが変わる度に、同一のフラッシュチップ内でシフトするだけである。
【０３１７】
従って、オールドブロックの撤収を行うとき、ロジカルページのデータは、同一のフラッシュチップ内での移動のみとなるため、フラッシュチップに搭載されたチップ内でのデータの高速移動機能を利用し、撤収時間の短縮による高速書き込みを実現できる。
【０３１８】
８．  適用例  
本発明の適用例としては、例えば、ＮＡＮＤフラッシュメモリがある。
【０３１９】
以下では、本発明をＮＡＮＤフラッシュメモリに適用したときのメモリシステムの例について説明する。
【０３２０】
この適用例においては、ＮＡＮＤフラッシュメモリとは、パッケージングされた１個の製品をいうものとする。
【０３２１】
(1)   １個のＮＡＮＤフラッシュメモリ内でのインターリーブ動作  
図２３は、ＮＡＮＤフラッシュメモリの例を示している。
【０３２２】
ＮＡＮＤフラッシュメモリ２１は、１個のメモリコントローラ１１と、８個のＮＡＮＤフラッシュチップＣＰ０〜ＣＰ７とを有する。
【０３２３】
本発明に係わるインターリーブ動作は、メモリコントローラ１１により制御される。
【０３２４】
メモリコントローラ（コントローラチップ）１１は、パッケージ基板（package board）１０の一面上に搭載される。８個のＮＡＮＤフラッシュチップＣＰ０〜ＣＰ７は、メモリコントローラ１１上に搭載される。
【０３２５】
メモリコントローラ１１と８個のＮＡＮＤフラッシュチップＣＰ０〜ＣＰ７とは、例えば、ボンディングワイヤ、ＴＳＶ(through-silicon-via)などにより、互いに電気的に接続され、樹脂１２により覆われる。
【０３２６】
外部端子としてのバンプ１３は、パッケージ基板１０の他面上に搭載される。
【０３２７】
図２４は、メモリコントローラの例を示している。
【０３２８】
メモリコントローラ１１は、ＣＰＵ（Central Processing Unit）３１、ＨＯＳＴインターフェイス（HOST-I/F）３２、ＲＡＭ（Random Access Memory）３３、ＥＣＣインターフェイス（ECC-I/F）３４、及び、ＮＡＮＤインターフェイス３５を有する。
【０３２９】
これら要素は、バス３６を介して互いに接続される。
【０３３０】
ＨＯＳＴインターフェイス３２は、例えば、ＵＳＢ（Universal Serial Bus）インターフェイスからなり、データ転送規格であるＵＳＢ規格に基づいて、ホスト１４に対するデータの送受信を制御する。
【０３３１】
ＣＰＵ３１は、例えば、ファームウェアを用いてメモリシステムを制御する。
【０３３２】
また、ＣＰＵ３１は、ホスト１４からの書き込み／読み出し／消去コマンドを受け、８個のＮＡＮＤフラッシュチップＣＰ０〜ＣＰ７に対する書き込み／読み出し／消去動作を制御する。
【０３３３】
ＲＡＭ３３は、ＣＰＵ１２の作業エリアとして使用され、データや変換テーブルを一時的に記憶する。
【０３３４】
ＥＣＣインターフェイス３４は、例えば、バス３６からのデータに対してエラー訂正処理を行う。ＮＡＮＤインターフェイス３５は、８個のＮＡＮＤフラッシュチップＣＰ０〜ＣＰ７に対するデータの送受信を制御する。
【０３３５】
(2)   複数個のＮＡＮＤフラッシュメモリ間でのインターリーブ動作  
図２５は、メモリコントローラの例を示している。
【０３３６】
このシステムでは、チャネル間インターリーブが行われる。１個のチャネルは、１個のＮＡＮＤフラッシュメモリに対応する。本発明に係わるインターリーブ動作は、チャネル間で行われ、メモリコントローラ１１により制御される。
【０３３７】
メモリコントローラ１１は、ＣＰＵ３１、ＨＯＳＴインターフェイス（HOST-I/F）３２、ＲＡＭ３３、ＥＣＣインターフェイス（ECC-I/F）３４、及び、ＮＡＮＤインターフェイス３５を有する。
【０３３８】
これら要素は、バス３６を介して互いに接続される。
【０３３９】
ＨＯＳＴインターフェイス３２は、例えば、ＵＳＢインターフェイスからなり、データ転送規格であるＵＳＢ規格に基づいて、ホスト１４に対するデータの送受信を制御する。
【０３４０】
ＣＰＵ３１は、例えば、ファームウェアを用いてメモリシステムを制御する。
【０３４１】
また、ＣＰＵ３１は、ホスト１４からの書き込み／読み出し／消去コマンドを受け、複数個（本例では、２個）のＮＡＮＤフラッシュメモリ２１−１，２１−２に対する書き込み／読み出し／消去動作を制御する。
【０３４２】
ＮＡＮＤフラッシュメモリ２１−１，２１−２は、それぞれ、例えば、図２３に示す１個の製品から構成される。
【０３４３】
ＲＡＭ３３は、ＣＰＵ１２の作業エリアとして使用され、データや変換テーブルを一時的に記憶する。
【０３４４】
ＥＣＣインターフェイス３４は、例えば、バス３６からのデータに対してエラー訂正処理を行う。ＮＡＮＤインターフェイス３５は、８個のＮＡＮＤフラッシュチップＣＰ０〜ＣＰ７に対するデータの送受信を制御する。
【０３４５】
９．  むすび  
本発明によれば、フラッシュメモリに対する高速書き込みをインターリーブ動作により実現することができる。
【０３４６】
本発明の例は、上述の実施例に限定されるものではなく、その要旨を逸脱しない範囲で、各構成要素を変形して具体化できる。また、上述の実施例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の実施例に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施例の構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０３４７】
本発明は、高速ランダム書き込み可能なファイルメモリ、高速ダウンロード可能な携帯端末、高速ダウンロード可能な携帯プレーヤー、放送機器用半導体メモリ、ドライブレコーダ、ホームビデオ、通信用大容量バッファメモリ、防犯カメラ用半導体メモリなどに対して産業上のメリットは多大である。
【符号の説明】
【０３４８】
１０：  パッケージ基板、  １１：  メモリコントローラ、  １２：  樹脂、  １３：  バンプ、  ２１：  ＮＡＮＤフラッシュメモリ、  ３１：  ＣＰＵ、  ３２：  ＨＯＳＴインターフェイス、  ３３：  ＲＡＭ、  ３４：  ＥＣＣインターフェイス、  ３５：  ＮＡＮＤインターフェイス、  ＣＰ０〜ＣＰ７：  フラッシュチップ。
【図１】
2011059889.tif 000003
【図２】
2011059889.tif 000004
【図３】
2011059889.tif 000005
【図４】
2011059889.tif 000006
【図５】
2011059889.tif 000007
【図６】
2011059889.tif 000008
【図７】
2011059889.tif 000009
【図８】
2011059889.tif 000010
【図９】
2011059889.tif 000011
【図１０】
2011059889.tif 000012
【図１１】
2011059889.tif 000013
【図１２】
2011059889.tif 000014
【図１３】
2011059889.tif 000015
【図１４】
2011059889.tif 000016
【図１５】
2011059889.tif 000017
【図１６】
2011059889.tif 000018
【図１７】
2011059889.tif 000019
【図１８】
2011059889.tif 000020
【図１９】
2011059889.tif 000021
【図２０】
2011059889.tif 000022
【図２１】
2011059889.tif 000023
【図２２】
2011059889.tif 000024
【図２３】
2011059889.tif 000025
【図２４】
2011059889.tif 000026
【図２５】
2011059889.tif 000027