説明

半導体記憶装置

【課題】動作速度を向上出来る半導体記憶装置を提供すること。
【解決手段】動作がプロセッサ2の制御によって自動で行われる半導体記憶装置1であって、不揮発性のメモリセルMCを備えたメモリセルアレイと、第1レジスタを保持し、電圧を発生する電源回路11と、第2レジスタを保持し、前記メモリセルからデータを読み出し増幅するセンスアンプ7と、第3レジスタ30を保持し、前記電源回路11と前記センスアンプ7の動作を制御する制御回路12と、前記第1乃至第3レジスタに命令を与えることにより、前記電源回路11、前記センスアンプ7、及び前記制御回路12の動作を制御する前記プロセッサ2とを具備し、前記制御回路12は、前記第3レジスタ30で受け取った前記命令をデコードして、デコード結果に基づいて前記電源回路11及び前記センスアンプ7を直接制御可能である。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、半導体記憶装置に関する。例えば、電荷蓄積層と制御ゲートとを有するMOSトランジスタを含む半導体メモリに関する。
【背景技術】
【0002】
従来から、電気的にデータの書き換えが可能な不揮発性半導体メモリとしてEEPROM(Electrically Erasable and Programmable ROM)が知られている。また、マイコンを用いてEEPROMを制御する手法が知られている(例えば特許文献1参照)。
【0003】
マイコンによりEEPROMを制御する場合、プロセッサから与えられる少ビットのアドレス線、データ線、及び書き込み制御線を用いてフラッシュメモリの回路を制御する。従って、制御配線を削減できる利点がある。また、マイコンによる自動制御の内容の変更・修正は、プロセッサを動かすソフトウェアの変更・修正で行われる。そのため、回路自体の修正が不要であり、製造工程のコストを抑えることができるメリットもある。
【0004】
しかし、自動動作開始コマンドからマイコン起動まで時間差が生じることや、一度に制御できる信号線に限度がある等により、処理が遅くなるというデメリットがあることが問題であった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−269065号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
動作速度を向上出来る半導体記憶装置を提供する。
【課題を解決するための手段】
【0007】
一態様に係る半導体記憶装置は、動作がプロセッサの制御によって自動で行われる第1動作モードと、プロセッサの制御によらずに動作が行われる第2動作モードとを備える半導体記憶装置である。半導体記憶装置は、不揮発性のメモリセルを備えたメモリセルアレイと、前記メモリセルへのデータの書き込み、消去、読み出しの少なくともいずれかに使用すべき電圧を発生する電源回路と、前記電源回路を起動させる第1信号と、前記第1動作モードにおいて前記プロセッサから与えられる第2信号とのいずれかを保持可能とされ、前記第2動作モードにおいてリセット状態とされる第1レジスタを備え、前記第1、第2信号のいずれかに基づいて前記電源回路を制御する制御回路と、前記第1、第2信号のいずれか一方を選択して、選択したいずれか一方を前記第1レジスタに保持させる切り替え回路と、前記第2信号を発生して、前記電源回路の動作を制御する前記プロセッサとを具備する。前記切り替え回路は、前記第1動作モードにおいては前記第1レジスタに前記第2信号を保持させ、前記第2動作モードから前記第1動作モードに切り替わる際には、前記第1信号を前記第1レジスタに保持させた後に、前記第2信号を保持させる。
【図面の簡単な説明】
【0008】
【図1】この発明の第1の実施形態に係るフラッシュメモリのブロック図。
【図2】この発明の第1の実施形態に係るフラッシュメモリの備えるメモリセルアレイの回路図。
【図3】この発明の第1の実施形態に係るフラッシュメモリの備える制御回路の回路図。
【図4】この発明の第2の実施形態に係るフラッシュメモリのブロック図。
【図5】この発明の第2の実施形態に係るフラッシュメモリの備える切り替え回路及び制御回路の回路図。
【図6】この発明の第2の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図7】この発明の第2の実施形態に係るフラッシュメモリの動作時における各種信号のタイミングチャート。
【図8】この発明の第3の実施形態に係るフラッシュメモリの備える切り替え回路、制御回路、及び電源回路の回路図。
【図9】この発明の第3の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図10】この発明の第3の実施形態に係るフラッシュメモリの動作時における各種信号のタイミングチャート。
【図11】この発明の第4の実施形態に係るフラッシュメモリの備えるメモリセルアレイのブロック図。
【図12】この発明の第4の実施形態に係るフラッシュメモリの備えるメモリセルアレイのブロック図であり、ベリファイ動作の概念を示す図。
【図13】この発明の第4の実施形態に係るフラッシュメモリの備えるベリファイ回路の回路図。
【図14】この発明の第4の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図15】この発明の第4の実施形態に係るフラッシュメモリの備えるベリファイ回路の回路図。
【図16】この発明の第4の実施形態に係るフラッシュメモリの備えるベリファイ回路の回路図。
【図17】この発明の第4の実施形態の変形例に係るフラッシュメモリの備えるメモリセルアレイのブロック図。
【図18】この発明の第4の実施形態の変形例に係るフラッシュメモリの備えるベリファイ回路の回路図。
【発明を実施するための形態】
【0009】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【0010】
[第1の実施形態]
この発明の第1の実施形態に係る半導体記憶装置について説明する。図1は、本実施形態に係るNOR型フラッシュメモリのブロック図である。本実施形態に係るNOR型フラッシュメモリは、第1動作モードと第2動作モードの2つの動作モードを有している。第1動作モードは、CPUの制御に従ってクロックに同期して、データの読み出し、書き込み、及び消去が自動で行われる動作モードであり、以下、自動動作モードと呼ぶことがある。また第2動作モードは、CPUの制御によらずに行われる動作モードであり、以下、非自動動作モードと呼ぶことがある。
【0011】
図示するようにNOR型フラッシュメモリ1は、マイクロコンピュータ(micro-computer、以下マイコンと呼ぶ)2、入力バッファ3、入出力バッファ4、アドレスバッファ5、メモリセル部6、センスアンプ7、ベリファイ回路8、コマンド解析回路9、発振回路10、電源回路11、制御回路12、及びプロテクト情報保持回路13を備えている。上記回路ブロック5〜8、11〜13の各々は、マイコンからの命令を受信するためのレジスタを有している。またマイコン2と各回路ブロック5〜8、11〜13の間の信号の伝達は、データの読み出し時には読み出し用バスを用いて、書き込み時には書き込み用バスを用いて行われる。
【0012】
マイコン2は、CPU20及びメモリ21を備えている。メモリ21は、CPU20において実行される命令を保持している。CPU20は自動動作モードにおいて、メモリ21に保持される命令を実行して、上記回路ブロック5〜8、11〜13の動作を制御する。自動動作モードにおいてCPU20が各回路ブロック5〜8、11〜13に対して命令を出力すると、各回路ブロック5〜8、11〜13ではレジスタによって命令を受信する。そして各回路ブロック5〜8、11〜13は、受信した命令をデコードして、与えられた命令を実行する。
【0013】
入力バッファ3は、外部から与えられるアドレスを受信する。そして受信したアドレスを、アドレスバッファ5及びコマンド解析回路9へ出力する。
入出力バッファ4は、外部から与えられる書き込みデータ及びコマンドを受信する。そして受信した書き込みデータをベリファイ回路8へ出力し、コマンドをコマンド解析回路9へ出力する。また、ベリファイ回路8から与えられる読み出しデータを外部へ出力する。
アドレスバッファ5は、入力バッファ3から与えられたアドレスを保持し、メモリセルアレイ6及びコマンド解析回路9へ出力する。
【0014】
メモリセル部6は、不揮発性のメモリセルを備えており、外部から与えられたデータを記憶する。メモリセル部6は、メモリセルがマトリクス状に配置されたメモリセルアレイと、メモリセルアレイのロウ方向を選択するロウデコーダと、カラム方向を選択するカラムデコーダとを備えている。アドレスバッファから与えられたアドレスは、ロウデコーダ及びカラムデコーダに入力される。図2は、メモリセル部6の備えるメモリセルアレイの回路図である。
【0015】
図示するようにメモリセルアレイは、((m+1)×(n+1))個(m、nは自然数)のメモリセルMCを備えている。メモリセルMCは、電荷蓄積層(例えばフローティングゲート)と制御ゲートとを含む積層ゲートを備えたMOSトランジスタである。積層ゲートの構造は次の通りである。すなわち、半導体基板上にゲート絶縁膜を介在して電荷蓄積層が形成され、電荷蓄積層上にゲート間絶縁膜を介在して制御ゲートが形成される。電荷蓄積層及び制御ゲートは、例えば多結晶シリコン層を材料に用いて形成され、ゲート絶縁膜は、例えばシリコン酸化膜を材料に用いて形成され、ゲート間絶縁膜は、例えばシリコン酸化膜、またはシリコン酸化膜とシリコン窒化膜との積層構造であるON膜、NO膜、またはONO膜で形成される。そして、同一行にあるメモリセルMCの制御ゲートは、同一のワード線WL0〜WLmのいずれかに共通接続される。また同一列にあるメモリセルMCのドレインは、同一のビット線BL0〜BLnのいずれかに共通接続される。更にメモリセルMCのソースは、同一のソース線SLに共通接続される。なお以下では説明の便宜上、ワード線WL0〜WLmをワード線WL、ビット線BL0〜BLnをビット線BLと一括して呼ぶことがある。
そして、図示せぬロウデコーダがワード線WLのいずれかを選択し、カラムデコーダがビット線BLのいずれかを選択する。
【0016】
図1に戻って説明を続ける。センスアンプ7は、データの読み出し時において、ロウデコーダによって選択されたワード線WL及びカラムデコーダによって選択されたビット線BLに接続されたメモリセルMCからデータを読み出し、増幅する。
【0017】
ベリファイ回路8は、入出力バッファ4から与えられる書き込みデータを、メモリセルMCへ書き込む。またベリファイ回路8は、センスアンプ7で読み出されたデータを、入出力バッファ4を介して外部へ出力する。更にベリファイ回路8は、センスアンプ7で読み出されたデータと書き込みデータとを用いてベリファイ動作を行う。ベリファイ動作とは、データの書き込みまたは消去が正常に行われたか否かの検証を行う動作である。
【0018】
コマンド解析回路9は、入力バッファ3から与えられたアドレスを元に、入出力バッファ4から与えられたコマンドを解析する。そして、コマンド解析結果をマイコン2及び発振回路10へ出力する。
発振回路10は、コマンド解析結果に基づいてクロックを発生し、マイコン2へ供給する。マイコン2のCPU20は、クロックに同期して動作する。
電源回路11は、外部から与えられる電圧を昇圧するチャージポンプ回路を備える。そして、マイコン2及び制御回路12の制御に従って、メモリセルへのデータの書き込み、読み出し、消去に必要な電圧を発生する。
プロテクト情報保持回路13は、プロテクト情報を保持する。プロテクト情報とは次のような情報である。メモリセルアレイには、データの更新や消去が行われないようにすべきメモリセルMCが含まれる場合がある。これらのメモリセルMCを保護すべく、いずれのメモリセルMCについてデータの更新・消去を禁止するかを示す情報がプロテクト情報である。プロテクト情報を参照することによって、マイコン2は、アクセス命令がなされたメモリセルMCについて、データの更新または消去を行うべきか否かを判断出来る。
【0019】
制御回路12は、マイコン2の制御に従って、電源回路11及びセンスアンプ6の動作を直接制御する。図3は制御回路12の構成を示すブロック図である。
図示するように制御回路12は、レジスタ30及び制御用デコーダ31を備えている。レジスタ30は、マイコン2から与えられるデータ(命令)を保持する。レジスタ30には、リセット信号として自動動作終了信号が与えられる。自動動作終了信号はマイコン2から与えられる信号であり、前述の自動動作モード時には“0”とされ、非自動動作モード時に“1”とされる。自動動作終了信号が“1”とされることで、レジスタ30はリセット状態となる。更にレジスタ30には、更新イネーブル信号がマイコン2から与えられる。更新イネーブル信号が“1”とされることで、レジスタ30はデータを内部に取り込むことが可能となる。制御用デコーダ31は、レジスタ30に保持される命令をデコードする。そしてデコードして得られたデータに基づいて、電源回路11及びセンスアンプ6の動作を制御する。
【0020】
上記構成のフラッシュメモリによれば、下記(1)の効果が得られる。
(1)半導体記憶装置の動作速度を高速化出来る(その1)。
フラッシュメモリの自動動作は、ステートマシン回路やロジック回路によって実現する手法と、マイコンによる制御によって実現する手法とがある。ロジック回路等で制御する場合には、複数の回路ブロックに対して同時に命令を与えることが出来るため、フラッシュメモリの動作速度を向上できるが、配線が非常に多く、且つ複雑になる。
【0021】
この点、マイコンによる制御であると、ロジック回路による制御に比べて配線数を大幅に削減出来る。しかし、マイコンは同時に複数の回路ブロックに命令を与えることは出来ない。また、扱えるビット数に制限があるため、一つの動作を行うためには複数の命令やデータを数回にわたって与えなければならない場合もある。従って、ロジック回路による制御に比べて、動作速度は遅くなる。
【0022】
そこで本実施形態では、電圧の発生動作や、センスアンプにおけるベリファイ動作等、例えばある決まったルーチン的な処理を行う回路ブロックに対しては、マイコンではなくハードウェアを用いて制御をしている。具体的には、マイコン2とは別に新たに制御回路12を設けている。制御回路12は、電圧の発生動作やベリファイ動作を実行するように構成された例えばデコーダ(ロジック回路)を内部に備えている。そして、マイコン2によって数ビット(例えば8ビット)の命令を受け取ってデコードし、8ビット以上の複雑な制御命令を発生し、これによって電源回路11及びセンスアンプ6を制御する。つまり、マイコン2は電圧発生やベリファイ動作に必要な全ての信号を与えることなく、制御回路が詳細な制御信号を自ら生成する。従って、電源回路11及びセンスアンプ6の制御に関しては、マイコン2による処理を最小限とすることが出来、フラッシュメモリの動作速度を向上出来る。
【0023】
更に、マイコン2は多くの信号を出力する必要が無くなるため、従来に比べて処理の空き時間が多くなる。そのため、出来た空き時間に別の命令を実行することが可能となる。その結果、従来に比べてより多くの命令をマイコン2は実行することが可能となり、これによってフラッシュメモリの高速化を図ることが出来る。
【0024】
[第2の実施形態]
次に、この発明の第2の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第1の実施形態において、非自動動作モードから自動動作モードに移行する際の、電源回路11の制御方法に関するものである。図4は、本実施形態に係るNOR型フラッシュメモリの構成を示すブロック図である。
【0025】
図示するように本実施形態に係るフラッシュメモリ1は、上記第1の実施形態で説明した図1の構成において、更に切り替え回路14を設けたものである。切り替え回路14は、制御回路12に対して入力すべき命令を切り替えるものである。その他の構成は第1の実施形態と同様であるので説明は省略する。
【0026】
切り替え回路14について図5を用いて説明する。図5は、制御回路12及び切り替え回路14の構成を示すブロック図である。
図示するように切り替え回路14は、選択回路40、更新回路41、及びレジスタ値デコーダ42を備えている。選択回路40は、レジスタ値デコーダ42の出力信号に基づいて、マイコン2からのデータ(命令)と起動デコード値とのいずれか一方を選択する。そして選択したいずれか一方を、制御回路12のレジスタ30へ与える。マイコン2からのデータとは、マイコン2による制御回路12の動作命令のことである。起動デコード値とは、電源回路11におけるチャージポンプ回路を起動させるための命令である。従って制御回路12は、起動デコード値が与えられた場合には、電源回路11に対してチャージポンプ回路を起動させるように命令する。起動デコード値は、レジスタ等のメモリ装置によって常時選択回路40に与えられる信号であっても良いし、または外部からの自動動作コマンドと共に与えられる信号であっても良い。すなわち、例えばコマンド解析回路9において、外部から入力されたコマンド要因信号をデコードして、これにより起動デコードが生成されて切り替え回路14に与えられても良い。
【0027】
レジスタ値デコーダ42は、制御回路12におけるレジスタ30の出力信号(すなわちレジスタ30に保持される命令)をデコードする。デコードの結果、レジスタ30がリセット状態であった場合には“1”を出力し、それ以外の場合には“0”を出力する。レジスタ値デコーダ42の出力が“1”である場合には、選択回路40は起動デコード値を選択し、“0”である場合にはマイコン2からのデータを選択する。
【0028】
更新回路41は、ORゲート43及びANDゲート44を備えている。ORゲート43は、レジスタ値デコーダ42の出力信号と、マイコン2から与えられる更新イネーブル信号とのOR演算を行う。更新イネーブル信号は、マイコン2がレジスタ30に対してデータの取り込みを命令する際に“1”とされる信号である。ANDゲート44は、ORゲート43の出力信号と、発振回路10から与えられるクロックとのAND演算を行う。そしてANDゲート44の出力信号が、制御回路12におけるレジスタ30に対して更新命令として与えられる。すなわち、ANDゲート33の出力が“1”である場合に、レジスタ30は選択回路40で選択された命令を内部に取り込む。これにより制御用デコーダ31は、レジスタ30に新たに取り込まれた命令に基づいて電源回路11を制御する。
【0029】
次に、上記構成のフラッシュメモリ2の動作について、特に非自動動作モード(第2動作モード)から自動動作モード(第1動作モード)に移行する際に着目して、図4乃至図7を参照しつつ説明する。図6は、上記フラッシュメモリの動作を示すフローチャートであり、図7は各種信号及びレジスタ30の状態を示すタイミングチャートである。
【0030】
まずフラッシュメモリ1が非自動動作モードであったとする(ステップS10、図7における時刻t1以前)。非自動動作モードでは、自動動作コマンドが“0”とされる。自動動作コマンドとは、外部から与えられる命令であり、フラッシュメモリ2を自動動作モードで動作させるための命令である。自動動作コマンドが“0”とされることで、コマンド解析回路9は非自動動作モードで動作すべきことを認識し、その旨を発振回路10及びマイコン2へ伝える。これにより、発振回路10はクロックの発生を停止する。またマイコン2は、自動動作終了信号を“1”とする。自動動作終了信号が“1”とされることで、制御回路12におけるレジスタ30はリセット状態とされる。また、レジスタ30がリセット状態であるので、レジスタ値デコーダ42の出力は“1”である。従って、選択回路40は起動デコート値を選択して、レジスタ30へ与える。しかし、この時点ではANDゲート44の出力は“0”であるから、レジスタ30は選択回路40より与えられる起動デコード値を取り込まない。以上の状態により、マイコン2は非動作状態であり、フラッシュメモリ2は非自動動作モードで動作を行う。
【0031】
次に、非自動動作モードから自動動作モードに移行すべく、時刻t1において自動動作コマンドとして“1”が入力されたとする(ステップS11)。すると、コマンド解析回路9は自動動作モードで動作すべきことを認識し、その旨を発振回路10及びマイコン2へ伝える。これにより、発振回路10はクロックを発生する(ステップS12)。またマイコン2は、自動動作終了信号を“0”とする(ステップS13)。自動動作終了信号が “0”とされることで、制御回路12におけるレジスタ30はリセット状態を解除される(ステップS14)。なお、図7では自動動作コマンド信号が“0”から“1”に遷移するタイミングと、自動動作終了信号が“1”から“0”に遷移するタイミングが同時に記載してある。しかし、実際にはマイコン2が起動するには一定の時間が必要であるため、自動動作終了信号の遷移タイミングが遅れることが通常である。
【0032】
その結果、ANDゲート44の出力が“1”となる。すなわち、レジスタ値デコーダ42の出力は“1”であるから、ORゲート43の出力は“1”である。その状態でクロックが発生されるため、ANDゲート44の出力が“1”となる。これにより、レジスタ30は選択回路40から与えられる起動デコード値を内部に取り込む(ステップS15、時刻t2)。
【0033】
レジスタ30が起動デコード値を取り込むことによって、制御用デコーダ31は起動デコード値をデコードして、電源回路11に対してチャージポンプ回路を起動するよう命令する。同時に、レジスタ30はリセット状態から解放されるため、レジスタ値デコーダ42の出力が“0”となる(ステップS16、時刻t3)。
【0034】
レジスタ値デコーダ42の出力が“0”に変化したことで、選択回路40はマイコンからのデータを取り込むようになる(ステップS17、時刻t4)。この時点では、レジスタ値デコーダ42の出力が“0”であるから、ORゲート43の出力は“0”であり、レジスタ30はマイコンのデータを内部には取り込まない。以上により、電源回路11が自動動作モードで動作する準備が完了する。
【0035】
その後は、マイコン2から与えられる更新イネーブル信号が“1”とされるタイミングで、レジスタ30はマイコン2からのデータを内部に取り込む(ステップS18、時刻t5、t6)。これによって、フラッシュメモリ2は自動動作モードで動作する(ステップS19)。その後は、レジスタ30がマイコン2からのデータを更新イネーブル信号のタイミングで取り込むことで、マイコン2によって制御回路12の動作が制御される。
【0036】
自動動作モードから非自動動作モードへの移行は次のようにして行われる。まず自動動作コマンドが“0”とされる。その結果、クロックは停止する。また自動動作終了信号が “1”とされ、更新イネーブル信号は“0”固定とされる。その結果、レジスタ30はリセット状態とされ、レジスタ値デコーダ42の出力は“1”となり、レジスタ30の更新は禁止される。そして選択回路40は起動デコード値を選択する。その結果、制御回路12は、マイコン2の制御によらずに動作を行う。
【0037】
上記のように、この発明の第2の実施形態に係る半導体記憶装置であると、第1の実施形態で説明した(1)の効果に加えて、下記(2)の効果が得られる。
(2)半導体記憶装置の動作速度を向上出来る(その2)。
フラッシュメモリの自動動作をロジック回路による制御に比べて処理が遅くなる(オーバーヘッド)デメリットの一つに、チャージポンプ回路の起動の遅れがある。
【0038】
フラッシュメモリでは通常、自動動作時以外においてチャージポンプ回路は非動作状態とされる。これは、消費電力の低減やノイズ源となることを防止する目的である。従って、フラッシュメモリに自動動作コマンドが入力された際には、まずチャージポンプ回路を起動させる必要がある。この点、チャージポンプ回路の起動をマイコンによって行うには比較的長い時間がかかる。これは次のような理由による。すなわち、非自動動作モードから自動動作モードに移行する直前まで、マイコン2は動作していない。従って、チャージポンプの起動は、
(a)外部から入力された自動動作コマンドをコマンド解析回路9で解析し、
(b)解析の結果、マイコン2が動作を開始し、
(c)動作を開始したマイコン2が、メモリ21からチャージポンプ回路起動命令を読み出す
ことによって行われる。つまり、自動動作コマンドが入力されたとしても、直ちに起動命令を出すことは難しく、通常、自動動作コマンドの入力から数百ns程度かかる。
【0039】
チャージポンプ回路も、起動命令が与えられてから直ぐに起動可能なわけではなく、起動にはある程度の時間が必要である。従って、マイコン2による制御では、自動動作コマンドを入力してからチャージポンプ回路が動作可能となるまで、つまりフラッシュメモリが自動動作可能となるまでの時間が長くなる。
【0040】
この点、本実施形態に係る構成であると、マイコン2の制御によらずに、チャージポンプ回路を起動するための命令である起動デコード値を制御回路12へ与えている。そして、起動デコード値を取り込むためのトリガとなる信号を、切り替え回路14のレジスタ値デコーダ42及び更新回路41によって与えている。すなわち、レジスタ30の命令の取り込みタイミングを、マイコン2から与えられる更新イネーブル信号に依存すると、例え起動デコード値をマイコン2以外から与えてもチャージポンプ回路の起動は遅くなる。そこで本実施形態では、非自動動作モードではレジスタ30がリセット状態であることを利用して、レジスタ30の命令取り込みタイミングとして、レジスタ値デコーダ30の出力を用いている。これにより、マイコン2が動作可能となるよりも早く、レジスタ30に起動デコード値を入力することが可能となり、チャージポンプ回路を高速に起動させることが出来る。その結果、フラッシュメモリの高速動作が可能となる。
【0041】
[第3の実施形態]
次に、この発明の第3の実施形態に係る半導体記憶装置について説明する。本実施形態は上記第2の実施形態において、電源回路11における電圧更新タイミングに関するものである。フラッシュメモリ2の全体構成は第2の実施形態で説明した図4の通りであるので説明は省略し、以下では第1、第2の実施形態と異なる点についてのみ説明する。図8は本実施形態に係るフラッシュメモリ1の備える制御回路12、切り替え回路14、及び電源回路11の構成を示すブロック図である。
【0042】
なお、マイコン2から切り替え回路14に与えられるデータは(M+N)ビットであり、例えばM=1ビット、N=7ビットの8ビットである。そして、例えばMビットは8ビット中の最上位の1ビットであり、Nビットは8ビット中の下位の7ビットである。この(M+N)ビットのうち、Nビットのデータが電源回路11の制御情報であり、制御回路12で用いられる。他方、Mビットのデータは電源回路11における出力電圧の更新タイミングについての情報として用いられる。勿論、ビット数は上記のものに限定されない。
【0043】
図示するように電源回路11は、レジスタ50、フリップフロップ51、D/Aコンバータ、レギュレータ53、及びANDゲート54、55を備えている。レジスタ50は、マイコン2から与えられる設定値を保持する。設定値とは、電源回路11が発生すべき電圧の値に対応したデータである。フリップフロップ51は、レジスタ50から設定値が転送され、転送された設定値を保持する。D/Aコンバータ52には基準電源が与えられ、フリップフロップ51に保持される設定値をデジタル値からアナログ値に変換する。レギュレータ53は、D/Aコンバータ52で得られた値に従って、設定値に対応した値の電圧を発生し、出力する。ANDゲート54は、クロックと更新イネーブル信号とのAND演算を行う。そしてANDゲート54の演算結果が“1”であるタイミングで、レジスタ50は設定値を内部に取り込む。ANDゲート55は、クロックと、制御回路12におけるレジスタ30が保持するデータのMビットとのAND演算を行う。そしてANDゲート55の演算結果が“1”であるタイミングで、フリップフロップ51は設定値を内部に取り込む。
【0044】
次に、上記構成の電源回路11の動作について図9を用いて説明する。図9は、電源回路の動作を示すフローチャートである。
図示するように、まず自動動作モードにおいて(ステップS20)、マイコン2から設定値がレジスタ50に与えられる(ステップS21)。この際、更新イネーブル信号が“1”であれば(ステップS22、YES)、ANDゲート54の出力が“1”となるので、設定値がレジスタ50に取り込まれる(ステップS23)。更に、更新タイミングであれば、すなわちレジスタ30に保持される命令のMビットが“1”であれば(ステップS24、YES)、ANDゲート55の出力が“1”となるので、設定値がフリップフロップ51に取り込まれる(ステップS25)。すると、フリップフロップ51に保持される設定値に従って、D/Aコンバータ52及びレギュレータ53により電圧が発生される(ステップS26)。更に次の設定値がある場合には(ステップS27、YES)、マイコン2によって電圧制御の空き時間内に次の設定値がレジスタ50に与えられ(ステップS28)、ステップS22以降の動作が繰り返される。
【0045】
以上の動作の具体例について、図10を用いて説明する。図10は、制御回路12におけるレジスタ30内の命令、電源回路11におけるレジスタ50及びフリップフロップ51内の設定値、及びレギュレータ53の出力電圧の遷移を示すタイミングチャートである。
【0046】
図示するように、時刻t10においてレジスタ30に電圧V2を用いた電圧制御1なる命令が与えられ、レジスタ50には設定値V2が与えられ、電圧制御1の命令のMビットが“1”(更新タイミング)であったとする。すると、レジスタ50内の設定値V2はフリップフロップ51にも与えられ、レギュレータ53によって電圧V2が出力される。
【0047】
次にマイコン2は、制御の空き時間である時刻t11に次の設定値V3をレジスタ50に入力したとする。すると、設定値V3はレジスタ50に取り込まれるが、更新タイミングではないのでフリップフロップ51には取り込まれない。
【0048】
次に時刻t12において、レジスタ30に同じく電圧V2を用いた電圧制御2なる命令が与えられる。この命令は電圧を変更しないため、電圧制御2の命令のMビットは“0”である。従って、依然、レジスタ50内の設定値V3はフリップフロップ51に取り込まれず、レギュレータ53は電圧V2を出力し続ける。
【0049】
次に時刻t13において、レジスタに電圧V3を用いた電圧制御3なる命令が与えられる。この命令は電圧の変更を伴うため、電圧制御3の命令のMビットは“1”である。すなわち、更新タイミングであるので、レジスタ50内の設定値V3がフリップフロップ51に取り込まれる。これにより、レギュレータ53は出力電圧をV2からV3に変更して出力する。
【0050】
以上のように、この発明の第3の実施形態に係る半導体記憶装置であると、上記第1、第2の実施形態で説明した(1)、(2)の効果に加えて、下記(3)の効果が得られる。
(3)半導体記憶装置の動作速度を向上出来る(その3)。
フラッシュメモリの自動動作中には、書き込みや消去、読み出しのために、様々な値の電圧が必要になる。そして電圧の変更は、制御回路12におけるレジスタ30を更新するタイミングで行うことが多い。
【0051】
そこで本実施形態に係る構成では、まず電源回路11において、設定値を保持可能なレジスタ50とフリップフロップ51とを直列に設けている。そして、各々の設定値取り込みタイミングを異なるようにしている。具体的には、まず前段のレジスタ50については、更新イネーブル信号のタイミングで設定値を取り込むようにしている。また後段のフリップフロップ51については、レジスタ30に保持される命令における一部のビットに基づいて、設定値を取り込むようにしている。そのために、レジスタ30に保持される命令における一部のビットには、制御回路12による電源回路11の制御内容ではなく、電源回路11の電圧更新のトリガとなる意味を持たせている。その上で、マイコン2は、処理が疎である時期に、次の設定値をレジスタ50に入力する。新たな設定値がレジスタ50に入力されたとしても、レジスタ30内の命令における上記トリガが成立するまでは、電源回路11の出力電圧は変更されることは無い。
【0052】
以上のように、マイコン2が空き時間に設定値を電源回路11へ入力することが出来、また予め電源回路11に設定値を用意しておくことが出来る。そのため、マイコン2の負荷が軽減され、マイコン2の処理効率が向上出来ると共に、電源回路11は速やかに電圧を変更出来る。その結果、フラッシュメモリの動作速度を向上出来る。
【0053】
[第4の実施形態]
次に、この発明の第4の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第1乃至第3の実施形態のいずれかにおける、ベリファイ回路8の構成及び動作に関するものである。以下では、上記第1乃至第3の実施形態と異なる点についてのみ説明する。図11は、本実施形態に係るフラッシュメモリ1のメモリセル部6が備えるメモリセルアレイのブロック図である。
【0054】
図示するようにメモリセルアレイは、3つのレギュラーブロックRBLK0〜RBLK2及び4つのブートブロックBBLK0〜BBLK3を備えている。以下、レギュラーブロックRBLK0〜RBLK2を区別しない場合には単にレギュラーブロックRBLKと呼び、ブートブロックBBLK0〜BBLK3を区別しない場合にはブートブロックBBLKと呼ぶ。また、レギュラーブロックRBLKとブートブロックBBLKとを区別しない場合には、単にブロックと呼ぶ。
【0055】
レギュラーブロックRBLK及びブートブロックBBLKは、それぞれメモリセルMCの集合である。そして、各ブロック内のメモリセルMCは、一括して消去が行われる。つまり、ブロックサイズは消去単位に等しい。レギュラーブロックRBLKとブートブロックBBLKとの違いは、そのメモリサイズと用途である。まずメモリサイズに関しては、レギュラーブロックRBLKはブートブロックBBLKよりもサイズが大きく、例えば1つのレギュラーブロックRBLKのメモリサイズは、4つのブートブロックBBLKのメモリサイズの和に等しい。次に用途であるが、レギュラーブロックRBLKは画像や音声等、ユーザによって頻繁に書き換えられるデータのストレージとして用いられる。他方、ブートブロックBBLKは、回路ブロックの起動プログラム等、データサイズは小さいが、システムにとって重要なデータの保存用として用いられる。
【0056】
次に、ベリファイ回路8によるレギュラーブロックRBLK及びブートブロックBBLKのベリファイ動作について、図12を用いて簡単に説明する。図12は、レギュラーブロックRBLK及びブートブロックBBLKを示しており、ベリファイ動作時におけるアクセスの様子を示す概念図である。
【0057】
図示するように、レギュラーブロックRBLKとブートブロックBBLKとに関わらず、ベリファイ動作はレギュラーブロックRBLKのサイズで行われる。本実施形態の例であると、4つのブートブロックBBLKのメモリサイズ=1つのレギュラーブロックRBLKのメモリサイズである。よって、例えばブートブロックBBLK2について消去及び消去ベリファイを行う際には、ブートブロックBBLK0〜BBLK3の全てについて消去ベリファイが行われる。
【0058】
次に、本実施形態に係るフラッシュメモリ1の備えるベリファイ回路8の構成について、図13を用いて説明する。図13はベリファイ回路8の回路図である。
図示するようにベリファイ回路8は、レジスタ60−0〜60−3、65、判定回路62、出力回路63、及び比較回路64を備えている。
【0059】
レジスタ60−0〜60−3は、マイコン2から与えられるブートブロック選択信号に基づいて、ブートブロックBBLKの選択/非選択を示すフラグを立てる。レジスタ60−0〜60−3は、それぞれブートブロックBBLK0〜BBLK3に対応している。そして、ブートブロックBBLK0〜BBLK3のいずれかにつき実際にデータの更新(書き込みまたは消去)が行われ、ベリファイが必要である際には、対応するレジスタ60−0〜60−3のいずれかに“1”が保持され、その他には“0”が保持される。このように、実際にデータの更新が行われたブートブロックBBLKを、以下、選択ブートブロックBBLKと呼ぶことがある。
【0060】
例えばブートブロックBBLK2に対してデータの更新があったとする。この場合には、選択ブートブロックはブートブロックBBLK2である。従って、図12において説明したように、ベリファイ自体は4つのブートブロックBBLK0〜BBLK3の全てについて行われるが、フラグはレジスタ60−2のみが立てる。従って、レジスタ60−2のみが“1”を保持し、その他のレジスタ60−0、60−1、60−3は“0”を保持する。
【0061】
判定回路62は、ベリファイの行われたメモリセルMCが、選択ブートブロックBBLKに含まれるものであるか否かを判定する。判定回路62は、ANDゲート70−0〜70−3及びNORゲート71を備えている。ANDゲート70−0〜70−3は、それぞれブートブロックBBLK0〜BBLK3を示すアドレス信号と、レジスタ60−0〜60−3に保持されるフラグとのAND演算を行う。ブートブロックBBLK0〜BBLK3を示すアドレス信号はマイコン2から与えられ、ベリファイが行われた読み出しデータを保持するメモリセルMCのブロックアドレスを示す信号である。すなわち、メモリセルMCがブートブロックBBLK0に含まれるものである場合には、ブートブロックBBLK0を示すアドレス信号が“1”とされ、ブートブロックBBLK1に含まれるものである場合には、ブートブロックBBLK1を示すアドレス信号が“1”とされる。NORゲート71は、ANDゲート70−0〜70−3の出力及びレギュラーブロック選択信号のNOR演算を行う。レギュラーブロック選択信号はマイコン2から与えられ、レギュラーブロックRBLKについてデータの更新があった場合に“1”とされ、それ以外の場合には“0”とされる。
【0062】
従って、前述のようにブートブロックBBLK2に対してデータの更新があったとする。すると、ブートブロックBBLK2に含まれるメモリセルMCについてベリファイを行っている際には、ブートブロックBBLK2を示すアドレス信号が“1”となり、ANDゲート70−2の出力が“1”となる。そして、その他のANDゲート70−0、70−1、70−3の出力は“0”となり、NORゲート71の出力は“0”となる。
また、レギュラーブロックRBLKについてデータの更新があった場合にも、NORゲート71の出力は“0”となる。
【0063】
他方、ブートブロックBBLK0、BBLK1、BBLK3に含まれるメモリセルMCについてベリファイを行っている際には、それぞれブートブロックBBLK0、BBLK1、BBLK3を示すアドレス信号が“1”となる。しかし、レジスタ60−0、60−1、60−3は“0”を保持するため、全てのANDゲート70−0〜70−3の出力は “0”となり、NORゲート71の出力は“1”となる。
【0064】
比較回路64は、センスアンプ6で読み出されたデータと、書き込み元データ(消去の場合には“1”)とを比較し、メモリセルMCに正確なデータが保持されているか否かを判定する。比較の結果、両者が一致すれば“1”を出力し、不一致であれば“0”を出力する。
【0065】
レジスタ65は、比較回路64における比較結果を保持する。レジスタ65は、マイコン2から与えられるベリファイ結果更新信号によって比較結果を内部に取り込み、ベリファイ結果リセット信号によってリセットされる。
【0066】
出力回路63は、判定回路62とレジスタ65に保持される比較結果に基づいて、ベリファイ結果及び書き込みデータを出力する。出力回路63は、ANDゲート80、81、及びORゲート82を備えている。ANDゲート80は、レジスタに保持される比較結果と、NORゲート71の出力の反転信号とのAND演算を行う。ORゲート82は、ANDゲート80の出力とNORゲート71の出力とのOR演算を行う。そしてORゲート82における演算結果が、最終的なベリファイ結果として出力される。ANDゲート81は、書き込み元データと、NORゲート71の出力の反転信号とのOR演算を行う。
【0067】
従って、ANDゲート70−0〜70−3の全ての出力が“0”となってNORゲート71の出力が“1”となる場合には、NORゲート82の出力(ベリファイ結果)は強制的に“1”、すなわちベリファイOKとなる。またANDゲート81の出力(書き込みデータ)は強制的に“0”固定とされる。他方、NORゲート71の出力が“0”となる場合には、NORゲート82及びANDゲート81の出力は、それぞれレジスタ65に保持される比較結果及び書き込み元データに依存する。
【0068】
次に、メモリセルMCのデータ更新時における、上記構成のベリファイ回路8の動作について、図14を用いて説明する。図14は、ベリファイ回路8の動作のフローチャートである。なお、以下ではブートブロックRBLK及び、レギュラーブロックRBLKを、区別しない場合にはまとめて選択ブロックと呼ぶことがある。
【0069】
まず、データが更新されるブロック(選択ブロック)がブートブロックBBLKである場合(ステップS30、YES)、マイコン2はレジスタ60−0〜60−3の設定を開始する(ステップS31)。マイコン2は、ブートブロック番号iを“0”として(ステップS32)、ブートブロックBBLKiが選択ブロックであり且つプロテクトされていないか否かを判定する(ステップS33)。選択ブロックであるか否かについては、アドレス信号を参照することで把握でき、プロテクトされているか否かについては、プロテクト情報保持回路13内のプロテクト情報を参照することで把握出来る。
【0070】
選択ブロックであり且つプロテクトされていない場合には(ステップS33、YES)、当該ブロックについてデータの更新を行うので、マイコン2は当該ブロックに対応するレジスタ60−0〜60−3にフラグを立てる(ステップS34)。前述の通り、例えばブートブロックBBLK2についてデータの書き込みまたは消去を行う場合には、レジスタ60−2は“1”を保持する。そしてステップS33〜S34の処理を、iが最大値(本実施形態では、ブートブロックBBLKは4つなのでi=4−1=3、ステップS35)になるまで繰り返す(ステップS36)。
【0071】
以上により、レジスタ60−0〜60−3の設定が終了する。いずれかのブートブロックBBLKについてデータの更新が行われる場合には、対応するレジスタ60−0〜60−3に“1”が保持される。勿論、更新が行われるブートブロックBBLK数は1つに限らず、複数個あっても良い。また、ブートブロックBBLKが選択ブロックであったとしても、当該ブートブロックBBLKがプロテクトされている場合には、データの更新は行われず、従って当該ブートブロックBBLKに対応するレジスタ60−0〜60−3は“0”を保持したままである。
【0072】
ステップS35が終了した結果(ステップS35、YES)、データを更新すべきブロックが存在する場合、または選択ブロックがレギュラーブロックRBLKであり(ステップS30、NO)、且つ選択ブロックがプロテクトされていない場合(ステップS38、YES)には、選択ブロックについてデータの更新が行われる(ステップS39)。すなわち、選択ブロックについて、データの書き込みまたは消去が行われる。ステップS37、S38でNOの場合には、処理は終了する。
【0073】
ステップS39におけるデータの更新が終了すると、次にベリファイ動作が実行される(ステップS40)。まず、マイコン2はロウアドレス及びカラムアドレスを先頭アドレスに設定する(ステップS41)。
【0074】
例えば、レギュラーブロックRBLK0が選択ブロックである場合には、先頭アドレスは、レギュラーブロックRBLK0の先頭メモリセルMCに対応するアドレスである。最終アドレスは、レギュラーブロックRBLK0の最終メモリセルMCに対応するアドレスである。
【0075】
他方、図12に示すようにブートブロックBBLKが選択される場合には、先頭アドレスは、ブートブロックBBLK0の先頭メモリセルに対応するアドレスである。最終アドレスは、ブートブロックBBLK3の最終メモリセルMCに対応するアドレスである。これは、前述の通り、ベリファイは4つのブートブロックBBLK0〜BBLK3について行われるからである。
【0076】
そして、上記アドレスに対応するメモリセルMC(これを選択メモリセルと呼ぶ)からデータが読み出され、比較回路64において比較が行われる。これによって、選択メモリセルについて正常にデータの更新が行われているか否かが検証される。
【0077】
また、比較回路において比較が行われたメモリセル(選択メモリセル)が選択ブロック内に含まれるものか否かの判定を行う(ステップS42)。なおこの判定については、マイコン2は特になんらの処理も必要としない。なぜなら、ステップS42の処理は判定回路62が行うからである。前述の通り、NORゲート71の出力が“0”であれば選択メモリセルは選択ブロックに含まれ、“1”であれば選択ブロックに含まれない。
【0078】
まず、選択メモリセルが選択ブロックに含まれない場合(ステップS42、NO)について図15を用いて説明する。図15はベリファイ回路8のブロック図であり、選択ブロックがブートブロックBBLK2であり、選択メモリセルMCが非選択のブートブロックBBLK0に含まれる場合について示している。
【0079】
図示するように、レジスタ60−2に“1”が保持され、レジスタ60−0、60−1、60−3には“0”が保持される。またレギュラーブロック選択信号は当然“0”である。更に、選択メモリセルがブートブロックBBLK0に含まれるので、ブートブロックBBLK0を示すアドレス信号が“1”とされ、ブートブロックBBLK1〜BBLK3を示す信号は“0”である。
【0080】
すると、判定回路62では全てのANDゲート70−0〜70−3の出力が“0”となり、NORゲート71の出力が“1”となる。その結果、出力回路63においてはNORゲート82の出力は“1”となる。すなわち、レジスタ65に保持される比較結果にかかわらず、ベリファイOKとされる(ステップS43)。またANDゲート81の出力も強制的に所定の値に固定される(ステップS44)。図15の構成であると、ANDゲート81の出力は“0”固定であるが、この値は“1”固定であっても構わない。
【0081】
次に、選択メモリセルが選択ブロックに含まれる場合(ステップS42、YES)について図16を用いて説明する。図16はベリファイ回路8のブロック図であり、選択ブロックがブートブロックBBLK2であり、選択メモリセルMCが選択ブートブロックBBLK2に含まれる場合について示している。
【0082】
図示するように、選択メモリセルがブートブロックBBLK2に含まれるので、ブートブロックBBLK2を示すアドレス信号が“1”とされる。従って、判定回路62ではANDゲート70−2の出力が“1”となり、NORゲート71の出力が“0”となる。
【0083】
よって、出力回路63のORゲート82の出力は、ANDゲート80の出力、すなわち、レジスタ65に保持される比較結果によって決まる。すなわち、比較回路が“1”を出力する場合には、ベリファイOKとされ、“0”を出力する場合にはベリファイNGとされる(ステップS45)。またANDゲート81の出力も書き込み元データによって決定される。すなわち、書き込み元データが“1”である場合には、書き込みデータも“1”とされ、“0”である場合には書き込みデータも“0”とされる(ステップS46)。
【0084】
なお、レギュラーブロックRBLKが選択ブロックである場合、選択メモリセルは全て選択ブロック内に含まれる。なぜなら、レギュラーブロックRBLKがベリファイを行う単位だからである。この場合、マイコン2はレギュラーブロック選択信号を“1”とすることで、出力回路63の出力を、レジスタ65及び書き込み元データを反映させたものとする。
【0085】
ステップS44、S46の後、ロウアドレス及びカラムアドレスが上記の最終アドレスで無い場合(ステップS47、NO)には、マイコン2はロウアドレス及びカラムアドレスを次のアドレスに設定して(ステップS48)、ステップS42に戻る。最終アドレスに達し(ステップS47、YES)、且つ別のブロックについてベリファイを行う場合(ステップS48、YES)には、ステップS30に戻って上記処理を繰り返す。行わない場合(ステップS48、NO)には、処理を完了する。
【0086】
以上のように、この発明の第4の実施形態に係る半導体記憶装置であると、上記第1乃至第3の実施形態で説明した(1)乃至(3)の効果に加えて、下記(4)の効果が得られる。
(4)半導体記憶装置の動作速度を向上出来る(その4)。
ブートブロックBBLKは、レギュラーブロックRBLKに対して、例えば本実施形態の場合、1/4のブロックサイズを単位とした細分化領域である。一般的に、マイコン2によってブートブロックBBLKについてベリファイを行う場合には、選択ブートブロックBBLKについてのみベリファイを行う。
【0087】
しかし当然ながら、ベリファイすべき範囲は、ブートブロックBBLKとレギュラーブロックRBLKで異なる。従って上記手法であると、マイコン2は、当該アドレスが選択ブートブロックBBLK内であるか否かの判定を、1アドレス毎に行わなければならない。更に、複数のブートブロックBBLKについてデータを更新する場合には、1つのブートブロックBBLKについてベリファイが終了したか否かの判定の後、次のアドレスについてもブートブロックBBLKであるか否かの判定を1アドレス毎に行う必要がある。そして本処理は、レギュラーブロックRBLKについてベリファイを行う場合にも必要となる。マイコン2による判定処理は、通常、少なくとも演算命令と分岐命令の2命令を含む。従って、16ビットのマイコン2の場合に、(2回の判定処理)×2命令=4命令を、16636回繰り返さなければならない。その結果、当該アドレスがブートブロックBBLKであるか否かの判定のために、約26msほどの時間を要することとなる。
【0088】
この点、本実施形態に係る構成であると、上記の4命令が不要となり、ベリファイ動作を高速化出来る。本実施形態では、まずレギュラーブロックRBLKとブートブロックBBLKとで、ベリファイを行う単位を共にレギュラーブロックサイズに共通化している。そして、選択ブロックがブートブロックBBLKである場合には、選択ブートブロックBBLKのベリファイ結果に対してのみ比較回路64における比較結果を反映させる。そして、非選択のブートブロックBBLKのベリファイ結果は出力回路63によって強制的にベリファイOKとする。また、マイコン2は選択メモリセルが選択ブートブロックBBLKであるか否かの判定を行わず、この判定はベリファイ回路8に設けられた判定回路62が行っている。以上により、マイコン2の負荷を軽減し、フラッシュメモリの動作速度を向上出来る。
【0089】
なお、本実施形態ではブートブロックBBLKのサイズがレギュラーブロックRBLKのサイズの1/4である場合について説明したが、このサイズに限定されるものでは無い。図17は、レギュラーブロックRBLKとブートブロックBBLKのブロック図である。図示するように、ブートブロックBBLKはレギュラーブロックRBLKを(k+1)に分割したものであっても良い(kは正の整数)。この場合のベリファイ回路8の構成を図18に示す。図示するように、レジスタ60−0〜60−kには、ブートブロックBBLK0〜BBLKkの選択情報が格納される。そしてANDゲート70−0〜70−kによって、レジスタ60−0〜60−k内のフラグと、ブートブロックBBLK0〜BBLKkを示すアドレス信号とのAND演算が行われる。
【0090】
以上のように、この発明の第1乃至第4の実施形態に係る半導体記憶装置によれば、マイコン2によって制御するフラッシュメモリにおいて、その一部をハードウェア化することによって、動作速度を効果的に向上させることが出来る。なお、上記実施形態ではNOR型フラッシュメモリを例に説明したが、例えばNAND型フラッシュメモリ等にも適用できる。また、上記実施形態では制御回路12によって電源回路11及びセンスアンプ7が制御される場合について説明したが、その他の回路ブロックが制御回路12によって制御されても良い。またその制御内容は、上記実施形態で説明したものに限定されない。更に、上記実施形態ではレギュラーブロック選択時にはレギュラーブロック選択信号によってNORゲート71の出漁を“0”としている。しかしながら、レギュラーブロック選択信号を使用する代わりに、レギュラーブロック選択時には、レジスタ60−1〜60−3の全てを強制的に“1”とし、且つBBLK0〜BBLK3を示す信号を全て強制的に“1”としても良い。
【0091】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【0092】
1…フラッシュメモリ、2…マイコン、3…入力バッファ、4…入出力バッファ、5…アドレスバッファ、6…メモリセル部、7…センスアンプ、8…ベリファイ回路、9…コマンド解析回路、10…発振回路、11…電源回路、12…制御回路、13…プロテクト情報保持回路、14…切り替え回路、20…CPU、21…メモリ、30、50、60−0〜60−k、65…レジスタ、31…制御用デコーダ、40…選択回路、41…更新回路、42…レジスタ値デコーダ、43、82…ORゲート、44、54、55、70−0〜70−k、80、81…ANDゲート、51…フリップフロップ、52…D/Aコンバータ、53…レギュレータ、62…判定回路、63…出力回路、64…比較回路、71…NORゲート

【特許請求の範囲】
【請求項1】
動作がプロセッサの制御によって自動で行われる第1動作モードと、プロセッサの制御によらずに動作が行われる第2動作モードとを備える半導体記憶装置であって、
不揮発性のメモリセルを備えたメモリセルアレイと、
前記メモリセルへのデータの書き込み、消去、読み出しの少なくともいずれかに使用すべき電圧を発生する電源回路と、
前記電源回路を起動させる第1信号と、前記第1動作モードにおいて前記プロセッサから与えられる第2信号とのいずれかを保持可能とされ、前記第2動作モードにおいてリセット状態とされる第1レジスタを備え、前記第1、第2信号のいずれかに基づいて前記電源回路を制御する制御回路と、
前記第1、第2信号のいずれか一方を選択して、選択したいずれか一方を前記第1レジスタに保持させる切り替え回路と、
前記第2信号を発生して、前記電源回路の動作を制御する前記プロセッサと
を具備し、前記切り替え回路は、
前記第1動作モードにおいては前記第1レジスタに前記第2信号を保持させ、
前記第2動作モードから前記第1動作モードに切り替わる際には、前記第1信号を前記第1レジスタに保持させた後に、前記第2信号を保持させる
ことを特徴とする半導体記憶装置。
【請求項2】
前記切り替え回路は、前記第1、第2信号のいずれか一方を選択して前記第1レジスタに与える選択回路と、
前記第1レジスタに保持される信号をデコードして、デコードの結果、前記第1レジスタが前記リセットされた状態であった場合には前記選択回路に前記第1信号を選択させ、前記第1レジスタがリセットされた状態でなかった場合に前記選択回路に前記第2信号を選択させるレジスタ値デコード回路と、
前記レジスタ値デコード回路におけるデコードの結果、前記第1レジスタが前記リセット状態である場合、及び前記プロセッサにより更新信号が与えられた際に、クロックに応答して、前記第1レジスタに対して前記選択回路にて選択された前記第1、第2信号のいずれか一方を取り込むよう命令する更新回路とを備え、
前記第2信号は(M+N)ビット(Mは1以上、Nは2以上の自然数)の信号であり、
前記制御回路は、前記第2信号のうちの前記Nビットを用いて前記電源回路を制御し、
前記電源回路は、前記プロセッサから第3信号が与えられ、前記プロセッサにより前記更新信号が与えられた場合に前記第3信号を取り込む第2レジスタと、
前記第2レジスタに保持される前記第3信号が転送され、前記第1レジスタに保持される前記第2信号のうちの前記Mビットの値に応じて、前記第2レジスタから転送される前記第3信号を取り込む第3レジスタと、
前記第3レジスタに保持される前記第3信号に応じて前記電圧を発生する電圧発生部と
を備えることを特徴とする請求項1記載の半導体記憶装置。
【請求項3】
動作がプロセッサの制御によって自動で行われる半導体記憶装置であって、
不揮発性のメモリセルを複数含み、含まれる前記メモリセルが一括して消去される第1メモリブロックと、前記第1メモリブロックよりも少ない数の前記メモリセルを含み、含まれる前記メモリセルが一括して消去される複数の第2メモリブロックとを備えるメモリセルアレイと、
前記メモリセルからデータを読み出して増幅するセンスアンプと、
前記センスアンプで読み出されたデータを用いて、前記メモリセルへのデータの書き込みまたは消去が正常に行われたか否かのベリファイを行うベリファイ回路と、
前記第2メモリブロックについての選択・非選択に関する情報を前記ベリファイ回路へ与える前記プロセッサと
を具備し、前記センスアンプは前記第2メモリブロックからデータを読み出す際、選択された前記第2メモリブロックと、いずれかの非選択の前記第2メモリブロックとにつき連続してデータを読み出し、
前記ベリファイ回路は、非選択の前記第2メモリセルブロックからデータが読み出された際には、読み出されたデータにかかわらず、前記書き込みまたは消去が正常に行われたと判定する
ことを特徴とする半導体記憶装置。
【請求項4】
前記プロセッサから与えられる前記選択・非選択に関する情報は、前記第2メモリブロックが選択された際に、いずれの前記第2メモリブロックが選択されたかを示す情報であり、
前記ベリファイ回路は、前記選択・非選択に関する情報を保持可能なレジスタと、
前記ベリファイが行われる前記メモリセルのアドレスと、前記レジスタに保持される前記情報とを用いて、前記センスアンプでデータが読み出された前記メモリセルが、選択された前記第2メモリブロックに含まれるか否かを判定する判定回路と、
前記センスアンプで読み出されたデータについてのベリファイ結果を保持する保持回路と、
前記判定回路において、選択された前記第2メモリブロックに前記メモリセルが含まれると判定された場合には、前記保持回路に保持される前記ベリファイ結果を出力し、含まれないと判定された場合に、前記保持回路に保持される前記ベリファイ結果にかかわらず前記ベリファイが正常に完了した旨のデータを出力する出力回路と
を備えることを特徴とする請求項3記載の半導体記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−178221(P2012−178221A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2012−114732(P2012−114732)
【出願日】平成24年5月18日(2012.5.18)
【分割の表示】特願2007−14057(P2007−14057)の分割
【原出願日】平成19年1月24日(2007.1.24)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(391016358)東芝情報システム株式会社 (149)
【出願人】(000003193)凸版印刷株式会社 (10,630)
【Fターム(参考)】