本発明の一例に係るフラッシュメモリの個々の特徴的な内容を説明する前に、当該フラッシュメモの構成を、「センスラッチを中心としたフラッシュメモリの構成」、「AND型メモリセルアレイ」、「メモリセルに対する電圧印加態様」、「フラッシュメモリのチップ構成」の順に、先ず、概略的に説明する。
〔1-1.センスラッチを中心としたフラッシュメモリの構成〕
図53にはフラッシュメモリの構成がセンスラッチとプリチャージ回路を主体に示されている。1及び2で示されるものはメモリマットである。メモリマット1,2は電気的に書き換え可能な複数個のメモリセルMC(代表的に1個図示されている)を有する。1個のメモリセルは、コントロールゲート、フローティングゲート、ソース及びドレインを持ち電気的に書き換え可能な1個のトランジスタ(メモリセルトランジスタ)によって構成される。メモリセルMCのレイアウト構造は、特に制限されないが、所謂AND型とされる。AND型の構成では、複数個の前記メモリセルトランジスタがそれらに共通のソース及びドレインを構成する夫々の拡散層(半導体領域)を介して並列配置され、ドレインを構成する拡散層は選択トランジスタ10を介してビット線BLUに、ソースを構成する拡散層は選択トランジスタ11を介してソース線12に結合されている。AND型メモリセル構造の詳細については後で説明する。SiSは選択トランジスタ11のスイッチ制御信号、SiDは選択トランジスタ10のスイッチ制御信号である。WLはメモリセルMCのコントロールゲートに結合されるワード線である。
図53では夫々のメモリマットに含まれるビット線BLU,BLDを代表的に夫々1本づつ示している。これに呼応して左右のビット線BLU,BLDに共有される一つのセンスラッチ3が代表的に示されている。特に制限されないが、一つのセンスラッチ3に応ずる左右のビット線BLU,BLDに関する構成は当該センスラッチ3を中心に鏡面対称構造とされる。4,5で示されるものはビット線BLU,BLDに設けられたプリチャージ回路である。
前記センスラッチ3は、一対のCMOSインバータから成るスタティックラッチ、即ち相互に一方のCMOSインバータの入力端子を他方のCMOSインバータの出力端子に結合して成る回路によって構成され、一方のCMOSインバータの出力がプリチャージ回路4を介してビット線BLUに、他方にCMOSインバータの出力がプリチャージ回路5を介してビット線BLDに結合されている。センスラッチ3の動作電源はSLP,SLNとされる。センスラッチ3はカラム選択ゲートトランジスタ6,7から供給される書込みデータをラッチし、或いは、読み出し又はベリファイ動作においてセットMOSトランジスタ43,53の状態に応じて初期データをラッチ、また、左右のビット線BLU,BLDの状態に応じたセンス動作などを行なう。
前記プリチャージ回路4(5)は、ビット線BLU(BLD)とセンスラッチ3とを結ぶ信号伝達経路の途中に介在された転送MOSトランジスタ40(50)を有し、このMOSトランジスタ40(50)を挟んでセンスラッチ3の入出力端子にゲートが結合されたフィードバックMOSトランジスタ41(51)と、前記転送MOSトランジスタ40(50)を挟んでビット線BLU(BLD)にソースが結合されたMOSトランジスタ42(52)とが直列配置され、フィードバックMOSトランジスタ41(51)のドレインには電圧UPCが供給される。
前記MOSトランジスタ41(51)はMOSトランジスタ40(50)がオフ状態のときセンスラッチ3の入出力端子のレベルに応じてスイッチ制御される。トランジスタ42(52)は信号PCU(PCD)のレベルに応じてコンダクタンス制御され、それに応じたレベルを電圧UPCに基づいてビット線BLU(BLD)に供給する。
上記プリチャージ回路4,5は、読み出し、消去ベリファイ及び書込みベリファイ動作の前にビット線BLU,BLDのレベルを望ましいレベルにプリチャージする。MOSトランジスタ4A,5Aはセンスラッチ3のためのリファレンスレベルをビット線BLU,BLDに供給するためのトランジスタである。
図53において8,9で示されるものは書込み・消去状態を判定するためのMOSトランジスタである。前記MOSトランジスタ8,9はそのゲートが対応するビット線に、そのソースが接地電位に結合される。図53に代表的に示された1個のセンスラッチ3を中心としたビット線BLU,BLDに係る構成は実際には多数存在されている。センスラッチ3を挟んで図53の左側のトランジスタ8のドレインは全て共通接続され、ビット線BLUに代表される左側のビット線の状態(レベル)に応じた電流ECUを発生する。同様に、センスラッチ3を挟んで図53の右側のトランジスタ9のドレインも全て共通接続され、ビット線BLDに代表される右側のビット線の状態(レベル)に応じた電流ECDを発生する。特に図示はしないが、電流ECU(ECD)の変化に基づいてセンスラッチ3の左(右)側の全てのビット線BLU(BLD)の状態が同じ状態になったかを検出する電流センス型のアンプが設けられている。このアンプは、消去ベリファイ又は書込みベリファイの対象とされる全てのメモリセルが所定のしきい値電圧になったかを検出するのに用いられる。
尚、本明細書に添付された図面においてPチャンネル型MOSトランジスタはその基体ゲートに矢印を付してNチャンネル型MOSトランジスタと区別して図示してある。
図54には前記メモリマット1の詳細及びそのX系選択回路の一例が示される。例えば前記メモリマット1は、128本のワード線WL(0)〜WL(127)を一単位とする複数のブロックに分けられ、夫々のブロックにおいて、選択MOSトランジスタ11は共通の制御信号SiSでスイッチ制御され、選択MOSトランジスタ10は共通の選択信号SiDによってスイッチ制御される。図示はしないが、前記メモリマット2も上記同様に構成される。X系選択回路は、メインデコーダ17、ゲートデコーダ18及びサブデコーダ19によって構成される。サブデコーダ19は双方のメモリマット1,2毎に設けられ、ワード線と一対一対応されるドライバDRVを備える。ドライバDRVの動作電源はブロック単位でメインデコーダ17から供給される。メインデコーダ17は、それに供給されるアドレス信号に従って排他的に一つのブロックに対応される前記ドライバDRVに動作電源を供給する。これとともに、ドライバDRVに動作電源を供給すべきブロックの選択MOSトランジスタ11,10をオン状態に制御する。ゲートデコーダ18はそれに供給されるアドレス信号に従って各ブロックで1本のワード線を選択する選択信号を前記サブデコーダ19のドライバに供給する。このX系選択回路によれば、一つのブロックを選択し、選択されたブロックの中の1本のワード線を選択レベルに駆動することができる。そのときの駆動レベルは、メインデコーダ17の出力回路の動作電源によって決定される。メモリマット2のX系選択回路も上記同様に構成されている。
前記メモリマット1,2のX系選択回路は排他的に何れか一方が選択動作される。例えば、外部から供給されるアドレス信号の最下位ビット又は最上位ビットに従ってメモリマット1のメインデコーダ17又はメモリマット2のメインデコーダ17の何れか一方が動作可能にされる。
〔1-2.AND型メモリセルアレイ〕
図55には上述のAND型メモリセルのレイアウト構成例が示される。同図に示されるメモリセルは2層のメタル配線層を用いるプロセスによって形成される構造とされ、メモリセルMC及び選択MOSトランジスタ10,11は並列された縦方向の拡散層と横方向に延在されたポリシリコン等から成るコントロールゲートとの交差位置に形成されている。フラッシュメモリのメモリセルMCは例えばP型基板上に構成されたNチャンネル型MOSトランジスタとされる。このメモリセルMCは、フローティングゲート(Floating Gate)内の電荷の有る/無しにより情報を保持する事が可能である。例えばフローティングゲート内に電荷が注入されるとメモリセルのしきい値電圧は上昇する。コントロールゲートに印加する電圧値以上にしきい値電圧を上げる事によりメモリ電流は流れなくなる。またフローティングゲートから電荷を放出することによってそのしきい値電圧は低下される。コントロールゲートに印加される電圧値よりもしきい値電圧が低くされることにより、メモリ電流が流れるようになる。例えば電流の流れる状態を"0"情報保持状態(例えば書き込み状態)、電流の流れない状態を"1"情報保持状態(例えば消去状態)と割り当てる事が可能となる。これは定義上の事であるので、逆の定義を与えても何ら問題は無い。
この明細書で一例として説明しているフラッシュメモリのメモリセルはAND型であるが、メモリセル構造はそれに限定されるものではなく、図56に示されるNAND型、図57に示されるNOR型、図58に示されるDINOR型等の別の構造を採用することも可能である。何れの構造であってもフラッシュメモリのメモリセルは基本的には全て同じ構成を備えているが、図55乃至図58に示されるようにアレイ状に配置したとき、夫々特徴が現われる。NOR型はメモリ毎にビット線(メタル配線層)とのコンタクトが必要であるため占有面積を小さくすることが難しいが、NAND型、DINOR型、AND型ではビット線とのコンタクトをブロック毎に配置すれば済むので、占有面積の低減を図ることができる。
〔1-3.メモリセルに対する電圧印加態様〕
図59にはメモリ動作に応じてメモリセルMCに印加すべき電圧状態の一例が示される。メモリ動作はリード(read)、書込み(program)及び消去(erase)に大別される。書込みベリファイ及び消去ベリファイはリードと実質的に同じである。Vgはコントロールゲートに印加される電圧(コントロールゲート電圧)、Vdはドレインに印加される電圧(ドレイン電圧)、Vsはソースに印加される電圧(ソース電圧)を意味する。
読み出し動作では、コントロールゲートに読み出し電位(Vcc)が印加され、これによってメモリセルに電流が流れるか流れないかによって、メモリセルの記憶データが判定される。読み出し動作を図53の構成に従って説明する。例えば、メモリマット1(MATU)に含まれるメモリセルMCに対して読み出しを行う場合、非選択メモリマット2(MATD)側のセットMOSトランジスタ53をオン状態にしてセンスラッチ3を活性化し、当該センスラッチ3のビット線BLU側にハイレベルをラッチさせる。そして、RPCUを1V+Vthに制御してビット線BLUを1Vにプリチャージする。一方、非選択マット2側ではRPCDを0.5V+Vthに制御してビット線BLDを0.5Vにプリチャージする。0.5Vはセンスラッチ3によるセンス動作におけるリファレンスレベルとされる。ワード線選択動作の後、トランスファMOSトランジスタ40,50がオンされ、この時、センスラッチ3は、ビット線BLUのレベルが0.5Vよりも高いか低いかをセンスして、メモリセルMCからの読み出しデータをラッチする。
消去においては、コントロールゲートに正電圧(12V)を印加しメモリセルのドレイン・ソースに負電圧(−4V)を印加する。このことによりフローティングゲート内にトンネル効果を用いて電荷を注入する事が可能となる。その結果、メモリセルMCのしきい値電圧が上昇する。例えば消去動作は、上記電圧印加状態を間欠的に実行し、メモリセルのしきい値電圧が消去ベリファイのためのワード線電位を越えるまで行なう。図54の構成において消去は例えばワード線単位で行われる。消去対象とされるワード線を含むブロックのメモリセルには選択MOSトランジスタ10,11を介して夫々同じドレイン電圧とソース電圧が印加されることになる。従って、選択ブロックに含まれる非選択メモリセルには、Vg=0V、Vd=Vs=−4Vが印加されることになる。非選択ブロックの選択MOSトランジスタ10,11はオフ状態にされるから、非選択ブロックに含まれるメモリセルのドレインとソースはフローティング即ちオープン(open)にされ、コントロールゲート電圧は0Vにされる。消去ベリファイは、ベリファイのためのワード線電圧が異なるだけで前記読み出し動作と実質的に同じである。
書き込みにおいては、コントロールゲートに負電位(−10V)を印加し、ドレインには正電圧(4V)を与え、ソースはフローティングにされる。書込み対象メモリセルとワード線を共有する書込み非対象メモリセルのドレインには0Vが印加される。このことによりドレインに正電圧が印加されたメモリセルのみ電荷の放出が行なわれる。その結果、メモリセルのしきい値電圧は減少する。書き込み動作は所望メモリセルのしきい値電圧が書込みベリファイのためのワード線電位より低くなるまで行われる。書き込み動作を図53の構成に従って説明すれば、前記カラム選択ゲート6,7から入力された書込みデータがセンスラッチ3にラッチされた後、PCU及びPCDをハイレベルに制御し、これによってセンスラッチ13のハイレベル側入出力ノードに結合するビット線(例えばBLU)がハイレベルにプリチャージされる。そしてトランスMOSトランジスタ40,50をオンにすることにより、ハイレベルにプリチャージされているビット線BLUに書き込み用ドレイン電圧がセンスラッチ3から供給される。ビット線をメモリセルMCのドレインに接続する選択MOSトランジスタ10は、信号SiDにより書込み非選択マット側では全てカットオフ状態にされている。これにより、書込み選択マット側で書込み電圧が印加されたコントロールゲートに接続するメモリセルのうち、ビット線に書込み電圧が供給されたメモリセルのしきい値電圧が低下される。この後の書込みベリファイ動作も前記読み出しと同様に行われる。
〔1-4.フラッシュメモリのチップ構成〕
図60には上記フラッシュメモリの全体的な構成をブロック図で示す。同図に示されるフラッシュメモリは、特に制限されないが、公知の半導体集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成されている。
図60においてMATUで示されるものは前記メモリマット1を構成し、MATDで示されるものは前記メモリマット2を構成する。各メモリマット1,2において1本のワード線負荷容量を分散させるために、同一アドレスに配置されるワード線は2分割され、夫々にサブデコーダ19が割り当てられている。特に制限されないが、このフラッシュメモリは、特に制限されないが、ディスク装置互換のATAファイルメモリに適用して有効なフラッシュメモリとされる。同一アドレスに配置されるワード線は(2048+128)×2ビットのメモリセルを有し、それは512バイトのセクタと16バイトのセクタ管理エリアに対応される。その内の16バイト分は冗長用とされている。
図60において60で示されるものはカラム系回路である。このカラム系回路60は、前記センスラッチ3、プリチャージ回路4,5、カラム選択ゲート6,7等の図53で示したカラム系回路、そしてカラム選択ゲートをスイッチ制御するためのカラムデコーダを含む回路ブロックとされる。カラム選択ゲート6,7は夫々8対のコモンデータ線61とインタフェースされ、カラムデコーダは8対のコモンデータ線61とビット線BLU,BLDとの導通をカラムアドレス信号などに従って制御する。コモンデータ線61は入出力切換え回路62を介してメインアンプ(MA)63及び入出力バッファ64に結合される。入出力バッファ64はボンディングパッドのような外部接続電極(I/O)を介して外部とインタフェースされる。
前記入出力バッファ64はメモリデータの入出力、アドレスデータの入力、及びコマンドデータの入力に兼用される。メモリセルへの書き込みデータは入出力切換え回路62を介してコモンデータ線61に供給される。メモリマットからの読み出しデータは入出力切換え回路62を介してメインアンプ63に供給され、そこで増幅されて入出力バッファ64に与えられる。
入出力バッファ64に与えられたアドレスデータはアドレスカウンタ65に供給され、アドレスジェネレータ66を経て、メインデコーダ17、ゲートデコーダ18及びカラムデコーダ等に供給される。特に制限されないが、アドレスカウンタ65は初期値がアドレスデータとしてプリセットされ、コマンドにてフラッシュメモリに指示される動作モードに応じて順次インクリメント等される。インクリメント等されたアドレスはアドレスジェネレータ65から出力される。メモリマット1,2はデータ線に16バイト配置された予備ビット有し、冗長ヒューズ回路67のプログラム状態に従って救済回路68が欠陥ビットのアドレスを冗長アドレスに置き換えてアドレスジェネレータ66に与え、これによって欠陥ビットが予備ビットに置き換えられる。アドレスジェネレータ66はその入力に従って内部相補アドレス信号を形成し、アドレス信号をメインデコーダ17、ゲートデコーダ18及びカラムデコーダ等に割り振る。
86で示されるもはステイタスレジスタ及びテスト系回路であり、フラッシュメモリの内部状態を入出力バッファ64を介して外部に出力可能にされ、また、バッファ87を介してレディー/ビジー・ステータスを外部に出力させる。
外部からシリアルククロックSCが供給されるデータ入出力制御回路70は、前記メインアンプ63、入出力切換え回路62、及びアドレスカウンタ65と前記入出力バッファ64との間での入出力をシリアルクロックSCに同期化させる。
制御信号入力バッファ71には外部制御信号が供給される。外部制御信号は、フラッシュメモリへの情報入力を指示するライトイネーブル信号WEB、フラッシュメモリの動作を指示するチップイネーブル信号CEB,フラッシュメモリの情報出力を指示するアウトプットイネーブル信号OEB、フラッシュメモリに供給されるべき情報がコマンドかデータかを指示する信号CED、及びリセット信号RESBとされる。フラッシュメモリの内部動作はクロックジェネレータ72から出力されるクロック信号に同期される。
入出力バッファ64から供給されるコマンドは、コマンドデコーダ73に供給される。コマンドは、メモリセルに対する読み出し(リード)、書き込み(プログラム)及び消去(イレーズ)等に関するコマンドである。プログラム及びイレーズコマンドが指示する内容にはベリファイも含む。コマンドに基づく内部制御は所謂マイクロプログラム制御と類似の制御方式とされる。すなわち、ROMはコマンドに応じた処理を規定するための制御コード(ステート情報)の系列をコマンド毎に保有している。コマンドデコーダ73によるコマンドのデコード結果は、そのコマンドに対応される制御コード系列のROM75内の先頭アドレスとされる。このコマンド解読結果がROM75に与えられることにより、そのコマンドに対応される制御コード系列の先頭の制御コードがROM75から読出される。読出された制御コードはROMデコーダ76でデコードされ、書き込み消去判定回路80、直接系制御回路81及び電源制御回路82に動作制御信号を供給する。制御コード系列の第2番目以降の制御コードの指定は前記先頭制御コードのROMアドレスに基づいてROM制御系回路74が行なう。制御コードの実行順序を条件分岐させたりすることを考慮する場合には、マイクロプログラム同様に制御コードに次の制御コードのROMアドレスを保有させるようにしてもよい。
前記電源制御回路82はリード、プログラム及びイレーズの動作に必要な各種回路の動作電源の供給制御を行なう。動作電源は、例えばシリコンのバンドギャップ等に基づいて基準電圧を発生する基準電圧発生回路85、この基準電圧発生回路85で形成された基準電圧を用いて−10V等の電源を生成するチャージポンプ回路84、そしてメインデコーダ等の各種回路の動作電源を、リード、イレーズ、プログラム等の動作に応じて切換える電源切換え回路83によって形成される。書き込み消去判定回路80は図53で説明したECU,ECDに基づいて書き込み動作や消去動作の完了を判定する回路である。判定結果は、ROM制御系回路74に供給され、一連の書き込み動作又は消去動作の次の制御ステップでの制御内容に反映される。直接系制御回路81はワード線選択タイミングやカラム選択タイミングを制御する。
前記ROMデコーダ76でデコードされた制御情報が、書き込み消去判定回路80、直接系制御回路81及び電源制御回路82などに供給されることによって実現される動作は、以下に説明する動作モードに従った書き込み動作や書き直し動作などを実現するための制御動作を含むことになる。このような制御をハードワイヤードロジックによって実現することも可能である。
次に、概略的な構成が明らかにされた上記フラッシュメモリを基本にして、幾つかの特徴的な内容を持つフラッシュメモリについて説明していく。
〔2.粗い書込みモードと高精度書込みモード〕
図1に示されるフラッシュメモリFMRY1は粗い書込みモードと高精度書込みモードを有する。即ち、このフラッシュメモリFMRY1は、書込みパルスの1パルス当たりのしきい値電圧の変化量が異なる動作モードを持つ。
書き込み動作では前述のような書き込み電圧が書き込み対象メモリセルに与えられるが、書き込み状態のメモリセルのしきい値電圧を比較的高精度に決定するため、若しくは書き込み状態のメモリセルのしきい値電圧のばらつきを小さく抑えるために、メモリセルにしきい値電圧が所定のしきい値電圧に到達するまで、書き込みパルスによって規定される時間毎に書き込み電圧を与えていく。当然、書き込み電圧を与える毎にベリファイが行なわれる。1回の書き込みでメモリセルのしきい値電圧の変化量が概ね一定になるように、前記書き込みパルス幅は、図43の(a)に示されるように、書き込みワード線電圧が一定の場合、順次長くされる。図43の(b)のように書き込みパルス幅を一定にする場合には、書き込みワード線電圧を順次高くする。図43の(c)に示されるように書き込み電圧と書き込みパルス巾の双方を変化させることも可能である。
例えば図1のフラッシュメモリFMRY1は、例は図43の(a)に対応されるように、書き込みワード線電圧を一定にして、書き込みパルス幅(時間)を順次増やすようにするものである。そこで、書込み1パルスあたりのメモリセルしきい値電圧の変化量がΔVth1である第1の書込みモード(粗い書込み)のための第1の書込み電圧印加用パルス列発生手段100と、しきい値電圧変化量がΔVth2である第2の書込みモード(高精度書込み)のための第2の書込み電圧印加用パルス列発生手段(高精度書込み)101を備える。書込みパルスと書込みパルスとの間にしきい値電圧のベリファイ動作が行われることになる。
図2の(a),(b)には第1の書き込みと第2の書き込みの特性が示されている。本明細書において時間軸のスケールは全て対数とされる。前述のように、書き込みパルス幅は書込み動作が進むと共にそれぞれ長くされる。
図2の(c),(d)には第1の書き込みと第2の書き込みによるメモリセルMCのしきい値分布が示される。
このとき、消去状態の最低しきい値Vt2又はVt6と書込み状態の最高しきい値Vt3又はVt7との電圧差(セルウインドウ)を固定して考えた場合、メモリセルMCのしきい値電圧を変化させるのに必要なパルスの数は、ΔVth1の場合の方がΔVth2の場合よりも少ない。このため、第1の書込電圧印加用パルス列発生手段(しきい値の変化量ΔVth1)100を用いた場合のベリファイ回数は、第2の書込電圧印加用パルス列発生手段(しきい値の変化量ΔVth2)101を用いた場合よりも少なくなる。書込み時間は、メモリセルそのもののしきい値電圧を変化させる時間とベリファイを行なう時間などのオーバーヘッド時間との和となる。よって、ベリファイ回数が少ないほうがオーバーヘッド時間が少ないので書込み時間は短くなる。
前記第1及び第2の書込電圧印加用パルス列発生手段100,101は、特に図示はしないが、キャリー伝達型のバイナリカウンタを用い、これにプリセットしたデータの計数結果が全ビット“1”にされるまでの時間によってパルス幅を制御することができる。このとき、第1及び第2の書込電圧印加用パルス列発生手段100,101は夫々別個のハードウェアによって構成してもよいが、第1及び第2の書き込みを並列的に行なう必要がない場合には、そのようなバイナリカウンタは共通化でき、動作モードに応じて順次設定するプリセットデータの減少幅を相違させるように制御すればよい。その構成を図60の構成と対応させるなら、前記プリセットデータはROMデコーダ76から出力される。プリセットデータの値は、コマンドデコーダ73がコマンドを解読して判定する第1の書き込みモード又は第2の書込みモードに従って決定される。前記バイナリカウンタは電源制御回路82に含まれ、ここで生成された書込みパルスに従って、電源切換え回路83が、書込みパルスによって規定される時間毎に書込みワード線電圧をX系選択回路に与える。
フラッシュメモリFMRY1は、第1の書き込み電圧印加用パルス列発生手段(第1のパルス列発生手段とも称する)100による書き込みの時に用いる第1のベリファイ電圧発生手段102、第2の書き込み電圧印加用パルス列発生手段(第2のパルス列発生手段とも称する)101による書き込みの時に用いる第2のベリファイ電圧発生手段103を有する。何れを用いるかは切換え手段104の制御によってスイッチS1,S2で切換えられる。スイッチで選択された電圧は、動作モードに応じて、X系選択回路のワード線駆動電圧として用いられる。
図2の(c),(d)に示すようにしきい値変化量がΔVTh1の場合は書込み状態のしきい値分布はVt3〜Vt4となり、これはΔVTh2の場合の書込み状態のしきい値分布であるVt7〜Vt8よりも大きくなるから、第1の書き込みに利用するベリファイ電圧と第2の書き込みに利用するベリファイ電圧とを分ける方が得策だからである。メモリセルMCの特性、若しくはセルウインドウの電圧によっては分けなくてもよい場合もある。
特に、上記のようにベリファイ電圧を第1の書き込みと第2の書き込みで分ける場合、デプリートするのを避けるためには、書込み時のベリファイ電圧はVt3(第1のベリファイ電圧)>Vt7(第2のベリファイ電圧)と設定することが望ましい。図60の構成に対応させるならば、そのような第1及び第2の書込みベリファイ電圧はチャージポンプ回路84によって874によって形成され、何れの書込みベリファイ電圧を用いるかは、第1の書込みコマンド又は第2の書込みコマンドの解読結果に従ってROMデコーダ76から指示され、それに従って、電源切換え回路83が行なう。
特に制限されないが、消去動作についても消去パルスを用いて段階的にメモリセルのしきい値電圧を上げていく動作が行なわれるが、その場合における消去パルスの1パルス当たりのしきい値電圧変化量は書き込み動作モードのような選択は行なわれない。第1の書込みモードの消去動作では、Vt2となるような消去ベリファイ電位がワード線に与えられる。また、第2の書込みモードの消去動作ではVt6となるような消去ベリファイ電位がワード線に与えられる。これは、通常の書込みが第1の書込みモードで行われ、その後の書直し時には第2の書込みモードで書込みが行われるため、そのような制御が可能となる。即ち、同一ワード上に書直すためには、そのワード線のメモリセルを一度消去状態にする必要がある。この時、消去ベリファイ電位を変えてそのしきい値電圧分布をVt5〜Vt6となるように制御する。
これらのことから、情報保持時の電界は第2の書き込みモードを経た方が小さく、情報保持時間は長い。換言すれば、記憶情報の保持性能若しくは保持期間は、第2の書き込みモードを経た方が優れていると言うことができる。
読出し動作時におけるワード線選択レベルは、セルウインドウの幅、Vt3とVt7との相違、Vt2とVt6との相違等を考慮して、共通化することもできる。第1の書き込みモードと第2の書き込みモードとが適用されるメモリ領域が物理的に分けられている場合には、読み出し動作のワード線選択レベルを当該領域毎に最適に相違させるようにしてもよい。
図3には前記第1の書込みモード及び第2の書込みモードにおける書込み動作の一例フローチャートが示される。即ち、書込みコマンドが入力されると、コマンドデコーダ73でそのコマンドがデコードされ、第1の書込みモードか第2の書込みモードかが判定される。ROMデコーダ76のデコード信号によって書込みパルス時間の増分値(Δt1、Δt2)及びベリファイ電圧(Vt3、Vt7)が決定される。第1の書込みモードでは、書込みパルス時間の増分値がΔt1、ベリファイ電圧がVt3にされる。第2の書込みモードでは、書込みパルス時間の増分値がΔt2、ベリファイ電圧がVt7とされる。ベリファイ電圧Vt3、Vt7は図2の(c),(d)で説明した通りである。書込みパルス時間の増分値Δt1、Δt2については、Δt1>Δt2とされ、第1の書込みモードにおける1書込みパルス期間におけるしきい値電圧の変化量は、第2の書込みモードのそれよりも大きくされている。その他の動作は、第1及び第2の書込み動作相互間で同一である。この事からも明らかなように、書込みモードが2種類あっても、それによって増大することになる物理的な回路規模は非常に少ないことを理解することができるであろう。前述のように、書込みパルス時間の増分値は、これを発生するカウンタ値を書込みモードに応じて変えればよい。また、ベリファイ電圧は、一つの電圧発生回路の複数個の電圧出力ノードの電圧の中から一つを選択するスイッチS1,S2のオンオフで選択制御できる。或いは、電圧発生回路の発生電圧そのものを変えて制御してもよい。
上記のように、第1の書き込みモードによる書き込み動作は第2の書き込みモードに比べて速いが、書き込まれたデータの信頼性(データ保持期間)という点では第2の書込みモードの方が優れている。これを考慮したとき、図1のフラッシュメモリFMRY1は、第1の書込み電圧印加用パルス列発生手段100で書き込んだデータを、第2の書込み電圧印加用パルス列発生手段101を用いて書き直すための制御手段(書き直し制御手段)105を有する。すなわち、書込み時間の短い第1の書き込みモードで書き込んだ後に、しきい値電圧の分布が狭くできる第2の書き込みモードで書き直す。書き直しは、メモリセルMCからデータを読み出し、これをセンスラッチ3に反転して格納し、これに基づいて第2の書き込みモードで書込みを行なえばよい。
図4には書き直し動作の一例フローチャートが示される。第1の書込みモードでは、書込みデータがロードされ、それがセンスラッチ3にラッチされる。最初の書込みパルス幅はt1とされる。ベリファイ電圧は前記Vt3とされる。ベリファイがOKとなるまで、Δt1ずつパルス幅を長くして書込みパルスを更新しながら、書込み、ベリファイを繰り返す。Δt1はメモリセルMCのしきい値電圧とlog表示の書込み時間の関係において、しきい値電圧の変化量ΔVth1が1回の書込みパルス当たり一定となるように設定される。これによって高速に書込み動作を完了出来る。
書き直しモードは、第1の書込みモードで書込まれたデータを第2の書込みモードで書き直しする動作モードである。書直しモードでは、第1の書込みモードで書込まれたデータをセンスラッチ3に読み出す。これは通常の読み出し動作と同じである。通常の読み出しを行なってセンスラッチ3で増幅されてこれにラッチされたデータは、書込みにとっては逆の電圧となっているので、反転する必要がある。最初の書込みパルス幅はt1とされる。ベリファイ電圧はVt7とされる。ベリファイがOKとなるまで、Δt2ずつパルス幅を長くして書込みパルスを繰返し印加する。Δt2はメモリセルのしきい値電圧とlog表示の書込み時間の関係において、しきい値電圧の変化量ΔVth2が1回の書込みパルス当たり一定となるように設定される。Vt3>Vt7、ΔVth1>ΔVth2であるので、第1の書き込みよりも低速となるが、保持時の電界は小さく、データ保持時間長くなり、書込まれたデータ保持の信頼性が向上される。
図1に示される前記切換え手段104、スイッチS1,S2、書換え制御手段106、書き直し制御手段105は、図60のコマンドデコーダ73、ROM制御系回路74、ROM75、ROMデコーダ76、書込み消去判定回路80、電源切換え回路83電源制御回路82等によって構成されることになる。
図5には書き込みパルス幅を一定にして書き込みワード線電圧を絶対値的に順次高くして書込みを行なう形式のフラッシュメモリに第1の書込みモードと第2の書込みモードを適用した場合のブロック図が示される。
図5に示されるフラッシュメモリFMRY2も粗い書込みモード(第1の書込みモード)と高精度書込みモード(第2の書込みモード)を有し、それらは、書込みパルスの1パルス当たりのしきい値電圧の変化量が異なる動作モードとされる。図1との相違点は、図43の(b)のように書き込みパルス幅を一定にして、書き込みワード線電圧を絶対値的に順次高くして書込みを行なうことである。そこで、書込み1パルスあたりのメモリセルしきい値電圧の変化量がΔVth1である第1の書込み(粗い書込み)のための第1の書込み電圧列発生手段120と、しきい値電圧変化量がΔVth2である第2の書込み(高精度書込み)のための第2の書込み電圧列発生手段(高精度書込み)121を備える。
図6の(a),(b)には第1の書き込みと第2の書き込みの特性が示されている。前述のように、個々の書き込みパルス幅(書込み時間)は一定であり、書込み動作が進むに従って書込み電圧が漸増される。
図6の(c),(d)には第1の書き込みと第2の書き込みによるメモリセルMCのしきい値分布が示される。
このフラッシュメモリFMRY2も図1の場合と同様に、第1のパルス列発生手段による書込み動作時に用いる第1のベリファイ電圧発生手段102、第2のパルス列発生手段による書込み動作時に用いる第2のベリファイ電圧発生手段103を有する。それらは、前述と同様に、書込みモードに応じて切換え手段104で切換えられる。
このフラッシュメモリFMRY2の場合、図3及び図4で説明したフローチャートにおいて、書込みパルス時間の増分を変化させる代わりに、書込み電圧の絶対値の増分を変化させれば、同様の制御が可能にされる。図60の構成との対応は図1の場合と同様であるからその説明は省略する。
図7は第1の書込みモードと第2の書込みモードを指定するための条件を設定する設定手段を有するフラッシュメモリFMRY3のブロック図が示される。すぅなわち、図4で説明した書直しモードに代表されるように、第1の書込みモードと第2の書込みモードを有する場合に、最初に第1の書込みモードで粗く書いた後、第2の書込みモードで高精度に書換える手法を採る代わりに、ΔVTh1のモード(粗い、第1の書込みモード)とΔVTh2のモード(高精度、第2の書込みモード)とを特定の条件で切り換えて用いることも可能である。その条件は切換え条件設定手段130に設定される。
図8には切換え条件が例示されている。例えばメモリセルMCの特性劣化の程度がさほど進んでいないと考えられる書換え回数1万回程度までは第1の書込みモードとして書込み動作を最優先させ、それ以降はメモリセルの特性劣化による影響を考慮して第2の書込みモードとする。そのための書換え条件設定手段130は切換えを実行するときの書換え回数が設定される。このとき、書換え回数は、例えば、メモリマットに割り当てられた管理領域に保存され、切換え手段104はタイマ等を介して定期的にその書換え回数が設定条件を超えたかを判定し、超えた場合には、外部から書込みモードが指示されたときは、第1の書込みモードから第2の書込みモードにする。またタイマ等を利用してデータ保持期間によって切換えることも可能である。また、ブロック、セクタ(例えばワード線毎の記憶領域)等の記憶領域を指定条件とすることができる。その条件はそれら領域のメモリアドレスによって与えることができる。この場合、切換え手段は、書込みアドレスと設定された条件アドレスを比較して、第1の書込み又は第2の書込みを選択する。アドレスの設定のために切換え条件設定手段130にはヒューズプログラム回路を採用することができる。或いは、フラッシュメモリのチップ単位で条件を設定することができる。例えば、第1の書込みモードが指定されているチップは、外部から書込み動作が指示されると、第1の書込みモードで書込みを行なう。この場合の切換え条件設定手段130はアルミマスタスライスなど、製造プロセスで配線パターンマスクの変更で条件設定される形式が能率的である。
図9には書込み電圧パルス幅を第1の書込みモードと第2の書込みモードで同一とし、書込み電圧を第1の書込みモードと第2の書込みモードで相互に相違する一定電圧とする場合の例が示される。即ち、第1の書込みモードと第2の書込みモードに共用されるパルス列発生手段140と、第1の書込み電圧発生手段141と、第2の書込み電圧発生手段142とが設けられている。第1の書込み電圧発生手段から出力される一定の第1の書込み電圧VBと、前記第2の書込み電圧発生手段142で発生される第2の書込み電圧VAを切換え手段143によりスイッチS1,S2で選択し、選択された書込み電圧がパルス列発生手段140に与えられる。パルス列発生手段140は、与えられた電圧のパルス列を書込み電圧として、X系選択回路に出力する。
第1の書込みモードでは書込み電圧の絶対値はVBであり、第2の書込みモードでは書込み電圧の絶対値はVAである(VB>VA)。
この時の書込み特性としては、図10の(a),(b)に示されるように、書込み時間(対数スケール)に対するしきい値電圧の変化の傾きが双方共にK1で変わらない場合を想定する。このとき、VB>VAであるから、第1の書込みモードでは最初の書込みパルスによるしきい値の変化量は、第2の書込みモードに比べて大きくなる。したがって、目的のしきい値電圧までの書込みパルスの印加回数は第1の書込みモードの方が第2の書込みモードに比べて少なくなる。即ち、書込み動作を高速化できる。
また、図10の(c),(d)に示されるように書込み時間(対数スケール)に対するしきい値電圧の変化の傾きが、第1に書込みモードの方が第2の書込みモードに比べて大きくなる(K2>K1)場合を想定する。実際にはメモリセルMCの物理的な特性から一般にそうなる場合が殆どであると考えられる。第1の書込みモードでは書込み電圧がVBでは傾きがK2であり、第2の書込みモードでは書込み電圧がVA での傾きがK1と異なり、K1>K2、VB>VAの時、最初の書込みパルス電圧によるしきい値の変化は前述のように第1の書込みモードの方が第2の書込みモードより大きくされ、しかも、1回の書込みパルス電圧によるしきい値電圧の変化量もVBではΔVth2となり、VA でのΔVth1よりも大きくされる。このため、目的のしきい値電圧までの書込みパルスの印加回数は第1の書込みモードの方が第2の書込みモードに比べて少なくなる。即ち、書込み動作を高速化できる。
図9の構成によって得られる図10の(e),(f)に示されるしきい値電圧分布は、図1の構成による場合と同じ傾向にされる。
図9の構成において第1の書込み電圧発生手段141及び第2の書込み電圧発生手段142は、図60の構成におけるチャージポンプ回路84で実現され、切換え手段143及びパルス列発生手段140は図60の電源切換え回路83及び電源制御回路82、そしてそれらを制御するコマンドデコーダ73、ROM制御回路74、ROM75及びROMデコーダ76によって構成することができる。
尚、図示は省略するが、図5及び図6で説明したように、書込みパルス幅を一定とし、書込み電圧を次第に増加せせる形式で書込みを行なう場合には、書込み電圧列を第1の書込みモードと第2の書込みモードで相互に同一とし、パルス電圧幅を、第1の書込みモードと第2の書込みモードで相違させることができる。この場合における書込み動作の傾向は図10の場合と類似とされる。
図11には第2書込みモードによる高精度書込みを多値書込みとするフラッシュメモリの一例が示される。図12には2値書込みと多値書込みの夫々におけるメモリセルのしきい値分布が示される。
図11に示されるフラッシュメモリFMRY5において第1の書込み電圧印加用パルス列発生手段150によって、図1及び図2で説明した第1の書込みモードと同じように粗く書き込むための書込みパルス電圧を発生する。これによる書込みデータは図1等で既に説明したものと同様に、2値である。このとき、消去
レベルはVt1〜Vt2であり、書込みレベルはVt3〜Vt4とされる。第2の書込み電圧印加用パルス列発生手段151は図1及び図2で説明した第2の書込みモードと同じように高精度に書き込むための書込みパルス電圧を発生する。この場合の書込みデータは多値、例えば4値とされる。多値の書込みのために図11ではビット線の端に多値用のデータバッファ152、153が設けられている。多値書込みされたメモリセルのしきい値電圧分布は、消去レベルがVt5〜Vt6であり、書込みレベルは3値あり、Vt7〜Vt8、Vt9〜Vt10、Vt11〜Vt12とされる。
第1のベリファイ電圧発生手段154は第1の書込みモードによる2値書込みのためのベリファイ電圧を発生する。第2のベリファイ電圧発生回路155は第2の書込みモードによる多値書込みのためのベリファイ電圧を発生する。
選択制御手段156は、第1の書込みモードによる2値書込みでは第1の書込み電圧印加用パルス列発生手段150からの書込みパルス電圧を選択し、第2の書込みモードによる多値書込みでは第2の書込み電圧印加用パルス列発生手段151からの書込みパルス電圧を選択する。選択制御手段157は、第1の書込みモードによる2値書込みでは第1のベリファイ電圧発生手段154からのベリファイ電圧を選択し、第2の書込みモードによる多値書込みでは第2のベリファイ電圧発生手段155からのベリファイ電圧を選択する。
2値書込みモードのVt2は多値書込みモードのVt6と等しく、Vt3はVt7と等しい場合がある。2値モードは粗く書き込む第1の書込みモードとされる。粗い書き込みができるのは、多値モードのVt7〜Vt12のなかにVt3〜Vt4のみを設ければ良いからである。多値モードではしきい値分布を狭くする必要があるので書き込みパルスの1パルス当りのしきい値電圧変化量を小さくする必要があり、書込み動作は遅くなるが、記憶容量は2倍となる。
多値書込みの詳細については後で説明するが、例えば一つのメモリセルの記憶データを4値とする場合、2値データ2ビットが一つのメモリセルの4値の記憶データを構成することになる。したがって、書込みでは、2ビットのデータをデコードし、そのデコード結果に従ってVt7,Vt9,Vt11のどこまでを目標にして書込みを続けるかが制御される。これに呼応して、書込みベリファイ電圧も前記デコード結果に従って例えばVt7,Vt9,Vt11の中から一つが選択される。読み出しでは、ワード線レベルがVt6〜Vt7,Vt8〜Vt9,Vt10〜Vt11の間の電圧(Vr3,Vr2,Vr1)に夫々切換えられ、夫々の場合で得られる読み出しデータをエンコードして、夫々2値の2ビットのデータに変換する。多値用データバッファ152,153は一つのメモリセルに対する3回の読み出しに際して先の読み出しデータを退避するラッチ回路である。これらの制御は書換え制御手段159Aで行なわれ、前記デコードやエンコードはデータ変換回路158で行なわれる。
また、多値書込みか2値書込みかは前述の説明通り、コマンドで任意に指定することが可能である。また、書直し制御手段159Bを用いて、最初2値で高速に書込んだデータを、後から多値で書直すという動作を選択することも可能である。
図13には2値で書込んだデータを多値で書直す時の動作例が示される。例えばワード線WL1上のメモリセルの2値データを読出して一旦前記バッファ152に保持する。次にワード線WL2上のメモリセルからデータを読出して今度は別のバッファ153にその読み出しデータを保持する。このようにして夫々2値の2ビットのデータがデータバッファ152,153にラッチされると、当該2ビットのデータはデータ変換回路158でデコードされ4値書込みのための書込みデータが生成され、センスラッチにそのデータが与えられる。その後、前記デコードされた情報を前記書換え制御手段159Aが用いて、ワード線WL3の所定のメモリセルに、そのデータが4値のうちの一つの論理値として書込まれる。前記2ビットのデコード結果によっては書込み非選択で済む場合も当然ある。
図14には2値データを多値データに変換する別の例が示される。図13の場合には同一ワード線上の隣接する2個のメモリセルが保有する2ビットを4値のデータに変換した。図14の場合には、バッファ152の全てのデータの後にバッファ153のデータを並べて、このデータ列に対して最初から2つずつ区切っていって、各々の区切られた2ビットを夫々4値のデータに順次変換する。
図15〜図19には2ビットの2値データによる4値書込み動作の手順が示される。各図には4値データの4値“01”、“11”、“10”、“00”が夫々示されている。この4値の夫々におけるメモリセルのしきい値電圧は状態“01”、“11”、“10”、“00”に対応されることになる。図15に示されるように、上記4値のデータが書込まれるメモリセルは最初、消去状態とされている。即ち、状態“00”である。4値“01”、“11”、“10”、“00”に対するセンスラッチSL1〜SL4への書込みデータは図16に示されるように、“1”、“1”、“1”、“0”とされる。センスラッチにラッチされたデータ“1”は書込みを実施させ、“0”は書込み非実施とさせる。書込動作は、図16に示される第1の書込み、図17に示される第2の書込み、図18に示される第3の書込みとされる。第1乃至第3の一連の書込みは対応するセンスラッチの書込みデータが“0”にされるところまで進められる。第1乃至第3の各書込みは、ベリファイ電圧が相違されるだけであり、書込みパルス電圧の印加制御は同一である。
図16の第1の書込み(ベリファイ電圧=Vt7)が行なわれた場合には、書込み対象とされるメモリセルのしきい値電圧は状態“01”にされる。したがって、4値データ“01”に対応されるメモリセルのセンスラッチが“0”に反転され、“01”の書込みが完了される。即ち、第1の書込みは消去状態から“01”のしきい値状態を得るための書込み動作とされる。
第1の書込みに続けて、図17の第2の書込み(ベリファイ電圧=Vt9)が行なわれた場合には、書込み対象とされるメモリセルのしきい値電圧は状態“11”にされる。したがって、4値データ“11”に対応されるメモリセルのセンスラッチが“0”に反転され、“11”の書込みが完了される。即ち、第2の書込みは、第1の書込みに続けて行なうことによって“11”のしきい値状態を得るための書込み動作とされる。
第2の書込みに続けて、図18の第3の書込み(ベリファイ電圧=Vt11)が行なわれた場合には、書込み対象とされるメモリセルのしきい値電圧は状態“10”にされる。したがって、4値データ“10”に対応されるメモリセルのセンスラッチが“0”に反転され、“10”の書込みが完了される。即ち、第3の書込みは、第1及び第2の書込みに続けて行なうことによって“10”のしきい値状態を得るための書込み動作とされる。
図20に示されるフラッシュメモリFMRY6は、前記第1の書込みモードによる粗い書込み専用のメモリマット1A,2Aと、第2の書込みモードによる高精度書込み(多値書込みを含む)専用のメモリマット1B,2Bを物理的に分けるようにしたものである。メモリマット1A,2Aのセンスラッチアレイと、メモリマット1B,2Bのセンスラッチアレイは夫々個別化されている。
図21に示されるフラッシュメモリFMRY7は、図13の構成に対し、粗い書込み専用のメモリマット1A,2Aと、高精度書込み専用のメモリマット1B,2Bとに兼用されている点が相違されている。尚、図20及び図21に示された個々の構成及び機能については前述の説明と基本的に同じであるから、その詳細な説明は省略する。
図20及び図21の構成において、メモリマットセルアレー1A,2Aに対する書込みには、第1の書込み電圧印加用パルス列発生及びベリファイ電圧発生手段100,102が用いられる。メモリセルアレー1B,2Bに対する書込みには第2の書込み電圧印加用パルス列発生及びベリファイ電圧発生手段101,103が用いられる。
粗い書込み専用のメモリマット1A,2Aと、高精度書込み専用のメモリマット1B,2Bとでは、メモリセルMCのトンネル膜厚、層間絶縁膜の厚さ、フローティングゲートの大きさ等のメモリセル構造を夫々に最適化するように個別化することができる。
図22には第1の書込みモード(粗い書き込み)による書込みデータと第2の書込みモード(高精度の書き込み)による書込みデータとをメモリマット中に混在させる場合の例が示される。例えば、メモリマット1,2の一群のメモリセル(以下セクタと称する)毎に、第1の書込みモードによる粗い書き込みデータと第2の書込みモードによる高精度の書き込みデータとを混在させるために、セクタの一部を管理領域160とし、この領域160に第1の書込みモードで書込まれたデータか第2の書込みモードで書込まれたデータかを識別するための識別情報を書込んでおく。図22において、MR1〜MRn、MC1〜MCmが一つのセクタであり、このうちMC1〜MCmがそれに対応する管理領域とされる。前記識別情報は、MC1〜MCmの適当なビットに割り当てられることになる。管理領域160にはその外のセクタ管理情報の記憶領域が割り当てられている。図22では管理領域160のワード線WL21とそれ以外のセクタの部分(通常領域)161のワード線WL11とを分けてある。これは、例えばセクタデータの消去を、管理領域160におけるセクタデータの有効性を示すバリッドビットの反転で済ませたりすることができるようにするためであり、セクタデータの管理方式によっては同一ワード線上に配置してもよい。尚、図22ではフラッシュメモリのその他の構成は図示を省略してあるが、例えば図1に示される回路がその他に備えられている。
図23には図22の構成を採用した場合の書込み動作のフローチャートが示される。書込みにおいて、書込みデータがセンスラッチにロードされると、第1の書込みモード(粗い書き込み)か、第2の書込みモード(多値を含む高精度書き込み)かによって、これまでの例で説明してきた第1の書込みモードのための書込み電圧パルス又は第2の書込みモードのための書込み電圧パルス(多値書込みも含む)を選択する。第1の書込みモードならば例えば“1”が当該セクタの管理領域に書込まれ、第2の書込みモードならば例えば“0”が当該セクタの管理領域に書込まれる。このとき、後述の管理領域のデータを読み込んでから第1の書込みモードによるデータであるか第2の書込みモードによるデータであるかを判断するためには、管理領域の消去と書き込みのしきい値電圧分布は、通常領域に対するデータ書込みが第1の書込みモード又は第2のモードの何れでも同じであることが望ましい。このために、図22では、管理領域160と通常領域161とに夫々別々のX系選択回路を設けてある。これにより、管理領域160に対するベリファイ時のワード線電圧を、通常領域161のベリファイ時のワード線電圧と独立に設定できるので、通常領域が第1の書込みモードで書込まれるのか第2の書込みモードで書込みされるのかに拘らず、管理領域160のメモリセルに対しては一定の消去と書き込み状態を達成できる。
図24には図22の構成を採用した場合の読み出し動作のフローチャートが示される。通常領域161からデータの読出す場合には、先ず、対応セクタの管理領域160からセクタ管理情報が図60のカラム系回路60を介して書込み・消去判定回路80に供給される。供給されたセクタ管理情報に含まれる前記選択情報が“1”であると書込み・消去判定回路80で判定されると、そのセクタの通常領域は第1の書込みモード(粗い書き込み)で書込まれたデータを保有するので、書込み・消去判定回路80の判定結果に基づいて、ROMデコーダ76から制御信号が電源制御回路82に出力されて第1の読み出しワード線電圧が選択され、データ領域(通常領域)161からデータが読出される。一方、“0”であった場合には、第2の書込みモード(多値を含む高精度書き込み)で書込まれているデータをセクタの通常領域から読み出すために、第2の読み出しワード線電圧が選択されてデータ領域(通常領域)161からデータが読出される。
図25は図22の構成を採用した場合の書き直し動作の一例フローチャートが示される。ここでは、アドレスkからアドレスmまでを書き直しの対象とする場合について説明する。アドレスn=kとおき、アドレスnの管理領域のデータを読出す。このデータが“1”である場合は、そのアドレスに対応されるセクタのデータは第1の書込みモード(粗い書き込み)で書き込まれていることになる。その場合には、そのセクタの通常領域161からデータを読み出し、このデータを第2のワード線電圧を選択して元のデータ記憶領域に第2の書込みモード(多値による高精度書き込みを含む)で書き直す。一方、“0”である場合には、既に第2の書込みモード(多値の高精度書き込みを含む)であるので、次のアドレスに移る。以上の動作を、目的とする最終アドレスまで繰り返す。
〔3.粗い書込み〕
以上で説明した各種フラッシュメモリは粗い書込みと高精度書込みの2つのモードを持っていた。次に、粗い書き込みを行なうことに着目して高速書込みを実現するフラッシュメモリの幾つかの例を説明する。すなわち、この項で説明するフラッシュメモリは、粗い書込みモードだけを持つことになる。
図26の(a)に示されるしきい値電圧分布は、電源電圧Vcc例えば3.3Vに対して、書き込みレベル(書き込み時のベリファイワード線電圧と等価)を例えば1.5Vとし、書き込みパルスあたりメモリセルのしきい値電圧が0.1V〜0.2V変化するようにして高精度書き込みを実現したフラッシュメモリのものである。このようにVcc例えば3.3Vに対し、書き込みレベルVwvが例えば1.5Vのような電圧にされているとき、この電圧に、センスアンプ(センスラッチ)で検知するのに必要な電流差を得るためのしきい値電圧差を加えたものが、消去状態の最低電圧Vevとなる。消去状態のレベルは、他に信頼性の点からも決定する必要がある。消去時にはメモリセルのしきい値電圧がVev以上になったか否かを検出して消去パルス電圧の印加を制御する。このようし、Vwvを下げ、これによってVevもできるだけ下げることで低電圧動作と高信頼化を図ることができる。
しかし、メモリセルの特性は、書き込み時に印加する電圧が同じときに、消去状態からVwvのしきい値電圧に達するのに必要な時間で3桁ほどばらついてしまう。このような条件でメモリセルの書き込みを行なうと、メモリセルの通常の特性ばらつきでは、メモリセルのしきい値電圧変化ΔVth1が0.2V以下となる書き込みパルス(幅、電圧)としておかないとメモリセルによってはしきい値電圧が0V以下となる場合があると考えられる。3桁のばらつきは等価なしきい値電圧のばらつきに換算すると3V程度となる。よって、最も書き込みが速いメモリセルのしきい値電圧がVwvとなってから、最も遅いメモリセルのしきい値電圧がVwvとなるまでに、1回の書き込みパルスあたりしきい値電圧の変化量は0.2Vの変化であるから単純に計算して15回のパルスの印加が必要となる。このパルス毎にしきい値電圧が所望の値になったかどうかを判定するベリファイ動作が必要となり、これが書き込み時間の大きなオーバーヘッドになる。
よって、高速に書き込むためには、パルス幅を長くするか電圧を高くするかして、1書き込みパルスあたりの変化量ΔVth1を大きくする。しかし、これによってメモリセルがデプリートしやすくなる。よって、書き込みレベルを高くする。例えば、Vwvを2.0Vにすると、ΔVth1を0.4Vにすることができる。上述の3桁のばらつきを仮定すると、3Vのしきい値電圧ばらつきと等価であるから8回のパルスで良いことになる。それだけベリファイ動作の回数が少なくなるので高速に書き込むことができる。即ち、書き込みレベル(書込み状態のメモリセルのしきい値電圧)を従来はVccの1/2以下にしようとしていたのに対して、図26の(b)に示されるように、Vccの1/2以上とする。尚、チップが2種類以上の電源電圧をサポートしている時、上述の話は最も低い電源電圧に対してあてはまることになる。
また、メモリセルの特性は、書込み時に印加する電圧が同じ時、消去状態からVwvのしきい値電圧に達するのに必要な時間で3桁程ばらつく。3桁のばらつきは、等価なしきい値電圧のばらつきに換算すると3V程度となる。この電圧に換算したばらつきをΔVdvとする。今回は、消去レベル(消去状態にしきい値電圧レベル)及び書込みレベル(書込み状態のしきい値電圧)を相対的に高めとし、1書込みパルス当たりのしきい値電圧の変化量ΔVthを大きくし、ベリファイ動作回数を減らした。このとき、しきい値電圧のばらつきを吸収する(小さくする)のに必要なベリファイ動作回数をnとすると、n=ΔVdv÷ΔVth、となる。この式から、メモリセルの構造や製造条件や個数などによって決まるΔVdvが得られたとき、消去レベル及び書込みレベルからの制限が無いときのΔVthの効果的な設定方法が決まる。すなわち、nは整数であるので、ΔVthを制限可能な刻み幅である0.1V大きくしたときに、nが1回以上減らない場合はΔVthをこれ以上大きくしても、書込み動作速度の向上(書込みベリファイ回数の低減)という点で意味がないことになる。ここでは、書込みレベルの制限を外しているとはいえ、ΔVthを大きくすればするほど、書込み後のしきい値電圧分布は大きくなり(ばらつきが大きくなり)、デプリートし易くなる。また、移動電荷量も大きくなり、絶縁膜は移動出来る電荷量の累積値が10クーロン程であるから書換え可能回数も少なくなってしまう。これによるならば、ΔVthは小さい方がよい。よって、nが1回以上減らない場合には、ΔVthが最適な値であると考えられる。すなわち、ΔVthを仮想的に0.1V増やしたとき、ベリファイ回数が1回以上減らなくなったときのΔVthの値を、粗い書込みに採用すればよい。尚、書込みレベルがリードディスターブから制限を受けて決まる場合には、書込みレベルの上限(最大ΔVth量)が決定される。
図27は、上記の事柄を消去レベル及び書き込みレベルと1書き込みパルスあたりのしきい値電圧の変化量の点から示したものである。消去時の判定電圧をVev(ベリファイ時のワード線電圧)とすると、メモリセルのしきい値電圧はこのVev以上となる。消去時のしきい値電圧の最大値がVt1である。また、書き
込み時の判定電圧をVwv(ベリファイ時のワード線電圧)とすると、メモリセルのしきい値電圧はこのVwv以下となる。特異なビットを除いた時には、しきい値電圧分布の最低値がVt4である。このとき、VevとVwvの間のしきい値電圧をもつメモリセルは存在しない。このVevとVwvの間をしきい値電圧のセルウインドウと呼ぶ。このセルウインドウの大きさ(VevとVwvの電圧差)は、凡そ1Vである。この間に、読み出し時のワード線電圧を設定する必要がある。
この1V程度のセルウインドウの中を、1書き込みパルスあたりの0.2V以下の変化量ΔVth1で消去状態から書き込み状態へ移行していたとき、そのしきい値電圧分布は図26の(a)に示される通りである。これに対して、図26(b)では、セルウインドウの中をΔVth1=0.4V以上で消去状態から書き込み状態へ
移行する。これによって、ベリファイ回数が減るのでオーバーヘッドが少なくなり高速書き込みが可能となる。
書込み動作として上記の粗い書込みを行なうフラッシュメモリの構成についてはその全体的なブロック図を提示しないが、これは、図60のフラッシュメモリの構成において、1回の書込み電圧パルスの幅の設定、ベリファイ電圧のレベル設定、ワード線選択レベルの設定など、図60に示される回路ブロックの機能を僅かに変えるだけで実現出来るからである。
図28にはAND型メモリセルにおける書込みの意義とNAND型メモリセルにおける書込みの意義の相違が示される。ここまでの説明では、メモリセルのしきい値電圧を下げる動作を書込み動作と呼んでいるが、これとは逆に、しきい値電圧が比較的低い状態に揃えられたメモリセルを選択的にしきい値電圧の高い状態にする動作(しきい値電圧を上げる動作)を書込みと呼ぶこともある。前者においては、メモリセルのしきい値電圧が0V以下になることは許されない。後者においては、NAND型メモリセル構造を例とすれば、同様の条件は、メモリセルのしきい値電圧がVpw以上となるのが許されないこととなる。Vpwは、読み出し時に非選択メモリセルのワード線に印加する電圧(パスメモリセル用のワード線電圧)である。
図28に示されるようなしきい値電圧分布の上記AND型メモリセル構造の場合、書込み時のベリファイ電圧Vwvを2V又は1/2Vcc以上とする。図28に示されるようなしきい値電圧分布の上記NAND型メモリセル構造の場合、書込み時のベリファイ電圧Vwvとパスメモリセル用のワード線電圧Vpwの電圧差を2V以上又は1/2Vcc以上とする。ちなみに、上述の高精度の書込みモード(第2の書込みモード)と粗い書込みモード(第1の書込みモード)を有するフラッシュメモリにおいて、図28に示されるようなしきい値電圧分布の上記AND型メモリセル構造の場合、書込み時のベリファイ電圧Vwv(0Vとの差である)が2つのモードで異なり、変化量が大きい粗い書込みモードの方を高く設定する。一方、図28に示されるようなしきい値電圧分布の上記NAND型メモリセル構造の場合、ベリファイ電圧VwvとVpwの電圧差が2つのモードで異なり、変化量が大きい粗い書込みモードの方での差を大きく設定することになる。
図29にはメモリセルの消去レベル及び書込みレベルと紫外線照射時のしきい値電圧(熱平衡状態Vthi)との相関関係を図28のAND型メモリセル構造とNAND型メモリセル構造の場合に分けて示してある。紫外線照射時のしきい値電圧Vthiは、概略的にはフローティングゲートにエレクトロンやホールが平衡状態におけるメモリセルのしきい値電圧を意味する。
図29の(a),(b)は、VthiをVevとVwvとの中間に設定したものである。したがってリテンションマージン、リードディスターブマージンが共に満たされる。この状態では、ほぼ同じ時間で消去と書込みを行うことができる。図29の(c),(d)はVthiをVwv側に設定したものである。低い印加電圧で高速に書込みを行うことができる。但し消去の信頼性が相対的に低くなる。図29の(e),(f)はVthiをVev側に設定したものである。図29の(c),(d)とは逆であってリテンションに対して強くなる。
〔4.書込み電圧パルス幅等に対するトリミング〕
図30は最小の書込み電圧パルス幅及び書込み電圧パルス幅の変化の大きさをトリミングできるようにしたフラッシュメモリFMRY8の一例が示される。170は書込み電圧印加用パルス列発生手段、171はトリミング手段、172は全体的な制御手段である。同図に示されるフラッシュメモリにおける書込みは、図1で説明したのと同様に、書込み電圧一定で書込み電圧パルス幅を漸次増加させる形式とされる。このフラッシュメモリFMRY8の基本的な構成は図60の構成と同じであり、書込み電圧パルス幅に対してトリミング可能にするための手段が新たに追加されている。
トリミングの対象は二つ有り、第1は、図31に示されるように最小の書込み電圧パルス幅である。即ち、書込み動作における最初の書込み電圧を与える期間である。図31に示されるチップBをチップAと同じパルス幅で最初の書込み電圧印加を行った場合には、実質的にしきい値電圧が殆ど変化されない無駄な書込み及びベリファイを何回も経なければならず、書込み効率が著しく低下する。最小の書込み電圧パルス幅をトリミング可能であれば、プロセスばらつきによるメモリセルの特性の相違を、フラッシュメモリチップ間で揃えること、若しくは最適化することが可能になる。すなわち、メモリセルのしきい値電圧のシフト量は、書込み電圧が同一であっても、プロセスばらつきなどによって微妙に異なることが予想される。このような特性の相違を、フラッシュメモリのウェーハプロセス等の検査工程で調整可能にすることは、高速書込みを可能にする上で重要である。
トリミング対象の第2は、書込み電圧パルス幅の変化の大きさである。即ち、図32の(a)と(b)に示されるように、パルス幅の漸次増加量をトリミング対象とする。
図33には書込み電圧を変化させる方式において、最小電圧絶対値及び変化の大きさをトリミングできるようにしたフラッシュメモリFMRY9が示される。180は書込み電圧列発生手段、181はトリミング手段、182は全体的な制御手段である。同図に示されるフラッシュメモリにおける書込みは、図5で説明したのと同様に、書込みパルス幅一定で書込み電圧を漸次増加させる形式とされる。このフラッシュメモリFMRY9の基本的な構成は図60の構成と同じであり、書込み電圧に対してトリミング可能にするための手段が新たに追加されている。
トリミングの対象は二つ有り、第1は、図34に示されるように最小の書込み電圧値VA,VBである。トリミング対象の第2は、図35に示されるように書込み電圧値の漸増幅ΔVWA,ΔVWBである。
図36には上記変化の大きさを途中で変えることができる手段を設けたフラッシュメモリFMRY10が示される。190は書込み電圧印加用パルス列発生手段又は書込み電圧列発生手段、191はパルス列設定手段又は電圧列設定手段、192は全体的な制御手段である。このフラッシュメモリFMRY9の基本的な構成は図60の構成と同じである。
例えば書込み電圧一定でパルス幅を漸増させる形式の書込みを行うものである場合、図37の(a)に示される書込み特性で例示されるように、チップ毎に書込み時間に対するしきい値電圧の変化の割合を変えることができる。例えば、図37の(b)に示されるように、直前のパルス幅に対するパルス幅の増加率がr1倍であるとき、途中からr2倍に変更することができる。また、図37の(c)に示されるように、当初の電圧増加量Vr1を途中からVr2に変更することができる。また、特に図示はしないが、変化の大きさを途中で変えるとは、途中で変化させなくすること(一定値にする)を含む概念である。
図38乃至図42には、図30乃至図32で説明した前記パルス幅をトリミングするための具体的な構成が示されている。図38には前記書込み電圧印加用パルス列発生手段(パルスジェネレータとも称する)170の一例が示され、図39にはトリミング手段171の一例が示され、図40にはトリミング手段に含まれるアドレスジェネレータが示され、図41にはアドレスジェネレータに含まれるトリミング回路の一例が示され、図42にはパルスジェネレータやアドレスジェネレータを構成するカウンタユニットの一例が示される。
先ず、図42に示されるカウンタユニットBCにおいて、CLKはクロック入力端子、Ciは下位からのキャリー入力端子、Doはデータ出力端子、Ci+1はキャリー出力端子、Diはプリセットデータ入力端子、Loadはプリセットデータ入力端子からのデータ入力指示信号である。同図には、プリセットデータのロードタイミングと、カウントアップ動作のタイミングも示されている。
図38に示されるパルスジェネレータ170は直列接続された所定複数段の前記カウンタユニットBCを有し、クロック入力端子CLKはクロック信号CLK2が共通接続されている。このパルスジェネレータは、プリセットデータを計数値の初期値とする。カウンタユニットBCの各桁出力はAND等の論理ゲートに供給され、このANDゲートの出力が書込み電圧パルスとされる。前記カウンタユニットBCの各桁が全部ビット“1”にされることによってクロックパルスの周期が決定される。したがって、パルスジェネレータのビット数に対して、プリセットデータが小さいほど、書込み電圧パルス幅は大きくされる。
図39に示されるトリミング手段は、前記パルスジェネレータ170のプリセットデータを生成する。即ち、ROMのメモリアレイ1710は、パルスジェネレータ170のプリセットデータとして、特に制限されないが、全ビット“0”から全ビット“1”までの値がROMワード毎WD0〜WDmに順番に位格納されている。ROMワードの選択はデコーダ1712が行う。選択されたROMワードから読出されるプリセットデータはセンスアンプ1711で増幅されてパルスジェネレータ170に供給される。
前記デコーダ1712にアドレス信号A0〜Ajを供給するアドレスジェネレータ1713は、図40に示されるように、直列接続された所定複数段の前記カウンタユニットBCを有し、クロック入力端子CLKはクロック信号CLK1が共通接続され、また、カウンタユニットBCの間にはトリミング回路1714が配置されている。ロード信号load1はそのハイレベルによってアドレス出力を初期化することができる。
トリミング回路1714は図41に示される回路構成を備えている。ヒューズFUS1,FUS2の非切断状態では、前段からのキャリーCi+1(Cix)を後段に、前段からのデータD0(Aix)を桁信号として出力する。一方のヒューズFUS1を切断すると、後段へのキャリー出力Ciと桁信号Aiは常時“1”にされる。ヒューズFUS1,FUS2を切断すると、後段へのキャリー出力Ciは常時“1”、桁信号Aiは常時“0”にされる。したがって、アドレスジェネレータ1713は、ヒューズFUS1,FUS2の切断状態に応じてアドレス信号A0〜Ajの任意のビットを“1”又は“0”に固定することができる。したがって、カウンタユニットBCに配置されたトリミング回路1714のヒューズFUS1,FUS2を最下位側から所定個数プログラムすることにより、ROMのメモリアレイ1710から選択するワードの順番を1本置き、2本置き等のように設定することができる。上位側のカウンタユニットBCに配置されたトリミング回路1714のヒューズFUS1,FUS2をプログラムすれば、ROMのメモリアレイ1710から最初に選択するワードを任意に指定することができる。これにより、図30乃至図32で説明したように、前記書込み電圧パルスの最小幅と、漸増幅を任意に設定することができる。
図44には電源回路をトリミングするための回路構成が示されている。同図に示される電源回路180は図60の基準電源84やチャージポンプ回路84に相当される。オペアンプ181の反転入力端子(−)には制御信号B1〜Bjによって0.1V刻みで電圧を入力出来るようになっている。電源回路180の出力電圧Vは抵抗回路182を介してオペアンプ181の非反転入力端子(+)に帰還されている。この抵抗回路182は、制御信号H0〜Hiによって帰還抵抗を選択する。オペアンプ181や抵抗回路182は図60の電源制御回路82に含まれ、制御信号B1〜Bjは特に制限されないが図60の冗長ヒューズトリミング回路67から供給され、制御信号H0〜Hiは特に制限されないが図60のROMデコーダ76から供給される。
図44において例えばVcc=3V、i=12、j=20、電源回路180は負の電位を出力できるものとする。このとき、B10=ハイレベル、B1〜B9=ローレベル、B11〜B20=ローレベルとするとオペアンプ181のリファレンス電圧は1Vにされる。ここで、フラッシュメモリチップの製品ばらつきによってB10によって1Vが印加されない場合、他の信号B1〜B9,B11〜Bjを選択することによって1Vを確実に得ることができる抵抗回路182で分圧された電圧Vaをオペアンプ181で比較し、Va>1のときは電源回路180を動作させ、Va<1のときは電源回路180の動作を停止させる。停止条件は、Hk=ハイレベル、H0=H1=…Hk-1=Hk+1=…Hi=ローレベルのとき、V+(Vcc−V)k/(1+i)=Vrefxxとされる。Vrefxxは信号Bjで印加される電位である。この式を上記条件で解くと、V=(13−3k)/(13−k)によってH9を選択するとV=−3.5V、H10を選択するとV=−5.7V、H11を選択するとV=−10Vとされる。このように信号Hiを変化させることによって、書込み中に電位を変化させることが可能である。
〔5.ディジタルスチルカメラなどへの応用〕
上記粗い書込みで記憶されたデータを高精度(含む多値)書込みで書き直す手法を採用したフラッシュメモリをディジタルスチルカメラに応用した場合について説明する。
図45にはそのようなディジタルスチルカメラが示されている。このカメラによれば、通常の撮影は粗い書込みで高速に行い、書込と書込の間、又はカメラの電源を切ったり、レンズカバーを閉めたりしたときに、粗い書込みで書き込まれているデータを高精度に書込みし直すようにするものである。図45においてCOFで示されるものは、書込みと書込みの間であること、カメラの電源を切ったこと、レンズカバーを閉めたこと(これによって電源を切った状態となる)を検出する検出手段である。レンズからの画像は撮像手段CCDで検出され、エンコーダENCでエンコードされ、入出力回路IOからメモリカード191に与えられる。メモリカード191は制御回路ASICがメモリチップM1, M2の制御などを行う。メモリチップM1.M2は前記第1の書込みモードと第2の書込みモードを有し、書き直し手段105を有する図1で説明したフラッシュメモリ等である。書き直しの手順は、基本的に図4で説明した通りである。書き直しモードの指定(コマンド)は、検出手段COFの出力によって与えられ、撮影の間などに自動的に行われるようになっている。
図46には図45のディジタルスチルカメラによる書き直し動作の一例が示される。この手順はステップ192で管理領域を参照し、高精度書込みがなされていない場合に、粗い書込みデータを高精な書込みで書き直しするものである。その処理はその処理は、カメラカバーを閉じる操作に連動して、先頭アドレスから最終アドレスに対して行われる。管理領域を参照する書き直しの基本的な処理は、図22〜図25に基づいて説明した通りである。
図47には図45のディジタルスチルカメラによる書き直し動作の別の例が示される。この手順は、今撮影して粗い書込みしか行っていないセクタアドレスの情報が格納される書き直しアドレス格納バッファが設けられている場合に、それに格納されているセクタアドレス情報に基づいて、書き直しデータ領域を取得するものである。
書き直しのタイミングは、上記の他に、カメラ又はコンピュータシステムにおいて、メモリカードを抜くと同時に粗い書込みで書き込まれたデータを高精度書込みで書き直しを実行することも可能である。カメラ又はコンピュータシステムで使用中は粗い書込みで高速動作させ、メモリカードをその装置から抜いて保管させておくときはリテンションに優れる高精度書込みとする。
図48には、メモリカードの引き抜きによるVccの低下を制御回路DTが検知したとき、メモリカード内のコンデンサC1の電荷で書き直しを行うようにしたメモリカードが示される。Vccが低下すると、制御回路DTの制御によってスイッチS1,S21がオフされ、外部のVccから切り離され、制御信号RWに書き直し開始が指示される。そうすると、スイッチS22がオンされ、フラッシュメモリM1,M2に書き直し用の電源が供給される。メモリカードを差し込む時にスイッチS21が遅れてオンすればメモリへの電源供給は遅れない。なお、コンデンサC1は制御回路DTで発生したVccよりも高い高電圧で充電しておいてもよい。
図49の例は、図48と同様の目的で構成されているが、Vcc'にコンデンサC1を直接接続することで構成を簡単にしている。
図50の例も図48と同様の目的で構成されているが、メモリカード内に書き直し動作用の電池193を設けている。
図51は図26及び図27で説明した粗い書込みだけを行うフラッシュメモリの応用例システムが示される。図27で説明した粗い書込みだけを行う第1のフラッシュメモリ200はCPU201と第1のバス202で接続されている。このような第1のフラッシュメモリ200は高速書込みが可能であるからCPU201のメインメモリとしての利用に位置付けられている。メモリコントローラ(MC)203を介して第2のフラッシュメモリ204が第2のバス205に接続されている。第2のフラッシュメモリ204は高精度の書込み(含む多値)を行うものであり、例えば、データ保持時間が長いことが要求されるようなファイルメモリとしての利用に位置付けられている。
図52には前述の各種フラッシュメモリを用いたファイルメモリシステムの一例ブロック図が示されている。90で示されるものは、特に制限されないが、PCカード化されたフラッシュメモリカードであり、ATA(AT Attachment)カードの一種とされる。このフラッシュメモリカード90は特に制限されないがIDE(Integrated Device Electronics)に準拠した標準バス91を介してパーソナルコンピュータ等のコンピュータ99に図示を省略するコネクタを介して着脱自在に装着可能にされる。
フラッシュメモリカード90は、バスインタフェース部92、ライトバッファ93、ECC回路94、マイクロコンピュータ95、フラッシュメモリ96及び管理テーブルメモリ97を有し、それらは内部バス98に共通接続されている。
前記バスインタフェース部92はATAカード等の仕様に準拠するように標準バス91との間でのインタフェース制御を行う。ライトバッファ93は標準バス91から供給される書込みデータを一時的に蓄えるデータバッファであり、フラッシュメモリ96にはライトバッファ93に蓄えられたデータが書き込まれる。前記ECC回路94はフラッシュメモリ96に格納されたデータの精度を向上させるためのエラー検出及びエラー訂正機能を有する回路である。前記管理テーブルメモリ97は例えばフラッシュメモリやEEPROMのような電気的に書き換え可能な半導体メモリによって構成され、セクタ管理テーブルと書き換え回数管理テーブルが形成されている。セクタ管理テーブルにはフラッシュメモリ96の不良アドレス等が書き込まれる。特にフラッシュメモリの場合、書き込み/消去を繰り返して行なううちにメモリセルの特性が劣化するのでそのようなアドレスを保持することが必要である。書き換え回数管理テーブルはフラッシュメモリ96におけるメモリセルの書き換え回数を例えばフラッシュメモリのブロック毎に管理する情報を保有する。フラッシュメモリのメモリセルの特性は所定の書き換え回数の範囲内で保証されている。前記マイクロコンピュータ95はフラッシュメモリカード90に対するアクセス要求に従ってカード内部を全体的に制御し、例えばフラッシュメモリに対する動作の指示や前記コマンドを発行してフラッシュメモリ96をアクセス制御したり管理テーブルメモリ97を制御する。
〔6.多値書き込み可能なフラッシュメモリの他の例〕
図61には前記多値書込みが可能なフラッシュメモリの更に別の例が示される。このフラッシュメモリは、一つのメモリセルに2ビットの情報を書き込むこと、即ち4値でデータを書込むことができ、そして当該情報を読み出すことができる。更に、前述したように、2値でデータの書込みを高速に行い、その後、2値のデータを4値で書直しすることが可能にされている。
図61において303で示されるものは、メモリセルアレイであり、センスラッチ回路304を挟んで両側に配置されている。図61では代表的に片側のメモリセルアレイだけが図示されているが、実際には紙面の表裏方向、即ちメモリセルアレイ303の深さ方向にもう一つのメモリセルアレイが配置されているものと理解されたい。メモリセルアレイ303は、フローティングゲートとコントロールゲートを備えた多数のメモリセルを有し、メモリセルのコントロールゲートはワード線306に、メモリセルのドレインはビット線305に、メモリセルのソースは図示しないソース線に接続される。ワード線306及びビット線305は代表的にそれぞれ1本づつ示されている。ワードドライバ307はロウデコーダ308から出力される選択信号に基づいてワード線を駆動する。ビット線305の一端側にはセンスラッチ回路304が設けられ、また、ビット線305はカラムデコーダ311から出力される選択信号に基づいてカラムスイッチ回路で選択され、選択されたビット線がメインアンプ310に導通される。図61においてカラムスイッチ回路はセンスラッチ回路304に含まれているものと理解されたい。カラムデコーダ311及びロウデコーダ308にはアドレスバッファ313からアドレス信号が供給される。消去、書込み、読み出しなどの動作モードに応じて必要とされるワードドライバ307等の動作電圧の切換えは電源切換え回路309によって行われる。制御回路312は図示しないアクセス制御信号やクロック信号318を外部から受け、また、データバスなどを介してコマンドが供給される。制御回路312はコマンドに従って内部動作を制御する。その制御手法は、特に制限されないが、図60で説明したフラッシュメモリと同様であり、コマンドのデコード結果に従ってROMをアクセスし、ROMから読出される制御コードをデコードすることによって各種内部制御信号を生成する様になっている。コマンドによってフラッシュメモリに指定される動作モードは、特に制限されないが、前記第1の書込みコマンドによる粗い書込み、そして前記書直しモードを含んでいる。読み出しや消去動作モードを備えていることは言うまでもない。図61に示されるフラッシュメモリにおいて、一方のメモリセルアレイ303は第1の書込み(粗い書込み)専用領域とされ、図示を省略した他方のメモリセルアレイは第2の書込み(高精度書込み)専用領域とされる。書直しモードが指定された場合には、前者メモリセルアレイにおける2個のメモリセルのデータが一単位として、後者のメモリセルアレイの1個のメモリセルに4値の内の一つの値で書込まれる。
図61に示されるフラッシュメモリにおける4値書込み技術によって書込みされた一つのメモリセルの情報記憶状態は、消去状態、第1の書込み状態、第2の書込み状態、第3の書込み状態の中から選ばれた一つの状態とされる。全部で4通りの情報記憶状態は、夫々2値の2ビットのデータによって決定される状態とされる。即ち、2ビットのデータを一つのメモリセルに記憶することができる。そのために、書込み動作時にワード線に印加する書込みベリファイ電圧を相互に異なる3種類設定し、これらを順次切り替えて、3回に分けて書込み動作を行い、これら各書込み動作において、書込みを行うメモリセルに接続されたセンスラッチ(センスラッチ回路304に含まれるセンスラッチ)に保持させる2値(1ビット)の書込みデータ“0”または“1”(‘LOW’または‘High’)を、前記3回に分けた書込み動作の各書込み動作毎に制御する、書込みデータ変換回路301を設け、一つのメモリセルに4値(2ビット)の情報を書込む。また、読出し動作時にワード線に印加するワード線選択レベルとしての電圧を3種類設定し、3回の読出し動作でメモリセルから読み出される夫々2値(1ビット)のデータをセンスラッチ回路304を介して取り込み、3回の読出し動作終了後に2ビットで4値の情報に変換する読み出しデータ変換回路302を備える。
書直しモードでは、メモリセルから2ビットで合計4値データを読み出し、これを前記書込みデータ変換回路301を通して1ビットで4値のデータとして、4値専用のメモリセルアレイに書込む。
図61を用いて、4値データの書込み動作及び4値データの読み出し動作について、その概要をまず述べる。
4値書込み動作は書き込む2値(1ビット)のデ−タ列をDin16からメインアンプ310で増幅して書込みデ−タ変換回路1へ信号線317を通して送る。この書込みデ−タ変換回路301は、書き込む2値(1ビット)のデ−タ列を、例えば奇数ビット、偶数ビットに分離してメモリセルアレイ303中の非選択のメモリセルに接続されるセンスラッチ(非選択センスラッチと言う)に信号線318を通して転送し、一時的にラッチさせる。そのような非選択センスラッチはデータバッファとして兼用される。そして、書込みデータ変換回路1は、「書込み1(第1の書込み状態を得るための書込み動作)」、「書込み2(第2の書込み状態を得るための書込み動作)」、「書込み3(第3の書込み状態を得るための書込み動作)」の各動作毎に、非選択センスラッチが保持しているデータを信号線318を通して取り込み、それを、「書込み1」、「書込み2」、「書込み3」に応じて、選択されたメモリセルに書き込む4値(2ビット)のデ−タに対応した2値(1ビット)のデ−タ“0”または“1”('Low'または'High')に変換し、変換したデータを信号線318を通して、選択されたメモリセルに接続されたセンスラッチ回路304の中のセンスラッチ(選択センスラッチと言う)に転送し、これにラッチされた2値データに従って、前記「書込み1」、「書込み2」、「書込み3」の各書込み動作が行われる。
こうして、奇数ビット、偶数ビットに分けられた2値のデ−タを、非選択となるメモリセルのセンスラッチに一時的に保持させて、ベリファイ電圧の異なる3回の書込み動作(「書込み1」〜「書込み3」)毎に、書込み変換回路301を用いて2値(1ビット)の書込みデ−タを合成し、ベリファイ電圧がそれぞれ異なる書込み動作を行うことによって、一つのメモリセルに4値(2ビット)の情報を書き込むことができる。
読出し動作では、異なる3種類の電圧が順番にワード線306に印加され、各3回の読み出し動作によってメモリセルアレイ303中のメモリセルから選択センスラッチに読み出される2値(1ビット)の情報“0”または“1”('Low'または'High')は、それぞれ異なる非選択センスラッチに転送されて、一時的に保持される。3回の読み出し動作によって読み出され、選択センスラッチから非選択センスラッチに転送されて、ラッチされた3種類の2値(1ビット)のデ−タ”0”または”1”(“Low”または“High”)は、信号線319を通して読出しデ−タ変換回路302に転送される。読み出しデータ変換回路302は、そのようにして転送されたデータに基づいて、4値(2ビット)のデ−タの上位ビット、下位ビットを合成する。読み出しデータ変換回路302は、合成された上位ビット及び下位ビットを交互に出力させて2値(1ビット)のデ−タ列とし、これが、メインアンプ310で増幅されて、Dout317から出力される。
図62には図61に示されたフラッシュメモリのメモリセルアレイ303及びセンスラッチ回路304に係る回路構成の一部が代表的に示されている。図62に示される構成は、センスラッチSLを挟んでビット線BLの反対側にもビット線BLaが配置されている。特に制限されないが、ビット線BLaはビット線BLと1対1対応で設けられている。アクセスに際しては、相互に一方が他方のリファレンス用ビット線として用いられ、何れがリファレンス用のビット線とされるかは、アクセス対象とされるメモリセルの配置によって相対的に決定される。それに関する制御は前記制御回路312が行うことになる。
図62において、N1〜N8、N1a〜N8aはNMOSスイッチ、SLはセンスラッチ、MC、MCaはメモリセル、VCCは電源電圧、VWELはメモリセルの基板電圧、GNDは接地電位、WL、WLaはワード線、BL,BLaはビット線、S、Saは共通ソース線、DDC、DDCaはビット線をディスチャージするための制御信号線、SiS、SiSaはそれぞれメモリセルMC、MCaのソース側を共通ソース線S,Saに接続する制御信号線、RPC、RPCaは読出し動作時にビット線をプリチャージする制御信号線、PC、PCaは書込みベリファイ動作時にビット線をプリチャージする制御信号線、TR、TRaはビット線とセンスラッチを接続する制御信号線、IOT、IOBは入出力線、YGはセンスラッチと入出力線を接続する制御信号線、PP、PNはそれぞれ、センスラッチSLのPMOSトランジスタ、NMOSトランジスタの動作電源を表す。
前記ビット線BL,BLaは、特に制限されないが、アルミニウム配線によって形成され、1本のビット線BL,BLaには、特に制限されないが、メモリセルの直列回路が配置され(図62にはメモリセルの直列回路は1本のビット線に対して1本が代表的に示されている)、当該複数個のメモリセルの直列回路の中から一つを対応するビット線に導通させるためにNMOSスイッチN2,N2aが設けられている。前記NMOSスイッチN2,N2aは制御信号SiD,SiDaによってスイッチ制御される。
以下、上に述べた4値書込み動作、4値読出し動作についての詳細を説明する。以下では、専ら4値書込みと4値読み出しについて説明する。この内容が理解されれば、書き直しの動作では、2値で書込まれたデータをメモリセルアレイから読出して前記書込み変換回路301を用いて4値書込みを行えばよいことを理解することができる。この時の4値書込みアドレスは前述のフラッシュメモリの例からも明らかなように内部で生成すればよい。例えば2値書込み領域か4値書込み領域かを指示するアドレスビット(例えば最上位ビット)だけを変更して、最初の2値書込みデータの読み出しアドレスを流用することができる。
《1》書込み動作
図63から図73を参照しながら書込み及び書込みベリファイのための構成と作用を詳細に説明する。図63には書込みベリファイ時にワード線に印加する電圧と、4値(2ビット)の情報が書き込まれたメモリセルのしきい値電圧の分布の関係を示す。この場合のメモリセルのしきい値電圧とメモリセルに書込まれた4値(2ビット)の情報の対応づけは、しきい値電圧が一番高いVth0の状態(メモリセルの消去状態)を情報“00”が書込まれた状態とし、しきい値電圧が二番目に高いVth1の状態を情報“01”が書込まれた状態、しきい値電圧が三番目に高い状態Vth2の状態を情報“10”が書込まれた状態、しきい値電圧が一番低いVth3の状態を情報“11”が書込まれた状態としている。
一つのメモリセルに4値(2ビット)の情報を記憶させるには、メモリセルのしきい値電圧の分布を図63の様に、4極化すればよい。書込み動作及びそれに続く書込みベリファイ動作によって、メモリセルのしきい値電圧の分布を制御するために、書込みベリファイ電圧を図63の4個のメモリセルのしきい値電圧Vth0,Vth1,Vth2,Vth3に対して、Vth0>Vv1>Vth1,Vth1>Vv2>Vth2,Vth2>Vv3>Vth3を満たす3種類の電圧Vv1,Vv2,Vv3として、書込みベリファイ動作時にワ−ド線に印加する。図64にそのワ−ド線印加電圧の例を示してある。図64中の「書込み1」、「書込み2」、「書込み3」の各動作は全て、一回の書込みと一回の書込みベリファイ動作の2つを表している。「書込み1」の動作によって、4値デ−タ“01”、“10”、“11”を書込みたいメモリセルのしきい値電圧をVv1より低くし、「書込み2」の動作によって、4値デ−タ“10”、“11”を書込みたいメモリセルのしきい値電圧をVv2より低くし、「書込み3」の動作によっては、4値デ−タ“11”を書込みたいメモリセルのみのしきい値電圧をVv3より低くする。「書込み1」〜「書込み3」の各動作について以下に示す。
「書込み1」、「書込み2」、「書込み3」の各動作は「書込み1」の動作の前に消去動作を行なう点と、書込みベリファイ時にワ−ド線に印加する電圧が異なる2点を除き、図62に代表的に示された回路の動作は共通である。そこでまず、「書込み1」〜「書込み3」の書込み及び書込みベリファイ動作における共通の動作について、図62を用いて説明する。
メモリセルMCに書き込む場合は非反転側の入出力線IOTをハイレベル(以下単に’High’とも記す)、反転側の入出力線IOBをローレベル(以下単に’Low’とも記す)にする。全ての動作において、IOTとIOBは常にコンプリメンタリ信号となる。そして、制御信号線YGを選択レベルに立ち上げて、NMOSスイッチN8とN8aをオンさせる。これによってセンスラッチSLに、’High’のデータがラッチされる。このとき、センスラッチSLのノ−ドA側は’High’、ノ−ドAa側は’Low’となる。次に、センスラッチSLのPMOSトランジスタ側の電源電圧PPを電源電圧VCCから例えば4〔V〕に上げ、制御信号線PC線と制御信号線PCaを選択レベルに立ち上げてNMOSスイッチN5とN5aをオンさせる。このとき、センスラッチSLに’High’がラッチされているから、センスラッチSLのノ−ドA側が’High’で、NMOSスイッチN7がオンし、NMOSスイッチN5を通してビット線BLが4〔V〕にプリチャ−ジされる。一方、センスラッチSLのノ−ドAa側は’Low’であるから、NMOSスイッチN7はオフの状態で、ビット線BLaはプリチャ−ジされず、ビット線BLaは0〔V〕とされる。この後、制御信号線PCとPCaの電圧が非選択レベルにされて、NMOSスイッチN5とN5aがオフされ、次いで、制御信号線SiDが立ち上げられ、NMOSスイッチN2がオン状態にされる。そして、ワ−ド線WLに例えば−9〔V〕が印加され、制御信号線TR、TRaが選択レベルに立ち上げられてNMOSスイッチN6、N6aがオン状態にされ、これによってメモリセルMCに書込みが行われる。このときメモリセルMCの基板電圧VWELは例えば0〔V〕にされる。この後、ワ−ド線WLが0〔V〕にされ、制御信号線TR、TRaの電圧が非選択レベルに立ち下げられてNMOSスイッチN6、N6aがオフにされ、その後で、制御信号線DDC、DDCaが選択レベルに立ち上げられてNMOSスイッチN1、N1aがオンにされることにより、書込み対象とされたビット線BLとリファレンス側のビット線BLaがディスチャージされ、これらビット線BL,BLaの電位が0〔V〕に初期化される。そして、制御信号線DDC、DDCaの電圧が非選択レベルに立ち下げられてNMOSスイッチN1、N1aがオフ状態にされてから、次に示す書込みベリファイ動作が行なわれる。
書込みベリファイ動作では先ず、センスラッチSLのPMOSトランジスタ側の電源PPの電圧が電源電圧VCCとされ、制御信号線PC線が選択レベルに立ち上げられて、NMOSスイッチN5がオン状態にされる。このとき、上記書込み動作で記したように、センスラッチSLに情報“1”(‘High’)がラッチされていると、NMOSスイッチN7がオンし、ビット線BLはプリチャ−ジされるが、情報“0”(‘Low’)がラッチされている場合はNMOSスイッチN7はオフであるからビット線BLはプリチャ−ジされない。また、制御信号線RPCaが選択レベルに立ち上げられてNMOSスイッチN4aがオン状態にされて、リファレンス側のビット線BLaがビット線BLよりも低い電圧にプリチャ−ジされる。次に、制御信号線PC、RPCaの電圧が共に非選択レベルに立ち下げられてNMOSスイッチN5,N4aがオフ状態に反転された後、センスラッチSLのPMOSトランジスタ側の電源PPがVSS(接地電位のよな低電位側の電源電圧)に、NMOSトランジスタ側の電源PNがVCC(高電位側の電源電圧)にされて、センスラッチSLがディスチャ−ジされる。次いで、制御信号線SiDとSiSが選択レベルに立ち上げられて、NMOSスイッチN2とN3がオン状態にされ、ワ−ド線WLにベリファイ電圧Vv1、Vv2、Vv3の何れか一つが印加される。このとき、ソ−ス線SとメモリセルMCの基板電圧VWELは0〔V〕にされる。前記書込み動作により、メモリセルMCのしきい値電圧がワード線の選択レベルよりも低い状態になっている場合にはメモリセルMCがオンし、ビット線BLからソ−ス線S側に電流が流れ、ビット線BLの電位が下がる。一方、書込み動作でメモリセルMCのしきい値電圧がワード線の選択レベルよりも低い状態になっていない場合にはメモリセルMCはオン状態にされず、ビット線BLの電位は下がらない。ワ−ド線の電圧を0〔V〕に戻してから、制御信号線SiD,SiSの電圧を下げてNMOSスイッチN1とN3をオフさせ、制御信号線TRとTRaを選択レベルに立ち上げてNMOSスイッチN6とN6aをオンさせ、センスラッチSLのPMOSトランジスタ側の電源PPをVCCに、NMOSトランジスタ側の電源PNをVSSにしてセンスラッチSLを活性化し、これによってセンスラッチSLは、ビット線BLとリファレンス側のビット線BLaとの電位差を増幅する。このとき、メモリセルMCがオン状態にされていたなら、ビット線BL側の電位が下がり、リファレンス側のビット線BLaに対してレベルが低くなったとき、センスラッチSLにラッチされた‘High’は‘Low’に反転する。メモリセルがオフであった場合にはビット線BLaの電位が下がらず、リファレンス側のビット線BLaに対してレベルが高くされているので、センスラッチSLにラッチされた‘High’は‘High’のまま反転しない。このベリファイ動作によって、センスラッチSLにラッチされた‘High’が‘Low’に反転するまで、書込み動作と、書込みベリファイ動作が繰り返される。上記書込み及び書込みベリファイの各動作制御は制御回路312によって行われる。
次に、メモリセルMCへの4値(2ビット)の書込みにおけるメモリセルのしきい値電圧の制御方法について説明する。この制御方法は、後述の書込みデータ変換回路301により、3回の書込み動作に従い、非選択のセンスラッチを用いて順次書き込む4値(2ビット)のデータに対応した2値(1ビット)の信号“0”または“1”(‘Low’または‘High’)に変換することによって、以下に示すように一つのメモリセルに4値(2ビット)の書込みを可能とする。
今、図65のように一本のワ−ド線WLに接続する4個のメモリセルMC1,MC2,MC3,MC4のそれぞれに、4値のデ−タ“00”、“01”、“10”、“11”を書き込む場合を考える。これら4値のデ−タ“00”、“01”、“10”、“11”は1ビットのデ−タ列“00011011”を2個ずつ区切ったものである。通常この8個のデ−タを書き込むためには8個のメモリセルが必要であるが、上記の様に1ビットのデ−タ列を2個ずつ区切って、4値(2ビット)のデータ“00”、“01”、“10”、“11”とし、それぞれを1個のメモリセルに書き込めば4個のメモリセルしか必要とせず、メモリの容量を2倍にすることが可能となる。
まず、書込み動作の前に、消去動作を行ない、メモリセルMC1〜MC4のしきい値電圧を、高いVth0にそろえる(図66)。消去動作は図62を用いて説明すると、ワード線WLとメモリセルMCの基板電圧VWELにそれぞれ、例えば12〔V〕と−4〔V〕を印加し、共通ソース線Sに−4〔V〕を印加して、制御信号線SiSを選択レベルに立ち上げてNMOSスイッチN3をオンさせてメモリセルMCのソース側を−4〔V〕にすることで行われる。これによって、消去対象とされたメモリセルMCの浮遊ゲートに電子が注入されて、メモリセルMCのしきい値電圧が高い状態になる。この後に、書込み、書込みベリファイ動作を行なう。このとき、ワ−ド線WLには図64に示されるような電圧を印加するものとする。
「書込み1」の動作ではまず、メモリセルMC1〜MC4にそれぞれ接続するセンスラッチSL1〜SL4に書込み2値デ−タW1Tをラッチする。すなわち、メモリセルMC1に接続するセンスラッチSL1を‘Low’(“0”をラッチ)にし、それ以外のメモリセルMC2〜MC4に接続するセンスラッチSL2〜SL4は‘High’(“1”をラッチ)にして、メモリセルMC2〜MC4に書込みを行なう。この後、すでに述べた書込み、及び書込みベリファイ動作をワ−ド線の電圧を書込み時には例えば−9〔V〕、書込みベリファイ時にはVv1として行なう。図67に示されるように、メモリセルMC2〜MC4のしきい値電圧がVth1となったら、「書込み1」の動作は終了し、続いて「書込み2」の動作に移る。
「書込み2」の動作はまず、書込み2値デ−タW2TをメモリセルMC1〜MC4にそれぞれ接続するセンスラッチSL1〜SL4にラッチさせる。すなわち、メモリセルMC1、MC2に接続するセンスラッチSL1、SL2は“Low”(“0”をラッチ)にし、それ以外のメモリセルMC3、MC4に接続するセンスラッチSL3、SL4は“High”(“1”をラッチ)して、メモリセルMC3、MC4に書込みを行なう。この後は「書込み1」と同様に、ワ−ド線の電圧を書込み時には例えば−9〔V〕、書込みベリファイ時にはVv2として書込み及び、書込みベリファイを行なう。図68に示されるように、メモリセルMC3、MC4のしきい値電圧がVth2となったら、「書込み2」の動作は終了し、続いて「書込み3」の動作に移る。
「書込み3」の動作はまず、書込み2値デ−タW3TをメモリセルMC1〜MC4にそれぞれ接続するセンスラッチSL1〜SL4にラッチさせる。すなわち、メモリセルMC1〜MC3に接続するセンスラッチSL1〜SL3は“Low”(“0”をラッチ)にし、メモリセルMC4に接続するセンスラッチSL4は“High”(“1”をラッチ)にして、メモリセルMC4にのみ書込みを行なう。この後は「書込み1」「書込み2」と同様に、ワ−ド線の電圧を書込み時には例えば−9〔V〕、書込みベリファイ時にはVv3として書込み及び、書込みベリファイを行なう。図69に示されるように、メモリセルMC4のしきい値電圧がVth3となったら、「書込み3」の動作は終了し、これで全書込み動作が終了し、メモリセルMC1〜MC4のそれぞれに4値(2ビット)の情報“00”、“01”、“10”、“11”が書き込まれたこととなる。このようにして、上述の書込みベリファイ時にワード線に印加する電圧をVv1〜Vv3に設定した「書込み1」〜「書込み3」の3回の書込み動作を行うことにより、一つのメモリセルに4値(2ビット)の情報を書込むことができる。
図64のワ−ド線電圧印加の例では、それぞれの段階(「書込み1」〜「書込み3」)での書込み動作後の書込みベリファイ動作を一回行って、所要のしきい値電圧を得られた場合である。ワ−ド線への書込み電圧の印加形式は図64の他に、図70や図71に示される方式を選択できる。図70の方式は、1回の書込み電圧の印加時間即ち書込みパルス幅を徐々に大きくする制御を意味する。図71の方式は、1回の書込みパルス幅は一定とし、そのときの書込み電圧レベルを徐々に大きく制御しようとするものである。
次に、2値(1ビット)の書込みデ−タ列から、「書込み1」〜「書込み3」における4値(2ビット)書込みのための2値デ−タW1T〜W3T、およびそのコンプリメンタリ信号W1B〜W3Bへの変換方式について説明する。
図72には2値(1ビット)の書込みデータ列を奇数、偶数ビットに分離する回路の一例が示される。同図に示される回路の特長は、書き込むべき2値のデ−タ列をDT,DBのコンプリメンタリ信号に分離した後で、互いに半周期ずれたクロック信号CLK1,CLK2によって、奇数ビットのWOT,WOB(WOTとWOBは互いにコンプリメンタリ信号)、偶数ビットのWET,WEB(WETとWEBは互いにコンプリメンタリ信号)に分離するという点である。
図73を用いて図72に示される回路の動作を説明する。図73にはフラッシュメモリのデータ入力端子(Din)16に2値(1ビット)の書込みデータ列が“1”、“1”と連続して(‘High’,‘High’と連続して)入力された場合が一例として示され、この入力された書込みデータ列がインバータ回路INV1、INV2によりDT,DBのコンプリメンタリ信号に分離され、分離された信号DT,DBは、互いに半周期ずれたクロック信号CLK1,CLK2に同期されて、それぞれ互いにコンプリメンタリ信号の組WOT,WOB(奇数ビット)、WET,WEB(偶数ビット)が形成される。この例においてコンプリメンタリ(相補)信号に変換するのは、前記センスラッチSLの入力が差動若しくは相補信号とされていることに応ずるものであり、必ずしもそれに限定されるものではない。
図74には、そのように偶数ビットと奇数ビットに分離された相補データを用いて4値書込みを行うための回路構成が示される。同図に示される構成は、図1のメモリセルアレイ303、センスラッチ回路304、書込み変換回路301、読出し変換回路302に対応される構成例である。特に制限されないが、メモリセルアレイ303は4個に分割されたメモリアレイ303A〜メモリアレイ303Dによって構成され、センスラッチ回路304は4個に分割されたセンスラッチ回路304A〜センスラッチ回路304Dによって構成され、書込み変換回路301は4個に分割された書込み変換回路301A〜書込み変換回路301Dによって構成される。アクセスは、4個のメモリアレイ303A〜303Dの中から選ばれた1個のメモリアレイに対して行われるものとする。前記コンプリメンタリ信号WOT,WOB、WET,WEBの信号線は、スイッチSW1a〜SW4aを介して書き込み変換回路301Aに、スイッチSW1b〜SW4bを介して書き込み変換回路301Bに、スイッチSW1c〜SW4cを介して書き込み変換回路1Cに、スイッチSW1d〜SW4dを介して書き込み変換回路301Dに接続されている。また、入出力線IOTa,IOBaに結合された書込み変換回路301Aとセンスラッチ回路304AはスイッチSBa,STaを介して前記コンプリメンタリ信号WOT,WOBの信号線に接続可能にされ、入出力線IOTd,IOBdに結合された書込み変換回路1Dとセンスラッチ回路4DはスイッチSBd,STdを介して前記コンプリメンタリ信号WOT,WOBの信号線に接続可能にされる。同様に、入出力線IOTb,IOBbに結合された書込み変換回路301Bとセンスラッチ回路304BはスイッチSBb,STbを介して前記コンプリメンタリ信号WET,WEBの信号線に接続可能にされ、入出力線IOTc,IOBcに結合された書込み変換回路1Cとセンスラッチ回路304CはスイッチSBc,STcを介して前記コンプリメンタリ信号WET,WEBの信号線に接続可能にされる。また、センスラッチ回路304A〜センスラッチ回路304Dは、スイッチSRTa,SRBa、SRTb,SRBb、SRTc,SRBc、SRTd,SRBdを介して相互にラッチ信号の授受を行うことができる。前記各スイッチの制御は制御回路12によって行われる。また、各センスラッチ回路304A〜304DはスイッチSOTa,SOBa、SOTb,SOBb、SOTc,SOBc、SOTd,SOBdを介して読み出し変換回路2に接続可能にされている。
図74に示される回路は、1つの選択されたメモリアレイに4値(2ビット)の情報を書込むために、図72の分離回路によって、奇数ビットと偶数ビットに分離された信号を、2つの非選択メモリアレイに接続するセンスラッチ回路にラッチさせて一時的に保持させ、「書込み1」〜「書込み3」の各動作において、選択されたメモリアレイに設けられた書込み変換回路を用いて「書込み1」〜「書込み3」に対応される2値データW1T〜W3T及びそのコンプリメンタリ信号W1B〜W3Bを合成して、選択メモリアレイのセンスラッチ回路304にラッチさせて書込みを行うものである。
例えばメモリアレイ303Aを選択メモリアレイとし(メモリアレイ303B〜303Dは非選択メモリアレイ)、この選択メモリアレイ303Aに含まれるメモリセルに書き込みを行なう場合を考える。図69に示した回路によって分離された奇数ビットWOT,WOBをスイッチSTd,SBdを閉じて、センスラッチ回路304Dに保持させ、偶数ビットWET,WEBをスイッチSTb,SBbを閉じてセンスラッチ回路304Bに保持させる。偶数ビットはセンスラッチ回路304Cに保持させても良いが、ここではセンスラッチ回路304Bに保持させた場合について、以下説明する。「書込み1」〜「書込み3」の各動作において、センスラッチ回路304Dに保持された奇数ビットの情報WOT、WOBと、センスラッチ回路304Bに保持され偶数ビットの情報WET、WEBを、選択メモリアレイ301Aの書込み変換回路301AにスイッチSTd、SBd、STb、SBbとSW1a〜SW4aを閉じて転送する。転送を受けた書込み変換回路301Aは、4値(2ビット)の情報をメモリセルに書込むための2値(1ビット)のデータ“0”または“1”(‘High’または‘Low’)に変換して選択メモリアレイ303Aのセンスラッチ回路304Aにラッチさせて書込み及び、書込みベリファイを行なう。書込み変換回路301A〜301Dが行うデータ合成のための回路構成と動作例を次に説明する。
図75には書込み変換回路が備える書込みデ−タ合成回路の一例が示される。図74の書込み変換回路301A〜301Dは全てこの図75に示した回路によって実現されている。同図に示される書込みデータ合成回路は、2ビットのコンプリメンタリ信号の内の非反転データWOT,WETを合成してセンスラッチSLの入出力線IOTに与えるデータW1T〜W3Tを「書込み1」〜「書込み3」に対応してそれぞれ合成する回路部分400と、2ビットのコンプリメンタリ信号の内の反転データWOB,WEBを合成してセンスラッチSLの入出力線IOBに与えるデータW1B〜W3Bを「書込み1」〜「書込み3」に対応してそれぞれ合成する回路部分401とに大別される。回路部分400は、2ビットのコンプリメンタリ信号の内の非反転データWOT,WETに基づいて、「書込み1」のときはモード信号MWD1によって選択された信号パスを介してデータW1Tを形成し、「書込み2」のときはモード信号MWD2によって選択された信号パスを介してデータW2Tを形成し、「書込み3」のときはモード信号MWD3によって選択された信号パスを介してデータW3Tを形成する。回路部分401は、2ビットのコンプリメンタリ信号の内の反転データWOT,WETに基づいて、「書込み1」のときはモード信号MWD1によって選択された信号パスを介してデータW1Bを形成し、「書込み2」のときはモード信号MWD2によって選択された信号パスを介してデータW2Bを形成し、「書込み3」のときはモード信号MWD3によって選択された信号パスを介してデータW3Bを形成する。「書込み1」においては、選択されたメモリアレイのセンスラッチSLの入出力線IOT,IOBにはデータW1T,W1Bが与えられて書込み及び書込みベリファイが行われ、「書込み2」においては、選択されたメモリアレイのセンスラッチSLの入出力線IOT,IOBにはデータW2T,W2Bが与えられて書込み及び書込みベリファイが行われ、「書込み3」においては、選択されたメモリアレイのセンスラッチSLの入出力線IOT,IOBにはデータW3T,W3Bが与えられて書込み及び書込みベリファイが行われる。選択側の書込み変換回路301Aには、「書込み1」〜「書込み3」の夫々において、WOT,WETが非選択側のセンスラッチ回路304Dから、WOB,WEBが非選択側のセンスラッチ回路304Cから与えられる。
図76の(A),(B),(C)には図75に示されるデータ合成回路によって得られる出力結果が示されている。「書込み1」を行なう場合は、図75の信号MWD1を’High’にする。同様に、「書込み2」、「書込み3」を行なう場合はそれぞれ信号MWD2,MWD3を’High’にする。図76の(A),(B),(C)に示されたIOT,IOBの出力は、「書込み1」から「書込み3」の動作において、外部からの書込むべき2値のデ−タ列(“0”“0”、“0”“1”、“1”“0”、“1”“1”)に対して図67乃至図69に示した書込み2値デ−タW1T〜W3Tに対応される。
同様に、他のメモリアレイに書込みを行なう場合は、奇数ビット、偶数ビットに分けられたデ−タを非選択となるアレイのうちの2つのセンスラッチ回路にデ−タを一時的に保持させて、書込みの時に、保持されたデ−タを選択メモリの書込み変換回路に転送し、書込みデ−タを合成して、選択メモリアレイのセンスラッチ回路にラッチさせればよい。
尚、図72に示される偶数、奇数ビットに分離する回路と図75に示されるデータ合成回路は書込みデータ変換回路1に含まれている。
《2》読出し動作
次に、一つのメモリセルに格納された2ビット分の情報を読み出すための構成を詳細に説明する。先ず、一つのメモリセルに書き込まれた2ビット(4値)のデータを読出し、1ビット(2値)のデ−タ列に変換するための構成を図77乃至図86をも参照しながら説明する。
前記項目《1》の書込み動作によって、図77のように、4極化されたメモリセルのしきい値電圧に対して、この例では、読出し動作時にワ−ド線に印加する電圧を、図77に示す様なVth0>Vr1>Vth1、Vth1>Vr2>Vth2、Vth2>Vr3>Vth3をそれぞれ満たす電圧Vr1、Vr2、Vr3とする。そのときにワ−ド線に印加する電圧の例を図78に示す。ワ−ド線に電圧Vr1を印加して読出しを行なう動作を「読出し1」とし、同様に電圧Vr2,Vr3を印加して読出しを行なう動作をそれぞれ、「読出し2」、「読出し3」と称する。このように読み出し動作を3回行うことは、メモリセルに書込まれた4値(2ビット)の情報を「読出し1」〜「読出し3」の各読み出し動作毎に、2値(1ビット)の情報として読み出すことに他ならない。
前記「読出し1」〜「読出し3」におけるメモリアレイ、センスラッチ回路を含む要部回路の動作は共通であるので、図62に基づいて先ずその共通部分についての読出し動作を説明する。
データ読出しに際しては先ず、センスラッチSLのPMOSトランジスタ側の電源PPを接地電位VSSに、NMOSトランジスタ側の電源PNを電源電圧VCCにする。この後、制御信号線RPC、SiDを選択レベルに立ち上げてそれぞれ、NMOSスイッチN4、N2をオン動作させて、選択されたメモリセルMCに接続するビット線BLとノ−ドA側を例えば1Vにプリチャ−ジし、同時に制御信号線RPCaを選択レベルに立ち上げてそれぞれ、NMOSスイッチN4aをオンさせて、リファレンス側のノ−ドAaを例えば0.5〔V〕にプリチャ−ジする。次に、制御信号線RPC、RPCaの電圧を非選択レベルに下げてNMOSスイッチN4、N4aをオフ状態にしてから、制御信号線SiSを選択レベルに立ち上げ、NMOSスイッチN3をオン状態に、そして、ソ−ス線Sと、メモリセルの基板電圧VWELを0〔V〕とし、ワ−ド線に読出し電圧を印加する。この時、メモリセルMCのしきい値電圧がワ−ド線に印加された電圧よりも低い場合は、メモリセルMCがオン状態にされて、ビット線BL側からソ−ス線側に電流が流れ、ビット線BLとノ−ドA側の電圧が低下する。一方、メモリセルMCのしきい値電圧がワ−ド線に印加された電圧よりも高い場合は、メモリセルMCはオン動作せず、メモリセルには電流は流れないからビット線BLとノ−ドAの電圧は下がらない。そして、ワ−ド線WLの電圧を0〔V〕にし、制御信号線SiD、SiSの電圧を非選択レベルに下げてそれぞれ、NMOSスイッチN2、N3をオフさせた後、制御信号線TR、TRaを選択レベルに立ち上げて、NMOSスイッチN6、N6aをオン動作させ、次いで、センスラッチSLのPMOSトランジスタ側の電源PPをVCCに、NMOSトランジスタ側の電源をVSSにし、ノ−ドAとリファレンス側のノ−ドAaの電圧差を増幅する。増幅動作が確定するタイミングをもって制御信号線YGを選択レベルに立ち上げて、NMOSスイッチN8、N8aをオン動作させることにより、センスラッチSLが保持している情報が、入出力線IOT,IOBに出力される。入出力線IOT,IOBには互いにコンプリメンタリ信号が出力される。
次に「読出し1」〜「読出し3」の各動作におけるメモリセルに書き込まれた4値(2ビット)の情報の読出しについて図76の場合を一例として説明する。図76においては、一本のワ−ド線WLに接続した4個のメモリセルMC1〜MC4に、“00”、“01”、“10”、“11”のそれぞれ4値(2ビット)のデ−タが書き込まれている場合を想定する。これらの4個の値は、すでに述べた書込み動作により、2値(1ビット)のデータ列“00011011”が2個ずつ区切られて“00”、“01”、“10”、“11”として、それぞれメモリセルMC1〜MC4に記憶されたものである。また、SL1〜SL4はそれぞれメモリセルMC1〜MC4に接続されたセンスラッチを表す。この例では、簡単なセンスラッチの構成により一つのメモリセルに記憶された多値(4値)の読み出しが実現できる。
図80は「読出し1」の動作によって、メモリセルMC1〜MC4のしきい値電圧とワード線に印加する読出し電圧Vr1との関係及び、メモリセルMC1〜MC4から読み出され、センスラッチSL1〜SL4にラッチされる2値(1ビット)のデータR1Tの、“0”又は“1”(‘High’又は‘Low’)を示した図である。同様に図61、図82もそれぞれメモリセルMC1〜MC4のしきい値電圧とワード線に印加する読出し電圧Vr2、Vr3との関係及び、「読出し2」、「読出し3」の各動作によって、メモリセルMC1〜MC4から読み出され、センスラッチSL1〜SL4にラッチされる2値(1ビット)のデ−タR2T,R2Tを示した図である。前述の図74の構成から成るフラッシュメモリについて、これら2値(1ビット)の情報が圧縮され、4値(2ビット)の情報が記憶されたメモリセルから読み出される2値(1ビット)のデ−タR1T〜R3T、及びそのコンプリメンタリ信号R1B〜R3Bから、メモリセルに4値のデータとして圧縮されて記憶される前の2値(1ビット)の情報へ変換する手法を説明する。
図74の選択メモリアレイ303Aの情報を読み出す場合を一例として説明する。「読出し1」の動作によって、読み出された2値(1ビット)のデ−タR1T及び、そのコンプリメンタリ信号R1Bはセンスラッチ回路304Aから、スイッチSRTa,SRBa,SRTb,SRBbを閉じてセンスラッチ回路303Bへ転送され、それによってセンスラッチ304BはデータR1T,R1Bを保持する。それらのスイッチSRTa,SRBa,SRTb,SRBbを開いた(オフした)後、「読出し2」の動作が行われる。「読み出し2」の場合には、スイッチスイッチSRTa,SRBa,SRTc,SRBcが閉じられる(オンされる)ことにより、選択メモリアレイ3Aから読み出された2値(1ビット)のデ−タR2T,R2Bは、センスラッチ回路304Aからセンスラッチ304Cへ転送され、これによってセンスラッチ回路304CはデータR2T,R2Bを保持する。この後、これらのスイッチを開いてから、「読出し3」の動作を開始して、2値(1ビット)のデ−タR3T,R3Bを読出し、センスラッチ304Aに保持させる。3個のセンスラッチ回路304A,304B,304Cに保持された3個の読み出しデ−タはスイッチSOTa、SOBa、SOTb、SOBb、SOTd、SOBdを介して読み出し変換回路302に与えられる。読み出し変換回路302は、そのデ−タを1ビットづつのデータ列に変換若しくは復元する。
図83には「読出し1」〜「読出し3」の動作によって読み出された2値(1ビット)のデ−タR1T〜R3T及びそのコンプリメンタリ信号R1B〜R3Bから、メモリセルに記憶されていた4値(2ビット)のデ−タ“00”、“01”、“10”、“11”に変換する回路例が示されている。
同図に示される読み出しデータ合成回路は、入出力線IOT側の回路部分400と入出力線IOB側の回路部分401に大別される。回路部分400は、「読出し1」〜「読出し3」の3回の読み出しによって得られた非反転信号R1T〜R3Tに基づいて、2ビットの非反転信号YT,XTを並列的に形成する。回路部分401は、「読出し1」〜「読出し3」の3回の読み出しによって得られた反転信号R1B〜R3Bに基づいて、2ビットの反転信号YB,XBを並列的に形成する。即ち、この読出しデータ合成回路は、センスラッチ回路304A,304B,304Cから転送されるデ−タR1T,R2T,R3Tとそのコンプリメンタリ信号R1B,R2B,R3Bを4値(2ビット)のデ−タ列に変換する。XTは4値(2ビット)のデ−タの上位ビットを、YTは下位ビットを表す。XB,YBはその信号のコンプリメンタリ信号である。例えば、4値のデータが“10”の場合、上位ビットは“1”、下位ビットは“0”となる。
図84には前記「読出し1」〜「読出し3」によって得られたデータR1T〜R3T(R1B〜R3B)とそれによって得られる合成出力XT,YT(XB,YB)との関係が示されている。
前記読出しデータ合成回路で得られた上位ビットのXT,XB、下位ビットのYT,YBは、図85に示される回路で、交互に選択されて2ビットのデータとして出力される。図85に示される回路は、クロック信号CLK3に同期させて、上位ビットXT,下位ビットYTを交互にIOTに、上位ビットのコンプリメンタリ信号XB,下位ビットのコンプリメンタリ信号YBを交互にIOBへ出力させるCMOSトランスファゲートGXT,GYTが設けられて成る。これによって、一つのメモリセルに記憶されている4値の情報を2ビットのデ−タ列として読み出すことができる。
図86には図80の回路の一例動作タイミングとして、“XT,YT”が“11”の場合(コンプリメンタリ信号“XB,YB”は“00”)、すなわち、一つのメモリセルに記憶された情報が4値(2ビット)で“11”の場合を例としたIOT,IOBの出力を表す。XT,XBの信号は、クロック信号CLK3が‘High’の状態の時にCMOSトランスファゲートGXT,GXBが開いてそれぞれ入出力線IOT,IOBに出力される。この時、CMOSトランスファゲートGYT,GYBは閉じており、YT,YBの信号は出力されない。一方、クロック信号CLK3が‘Low’の状態の時にはCMOSトランスファゲートGYT,GYBが開き、YT,YBの信号が入出力線IOT,IOBに出力され、XT,XBの信号はトランスファゲートGXT,GXBが閉じているため、出力されない。
尚、図83に示された読出しデータ合成回路と、図85に示された上位及び下位ビットの交互出力回路は前記読出し変換回路302に含まれている。
以上説明したように、「読出し1」〜「読出し3」の3回の動作により、メモリセルに書込まれている4値(2ビット)の情報に対応して、夫々読み出された2値(1ビット)のデ−タを非選択メモリアレイのセンスラッチ回路304に転送して、3回の読出しが終了した後に、これらの2値(1ビット)のデ−タを、読出しデ−タ変換回路302によって、2値(1ビット)のデ−タ列に変換して4値(2ビット)の情報を読み出す。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば本発明はフラッシュメモリに限定されず、EEPROM等の不揮発性メモリ、更にはそのようなメモリをオンチップメモリとして備えたマイクロコンピュータ等の半導体集積回路にも適用することができる。また、本発明に係る半導体集積回路はディジタルスチルカメラやPCカードに限定されず、その他種々のデータ処理システムに広く適用することができる。