(58)【調査した分野】(Int.Cl.,DB名)
前記第1のブロックの複数の前記メモリセルは第1のソース線に共通に接続され、前記第2のブロックの複数の前記メモリセルは第2のソース線に共通に接続されることを特徴とする請求項1又は2記載の半導体記憶装置。
前記第1のブロックの複数の前記メモリセルは第1のウェル内に配置され、前記第2のブロックの複数の前記メモリセルは第2のウェル内に配置され、前記ブロック毎に一括して消去を行うことを特徴とする請求項1〜4の何れか1項に記載の半導体記憶装置。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面に基づいて説明する。
【0017】
電気的に書き換え可能な不揮発性の半導体記憶装置のフラッシュメモリは、通常、複数のメモリブロック(セクタ)を有する。メモリブロックに含まれる複数のメモリセルは、同一のウェル内にあり、データが一括で消去される。複数のメモリブロックは、その用途によって、制御用のコードを保存するためのコード格納用メモリ領域としてのメモリブロックと、作業用のデータを保存するための作業用メモリ領域としてのメモリブロックとの2つに分類できる。コード格納用メモリ領域は、メモリ容量及び一括で書き込むビット数(プログラムページサイズ)が大きく、読み出し(リード)速度や書き込み(プログラム)速度が速いことが求められる。一方、作業用メモリ領域は、メモリ容量及びプログラムページサイズが小さいことが求められ、読み出し速度や書き込み速度が遅くても良い。
【0018】
作業用メモリ領域のメモリブロックでは、プログラムページサイズが小さいので、1ワード線あたりの書き込み回数(ページ数)が増加し、メモリセルはゲート・ディスターブを受ける時間が長くなる。そのため、ゲート・ディスターブによるメモリセルの閾値電圧のシフトが起き閾値電圧が変化し易い。前述したように、ゲート・ディスターブによるメモリセルの閾値電圧の変化は、書き込み動作時にソース電圧を高くすることで改善され、閾値電圧が高くなり始めるまでの時間が長くなる。しかし、書き込み動作時にソース電圧を高くすると、書き込みを行うメモリセルと同一のビット線に接続されている他のメモリセルにおいて、メモリセルトランジスタのソースからビット線へのリーク電流が増加する。
【0019】
ここで、作業用メモリ領域のメモリブロックでは、メモリ容量が小さいので、1ビット線につながるメモリセルの数、すなわち1ビット線あたりのメモリセル数(Cell/BL)が少ない。また、プログラムページサイズが小さいので、書き込みを行うためにローレベルとされるビット線の数が少なく、リークパスが少ない。したがって、書き込み動作時にソース電圧を高くしても、メモリセルトランジスタのソースからビット線へのリーク電流の増加を抑制することができる。
【0020】
一方、コード格納用メモリ領域のメモリブロックでは、1ビット線あたりのメモリセル数(Cell/BL)が多く、プログラムページサイズが大きいので、書き込み動作時にソース電圧を高くするとリーク電流の増加が大きくなる。しかし、コード格納用メモリ領域のメモリブロックでは、プログラムページサイズが大きいので、1ワード線あたりの書き込み回数(ページ数)が少なく、メモリセルがゲート・ディスターブを受ける時間が短いため、書き込み動作時にソース電圧を高くする必要性が低い。
【0021】
そこで、以下に説明する本実施形態では、書き込み動作時に供給するソース電圧をコード格納用メモリ領域のメモリブロックと作業用メモリ領域のメモリブロックとで異ならせ、書き込み動作時に作業用メモリ領域のメモリブロックに高いソース電圧を供給する。これにより、ゲート・ディスターブによるメモリセルの閾値電圧の変化を抑制し、かつメモリセルのソースからビット線へのリーク電流が増大するのを抑制する。
【0022】
図1は、本発明の一実施形態における半導体記憶装置の構成例を示すブロック図である。本実施形態における半導体記憶装置は、電気的にデータを書き換え可能な不揮発性のフラッシュメモリである。本実施形態におけるフラッシュメモリは、メモリコア部11、コマンド生成回路12、内部電圧生成回路13、メモリコア制御回路14、アドレス生成回路15、及びデータ入出力回路16を有する。
【0023】
メモリコア部11は、電気的にデータを書き換え可能な不揮発性のメモリセルトランジスタを複数有する。コマンド生成回路12は、チップ・イネーブル信号CEBによって活性化され、制御信号CP0−3及びライト・イネーブル信号WEBに応じてモード信号MODEや制御信号CTSを出力する。コマンド生成回路12は、制御信号CP0−3及びライト・イネーブル信号WEBに応じて、読み出し(リード)動作、書き込み(プログラム)動作、消去(イレース)動作などの動作モードの状態を指示するモード信号MODEや制御信号CTSを出力する。
【0024】
内部電圧生成回路13は、モード信号MODEに応じて、メモリコア部11の動作に必要な電圧PWSを生成し、メモリコア部11に供給する。メモリコア制御回路14は、モード信号MODEに応じて、メモリコア部11を制御するメモリコア制御信号MCTLを生成し、メモリコア部11に出力する。メモリコア制御信号MCTLには、電源、アドレス信号、データ信号以外の制御信号が含まれる。
【0025】
アドレス生成回路15は、入力されたアドレス信号FA00−FA20をもとに、モード信号MODEに応じて、ロウアドレス信号RAやカラムアドレス信号CAを生成し、メモリコア部11に出力する。データ入出力回路16は、フラッシュメモリ外部とのデータの授受を行う。データ入出力回路16は、入力データ信号DIN00−DIN15により外部から入力されたデータを入力データDIとしてメモリコア部11に入力したり、メモリコア部11からの出力データDOを出力データ信号DO00−DO15により外部に出力したりする。
【0026】
図2は、本実施形態におけるメモリコア部11の構成例を示す図である。メモリコア部11は、複数のメモリブロック21−0、21−1と、グローバルビット線選択回路及びデータラッチを含む回路26と、リードアンプ、ライトアンプ、及びラッチ書き込み部を含む回路27とを有する。メモリブロック21−0は、作業用のデータを保存するための作業用メモリ領域(Work領域)としてのメモリブロックであり、メモリブロック21−1は、制御用のコードを保存するためのコード格納用メモリ領域(Code領域)としてのメモリブロックである。なお、
図2には、作業用メモリ領域及びコード格納用メモリ領域としてそれぞれ1つのメモリブロックを図示しているが、作業用メモリ領域として設けるメモリブロックの数、及びコード格納用メモリ領域として設けるメモリブロックの数は、それぞれ任意である。
【0027】
作業用メモリ領域のメモリブロック21−0は、メモリセルアレイ22−0、ワード線選択回路23−0、ビット線選択回路24−0、及びソース線制御回路25−0を有する。メモリセルアレイ22−0は、
図3に示すように複数のPチャネル型のメモリセルトランジスタMCTがアレイ状に配置されている。メモリセルアレイ22−0が有するメモリセルトランジスタMCTは、電源線NW0により電圧が供給される同一のN型ウェル内にある。メモリセルトランジスタMCTがそれぞれ保持するデータは、メモリセルアレイ22−0(メモリブロック21−0)単位で一括して消去される。
【0028】
メモリセルトランジスタMCTの各々は、ゲートがワード線WLに接続され、ドレインがビット線BLに接続され、ソースがソース線SRC0に接続されている。同じ行に配置されたメモリセルトランジスタMCTのゲートが1つのワード線WLに共通接続され、同じ列に配置されたメモリセルトランジスタMCTのドレインが1つのビット線BLに共通接続される。また、すべてのメモリセルトランジスタMCTのソースが1つのソース線SRC0に共通接続される。
【0029】
ワード線選択回路23−0は、アドレス生成回路15から出力されたロウアドレス信号RAに基づいて、ワード線WL0〜WL63を選択する。ビット線選択回路24−0は、アドレス生成回路15から出力されたカラムアドレス信号CAに基づいて、ビット線BL0〜BL1023を選択し、選択したビット線BL0〜BL1023とグローバルビット線GBLとを接続する。
【0030】
ソース線制御回路25−0は、メモリコア制御回路14から出力されたメモリ制御信号MCTLに基づいて、動作モードやメモリブロック選択に応じた適切な電圧をソース線SRC0に供給する。ソース線制御回路25−0は、動作モードが書き込み動作であって、メモリブロック21−0が選択された場合には、ソース線SRC0に高い電圧V24(例えば2.4V)を供給し、異なるメモリブロックが選択された場合には、ソース線SRC0に電圧V18(例えば1.8V)を供給する。また、例えばソース線制御回路25−0は、動作モードが読み出し動作である場合には、ソース線SRC0にメモリブロックによらず1.8Vを供給し、動作モードが消去動作である場合には、選択された場合にソース線SRC0に9Vを供給し、非選択の場合にソース線SRC0に1.8Vを供給する。
【0031】
コード格納用メモリ領域のメモリブロック21−1は、メモリセルアレイ22−1、ワード線選択回路23−1、ビット線選択回路24−1、及びソース線制御回路25−1を有する。メモリセルアレイ22−1は、メモリセルアレイ22−0と同様に複数のPチャネル型のメモリセルトランジスタがアレイ状に配置されている。メモリセルアレイ22−1が有するメモリセルトランジスタは、電源線NW1により電圧が供給される同一のN型ウェル内にあり、それぞれが保持するデータは、メモリセルアレイ22−1(メモリブロック21−1)単位で一括して消去される。メモリセルアレイ22−1が有するメモリセルトランジスタは、同じ行に配置されたメモリセルトランジスタのゲートが1つのワード線WLに共通接続され、同じ列に配置されたメモリセルトランジスタのドレインが1つのビット線BLに共通接続される。また、すべてのメモリセルトランジスタのソースが1つのソース線SRC1に共通接続される。
【0032】
ワード線選択回路23−1は、アドレス生成回路15から出力されたロウアドレス信号RAに基づいて、ワード線WL0〜WL511を選択する。ビット線選択回路24−1は、アドレス生成回路15から出力されたカラムアドレス信号CAに基づいて、ビット線BL0〜BL1023を選択し、選択したビット線BL0〜BL1023とグローバルビット線GBLとを接続する。
【0033】
ソース線制御回路25−1は、メモリコア制御回路14から出力されたメモリ制御信号MCTLに基づいて、動作モードやメモリブロック選択に応じた適切な電圧をソース線SRC1に供給する。ソース線制御回路25−1は、動作モードが書き込み動作である場合には、ソース線SRC1に電圧V18(例えば1.8V)を供給する。また、例えばソース線制御回路25−1は、動作モードが読み出し動作である場合には、ソース線SRC1にメモリブロックによらず1.8Vを供給し、動作モードが消去動作である場合には、選択された場合にソース線SRC1に9Vを供給し、非選択の場合にソース線SRC1に1.8Vを供給する。
【0034】
ここで、
図2に示した例において、作業用メモリ領域のメモリブロック21−0が有するワード線WLは64本であり、コード格納用メモリ領域のメモリブロック21−1が有するワード線WLは512本である。すなわち、作業用メモリ領域のメモリブロック21−0が有するワード線WLの数は、コード格納用メモリ領域のメモリブロック21−1が有するワード線WLの数より小さい。そのため、1ビット線あたりのメモリセルの数は、作業用メモリ領域のメモリブロック21−0では64Cell/BLになり、コード格納用メモリ領域のメモリブロック21−1では512Cell/BLになる。したがって、メモリ容量は、作業用メモリ領域のメモリブロック21−0で8Kバイトになり、コード格納用メモリ領域のメモリブロック21−1で64Kバイトになる。
【0035】
回路26のグローバルビット線選択回路は、アドレス生成回路15から出力されたカラムアドレス信号CAに基づいて、グローバルビット線GBLとメインビット線MBLとを接続する。回路26のデータラッチは、予め書き込むデータが設定されるラッチである。回路27のリードアンプは、メインビット線MBL、グローバルビット線GBL、及びビット線BLを介して接続されたメモリセルトランジスタに流れる電流に従ってメモリセルのデータを読み出して出力データDOとして出力する。また、回路26のライトアンプは、入力データDIに基づいてグローバルビット線GBLに電圧を出力する。
【0036】
図2に示したメモリコア部11において、各動作時の電圧設定は、
図20に示した例と同様である。ただし、本実施形態では、動作モードが書き込み動作であり、作業用メモリ領域のメモリブロック21−0が選択されたときには、ソース線SRC0には高いソース電圧(例えば、2.4V)を供給する。また、動作モードが書き込み動作であり、作業用メモリ領域のメモリブロック21−0が選択されていないときには、ソース線SRC0には通常のソース電圧(例えば、1.8V)を供給する。
【0037】
図4は、本実施形態におけるソース線制御回路の構成例を示す図である。
図4において、ブロック選択信号BA<0>、及び制御信号PROGB、SSWBは、メモリ制御信号MCTLに含まれる信号である。ブロック選択信号BA<0>は、作業用メモリ領域のメモリブロック21−0が選択される場合にローレベルとされ、コード格納用メモリ領域のメモリブロック21−1が選択される場合にハイレベルとされる。また、制御信号PROGBは、動作モードが書き込み動作であるときにローレベルとされ、制御信号SSWBは、ソース線SRC0、SRC1をともに電源線VSBに接続するときにハイレベルとされる。
【0038】
作業用メモリ領域のメモリブロック21−0が有するソース線制御回路25−0は、否定論理和演算回路(NOR回路)31、インバータ32、33、及びトランスファゲート34、35を有する。NOR回路31は、ブロック選択信号BA<0>及び制御信号SSWBが入力され、その演算結果を信号BAB<0>として出力する。インバータ32は、信号BAB<0>が入力され、その出力がインバータ33に出力される。インバータ32、33の出力によって、トランスファゲート34、35が制御され、ソース線SRC0に電源線VST又はVSBが接続される。
【0039】
また、コード格納用メモリ領域のメモリブロック21−1が有するソース線制御回路25−1は、NOR回路36、インバータ37、39、否定論理積演算回路(NAND回路)38、及びトランスファゲート40、41を有する。NOR回路36は、インバータ37を介してブロック選択信号BA<0>が入力されるとともに、制御信号SSWBが入力され、その演算結果を信号BAT<0>として出力する。また、NAND回路38は、信号BAT<0>及び制御信号PROGBが入力され、その演算結果を出力する。インバータ39は、NAND回路38の出力が入力される。NAND回路38及びインバータ39の出力によって、トランスファゲート40、41が制御され、ソース線SRC1に電源線VST又はVSBが接続される。
【0040】
動作モードが書き込み動作であるとき、内部電圧生成回路13により、電源線VSTの電圧が、電源線VS
Bの電圧より高く設定される。例えば、電源線VSTの電圧が2.4Vに設定され、電源線VS
Bの電圧が1.8Vに設定される。動作モードが書き込み動作であって、作業用メモリ領域のメモリブロック21−0が選択される場合、ブロック選択信号BA<0>、及び制御信号PROGB、SSWBがすべてローレベルとされる。このとき、信号BAB<0>はハイレベルであるので、ソース線SRC0は電源線VSTに接続される。一方、信号BAT<0>はローレベルであるので、NAND回路38の出力がハイレベルとなる。したがって、ソース線SRC1は電源線VSBに接続される。
【0041】
また、動作モードが書き込み動作であって、コード格納用メモリ領域のメモリブロック21−1が選択される場合、ブロック選択信号BA<0>がハイレベルとされ、制御信号PROGB、SSWBがローレベルとされる。このとき、信号BAB<0>はローレベルであるので、ソース線SRC0は電源線VSBに接続される。一方、信号BAT<0>はハイレベルであるが制御信号PROGBがローレベルであるので、NAND回路38の出力がハイレベルとなる。したがって、ソース線SRC1は電源線VSBに接続される。
【0042】
また、動作モードが読み出し動作であるときには、制御信号PROGB、SSWBがハイレベルとされ、ソース線SRC0、SRC1は電源線VSBに接続される。また、動作モードが消去動作であるときには、制御信号PROGBがハイレベルとされ、制御信号SSWBがローレベルとされることで、選択されたメモリブロックのソース線が電源線VSTに接続され、非選択のメモリブロックのソース線が電源線VSBに接続される。なお、動作モードが消去動作であるときには、電源線VSTの電圧は例えば9Vに設定され、電源線VSBの電圧は例えば1.8Vに設定される。
【0043】
このようにして、ソース線制御回路25−0、25−1は、ソース線SRC0、SRC1と電源VST、VSBとの接続状態を制御し、
図5に示すようにソース線電圧を制御する。なお、
図4に示したソース線制御回路25−0、25−1において、入力信号と論理素子のハイレベルの出力電圧及びPチャネルトランジスタのバックバイアスは、電源線VST、VSBの電圧よりも高く設定する。
【0044】
図6は、本実施形態におけるビットライン選択を説明するための図である。本実施形態においては、作業用メモリ領域のメモリブロック21−0での書き込みは一括して16ビットの書き込みを行い、コード格納用メモリ領域のメモリブロック21−1での書き込みは一括して512ビットの書き込みを行うものとする。
【0045】
図6に示すように、ラッチ制御信号LCTL1により制御されるコード格納用メモリ領域用のデータラッチ55が、グローバルビット線GBL毎に一つ接続される。また、ラッチ制御信号LCTL2により制御される作業用メモリ領域用のデータラッチ54が、メインビット線MBL毎に一つ接続される。
【0046】
作業用メモリ領域のメモリブロック21−0への書き込み時には、ビット線選択回路51及びグローバルビット線選択回路52が、カラムアドレス信号CAに従って、1024本のビット線BLの中から16本を選択してメインビット線MBLに接続する。そして、予めデータが書き込まれたデータラッチ54から書き込みが行われる。
【0047】
一方、コード格納用メモリ領域のメモリブロック21−1への書き込み時には、ビット線選択回路51が、カラムアドレス信号CAに従って、1024本のビット線BLの中から512本を選択してグローバルビット線
GBLに接続する。また、このとき制御信号GBLOFFTがハイレベルとされ、グローバルビット線選択回路52が、グローバルビット線GBLとメインビット線MBLとを非接続状態にする。そして、予めデータが書き込まれたデータラッチ55から書き込みが行われる。
【0048】
なお、ラッチ書き込み部53は、ラッチWRITEモード時には、入力データDI及び出力データDOを基に、メインビット線MBLを駆動してデータラッチ54、55に書き込み、ラッチREADモード時には、データラッチ54、55の状態を読み出す。ラッチWRITEモード時及びラッチREADモード時には、制御信号BLOFFTがハイレベルとされ、ビット線選択回路51が、ビット線BLとグローバルビット線GBLとを非接続状態にする。また、
コード格納用メモリ領域のメモリブロック21−
1への書き込みの場合には、制御信号GBLOFFTがハイレベルとされ、グローバルビット線選択回路52が、グローバルビット線GBLとメインビット線MBLとを非接続状態にする。一方、
作業用メモリ領域のメモリブロック21−
0への書き込みの場合には、グローバルビット線選択回路52が、カラムアドレス信号CAに従って、グローバルビット線GBLとメインビット線MBLの選択を行う。
【0049】
図7は、本実施形態におけるビット線選択回路51の構成例を示す図である。
図7において、制御信号BLOFFT、FLTは、メモリ制御信号MCTLに含まれる信号である。制御信号BLOFFTは、ビット線BLとグローバルビット線GBLとを非接続状態とする場合にハイレベルとされ、制御信号FLTは、非選択のビット線をフローティング状態にする場合にハイレベルとされる。
【0050】
ビット線選択回路51は、カラムアドレス信号CA<0>に従って、ビット線BLをグローバルビット線GBLに接続する。ビット線選択回路51は、カラムアドレス信号CA<0>に従って、2本のビット線BL(2i)、BL(2i+1)(iは添え字であり、i=0〜255の整数)のいずれかを1本のグローバルビット線GBLiに接続する。
図7には、2本のビット線BL0、BL1のいずれかを1本のグローバルビット線GBL0に接続し、2本のビット線BL2、BL3のいずれかを1本のグローバルビット線GBL1に接続する構成を図示しているが、他のビット線及びグローバルビット線についても同様に構成される。
【0051】
制御信号BLOFFT、FLTがともにローレベルであり、カラムアドレス信号CA<0>がローレベルであるときには、NOR回路61、64の出力がハイレベルとなり、NOR回路62、63の出力がローレベルとなる。すなわち、信号SYT0、SYB1がハイレベルとなり、信号SYT1、SYB0がローレベルとなる。したがって、ビット線BL0が選択されてグローバルビット線GBL0に接続されるとともに、ビット線BL2が選択されてグローバルビット線GBL1に接続され、非選択のビット線BL1、BL3が電源線V24に接続される。つまり、ビット線BL(2i)が選択されてグローバルビット線GBLiに接続され、非選択のビット線BL(2i+1)が電源線V24に接続される。
【0052】
また、制御信号BLOFFT、FLTがともにローレベルであり、カラムアドレス信号CA<0>がハイレベルであるときには、NOR回路62、63の出力がハイレベルとなり、NOR回路61、64の出力がローレベルとなる。すなわち、信号SYT1、SYB0がハイレベルとなり、信号SYT0、SYB1がローレベルとなる。したがって、ビット線BL1が選択されてグローバルビット線GBL0に接続されるとともに、ビット線BL3が選択されてグローバルビット線GBL1に接続され、非選択のビット線BL0、BL2が電源線V24に接続される。つまり、ビット線BL(2i+1)が選択されてグローバルビット線GBLiに接続され、非選択のビット線BL(2i)が電源線V24に接続される。
【0053】
また、制御信号BLOFFTがハイレベルであるときには、NOR回路61、63の出力がローレベルとなる。すなわち、信号SYT0、SYT1がともにローレベルとなりビット線BLとグローバルビット線GBLを接続しない。さらに、制御信号FLTがローレベルのとき、NOR回路62、64の出力がハイレベルとなる。すなわち、信号SYB0、SYB1がともにハイレベルとなり非選択のビット線BLが電源線V24に接続される。これにより、書き込み動作時の非選択のビット線BLの電圧を設定する。また、制御信号FLTがハイレベルの場合には、非選択のビット線は電源線V24に接続されずハイインピーダンス(HiZ)状態になる。読み出し動作時及び消去動作時にはこの状態に設定される。
【0054】
図8は、本実施形態におけるグローバルビット線選択回路52の構成例を示す図である。
図8において、制御信号GBLOFFT、FLTは、メモリ制御信号MCTLに含まれる信号である。制御信号GBLOFFTは、グローバルビット線GBLとメインビット線MBLとを非接続状態とする場合にハイレベルとされ、制御信号FLTは、非選択のグローバルビット線をフローティング状態にする場合にハイレベルとされる。
【0055】
グローバルビット線選択回路52は、カラムアドレス信号CA<1:5>に従って、グローバルビット線GBLをメインビット線MBLに接続する。グローバルビット線選択回路52は、カラムアドレス信号CA<1:5>に従って、32本のグローバルビット線GBL(32j)〜GBL(32j+31)(jは添え字であり、j=0〜15の整数)のいずれかを1本のメインビット線MBL<j>に接続する。
図8には、32本のグローバルビット線GBL0〜GBL32のいずれかを1本のメインビット線MBL<0>に接続する構成を図示しているが、他のグローバルビット線及びメインビット線についても同様に構成される。
【0056】
信号生成回路72は、カラムアドレス信号CA<1:5>、及び反転したカラムアドレス信号CAB<1:5>が選択的に入力される。カラムアドレス信号CAB<1:5>は、カラムアドレス信号CA<1:5>をインバータ71により反転した信号である。制御信号GBLOFFT、FLTがともにローレベルであるとき、メインビット線MBL<0>に対して32個ある信号生成回路72のうち、カラムアドレス信号CA<1:5>に対応する1つの信号生成回路72のNAND回路73の出力がローレベルになり、その他の信号生成回路72のNAND回路73の出力がハイレベルになる。
【0057】
これにより、カラムアドレス信号CA<1:5>に対応する1つの信号生成回路72では、NOR回路74の出力がハイレベルとなり、NOR回路75の出力がローレベルとなる。また、その他の信号生成回路72では、NOR回路74の出力がローレベルとなり、NOR回路75の出力がハイレベルとなる。すなわち、32本の信号SGT<0:31>のうち、カラムアドレス信号CA<1:5>に対応する1本の信号SGTがハイレベルとなり、他の信号SGTはローレベルとなる。また、32本の信号SGB<0:31>のうち、カラムアドレス信号CA<1:5>に対応する1本の信号SGBがローレベルとなり、他の信号SGBはハイレベルとなる。したがって、カラムアドレス信号CA<1:5>に対応するグローバルビット線GBLが選択されてメインビット線MBLに接続され、非選択のグローバルビット線GBLが電源線V24に接続される。
【0058】
また、制御信号GBLOFFTがハイレベルであるときには、NOR回路74の出力がローレベルとなる。すなわち、信号SGT<0:31>のすべてがローレベルとなりグローバルビット線GBLとメインビット線
MBLを接続しない。また、制御信号FLTがハイレベルの場合には、カラムアドレス信号CA<1:5>に対応しない非選択のグローバルビット線は電源線V24に接続されずハイインピーダンス(HiZ)状態になる。
【0059】
図9は、本実施形態におけるラッチ書き込み部53の構成例を示す図である。
図9において、制御信号TRNWTは、メモリ制御信号MCTLに含まれる信号である。制御信号TRNWTは、データDI及びDOを基にメインビット線MBLを駆動してデータラッチに書き込みを行うラッチWRITEモード時にハイレベルとされる。
【0060】
ラッチ書き込み部53は、NAND回路81、83、インバータ82、84、85、NOR回路86、及びNチャネルトランジスタ87、88を有する。NAND回路81は、データDOが入力されるともに、インバータ82を介してデータDIが入力され、その演算結果を出力する。NAND回路83は、NAND回路81の出力及び制御信号TRNWTが入力され、その演算結果を出力する。NAND回路83の出力が、インバータ84を介してNチャネルトランジスタ87のゲートに供給されている。また、NOR回路86は、インバータ84を介してNAND回路83の出力が入力されるともに、インバータ85を介して制御信号TRNWTが入力され、その演算結果を出力する。NOR回路86の出力がNチャネルトランジスタ88のゲートに供給されている。メインビット線MBLが、Nチャネルトランジスタ87を介して電圧VCCの電源線に接続され、Nチャネルトランジスタ88を介して電圧VSSの電源線に接続される。
【0061】
ラッチWRITEモード時には、制御信号TRNWTがハイレベルとされる。データDIがハイレベルのとき、Nチャネルトランジスタ87が導通状態となり、Nチャネルトランジスタ88が非導通状態となって、メインビット線MBLはハイレベルになる。また、DIがローレベルのとき、データDOがハイレベルであれば、Nチャネルトランジスタ87が非導通状態となり、Nチャネルトランジスタ88が導通状態となって、メインビット線MBLはローレベルになり、データDOがローレベルであればメインビット線MBLはハイレベルになる。ベリファイ後のデータDOの出力は、メモリセルの閾値電圧がベリファイレベルを超えていればローレベルになり、そうでなければハイレベルになる。
【0062】
図10は、本実施形態におけるデータラッチの構成例を示す図である。データラッチは、インバータ92、93を有するラッチと、制御用のNチャネルトランジスタ91、94、95、96、97、98を有する。
図10において、制御信号DLRSTT、DLC
ONT、DLTRNTは、メモリ制御信号MCTLに含まれる信号であり、VDBSSは内部電圧生成回路13から供給される電圧PWSである。入力信号、制御信号DLRSTT、DLC
ONT、DLTRNTは、電圧VCC−電圧VSS振幅であり、電圧VDBSSは、電圧V18−電圧VSS振幅である。
【0063】
制御信号DLRSTT、DLC
ONT、DLTRNT及び電圧VDBSSは、
図11に示すように制御される。スタンバイ時又は作業用メモリ領域の選択時には、制御信号DLRSTT、DLC
ONT、DLTRNTはローレベルとされる。リセット時には、制御信号DLRSTTがハイレベルになり、Nチャネルトランジスタ91が導通状態とされ、ノードn2がローレベルになる。この状態は、フェイル(Fail)状態を表す。
【0064】
ラッチにデータを書き込むラッチWRITE時には、制御信号DLTRNTがハイレベルになり、Nチャネルトランジスタ97が導通状態とされる。このとき、グローバルビット線GBLがハイレベルであると、Nチャネルトランジスタ98が導通状態とされ、ノードn1がローレベルになる。この状態は、パス(Pass)状態を表す。ベリファイ後にデータDOがローレベルになるか、データDIをハイレベルにすると、ラッチはパス(Pass)状態になる。
【0065】
ラッチの状態を読み出すラッチREAD時には、ビット線選択回路51は全非選択になり、グローバルビット線選択回路52は選択を行う。パス(Pass)状態にあると、グローバルビット線GBLはハイレベルになり、フェイル(Fail)状態にあるとグローバルビット線GBLはローレベルになる。また、データラッチのデータをメモリセルに書き込むプログラム時には、制御信号DLCONTがハイレベルとされ、インバータ92、93のラッチに保持されたデータに応じてグローバルビット線GBLが駆動される。
【0066】
図12は、本実施形態における半導体記憶装置での書き込み動作の例を示す波形図である。
図12には、作業用メモリ領域のメモリブロック21−0に対する書き込み動作の例を示している。
図12においては、説明を簡略化するため、ワード線WLの数を4つとし、ワード線WL0及びビット線BL0に接続されたメモリセルに書き込みを行う例を示している。
【0067】
書き込み(プログラム)動作を行う動作モードにエントリすると、それと同時にアドレス生成回路15は、ロウ及びカラムを指定する選択ワードアドレスを設定する。選択ワードアドレスとして作業用メモリ領域のメモリブロック21−0のアドレスが指定されると、ソース線制御回路25−0は、ソース線SRC0に高いソース電圧VST(例えば2.4V)を供給する。このとき、コード格納用メモリ領域のメモリブロック21−1のソース線制御回路25−1は、ソース線SRC1にソース電圧VSB(例えば1.8V)を供給する。
【0068】
また、選択ワードアドレスが設定されると、ビット線選択回路51及びグローバルビット線選択回路52は、カラムアドレスCAに従って、選択信号SYT0,SGT0をハイレベルにする。これにより、選択されたメモリセルがライトアンプと接続される。また、ビット線選択回路51及びグローバルビット線選択回路52は、カラムアドレスCAに従って、選択信号SYB1、SGB1〜SGB32をハイレベルにすることで、非選択のビット線BLをインヒビット電圧(V24)に設定する。
【0069】
そして、制御信号PLSがローレベルになると、ライトアンプが、入力されたデータDIに従ってメインビット線MBLの電圧を設定する。書き込みを行うビットの場合には、入力データDIにローレベルを入力し、選択されたビット線BL0はVSS(例えば0V)になる。書き込みを行わないビットの場合には、入力データDIにハイレベルを入力し、選択されたビット線BL0はV24(例えば2.4V)になる。
【0070】
また、制御信号PLSがローレベルに変化すると、ワード線選択回路23−0が、ロウアドレスRAに従ってワード線WL0を選択し、選択したワード線WL0を書き込み動作時の9V程度の高い電圧(VWT0)にする。また、ワード線選択回路23−0は、非選択のワード線WL(WL1−3)を0V(VWB0)にする。また、このとき、N型ウェルの電圧は、5V程度の書き込み動作時のNwell電圧(VNW0)に設定される。以上のようにして、作業用メモリ領域のメモリブロック21−0に対する書き込みが行われる。
【0071】
図13は、本実施形態における半導体記憶装置での書き込み動作の他の例を示す波形図である。
図13には、コード格納用メモリ領域のメモリブロック21−1に対する書き込み動作の例を示している。
図13においては、説明を簡略化するため、ワード線WLの数を4つとし、ワード線WL0及びビット線BL0に接続されたメモリセルに書き込みを行う例を示している。
【0072】
書き込み(プログラム)動作を行う動作モードにエントリすると、それと同時にアドレス生成回路15は、ロウ及びカラムを指定する選択ワードアドレスを設定する。選択ワードアドレスとしてコード格納用メモリ領域のメモリブロック21−1のアドレスが指定されると、ソース線制御回路25−0、25−1は、ソース線SRC0、SRC1にソース電圧VSB(例えば1.8V)を供給する。
【0073】
また、選択ワードアドレスが設定されると、ビット線選択回路51は、カラムアドレスCAに従って、選択信号SYT0をハイレベルにする。これにより、選択されたメモリセルがデータラッチ55と接続される。また、ビット線選択回路51は、カラムアドレスCAに従って、選択信号SYB1をハイレベルにすることで、非選択のビット線BLをインヒビット電圧(V24)に設定する。
【0074】
そして、制御信号PLSがローレベルになると、データラッチ55から出力されたデーに従ってグローバルビット線GBLの電圧が設定される。書き込みを行うビットの場合には、データにローレベルを入力し、選択されたビット線BL0はVSS(例えば0V)になる。書き込みを行わないビットの場合には、データにハイレベルを入力し、選択されたビット線BL0はV24(例えば2.4V)になる。
【0075】
また、制御信号PLSがローレベルに変化すると、ワード線選択回路23−1が、ロウアドレスRAに従ってワード線WL0を選択し、選択したワード線WL0を書き込み動作時の9V程度の高い電圧(VWT0)にする。また、ワード線選択回路23−
1は、非選択のワード線WL(WL1−3)を0V(VWB0)にする。また、このとき、N型ウェルの電圧は、5V程度の書き込み動作時のNwell電圧(VNW0)に設定される。以上のようにして、コード格納用メモリ領域のメモリブロック21−1に対する書き込みが行われる。
【0076】
図14は、本実施形態における半導体記憶装置での読み出し動作の他の例を示す波形図である。
図14においては、説明を簡略化するため、読み出し動作が行われるメモリブロックのワード線WLの数を4つとし、ワード線WL0及びビット線BL0に接続されたメモリセルからデータを読み出す例を示している。
【0077】
読み出し(リード)動作を行う動作モードにエントリすると、それと同時にアドレス生成回路15は、ロウ及びカラムを指定する選択ワードアドレスを設定する。選択ワードアドレスが設定されると、ビット線選択回路51及びグローバルビット線選択回路52は、カラムアドレスCAに従って、選択信号SYT0,SGT0をハイレベルにする。また、ビット線選択回路51及びグローバルビット線選択回路52は、カラムアドレスCAに従って、それ以外の選択信号SYT1、SGT1、SYB0−1、SGB0−1をローレベルに保持する。メインビット線MBLは、制御信号PLSがハイレベルであるとき、ソース線と同じ電圧のV18(例えば1.8V)に設定される。
【0078】
そして、制御信号PLSがローレベルに変化すると、ワード線選択回路23が、ロウアドレスRAに従ってワード線WL0を選択し、選択したワード線WL0を負電位のリードレベル(VWT0)にする。また、ワード線選択回路23は、非選択のワード線WL(WL1−3)をソース線と同じ電圧(V18)にする。選択されたワード線WL0の電圧がリードレベルになると、メモリセルの状態によって、メインビット線MBLの電圧が変化する。メモリセルが閾値電圧の高いプログラム状態(pr.)にある場合、メモリセルに電流が流れるので、メインビット線MBLはハイレベルになる。一方、メモリセルが閾値電圧の低いイレース状態(er.)の場合、メモリセルに電流が流れないので、メインビット線MBLは、リードアンプの電流源によって電位が下がりローレベルになる。メインビット線MBLの状態を受けて、データ出力信号(DO)が変化する。
【0079】
図15は、本実施形態における半導体記憶装置での消去動作の他の例を示す波形図である。
図15においては、説明を簡略化するため、消去動作が行われるメモリブロックのワード線WLの数を4つとした例を示している。
【0080】
消去(イレース)動作を行う動作モードにエントリすると、それと同時にアドレス生成回路15は、メモリブロックアドレスを設定する。消去動作においては、ビット線選択回路51及びグローバルビット線選択回路52は、すべての選択信号(SYT0−1,SGT0−1,SYB0−1,SGB0−1)をローレベルに保持する。また、制御信号FLTがハイレベルになって、選択されたメモリブロックのすべてのビット線は、グローバルビット線GBL及び電源線V24から切り離される。
【0081】
メモリブロックアドレスが設定されると、選択されたメモリブロックのすべてのワード線WL(WL0−3)は、電圧VSSに設定された後、制御信号PLSがローレベルに変化すると、消去動作時の−9V程度の負電圧(VWB0)になる。また、制御信号PLSがローレベルに変化すると、選択されたメモリブロックのN型ウェル及びソース線には、消去動作時の9V程度の高い電圧(VNW0)に設定される。このようにして、メモリブロックに対する消去動作が行われる。
【0082】
図16は、本実施形態における半導体記憶装置での書き込み動作の具体例を示す波形図である。
図16は、ベリファイ、ラッチWRITE、ラッチREAD、書き込み(プログラム)を行うときの動作波形を示している。また、その動作フローを
図17に示す。ここでは、作業用メモリ領域のメモリブロック21−0に対して1ワードで書き込みを行い、コード格納用メモリ領域のメモリブロック21−1に対して一括して32ワードで書き込みを行うものとする。なお、
図16に示す動作波形において、各信号等の振幅は、VDBSS以外、電圧VCC−電圧VSSである。
【0083】
まず、書き込みを行う前にすべてのラッチをリセットするためのラッチリセット動作を行う(S101)。ラッチリセット動作では、制御信号DLRSTTをハイレベルにして、各ラッチをリセットする。
【0084】
次に、プログラムベリファイ動作を行う(S102)。プログラムベリファイ動作に入ると、ロウアドレス及びカラムアドレスが入力される。そして、制御信号PLSがローレベルに変化すると、読み出し動作時と同様にして、READモード時と同様にしてロウアドレスに従ってワード線WLが選択され、選択されたメモリセルからデータが読み出される。ここで、選択されたワード線WLの電圧は、プログラムベリファイレベルに設定される。また、後述するように作業用メモリ領域とコード格納用メモリ領域とで、プログラムベリファイレベルを異ならせる場合には、この電圧を対象のメモリブロックに応じて変える。そして、制御信号DSETXをローレベルにして、ベリファイした結果をラッチする。出力データDO0−15には、結果が出力される。
【0085】
次に、同じアドレスのまま、ラッチWRITE(LATW)モードにエントリして、ラッチWRITE動作を行う(S103)。そのとき、入力データをDIに設定する。また、制御信号BLOFFTをハイレベルにして、ビット線BLとグローバルビット線GBLとを非接続状態にする。そして、制御信号PLSがローレベルに変化すると、制御信号TRNWTがハイレベルになるとともに、対象のラッチ制御信号DLTRNTがハイレベルになり、ラッチにデータDI及びDOを反映したデータが書き込まれる。対象でないラッチ制御信号はローレベルにする。
【0086】
ここで、コード格納用メモリ領域を対象としている場合には、カラムアドレスCA0を固定して、一括で書き込みを行うワードのカラムアドレスを順次変えて、プログラムベリファイ動作及びラッチWRITE動作を繰り返す。これを一括で書き込みを行うすべてのワードに対して行うことで、一括で書き込みを行うワードのデータがラッチに書き込まれる(S104、S105)。
【0087】
前述のようにしてデータをラッチに書き込んだ後、ラッチREAD(LATR)モードにエントリして、ラッチREAD動作を行う(S106)。ラッチREAD動作では、ラッチのデータを読み出す。このとき、電圧VDBSSはV18に設定される。また、制御信号BLOFFTをハイレベルにして、ビット線BLとグローバルビット線GBLとを非接続状態にする。そして、制御信号PLSがローレベルに変化すると、対象のラッチ制御信号DLCONTがハイレベルになり、メインビット線MBLにラッチのデータが出力される。対象でないラッチ制御信号はローレベルにする。メインビット線MBLの状態により、リードアンプがラッチのデータを出力することで、書き込む対象のワードがパス(Pass)状態であるか否かを確認する(S107)。書き込む対象のワードがパス(Pass)状態であれば、書き込みを終了する。
【0088】
なお、コード格納用メモリ領域を対象としている場合には、ラッチREAD動作及びワードのパス判定を、一括で書き込みを行うすべてのワードに対して行い、すべてのワードについてパス状態であるか否かを確認する。そして、一括で書き込みを行うすべてのワードがパス状態であれば、書き込みを終了する(S108、S109)。
【0089】
書き込む対象のワードがパス状態でない場合には、ラッチからの書き込みを行うために、プログラムモードにエントリしてプログラム動作を行う(S110)。プログラム動作において、カラムアドレスCAはベリファイを行ったカラムアドレスCA0と同じに設定する。このとき、電圧VDBSSはV18に設定される。制御信号BLOFFTをローレベルにして、ビット線BLを選択し、選択したビット線BLとグローバルビット線GBLを接続する。ここで、作業用メモリ領域を対象としている場合には、制御信号GBLOFFTをローレベルにして、グローバルビット線GBLを選択し、選択したグローバルビット線GBLとメインビット線MBLを接続する。一方、コード格納用メモリ領域を対象としている場合には、制御信号GBLOFFTをハイレベルにして、グローバルビット線GBLとメインビット線MBLを非接続状態にする。そして、制御信号PLSがローレベルに変化すると、対象のラッチ制御信号DLCONTがハイレベルになり、ビット線BLにラッチのデータが出力される。対象でないラッチ制御信号はローレベルにする。ラッチがフェイル(Fail)状態にある場合には、選択されたビット線BLがローレベルになり、書き込みが行われる。その後、再びプログラムベリファイ動作に戻り、対象のワードがパス状態になるまで、前述した動作を繰り返すことで、所望のデータが書き込まれる。
【0090】
なお、本実施形態では、書き込み動作時に作業用メモリ領域のメモリブロックに高いソース電圧を供給することで、メモリセルのソースからビット線へのリーク電流が発生する。このリーク電流の増加を抑制するために、さらに作業用メモリ領域のメモリブロックにおいてはメモリセルのプログラムベリファイレベルを下げるようにして、プログラム状態であるメモリセルにおけるリーク量を低減するようにしても良い。メモリセルのプログラムベリファイレベルを下げると、読み出し動作時にメモリセルに流れる電流が減少し、読み出し速度が遅くなることが考えられるが、作業用メモリ領域は、読み出し速度が遅くとも良いので、プログラムベリファイレベルを下げることが可能である。
【0091】
また、高いソース電圧を供給することにより発生するメモリセルのソースからビット線へのリーク電流の増加を抑制するために、書き込み動作時における非選択のワード線WLの電圧を上げるようにしても良い。書き込み動作時における非選択のワード線WLの電圧を上げると、ドレイン・ディスターブに対する耐性が悪化し、例えば
図23に示す実線VL21から破線VL22に閾値電圧が変化し、閾値電圧が高くなり始めるまでの時間が短くなる。しかし、作業用メモリ領域は、1ビット線あたりのメモリセル数(Cell/BL)が少ないため、ドレイン・ディスターブを受ける時間が短いので、書き込み動作時における非選択のワード線WLの電圧を上げることが可能である。
【0092】
図18は、本実施形態における半導体記憶装置を内蔵したマイクロコントローラの例を示す図である。マイクロコントローラ100は、CPU(Central Processing Unit)101、RAM(
Random Access Memory)103、ROM(
Read Only Memory)105、周辺IO(Input Output)制御回路106、及び周辺IOポート107を有する。CPU101及び周辺IO制御回路106が内部バスBUSに接続されているとともに、RAM103及びROM105がRAMインタフェース102及びROMインタフェース104を介して内部バスBUSに接続されている。CPU101が、ROM105等に格納されているプログラム(コード)を読み出して実行することにより、マイクロコントローラ100内の各機能部が制御され所望の処理動作を行う。本実施形態における半導体記憶装置は、例えば
図18に示したROM105として使用される。なお、
図18に示した例に限定されず、本実施形態における半導体記憶装置が単体のチップとして使用するようにしても良い。
【0093】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【0094】
(付記1)
ビット線とワード線とソース線に接続された複数のメモリセルを有する半導体記憶装置であって、
M個(Mは2以上の整数)の前記メモリセルが接続された第1のビット線を複数有する第1のブロックと、
N個(Nは、M>Nを満たす2以上の整数)の前記メモリセルが接続された第2のビット線を複数有する第2のブロックと、
前記第1のブロックの書き込みではP個(Pは2以上の整数)の前記メモリセルを選択し一括して書き込みを行い、前記第2のブロックの書き込みではQ個(Qは、P>Qを満たす2以上の整数)の前記メモリセルを選択し一括して書き込みを行う書き込み回路と、
前記第1のブロックの書き込みでは前記第1のブロックの前記ソース線に第1の電圧を供給し、前記第2のブロックの書き込みでは前記第2のブロックの前記ソース線に前記第1の電圧とは異なる第2の電圧を供給するソース線制御回路とを備えることを特徴とする半導体記憶装置。
(付記2)
前記第2の電圧は、前記第1の電圧よりも高い電圧であることを特徴とする付記1記載の半導体記憶装置。
(付記3)
前記第1のブロックの複数の前記メモリセルは第1のソース線に共通に接続され、前記第2のブロックの複数の前記メモリセルは第2のソース線に共通に接続されることを特徴とする付記2記載の半導体記憶装置。
(付記4)
前記メモリセルは、電気的に書き換え可能な不揮発性のメモリセルであることを特徴とする付記2記載の半導体記憶装置。
(付記5)
前記第1のブロックの複数の前記メモリセルは第1のウェル内に配置され、前記第2のブロックの複数の前記メモリセルは第2のウェル内に配置され、前記ブロック毎に一括して消去を行うことを特徴とする付記3記載の半導体記憶装置。
(付記6)
前記メモリセルは、Pチャネル型のトランジスタを用いたメモリセルであることを特徴とする付記4記載の半導体記憶装置。
(付記7)
前記第1のブロックは制御用のコードを保存するコード格納用メモリ領域であり、前記第2のブロックは作業用のデータを保存する作業用メモリ領域であることを特徴とする付記1記載の半導体記憶装置。
(付記8)
前記第1のブロックの書き込みでは前記第1のブロックの書き込み時に選択されない前記ワード線を第3の電圧に設定し、前記第2のブロックの書き込みでは前記第2のブロックの書き込み時に選択されないワード線を前記第3の電圧より高い第4の電圧に設定することを特徴とする付記2記載の半導体記憶装置。
(付記9)
前記第2のブロックの前記メモリセルのプログラムベリファイレベルが、前記第1のブロックの前記メモリセルのプログラムベリファイレベルより低いことを特徴とする付記2記載の半導体記憶装置。