JP4470455B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 - Google Patents

メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Download PDF

Info

Publication number
JP4470455B2
JP4470455B2 JP2003376133A JP2003376133A JP4470455B2 JP 4470455 B2 JP4470455 B2 JP 4470455B2 JP 2003376133 A JP2003376133 A JP 2003376133A JP 2003376133 A JP2003376133 A JP 2003376133A JP 4470455 B2 JP4470455 B2 JP 4470455B2
Authority
JP
Japan
Prior art keywords
data
packet
flash memory
holding means
held
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003376133A
Other languages
English (en)
Other versions
JP2005141420A (ja
Inventor
剛 小柳津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TDK Corp
Original Assignee
TDK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TDK Corp filed Critical TDK Corp
Priority to JP2003376133A priority Critical patent/JP4470455B2/ja
Publication of JP2005141420A publication Critical patent/JP2005141420A/ja
Application granted granted Critical
Publication of JP4470455B2 publication Critical patent/JP4470455B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System (AREA)

Description

本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に係り、特にネットワークに接続して動作するメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。
近年、メモリカードやシリコンディスク等のメモリシステムに用いられる半導体メモリとして、フラッシュメモリが用いられることが多い。このフラッシュメモリは不揮発性メモリの一種であり、電源が投入されているか否かに関わらず、データが保持されていることが要求される。
ところで、上記のような装置に特に用いられることが多いNAND型フラッシュメモリは、メモリセルを消去状態(論理値の「1」)から書込状態(論理値の「0」)に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書込状態(論理値の「0」)から消去状態(論理値の「1」)に変化させる場合には、メモリセル単位で行うことができず、複数のメモリセルからなる所定の消去単位(ブロック)でしかこれを行うことができない。かかる一括消去動作は、一般的にブロック消去と呼ばれている。又、消去単位の単位であるブロックは、複数のページで構成されており、データの書込みや読出しは、ページ単位で行なわれる。
又、メモリカード等のメモリシステムは、通常、ホストシステムに接続され、ホストシステムの外部記憶装置として使用されているが、一方で、ネットワークに接続され、ネットワークを介してデータの授受を行なうディスクドライブ等の外部記憶装置も提案されている。例えば、特許文献1(特開平11−184708)には、ネットワークに接続して機能するプリンタ、スキャナ、ディスクドライブ、デジタルカメラ、及び集線装置等のネットワーク接続デバイスに関する技術が記載されている。
特開平11−184708
上記のようにフラッシュメモリを用いたメモリシステム(フラッシュメモリシステム)では、ページ単位で書込みや読出しを行なうため、通常、1ページ分のデータを保持することができるバッファに、フラッシュメモリに書込むデータを保持させ、このバッファに保持させたデータをフラッシュメモリに転送している。一方、ネットワークに接続してデータの授受を行なう外部記憶装置は、ネットワークを介して受取るデータであるパケットを保持するためのパケットバッファを備え、受信したパケットに含まれるデータは、一旦このパケットバッファに保持され、その後、他のバッファ等を介して記憶デバイスに書込まれる。
従って、ネットワークに接続して使用するフラッシュメモリシステムでは、パケットバッファに受信されたパケットに含まれるデータが、フラッシュメモリに書込むデータを保持するためのバッファ(以下、フラッシュメモリに書込むデータを保持するためのバッファをフラッシュメモリ用バッファと言う。)に転送され、その後、フラッシュメモリ用バッファに保持されたデータをフラッシュメモリに転送している。ここで、フラッシュメモリに書込むデータは、複数のデータに分割され、分割されたデータが先頭から順番に複数
のパケットで送信されてくるので、その順番で受信したパケットに含まれるデータを、フラッシュメモリ用バッファに転送する必要がある。
ところが、複数のパケットに分けてデータが送られてくるため、一部のパケットの受信を失敗した場合(以下、パケットの受信を失敗することをパケットロスと言う。)、フラッシュメモリ用バッファへのデータ転送は、パケットロスしたパケットが再送されてくるまで中断されてしまう。ネットワークに接続して使用する装置では、このパケットロスを回避することは困難であるため、パケットロスの度にフラッシュメモリ用バッファへのデータ転送を中断すると、フラッシュメモリにデータを書込む処理の処理効率が著しく低下する。
そこで、本発明は、パケットロス時の処理効率(書込み処理の処理効率)の低下を抑え、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的とする。
本発明に係る目的は、ネットワークを介して受信したパケットに含まれるデータ、前記パケット毎に保持するパケット保持手段と、
ページ毎に書込みが行われるフラッシュメモリに格納されるデータを、前記ページ毎に保持するデータ保持手段と、
前記パケット保持手段に保持されたデータを、前記データ保持手段、前記パケット毎に転送するデータ転送手段と、
前記データ保持手段に保持されデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
前記データ転送手段は、前記パケット保持手段に正常に保持された前記パケットに含まれるデータを、前記パケット保持手段に保持された順番で前記データ保持手段に転送し、更に、その転送データが保持される前記データ保持手段内の領域を、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定し、
前記データ供給手段は、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給を開始することを特徴とするメモリコントローラによって達成される。
つまり、前記パケットに含まれるデータを、受信した順番で前記フラッシュメモリ用バッファに転送することにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込んでいる。
又、本発明に係る目的は、前記メモリコントローラと、フラッシュメモリを備えることを特徴とするフラッシュメモリシステムによっても達成される。
又、本発明に係る目的は、ネットワークを介してパケットを受信する受信ステップと、
受信した前記パケットに含まれるデータを、前記パケット毎にパケット保持手段に保持する保持ステップと、
ページ毎に書込みが行われるフラッシュメモリに格納されるデータを前記ページ毎に保持するデータ保持手段に、前記パケット保持手段に保持されたデータを前記パケット毎に転送する転送ステップと、
前記データ保持手段保持されたデータを、書込みデータとしてフラッシュメモリに供給する供給ステップとを有し、
前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
前記転送ステップでは、前記パケット保持手段に正常に保持された前記パケットに含まれるデータが、前記パケット保持手段に保持された順番で前記データ保持手段に転送され、更に、その転送データが保持される前記データ保持手段内の領域が、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定され、
前記供給ステップでは、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給が開始されることを特徴とするフラッシュメモリの制御方法によっても達成される。
つまり、前記パケットに含まれるデータを、受信した順番で前記フラッシュメモリ用バッファに転送することにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込んでいる。
尚、上述の説明中で用いた連結順は、送信元で分割される前のデータと、受信側で再構築されたデータが一致するような連結の順序であり、又、付加的情報は、データに付加された識別番号、オフセット(データの位置を示すオフセット)等の情報である。
本発明によれば、パケットロス等によりパケットを受信する順序が、パケットに含まれるデータの連結順(送信元で分割される前のデータと、受信側で再構築されたデータが一致するような連結の順序)と異なっている場合に、転送可能なデータ(パケットに含まれていたデータ)を優先的にフラッシュメモリ用バッファに転送するようにしたので、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができる。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。図1は、本発明にかかるフラッシュメモリシステム1を概略的に示すブロック図であり、フラッシュメモリ8と、メモリコントローラ2で構成されるフラッシュメモリシステム1を示している。
[メモリコントローラの説明]
図1のメモリコントローラ2は、ネットワークインターフェース部3、ネットワーク制御部4、パケット用バッファ5、フラッシュメモリ制御部6、及びフラッシュメモリ用バッファ7で構成されている。又、これらの回路によって構成されるメモリコントローラ2は、一つの半導体チップ上に集積されている。
ここで、ネットワークインターフェース部3は、ネットワーク上を送信されてくるベースバンド符号化された信号(例えば、イーサネット(登録商標)に準拠したネットワークであればマンチェスターコード化された信号)を、ネットワーク制御部4やフラッシュメモリ制御部6で処理することができるデジタル信号(デジタルデータを論理値の0と1に対応させた信号)に変換している。尚、無線LANを介してネットワークに接続する場合には、ネットワークインターフェース部3は変調された信号(例えば、直交周波数分割多重変調された信号)を受信して復調する回路等に置換えられる。
又、ネットワーク制御部4は、パケットの受信又は送信を制御するブロックであり、受信したパケットに含まれるデータはネットワークインターフェース部3を介してパケット用バッファ5に保持される。又、ネットワーク制御部4は、パケット用バッファ5に保持したデータを、パケットに含まれる付加的情報に基づいて、フラッシュメモリ用バッファ7に転送する。ここで、付加的情報としては、パケットのサイズや種類等の多種の情報があるが、フラッシュメモリ用バッファ7への転送時は、複数のパケットに分割されたデータを連結させるための情報(以下、複数のパケットに分割されたデータを連結させるための情報を再構築情報と言う。)、例えば、データの識別番号、データの位置を示すオフセット等が参照される。尚、パケットの受信を失敗した場合(以下、パケットの受信を失敗することをパケットロスと言う。)は、ネットワーク制御部4の制御のもと、パケットの送信元に対して再送要求(受信を失敗したパケットの再送を求める要求)を送信する。
又、パケット用バッファ5は、送受信するパケットのデータを保持するためのバッファであり、フラッシュメモリ用バッファ7は、フラッシュメモリ8に書込むデータ又はフラッシュメモリ8から読出したデータを保持するためのバッファである。これらのバッファは、SRAM(Static Random Access Memory)によって構成されている。
又、フラッシュメモリ制御部6は下記のような回路で構成されている。
(1)フラッシュメモリ制御部6を構成する各回路の動作を制御する回路。
(2)内部コマンド(フラッシュメモリ8に与える内部コマンド)を実行する際に必要な情報が設定されるレジスタ及びこのレジスタに情報を設定する回路。
(3)フラッシュメモリ8の制御に必要なデータが一時的に格納されるSRAMで構成された作業領域。
(4)フラッシュメモリ8とデータ、アドレス情報、ステータス情報及び内部コマンド情報を授受するインターフェース回路。
(5)フラッシュメモリ8に書込むデ―タに付加すべきエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する回路。
[メモリセルの説明]
次に、図2及び3参照して図1に示したフラッシュメモリ8を構成するメモリセル16の具体的な構造について説明する。
図2は、フラッシュメモリを構成するメモリセル16の構造を概略的に示す断面図である。同図に示したように、メモリセル16は、P型半導体基板17に形成されたN型のソース拡散領域18及びドレイン拡散領域19と、ソース拡散領域18とドレイン拡散領域19との間のP型半導体基板17を覆って形成されたトンネル酸化膜20と、トンネル酸化膜20上に形成されたフローティングゲ―ト電極21と、フローティングゲート電極21上に形成された絶縁膜22と、絶縁膜22上に形成されたコントロールゲ―ト電極23とから構成される。このような構成を有するメモリセル16が、フラッシュメモリ内で複数個直列に接続されている。
メモリセル16は、フローティングゲート電極21に電子が注入されているか否かによって、「消去状態(電子が蓄積されていない状態)」と「書込状態(電子が蓄積されている状態)」のいずれかの状態が示される。ここで、1つのメモリセル16は1ビットのデータに対応し、メモリセル16の「消去状態」が論理値の「1」のデータに対応し、メモリセル16の「書込状態」が論理値の「0」のデータに対応する。
「消去状態」においては、フローティングゲート電極21に電子が蓄積されていないため、コントロールゲート電極23に読出し電圧(高レベル電圧)が印加されていないときには、ソース拡散領域18とドレイン拡散領域19との間の、P型半導体基板17の表面にチャネルが形成されず、ソース拡散領域18とドレイン拡散領域19は電気的に絶縁される。一方、コントロールゲート電極23に読出し電圧(高レベル電圧)が印加されると、ソース拡散領域18とドレイン拡散領域19との間の、P型半導体基板17の表面にチャネル(図示せず)が形成され、ソース拡散領域18とドレイン拡散領域19は、このチャネルによって電気的に接続される。
すなわち、「消去状態」においてはコントロールゲート電極23に読出し電圧(高レベル電圧)が印加されていない状態では、ソース拡散領域18とドレイン拡散領域19とは電気的に絶縁され、コントロールゲート電極23に読出し電圧(高レベル電圧)が印加された状態では、ソース拡散領域18とドレイン拡散領域19とは電気的に接続される。
図3は、「書込状態」であるメモリセル16を概略的に示す断面図である。同図に示したように、「書込状態」とは、フローティングゲート電極21に電子が蓄積されている状態を指す。フローティングゲート電極21はトンネル酸化膜20及び絶縁膜22に挟まれているため、一旦、フローティングゲート電極21に注入された電子は、きわめて長時間フローティングゲート電極21内にとどまる。この「書込状態」においては、フローティングゲート電極21に電子が蓄積されているので、コントロールゲート電極23に読出し電圧(高レベル電圧)が印加されているか否かに関わらず、ソース拡散領域18とドレイン拡散領域19との間の、P型半導体基板17の表面にはチャネル24が形成される。したがって、「書込状態」においてはソース拡散領域18とドレイン拡散領域19とは、コントロ―ルゲート電極23に読出し電圧(高レベル電圧)が印加されているか否かに関わらず、チャネル24によって常に電気的に接続状態となる。
又、上記メモリセル16が消去状態であるか書込状態であるかは、次のようにして読み出すことができる。メモリセル16はフラッシュメモリ内で複数個直列に接続されている。この直列体の中で選択するメモリセル16に低レベル電圧を印加し、それ以外のメモリセル16のコントロールゲート電極23に高レベル電圧を印加する。この状態でメモリセル16の直列体が導通状態であるか否かの検出が行われる。その結果、この直列体が導通状態であれば、選択されたメモリセル16は書込状態であると判断され、絶縁状態であれば、選択されたフラッシュメモリセル16は消去状態であると判断される。このようにして、直列体に含まれる任意のメモリセル16に保持されたデータが「0」であるのか「1」であるのかを読み出すことができる。
又、消去状態であるメモリセル16を書込状態に変化させる場合は、コントロールゲート電極23が高電位側となる高電圧を印加し、トンネル酸化膜20を介してフローティングゲート電極21へ電子を注入する。この際、FN(ファウラ―ノルトハイム)トンネル電流が流れフロ―ティングゲート電極21に電子が注入される。一方、書込状態であるフラッシュメモリセル16を消去状態に変化させる場合は、コントロールゲート電極23が低電位側となる高電圧を印加し、トンネル酸化膜20を介してフローティングゲート電極21に蓄積された電子を排出する。
[フラッシュメモリのメモリ構造の説明]
次に、フラッシュメモリのメモリ構造を説明する。図4は、フラッシュメモリのメモリ構造を概略的に示す図である。図4に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
上記ページは、例えば512バイトのユーザ領域25と、16バイトの冗長領域26によって構成される。ユーザ領域25は、主に、ホストシステム4から供給されるデ―タが格納される領域であり、冗長領域26は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加情報が格納される領域である。
エラ―コレクションコードは、ユーザ領域25に格納されたデータに含まれる誤りを訂正するための付加情報であり、ECCブロックによって生成される。このエラ―コレクションコードに基づき、ユーザ領域25に格納されたデータに含まれる誤りが所定数以下であれば、その誤りが訂正される。
対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することができる。つまり、対応論理ブロックアドレスが格納されていない場合は消去済ブロックであると判断する。
ブロックステータスは、そのブロックが不良ブロック(正常にデータの書込み等を行なうことができないブロック)であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
[論理ブロックアドレスと物理ブロックアドレスの説明]
フラッシュメモリはデータの上書きができないため、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新データ(書替後のデータ)を書込み、旧データ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なわなければならない。この際、消去はブロック単位で処理されるため、旧データ(書替前のデータ)が書込まれていたページが含まれるブロックの、全ページのデータが消去されてしまう。従って、データの書替えを行なう場合、書替えるページが含まれるブロックの、他のページのデータについても、消去済ブロックに移動させる処理が必要となる。
上記のようにデータを書替える場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム側から与えられる論理ブロックアドレスと、フラッシュメモリ内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。このため、論理ブロックアドレスと物理ブロックアドレスの対応関係を示したアドレス変換テーブルが必要となる。尚、このアドレス変換テーブルは、フラッシュメモリの冗長領域に書込まれている対応論理ブロックアドレスに基づいて作成され、データが書替えられる毎に、その書替えに関わった部分の対応関係が更新される。
[本発明に係る処理の説明]
本発明に係るフラッシュメモリシステムは、ネットワークに接続して動作する装置であり、ネットワーク介して受信したパケットに含まれるデータを、フラッシュメモリに書込んでいる。この書込み処理を、図面を参照して説明する。尚、本発明は、パケットロスが発生したときの処理効率の低下を改善したものなので、パケットロスが発生した場合の処理について説明する
図5を参照して、パケットを受信する処理について説明する。この処理では、ネットワーク制御部4の制御のもと、受信したパケットは、ネットワークインターフェース部3で
、ネットワーク制御部4やフラッシュメモリ制御部6で処理することができるデジタル信号に変換され、パケットに含まれる実質的なデータ部分はパケット用バッファ5に保持される。この際、パケットに含まれる付加的情報(実質的なデータ以外の部分)のうち、再構築情報等の情報はネットワーク制御部4内のレジスタや作業領域に保持される。
図5は、順次送られてくるパケットを、パケット1から順番に受信していき、パケット3のときにパケットロスが発生した場合を示しており、パケットロスが発生した場合、送信元に対して再送要求が送信される。ここでは、パケット3の再送を要求する再送要求が、ネットワーク制御部4の制御のもと、ネットワークインターフェース部3を介して送出される。この再送要求を受信した送信元10が、パケット4の送信後にパケット3を再送すれば、フラッシュメモリシステム側は、パケット1、パケット2、パケット4、パケット3の順番でパケットを受信することになる。尚、5以上のパケットに分割して送信されてくる場合は、再送されてきたパケット3の後に、それ以降のパケット(例えば、パケット5、パケット6等)を受信することになる。
又、ネットワークを介したデータ送信では、データを複数のパケットに分割して送信するので、受信側が複数のパケットに含まれているデータを連結して、データを再構築する。この再構築では、送信元で分割される前のデータと、受信側で再構築されたデータが一致するような順序で、各パケットに含まれているデータが連結される。以下、送信元で分割される前のデータと、受信側で再構築されたデータが一致するような連結の順序を連結順と言う。又、この連結順は、再構築情報に基づいて決定される。尚、通常、送信元10は、分割したデータを先頭から順番にパケットとして送出するので、パケットロスが発生しなければ、受信側は受信したパケットに含まれるデータを、受信した順番で連結していくことになるが、パケットロスが発生した場合には、受信の順番と連結していく順番が一致しない場合が生じる。
又、パケット用バッファ5に保持されたデータ(パケットに含まれていたデータ)は、図6に示したようにパケット用バッファ5からフラッシュメモリ用バッファ7に転送される。この転送処理で、フラッシュメモリ用バッファ7にフラッシュメモリの1ページ分のデータが保持された後、フラッシュメモリへの書込み処理が開始され、フラッシュメモリ用バッファ7に保持されているデータがフラッシュメモリに供給される。従って、パケットに含まれていたデータをが、フラッシュメモリ用バッファ7に連結順で納められていれば、フラッシュメモリに書込まれたデータ(フラッシュメモリ上に再構築されたデータ)は、送信元で分割される前のデータに一致する。
又、フラッシュメモリ用バッファ7への転送順序については、通常、フラッシュメモリ用バッファ7に先頭から順番にデータが納まっていくような順序で転送されるが、パケットロスが発生した場合に、パケットロスしたパケットが再送されて来るのを待って、そのパケット以降の転送を行なうと転送時間が長くなる。従って、本発明では、パケットロスしたパケットが再送されて来るのを待たずに、それ以降の転送処理を先に行なっている。例えば、パケット3をパケットロスした場合、図6に示したようにパケット1及びパケット2の転送後、パケット3が再送されて来るのを待たずに、先にパケット4を転送し、その後にパケット3を転送している。
図7は、上述のような連結順及び転送順序で、フラッシュメモリ用バッファ7にパケット1、パケット2、パケット3及びパケット4に含まれるデータが納められていく過程を示している。ここで、最初に転送されるパケット1に含まれるデータは、フラッシュメモリ用バッファ7のデータ保持領域に先頭から順次納められる(図7(a))。その次に転送されるパケット2に含まれるデータは、パケット1に含まれるデータを納めた領域の後に順次納められる(図7(b))。その次に転送されるパケット4に含まれるデータは、
パケット2に含まれるデータを納めた領域の後にパケット3に含まれるデータを納める領域を空け、その後に順次納められる(図7(c))。その次に転送されるパケット3に含まれるデータは、パケット2に含まれるデータを納めた領域の後に順次納められる(図7(d))。このように転送することにより、パケット1、パケット2、パケット3及びパケット4に含まれるデータは、連結順でフラッシュメモリ用バッファ7に納められ、転送時間はパケット3が再送されて来るのを待った場合よりも短くなる。この転送時間が短縮されることにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができる。
尚、上記の例では、連結順がパケット1、パケット2、パケット3、パケット4の順の場合に、パケット1、パケット2、パケット4、パケット3の順で転送を行なった場合について説明したが、連結順及び転送順序はこれに限定されることはない。又、パケットロスが発生しない場合であっても、転送可能なデータを優先的にパケット用バッファからフラッシュメモリ用バッファに転送すれば、上記と同様に転送時間を短くすることができる。但し、この場合も、フラッシュメモリ用バッファに全てのデータ納められたときに、そのデータが連結順に納められていなければならない。又、フラッシュメモリ用バッファのサイズは、フラッシュメモリのページ容量(例えば、512バイト、2kバイト等)に合わせて適宜設定される。
次に、フラッシュメモリ用バッファに保持されているデータをフラッシュメモリに書込む処理について説明する。この書込み処理は、フラッシュメモリ用バッファにフラッシュメモリの1ページ分のデータ納められた後に開始される。例えば、図8に示したブロック0に属するページに、複数のパケットに分割して送信されてくるデータが書込まれる。ここで、パケット1、パケット2、パケット3及びパケット4に含まれるデータをフラッシュメモリ用バッファ7に納めたときに、フラッシュメモリ用バッファ7に納められたデータが1ページ分のデータに達した場合、このデータをページ0に書込む。次に、パケット5、パケット6、パケット7及びパケット8に含まれるデータをフラッシュメモリ用バッファ7に納めたときに、フラッシュメモリ用バッファ7に納められたデータが1ページ分のデータに達した場合、このデータをページ1に書込む。このようにして、フラッシュメモリ用バッファ7に転送されたデータが順次フラッシュメモリに書込まれる。
尚、上記書込み処理では、フラッシュメモリ制御部内のレジスタに、以下のような書込み処理の設定がなされる。
1)内部コマンドとして内部書込みコマンドが、フラッシュメモリ制御部内の所定のレジスタに設定される。
2)書込み先のページのアドレスが、フラッシュメモリ制御部内の所定のレジスタに設定される。ここで、上記ページのアドレスは、物理ブロックアドレスにページ番号に相当する5ビット(32のページを識別するためのビット)を付加することによって与えられる
その後、上記書込み処理の設定に基づいて、フラッシュメモリ制御部が処理を実行する。この処理が実行されると、内部バスを介してフラッシュメモリに内部書込みコマンドを実行するためのコマンド情報やアドレス情報等が供給される。又、フラッシュメモリ用バッファに保持されている書込みデータも、内部バスを介してフラッシュメモリに供給される。
図1は、本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。 図2は、フラッシュメモリを構成するメモリセルの構造を概略的に示す断面図である。 図3は、書込状態であるメモリセルを概略的に示す断面図である。 図4は、フラッシュメモリのアドレス空間の構造を概略的に示す図である。 図5は、パケットの受信を説明するための図である。 図6は、パケット用バッファからフラッシュメモリ用バッファへの転送処理を説明するための図である。 図7は、フラッシュメモリ用バッファにデータが納められていく過程を説明するための図である。 図8は、フラッシュメモリ用バッファに保持されているデータを、フラッシュメモリに書込む処理を説明するための図である。
符号の説明
1 フラッシュメモリシステム
2 メモリコントローラ
3 ネットワークインターフェース部
4 ネットワーク制御部
5 パケット用バッファ
6 フラッシュメモリ制御部
7 フラッシュメモリ用バッファ
8 フラッシュメモリ
9 ネットワーク
10 送信元
16 メモリセル
17 P型半導体基板
18 ソース拡散領域
19 ドレイン拡散領域
20 トンネル酸化膜
21 フローティングゲート電極
22 絶縁膜
23 コントロールゲート電極
24 チャネル
25 ユーザ領域
26 冗長領域

Claims (3)

  1. ネットワークを介して受信したパケットに含まれるデータ、前記パケット毎に保持するパケット保持手段と、
    ページ毎に書込みが行われるフラッシュメモリに格納されるデータを、前記ページ毎に保持するデータ保持手段と、
    前記パケット保持手段に保持されたデータを、前記データ保持手段、前記パケット毎に転送するデータ転送手段と、
    前記データ保持手段に保持されデータを書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
    前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
    前記データ転送手段は、前記パケット保持手段に正常に保持された前記パケットに含まれるデータを、前記パケット保持手段に保持された順番で前記データ保持手段に転送し、更に、その転送データが保持される前記データ保持手段内の領域を、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定し、
    前記データ供給手段は、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給を開始することを特徴とするメモリコントローラ。
  2. 請求項1記載のメモリコントローラと、フラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。
  3. ネットワークを介してパケットを受信する受信ステップと、
    受信した前記パケットに含まれるデータを、前記パケット毎にパケット保持手段に保持する保持ステップと、
    ページ毎に書込みが行われるフラッシュメモリに格納されるデータを前記ページ毎に保持するデータ保持手段に、前記パケット保持手段に保持されたデータを前記パケット毎に転送する転送ステップと、
    前記データ保持手段保持されたデータを、書込みデータとしてフラッシュメモリに供給する供給ステップとを有し、
    前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
    前記転送ステップでは、前記パケット保持手段に正常に保持された前記パケットに含まれるデータが、前記パケット保持手段に保持された順番で前記データ保持手段に転送され、更に、その転送データが保持される前記データ保持手段内の領域が、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定され、
    前記供給ステップでは、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給が開始されることを特徴とするフラッシュメモリの制御方法。
JP2003376133A 2003-11-05 2003-11-05 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Expired - Fee Related JP4470455B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003376133A JP4470455B2 (ja) 2003-11-05 2003-11-05 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003376133A JP4470455B2 (ja) 2003-11-05 2003-11-05 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Publications (2)

Publication Number Publication Date
JP2005141420A JP2005141420A (ja) 2005-06-02
JP4470455B2 true JP4470455B2 (ja) 2010-06-02

Family

ID=34687300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003376133A Expired - Fee Related JP4470455B2 (ja) 2003-11-05 2003-11-05 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Country Status (1)

Country Link
JP (1) JP4470455B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789019B2 (en) 2017-06-30 2020-09-29 Samsung Electronics Co., Ltd. Storage device capable of managing jobs without intervention of a processor

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100528482B1 (ko) * 2003-12-31 2005-11-15 삼성전자주식회사 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템
US9898402B2 (en) 2011-07-01 2018-02-20 Micron Technology, Inc. Unaligned data coalescing
GB201206409D0 (en) 2012-03-26 2012-05-23 Continental Automotive Systems Method and apparatus to reduct flash memory device programming time over a C.A.N. bus
EP2845105A4 (en) * 2012-05-01 2015-12-23 Hewlett Packard Development Co PREPARING DATA FOR RECORDING IN NON-VOLATILE MEMORY
US9064562B2 (en) 2013-04-03 2015-06-23 Hewlett-Packard Development Company, L.P. Memory module having multiple memory banks selectively connectable to a local memory controller and an external memory controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789019B2 (en) 2017-06-30 2020-09-29 Samsung Electronics Co., Ltd. Storage device capable of managing jobs without intervention of a processor

Also Published As

Publication number Publication date
JP2005141420A (ja) 2005-06-02

Similar Documents

Publication Publication Date Title
JP4073799B2 (ja) メモリシステム
US7290082B2 (en) Flash memory system and data writing method thereof
TWI457937B (zh) 固態磁碟驅動和管理記憶體裝置之方法
JP3802411B2 (ja) 不揮発性半導体記憶装置のデータコピー方法
JP2005108304A (ja) 半導体記憶装置及びその制御方法
KR20040038709A (ko) 비-휘발성 메모리 시스템에서 데이터의 완전성을 관리하기위한 방법 및 장치
KR100823175B1 (ko) 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것을 포함한 메모리 시스템
KR20070049603A (ko) 파이프라인 데이터 재배치 및 개선된 칩 구조
WO2002052416A1 (fr) Systeme de memoire flash
JP2005284700A (ja) メモリカード
JP2005190288A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4470455B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US8832407B2 (en) Communication device with storage function
JP2004272476A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2013131095A (ja) メモリコントローラ、記憶装置およびメモリ制御方法
JP2010128697A (ja) メモリシステム
JP4282401B2 (ja) フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム
KR101398403B1 (ko) 레거시 호스트들을 위한 방법 및 메모리 시스템
JP2005018490A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP2005190289A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006244017A (ja) データコピー方法
JP4213053B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4282410B2 (ja) フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム
US8886989B2 (en) Memory device
JP3999564B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4470455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees