(第1の実施の形態)
図1は、本発明の第1の実施の形態における半導体装置の構成例を示すブロック図である。本実施の形態においては、半導体装置の一例としてフラッシュメモリの場合について説明する。
半導体装置は、外部からのコマンド入力により半導体装置の全体的な制御を行なう制御回路(シーケンサ)1と、外部電源の電圧値を判定する外部電源電圧判定回路2と、電源回路3と、周辺回路4と、メモリ直接周辺回路5と、メモリアレイ6とを含む。
制御回路1は、外部からのコマンド入力を受け、それに応じて電源回路3および周辺回路4を制御することによって、メモリアレイ6に対する消去オペレーション、書込みオペレーション、読出しオペレーションなどの動作を行なう。このとき、制御回路1は、外部電源電圧判定回路2による判定結果に応じて、電源回路3内のチャージポンプ31の充電時間を制御したり、メモリブロックのサイズを変更したりする。この制御回路1の動作の詳細は後述する。
なお、制御回路1は、外部から無効信号が入力される場合には、以下に説明する充電時間の変更、メモリブロックの分割、書込みデータのビット数の変更を行なわない。これによって、半導体装置の試作段階における評価が容易に行なえるようになる。
また、電源回路3は、チャージポンプ31と、クロック発振器32と、検出回路33と、リファレンス電圧発生器34とを含む。クロック発振器32は、クロック出力をチャージポンプ31に与える。
チャージポンプ31は、外部電源の電圧が最も高い状態で電流量が過剰供給とならないように最適化して設計されている。チャージポンプ31は、クロック発振器32からのクロック出力を受け、シーケンスフローに応じた充電時間で充電を行なう。
検出回路33は、リファレンス電圧発生器34によって生成されたリファレンス電圧と、チャージポンプ31の出力電圧とを比較し、チャージポンプ31の出力電圧がリファレンス電圧よりも高ければクロック発振器32の発振を停止させ、チャージポンプ31の出力電圧がリファレンス電圧よりも低ければクロック発振器32に発振を行なわせることにより、チャージポンプ31の出力電圧がリファレンス電圧と同じになるようにする。
また、周辺回路4は、アドレスバッファ41と、プリデコーダ42と、カラムデコーダ43と、データアウトバッファ44と、Vs発生器45と、Vb発生器46とを含む。アドレスバッファ41は、外部から入力されるアドレスを保持する。
プリデコーダ42は、アドレスバッファ41に保持されるアドレスをデコードしてメモリブロックの選択を行なう。また、カラムデコーダ43は、プリデコーダ42から出力されるデコード信号をさらにデコードして列選択を行なう。
データアウトバッファ44は、メモリアレイ6に書き込むデータを保持する。Vs発生器45は、電源回路3からの電源供給を受けてソース電圧(Vs)を生成し、メモリアレイ6に出力する。また、Vb発生器46は、電源回路3からの電源供給を受けてバックゲート電圧(Vb)を生成し、メモリアレイ6に出力する。
メモリ直接周辺回路5は、ワード線ドライバ、カラムゲート、センスアンプ、書込み回路などによって構成され、主にメモリアレイ6に対する消去オペレーション、書込みオペレーション、読出しオペレーションなどの動作を行なう。
図2は、本発明の第1の実施の形態における半導体装置の消去オペレーションのシーケンスフローを説明するためのフローチャートである。まず、制御回路1は、外部から消去オペレーションのコマンドを入力すると(S1)、メモリアレイ6に対して消去前書込みを行なう(S2)。このとき、メモリ直接周辺回路5は、メモリセルのゲート電圧(Vg)が正の高電圧になるよう充電する。また、Vb生成器46は、メモリセルのVbが負の高電圧になるよう充電する。このときのシーケンスフロー(充電時間)は、後述のように外部電源の電圧値によって切替えられる。
次に、制御回路1は、メモリアレイ6に対して消去パルスの印加を行なう(S3)。このとき、メモリ直接周辺回路5は、メモリセルのVgが負の高電圧になるよう充電する。また、Vs生成器45およびVb生成器46は、メモリセルのVsおよびVbが正の高電圧になるよう充電する。このときのシーケンスフロー(充電時間)も、後述のように外部電源の電圧値によって切替えられる。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S4)。消去が失敗であれば(S4,Fail)、ステップS3に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S4,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S9)。
また、ベリファイ結果が正しければ(S4,Pass)、メモリアレイ6に対して書き戻しを行なう(S5)。この処理は、消去オペレーションによって過消去となったメモリセルに対して軽い書き込みを行なうものである。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧となるようにし、メモリセルのドレイン電圧(Vd)に書き戻し電流を供給する。
次に、制御回路1は、過消去ベリファイを行ない、過消去が解消されいるか否かを判定する(S6)。過消去が解消されていなければ(S6,Fail)、ステップS5に戻って再度書き戻しを行なう。また、書き戻し回数が所定数以上であれば(S6,Max Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S9)。
また、過消去が解消されていれば(S6,Pass)、過書き戻しベリファイを行なう(S7)。書き戻しが正しく終了していれば(S7,Pass)、正常終了(Pass終了)する(S8)。また、書き戻しが正しく終了していなければ(S7,Fail)、メモリアレイ6が不良であるとしてFail終了する(S9)。
図3は、シーケンスフロー変更の処理手順を説明するためのフローチャートである。まず、制御回路1は、シーケンスフロー変更コマンドが入力されると(S11)、外部電源電圧判定回路2から出力される判定結果を参照して、外部電源の電圧値(Vcc)が4.0Vよりも大きいか否かを判定する(S12)。なお、図3においては、第1のしきい値として4.0V、第2のしきい値として2.5Vを用いているが、しきい値はこれらの値に限られるものではない。また、しきい値の数も2つに限定されるものではない。
外部電源の電圧値(Vcc)が4.0Vよりも大きければ(S12,Yes)、通常フローでオペレーションを行なう(S13)。この通常フローとは、外部電源の電圧値が高い状態で電流量が過剰供給とならないように設定された充電時間を用いてチャージポンプ31が充電を行なうフローである。
外部電源の電圧値(Vcc)が4.0V以下であれば(S12,No)、制御回路1はさらに、外部電源の電圧値(Vcc)が2.5Vよりも大きいか否かを判定する(S14)。外部電源の電圧値(Vcc)が2.5Vよりも大きければ(S14,Yes)、変更フローAでオペレーションを行なう(S15)。
外部電源の電圧値が高い(4.0Vよりも大きい)場合には、チャージポンプ31の電流供給能力が高いため通常フローで充電が完了するが、外部電源の電圧値が低くなると(4.0V以下になると)、チャージポンプ31の電流供給能力が低くなるためより長い充電時間が必要になる。そのときの充電時間を充電時間Aとする。変更フローAは、充電時間Aを用いてチャージポンプ31が充電を行なうフローである。
外部電源の電圧値(Vcc)が2.5V以下であれば(S14,No)、制御回路1は、変更フローBでオペレーションを行なう(S16)。変更フローBは、充電時間Aよりもさらに長い充電時間Bを用いてチャージポンプ31が充電を行なうフローである。
以上説明したように、本実施の形態における半導体装置によれば、消去オペレーションにおいて、外部電源の電圧値がしきい値以下の場合には、チャージポンプ31がより長い充電時間を用いて充電を行なうようにしたので、チャージポンプの基数を変更しなくても、チャージポンプは十分な電流量を供給することが可能となった。
また、チャージポンプの基数を増やす必要がないため、半導体装置のチップ面積が大きくなるのを防止することが可能となった。
(第2の実施の形態)
本発明の第1の実施の形態における半導体装置は、消去オペレーションにおいてシーケンスフローを変更するものであった。第2の実施の形態における半導体装置は、書込みオペレーションにおいてシーケンスフローを変更するものである。なお、本発明の第2の実施の形態における半導体装置は、図1に示す第1の実施の形態における半導体装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
図4は、本発明の第2の実施の形態における半導体装置の書込みオペレーションのシーケンスフローを説明するためのフローチャートである。まず、制御回路1は、外部から書込みオペレーションのコマンドを入力すると(S21)、メモリアレイ6に対して書込みパルスを印加する(S22)。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧になるよう充電する。また、Vb生成器46は、メモリセルのVbが負の高電圧になるよう充電する。このときのシーケンスフロー(充電時間)の切替え方法は、図3のフローチャートに示す処理手順と同様のシーケンスフローの切替え方法である。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータが正しく書き込まれているか否かを判定する(S23)。書込みが失敗であれば(S23,Fail)、ステップS22に戻って再度書込みパルスの印加を行なう。また、書込みの失敗回数が所定数以上であれば(S23,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S25)。また、書込みが正しく行なわれていれば(S23,Pass)、正常終了(Pass終了)する(S24)。
以上説明したように、本実施の形態における半導体装置によれば、書込みオペレーションにおいて、外部電源の電圧値がしきい値以下の場合には、チャージポンプ31がより長い充電時間を用いて充電を行なうようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
(第3の実施の形態)
第1および第2の実施の形態における半導体装置は、充電時間を変更してチャージポンプ31が充電を行なうものであった。本発明の第3の実施の形態における半導体装置は、チャージポンプ31の充電時間は一定であり、メモリブロックのサイズを変更することによりメモリセルに十分な電流量を供給するものである。なお、本発明の第3の実施の形態における半導体装置は、図1に示す第1の実施の形態における半導体装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
図5は、本発明の第3の実施の形態における半導体装置内の周辺回路とメモリアレイとの接続をより詳細に説明するための図である。図5においては、図1に示す周辺回路4が2つの周辺回路4aおよび4bに分けられており、周辺回路4aがメモリブロック61の制御を行ない、周辺回路4bがメモリブロック62の制御を行なう。なお、本実施の形態においては、電源回路3内のチャージポンプ31が、周辺回路4aおよび4bの両方に電源電圧を供給するものとする。
メモリブロック61は、32KBの容量を有するメモリセル群であるが、2つのブロック61aおよび61bに分割されている。メモリブロック61aには、メモリ直接周辺回路5内のWLドライバ51aからのワード線が接続されており、周辺回路4a内のプリデコーダ42からの出力によってブロックが選択される。同様に、メモリブロック61bには、メモリ直接周辺回路5内のWLドライバ51bからのワード線が接続されており、周辺回路4a内のプリデコーダ42からの出力によってブロックが選択される。
メモリブロック62は、16KBの容量を有するメモリセル群であるが、2つのブロック62aおよび62bに分割されている。メモリブロック62aには、メモリ直接周辺回路5内のWLドライバ51cからのワード線が接続されており、周辺回路4b内のプリデコーダ42からの出力によってブロックが選択される。同様に、メモリブロック62bには、メモリ直接周辺回路5内のWLドライバ51dからのワード線が接続されており、周辺回路4b内のプリデコーダ42からの出力によってブロックが選択される。
図6は、本発明の第3の実施の形態における半導体装置の消去オペレーションのシーケンスフローを説明するためのフローチャートである。まず、制御回路1は、外部から消去オペレーションのコマンドを入力すると(S31)、外部電源電圧判定回路2から出力される判定結果を参照して、外部電源の電圧値(Vcc)がしきい値よりも高いか否かを判定する(S32)。
外部電源の電圧値(Vcc)がしきい値よりも高ければ(S32,Yes)、メモリブロック61またはメモリブロック62に対して消去前書込みを行なう(S33)。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧になるよう充電する。また、Vb生成器46は、メモリセルのVbが負の高電圧になるよう充電する。
次に、制御回路1は、メモリブロック61またはメモリブロック62に対して消去パルスの印加を行なう(S34)。このとき、メモリ直接周辺回路5は、メモリセルのVgが負の高電圧になるよう充電する。また、Vs生成器45およびVb生成器46は、メモリセルのVsおよびVbが正の高電圧になるよう充電する。
次に、制御回路1は、メモリブロック61または62からデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S35)。消去が失敗であれば(S35,Fail)、ステップS34に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S35,MAX Pulse Over)、メモリブロック61またはメモリブロック62が不良であるとしてFail終了する(S40)。
また、ベリファイ結果が正しければ(S35,Pass)、メモリブロック61またはメモリブロック62に対して書き戻しを行なう(S36)。この処理は、消去オペレーションによって過消去となったメモリセルに対して軽い書き込みを行なうものである。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧となるようにし、メモリセルのドレイン電圧(Vd)に書き戻し電流を供給する。
次に、制御回路1は、過消去ベリファイを行ない、過消去が解消されいるか否かを判定する(S37)。過消去が解消されていなければ(S37,Fail)、ステップS36に戻って再度書き戻しを行なう。また、書き戻し回数が所定数以上であれば(S37,Max Pulse Over)、メモリブロック61またはメモリブロック62が不良であるとしてFail終了する(S40)。
また、過消去が解消されていれば(S37,Pass)、過書き戻しベリファイを行なう(S38)。書き戻しが正しく終了していれば(S38,Pass)、正常終了(Pass終了)する(S39)。また、書き戻しが正しく終了していなければ(S38,Fail)、メモリブロック61またはメモリブロック62が不良であるとしてFail終了する(S40)。
ステップS32において、外部電源の電圧値(Vcc)がしきい値以下であれば(S32,No)、メモリブロック61またはメモリブロック62に対して消去前書込みを2回行なう(S41)。たとえば、メモリブロック61に対して消去前書込みを行なうのであれば、メモリブロック61aとメモリブロック61bとに分けて消去前書込みを2回行なう。また、メモリブロック62に対して消去前書込みを行なうのであれば、メモリブロック62aとメモリブロック62bとに分けて消去前書込みを2回行なう。
外部電源の電圧値がしきい値よりも低い場合には、チャージポンプ31の電流供給能力が低くなるため、充電時間を一定とすると小さいメモリブロックしか充電が行なえなくなる。そのため、ブロック61またはブロック62を2つのブロックに分割して消去前書込みを行なう。
次に、制御回路1は、分割したメモリブロックのうち1つ目のメモリブロックに対して消去パルスの印加を行なう(S42)。そして、制御回路1は、1つ目のメモリブロックからデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S43)。消去が失敗であれば(S43,Fail)、ステップS42に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S43,MAX Pulse Over)、1つ目のメモリブロックが不良であるとしてFail終了する(S46)。
また、ベリファイ結果が正しければ(S43,Pass)、2つ目のメモリブロックに対して消去パルスの印加を行なう(S44)。そして、制御回路1は、2つ目のメモリブロックからデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S45)。消去が失敗であれば(S45,Fail)、ステップS44に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S45,MAX Pulse Over)、2つ目のメモリブロックが不良であるとしてFail終了する(S46)。
また、ベリファイ結果が正しければ(S45,Pass)、メモリブロック61またはメモリブロック62に対して書き戻しを2回行なう(S47)。たとえば、メモリブロック61に対して書き戻しを行なうのであれば、メモリブロック61aとメモリブロック61bとに分けて書き戻しを2回行なう。また、メモリブロック62に対して書き戻しを行なうのであれば、メモリブロック62aとメモリブロック62bとに分けて書き戻しを2回行なう。
次に、制御回路1は、過消去ベリファイを行ない、過消去が解消されいるか否かを判定する(S48)。過消去が解消されていなければ(S48,Fail)、ステップS47に戻って再度書き戻しを行なう。また、書き戻し回数が所定数以上であれば(S48,Max Pulse Over)、メモリブロック61またはメモリブロック62が不良であるとしてFail終了する(S51)。
また、過消去が解消されていれば(S48,Pass)、過書き戻しベリファイを行なう(S49)。書き戻しが正しく終了していれば(S49,Pass)、正常終了(Pass終了)する(S50)。また、書き戻しが正しく終了していなければ(S49,Fail)、メモリブロック61またはメモリブロック62が不良であるとしてFail終了する(S51)。
以上説明したように、本実施の形態における半導体装置によれば、外部電源の電圧値がしきい値よりも低い場合には、メモリブロックを分割して消去前書込み、消去および書き戻しを行なうようにしたので、チャージポンプの基数を変更しなくても、チャージポンプは十分な電流量を供給することが可能となった。
また、チャージポンプの基数を増やす必要がないため、半導体装置のチップ面積が大きくなるのを防止することが可能となった。
(第4の実施の形態)
本発明の第3の実施の形態においては、外部電源の電圧値がしきい値よりも低い場合には、メモリブロックのサイズが異なるときでも同じ数に分割するものであった。本発明の第4の実施の形態における半導体装置は、外部電源の電圧値がしきい値よりも低い場合には、分割した後のメモリブロックのサイズが同じになるように分割数を可変とするものである。
図7は、本発明の第4の実施の形態における半導体装置内の周辺回路とメモリアレイとの接続をより詳細に説明するための図である。図7においては、図1に示す周辺回路4が2つの周辺回路4aおよび4bに分けられており、周辺回路4aがメモリブロック63の制御を行ない、周辺回路4bがメモリブロック64の制御を行なう。なお、本実施の形態においては、電源回路3内のチャージポンプ31が、周辺回路4aおよび4bの両方に電源電圧を供給するものとする。
メモリブロック63は、32KBの容量を有するメモリセル群であるが、4つのブロック63a〜63dに分割されている。メモリブロック63a〜63dのそれぞれには、メモリ直接周辺回路5内のWLドライバ52a〜52dからのワード線が接続されており、周辺回路4a内のプリデコーダ42からの出力によってブロックが選択される。
メモリブロック64は、16KBの容量を有するメモリセル群であるが、2つのブロック64aおよび64bに分割されている。メモリブロック64aには、メモリ直接周辺回路5内のWLドライバ52eからのワード線が接続されており、周辺回路4b内のプリデコーダ42からの出力によってブロックが選択される。同様に、メモリブロック64bには、メモリ直接周辺回路5内のWLドライバ52fからのワード線が接続されており、周辺回路4b内のプリデコーダ42からの出力によってブロックが選択される。
図8は、本発明の第4の実施の形態における半導体装置の消去オペレーションのシーケンスフローを説明するためのフローチャートである。まず、制御回路1は、外部から消去オペレーションのコマンドを入力すると(S61)、外部電源電圧判定回路2から出力される判定結果を参照して、外部電源の電圧値(Vcc)がしきい値よりも高いか否かを判定する(S62)。
外部電源の電圧値(Vcc)がしきい値よりも高ければ(S62,Yes)、メモリブロック63またはメモリブロック64に対して消去前書込みを行なう(S63)。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧になるよう充電する。また、Vb生成器46は、メモリセルのVbが負の高電圧になるよう充電する。
次に、制御回路1は、メモリブロック63またはメモリブロック64に対して消去パルスの印加を行なう(S64)。このとき、メモリ直接周辺回路5は、メモリセルのVgが負の高電圧になるよう充電する。また、Vs生成器45およびVb生成器46は、メモリセルのVsおよびVbが正の高電圧になるよう充電する。
次に、制御回路1は、メモリブロック63または64からデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S65)。消去が失敗であれば(S65,Fail)、ステップS64に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S65,MAX Pulse Over)、メモリブロック63またはメモリブロック64が不良であるとしてFail終了する(S70)。
また、ベリファイ結果が正しければ(S65,Pass)、メモリブロック63またはメモリブロック64に対して書き戻しを行なう(S66)。この処理は、消去オペレーションによって過消去となったメモリセルに対して軽い書き込みを行なうものである。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧となるようにし、メモリセルのドレイン電圧(Vd)に書き戻し電流を供給する。
次に、制御回路1は、過消去ベリファイを行ない、過消去が解消されいるか否かを判定する(S67)。過消去が解消されていなければ(S67,Fail)、ステップS66に戻って再度書き戻しを行なう。また、書き戻し回数が所定数以上であれば(S67,Max Pulse Over)、メモリブロック63またはメモリブロック64が不良であるとしてFail終了する(S70)。
また、過消去が解消されていれば(S67,Pass)、過書き戻しベリファイを行なう(S68)。書き戻しが正しく終了していれば(S68,Pass)、正常終了(Pass終了)する(S69)。また、書き戻しが正しく終了していなければ(S68,Fail)、メモリブロック63またはメモリブロック64が不良であるとしてFail終了する(S70)。
ステップS62において、外部電源の電圧値(Vcc)がしきい値以下であれば(S62,No)、メモリブロックのサイズが32KBであるか16KBであるかを判定する(S71)。メモリブロックのサイズが16KBであれば(S71,16KB)、すなわち、対象のメモリブロックが図7に示すメモリブロック64であれば、図6に示すステップS41〜S51と同様の処理を行なう。
また、メモリブロックのサイズが32KBであれば(S71,32KB)、すなわち、対象のメモリブロックが図7に示すメモリブロック63であれば、メモリブロック63に対して消去前書込みを4回行なう(S72)。すなわち、メモリブロック63a〜メモリブロック63dに対して順に消去前書込みを4回行なう。
外部電源の電圧値がしきい値よりも低い場合には、チャージポンプ31の電流供給能力が低くなるため、充電時間を一定とすると小さいメモリブロックしか充電が行なえなくなる。そのため、ブロック63およびブロック64をそれぞれ同じサイズに分割して消去前書込みを行なう。
次に、制御回路1は、分割したメモリブロックのうち1つ目のメモリブロックに対して消去パルスの印加を行なう(S73)。そして、制御回路1は、1つ目のメモリブロックからデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S74)。消去が失敗であれば(S74,Fail)、ステップS73に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S74,MAX Pulse Over)、1つ目のメモリブロックが不良であるとしてFail終了する(S77)。
また、ベリファイ結果が正しければ(S74,Pass)、2つ目のメモリブロックおよび3つ目のメモリブロックに対して同様の処理を行なうが、図8においてはこれらの処理を省略している。
3つ目のメモリブロックの消去ベリファイ結果が正しければ、4つ目のメモリブロックに対して消去パルスの印加を行なう(S75)。そして、制御回路1は、4つ目のメモリブロックからデータを読み出し、読出しデータによってデータの消去が終了したか否かを判定する(S76)。消去が失敗であれば(S76,Fail)、ステップS75に戻って再度消去パルスの印加を行なう。また、消去の失敗回数が所定数以上であれば(S76,MAX Pulse Over)、4つ目のメモリブロックが不良であるとしてFail終了する(S77)。
また、ベリファイ結果が正しければ(S76,Pass)、メモリブロック63に対して書き戻しを4回行なう(S78)。すなわち、メモリブロック63a〜メモリブロック63dに対して順に書き戻しを4回行なう。
次に、制御回路1は、過消去ベリファイを行ない、過消去が解消されているか否かを判定する(S79)。過消去が解消されていなければ(S79,Fail)、ステップS78に戻って再度書き戻しを行なう。また、書き戻し回数が所定数以上であれば(S79,Max Pulse Over)、メモリブロック63が不良であるとしてFail終了する(S82)。
また、過消去が解消されていれば(S79,Pass)、過書き戻しベリファイを行なう(S80)。書き戻しが正しく終了していれば(S80,Pass)、正常終了(Pass終了)する(S81)。また、書き戻しが正しく終了していなければ(S80,Fail)、メモリブロック63が不良であるとしてFail終了する(S82)。
以上説明したように、本実施の形態における半導体装置によれば、外部電源の電圧値がしきい値よりも低い場合には、メモリブロックが同じサイズとなるように分割して消去前書込み、消去および書き戻しを行なうようにしたので、チャージポンプの基数を変更しなくても、チャージポンプは十分な電流量を供給することが可能となった。
また、チャージポンプの基数を増やす必要がないため、半導体装置のチップ面積が大きくなるのを防止することが可能となった。
(第5の実施の形態)
本発明の第3および第4の実施の形態においては、外部電源の電圧値がしきい値以下の場合には、メモリブロックを分割して消去オペレーションを行なうものであった。本発明の第5の実施の形態における半導体装置は、外部電源の電圧値がしきい値以下の場合には、ビット数を変更して書き込みオペレーションを行なうものである。なお、本発明の第5の実施の形態における半導体装置は、図1に示す第1の実施の形態における半導体装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
図9は、本発明の第5の実施の形態における半導体装置の書込みオペレーションのシーケンスフローを説明するためのフローチャートである。まず、制御回路1は、外部から書込みオペレーションのコマンドを入力すると(S91)、外部電源電圧判定回路2から出力される判定結果を参照して、外部電源の電圧値(Vcc)がしきい値よりも高いか否かを判定する(S92)。
外部電源の電圧値(Vcc)がしきい値よりも高ければ(S92,Yes)、メモリアレイ6に8ビットのデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S93)。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧になるようし、Vdに書込み電流を供給する。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータが正しく書き込まれているか否かを判定する(S94)。書込みが失敗であれば(S94,Fail)、ステップS93に戻って再度書込みパルスの印加を行なう。また、書込みの失敗回数が所定数以上であれば(S94,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S96)。また、書込みが正しく行なわれていれば(S94,Pass)、正常終了(Pass終了)する(S95)。
ステップS92において、外部電源の電圧値(Vcc)がしきい値以下であれば(S92,No)、メモリアレイ6に4ビットのデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S97)。そして、さらに残りの4ビットのデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S98)。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータが正しく書き込まれているか否かを判定する(S99)。書込みが失敗であれば(S99,Fail)、ステップS97に戻って再度書込みパルスの印加を行なう。また、書込みの失敗回数が所定数以上であれば(S99,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S101)。また、書込みが正しく行なわれていれば(S99,Pass)、正常終了(Pass終了)する(S100)。
以上説明したように、本実施の形態における半導体装置によれば、書込みオペレーションにおいて、外部電源の電圧値がしきい値以下の場合には、4ビットずつデータ書込みを行なうようにしたので、チャージポンプの基数を変更しなくても、チャージポンプは十分な電流量を供給することが可能となった。
また、チャージポンプの基数を増やす必要がないため、半導体装置のチップ面積が大きくなるのを防止することが可能となった。
(第6の実施の形態)
本発明の第5の実施の形態における半導体装置は、外部電源の電圧値がしきい値以下の場合には、ビット数を変更して書き込みオペレーションを行なうものであった。本発明の第6の実施の形態における半導体装置は、外部電源の電圧値がしきい値以下の場合には、書込みに対応するデータの“0”のビット数に応じて書込み回数を変更するものである。これは、“0”のビットを書き込むときに電流を流す必要があるためであり、“0”のビット数が多い場合には書き込みを行なうデータのビット数を減らすようにする。なお、本発明の第6の実施の形態における半導体装置は、図1に示す第1の実施の形態における半導体装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
図10は、本発明の第6の実施の形態における半導体装置の書込みオペレーションのシーケンスフローを説明するためのフローチャートである。まず、制御回路1は、外部から書込みオペレーションのコマンドを入力すると(S111)、外部電源電圧判定回路2から出力される判定結果を参照して、外部電源の電圧値(Vcc)がしきい値よりも高いか否かを判定する(S112)。
外部電源の電圧値(Vcc)がしきい値よりも高ければ(S112,Yes)、メモリアレイ6に8ビットのデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S113)。このとき、メモリ直接周辺回路5は、メモリセルのVgが正の高電圧になるようし、Vdに書込み電流を供給する。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータが正しく書き込まれているか否かを判定する(S114)。書込みが失敗であれば(S114,Fail)、ステップS113に戻って再度書込みパルスの印加を行なう。また、書込みの失敗回数が所定数以上であれば(S114,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S116)。また、書込みが正しく行なわれていれば(S114,Pass)、正常終了(Pass終了)する(S115)。
ステップS112において、外部電源の電圧値(Vcc)がしきい値以下であれば(S112,No)、制御回路1は、書込みに対応するデータの中の“0”のビット数をカウントし、そのビット数が4ビットよりも多いか否かを判定する(S117)。4ビットよりも多ければ(S117,Yes)、書込みに対応するデータのビット数(合計ビット数)を2で割ったビット数のデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S118)。そして、さらに残りのビット数のデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S119)。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータが正しく書き込まれているか否かを判定する(S120)。書込みが失敗であれば(S120,Fail)、ステップS118に戻って再度書込みパルスの印加を行なう。また、書込みの失敗回数が所定数以上であれば(S120,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S122)。また、書込みが正しく行なわれていれば(S120,Pass)、正常終了(Pass終了)する(S121)。
また、ステップS117において、書込みに対応するデータの中の“0”のビット数が4ビット以下であれば(S117,No)、メモリアレイ6に8ビットのデータ書込みを行なうために、メモリアレイ6に対して書込みパルスを印加する(S123)。
次に、制御回路1は、メモリアレイ6からデータを読み出し、読出しデータによってデータが正しく書き込まれているか否かを判定する(S124)。書込みが失敗であれば(S124,Fail)、ステップS123に戻って再度書込みパルスの印加を行なう。また、書込みの失敗回数が所定数以上であれば(S124,MAX Pulse Over)、メモリアレイ6が不良であるとしてFail終了する(S126)。また、書込みが正しく行なわれていれば(S124,Pass)、正常終了(Pass終了)する(S125)。
なお、以上の説明においては、書込みに対応するデータの“0”のビット数に応じて書込み回数を変更するとしたが、書込みに対応するデータの“1”のビット数に応じて書込み回数を変更するようにしてもよい。
以上説明したように、本実施の形態における半導体装置によれば、書込みオペレーションにおいて、外部電源の電圧値がしきい値以下の場合には、書込みに対応するデータの“0”のビット数に応じて書込み回数を変更するようにしたので、チャージポンプの基数を変更しなくても、チャージポンプは十分な電流量を供給することが可能となった。
また、チャージポンプの基数を増やす必要がないため、半導体装置のチップ面積が大きくなるのを防止することが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御回路、2 外部電源電圧判定回路、3 電源回路、4,4a,4b 周辺回路、5 メモリ直接周辺回路、6 メモリアレイ、31 チャージポンプ、32 クロック発振器、33 検出回路、34 リファレンス電圧発生器、41 アドレスバッファ、42 プリデコーダ、43 カラムデコーダ、44 データアウトバッファ、45 Vs発生器、46 Vb発生器、51a〜51d,52a〜52f ワード線ドライバ、61,61a〜61b,62,62a〜62b,63,63a〜63d,64,64a〜64b メモリブロック。