Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
JP4282401B2
JP4282401B2 JP2003282199A JP2003282199A JP4282401B2 JP 4282401 B2 JP4282401 B2 JP 4282401B2 JP 2003282199 A JP2003282199 A JP 2003282199A JP 2003282199 A JP2003282199 A JP 2003282199A JP 4282401 B2 JP4282401 B2 JP 4282401B2
Authority
JP
Japan
Prior art keywords
flash memory
data
transmission
received
cbw
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
JP2003282199A
Other languages
English (en)
Other versions
JP2005050172A (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 JP2003282199A priority Critical patent/JP4282401B2/ja
Publication of JP2005050172A publication Critical patent/JP2005050172A/ja
Application granted granted Critical
Publication of JP4282401B2 publication Critical patent/JP4282401B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

本発明は、フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムに係り、特にUSBインターフェース、又はこれに類するインターフェースを有するフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムに関する。
近年、メモリカードやシリコンディスクなどのメモリシステムに用いられる半導体メモリとして、フラッシュメモリが用いられることが多い。このフラッシュメモリは不揮発性メモリの一種であり、電源が投入されているか否かに関わらず、データが保持されるていることが要求される。
ところで、上記のような装置に特に用いられることが多いNAND型フラッシュメモリは、メモリセルを消去状態(論理値の「1」)から書込状態(論理値の「0」)に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書込状態(論理値の「0」)から消去状態(論理値の「1」)に変化させる場合には、メモリセル単位で行うことができず、複数のメモリセルからなる所定の消去単位(ブロック)でしかこれを行うことができない。かかる一括消去動作は、一般的に「ブロック消去」と呼ばれている。
又、消去の処理単位であるブロックは、読出し及び書込みの処理単位であるページで構成されている(例えば、1ブロックが32ページで構成されている。)。このページは、通常、512バイトのデータ領域で構成されており、ページに対する読出し及び書込みの処理は512バイト単位で行なわれる。従って、このようなフラッシュメモリに対する読出し及び書込みの処理は、512バイトのバッファ回路(例えば、512バイトのデータ領域を備えたSRAMで構成されている。)を介して行なわれる(以下、フラッシュメモリに対する読出し及び書込みの処理に使用されるバッファ回路をページバッファと言う。)。つまり、フラッシュメモリを備えたメモリシステム(以下、フラッシュメモリを備えたメモリシステムをフラッシュメモリシステムと言う。)では、ホストシステム側から書込まれるデータは、一旦ページバッファに保持され、ページバッファに保持されたデータがフラッシュメモリに書込まれる。一方、フラッシュメモリから読出されるデータは、一旦ページバッファに保持され、ページバッファに保持されたデータがホストシステム側に転送される。
又、近年、上記のようなメモリシステムをUSB(Universal Serial Bus)インターフェースに接続した装置(例えば、USB Mass Storage Classに準拠した装置)も提供されている。このUSBに接続された装置では、USBインターフェースを介して送受信されるデータは、一旦エンドポイントと呼ばれるバッファに保持される。つまり、ホストシステム側から送信されてくるデータを、USBインターフェースを介して受信する場合、受信したデータは、受信用エンドポイントに保持され、ホストシステム側にUSBインターフェースを介してデータを送信する場合、送信用エンドポイントに保持されているデータがホストシステム側に送信される。
従って、USBインターフェースを備えたフラッシュメモリシステムでは、ホストシステム側からフラッシュメモリに書込まれるデータは、受信用エンドポイントからページバッファに転送され、ページバッファに転送されたデータがフラッシュメモリに書込まれる。又、フラッシュメモリからホストシステム側に読出されるデータは、ページバッファから送信用エンドポイントに転送され、送信用エンドポイントに転送されたデータがUSBインターフェースを介してホストシステム側に送信される。
上記のようなUSBインターフェースを備えたフラッシュメモリシステムでは、USBインターフェース用のバッファ回路(エンドポイント)と、フラッシュメモリに対する読出し及び書込みの処理に使用されるバッファ回路(ページバッファ)を設けていたので、回路規模が大きくなるという問題があった。又、ホストシステム側からデータの読出しや書込みの処理を行なう場合に、エンドポイントとページバッファ間での転送処理が発生するため、読出しや書込みの処理効率も良くなかった。
そこで、本発明は、USBインターフェースを備えることによる回路規模の増大と処理効率の低下を抑えたフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムを提供することを目的とする。
本発明に係る目的は、USBインターフェースを介してデータを送受信する送受信手段と、
USBインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
USBインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記受信データ保持手段にフラッシュメモリの1ページ分のデータが保持された後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始するように構成されていることを特徴とするフラッシュメモリの制御回路によって達成される。更に、このフラッシュメモリの制御回路を備えたメモリコントローラ、又は、このフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステムによっても達成される。
本発明に係る目的は、USBインターフェースを介してデータを送受信する送受信手段と、
USBインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
USBインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの1ページ分のデータが読出された後に、前記送受信手段が送信を開始するように構成されていることを特徴とするフラッシュメモリの制御回路によって達成される。更に、このフラッシュメモリの制御回路を備えたメモリコントローラ、又は、このフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステムによっても達成される。
本発明に係る目的は、USBインターフェースを介してデータを送受信する送受信手段と、
USBインターフェースを介して受信したデータを保持する受信データ保持手段と、
前記受信データ保持手段に保持されているデータをフラッシュメモリに書込む書込み処理制御手段と、
USBインターフェースを介して送信するデータを保持する送信データ保持手段と、
フラッシュメモリに格納されているデータを前記送信データ保持手段に読出す読出し処理制御手段とを備え、
前記受信データ保持手段にフラッシュメモリの1ページ分のデータが保持された後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始し、
前記読出し処理制御手段により、前記送信データ保持手段にフラッシュメモリの1ページ分のデータが読出された後に、前記送受信手段が送信を開始するように構成されていることを特徴とするフラッシュメモリの制御回路によって達成される。更に、このフラッシュメモリの制御回路を備えたメモリコントローラ、又は、このフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステムによっても達成される。
又、本発明によれば、前記USBインターフェースが、ハイスピードモードで動作している場合は、前記受信データ保持手段が1パケット分のデータを保持した後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始し
前記USBインターフェースが、フルスピードモードで動作している場合は、前記受信データ保持手段が8パケット分のデータを保持した後に、前記書込み処理制御手段がフラッシュメモリへの書込み処理を開始するように構成されていることが好ましい。
又、本発明によれば、前記受信データ保持手段の容量が前記フラッシュメモリの1ページ分のデータ容量と同一あることが好ましい。
又、本発明によれば、前記受信データ保持手段の容量が512バイトであることが好ましい。
又、本発明によれば、前記USBインターフェースが、ハイスピードモードで動作している場合は、前記送信データ保持手段に保持されているデータを、512バイトのデータを含むパケットで送信し、
前記USBインターフェースが、フルスピードモードで動作している場合は、前記送信データ保持手段に保持されているデータを、64バイトのデータを含むパケットに分割して送信するように構成されていることが好ましい。
又、本発明によれば、前記送信データ保持手段の容量が前記フラッシュメモリの1ページ分のデータ容量と同一あることが好ましい。
又、本発明によれば、前記送信データ保持手段の容量が512バイトであることが好ましい。
本発明に係るフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムでは、USBインターフェース用のバッファ回路(エンドポイント)を、フラッシュメモリに対する読出し及び書込みの処理に使用されるバッファ回路(ページバッファ)としても使用できるようにしたので、回路規模の増大を最低限に抑えることができる。
更に、バッファ回路とフラッシュメモリのデータ転送は、上記USBインターフェースを介して送受信されるパケットのサイズ(パケットに含まれるデータ容量)によらず、フラッシュメモリのページサイズ(1ページ分のデータ容量)で処理されるので、パケットサイズの差異(送信速度の差異)による処理効率の低下も抑えることができる。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。図1は、本発明にかかるフラッシュメモリシステム1を概略的に示すブロック図であり、フラッシュメモリ9と、メモリコントローラ2で構成されるフラッシュメモリシステム1を示している。
[フラッシュメモリの説明]
図1に示したフラッシュメモリ9は、ページ単位で読出し又は書込みを、ブロック単位で消去を実行する不揮発性メモリである。このフラッシュメモリ9を構成するメモリセルにデータが書込まれている状態と、書込まれていない状態について図2及び3を参照して説明する。
図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に蓄積された電子を排出する。
次に、図1に示したフラッシュメモリ9のメモリ構造を説明する。図4は、フラッシュメモリのメモリ構造を概略的に示す図である。図4に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位である「ページ」と、データの消去単位である「ブロック」で構成されている。
上記「ページ」は512バイトのデータ領域25と16バイトの冗長領域26によって構成される。データ領域25は、ホストシステム側から供給されるユーザデ―タが格納される領域であり、冗長領域26は、エラーコレクションコード等の付加情報が格納される領域である。エラ―コレクションコードは、対応するデータ領域25に格納されたデータに含まれる誤りを訂正するための付加情報であり、データ領域25に格納されたデータに含まれる誤りが所定数以下であれば、これを訂正し、正しいデータとするために用いられる。
上記冗長領域26には、エラーコレクションコードの他に、「対応論理ブロックアドレス」が格納されている。「対応論理ブロックアドレス」は、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが格納されていない場合は、「対応論理ブロックアドレス」も格納されていないので、「対応論理ブロックアドレス」が格納されているか否かで、そのブロックが消去済みブロックであるか否かを判断することができる。つまり、「対応論理ブロックアドレス」が格納されていない場合は消去済みブロックであると判断する。
又、上記「ブロック」は32枚の「ページ」で構成されている。ここでフラッシュメモリはデータの上書きができないため、1枚の「ページ」のデータだけを書き変える場合であっても、その「ページ」が含まれる「ブロック」の、他の「ページ」のデータも、消去済みの「ブロック」に再度書込まなければならない。
又、上記のようにデータを書替える場合、書替えの後のデータは書替え前の「ブロック」と異なる「ブロック」に書込まれるため、ホストシステムから与えられるホストアドレスに基づくブロックアドレス(以下、ホストアドレスに基づくブロックアドレスを論理ブロックアドレスと言う。)と、この論理ブロックアドレスに対応するフラッシュメモリ内でのブロックアドレス(以下、フラッシュメモリ内でのブロックアドレスを物理ブロックアドレスと言う。)との対応関係は、データを書替える毎に動的に変化する。
このため、論理ブロックアドレスと物理ブロックアドレスの対応関係が書込まれたアドレス変換テーブルが必要となる。この「アドレス変換テーブル」は、「論理ブロックアドレス」と「物理ブロックアドレス」の対応関係を示したテーブルであり、上述のような理由により、フラッシュメモリに書込まれているデータが書替えられる毎に、その書替えに関わった部分の対応関係が更新される。
[メモリコントローラの説明]
図1のメモリコントローラ2は、USBインターフェース部3と、エンドポイント制御部4と、コントロール用エンドポイント5と、受信用エンドポイント6と、送信用エンドポイント7と、フラッシュメモリ制御部8とから構成される。これら回路によって構成されるメモリコントローラ2は、一つの半導体チップ上に集積されている。
ここで、USBインターフェース部3は、ホストシステム10側から送信されてくるシリアル信号のデータを、パラレル信号に変換してエンドポイント制御部4側に渡し、エンドポイント制御部4から受取ったパラレル信号をシリアル信号に変換して、ホストシステム10側に送信する回路である。
又、エンドポイント制御部4は、コントロール用エンドポイント5、受信用エンドポイント6、及び送信用エンドポイント7に保持されるデータの送受信を制御する回路である。このエンドポイント制御部4は、USBインターフェース部3及びフラッシュメモリ制御部8とのインターフェース回路を備えており、このインターフェース回路を介してUSBインターフェース部3及びフラッシュメモリ制御部8とのデータや情報の受渡しが行われる。
又、コントロール用エンドポイント5は、起動時に初期設定データ等を保持するバッファ回路であり、受信用エンドポイント6は、ホストシステム10側から送信されてくる受信データを保持するバッファ回路であり、送信用エンドポイント7は、ホストシステム10側に送信する送信データを保持するバッファ回路である。
又、フラッシュメモリ制御部8は下記のような回路で構成されている。
(1)フラッシュメモリ制御部8を構成する各回路の動作を制御する回路。
(2)内部コマンド(フラッシュメモリ9に与える内部コマンド)を実行する際に必要な情報が設定されるレジスタ及びこのレジスタに情報を設定する回路。
(3)フラッシュメモリ9の制御に必要なデータが一時的に格納される作業領域(複数のSRAMセルによって構成される。)。
(4)フラッシュメモリ9とデータ、アドレス情報、ステータス情報及び内部コマンド情報を授受する回路。
(5)フラッシュメモリ9に書込むデ―タに付加すべきエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する回路。
(6)エンドポイント制御部4、受信用エンドポイント6及び送信用エンドポイント7と情報やデータを授受する回路。
[フラッシュメモリに対する書込み処理の説明]
以下、ホストシステム側からの要求に基づいて、フラッシュメモリにデータを書込む処理を図面を参照して説明する。尚、USBインターフェースを介したデータ送信には、ハイスピードモードとフルスピードモードがあり、ハイスピードモードにおける最大パケットサイズは512バイトであり、フルスピードモードにおける最大パケットサイズは64バイトである。従って、パケットサイズが最大の場合、ハイスピードモードにおいては、1パケット分のデータが、フラッシュメモリの読出し及び書込みの処理単位である1ページ分のデータに相当するが、フルスピードモードにおいては、8パケット分のデータが、フラッシュメモリの読出し及び書込みの処理単位である1ページ分のデータに相当する。このような違いあるため、ハイスピードモードの場合とフルスピードモードの場合で異なる処理を行なっている。
まず、図5及び図6を参照して、ハイスピードモードの場合の処理について説明する。図5は、ホストシステム側から送信されてくるCBW(Command Block Wrapper)及Aパケット(以下、ハイスピードモードの場合のパケットをAパケットと表記する。)と受信用エンドポイントに保持されるデータの関係を示している。ここで、CBWには、コマンド情報が含まれており、ホストシステム側からの書込み要求は、CBWによってフラッシュメモリシステム側に伝達される。つまり、書込み要求時には、CBWに書込みコマンドの情報が含まれている。又、Aパケットには、フラッシュメモリに書込む512バイトのデータが含まれている。又、受信用エンドポイントはフラッシュメモリの1ページ分のデータを保持するため、512バイトに設定した。尚、受信用エンドポイントの容量については、フラッシュメモリのページ容量、パケットサイズ(データ容量)等を考慮して適宜設定することが好ましい。例えば、フラッシュメモリのページ容量、パケットサイズ(データ容量)の公倍数に相当する容量に、受信用エンドポイントの容量を設定することが考えられる。
図5に示したCBWは、USBインターフェース部でパラレル信号に変換されエンドポイント制御部による制御のもと、受信用エンドポイント6に保持される。この際、エンドポイント制御部は、CBWに含まれるフラグ等に基づき、受信したデータがCBWであることを検知し、CBWを受信したことをフラッシュメモリ制御部に通知する。続いて、フラッシュメモリ制御部が、受信用エンドポイント6に保持されているCBWを読出し、CBWに含まれるコマンド情報が書込みコマンドであることを認識する。
CBWを受信した後に送られてくるAパケットは、USBインターフェース部でパラレル信号に変換され、エンドポイント制御部による制御のもと、受信用エンドポイント6に保持される。この際、CBWが保持されていた部分にも、Aパケットに含まれる書込みデータ(フラッシュメモリへの書込みデータ)が保持される。従って、受信用エンドポイント6には、フラッシュメモリへの書込みデータだけが保持される。尚、受信用エンドポイント6は512バイトのバッファ回路であり、Aパケットには512バイトの書込みデータが含まれているので、受信用エンドポイント6には、フラッシュメモリの1ページ分のデータに相当するデータが保持される。
受信用エンドポイントに、フラッシュメモリの1ページ分のデータに相当するデータが保持されると、エンドポイント制御部からフラッシュメモリ制御部にその旨が通知され、受信用エンドポイントからフラッシュメモリへのデータ書込み処理が開始される。図6は、Aパケットのデータが保持されている受信用エンドポイント6と、データの書込み先となるフラッシュメモリ9のページとの関係を示している。ここで、受信用エンドポイント6に保持されているデータは、フラッシュメモリ制御部による制御のもと、消去済ブロック内のページに書込まれる。又、数ページ分のデータがAパケットで順次送られてくる場合、それらのデータを消去済ブロックのページ0から順次書込んでいく。(最初のデータをページ0に、次のデータをページ1というように順次書込んでいく。)。
次に、この書込み処理について説明する。書込み処理を行なう場合、フラッシュメモリ制御部内のレジスタに以下のような書込み処理の設定がなされる。
1)内部コマンドとして内部書込みコマンドがフラッシュメモリ制御部内の所定のレジスタに設定される。
2)書込み先のページアドレスがフラッシュメモリ制御部内の所定のレジスタに設定される。
続いて、上記書込み処理の設定に基づいて内部コマンドを実行される。この内部コマンドが実行されると、フラッシュメモリに内部コマンドを実行するための情報が供給される。その結果、受信用エンドポイント6に保持されているデータが、上記書込み処理の設定で指定したページアドレスのデータ領域に格納される。
次に、図7及び図8を参照して、フルスピードモードの場合の処理について説明する。図7は、ホストシステム側から送信されてくるCBW(Command Block Wrapper)及Bパケット0〜7(以下、フルスピードモードの場合のパケットをBパケットと表記する。)と受信用エンドポイントに保持されるデータの関係を示している。ここで、CBWには、ハイスピードモードの場合と同様に書込みコマンドの情報が含まれている。又、Bパケット0〜7には、フラッシュメモリに書込む64バイトのデータが含まれている。又、受信用エンドポイントは、上記のように512バイトに設定されている。
図7に示したCBWは、USBインターフェース部でパラレル信号に変換されエンドポイント制御部による制御のもと、受信用エンドポイント6に保持される。この際、エンドポイント制御部は、CBWに含まれるフラグ等に基づき、受信したデータがCBWであることを検知し、CBWを受信したことをフラッシュメモリ制御部に通知する。続いて、フラッシュメモリ制御部が、受信用エンドポイント6に保持されているCBWを読出し、CBWに含まれるコマンド情報が読出しコマンドであることを認識する。
ここで、フルスピードモードの場合、Bパケット0〜7の各パケットに含まれるデータの容量は64バイトなので、各パケットを受信する毎にエンドポイント制御部からフラッシュメモリ制御部に通知を行なうのではなく、受信用エンドポイント6に512バイトの書込みデータが保持されたときにエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれるように設定する。つまり、Bパケット0〜7の各パケットに含まれるデータの容量が64バイトの場合には、受信用エンドポイント6に、8パケット分のデータが保持されたときにエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれるように設定(以下、8パケット分のデータが保持されたときにエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれる設定を受信データ蓄積モードと言う。)する。尚、ハイスピードモードとフルスピードモードに関係無く、常に、フラッシュメモリの1ページ分のデータが受信用エンドポイント6に保持されるまで、パケットに含まれるデータを受信用エンドポイント6に蓄積し続け、受信用エンドポイント6にフラッシュメモリの1ページ分のデータが保持された後にエンドポイント制御部からフラッシュメモリ制御部に通知が行なわれるように回路を設計してもよい。
受信データ蓄積モードのもとBパケット0〜7は、USBインターフェース部でパラレル信号に変換されエンドポイント制御部による制御により、受信用エンドポイント6に順次蓄積されていく。この際、CBWが保持されていた部分にも、Bパケット0〜7に含まれる書込みデータ(フラッシュメモリへの書込みデータ)が保持される。
受信用エンドポイント6に、Bパケット0〜7の8パケット分のデータが保持されると(つまり、フラッシュメモリの1ページ分のデータに相当するデータが保持されると)、エンドポイント制御部からフラッシュメモリ制御部にその旨が通知され、受信用エンドポイントからフラッシュメモリへのデータ書込み処理が開始される。図8は、Bパケット0〜7のデータが保持されている受信用エンドポイント6と、データの書込み先となるフラッシュメモリ9のページとの関係を示している。ここで、受信用エンドポイント6に保持されているデータは、ハイスピードモードの場合と同様にフラッシュメモリ制御部による制御のもと、消去済ブロックのページに書込まれる。
又、フルスピードモードの場合の書込み処理も、ハイスピードモードの場合と同様に、フラッシュメモリ制御部内のレジスタに以下のような書込み処理の設定がなされる。
1)内部コマンドとして内部書込みコマンドがフラッシュメモリ制御部内の所定のレジスタに設定される。
2)書込み先のページアドレスがフラッシュメモリ制御部内の所定のレジスタに設定される。
続いて、上記書込み処理の設定に基づいて内部コマンドが実行される。この内部コマンドが実行されると、フラッシュメモリ9に内部コマンドを実行するための情報が供給される。その結果、受信用エンドポイント6に保持されているデータが、上記書込み処理の設定で指定したページアドレスのデータ領域に格納される。
次に、受信用エンドポイントからフラッシュメモリへのデータ書込み処理が完了したときに、その処理結果(正常に処理を完了したか否か等に関する情報)をホストシステム側に通知する処理について説明する。この処理では、フラッシュメモリ制御部が、書込み処理の完了後に、フラッシュメモリから書込み処理に関するステータス情報を受取り、このステータス情報に基づいてCSW(Command Status Wrapper)を作成する。
フラッシュメモリ制御部は、作成したCSWを、図9に示したように送信用エンドポイント7に書込み、その旨をエンドポイント制御部に通知する。その後、エンドポイント制御部は、送信用エンドポイント7に書込まれているCSWを、USBインターフェース部を介して(USBインターフェース部でシリアル信号に変換して)ホストシステム側に送信する。このCSWには書込み処理結果に関する情報が含まれているので、ホストシステム側は、その情報に基づいて書込み処理結果を確認することができる。
[フラッシュメモリからの読出し処理の説明]
ホストシステム側からの読出し要求も、書込み要求の場合と同様に、CBWによってフラッシュメモリシステム側に伝達される。つまり、読出し要求時には、読出しコマンドの情報が含まれているCBWが、ホストシステム側から送信されてくる。そして、このCBWは、エンドポイント制御部による制御のもと、受信用エンドポイントに保持される。以下書込み要求の場合と同様に、エンドポイント制御部は、CBWに含まれるフラグ等に基づき、受信したデータがCBWであることを検知し、CBWを受信したことをフラッシュメモリ制御部に通知する。続いて、フラッシュメモリ制御部が、受信用エンドポイントに保持されているCBWを読出し、CBWに含まれるコマンド情報が読出しコマンドであることを認識する。
次に、CBWによってホストシステム側からフラッシュメモリシステム側に伝達された読出し要求に基づいて、フラッシュメモリからデータを読出す処理を、図面を参照して説明する。図10は、ホストシステム側から読出しを要求されたデータが格納されているフラッシュメモリ9と、ホストシステム側に送信するデータを保持する送信用エンドポイント7の関係を示している。
この読出し処理では、フラッシュメモリ制御部の制御もと、フラッシュメモリ9の1ページ分のデータが、フラッシュメモリ9から送信用エンドポイント7へ読出される。この際、フラッシュメモリ9から読出されるページの物理アドレス(フラッシュメモリ9内でのアドレス)は、ホストシステム側から供給された論理アドレスとアドレス変換テーブルから得ることができる。
この読出し処理を行なう場合、フラッシュメモリ制御部内のレジスタに以下のような読出し処理の設定がなされる。
1)内部コマンドとして内部読出しコマンドがフラッシュメモリ制御部内の所定のレジスタに設定される。
2)送信用エンドポイント7へ読出すページのページアドレス(フラッシュメモリ9内でのアドレス)がフラッシュメモリ制御部内の所定のレジスタに設定される。
続いて、上記読出し処理の設定に基づいて内部コマンドが実行される。この内部コマンドが実行されると、フラッシュメモリ9に内部コマンドを実行するための情報が供給される。その結果、送信用エンドポイント7に、上記書込み処理の設定で指定したページアドレスのデータ領域に格納されているデータが読出される。
ここで、フルスピードモードの場合、送信用エンドポイント7からホストシステム側へ送信されるパケットに含まれるデータの容量は64バイトであるが、フラッシュメモリの1ページ分のデータが送信用エンドポイント7に保持されるまで、送信用エンドポイント7からホストシステム側への送信を開始しないように設定(以下、8パケット分のデータが保持されたときにエンドポイント制御部からホストシステムへ送信される設定を送信データ蓄積モードと言う。)しておく。尚、ハイスピードモードとフルスピードモードに関係無く、常に、フラッシュメモリの1ページ分のデータが送信用エンドポイント7に保持されるまで、送信用エンドポイント7からホストシステム側への送信を開始しないように回路を設計してもよい。
又、ハイスピードモードの場合もフルスピードモードの場合も、送信用エンドポイント7に読出したデータに対するエラーコレクションコードの生成やエラー訂正が正常に行なわれた後に、送信用エンドポイント7からホストシステム側への送信を開始することが好ましい。
又、送信用エンドポイント7はフラッシュメモリの1ページ分のデータを保持するため、512バイトに設定した。尚、送信用エンドポイント7の容量については、フラッシュメモリのページ容量、パケットサイズ(データ容量)等を考慮して適宜設定することが好ましい。例えば、フラッシュメモリのページ容量、パケットサイズ(データ容量)の公倍数に相当する容量に、送信用エンドポイントの容量を設定することが考えられる。
次に、送信用エンドポイントからホストシステム側への送信処理を説明する。図11は、ハイスピードモードの場合に、送信用エンドポイント7からホストシステム側へ送信されるパケットを示している。ハイスピードモードの場合、送信用エンドポイント7に保持されているデータが、1つのパケット(Aパケット)でホストシステム側へ送信される。つまり、送信用エンドポイント7に保持されている512バイトのデータが、512バイトのデータを含んだAパケットとして送信される。
図12は、フルスピードモードの場合に、送信データ蓄積モードのもと、送信用エンドポイント7からホストシステム側へ送信されるパケットを示している。フルスピードモードの場合、送信用エンドポイント7に保持されているデータが、8つのパケット(Bパケット0〜7)でホストシステム側へ送信される。つまり、送信用エンドポイント7に保持されている512バイトのデータが、64バイトのデータを含んだBパケット0〜7として送信される。
尚、ホストシステム側への送信処理では、エンドポイント制御部の制御のもと、送信用エンドポイント7に保持されているデータが、USBインターフェース部でシリアル信号に変換されて送信される。
又、送信用エンドポイントからホストシステム側への送信処理が完了した後に、読出し処理結果(正常に処理を完了したか否か等に関する情報)をホストシステム側に通知するためにCSWを送信する。この処理では、書込み処理の場合と同様に(図9参照)、フラッシュメモリ制御部は、作成したCSWを送信用エンドポイント7に書込み、送信用エンドポイント7に書込まれたCSWが、USBインターフェース部を介してホストシステム側に送信される。このCSWには、ホストシステム側からの読出し要求で指示されたデータが、全て正常に読み出すことができたか否かに関する情報が含まれている。従って、ホストシステム側は、この情報に基づいて書込み処理結果を確認することができる。
以上に説明したフラッシュメモリシステムでは、ホストシステム側のインターフェースがUSBインターフェースであったが、本発明に係るフラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステムは、USBインターフェースに類するインターフェースを有するものにも適用することができる。例えば、USBの受信用エンドポイント及び送信用エンドポイントに類するバッファを備えたものにも適用することができる。
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。 図2は、フラッシュメモリ2を構成するメモリセル16の構造を概略的に示す断面図である。 図3は、書込状態であるメモリセル16を概略的に示す断面図である。 図4は、フラッシュメモリ2のアドレス空間の構造を概略的に示す図である。 図5は、ホストシステム側から送信されてくるCBW及びパケットと受信用エンドポイント6に保持されるデータの関係を示す図である。 図6は、受信用エンドポイント6と、データの書込み先となるフラッシュメモリ9のページとの関係を示す図である。 図7は、ホストシステム側から送信されてくるCBW及びパケットと受信用エンドポイント6に保持されるデータの関係を示す図である。 図8は、受信用エンドポイント6と、データの書込み先となるフラッシュメモリ9のページとの関係を示す図である。 図9は、送信用エンドポイント7とホストシステム側に送信されるCSWの関係を示す図である。 図10は、送信用エンドポイント7と、送信用エンドポイントに読出されるデータが格納されているフラッシュメモリ9のページとの関係を示す図である。 図11は、ホストシステム側に送信されるパケットと送信用エンドポイント7に保持されるデータの関係を示す図である。 図12は、ホストシステム側に送信されるパケットと送信用エンドポイント7に保持されるデータの関係を示す図である。
符号の説明
1 フラッシュメモリシステム
2 メモリコントローラ
3 USBインターフェース部
4 エンドポイント制御部
5 コントロール用エンドポイント
6 受信用エンドポイント
7 送信用エンドポイント
8 フラッシュメモリ制御部
9 フラッシュメモリ
10 ホストシステム
16 メモリセル
17 P型半導体基板
18 ソース拡散領域
19 ドレイン拡散領域
20 トンネル酸化膜
21 フローティングゲート電極
22 絶縁膜
23 コントロールゲート電極
24 チャネル
25 データ領域
26 冗長領域

Claims (5)

  1. USBインターフェースを介してデータを送受信する送受信手段と、
    USBインターフェースを介して受信したデータを保持するための受信データ保持手段と、
    前記送受信手段により受信されたデータであって、コマンドを含むCBW(Command Block Wrapper)とフラッシュメモリに書き込まれるユーザデータとを含むデータを前記受信データ保持手段に格納する受信データ格納手段と、
    前記受信データ保持手段に保持されたユーザデータをフラッシュメモリに書込む書込み処理制御手段と、
    USBインターフェースを介して送信するデータを保持するための送信データ保持手段と、
    フラッシュメモリに格納されているユーザデータを読み出し、読み出したユーザデータを前記送信データ保持手段に格納する読出し処理制御手段と
    を備え、
    前記受信データ格納手段は、前記送受信手段により受信されたデータがCBWであるか又はユーザデータであるかを判別する機能を備え、CBWとユーザデータがこの順番で受信された場合に、先に受信されたCBWに対して後から受信されたユーザデータが上書きされるように前記受信データ保持手段にCBWとユーザデータを格納し、
    前記書込み処理制御手段は、前記受信データ保持手段にフラッシュメモリの1ページ分のユーザデータが保持された後にフラッシュメモリへの書込み処理を開始することを特徴とするフラッシュメモリの制御回路。
  2. 前記CBWに基づいて実行された処理の結果を示すCSW(Command Status Wrapper)を、前記送信データ保持手段に格納するCSW格納手段を備え、
    前記送受信手段は、前記読出し処理制御手段によ前記送信データ保持手段にフラッシュメモリの1ページ分のユーザデータが格納された後、又は前記CSW格納手段により前記送信データ保持手段にCSWが格納された後に送信処理を開始することを特徴とする請求項1記載のフラッシュメモリの制御回路。
  3. 前記受信データ保持手段の容量が、フラッシュメモリの1ページ分のデータ容量と同一であることを特徴とする請求項1又は記載のフラッシュメモリの制御回路。
  4. 請求項1乃至記載のいずれかのフラッシュメモリの制御回路を備えたメモリコントローラ。
  5. 請求項1乃至記載のいずれかのフラッシュメモリの制御回路とフラッシュメモリを備えたフラッシュメモリシステム。
JP2003282199A 2003-07-29 2003-07-29 フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム Expired - Fee Related JP4282401B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003282199A JP4282401B2 (ja) 2003-07-29 2003-07-29 フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003282199A JP4282401B2 (ja) 2003-07-29 2003-07-29 フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム

Publications (2)

Publication Number Publication Date
JP2005050172A JP2005050172A (ja) 2005-02-24
JP4282401B2 true JP4282401B2 (ja) 2009-06-24

Family

ID=34267478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003282199A Expired - Fee Related JP4282401B2 (ja) 2003-07-29 2003-07-29 フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム

Country Status (1)

Country Link
JP (1) JP4282401B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640378B2 (en) * 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays

Also Published As

Publication number Publication date
JP2005050172A (ja) 2005-02-24

Similar Documents

Publication Publication Date Title
US7409473B2 (en) Off-chip data relocation
US20060064539A1 (en) Memory controller, flash memory system employing memory controller and method for controlling flash memory device
US20110119431A1 (en) Memory system with read-disturb suppressed and control method for the same
JP2005108304A (ja) 半導体記憶装置及びその制御方法
JPWO2002052416A1 (ja) フラッシュメモリシステム
JP2008524747A (ja) オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法
JPWO2004031966A1 (ja) 不揮発性記憶装置の制御方法
JP4236485B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
CN112860194B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
JP2007310680A (ja) 不揮発性記憶装置およびそのデータ転送方法
US7606993B2 (en) Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory
JP4282401B2 (ja) フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム
JP4470455B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4173410B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP4233213B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
KR101398403B1 (ko) 레거시 호스트들을 위한 방법 및 메모리 시스템
JP4213053B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP3999564B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4561110B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US8886989B2 (en) Memory device
JP4282410B2 (ja) フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム
JP4183550B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4068594B2 (ja) フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリの制御方法
JP2005107599A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4419525B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080722

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080911

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: 20090317

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: 20090317

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees