(57)【要約】【課題】ＵＳＢインターフェースを備えることによる回路規模の増大と処理効率の低下を抑えたフラッシュメモリの制御回路を提供する。【解決手段】ＵＳＢインターフェースを介してデータを送受信する送受信手段と、受信データを保持する受信データ保持手段と、前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、送信データを保持する送信データ保持手段と、フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、前記受信データ保持手段にフラッシュメモリの１ページ分のデータが保持された後に、フラッシュメモリへの書込み処理を開始し、前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの１ページ分のデータが読出された後に、送信を開始するように構成されている。【選択図】図1 
2005050172.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢインターフェースを介してデータを送受信する送受信手段と、
ＵＳＢインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
ＵＳＢインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記受信データ保持手段にフラッシュメモリの１ページ分のデータが保持された後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始するように構成されていることを特徴とするフラッシュメモリの制御回路。
【請求項２】
ＵＳＢインターフェースを介してデータを送受信する送受信手段と、
ＵＳＢインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
ＵＳＢインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの１ページ分のデータが読出された後に、前記送受信手段が送信を開始するように構成されていることを特徴とするフラッシュメモリの制御回路。
【請求項３】
ＵＳＢインターフェースを介してデータを送受信する送受信手段と、
ＵＳＢインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
ＵＳＢインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記受信データ保持手段にフラッシュメモリの１ページ分のデータが保持された後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始し、
前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの１ページ分のデータが読出された後に、前記送受信手段が送信を開始するように構成されていることを特徴とするフラッシュメモリの制御回路。
【請求項４】
前記ＵＳＢインターフェースが、ハイスピードモードで動作している場合は、前記受信データ保持手段が１パケット分のデータを保持した後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始し
前記ＵＳＢインターフェースが、フルスピードモードで動作している場合は、前記受信データ保持手段が８パケット分のデータを保持した後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始するように構成されていることを特徴とする請求項１又は３記載のフラッシュメモリの制御回路。
【請求項５】
前記受信データ保持手段の容量が前記フラッシュメモリの１ページ分のデータ容量と同一あることを特徴とする請求項１、３又は４記載のフラッシュメモリの制御回路。
【請求項６】
前記受信データ保持手段の容量が５１２バイトであることを特徴とする請求項１、３、４又は５記載のフラッシュメモリの制御回路。
【請求項７】
前記ＵＳＢインターフェースが、ハイスピードモードで動作している場合は、前記送信データ保持手段に保持されているデータを、５１２バイトのデータを含むパケットで送信し、
前記ＵＳＢインターフェースが、フルスピードモードで動作している場合は、前記送信データ保持手段に保持されているデータを、６４バイトのデータを含むパケットに分割して送信するように構成されていることを特徴とする請求項２又は３記載のフラッシュメモリの制御回路。
【請求項８】
前記送信データ保持手段の容量が前記フラッシュメモリの１ページ分のデータ容量と同一あることを特徴とする請求項２、３又は７記載のフラッシュメモリの制御回路。
【請求項９】
前記送信データ保持手段の容量が５１２バイトであることを特徴とする請求項２、３、７又は８記載のフラッシュメモリの制御回路。
【請求項１０】
請求項１乃至９記載のいずれかのフラッシュメモリの制御回路を備えたメモリコントローラ。
【請求項１１】
請求項１乃至９記載のいずれかのフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムに係り、特にＵＳＢインターフェース、又はこれに類するインターフェースを有するフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムに関する。
【背景技術】
【０００２】
近年、メモリカードやシリコンディスクなどのメモリシステムに用いられる半導体メモリとして、フラッシュメモリが用いられることが多い。このフラッシュメモリは不揮発性メモリの一種であり、電源が投入されているか否かに関わらず、データが保持されるていることが要求される。
【０００３】
ところで、上記のような装置に特に用いられることが多いＮＡＮＤ型フラッシュメモリは、メモリセルを消去状態（論理値の「１」）から書込状態（論理値の「０」）に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書込状態（論理値の「０」）から消去状態（論理値の「１」）に変化させる場合には、メモリセル単位で行うことができず、複数のメモリセルからなる所定の消去単位（ブロック）でしかこれを行うことができない。かかる一括消去動作は、一般的に「ブロック消去」と呼ばれている。
【０００４】
又、消去の処理単位であるブロックは、読出し及び書込みの処理単位であるページで構成されている（例えば、１ブロックが３２ページで構成されている。）。このページは、通常、５１２バイトのデータ領域で構成されており、ページに対する読出し及び書込みの処理は５１２バイト単位で行なわれる。従って、このようなフラッシュメモリに対する読出し及び書込みの処理は、５１２バイトのバッファ回路（例えば、５１２バイトのデータ領域を備えたＳＲＡＭで構成されている。）を介して行なわれる（以下、フラッシュメモリに対する読出し及び書込みの処理に使用されるバッファ回路をページバッファと言う。）。つまり、フラッシュメモリを備えたメモリシステム（以下、フラッシュメモリを備えたメモリシステムをフラッシュメモリシステムと言う。）では、ホストシステム側から書込まれるデータは、一旦ページバッファに保持され、ページバッファに保持されたデータがフラッシュメモリに書込まれる。一方、フラッシュメモリから読出されるデータは、一旦ページバッファに保持され、ページバッファに保持されたデータがホストシステム側に転送される。
【０００５】
又、近年、上記のようなメモリシステムをＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェースに接続した装置（例えば、ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓに準拠した装置）も提供されている。このＵＳＢに接続された装置では、ＵＳＢインターフェースを介して送受信されるデータは、一旦エンドポイントと呼ばれるバッファに保持される。つまり、ホストシステム側から送信されてくるデータを、ＵＳＢインターフェースを介して受信する場合、受信したデータは、受信用エンドポイントに保持され、ホストシステム側にＵＳＢインターフェースを介してデータを送信する場合、送信用エンドポイントに保持されているデータがホストシステム側に送信される。
【０００６】
従って、ＵＳＢインターフェースを備えたフラッシュメモリシステムでは、ホストシステム側からフラッシュメモリに書込まれるデータは、受信用エンドポイントからページバッファに転送され、ページバッファに転送されたデータがフラッシュメモリに書込まれる。又、フラッシュメモリからホストシステム側に読出されるデータは、ページバッファから送信用エンドポイントに転送され、送信用エンドポイントに転送されたデータがＵＳＢインターフェースを介してホストシステム側に送信される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のようなＵＳＢインターフェースを備えたフラッシュメモリシステムでは、ＵＳＢインターフェース用のバッファ回路（エンドポイント）と、フラッシュメモリに対する読出し及び書込みの処理に使用されるバッファ回路（ページバッファ）を設けていたので、回路規模が大きくなるという問題があった。又、ホストシステム側からデータの読出しや書込みの処理を行なう場合に、エンドポイントとページバッファ間での転送処理が発生するため、読出しや書込みの処理効率も良くなかった。
【０００８】
そこで、本発明は、ＵＳＢインターフェースを備えることによる回路規模の増大と処理効率の低下を抑えたフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る目的は、ＵＳＢインターフェースを介してデータを送受信する送受信手段と、
ＵＳＢインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
ＵＳＢインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記受信データ保持手段にフラッシュメモリの１ページ分のデータが保持された後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始するように構成されていることを特徴とするフラッシュメモリの制御回路によって達成される。更に、このフラッシュメモリの制御回路を備えたメモリコントローラ、又は、このフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステムによっても達成される。
【００１０】
本発明に係る目的は、ＵＳＢインターフェースを介してデータを送受信する送受信手段と、
ＵＳＢインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
ＵＳＢインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの１ページ分のデータが読出された後に、前記送受信手段が送信を開始するように構成されていることを特徴とするフラッシュメモリの制御回路によって達成される。更に、このフラッシュメモリの制御回路を備えたメモリコントローラ、又は、このフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステムによっても達成される。
【００１１】
本発明に係る目的は、ＵＳＢインターフェースを介してデータを送受信する送受信手段と、
ＵＳＢインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
ＵＳＢインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記受信データ保持手段にフラッシュメモリの１ページ分のデータが保持された後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始し、
前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの１ページ分のデータが読出された後に、前記送受信手段が送信を開始するように構成されていることを特徴とするフラッシュメモリの制御回路によって達成される。更に、このフラッシュメモリの制御回路を備えたメモリコントローラ、又は、このフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステムによっても達成される。
【００１２】
又、本発明によれば、前記ＵＳＢインターフェースが、ハイスピードモードで動作している場合は、前記受信データ保持手段が１パケット分のデータを保持した後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始し
前記ＵＳＢインターフェースが、フルスピードモードで動作している場合は、前記受信データ保持手段が８パケット分のデータを保持した後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始するように構成されていることが好ましい。
【００１３】
又、本発明によれば、前記受信データ保持手段の容量が前記フラッシュメモリの１ページ分のデータ容量と同一あることが好ましい。
【００１４】
又、本発明によれば、前記受信データ保持手段の容量が５１２バイトであることが好ましい。
【００１５】
又、本発明によれば、前記ＵＳＢインターフェースが、ハイスピードモードで動作している場合は、前記送信データ保持手段に保持されているデータを、５１２バイトのデータを含むパケットで送信し、
前記ＵＳＢインターフェースが、フルスピードモードで動作している場合は、前記送信データ保持手段に保持されているデータを、６４バイトのデータを含むパケットに分割して送信するように構成されていることが好ましい。
【００１６】
又、本発明によれば、前記送信データ保持手段の容量が前記フラッシュメモリの１ページ分のデータ容量と同一あることが好ましい。
【００１７】
又、本発明によれば、前記送信データ保持手段の容量が５１２バイトであることが好ましい。
【発明の効果】
【００１８】
本発明に係るフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムでは、ＵＳＢインターフェース用のバッファ回路（エンドポイント）を、フラッシュメモリに対する読出し及び書込みの処理に使用されるバッファ回路（ページバッファ）としても使用できるようにしたので、回路規模の増大を最低限に抑えることができる。
【００１９】
更に、バッファ回路とフラッシュメモリのデータ転送は、上記ＵＳＢインターフェースを介して送受信されるパケットのサイズ（パケットに含まれるデータ容量）によらず、フラッシュメモリのページサイズ（１ページ分のデータ容量）で処理されるので、パケットサイズの差異（送信速度の差異）による処理効率の低下も抑えることができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面に基づき、本発明の実施の形態について詳細に説明する。図１は、本発明にかかるフラッシュメモリシステム１を概略的に示すブロック図であり、フラッシュメモリ９と、メモリコントローラ２で構成されるフラッシュメモリシステム１を示している。
［フラッシュメモリの説明］
図１に示したフラッシュメモリ９は、ページ単位で読出し又は書込みを、ブロック単位で消去を実行する不揮発性メモリである。このフラッシュメモリ９を構成するメモリセルにデータが書込まれている状態と、書込まれていない状態について図２及び３を参照して説明する。
【００２１】
図２は、フラッシュメモリを構成するメモリセル１６の構造を概略的に示す断面図である。同図に示したように、メモリセル１６は、Ｐ型半導体基板１７に形成されたＮ型のソース拡散領域１８及びドレイン拡散領域１９と、ソース拡散領域１８とドレイン拡散領域１９との間のＰ型半導体基板１７を覆って形成されたトンネル酸化膜２０と、トンネル酸化膜２０上に形成されたフローティングゲ―ト電極２１と、フローティングゲート電極２１上に形成された絶縁膜２２と、絶縁膜２２上に形成されたコントロールゲ―ト電極２３とから構成される。このような構成を有するメモリセル１６が、フラッシュメモリ内で複数個直列に接続されている。
【００２２】
メモリセル１６は、フローティングゲート電極２１に電子が注入されているか否かによって、「消去状態（電子が蓄積されていない状態）」と「書込状態（電子が蓄積されている状態）」のいずれかの状態が示される。ここで、１つのメモリセル１６は１ビットのデータに対応し、メモリセル１６の「消去状態」が論理値の「１」のデータに対応し、メモリセル１６の「書込状態」が論理値の「０」のデータに対応する。
【００２３】
「消去状態」においては、フローティングゲート電極２１に電子が蓄積されていないため、コントロールゲート電極２３に読み出し電圧が印加されていないときには、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面にチャネルが形成されず、ソース拡散領域１８とドレイン拡散領域１９は電気的に絶縁される。一方、コントロールゲート電極２３に読み出し電圧が印加されると、ソース拡散領域１８とドレイン拡散領域１９との間のＰ型半導体基板１７の表面にチャネル（図示せず）が形成され、ソース拡散領域１８とドレイン拡散領域１９は、このチャネルによって電気的に接続される。
【００２４】
すなわち、「消去状態」においてはコントロールゲート電極２３に読み出し電圧が印加されていない状態では、ソース拡散領域１８とドレイン拡散領域１９とは電気的に絶縁され、コントロールゲート電極２３に読み出し電圧が印加された状態では、ソース拡散領域１８とドレイン拡散領域１９とは電気的に接続される。
【００２５】
図３は、「書込状態」であるメモリセル１６を概略的に示す断面図である。同図に示したように、「書込状態」とは、フローティングゲート電極２１に電子が蓄積されている状態を指す。フローティングゲート電極２１はトンネル酸化膜２０及び絶縁膜２２に挟まれているため、一旦、フローティングゲート電極２１に注入された電子は、きわめて長時間フローティングゲート電極２１内にとどまる。この「書込状態」においては、フローティングゲート電極２１に電子が蓄積されているので、コントロールゲート電極２３に読み出し電圧が印加されているか否かに関わらず、ソース拡散領域１８とドレイン拡散領域１９との間の、Ｐ型半導体基板１７の表面には、チャネル２４が形成される。したがって、「書込状態」においてはソース拡散領域１８とドレイン拡散領域１９とは、コントロ―ルゲート電極２３に読み出し電圧が印加されているか否かに関わらず、チャネル２４によって常に電気的に接続状態となる。
【００２６】
又、上記メモリセル１６が消去状態であるか書込状態であるかは、次のようにして読み出すことができる。メモリセル１６はフラッシュメモリ内で複数個直列に接続されている。この直列体の中で選択するメモリセル１６に低レベル電圧を印加し、それ以外のメモリセル１６のコントロールゲート電極２３に高レベル電圧を印加する。この状態でメモリセル１６の直列体が導通状態であるか否かの検出が行われる。その結果、この直列体が導通状態であれば、選択されたメモリセル１６は書込状態であると判断され、絶縁状態であれば、選択されたフラッシュメモリセル１６は消去状態であると判断される。このようにして、直列体に含まれる任意のメモリセル１６に保持されたデータが「０」であるのか「１」であるのかを読み出すことができる。
【００２７】
又、消去状態であるメモリセル１６を書込状態に変化させる場合は、コントロールゲート電極２３が高電位側となる高電圧が印加し、トンネル酸化膜２０を介してフローティングゲート電極２１へ電子を注入する。この際、ＦＮ（ファウラ―ノルトハイム）トンネル電流が流れフロ―ティングゲート電極２１に電子が注入される。一方、書込状態であるフラッシュメモリセル１６を消去状態に変化させる場合は、コントロールゲート電極２３が低電位側となる高電圧が印加し、トンネル酸化膜２０を介してフローティングゲート電極２１に蓄積された電子を排出する。
【００２８】
次に、図１に示したフラッシュメモリ９のメモリ構造を説明する。図４は、フラッシュメモリのメモリ構造を概略的に示す図である。図４に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位である「ページ」と、データの消去単位である「ブロック」で構成されている。
【００２９】
上記「ページ」は５１２バイトのデータ領域２５と１６バイトの冗長領域２６によって構成される。データ領域２５は、ホストシステム側から供給されるユーザデ―タが格納される領域であり、冗長領域２６は、エラーコレクションコード等の付加情報が格納される領域である。エラ―コレクションコードは、対応するデータ領域２５に格納されたデータに含まれる誤りを訂正するための付加情報であり、データ領域２５に格納されたデータに含まれる誤りが所定数以下であれば、これを訂正し、正しいデータとするために用いられる。
【００３０】
上記冗長領域２６には、エラーコレクションコードの他に、「対応論理ブロックアドレス」が格納されている。「対応論理ブロックアドレス」は、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが格納されていない場合は、「対応論理ブロックアドレス」も格納されていないので、「対応論理ブロックアドレス」が格納されているか否かで、そのブロックが消去済みブロックであるか否かを判断することができる。つまり、「対応論理ブロックアドレス」が格納されていない場合は消去済みブロックであると判断する。
【００３１】
又、上記「ブロック」は３２枚の「ページ」で構成されている。ここでフラッシュメモリはデータの上書きができないため、１枚の「ページ」のデータだけを書き変える場合であっても、その「ページ」が含まれる「ブロック」の、他の「ページ」のデータも、消去済みの「ブロック」に再度書込まなければならない。
【００３２】
又、上記のようにデータを書替える場合、書替えの後のデータは書替え前の「ブロック」と異なる「ブロック」に書込まれるため、ホストシステムから与えられるホストアドレスに基づくブロックアドレス（以下、ホストアドレスに基づくブロックアドレスを論理ブロックアドレスと言う。）と、この論理ブロックアドレスに対応するフラッシュメモリ内でのブロックアドレス（以下、フラッシュメモリ内でのブロックアドレスを物理ブロックアドレスと言う。）との対応関係は、データを書替える毎に動的に変化する。
【００３３】
このため、論理ブロックアドレスと物理ブロックアドレスの対応関係が書込まれたアドレス変換テーブルが必要となる。この「アドレス変換テーブル」は、「論理ブロックアドレス」と「物理ブロックアドレス」の対応関係を示したテーブルであり、上述のような理由により、フラッシュメモリに書込まれているデータが書替えられる毎に、その書替えに関わった部分の対応関係が更新される。
[メモリコントローラの説明]
図１のメモリコントローラ２は、ＵＳＢインターフェース部３と、エンドポイント制御部４と、コントロール用エンドポイント５と、受信用エンドポイント６と、送信用エンドポイント７と、フラッシュメモリ制御部８とから構成される。これら回路によって構成されるメモリコントローラ２は、一つの半導体チップ上に集積されている。
【００３４】
ここで、ＵＳＢインターフェース部３は、ホストシステム１０側から送信されてくるシリアル信号のデータを、パラレル信号に変換してエンドポイント制御部４側に渡し、エンドポイント制御部４から受取ったパラレル信号をシリアル信号に変換して、ホストシステム１０側に送信する回路である。
【００３５】
又、エンドポイント制御部４は、コントロール用エンドポイント５、受信用エンドポイント６、及び送信用エンドポイント７に保持されるデータの送受信を制御する回路である。このエンドポイント制御部４は、ＵＳＢインターフェース部３及びフラッシュメモリ制御部８とのインターフェース回路を備えており、このインターフェース回路を介してＵＳＢインターフェース部３及びフラッシュメモリ制御部８とのデータや情報の受渡しが行われる。
【００３６】
又、コントロール用エンドポイント５は、起動時に初期設定データ等を保持するバッファ回路であり、受信用エンドポイント６は、ホストシステム１０側から送信されてくる受信データを保持するバッファ回路であり、送信用エンドポイント７は、ホストシステム１０側に送信する送信データを保持するバッファ回路である。
【００３７】
又、フラッシュメモリ制御部８は下記のような回路で構成されている。
（１）フラッシュメモリ制御部８を構成する各回路の動作を制御する回路。
（２）内部コマンド（フラッシュメモリ９に与える内部コマンド）を実行する際に必要な情報が設定されるレジスタ及びこのレジスタに情報を設定する回路。
（３）フラッシュメモリ９の制御に必要なデータが一時的に格納される作業領域（複数のＳＲＡＭセルによって構成される。）。
（４）フラッシュメモリ９とデータ、アドレス情報、ステータス情報及び内部コマンド情報を授受する回路。
（５）フラッシュメモリ９に書込むデ―タに付加すべきエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する回路。
（６）エンドポイント制御部４、受信用エンドポイント６及び送信用エンドポイント７と情報やデータを授受する回路。
［フラッシュメモリに対する書込み処理の説明］
以下、ホストシステム側からの要求に基づいて、フラッシュメモリにデータを書込む処理を図面を参照して説明する。尚、ＵＳＢインターフェースを介したデータ送信には、ハイスピードモードとフルスピードモードがあり、ハイスピードモードにおける最大パケットサイズは５１２バイトであり、フルスピードモードにおける最大パケットサイズは６４バイトである。従って、パケットサイズが最大の場合、ハイスピードモードにおいては、１パケット分のデータが、フラッシュメモリの読出し及び書込みの処理単位である1ページ分のデータに相当するが、フルスピードモードにおいては、８パケット分のデータが、フラッシュメモリの読出し及び書込みの処理単位である1ページ分のデータに相当する。このような違いあるため、ハイスピードモードの場合とフルスピードモードの場合で異なる処理を行なっている。
【００３８】
まず、図５及び図６を参照して、ハイスピードモードの場合の処理について説明する。図５は、ホストシステム側から送信されてくるＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）及Ａパケット（以下、ハイスピードモードの場合のパケットをＡパケットと表記する。）と受信用エンドポイントに保持されるデータの関係を示している。ここで、ＣＢＷには、コマンド情報が含まれており、ホストシステム側からの書込み要求は、ＣＢＷによってフラッシュメモリシステム側に伝達される。つまり、書込み要求時には、ＣＢＷに書込みコマンドの情報が含まれている。又、Ａパケットには、フラッシュメモリに書込む５１２バイトのデータが含まれている。又、受信用エンドポイントはフラッシュメモリの１ページ分のデータを保持するため、５１２バイトに設定した。尚、受信用エンドポイントの容量については、フラッシュメモリのページ容量、パケットサイズ（データ容量）等を考慮して適宜設定することが好ましい。例えば、フラッシュメモリのページ容量、パケットサイズ（データ容量）の公倍数に相当する容量に、受信用エンドポイントの容量を設定することが考えられる。
【００３９】
図５に示したＣＢＷは、ＵＳＢインターフェース部でパラレル信号に変換されエンドポイント制御部による制御のもと、受信用エンドポイント６に保持される。この際、エンドポイント制御部は、ＣＢＷに含まれるフラグ等に基づき、受信したデータがＣＢＷであることを検知し、ＣＢＷを受信したことをフラッシュメモリ制御部に通知する。続いて、フラッシュメモリ制御部が、受信用エンドポイント６に保持されているＣＢＷを読出し、ＣＢＷに含まれるコマンド情報が書込みコマンドであることを認識する。
【００４０】
ＣＢＷを受信した後に送られてくるＡパケットは、ＵＳＢインターフェース部でパラレル信号に変換され、エンドポイント制御部による制御のもと、受信用エンドポイント６に保持される。この際、ＣＢＷが保持されていた部分にも、Ａパケットに含まれる書込みデータ（フラッシュメモリへの書込みデータ）が保持される。従って、受信用エンドポイント６には、フラッシュメモリへの書込みデータだけが保持される。尚、受信用エンドポイント６は５１２バイトのバッファ回路であり、Ａパケットには５１２バイトの書込みデータが含まれているので、受信用エンドポイント６には、フラッシュメモリの１ページ分のデータに相当するデータが保持される。
【００４１】
受信用エンドポイントに、フラッシュメモリの１ページ分のデータに相当するデータが保持されると、エンドポイント制御部からフラッシュメモリ制御部にその旨が通知され、受信用エンドポイントからフラッシュメモリへのデータ書込み処理が開始される。図６は、Ａパケットのデータが保持されている受信用エンドポイント６と、データの書込み先となるフラッシュメモリ９のページとの関係を示している。ここで、受信用エンドポイント６に保持されているデータは、フラッシュメモリ制御部による制御のもと、消去済ブロック内のページに書込まれる。又、数ページ分のデータがＡパケットで順次送られてくる場合、それらのデータを消去済ブロックのページ０から順次書込んでいく。（最初のデータをページ０に、次のデータをページ１というように順次書込んでいく。）。
【００４２】
次に、この書込み処理について説明する。書込み処理を行なう場合、フラッシュメモリ制御部内のレジスタに以下のような書込み処理の設定がなされる。
１）内部コマンドとして内部書込みコマンドがフラッシュメモリ制御部内の所定のレジスタに設定される。
２）書込み先のページアドレスがフラッシュメモリ制御部内の所定のレジスタに設定される。
続いて、上記書込み処理の設定に基づいて内部コマンドを実行される。この内部コマンドが実行されると、フラッシュメモリに内部コマンドを実行するための情報が供給される。その結果、受信用エンドポイント６に保持されているデータが、上記書込み処理の設定で指定したページアドレスのデータ領域に格納される。
【００４３】
次に、図７及び図８を参照して、フルスピードモードの場合の処理について説明する。図７は、ホストシステム側から送信されてくるＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）及Ｂパケット０〜７（以下、フルスピードモードの場合のパケットをＢパケットと表記する。）と受信用エンドポイントに保持されるデータの関係を示している。ここで、ＣＢＷには、ハイスピードモードの場合と同様に書込みコマンドの情報が含まれている。又、Ｂパケット０〜７には、フラッシュメモリに書込む６４バイトのデータが含まれている。又、受信用エンドポイントは、上記のように５１２バイトに設定されている。
【００４４】
図７に示したＣＢＷは、ＵＳＢインターフェース部でパラレル信号に変換されエンドポイント制御部による制御のもと、受信用エンドポイント６に保持される。この際、エンドポイント制御部は、ＣＢＷに含まれるフラグ等に基づき、受信したデータがＣＢＷであることを検知し、ＣＢＷを受信したことをフラッシュメモリ制御部に通知する。続いて、フラッシュメモリ制御部が、受信用エンドポイント６に保持されているＣＢＷを読出し、ＣＢＷに含まれるコマンド情報が読出しコマンドであることを認識する。
【００４５】
ここで、フルスピードモードの場合、Ｂパケット０〜７の各パケットに含まれるデータの容量は６４バイトなので、各パケットを受信する毎にエンドポイント制御部からフラッシュメモリ制御部に通知を行なうのではなく、受信用エンドポイント６に５１２バイトの書込みデータが保持されたときにエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれるように設定する。つまり、Ｂパケット０〜７の各パケットに含まれるデータの容量が６４バイトの場合には、受信用エンドポイント６に、８パケット分のデータが保持されたときにエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれるように設定（以下、８パケット分のデータが保持されたときにエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれる設定を受信データ蓄積モードと言う。）する。尚、ハイスピードモードとフルスピードモードに関係無く、常に、フラッシュメモリの１ページ分のデータが受信用エンドポイント６に保持されるまで、パケットに含まれるデータを受信用エンドポイント６に蓄積し続け、受信用エンドポイント６にフラッシュメモリの１ページ分のデータが保持された後にエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれるように回路を設計してもよい。
【００４６】
受信データ蓄積モードのもとＢパケット０〜７は、ＵＳＢインターフェース部でパラレル信号に変換されエンドポイント制御部による制御により、受信用エンドポイント６に順次蓄積されていく。この際、ＣＢＷが保持されていた部分にも、Ｂパケット０〜７に含まれる書込みデータ（フラッシュメモリへの書込みデータ）が保持される。
【００４７】
受信用エンドポイント６に、Ｂパケット０〜７の８パケット分のデータが保持されると（つまり、フラッシュメモリの１ページ分のデータに相当するデータが保持されると）、エンドポイント制御部からフラッシュメモリ制御部にその旨が通知され、受信用エンドポイントからフラッシュメモリへのデータ書込み処理が開始される。図８は、Ｂパケット０〜７のデータが保持されている受信用エンドポイント６と、データの書込み先となるフラッシュメモリ９のページとの関係を示している。ここで、受信用エンドポイント６に保持されているデータは、ハイスピードモードの場合と同様にフラッシュメモリ制御部による制御のもと、消去済ブロックのページに書込まれる。
【００４８】
又、フルスピードモードの場合の書込み処理も、ハイスピードモードの場合と同様に、フラッシュメモリ制御部内のレジスタに以下のような書込み処理の設定がなされる。
１）内部コマンドとして内部書込みコマンドがフラッシュメモリ制御部内の所定のレジスタに設定される。
２）書込み先のページアドレスがフラッシュメモリ制御部内の所定のレジスタに設定される。
続いて、上記書込み処理の設定に基づいて内部コマンドが実行される。この内部コマンドが実行されると、フラッシュメモリ９に内部コマンドを実行するための情報が供給される。その結果、受信用エンドポイント６に保持されているデータが、上記書込み処理の設定で指定したページアドレスのデータ領域に格納される。
【００４９】
次に、受信用エンドポイントからフラッシュメモリへのデータ書込み処理が完了したときに、その処理結果（正常に処理を完了したか否か等に関する情報）をホストシステム側に通知する処理について説明する。この処理では、フラッシュメモリ制御部が、書込み処理の完了後に、フラッシュメモリから書込み処理に関するステータス情報を受取り、このステータス情報に基づいてＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を作成する。
【００５０】
フラッシュメモリ制御部は、作成したＣＳＷを、図９に示したように送信用エンドポイント７に書込み、その旨をエンドポイント制御部に通知する。その後、エンドポイント制御部は、送信用エンドポイント７に書込まれているＣＳＷを、ＵＳＢインターフェース部を介して（ＵＳＢインターフェース部でシリアル信号に変換して）ホストシステム側に送信する。このＣＳＷには書込み処理結果に関する情報が含まれているので、ホストシステム側は、その情報に基づいて書込み処理結果を確認することができる。
［フラッシュメモリからの読出し処理の説明］
ホストシステム側からの読出し要求も、書込み要求の場合と同様に、ＣＢＷによってフラッシュメモリシステム側に伝達される。つまり、読出し要求時には、読出しコマンドの情報が含まれているＣＢＷが、ホストシステム側から送信されてくる。そして、このＣＢＷは、エンドポイント制御部による制御のもと、受信用エンドポイントに保持される。以下書込み要求の場合と同様に、エンドポイント制御部は、ＣＢＷに含まれるフラグ等に基づき、受信したデータがＣＢＷであることを検知し、ＣＢＷを受信したことをフラッシュメモリ制御部に通知する。続いて、フラッシュメモリ制御部が、受信用エンドポイントに保持されているＣＢＷを読出し、ＣＢＷに含まれるコマンド情報が読出しコマンドであることを認識する。
【００５１】
次に、ＣＢＷによってホストシステム側からフラッシュメモリシステム側に伝達された読出し要求に基づいて、フラッシュメモリからデータを読出す処理を、図面を参照して説明する。図１０は、ホストシステム側から読出しを要求されたデータが格納されているフラッシュメモリ９と、ホストシステム側に送信するデータを保持する送信用エンドポイント７の関係を示している。
【００５２】
この読出し処理では、フラッシュメモリ制御部の制御もと、フラッシュメモリ９の１ページ分のデータが、フラッシュメモリ９から送信用エンドポイント７へ読出される。この際、フラッシュメモリ９から読出されるページの物理アドレス（フラッシュメモリ９内でのアドレス）は、ホストシステム側から供給された論理アドレスとアドレス変換テーブルから得ることができる。
【００５３】
この読出し処理を行なう場合、フラッシュメモリ制御部内のレジスタに以下のような読出し処理の設定がなされる。
１）内部コマンドとして内部読出しコマンドがフラッシュメモリ制御部内の所定のレジスタに設定される。
２）送信用エンドポイント７へ読出すページのページアドレス（フラッシュメモリ９内でのアドレス）がフラッシュメモリ制御部内の所定のレジスタに設定される。
続いて、上記読出し処理の設定に基づいて内部コマンドが実行される。この内部コマンドが実行されると、フラッシュメモリ９に内部コマンドを実行するための情報が供給される。その結果、送信用エンドポイント７に、上記書込み処理の設定で指定したページアドレスのデータ領域に格納されているデータが読出される。
【００５４】
ここで、フルスピードモードの場合、送信用エンドポイント７からホストシステム側へ送信されるパケットに含まれるデータの容量は６４バイトであるが、フラッシュメモリの１ページ分のデータが送信用エンドポイント７に保持されるまで、送信用エンドポイント７からホストシステム側への送信を開始しないように設定（以下、８パケット分のデータが保持されたときにエンドポイント制御部からホストシステムへ送信される設定を送信データ蓄積モードと言う。）しておく。尚、ハイスピードモードとフルスピードモードに関係無く、常に、フラッシュメモリの１ページ分のデータが送信用エンドポイント７に保持されるまで、送信用エンドポイント７からホストシステム側への送信を開始しないように回路を設計してもよい。
【００５５】
又、ハイスピードモードの場合もフルスピードモードの場合も、送信用エンドポイント７に読出したデータに対するエラーコレクションコードの生成やエラー訂正が正常に行なわれた後に、送信用エンドポイント７からホストシステム側への送信を開始することが好ましい。
【００５６】
又、送信用エンドポイント７はフラッシュメモリの１ページ分のデータを保持するため、５１２バイトに設定した。尚、送信用エンドポイント７の容量については、フラッシュメモリのページ容量、パケットサイズ（データ容量）等を考慮して適宜設定することが好ましい。例えば、フラッシュメモリのページ容量、パケットサイズ（データ容量）の公倍数に相当する容量に、送信用エンドポイントの容量を設定することが考えられる。
【００５７】
次に、送信用エンドポイントからホストシステム側への送信処理を説明する。図１１は、ハイスピードモードの場合に、送信用エンドポイント７からホストシステム側へ送信されるパケットを示している。ハイスピードモードの場合、送信用エンドポイント７に保持されているデータが、１つのパケット（Ａパケット）でホストシステム側へ送信される。つまり、送信用エンドポイント７に保持されている５１２バイトのデータが、５１２バイトのデータを含んだＡパケットとして送信される。
【００５８】
図１２は、フルスピードモードの場合に、送信データ蓄積モードのもと、送信用エンドポイント７からホストシステム側へ送信されるパケットを示している。フルスピードモードの場合、送信用エンドポイント７に保持されているデータが、８つのパケット（Ｂパケット０〜７）でホストシステム側へ送信される。つまり、送信用エンドポイント７に保持されている５１２バイトのデータが、６４バイトのデータを含んだＢパケット０〜７として送信される。
【００５９】
尚、ホストシステム側への送信処理では、エンドポイント制御部の制御のもと、送信用エンドポイント７に保持されているデータが、ＵＳＢインターフェース部でシリアル信号に変換されて送信される。
【００６０】
又、送信用エンドポイントからホストシステム側への送信処理が完了した後に、読出し処理結果（正常に処理を完了したか否か等に関する情報）をホストシステム側に通知するためにＣＳＷを送信する。この処理では、書込み処理の場合と同様に（図９参照）、フラッシュメモリ制御部は、作成したＣＳＷを送信用エンドポイント７に書込み、送信用エンドポイント７に書込まれたＣＳＷが、ＵＳＢインターフェース部を介してホストシステム側に送信される。このＣＳＷには、ホストシステム側からの読出し要求で指示されたデータが、全て正常に読み出すことができたか否かに関する情報が含まれている。従って、ホストシステム側は、この情報に基づいて書込み処理結果を確認することができる。
【００６１】
以上に説明したフラッシュメモリシステムでは、ホストシステム側のインターフェースがＵＳＢインターフェースであったが、本発明に係るフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムは、ＵＳＢインターフェースに類するインターフェースを有するものにも適用することができる。例えば、ＵＳＢの受信用エンドポイント及び送信用エンドポイントに類するバッファを備えたものにも適用することができる。
【図面の簡単な説明】
【００６２】
【図１】図１は、本発明に係るフラッシュメモリシステム１を概略的に示すブロック図である。
【図２】図２は、フラッシュメモリ２を構成するメモリセル１６の構造を概略的に示す断面図である。
【図３】図３は、書込状態であるメモリセル１６を概略的に示す断面図である。
【図４】図４は、フラッシュメモリ２のアドレス空間の構造を概略的に示す図である。
【図５】図５は、ホストシステム側から送信されてくるＣＢＷ及びパケットと受信用エンドポイント６に保持されるデータの関係を示す図である。
【図６】図６は、受信用エンドポイント６と、データの書込み先となるフラッシュメモリ９のページとの関係を示す図である。
【図７】図７は、ホストシステム側から送信されてくるＣＢＷ及びパケットと受信用エンドポイント６に保持されるデータの関係を示す図である。
【図８】図８は、受信用エンドポイント６と、データの書込み先となるフラッシュメモリ９のページとの関係を示す図である。
【図９】図９は、送信用エンドポイント７とホストシステム側に送信されるＣＳＷの関係を示す図である。
【図１０】図１０は、送信用エンドポイント７と、送信用エンドポイントに読出されるデータが格納されているフラッシュメモリ９のページとの関係を示す図である。
【図１１】図１１は、ホストシステム側に送信されるパケットと送信用エンドポイント７に保持されるデータの関係を示す図である。
【図１２】図１２は、ホストシステム側に送信されるパケットと送信用エンドポイント７に保持されるデータの関係を示す図である。
【符号の説明】
【００６３】
１  フラッシュメモリシステム
２  メモリコントローラ
３  ＵＳＢインターフェース部
４  エンドポイント制御部
５  コントロール用エンドポイント
６  受信用エンドポイント
７  送信用エンドポイント
８  フラッシュメモリ制御部
９  フラッシュメモリ
１０  ホストシステム
１６  メモリセル
１７  Ｐ型半導体基板
１８  ソース拡散領域
１９  ドレイン拡散領域
２０  トンネル酸化膜
２１  フローティングゲート電極
２２  絶縁膜
２３  コントロールゲート電極
２４  チャネル
２５  データ領域
２６  冗長領域
【図２】
2005050172.tif 000003
【図３】
2005050172.tif 000004
【図４】
2005050172.tif 000005
【図５】
2005050172.tif 000006
【図６】
2005050172.tif 000007
【図７】
2005050172.tif 000008
【図１】
2005050172.tif 000009
【図８】
2005050172.tif 000010
【図９】
2005050172.tif 000011
【図１０】
2005050172.tif 000012
【図１１】
2005050172.tif 000013
【図１２】
2005050172.tif 000014