(57)【要約】【課題】  複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供する。【解決手段】  ネットワークを介してパケットを受信するパケット受信手段と、受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送するデータ転送手段と、前記フラッシュメモリ用バッファに保持されているデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段を備え、前記フラッシュメモリ用バッファに、前記パケットに含まれるデータが連結順で納められ、且つ、先に受信した前記パケットに含まれるデータが先に納められるように構成されている。【選択図】図１
2005141420.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してパケットを受信するパケット受信手段と、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送するデータ転送手段と、
前記フラッシュメモリ用バッファに保持されているデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記フラッシュメモリ用バッファに、前記パケットに含まれるデータが連結順で納められ、且つ、
先に受信した前記パケットに含まれるデータが先に納められるように構成されていることを特徴とするメモリコントローラ。
【請求項２】
ネットワークを介してパケットを受信するパケット受信手段と、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送するデータ転送手段と、
前記フラッシュメモリ用バッファに保持されているデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記フラッシュメモリ用バッファに、前記パケットに含まれるデータが連結順で納められ、且つ、前記フラッシュメモリ用バッファへの転送順序が、前記連結順に依存しないように構成されていることを特徴とするメモリコントローラ。
【請求項３】
前記連結順が前記パケットに含まれる付加的情報に基づいて決定されることを特徴とする請求項１又は２に記載のメモリコントローラ。
【請求項４】
請求項１乃至３のいずれか１項記載のメモリコントローラと、フラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。
【請求項５】
ネットワークを介してパケットを受信し、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送し、
前記フラッシュメモリ用バッファに転送されたデータをフラッシュメモリに書込むフラッシュメモリの制御方法であって、
前記フラッシュメモリ用バッファに、前記パケットに含まれるデータを連結順で納め、且つ、
先に受信した前記パケットに含まれるデータを先に納められることを特徴とするフラッシュメモリの制御方法。
【請求項６】
ネットワークを介してパケットを受信し、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送し、
前記フラッシュメモリ用バッファに転送されたデータをフラッシュメモリに書込むフラッシュメモリの制御方法であって、
前記パケットに含まれるデータを、前記フラッシュメモリ用バッファに連結順で納め、且つ、前記連結順に依存しない転送順序で前記フラッシュメモリ用バッファに転送することを特徴とするフラッシュメモリの制御方法。
【請求項７】
前記連結順を前記パケットに含まれる付加的情報に基づいて決定することを特徴とする請求項５又は６に記載のフラッシュメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に係り、特にネットワークに接続して動作するメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。
【背景技術】
【０００２】
近年、メモリカードやシリコンディスク等のメモリシステムに用いられる半導体メモリとして、フラッシュメモリが用いられることが多い。このフラッシュメモリは不揮発性メモリの一種であり、電源が投入されているか否かに関わらず、データが保持されていることが要求される。
【０００３】
ところで、上記のような装置に特に用いられることが多いＮＡＮＤ型フラッシュメモリは、メモリセルを消去状態（論理値の「１」）から書込状態（論理値の「０」）に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書込状態（論理値の「０」）から消去状態（論理値の「１」）に変化させる場合には、メモリセル単位で行うことができず、複数のメモリセルからなる所定の消去単位（ブロック）でしかこれを行うことができない。かかる一括消去動作は、一般的にブロック消去と呼ばれている。又、消去単位の単位であるブロックは、複数のページで構成されており、データの書込みや読出しは、ページ単位で行なわれる。
【０００４】
又、メモリカード等のメモリシステムは、通常、ホストシステムに接続され、ホストシステムの外部記憶装置として使用されているが、一方で、ネットワークに接続され、ネットワークを介してデータの授受を行なうディスクドライブ等の外部記憶装置も提案されている。例えば、特許文献１（特開平１１−１８４７０８）には、ネットワークに接続して機能するプリンタ、スキャナ、ディスクドライブ、デジタルカメラ、及び集線装置等のネットワーク接続デバイスに関する技術が記載されている。
【特許文献１】特開平１１−１８４７０８
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のようにフラッシュメモリを用いたメモリシステム（フラッシュメモリシステム）では、ページ単位で書込みや読出しを行なうため、通常、１ページ分のデータを保持することができるバッファに、フラッシュメモリに書込むデータを保持させ、このバッファに保持させたデータをフラッシュメモリに転送している。一方、ネットワークに接続してデータの授受を行なう外部記憶装置は、ネットワークを介して受取るデータであるパケットを保持するためのパケットバッファを備え、受信したパケットに含まれるデータは、一旦このパケットバッファに保持され、その後、他のバッファ等を介して記憶デバイスに書込まれる。
【０００６】
従って、ネットワークに接続して使用するフラッシュメモリシステムでは、パケットバッファに受信されたパケットに含まれるデータが、フラッシュメモリに書込むデータを保持するためのバッファ（以下、フラッシュメモリに書込むデータを保持するためのバッファをフラッシュメモリ用バッファと言う。）に転送され、その後、フラッシュメモリ用バッファに保持されたデータをフラッシュメモリに転送している。ここで、フラッシュメモリに書込むデータは、複数のデータに分割され、分割されたデータが先頭から順番に複数
のパケットで送信されてくるので、その順番で受信したパケットに含まれるデータを、フラッシュメモリ用バッファに転送する必要がある。
【０００７】
ところが、複数のパケットに分けてデータが送られてくるため、一部のパケットの受信を失敗した場合（以下、パケットの受信を失敗することをパケットロスと言う。）、フラッシュメモリ用バッファへのデータ転送は、パケットロスしたパケットが再送されてくるまで中断されてしまう。ネットワークに接続して使用する装置では、このパケットロスを回避することは困難であるため、パケットロスの度にフラッシュメモリ用バッファへのデータ転送を中断すると、フラッシュメモリにデータを書込む処理の処理効率が著しく低下する。
【０００８】
そこで、本発明は、パケットロス時の処理効率（書込み処理の処理効率）の低下を抑え、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る目的は、ネットワークを介してパケットを受信するパケット受信手段と、受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送するデータ転送手段と、
前記フラッシュメモリ用バッファに保持されているデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記フラッシュメモリ用バッファに、前記パケットに含まれるデータが連結順で納められ、且つ、
先に受信した前記パケットに含まれるデータが先に納められるように構成されていることを特徴とするメモリコントローラによって達成される。
【００１０】
つまり、前記パケットに含まれるデータを、受信した順番で前記フラッシュメモリ用バッファに転送することにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込んでいる。
【００１１】
又、本発明に係る目的は、ネットワークを介してパケットを受信するパケット受信手段と、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送するデータ転送手段と、
前記フラッシュメモリ用バッファに保持されているデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記フラッシュメモリ用バッファに、前記パケットに含まれるデータが連結順で納められ、且つ、前記フラッシュメモリ用バッファへの転送順序が、前記連結順に依存しないように構成されていることを特徴とするメモリコントローラによっても達成される。
【００１２】
つまり、連結順や受信した順番に依存せずに、転送可能なデータを順次フラッシュメモリ用バッファに転送することにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込んでいる。
【００１３】
又、本発明に係る目的は、前記メモリコントローラと、フラッシュメモリを備えることを特徴とするフラッシュメモリシステムによっても達成される。
【００１４】
又、本発明によれば、前記連結順が前記パケットに含まれる付加的情報に基づいて決定されることが好ましい。
【００１５】
又、本発明に係る目的は、ネットワークを介してパケットを受信し、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送し、
前記フラッシュメモリ用バッファに転送されたデータをフラッシュメモリに書込むフラッシュメモリの制御方法であって、
前記フラッシュメモリ用バッファに、前記パケットに含まれるデータを連結順で納め、且つ、
先に受信した前記パケットに含まれるデータを先に納められることを特徴とするフラッシュメモリの制御方法によっても達成される。
【００１６】
つまり、前記パケットに含まれるデータを、受信した順番で前記フラッシュメモリ用バッファに転送することにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込んでいる。
【００１７】
又、本発明に係る目的は、ネットワークを介してパケットを受信し、
受信した前記パケットに含まれるデータをフラッシュメモリ用バッファに転送し、
前記フラッシュメモリ用バッファに転送されたデータをフラッシュメモリに書込むフラッシュメモリの制御方法であって、
前記パケットに含まれるデータを、前記フラッシュメモリ用バッファに連結順で納め、且つ、前記連結順に依存しない転送順序で前記フラッシュメモリ用バッファに転送することを特徴とするフラッシュメモリの制御方法によっても達成される。
【００１８】
つまり、連結順や受信した順番に依存せずに、転送可能なデータを順次フラッシュメモリ用バッファに転送することにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込んでいる。
【００１９】
又、本発明によれば前記連結順を前記パケットに含まれる付加的情報に基づいて決定することが好ましい。
【００２０】
尚、上述の説明中で用いた連結順は、送信元で分割される前のデータと、受信側で再構築されたデータが一致するような連結の順序であり、又、付加的情報は、データに付加された識別番号、オフセット（データの位置を示すオフセット）等の情報である。
【発明の効果】
【００２１】
本発明によれば、パケットロス等によりパケットを受信する順序が、パケットに含まれるデータの連結順（送信元で分割される前のデータと、受信側で再構築されたデータが一致するような連結の順序）と異なっている場合に、転送可能なデータ（パケットに含まれていたデータ）を優先的にフラッシュメモリ用バッファに転送するようにしたので、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面に基づき、本発明の実施の形態について詳細に説明する。図１は、本発明にかかるフラッシュメモリシステム１を概略的に示すブロック図であり、フラッシュメモリ８と、メモリコントローラ２で構成されるフラッシュメモリシステム１を示している。
【００２３】
[メモリコントローラの説明]
図１のメモリコントローラ２は、ネットワークインターフェース部３、ネットワーク制御部４、パケット用バッファ５、フラッシュメモリ制御部６、及びフラッシュメモリ用バッファ７で構成されている。又、これらの回路によって構成されるメモリコントローラ２は、一つの半導体チップ上に集積されている。
【００２４】
ここで、ネットワークインターフェース部３は、ネットワーク上を送信されてくるベースバンド符号化された信号（例えば、イーサネット（登録商標）に準拠したネットワークであればマンチェスターコード化された信号）を、ネットワーク制御部４やフラッシュメモリ制御部６で処理することができるデジタル信号（デジタルデータを論理値の０と１に対応させた信号）に変換している。尚、無線ＬＡＮを介してネットワークに接続する場合には、ネットワークインターフェース部３は変調された信号（例えば、直交周波数分割多重変調された信号）を受信して復調する回路等に置換えられる。
【００２５】
又、ネットワーク制御部４は、パケットの受信又は送信を制御するブロックであり、受信したパケットに含まれるデータはネットワークインターフェース部３を介してパケット用バッファ５に保持される。又、ネットワーク制御部４は、パケット用バッファ５に保持したデータを、パケットに含まれる付加的情報に基づいて、フラッシュメモリ用バッファ７に転送する。ここで、付加的情報としては、パケットのサイズや種類等の多種の情報があるが、フラッシュメモリ用バッファ７への転送時は、複数のパケットに分割されたデータを連結させるための情報（以下、複数のパケットに分割されたデータを連結させるための情報を再構築情報と言う。）、例えば、データの識別番号、データの位置を示すオフセット等が参照される。尚、パケットの受信を失敗した場合（以下、パケットの受信を失敗することをパケットロスと言う。）は、ネットワーク制御部４の制御のもと、パケットの送信元に対して再送要求（受信を失敗したパケットの再送を求める要求）を送信する。
【００２６】
又、パケット用バッファ５は、送受信するパケットのデータを保持するためのバッファであり、フラッシュメモリ用バッファ７は、フラッシュメモリ８に書込むデータ又はフラッシュメモリ８から読出したデータを保持するためのバッファである。これらのバッファは、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）によって構成されている。
【００２７】
又、フラッシュメモリ制御部６は下記のような回路で構成されている。
（１）フラッシュメモリ制御部６を構成する各回路の動作を制御する回路。
（２）内部コマンド（フラッシュメモリ８に与える内部コマンド）を実行する際に必要な情報が設定されるレジスタ及びこのレジスタに情報を設定する回路。
（３）フラッシュメモリ８の制御に必要なデータが一時的に格納されるＳＲＡＭで構成された作業領域。
（４）フラッシュメモリ８とデータ、アドレス情報、ステータス情報及び内部コマンド情報を授受するインターフェース回路。
（５）フラッシュメモリ８に書込むデ―タに付加すべきエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する回路。
【００２８】
[メモリセルの説明]
次に、図２及び３参照して図１に示したフラッシュメモリ８を構成するメモリセル１６の具体的な構造について説明する。
【００２９】
図２は、フラッシュメモリを構成するメモリセル１６の構造を概略的に示す断面図である。同図に示したように、メモリセル１６は、Ｐ型半導体基板１７に形成されたＮ型のソース拡散領域１８及びドレイン拡散領域１９と、ソース拡散領域１８とドレイン拡散領域１９との間のＰ型半導体基板１７を覆って形成されたトンネル酸化膜２０と、トンネル酸化膜２０上に形成されたフローティングゲ―ト電極２１と、フローティングゲート電極２１上に形成された絶縁膜２２と、絶縁膜２２上に形成されたコントロールゲ―ト電極２３とから構成される。このような構成を有するメモリセル１６が、フラッシュメモリ内で複数個直列に接続されている。
【００３０】
メモリセル１６は、フローティングゲート電極２１に電子が注入されているか否かによって、「消去状態（電子が蓄積されていない状態）」と「書込状態（電子が蓄積されている状態）」のいずれかの状態が示される。ここで、１つのメモリセル１６は１ビットのデータに対応し、メモリセル１６の「消去状態」が論理値の「１」のデータに対応し、メモリセル１６の「書込状態」が論理値の「０」のデータに対応する。
【００３１】
「消去状態」においては、フローティングゲート電極２１に電子が蓄積されていないため、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されていないときには、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面にチャネルが形成されず、ソース拡散領域１８とドレイン拡散領域１９は電気的に絶縁される。一方、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されると、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面にチャネル（図示せず）が形成され、ソース拡散領域１８とドレイン拡散領域１９は、このチャネルによって電気的に接続される。
【００３２】
すなわち、「消去状態」においてはコントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されていない状態では、ソース拡散領域１８とドレイン拡散領域１９とは電気的に絶縁され、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加された状態では、ソース拡散領域１８とドレイン拡散領域１９とは電気的に接続される。
【００３３】
図３は、「書込状態」であるメモリセル１６を概略的に示す断面図である。同図に示したように、「書込状態」とは、フローティングゲート電極２１に電子が蓄積されている状態を指す。フローティングゲート電極２１はトンネル酸化膜２０及び絶縁膜２２に挟まれているため、一旦、フローティングゲート電極２１に注入された電子は、きわめて長時間フローティングゲート電極２１内にとどまる。この「書込状態」においては、フローティングゲート電極２１に電子が蓄積されているので、コントロールゲート電極２３に読出し電圧（高レベル電圧）が印加されているか否かに関わらず、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面にはチャネル２４が形成される。したがって、「書込状態」においてはソース拡散領域１８とドレイン拡散領域１９とは、コントロ―ルゲート電極２３に読出し電圧（高レベル電圧）が印加されているか否かに関わらず、チャネル２４によって常に電気的に接続状態となる。
【００３４】
又、上記メモリセル１６が消去状態であるか書込状態であるかは、次のようにして読み出すことができる。メモリセル１６はフラッシュメモリ内で複数個直列に接続されている。この直列体の中で選択するメモリセル１６に低レベル電圧を印加し、それ以外のメモリセル１６のコントロールゲート電極２３に高レベル電圧を印加する。この状態でメモリセル１６の直列体が導通状態であるか否かの検出が行われる。その結果、この直列体が導通状態であれば、選択されたメモリセル１６は書込状態であると判断され、絶縁状態であれば、選択されたフラッシュメモリセル１６は消去状態であると判断される。このようにして、直列体に含まれる任意のメモリセル１６に保持されたデータが「０」であるのか「１」であるのかを読み出すことができる。
【００３５】
又、消去状態であるメモリセル１６を書込状態に変化させる場合は、コントロールゲート電極２３が高電位側となる高電圧を印加し、トンネル酸化膜２０を介してフローティングゲート電極２１へ電子を注入する。この際、ＦＮ（ファウラ―ノルトハイム）トンネル電流が流れフロ―ティングゲート電極２１に電子が注入される。一方、書込状態であるフラッシュメモリセル１６を消去状態に変化させる場合は、コントロールゲート電極２３が低電位側となる高電圧を印加し、トンネル酸化膜２０を介してフローティングゲート電極２１に蓄積された電子を排出する。
【００３６】
[フラッシュメモリのメモリ構造の説明]
次に、フラッシュメモリのメモリ構造を説明する。図４は、フラッシュメモリのメモリ構造を概略的に示す図である。図４に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
【００３７】
上記ページは、例えば５１２バイトのユーザ領域２５と、１６バイトの冗長領域２６によって構成される。ユーザ領域２５は、主に、ホストシステム４から供給されるデ―タが格納される領域であり、冗長領域２６は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加情報が格納される領域である。
【００３８】
エラ―コレクションコードは、ユーザ領域２５に格納されたデータに含まれる誤りを訂正するための付加情報であり、ＥＣＣブロックによって生成される。このエラ―コレクションコードに基づき、ユーザ領域２５に格納されたデータに含まれる誤りが所定数以下であれば、その誤りが訂正される。
【００３９】
対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することができる。つまり、対応論理ブロックアドレスが格納されていない場合は消去済ブロックであると判断する。
【００４０】
ブロックステータスは、そのブロックが不良ブロック（正常にデータの書込み等を行なうことができないブロック）であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
【００４１】
[論理ブロックアドレスと物理ブロックアドレスの説明]
フラッシュメモリはデータの上書きができないため、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新データ（書替後のデータ）を書込み、旧データ（書替前のデータ）が書込まれていたブロックを消去するという処理を行なわなければならない。この際、消去はブロック単位で処理されるため、旧データ（書替前のデータ）が書込まれていたページが含まれるブロックの、全ページのデータが消去されてしまう。従って、データの書替えを行なう場合、書替えるページが含まれるブロックの、他のページのデータについても、消去済ブロックに移動させる処理が必要となる。
【００４２】
上記のようにデータを書替える場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム側から与えられる論理ブロックアドレスと、フラッシュメモリ内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。このため、論理ブロックアドレスと物理ブロックアドレスの対応関係を示したアドレス変換テーブルが必要となる。尚、このアドレス変換テーブルは、フラッシュメモリの冗長領域に書込まれている対応論理ブロックアドレスに基づいて作成され、データが書替えられる毎に、その書替えに関わった部分の対応関係が更新される。
【００４３】
［本発明に係る処理の説明］
本発明に係るフラッシュメモリシステムは、ネットワークに接続して動作する装置であり、ネットワーク介して受信したパケットに含まれるデータを、フラッシュメモリに書込んでいる。この書込み処理を、図面を参照して説明する。尚、本発明は、パケットロスが発生したときの処理効率の低下を改善したものなので、パケットロスが発生した場合の処理について説明する
図５を参照して、パケットを受信する処理について説明する。この処理では、ネットワーク制御部４の制御のもと、受信したパケットは、ネットワークインターフェース部３で
、ネットワーク制御部４やフラッシュメモリ制御部６で処理することができるデジタル信号に変換され、パケットに含まれる実質的なデータ部分はパケット用バッファ５に保持される。この際、パケットに含まれる付加的情報（実質的なデータ以外の部分）のうち、再構築情報等の情報はネットワーク制御部４内のレジスタや作業領域に保持される。
【００４４】
図５は、順次送られてくるパケットを、パケット１から順番に受信していき、パケット３のときにパケットロスが発生した場合を示しており、パケットロスが発生した場合、送信元に対して再送要求が送信される。ここでは、パケット３の再送を要求する再送要求が、ネットワーク制御部４の制御のもと、ネットワークインターフェース部３を介して送出される。この再送要求を受信した送信元１０が、パケット４の送信後にパケット３を再送すれば、フラッシュメモリシステム側は、パケット１、パケット２、パケット４、パケット３の順番でパケットを受信することになる。尚、５以上のパケットに分割して送信されてくる場合は、再送されてきたパケット３の後に、それ以降のパケット（例えば、パケット５、パケット６等）を受信することになる。
【００４５】
又、ネットワークを介したデータ送信では、データを複数のパケットに分割して送信するので、受信側が複数のパケットに含まれているデータを連結して、データを再構築する。この再構築では、送信元で分割される前のデータと、受信側で再構築されたデータが一致するような順序で、各パケットに含まれているデータが連結される。以下、送信元で分割される前のデータと、受信側で再構築されたデータが一致するような連結の順序を連結順と言う。又、この連結順は、再構築情報に基づいて決定される。尚、通常、送信元１０は、分割したデータを先頭から順番にパケットとして送出するので、パケットロスが発生しなければ、受信側は受信したパケットに含まれるデータを、受信した順番で連結していくことになるが、パケットロスが発生した場合には、受信の順番と連結していく順番が一致しない場合が生じる。
【００４６】
又、パケット用バッファ５に保持されたデータ（パケットに含まれていたデータ）は、図６に示したようにパケット用バッファ５からフラッシュメモリ用バッファ７に転送される。この転送処理で、フラッシュメモリ用バッファ７にフラッシュメモリの１ページ分のデータが保持された後、フラッシュメモリへの書込み処理が開始され、フラッシュメモリ用バッファ７に保持されているデータがフラッシュメモリに供給される。従って、パケットに含まれていたデータをが、フラッシュメモリ用バッファ７に連結順で納められていれば、フラッシュメモリに書込まれたデータ（フラッシュメモリ上に再構築されたデータ）は、送信元で分割される前のデータに一致する。
【００４７】
又、フラッシュメモリ用バッファ７への転送順序については、通常、フラッシュメモリ用バッファ７に先頭から順番にデータが納まっていくような順序で転送されるが、パケットロスが発生した場合に、パケットロスしたパケットが再送されて来るのを待って、そのパケット以降の転送を行なうと転送時間が長くなる。従って、本発明では、パケットロスしたパケットが再送されて来るのを待たずに、それ以降の転送処理を先に行なっている。例えば、パケット３をパケットロスした場合、図６に示したようにパケット１及びパケット２の転送後、パケット３が再送されて来るのを待たずに、先にパケット４を転送し、その後にパケット３を転送している。
【００４８】
図７は、上述のような連結順及び転送順序で、フラッシュメモリ用バッファ７にパケット１、パケット２、パケット３及びパケット４に含まれるデータが納められていく過程を示している。ここで、最初に転送されるパケット１に含まれるデータは、フラッシュメモリ用バッファ７のデータ保持領域に先頭から順次納められる（図７（ａ））。その次に転送されるパケット２に含まれるデータは、パケット１に含まれるデータを納めた領域の後に順次納められる（図７（ｂ））。その次に転送されるパケット４に含まれるデータは、
パケット２に含まれるデータを納めた領域の後にパケット３に含まれるデータを納める領域を空け、その後に順次納められる（図７（ｃ））。その次に転送されるパケット３に含まれるデータは、パケット２に含まれるデータを納めた領域の後に順次納められる（図７（ｄ））。このように転送することにより、パケット１、パケット２、パケット３及びパケット４に含まれるデータは、連結順でフラッシュメモリ用バッファ７に納められ、転送時間はパケット３が再送されて来るのを待った場合よりも短くなる。この転送時間が短縮されることにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができる。
【００４９】
尚、上記の例では、連結順がパケット１、パケット２、パケット３、パケット４の順の場合に、パケット１、パケット２、パケット４、パケット３の順で転送を行なった場合について説明したが、連結順及び転送順序はこれに限定されることはない。又、パケットロスが発生しない場合であっても、転送可能なデータを優先的にパケット用バッファからフラッシュメモリ用バッファに転送すれば、上記と同様に転送時間を短くすることができる。但し、この場合も、フラッシュメモリ用バッファに全てのデータ納められたときに、そのデータが連結順に納められていなければならない。又、フラッシュメモリ用バッファのサイズは、フラッシュメモリのページ容量（例えば、５１２バイト、２ｋバイト等）に合わせて適宜設定される。
【００５０】
次に、フラッシュメモリ用バッファに保持されているデータをフラッシュメモリに書込む処理について説明する。この書込み処理は、フラッシュメモリ用バッファにフラッシュメモリの１ページ分のデータ納められた後に開始される。例えば、図８に示したブロック０に属するページに、複数のパケットに分割して送信されてくるデータが書込まれる。ここで、パケット１、パケット２、パケット３及びパケット４に含まれるデータをフラッシュメモリ用バッファ７に納めたときに、フラッシュメモリ用バッファ７に納められたデータが１ページ分のデータに達した場合、このデータをページ０に書込む。次に、パケット５、パケット６、パケット７及びパケット８に含まれるデータをフラッシュメモリ用バッファ７に納めたときに、フラッシュメモリ用バッファ７に納められたデータが１ページ分のデータに達した場合、このデータをページ１に書込む。このようにして、フラッシュメモリ用バッファ７に転送されたデータが順次フラッシュメモリに書込まれる。
【００５１】
尚、上記書込み処理では、フラッシュメモリ制御部内のレジスタに、以下のような書込み処理の設定がなされる。
１）内部コマンドとして内部書込みコマンドが、フラッシュメモリ制御部内の所定のレジスタに設定される。
２）書込み先のページのアドレスが、フラッシュメモリ制御部内の所定のレジスタに設定される。ここで、上記ページのアドレスは、物理ブロックアドレスにページ番号に相当する５ビット（３２のページを識別するためのビット）を付加することによって与えられる
その後、上記書込み処理の設定に基づいて、フラッシュメモリ制御部が処理を実行する。この処理が実行されると、内部バスを介してフラッシュメモリに内部書込みコマンドを実行するためのコマンド情報やアドレス情報等が供給される。又、フラッシュメモリ用バッファに保持されている書込みデータも、内部バスを介してフラッシュメモリに供給される。
【図面の簡単な説明】
【００５２】
【図１】図１は、本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。
【図２】図２は、フラッシュメモリを構成するメモリセルの構造を概略的に示す断面図である。
【図３】図３は、書込状態であるメモリセルを概略的に示す断面図である。
【図４】図４は、フラッシュメモリのアドレス空間の構造を概略的に示す図である。
【図５】図５は、パケットの受信を説明するための図である。
【図６】図６は、パケット用バッファからフラッシュメモリ用バッファへの転送処理を説明するための図である。
【図７】図７は、フラッシュメモリ用バッファにデータが納められていく過程を説明するための図である。
【図８】図８は、フラッシュメモリ用バッファに保持されているデータを、フラッシュメモリに書込む処理を説明するための図である。
【符号の説明】
【００５３】
１  フラッシュメモリシステム
２  メモリコントローラ
３  ネットワークインターフェース部
４  ネットワーク制御部
５  パケット用バッファ
６  フラッシュメモリ制御部
７  フラッシュメモリ用バッファ
８  フラッシュメモリ
９  ネットワーク
１０  送信元
１６  メモリセル
１７  Ｐ型半導体基板
１８  ソース拡散領域
１９  ドレイン拡散領域
２０  トンネル酸化膜
２１  フローティングゲート電極
２２  絶縁膜
２３  コントロールゲート電極
２４  チャネル
２５  ユーザ領域
２６  冗長領域
【図１】
2005141420.tif 000003
【図２】
2005141420.tif 000004
【図３】
2005141420.tif 000005
【図４】
2005141420.tif 000006
【図５】
2005141420.tif 000007
【図６】
2005141420.tif 000008
【図７】
2005141420.tif 000009
【図８】
2005141420.tif 000010