フラッシュメモリは、機能的には、一括消去型の電気的に書込消去が可能な不揮発性半導体記憶装置である。フラッシュメモリはその低コスト性および電気的消去機能を有することから携帯機器等に大きな需要があり、近年盛んに研究開発が行なわれている。フラッシュメモリは、たとえばフローティングゲートを有し、しきい値電圧を変化させることができるトランジスタ(以下、メモリトランジスタと称する)をメモリセルとして使用する。
図26は、従来のフラッシュメモリのアレイ構成を示した図である。
図26においては、説明を簡単にするために、全体で8Mビットのメモリアレイの場合について説明している。メモリアレイ500は、各々が4kワード(64kビット)に相当するメモリセルで構成されるブロックB000〜B007と、各々が32kワード(512kビット)に相当するメモリセルで構成されるブロックB008〜B022と、ブロックB100とを含む。ブロックB000〜B022は、各々がフラッシュメモリにおける消去動作の基本単位となるブロックである。
フラッシュメモリでは、4kワードの領域が必要とされることが多く、このため、メモリアレイ500は、通常のデータ格納領域よりも記憶容量の少ないブロックB000〜B007を含んでいる。このような4kワードの領域は、たとえばブートブロックやパラメタブロックと呼ばれる。
ブートブロックは、電源が投入された直後のシステム立ち上げ時に、フラッシュメモリが搭載されるシステムのCPUがリードする領域である。また、パラメタブロックは、頻繁に書換える可能性の高いデータを仮に書込んでおく領域である。一方、32kワードの記憶容量のブロックは、通常のデータやプログラムを格納する領域として使用される。フラッシュメモリでは、このように、用途により異なるサイズのブロックを備える必要がある。
なお、ブロックB100は、アドレス割当上はブロックB000〜B007に相当する領域であり、未使用とされる領域である。未使用であっても、メモリブロックB100はメモリアレイ上の信号の連続性を保つ必要性から、ブロックB008〜B022の各構成と同様な構成を有している。
メモリブロックの選択はブロックの縦方向の位置を選択するためのブロック選択信号BAVS0,BAVS1,BAVM0〜BAVM3と、ブロックの横方向の位置を選択をするためのブロック選択信号BAH0〜BAH3とによって行なわれる。縦方向のブロック位置と、横方向のブロック位置とがともに活性化されると、その交点にあたるブロックの選択が行なわれる。たとえば、ブロックB008を選択する場合には、選択信号BAVM0およびBAH1が活性化され、残りの選択信号は非活性化される。
図27は、メモリブロックの選択信号を発生する従来のブロック選択デコーダの構成を示したブロック図である。
図26、図27を参照して、ブロック選択デコーダ502は、外部から与えられるアドレス信号のアドレスビットA12〜A18を用いてブロック選択信号BAVS0,BAVS1,BAVM0〜BAVM3,BAH0〜BAH3を発生する。ブロック選択デコーダ502は、アドレスビットA15,A16,A17,A18を受けて選択信号BOPを出力する4入力のNOR回路562と、アドレスビットA14,A17,A18および選択信号BOPに応じて縦方向位置の選択信号BAVS0,BAVS1,BAVM0〜BAVM3を出力する縦方向ブロック選択回路564と、アドレスビットA12,A13,A15,A16および選択信号BOPに応じて横方向位置の選択信号BAH0〜BAH3を出力する横方向ブロック選択回路566とを含む。
縦方向ブロック選択回路564は、選択信号BOPに応じて活性化されアドレスビットA14をデコードして信号BAVS0,BAVS1を出力するアドレスデコード部582と、選択信号BOPが非活性化時に動作し、選択信号BOPが活性化されると動作を停止するアドレスデコード部584とを含む。アドレスデコード部584は、活性化時にはアドレスビットA17,A18をデコードして信号BAVM0〜BAVM3を出力する。
横方向ブロック選択回路566は、選択信号BOPが活性化されるとアドレスビットA12,A13を選択アドレスビットSA0,SA1として出力し、選択信号BOPが非活性化時にはアドレスビットA15,A16を選択アドレスビットSA0,SA1として出力するアドレス選択部610と、選択アドレスビットSA0,SA1をデコードして信号BAH0〜BAH3を出力するアドレスデコード部612とを含む。
図26に示した8Mビットのメモリアレイの場合、1ワード16ビット構成をとると32kワードブロックを選択するアドレスビットはA15,A16,A17,A18である。また、4kワードブロックを選択するアドレスビットはA12,A13,A14である。ここに説明する従来例では、図26のとおり横方向に4ブロックのメモリブロックが配置される構成の場合を説明する。
まず、NOR回路562によって4kワード領域を選択する信号BOPの活性/非活性が決定される。
メモリブロックB008〜B022に相当するアドレスが入力される場合には信号BOPは非活性化されアドレスデコード部582は信号BAVS0,BAVS1を非活性化し、アドレスデコード部584はアドレスビットA17,A18に応じて縦方向のメモリブロックの選択信号BAVM0〜BAVM3のいずれか1つを活性化させる。
この場合、アドレス選択部610はアドレスビットA15,A16を選択アドレスビットSA0,SA1として出力するので、アドレスデコード部612はアドレスビットA15,A16をデコードして選択信号BAH0〜BAH3のいずれか1つを活性化する。
一方、アドレスビットA15〜A18がすべてLレベルの場合には、選択信号BOPが活性化される。これは、図26の不使用とされるメモリブロックB100に対応するアドレス入力があったことを示している。この場合には、メモリブロックB100を選択する代わりにメモリブロックB000〜B007のうちの対応する領域を選択している。具体的には、信号BOPの活性化時にはアドレスデコード部584は非活性化され信号BAVM0〜BAVM3は非活性化される。そしてアドレスデコード部582によってアドレスビットA14がデコードされ信号BAVS0,BAVS1のいずれか一方が活性化される。
また、信号BOPが活性化時には、アドレス選択部610はアドレスビットA12,A13を選択アドレスビットSA0,SA1として出力するので、アドレスデコード部612はアドレスビットA12,A13をデコードし、信号BAH0〜BAH3のいずれか1つを活性化させる。
従来は、ブロック選択デコーダ502によって決定されるブロック分割およびアドレス割当は常に固定されていた。つまり、8Mビット分の領域は、常に4kワードブロックが8ブロック、32kワードブロックがB008〜B022の15ブロックの合計23ブロックとして扱われていた。
以上説明したように、図26のメモリアレイ500は、使用するメモリブロックがB000〜B022の23ブロック存在するため、8Mビットのメモリアレイ全体を消去するためには、23回の消去動作をチップ外部より指示する必要がある。
また、図26では、4kワードのブロック8ブロックつまりブロックB000〜B007がアドレスの最下位側に割当てられている。これはボトムブートタイプと呼ばれる。しかし、使用されるシステムによっては4kワードのブロックがアドレスの最上位側に割当てられるトップブートタイプのフラッシュメモリが要求される場合もある。従来においては、ボトムブートタイプのメモリをトップブートタイプのメモリに変更して使用するためにアドレス入力バッファにおいて特定のアドレスビットを反転することが行なわれていた。
図28は、従来のアドレス入力バッファ516の構成を示す回路図である。
図28を参照して、アドレス入力バッファ516は、トップブートタイプのメモリに切換えて使用する場合に活性化される信号TOPに応じてアドレスビットA15,A16,A17の正転/反転をそれぞれ切換えるアドレス反転回路520,522,524を含む。
アドレス反転回路520は、外部から与えられるアドレスビットext.A15を受けて反転するインバータ526と、信号TOPを受けて反転するインバータ528と、インバータ526の出力と信号TOPとを受けるNAND回路530と、アドレスビットext.A15とインバータ528の出力とを受けるNAND回路532と、NAND回路530,532の出力を受けてアドレスビットA15を出力するNAND回路534とを含む。
アドレス反転回路522は、アドレスビットext.A16が入力されアドレスビットA16を出力する点が異なるが、内部の構成はアドレス反転回路520と同様であり説明は繰返さない。アドレス反転回路524は、アドレスビットext.A17が入力されアドレスビットA17を出力する点が異なるが、内部の構成はアドレス反転回路520と同様であり説明は繰返さない。
図29は、従来の他のフラッシュメモリのアレイ構成を示す図である。
図29を参照して、ブロックB000〜B015は、各々が32kワード(512kビット)に相当するメモリセルで構成されるメモリブロックである。メモリアレイ700には、4kワード相当のメモリセルで構成されるメモリブロックはなく、すべてが32kワード相当のメモリセルで構成される16ブロックで8Mビット領域が構成されている。図26のメモリアレイ500の場合は、8Mビット領域の消去には23回の消去動作が必要であったが、メモリアレイ700の場合では、8Mビット領域の消去には16回の消去動作で済む。
特開2002−133877号公報
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
[実施の形態1]
図1は、本発明の実施の形態1の不揮発性記憶装置の構成を示す概略ブロック図である。
図1を参照して、不揮発性半導体記憶装置1は、入出力データバッファ22と、書込、読出、消去の制御を行なう制御部2と、ロウ・コラムデコーダ20と、Yゲート24と、メモリアレイ26とを含む。
入出力データバッファ22は、書込時にはチップの外部から信号DQ0〜DQ15を受け、読出時においてはチップの外部へと信号DQ0〜DQ15を出力する。
制御部2は、プログラム&ベリファイ回路4と、センスアンプ6と、内部コントローラ8と、アドレスバッファ16と、プリデコーダ18と、切換信号発生回路10とを含む。内部コントローラ8は、外部から信号CE,WE,OE,RP,WPなどの制御信号を受けて外部から与えられた指示を認識してアドレスバッファ16,プリデコーダ18およびプログラム&ベリファイ回路4の制御を行なう。また内部コントローラ8は、電源がチップに対して投入された際に切換信号発生回路10に出力するパワーオンリセット信号PORを一定期間活性化した後にリセット解除を行なう。
切換信号発生回路10は、所定の設定に応じて信号BOOTEを出力する。アドレスバッファ16は、外部から与えられるアドレス信号のアドレスビットext.A0〜ext.A18をそれぞれ受けてアドレスビットA0〜A18をプリデコーダ18に出力する。プリデコーダ18は、内部コントローラ8から与えられる信号BLKSELなどの制御信号および切換信号発生回路10から与えられる信号BOOTEによって動作の切換がなされ、アドレスビットA0〜A18のデコードの結果を変化させる。プリデコーダ18は、デコード結果をロウ・コラムデコーダ20に出力する。
メモリアレイ26は、4kワードの記憶容量を有するメモリブロックB000〜B007と、各々が32kワードの記憶容量を有するメモリブロックB008〜B022,B100とを含む。ただし、メモリブロックB100は通常は使用されない領域であるが、メモリアレイの製造上の便宜のためパターンの連続性を保つためメモリブロックB008〜B022と同様な構成となっている。
ブロックB000〜B007は、通常のブロックよりも小さな記憶容量のブートブロックおよびパラメタブロックである。ブートブロックが不要の場合には、ボンディングオプション等で信号BOOTEをLレベルに設定する。消去時において信号BLKSELがHレベルの場合には制御部2は、横方向に並ぶ4ブロックの同時選択を行なう。また、制御部2は、このとき、縦方向の2ブロックの同時選択を行なう。その結果ブロックB000〜B007の8つのブロックの選択が行なわれる。ブートブロックおよびパラメタブロックは、通常ブロックと同様の容量を有する1つのブロックとして一括消去が可能となる。
図2は、メモリアレイ26の各々のメモリブロックに行列状に配列されるメモリトランジスタMTの説明をするための断面図である。
図2を参照して、メモリトランジスタMTは、基板SUB上に形成される不純物領域であるソースSおよびドレインDと、ソースSとドレインDの間の領域の上部に形成されるフローティングゲートFと、フローティングゲートFのさらに上部に形成されるコントロールゲートGとを含む。
コントロールゲートに与える電圧VG,ソースに与える電圧VS,ドレインに与える電圧VDおよび基板部に与える電圧VWELLを所定の条件とすることによりメモリトランジスタMTのフローティングゲートFにチャージされる電荷量を変化させることができ、これによりメモリトランジスタMTのしきい値電圧が変化するので、メモリトランジスタMTはしきい値電圧の値によって与えられた情報を記憶することができる。
図3は、図1における切換信号発生回路10の構成を示した回路図である。
図3を参照して、切換信号発生回路10は、信号♯NOBOOTが与えられるパッド56とノードN2との間に接続される抵抗32と、信号♯BOOTが与えられるパッド58とノードN1との間に接続される抵抗34と、ノードN1と電源電位VCCが与えられるノードとの間に接続されるキャパシタ36と、ノードN2と接地ノードとの間に接続されるキャパシタ42と、ノードN2に入力が接続されノードN1に出力が接続されるインバータ38と、ノードN1に入力が接続されノードN2に出力が接続されるインバータ40と、ノードN2に入力が接続されるインバータ44と、インバータ44の出力を受けて反転し信号BOOTEを出力するインバータ46とを含む。
図4は、図3の切換信号発生回路に対するボンディングオプションの説明をするための図である。
図5は、信号♯NOBOOT,♯BOOTの設定状態と切換のための信号BOOTEの関係を説明するための図である。
図4、図5を参照して、信号♯NOBOOTが与えられるパッド56をLレベルに設定するときには、チップ50の周囲に存在する複数のリードのうち接地電位が与えられているリード52とパッド56とをワイヤ54によって接続する。この場合はパッド58はいずれのリードにも接続されないか、または電源電位が与えられるリードに他のワイヤによって接続される。このように設定すると切換のための信号BOOTEはLレベルに設定される。
信号BOOTEがLレベルに設定されると、図1のメモリブロックB000〜B007は1つの32kワードの記憶容量を有するブロックとして1回の指示で一括消去することができる。ブートブロックが必要でない場合には、消去時間を短くするためこのようにボンディングオプションが選択されて、不揮発性半導体記憶装置の生産が行なわれる。
一方、ワイヤ54で接続しないでその代わりにワイヤ55によってリード52とパッド58とを接続した場合には信号♯BOOTがLレベルに設定される。そしてこの場合にはパッド56は電源電位が与えられるリードに他のワイヤを用いて接続してもよいし未接続状態でもよい。このように設定すると切換のための信号BOOTEはHレベルに設定される。
信号BOOTEがHレベルに設定された場合にはブートブロックが必要とされる場合に相当し、メモリブロックB000〜B007は各々が消去単位の基本として取扱われる。
図6は、図1のプリデコーダの構成を説明するためのブロック図である。
図6を参照して、プリデコーダ18は、アドレスビットA15,A16,A17,A18を受け信号BOPを出力する4入力のNOR回路62と、制御信号として信号BOOTE,BLKSELおよびBOPを受けアドレスビットA14,A17,A18に応じて縦方向のブロック位置の選択を行なう信号BAVS0,BAVS1,BAVM0〜BAVM3を出力する縦方向ブロック選択回路64と、制御信号として信号BOOTE,BLKSELおよびBOPを受けアドレスビットA12,A13,A15,A16に基づいて横方向のブロック位置の選択を行なうための信号BAH0〜BAH3を出力する横方向ブロック選択回路66と、アドレスビットA6〜A15を受けて行選択に関するプリデコード信号PDROWを出力するプリデコード回路68と、アドレスビットA0〜A5に基づいて列選択に関するプリデコード信号PDCOLを出力するプリデコード回路70とを含む。
信号BAVS0,BAVS1,BAVM0〜BAVM3および信号BAH0〜BAH3、プリデコード信号PDROWに基づいてロウデコーダ72は行選択を行なう。また信号BAH0〜BAH3およびプリデコード信号PDCOLに基づいてコラムデコーダ74は列選択を行なう。
制御信号として与えられる信号BOOTEは図1の切換信号発生回路10によって発生される信号であり、4kワードのブートブロックが必要な場合にHレベルに設定される。また信号BLKSELは図1の内部コントローラ8の出力信号であり、複数ブロックの同時選択動作をコントロールする信号である。
図7は、図6の縦方向ブロック選択回路の構成を説明するための回路図である。
図7を参照して、縦方向ブロック選択回路64は、アドレスビットA14に応じて信号BAVS0,BAVS1を出力するアドレスデコード部82と、アドレスビットA17,A18に応じて信号BAVM0〜BAVM3を出力するアドレスデコード部84とを含む。
アドレスデコード部82は、信号BLKSELがHレベルで、かつ、信号BOOTEがLレベルの場合にHレベルの信号を出力し他の場合にはLレベルの信号を出力するゲート回路86と、信号BOOTEがHレベルで、かつ、アドレスビットA14がLレベルの場合にHレベルの信号を出力し他の場合にはLレベルの信号を出力するゲート回路88と、信号BOOTEおよびアドレスビットA14を受けるAND回路90とを含む。
アドレスデコード部82は、さらに、ゲート回路86,88の出力を受けるOR回路92と、ゲート回路86の出力とAND回路90の出力とを受けるOR回路94と、OR回路92の出力と信号BOPとを受けて信号BAVS0を出力するAND回路96と、OR回路94の出力と信号BOPとを受けて信号BAVS1を出力するAND回路98とを含む。
アドレスデコード部84は、信号BOPとアドレスビットA17,A18とを受けて信号BAVM0を出力する3入力のNOR回路102と、信号BOPがLレベルの場合に活性化されアドレスビットA17がHレベルで、かつ、アドレスビットA18がLレベルである場合に信号BAVM1を活性化するゲート回路104と、アドレスビットA17がLレベルで、かつ、アドレスビットA18がHレベルである場合に信号BAVM2を活性化するゲート回路106と、アドレスビットA17,A18を受けて信号BAVM3を出力するAND回路108とを含む。
ゲート回路106およびAND回路108に信号BOPが入力されていないのは、アドレスビットA18がHレベルである場合には図6のNOR回路62によってBOPはLレベルに設定されるため入力する必要がないからである。
なお、信号BOOTEがHレベルの場合、縦方向ブロック選択回路64の動作は従来の縦方向ブロック選択回路と全く同じである。信号BOOTEがLレベルで、かつ、信号BLKSELがLレベルの場合についても縦方向ブロック選択回路64の動作は従来の縦方向ブロック選択回路と全く同じである。
信号BOOTEがLレベルで、かつ、信号BLKSELがHレベルの場合には、アドレスビットA14がLレベルであるかHレベルにあるかにかかわらず、信号BAVS0,BAVS1がともにHレベルとなり、縦方向の2ブロックの同時選択が行なわれる。
図8は、図6における横方向ブロック選択回路の構成を示した回路図である。
図8を参照して、横方向ブロック選択回路66は、信号BOPに応じてアドレスビットA12,A13を選択アドレスビットSA0,SA1として選択するかまたはアドレスビットA15,A16を選択アドレスビットSA0,SA1として選択するかを決定するアドレス選択部110と、選択アドレスビットSA0,SA1のデコードを行なうアドレスデコード部112と、アドレスデコード部112の出力を有効にするか否かを決定する出力部114とを含む。
アドレス選択部110は、信号BOPを受けて反転するインバータ116と、アドレスビットA12と信号BOPとを受けるNAND回路118と、アドレスビットA15とインバータ116の出力とを受けるNAND回路120と、NAND回路118,120の出力を受けて選択アドレスビットSA0を出力するNAND回路122とを含む。
アドレス選択部110は、さらに、アドレスビットA13と信号BOPとを受けるNAND回路124と、アドレスビットA16とインバータ116の出力とを受けるNAND回路126と、NAND回路124,126の出力を受けて選択アドレスビットSA1を出力するNAND回路128とを含む。
アドレスデコード部112は、選択アドレスビットSA0,SA1がいずれもLレベルである場合を検出するデコードゲート回路130と、選択アドレスビットSA0がHレベルで、かつ、選択アドレスビットSA1がLレベルである場合を検出するデコードゲート回路132と、選択アドレスビットSA0がLレベルで、かつ、選択アドレスビットSA1がHレベルであることを検出するデコードゲート回路134と、選択アドレスビットSA0,SA1がともにHレベルであることを検出するデコードゲート回路136とを含む。
出力部114は、信号BLKSEL,BOPがともにHレベルで、かつ信号BOOTEがLレベルであることを検知するゲート回路138と、ゲート回路138の出力とデコードゲート回路130の出力とを受けて信号BAH0を出力するOR回路140と、ゲート回路138の出力とデコードゲート回路132の出力とを受けて信号BAH1を出力するOR回路142と、ゲート回路138の出力とデコードゲート回路134の出力とを受けて信号BAH2を出力するOR回路144と、ゲート回路138の出力とデコードゲート回路136の出力とを受けて信号BAH3を出力するOR回路146とを含む。
信号BOOTEがHレベルの場合には、図8に示した横方向ブロック選択回路66の動作は、従来の横方向ブロック選択回路と全く同じである。信号BOOTEがLレベルで、かつ、信号BLKSELがLレベルの場合についても横方向ブロック選択回路66の動作は、従来の横方向ブロック選択回路と全く同じである。
信号BOOTEがLレベルで、かつ、信号BLKSELがHレベルの場合にはアドレスビットA12,A13がLレベルであるかHレベルにあるかにかかわらず、信号BAH0,BAH1,BAH2,BAH3はともにHレベルとなり、横方向に並ぶ4ブロックの同時選択が行なわれる。このとき、図7の縦方向ブロック選択回路では、アドレスビットA14がLレベルであるかHレベルにあるかにかかわらず、信号BAVS0,BAVS1がともにHレベルとなり、縦方向の2ブロックの同時選択が行なわれるので、その結果ブロックB000〜B007の8つのブロックの選択が行なわれることになる。
図9は、図1における内部コントローラのブロック消去時の動作フローを説明するためのフローチャートである。
図9を参照して、実施の形態1に係る発明のフラッシュメモリにおいて特徴的なブロック単位の消去動作について説明する。
消去をブロック一括で実施することによりフラッシュメモリは特徴づけられる。しかしながら、消去動作のフローのうち、ブロック全体のメモリセルに対して一括してパルスを印加するのは、ステップS2におけるブロック一括書込と、ステップS4で実行されるブロック一括消去パルス1の印加と、ステップS5で行なわれるブロック一括ソフト書込と、ステップS7で行なわれるブロック一括消去パルス2の印加である。なお、ブロック一括ソフト書込とは、ステップS2で行なわれた書込よりもパルス印加時間が短くされたり印加するパルスの電圧を低く抑えたりされた弱い一括書込のことである。
本発明においては、ステップS2,S4,S5,S7の4ステップの実行時において8個の4kワードのブロックB000〜B007を図7に示した縦方向ブロック選択回路64および図8に示した横方向ブロック選択回路66によって同時選択可能としている。これら4つのステップにおいて8個の4kワードブロックを1個のメインブロック(32kワードブロック)として扱うことが可能になる。
図9の動作フローを順に説明すると、外部から消去コマンドと対応するアドレスが入力されるとステップS1において消去動作が開始される。ステップS2においては消去の対象となるブロックに一括書込が指示される。内部コントローラ8は、ステップS2を実行する場合には信号BLKSELをHレベルに設定する。これにより複数ブロックの同時選択が行なわれるため4kワードが使用されない設定になっている場合には図1のメモリブロックB000〜B007が同時選択され一括して書込パルスが印加される。
この信号BLKSELは、消去ブロックのメモリセルに一括してパルスを与えるステップにおいてのみHレベルに設定される。つまりステップS2の実行時の他にもステップS4,S5,S7の実行時にHレベルに設定され、他の場合にはLレベルに設定されている。
続いてステップS3に進み消去ベリファイ1が行なわれる。消去ベリファイ1は指定されたメモリブロックのメモリトランジスタのしきい値電圧が所定の消去状態に対応するしきい値電圧になっているか否かを確認する動作である。一定の消去状態に達していない場合には消去ベリファイはフェイルとなりステップS4に進み、ブロック一括消去パルスが消去対象ブロックに印加される。ステップS4における消去パルスの印加が終了すると再びステップS3に進み消去ベリファイ1が実行される。
ステップS3において消去ベリファイ1がパスするとステップS5に進みブロック一括ソフト書込が実行される。そしてステップS6に進み消去ベリファイ2が実行される。消去ベリファイ2が完了していない場合にはステップS7に進みブロック一括消去パルス2が選択ブロックに与えられる。そしてステップS6に進み再び消去ベリファイ2が実行される。
ステップS6において消去ベリファイ2がパスすると、ステップS8において過消去状態を検出するオーバーイレースベリファイが行なわれる。過消去とは、消去パルスを加えることにより、メモリトランジスタのしきい値電圧が所定の範囲を超えて変化してしまうことである。
過消去が検出されオーバーイレースベリファイがフェイルするとステップS9においてオーバーイレースリカバー動作が行なわれる。そしてステップS10においてしきい値電圧Vthの下限値の検証すなわちベリファイが行なわれ、その結果がフェイルであればステップS9に戻る。ステップS10においてベリファイ結果がパスであればステップS8で再びオーバーイレースベリファイが行なわれる。ステップS8において結果がパスであればステップS11に進みブロック消去の動作が完了する。
[切換信号発生回路の変形例]
図10は、図3で説明した切換信号発生回路の第1の変形例を説明するための回路図である。
図10を参照して、切換信号発生回路10Aは、信号♯BOOTが与えられるパッド152とノードN3との間に接続される抵抗156と、パワーオンリセット信号PORを受けて反転するインバータ154と、電源ノードとノードN3との間に接続されゲートにインバータ154の出力を受けるPチャネルMOSトランジスタ158と、電源ノードとノードN3との間に接続されるキャパシタ160とを含む。
切換信号発生回路10Aは、さらに、ノードN3に入力が接続されノードN4に出力が接続されるインバータ164と、電源ノードとノードN3との間に接続されゲートがノードN4に接続されるPチャネルMOSトランジスタ162と、ノードN4と接地ノードとの間に接続されるキャパシタ166と、ノードN4に入力が接続されるインバータ168と、インバータ168の出力を受けて反転し信号BOOTEを出力するインバータ170とを含む。
図11は、図10に示した切換信号発生回路の設定と出力を説明する図である。
図11を参照して、ワイヤボンディングオプションによって接地電位が与えられるリードにパッド152が接続される場合には信号♯BOOTはLレベルに設定されこれに応じて信号BOOTEはHレベルに設定される。
一方、パッド152が電源電位を受けるリードにワイヤで接続される場合または開放状態にされリードとは接続されない状態においては、信号BOOTEはLレベルに設定される。このように切換信号発生回路10を変形してもよい。
図12は、切換信号発生回路の第2の変形例を示す回路図である。
図12を参照して、切換信号発生回路10Bは、パワーオンリセット信号PORを受けて反転するインバータ172と、電源ノードとノードN5との間に接続されゲートにインバータ172の出力を受けるPチャネルMOSトランジスタ174と、ノードN5とノードN6との間に接続されレーザ光線により切断可能なヒューズ素子176と、ノードN6と接地ノードとの間に接続されゲートにインバータ172の出力を受けるNチャネルMOSトランジスタ178とを含む。
切換信号発生回路10Bは、さらに、ノードN5に入力が接続されノードN7に出力が接続されるインバータ182と、電源ノードとノードN5との間に接続されゲートがノードN7に接続されるPチャネルMOSトランジスタ174と、インバータ172の出力を受けて反転するインバータ184と、インバータ182の出力とインバータ184の出力とを受けるNOR回路186と、NOR回路186の出力を受けて反転するインバータ188と、インバータ188の出力を受けて反転し信号BOOTEを出力するインバータ190とを含む。
図13は、ヒューズ素子の状態と切換を制御する信号BOOTEとの関係を説明するための図である。
図12、図13を参照して、ヒューズ素子176がレーザ光線によりカットされた場合にはノードN5はHレベルに保持されノードN7はLレベルになる。そして、パワーオンリセットが解除された後にはインバータ184の出力もLレベルになる。すると切換制御のための信号BOOTEはHレベルに設定される。
一方、ヒューズ素子176が導通状態にある場合には、パワーオンリセットが解除されるとノードN5はLレベルに設定されその結果ノードN7はHレベルに設定される。するとNOR回路186の出力がLレベルとなるので、切換のための信号BOOTEはLレベルに設定されることになる。
不揮発性半導体記憶装置のような半導体記憶装置は不良メモリセルが存在する場合に冗長メモリセルと置換を行なうためヒューズ素子を切断する工程を有する場合が多い。したがってこの切断工程において切換信号発生回路のヒューズ素子を切断すれば特別な装置を用意しなくても切換信号の設定を変えることができる。
図14は、切換信号発生回路の第3の変形例を示す回路図である。
図14を参照して、切換信号発生回路10Cは、パワーオンリセット信号PORを受けて反転するインバータ192と、電源ノードとノードN8との間に接続されゲートにインバータ192の出力を受けるPチャネルMOSトランジスタ196と、ノードN8と通常の電源電位よりも高い電源電位HVCCとを選択的にのN9に結合するスイッチ198と、ノードN9とノードN10との間に接続されるメモリトランジスタ200と、ノードN10と接地ノードとの間に接続されるスイッチ202と、メモリトランジスタ200のコントロールゲートを制御するためのスイッチ194とを含む。
メモリトランジスタ200は、本発明の不揮発性半導体記憶装置のメモリアレイに含まれているメモリトランジスタと同様な構成を有している。したがって新たな工程を追加しなくてもパターン設計を変更することで切換信号発生回路10Cの内部にメモリトランジスタ200を設けることが可能である。スイッチ198、194、202は、所定のテストモードにおいてイレースコマンドやプログラムコマンドに応じてノードN9、ノードN10およびメモリトランジスタ200のコントロールゲートを制御するために設けられる。この所定のテストモードにおいてメモリトランジスタ200のフローティングゲートの保持内容を設定する。
メモリトランジスタ200の記憶内容が設定された後にはスイッチ194はインバータ192の出力をメモリトランジスタ200の制御ゲートに与えスイッチ198はノードN8とノードN9とを接続し、スイッチ202はノードN10を接地ノードに接続する。
切換信号発生回路10Cは、さらに、ノードN8に入力が接続されノードN10に出力が接続されるインバータ206と、電源ノードとノードN8との間に接続されゲートがノードN10に接続されるPチャネルMOSトランジスタ204と、インバータ192の出力を受けて反転するインバータ208と、インバータ206の出力とインバータ208の出力とを受けるNOR回路210と、NOR回路210の出力を受けて反転するインバータ212と、インバータ212の出力を受けて反転し信号BOOTEを出力するインバータ214とを含む。
図15は、図14の切換信号発生回路のメモリトランジスタに設定されたしきい値電圧と信号BOOTEとの関係を示した図である。
図14、図15を参照して、メモリトランジスタ200のしきい値電圧Vthが所定の電圧より高い場合には、インバータ192の出力が活性化されてもメモリトランジスタ200は非導通状態となる。したがって、図12においてヒューズ素子176がカットされている状態と同様となり信号BOOTEはこれに応じてHレベルに設定される。
一方、メモリトランジスタ200のしきい値電圧Vthが所定の値より低い場合には、インバータ192の出力がHレベルとなるとメモリトランジスタ200は導通しノードN9がノードN10に接続される。したがって、図12の回路においてヒューズ素子176が導通している場合と同様となり信号BOOTEはLレベルに設定される。
このように、本発明においては不揮発性メモリセルを製造するプロセスフローが適用されているため、信号BOOTEを設定するために不揮発性メモリセルと同様なメモリトランジスタを使用しても製造工程が追加されることもなく好適に切換信号の発生をさせることができる。
[実施の形態1の変形例]
以上の実施の形態においては、図1のプリデコーダ18においてブロック選択を複数同時にある一定のパルス印加時に選択することによって複数ブロックを1回の指示で同時に消去する構成について説明したが、内部コントローラにおいて1回の外部からの指示に応じてシーケンシャルに複数ブロックの消去を行なわせることによっても外部から見ると同様な動作を実行させることができる。
図16は、実施の形態1の変形例に係る不揮発性半導体記憶装置の構成を説明するためのブロック図である。
図16を参照して、不揮発性半導体記憶装置221は、図1で説明した不揮発性半導体記憶装置1の構成において制御部2に代えて制御部2Aを含む。制御部2Aは、図1の制御部2の構成において内部コントローラ8とプリデコーダ18にそれぞれ代えて内部コントローラ8Aとプリデコーダ18Aとを含む。他の部分の不揮発性半導体記憶装置221の構成は図1に示した不揮発性半導体記憶装置1と同様であるので説明は繰返さない。
プリデコーダ18Aは、図27で説明した従来のブロック選択動作と同様な動作を行なう。
図17は、図16における内部コントローラの消去動作を説明するためのフローチャートである。
図17を参照して、内部コントローラ8Aは、外部から制御信号により所定ブロックの消去指示を受けるとステップS21において消去動作を開始する。
ステップS22においては消去の対象となるブロックに一括書込が指示される。続いてステップS23に進み消去ベリファイ1が行なわれる。消去ベリファイ1は指定されたメモリブロックのメモリトランジスタのしきい値電圧が所定の消去状態に対応するしきい値電圧になっているか否かを確認する動作である。一定の消去状態に達していない場合には消去ベリファイはフェイルとなりステップS24に進み、ブロック一括消去パルスが消去対象ブロックに印加される。ステップS24における消去パルスの印加が終了すると再びステップS23に進み消去ベリファイ1が実行される。
ステップS23において消去ベリファイ1がパスすると、ステップS25に進みブロック一括ソフト書込が実行される。そしてステップS26に進み消去ベリファイ2が実行される。消去ベリファイ2が完了していない場合にはステップS27に進みブロック一括消去パルス2が選択ブロックに与えられる。そしてステップS26に進み再び消去ベリファイ2が実行される。
ステップS26において消去ベリファイ2がパスすると、ステップS28において過消去状態を検出するオーバーイレースベリファイが行なわれる。
過消去が検出されオーバーイレースベリファイがフェイルするとステップS29においてオーバーイレースリカバー動作が行なわれる。そしてステップS30においてしきい値電圧Vthの下限値の検証すなわちベリファイが行なわれ、その結果がフェイルであればステップS29に戻る。
ステップS30においてベリファイ結果がパスであればステップS28で再びオーバーイレースベリファイが行なわれる。ステップS28において結果がパスであればステップS31に進む。
ステップS31では、切換信号発生部で発生される信号BOOTEがチェックされる。信号BOOTEがHレベルであればブートブロックが必要であるということを意味するので、最初に指定されたブロックのみを消去してステップS34に進み消去動作が終了する。
一方、信号BOOTEがLレベルであればブートブロックが不要であるということを意味するので4kワードのブロックB000〜B007は一括消去の対象となる。したがってステップS32へ進み、現在消去が完了したブロックが一括消去の対象となるブロックのうちの最終ブロックであるか否かが判断される。
最終ブロックでない場合にはステップS33に進み、次のブロックに消去対象が変更される。たとえば今消去したブロックがブロックB000である場合には次のブロックB001に消去対象が変更される。そして再びステップS22に進み対象となったブロックの一括消去が実行される。
ステップS32においてブロックが最終ブロックであることが検出される場合つまりブロックB000から順番に消去が進み現在消去が完了したブロックがB007である場合にはステップS34に進む。また現在消去しているブロックが4kワードのブロックでない場合つまりブロックB008〜B022であった場合には同様にステップS34に進み消去動作が完了する。
このように複数のブロックを同時に選択することを行なわなくても、1回の消去指示に応じて複数ブロックを1ブロックずつ消去していくシーケンスをコントローラに組込んでおいてもよい。
[実施の形態2]
実施の形態1では、図1の4kワードのメモリブロックB000〜B007を個別に消去する場合と一括して消去する場合とを所定の設定によって切換えることができる不揮発性メモリについて説明した。この場合メモリブロックB100はメモリアレイの連続性のためには設ける必要があったが常に不使用とされる領域であった。4kワードブロックが必要とされない場合には、メモリブロックB000〜B007に代えて従来不使用とされてきたメモリブロックB100を選択するようにプリデコーダを構成すればよい。
図18は、実施の形態2におけるプリデコーダ18Bの構成を示したブロック図である。
図18を参照して、プリデコーダ18Bは、図6において説明したプリデコーダ18の構成において、NOR回路62に代えてBOP発生回路62Bを含み、縦方向ブロック選択回路64に代えて縦方向ブロック選択回路64Bを含み、横方向ブロック選択回路66に代えて横方向ブロック選択回路66Bを含む。他の部分のプリデコーダ18Bの構成は、図6において説明したプリデコーダ18と同様であり説明は繰返さない。
BOP発生回路62Bは、アドレスビットA15,A16,A17,A18を受ける4入力のNOR回路222と、NOR回路222の出力と信号BOOTEとを受けて信号BOPを出力するAND回路223とを含む。
実施の形態1ではこの信号BOPは不使用であったメモリブロックB100に対応するアドレスが入力された場合にその代わりにブロックB000〜B007を選択する動作にプリデコーダの動作切換を行なうための信号であった。図18に示した構成では、信号BOOTEがLレベルの場合には常にこの信号BOPがLレベルに非活性化されてブロックB000〜B007は選択されなくなり、その代わりに32kワードのブロックB100が選択されることになる。したがって外部から与える消去の指示は図30で説明したメモリアレイ700と同様16回ですむことになる。
図19は図18における縦方向ブロック選択回路の構成を示す回路図である。
図19を参照して、縦方向ブロック選択回路64Bは、図7で説明した縦方向ブロック選択回路64の構成においてアドレスデコード部82に代えてアドレスデコード部82Aを含む。他の部分の縦方向ブロック選択回路64Bの構成は図7で説明した縦方向ブロック選択回路64と同様であり説明は繰返さない。
アドレスデコード部82Aは、信号BOPがHレベルに活性化されたときにアドレスビットA14を反転して信号BAVS0を出力するゲート回路224と、信号BOPとアドレスビットA14とを受けて信号BAVS1を出力するAND回路226とを含む。
信号BOPがLレベルに非活性化された場合には縦方向ブロックを選択する信号BAVS0,BAVS1はともにLレベルに非活性化されメモリブロックB000〜B007が選択されない状態となる。一方、信号BOPがHレベルに活性化されたときにはアドレスビットA14に応じて信号BAVS0,BAVS1のいずれか一方がHレベルに活性化されメモリブロックB000〜B007のいずれかが選択可能となる。
図20は、図18における横方向ブロック選択回路の構成を示した回路図である。
図20を参照して、横方向ブロック選択回路66Bは、アドレス選択部110とアドレスデコード部112とを含む。アドレス選択部110およびアドレスデコード部112の構成は図8において既に説明しているので説明は繰返さない。なお、横方向ブロック選択回路66Bにおいては、アドレスデコード部112のデコードゲート回路130,132,134,136からそれぞれ信号BAH0,BAH1,BAH2,BAH3が出力される点が図8と異なっている。
図18の信号BOOTEは実施の形態1と同様4kワード領域を持つか持たないかを決定する信号である。実施の形態2においても実施の形態1で説明したような切換信号発生回路10,10A,10B,10Cを用いて発生することが可能である。図18のBOP発生回路62Bにおいて信号BOPを信号BOOTEによって直接コントロールすることにより信号BOPがHレベルのときにメモリブロックB000〜B007を選択し、信号BOPがLレベルのときにメモリブロックB100を選択することが可能となる。このことにより1品種にて4kワードのメモリブロックを持つフラッシュメモリと4kワードのメモリブロックを持たないフラッシュメモリとを同時に実現可能となる。
以上説明した実施例では、4kワード領域8ブロックはアドレスの小さい側(ボトム側)にのみ位置しているが、これはアドレスの大きい側(トップ側)に位置していても同様な切換動作が可能である。また、ボトム側とトップ側の両方に4kワード領域のメモリブロック8ブロックずつが位置していてもよい。
[応用例]
図21は、本発明を適用してアドレス領域のボトム側とトップ側の双方に4kワードのメモリブロックが配置されたいわゆるデュアルブートタイプのメモリアレイを説明するための図である。
図21を参照して、メモリアレイ300は、ボトムブートに対応するメモリブロックB000〜B007と、メインブロックに対応するメモリブロックB008〜B021と、トップブートに対応するメモリブロックB022〜B029とを含む。
トップブートとボトムブートとが要求されるのは、不揮発性半導体記憶装置が使用されるシステムに搭載されるCPUがどの領域を最初にアクセスするかはCPUのタイプによって二通りが存在するからである。
使用されるシステムがボトムブートに対応するものであればメモリブロックB000〜B007は個別に消去可能な構成としておき実施の形態1で説明したようにメモリブロックB022〜B029を1つの消去指示で一括して消去可能にするかもしくはメモリブロックB022〜B029の選択に代えてメモリブロックB200を選択するように切換えればよい。
使用されるシステムがトップブートに対応するものであればメモリブロックB022〜B029は個別に消去可能な構成としておき、実施の形態1で説明したようにメモリブロックB000〜B007を1つの消去指示で一括して消去可能にするかもしくはメモリブロックB000〜B007の選択に代えてメモリブロックB100を選択するように切換えればよい。
このようにデュアルブートが可能なメモリアレイに本発明のブロック選択構成を適用すればシステムがボトムブートの場合であってもトップブートの場合でもブートなしのタイプであっても1品種のチップを生産しておけば必要に応じてワイヤボンディングの変更やヒューズの切断や所定の不揮発性メモリセルの記憶内容の変更を行なうことによりさまざまな構成に対応することが可能となる。
ところで、このようなデュアルブートに対応する不揮発性メモリを2チップ組合せて用いる場合には、従来はアドレスの中央部分に4kワードという細切れのブロックが存在することにより使い勝手が悪くなるという問題点があったが、本発明の不揮発性メモリをトップブート品種、ボトムブート品種、ブートなし品種に切換えて組合せて使用することにより2チップ構成の場合でもさまざまなタイプの不揮発性メモリが実現できる。
図22は、2チップを組合せた場合のデュアルブートを実現する構成を説明する図である。
図22を参照して、メモリ302は、メモリアレイ304とメモリアレイ306とを組合せて実現される。メモリアレイ304は図21で説明したデュアルブート品のメモリアレイ300をボトムブートに対応させて実現したものであり、メモリアレイ306はメモリアレイ300をトップブートに対応させて使用したものである。これにより、アドレスの中央部分に細切れの4kワードのブロックはユーザから見れば存在しないことになり使い勝手がよくなる。
図23は、2チップを組合せた場合のボトムブートを実現する構成を説明する図である。
図23を参照して、メモリ308は、メモリアレイ310とメモリアレイ312とを組合せて実現される。メモリアレイ310は図21で説明したデュアルブート品のメモリアレイ300をボトムブートに対応させて実現したものであり、メモリアレイ312はメモリアレイ300をブートなしタイプに対応させて使用したものである。この場合にも、アドレスの中央部分やトップ部分には、細切れの4kワードのブロックはユーザから見れば存在しないことになり使い勝手がよくなる。
図24は、2チップを組合せた場合のトップブートを実現する構成を説明する図である。
図24を参照して、メモリ314は、メモリアレイ316とメモリアレイ318とを組合せて実現される。メモリアレイ316は図21で説明したデュアルブート品のメモリアレイ300をブートなしタイプに対応させて実現したものであり、メモリアレイ318はメモリアレイ300をトップブートに対応させて使用したものである。この場合にも、アドレスの中央部分やボトム部分には、細切れの4kワードのブロックはユーザから見れば存在しないことになり使い勝手がよくなる。
図25は、2チップを組合せた場合のブートなしタイプを実現する構成を説明する図である。
図25を参照して、メモリ320は、メモリアレイ322とメモリアレイ324とを組合せて実現される。メモリアレイ322,324は図21で説明したデュアルブート品のメモリアレイ300をブートなしタイプに対応させて実現したものである。この場合にも、アドレスのトップ部分、中央部分、ボトム部分には、細切れの4kワードのブロックはユーザから見れば存在しないことになり使い勝手がよくなる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,221 不揮発性半導体記憶装置、2,2A 制御部、4 プログラム&ベリファイ回路、6 センスアンプ、8,8A 内部コントローラ、10,10A〜10C 切換信号発生回路、16 アドレスバッファ、18,18A,18B プリデコーダ、20 ロウ・コラムデコーダ、22 入出力データバッファ、24 Yゲート、26,300,304,306,310,312,316,318,322,324 メモリアレイ、36,42,160,166 キャパシタ、50 チップ、52 リード、54,55 ワイヤ、56,58,152 パッド、62 NOR回路、62B BOP発生回路、64,64B 縦方向ブロック選択回路、66,66B 横方向ブロック選択回路、68,70 プリデコード回路、72 ロウデコーダ、74 コラムデコーダ、82,82A,84,112 アドレスデコード部、86,88,138,224 ゲート回路、110 アドレス選択部、114 出力部、130,132,134,136 デコードゲート回路、176 ヒューズ素子、194,198,202 スイッチ、200 メモリトランジスタ、302,308,314,320 メモリ。