(57)【要約】【課題】予期せぬ書き込み動作などによって誤った書き込みモードに進んだ場合に、外部回路等による制御を行うことなく、正常な状態に復帰させることができる不揮発性半導体記憶装置を提供する。【解決手段】データが書き込まれるアドレスが、書き込み・消去禁止状態であるアドレス領域に含まれるか否かを、書き込みモードキャンセル回路１１がアドレスおよび書き込み許可ビット１０によって判定し、書き込み・消去禁止状態のアドレス領域に対する書き込みである場合には、書き込みコマンドをキャンセルする。ＦＬＡＳＨコマンド制御回路８は、書き込みコマンドキャンセル信号が入力されると、読み出しモードを維持し、書き込みモードに遷移しない。【選択図】　　図１
2004062978.tif 000002
【特許請求の範囲】
【請求項１】
電気的にデータの書き換えおよび消去が可能なメモリ部と、該メモリ部内の所定の各アドレス領域について、それぞれ、当該アドレス領域内のデータ書き込みおよび消去を禁止するための書き込み・消去禁止状態設定手段と、
入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれるか否かを判定し、入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれる場合には、書き込みコマンドをキャンセルする書き込みモードキャンセル手段と、
１回のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方が特定の値である場合、または２回以上のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方の組み合わせが特定の値の組み合せである場合に、書き込み可能状態であるアドレスに対しては読み出しモードから書き込みモードに遷移すると共に、書き込み・消去禁止状態に設定されているアドレスに対しては該書き込みモードキャンセル手段による書き込みモードキャンセルに従って読み出しモードを維持するコマンド制御手段とを備えた不揮発性半導体記憶装置。
【請求項２】
電気的にデータの書き換えおよび消去が可能なメモリ部と、該メモリ部内の所定の各アドレス領域について、それぞれ、当該アドレス領域内のデータ書き込みおよび消去を禁止するための書き込み・消去禁止状態設定手段と、
入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれるか否かを判定し、入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれる場合には、書き込みコマンドをキャンセルする書き込みモードキャンセル手段と、
１回のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方が特定の値である場合、または２回以上のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方の組み合わせが特定の値の組み合せである場合に、読み出しモードから書き込みモードに遷移して、書き込みモードにおいて、書き込み可能状態であるアドレスに対するデータ読み出しに対しては処理状態を示すステータスを出力すると共に、書き込み・消去禁止状態に設定されているアドレスに対するデータ読み出しに対しては該書き込みモードキャンセル手段による書き込みモードキャンセルに従って読み出しモードに遷移して該メモリ部から該当するアドレスのデータを出力させるコマンド制御手段とを備えた不揮発性半導体記憶装置。
【請求項３】
前記コマンド制御手段は、さらに、前記メモリ部へのデータ書き込み後に書き込み終了コマンドが入力されたときに、書き込みモードから読み出しモードに復帰する請求項１または請求項２に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気的にデータの書き換えおよび消去が可能なメモリ部を有する不揮発性半導体記憶装置に関する。
【０００２】
【従来の技術】
従来、電気的にデータの書き換えおよび消去が可能なメモリ部を有する不揮発性半導体記憶装置としては、例えばフラッシュＲＯＭが知られている。
【０００３】
図７は、従来のフラッシュＲＯＭ７００の構成例を示すブロック図である。
【０００４】
このフラッシュＲＯＭ７００は、複数のメモリブロック９ａを有するメモリ部９を備えている。各メモリブロック９ａは、それぞれ複数のメモリセルアレイによって構成されており、それぞれ所定のアドレス領域に対応している。また、各メモリブロック９には、そのメモリブロック９へのデータ書き込み・消去を禁止する書き込み許可ビット１０が設けられている。この書き込み許可ビット１０は、「０」が書き込み許可、「１」が書き込み非許可を表している。
【０００５】
メモリ部９は、ＦＬＡＳＨコマンド制御回路８から供給されるコマンドに基づいて電気的に制御され、各メモリセルからのデータの読み出し、各メモリセルへのデータの書き込み、各メモリブロック９ａへのデータの書き込み、各メモリブロック９ａのデータ消去、メモリ部９全体のデータ消去、メモリブロック９ａ保護の設定・解除（例えば書き込み許可ビットの設定・解除）等の処理が行われるようになっている。なお、ここでは図示していないが、メモリ部の周囲には、アドレスに従って読み出し・書き込み等が行われるメモリセルを選択する行デコーダ、列デコーダおよびブロック選択回路、データ読み出しの際に用いられるセンス回路等が設けられており、さらに、ＦＬＡＳＨコマンド制御部８からのコマンドに従って、行デコーダ、列デコーダ等の動作を制御するライトステートマシンも設けられている。また、メモリ部９の読み出し、書き込み・消去等のための電圧を供給する電圧発生回路等も設けられている。
【０００６】
データ読み出し、データ書き込み等の各処理は、外部のＣＰＵ等からアドレスバスおよびアドレスバッファ３を介してメモリ部９に供給されるアドレスに対応する各メモリセル（または各メモリブロック）に対して行われ、外部のＣＰＵ等からの入力データはデータバス、データ入出力（Ｉ／Ｏ）制御回路１および入力データバッファ４を介してメモリ部９に供給され、メモリ部９からの出力データは出力データバッファ５およびデータ入出力制御回路１を介して外部のＣＰＵ等に出力されるようになっている。
【０００７】
ＦＬＡＳＨコマンド制御回路８は、外部のＣＰＵ等から入力されるＣＳ（チップセレクト）、ＷＥ（ライトイネーブル）、ＯＥ（アウトプットイネーブル）、ＷＰ（ライトプロテクト）、ＲＰ（リセットパワーダウンモード）等の制御信号に基づいてデータ読み出し、ライト終了などのコマンドを判定し、メモリ部９に供給するようになっている。外部から入力される制御信号は、コマンドバッファ２、データ入出力制御回路１、入力データバッファ４およびデータ比較回路７を介してＦＬＡＳＨコマンド制御回路８に供給されるようになっている。
【０００８】
また、ＦＬＡＳＨコマンド制御回路８には、アドレス比較回路６およびデータ比較回路７が接続されている。アドレス比較回路６には、アドレスバッファ３を介して入力アドレスが供給され、データ比較回路７には、データ入出力制御回路１および入力データバッファ４を介して入力データが供給されるようになっている。そして、１回のバスサイクルでデータバスおよびアドレスバスを介して入力されるデータおよびアドレスの少なくとも一方が特定の値である場合、または２回以上のバスサイクルでデータバスおよびアドレスバスを介して入力されるデータおよびアドレスの少なくとも一方の組み合わせが特定の値の組み合せである場合に、各メモリセルへのデータの書き込み、各メモリブロック９ａへのデータの書き込み、各メモリブロック９ａのデータ消去、メモリ部９全体のデータ消去、メモリブロック９ａ保護の設定・解除等のコマンドが判定されるようになっている。
【０００９】
次に、このように構成された従来のフラッシュＲＯＭにおけるデータ読み出し・書き込み動作について説明する。
【００１０】
図８は、従来のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートであり、図９および図１０は、その動作タイミングを示す信号波形図である。
【００１１】
まず、電源投入後の初期状態において、ステップＳ１ではコマンド待ち受け状態であり、フラッシュＲＯＭはリードモード（メモリセルアレイ読み出しモード）に設定されている。そして、ＣＰＵからデータ読み出しコマンドが入力され、図９に示すように、ステップＳ２でＣＳがアクティブ（Ｌｏｗレベル）であるときにＯＥがアクティブ（Ｌｏｗレベル）になると、ステップＳ３において、入力アドレスＡＤＲに基づいてメモリ部９に格納されているプログラム等の情報がデータＤＡＴとして読み出される。そして、ＣＳが非アクティブ（Ｈｉｇｈレベル）になると、再びステップＳ１に戻ってコマンド待ち受け状態となる。
【００１２】
また、ステップＳ２においてＯＥが非アクティブ（Ｈｉｇｈレベル）である場合にはステップＳ４に進み、ステップＳ４でＷＥが非アクティブ（Ｈｉｇｈレベル）である場合には、再びステップＳ１に戻ってコマンド待ち受け状態となる。図９では、ステップＳ４でＷＥが非アクティブ（Ｈｉｇｈレベル）のままであり、ステップＳ１〜ステップＳ３が繰り返されている。
【００１３】
一方、ＣＰＵからデータ書き込みコマンドが入力され、ステップＳ４において、ＣＳがアクティブであるときにＷＥがアクティブ（Ｌｏｗレベル）になると、ステップＳ５およびステップＳ６でアドレス比較回路６およびデータ比較回路７によって入力アドレスＡＤＲおよび入力データが特定の値と比較され、ＦＬＡＳＨコマンド制御回路８によってコマンドが正しいコマンドであるか否かが判定される。そして、ステップＳ５において、１回のバスサイクルで外部から入力される特定のデータおよび特定のアドレスの少なくとも一方、または２回以上のバスサイクルで外部から入力される特定のデータおよび特定のアドレスの組み合わせによって書き込みコマンドと判定されると、ステップＳ７に進み、フラッシュＲＯＭは読み出しモードから書き込みモードに遷移する。また、その他のコマンドである場合には、ステップＳ６でコマンドが判定され、その処理を行うモードに遷移する。
【００１４】
ステップＳ７〜ステップＳ９は、書き込みデータおよびアドレスの入力を待っている状態である。この状態でＣＰＵからのデータ読み出しが行われ、ステップＳ７でＣＳがアクティブであるときにＯＥがアクティブになると、ステップＳ８において、そのときの処理状況（この場合には書き込み状況）であるステータス情報がデータＤＡＴとして読み出される。そして、ステップＳ９でＷＥがアクティブになるまで、ステップＳ７およびステップＳ８が繰り返される。
【００１５】
ステップＳ９において、ＣＳがアクティブであるときにＷＥがアクティブになると、ステップＳ１０ではメモリ部９の該当するアドレス領域にデータが書き込まれる。
【００１６】
ステップＳ１１〜ステップＳ１３は、ライト終了コマンドの入力を待ち受けている状態である。この状態でＣＰＵからのデータ読み出しが行われ、ステップＳ１１でＣＳがアクティブであるときにＯＥがアクティブになると、ステップＳ１２において、そのときの処理状況（この場合には書き込み状況）であるステータス情報がデータＤＡＴとして読み出される。そして、ステップＳ１３でライト終了コマンドがＣＰＵから入力されるまで、ステップＳ１１およびステップＳ１２が繰り返される。
【００１７】
ステップＳ１３において、ライト終了コマンドがＣＰＵから入力されると、ステップＳ１４で書き込み処理を終了し、再びステップＳ１に戻ってコマンド待ち受け状態となる。
【００１８】
ところで、書き込みモードでは、上記ステップＳ８およびステップＳ１２に示すように、ＣＰＵからのデータ読み出しに対してコマンドの処理状況がステータスとして読み出されるようになっており、メモリ部９から任意のアドレスに対応するデータを読み出すことはできない。従来、この状態から通常の読み出しモードに復帰するためには、上記コマンドの終了を待つ方法、コマンド中断もしくは終了コマンドを発行する方法、フラッシュＲＯＭに対してリセットを行う方法等が用いられている。
【００１９】
このため、例えばＣＰＵ等がこのフラッシュＲＯＭ７００のメモリ部９からデータを読み込んでプログラムを実行している場合等に、図１０に示すように、予期せぬ書き込み動作等によって誤ってステップＳ７またはステップＳ１１の書き込みモードに進んでしまうと、ＣＰＵからのデータ読み出しに対して、フラッシュＲＯＭ７００から入力アドレスに対応するデータではなく、書き込み中であるというステータスが読み出されるため、プログラムの実行ができなくなってプログラムの暴走、停止等を引き起こすことになる。
【００２０】
そこで、従来のフラッシュＲＯＭでは、図７に示すように、ＲＰ端子を設けて、外部回路にてＲＰ端子をアクティブにする等という操作を行うことにより、誤ってステップＳ７およびステップＳ１１の書き込みモードに進んだ場合にステップＳ１のコマンド待ち受け状態に復帰することができるようになっている。
【００２１】
【発明が解決しようとする課題】
しかしながら、従来のフラッシュＲＯＭでは、ＲＰ端子を制御するために外部回路が必要になる。また、ＲＰ端子をＣＰＵ等によって制御することもできるが、この場合には、リセット後にフラッシュＲＯＭが誤って書き込みモードに進むと、最初に読み出されるアドレスを含むアドレス領域（ブートエリア）に格納されているブートプログラムを正確に読み出すことができないため、プログラムが暴走して復帰できなくなるという問題がある。
【００２２】
本発明は、このような従来技術の課題を解決するためになされたものであり、予期せぬ書き込み動作などによって誤った書き込みモードに進んだ場合に、外部回路等による制御を行うことなく、正常な状態に復帰させることができる不揮発性半導体記憶装置を提供することを目的とする。
【００２３】
【課題を解決するための手段】
本発明の不揮発性半導体記憶装置は、電気的にデータの書き換えおよび消去が可能なメモリ部と、該メモリ部内の所定の各アドレス領域について、それぞれ、当該アドレス領域内のデータ書き込みおよび消去を禁止するための書き込み・消去禁止状態設定手段と、入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれるか否かを判定し、入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれる場合に、書き込みコマンドをキャンセルする書き込みモードキャンセル手段と、１回のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方が特定の値である場合、または２回以上のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方の組み合わせが特定の値の組み合せである場合に、書き込み可能状態であるアドレスに対しては読み出しモードから書き込みモードに遷移すると共に、書き込み・消去禁止状態に設定されているアドレスに対しては該書き込みモードキャンセル手段による書き込みモードキャンセルに従って読み出しモードを維持するコマンド制御手段とを備えており、そのことにより上記目的が達成される。
【００２４】
本発明の不揮発性半導体記憶装置は、電気的にデータの書き換えおよび消去が可能なメモリ部と、該メモリ部内の所定の各アドレス領域について、それぞれ、当該アドレス領域内のデータ書き込みおよび消去を禁止するための書き込み・消去禁止状態設定手段と、入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれるか否かを判定し、入力アドレスが書き込み・消去禁止状態に設定されているアドレス領域に含まれる場合に、書き込みコマンドをキャンセルする書き込みモードキャンセル手段と、１回のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方が特定の値である場合、または２回以上のバスサイクルで外部から入力されるデータおよびアドレスの少なくとも一方の組み合わせが特定の値の組み合せである場合に、読み出しモードから書き込みモードに遷移して、書き込みモードにおいて、書き込み可能状態であるアドレスに対するデータ読み出しに対しては処理状態を示すステータスを出力すると共に、書き込み・消去禁止状態に設定されているアドレスに対するデータ読み出しに対しては該書き込みモードキャンセル手段による書き込みモードキャンセルに従って読み出しモードに遷移して該メモリ部から該当するアドレスのデータを出力させるコマンド制御手段とを備えており、そのことにより上記目的が達成される。
【００２５】
前記コマンド制御手段は、さらに、前記メモリ部へのデータ書き込み後に書き込み終了コマンドが入力されたときに書き込みモードから読み出しモードに復帰するものであってもよい。
【００２６】
以下に、本発明の作用について説明する。
【００２７】
本発明にあっては、書き込みモードキャンセル手段によって、データが書き込まれるアドレスが書き込み・消去禁止状態（ライトプロテクト状態）であるアドレス領域に含まれるか否かを、入力アドレスおよび書き込み許可ビット等から判定し、書き込み・消去禁止状態のアドレス領域に対する書き込みである場合には、書き込みコマンドをキャンセルする。そして、書き込みコマンドキャンセル信号から書き込みコマンドをキャンセルしたことをコマンド制御手段に通知することによって、コマンド制御手段は、読み出しモードを維持して書き込みモードに遷移しないようにすることができる。
【００２８】
例えば、フラッシュＲＯＭ等の不揮発性半導体記憶装置において、ブートエリアなどの所定のアドレス領域を、書き込み・消去禁止状態設定手段によって書き込み・消去禁止状態に設定しておくことによって、リセット時等に生じる予期せぬ書き込み動作等によってブートエリアなどに対する書き込みが要求されても、自動的にプログラムを読み出し可能な状態に復帰させることができる。従って、リセット時の誤書き込み防止のためにＷＰ、ＲＰ端子等の端子をＣＰＵ等によって操作する必要がなく、また、ＷＰ、ＲＰ端子等の端子を制御する外部回路が不要となるため、回路の簡略化を図ることができる。
【００２９】
また、本発明にあっては、書き込みコマンド入力後、読み出しモードから書き込みモードに遷移して書き込みデータの入力を待ち受けている状態のときに、書き込み・消去禁止状態のアドレス領域に対するデータ読み出しに対して、書き込みモードキャンセル手段によって書き込みコマンドをキャンセルして、コマンド制御手段によって自動的に読み出しモードに遷移してメモリ部から該当するアドレスのデータを出力させることができる。
【００３０】
例えば、フラッシュＲＯＭ等の不揮発性半導体記憶装置において、書き込み可能状態のアドレス領域に予期せぬ書き込み動作等が行われた場合には、読み出しモードから書き込みモードに遷移する。このとき、ＣＰＵのリセット直後に読み出されるプログラムエリアなどの所定のアドレス領域を、書き込み・消去禁止状態設定手段によって書き込み・消去禁止状態に設定しておくことによって、書き込み・消去禁止状態のアドレス領域に対するデータ読み出しが行われ、書き込みモードから読み出しモードに遷移して、ＣＰＵ等に必要とされるデータを出力することが可能となる。従って、リセット時の誤書き込み防止のためにＷＰ、ＲＰ端子等の端子をＣＰＵ等によって操作する必要がなく、また、ＷＰ、ＲＰ端子等の端子を制御する外部回路が不要となるため、回路の簡略化を図ることができる。
【００３１】
また、本発明にあっては、メモリ部へのデータ書き込み後に書き込み終了コマンドが入力されたときに読み出しモードに復帰する不揮発性半導体記憶装置において、データ書き込み後、書き込み終了コマンドの入力を待ち受けている状態のときに、書き込み・消去禁止状態のアドレス領域に対するデータ読み出しに対して、書き込みモードキャンセル手段によって書き込みコマンドをキャンセルまたは終了して、コマンド制御手段によって自動的に読み出しモードに遷移してメモリ部から該当するアドレスのデータを出力させることができる。
【００３２】
【発明の実施の形態】
以下に、本発明の実施の形態について、図面に基づいて説明する。
【００３３】
（実施形態１）
図１は、本発明の不揮発性半導体記憶装置の一実施形態であるフラッシュＲＯＭ１００の構成を示すブロック図である。なお、この図１において、従来のフラッシュＲＯＭ７００と同じ機能を有する部分については、同じ符号を付している。
【００３４】
このフラッシュＲＯＭ１００は、複数のメモリブロック９ａを有するメモリ部９を備えている。各メモリブロック９ａは、それぞれ複数のメモリセルアレイによって構成されており、それぞれ所定のアドレス領域に対応している。また、各メモリブロック９ａには、そのメモリブロック９ａへのデータ書き込み・消去を禁止する書き込み許可ビット１０が設けられている。この書き込み許可ビット１０は、「０」が書き込み許可、「１」が書き込み非許可を表している。
【００３５】
メモリ部９は、ＦＬＡＳＨコマンド制御回路８から供給されるコマンドによって電気的に制御され、各メモリセルからのデータの読み出し、各メモリセルへのデータの書き込み、各メモリブロック９ａへのデータの書き込み、各メモリブロック９ａのデータ消去、メモリ部９全体のデータ消去、メモリブロック９ａ保護の設定・解除（本実施形態では書き込み許可ビット１０の設定・解除）等の処理が行われるようになっている。
【００３６】
データ読み出し、データ書き込み等の各処理は、外部のＣＰＵ等からアドレスバスおよびアドレスバッファ３を介してメモリ部９に供給されるアドレスに対応する各メモリセル（または各メモリブロック）に対して行われ、外部のＣＰＵ等からの入力データはデータバス、データ入出力制御回路１および入力データバッファ４を介してメモリ部９に供給され、メモリ部９からの出力データは出力データバッファ５およびデータ入出力制御回路１を介して外部のＣＰＵ等に出力されるようになっている。
【００３７】
ＦＬＡＳＨコマンド制御回路８は、外部のＣＰＵ等から入力されるＣＳ、ＷＥ、ＯＥ等の制御信号に基づいてデータ読み出し、ライト終了などのコマンドを判定し、メモリ部９に供給するようになっている。外部から入力される制御信号は、コマンドバッファ２、データ入出力制御回路１、入力データバッファ４およびデータ比較回路７を介してＦＬＡＳＨコマンド制御回路８に供給されるようになっている。
【００３８】
また、ＦＬＡＳＨコマンド制御回路８には、アドレス比較回路６およびデータ比較回路７が接続されている。アドレス比較回路６には、アドレスバッファ３を介して入力アドレスが供給され、データ比較回路７には、データ入出力制御回路１および入力データバッファ４を介して入力データが供給されるようになっている。そして、１回のバスサイクルでデータバスおよびアドレスバスを介して入力されるデータおよびアドレスの少なくとも一方が特定の値である場合、または２回以上のバスサイクルでデータバスおよびアドレスバスを介して入力されるデータおよびアドレスの少なくとも一方の組み合わせが特定の値の組み合せである場合に、ＦＬＡＳＨコマンド制御回路８によって、各メモリセルへのデータの書き込み、各メモリブロック９ａへのデータの書き込み、各メモリブロック９ａのデータ消去、メモリ部９全体のデータ消去、メモリブロック９ａ保護の設定・解除等のコマンドとして判定されるようになっている。
【００３９】
さらに、本実施形態のフラッシュＲＯＭ１００においては、コマンドバッファ２、アドレス比較回路６およびメモリ部９に設けられた書き込み許可ビット１０に接続された書き込みモードキャンセル回路１１が設けられている。
【００４０】
書き込みモードキャンセル回路１１は、ＣＰＵから書き込みコマンドが入力されてコマンドバッファ２から供給されるＷＥがアクティブ（Ｌｏレベル）状態であるときに、アドレスバッファ３から供給されるアドレスが、書き込み許可ビット１０が「１」となってライトプロテクトされているアドレス領域に含まれるか否かを判定するようになっている。そして、ライトプロテクトされているアドレス領域にアドレスが含まれている場合には、書き込みコマンドをキャンセルし、書き込みコマンドをキャンセルしたことを知らせる書き込みコマンドキャンセル信号をＦＬＡＳＨコマンド制御回路８に供給するようになっている。ＦＬＡＳＨコマンド制御回路８は、書き込みコマンドキャンセル信号が入力されると、書き込みモードに遷移せずに読み出しモードを維持し、または、書き込みモードにすでに遷移している場合には読み出しモードに復帰するようになっている。
【００４１】
次に、このように構成された本実施形態のフラッシュＲＯＭ１００におけるデータ読み出し・書き込み動作について説明する。
【００４２】
図２は、本発明のフラッシュＲＯＭ１００のデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートであり、図３は、その動作タイミングを示す信号波形図である。
【００４３】
なお、ここでは、リセット後、最初にフラッシュＲＯＭ１００からプログラムが読み出されるようにリードモードに設定されているものとする。また、このフラッシュＲＯＭ１００は、最初に読み出されるアドレスを含むアドレス領域に対して書き込み・消去禁止（ライトプロテクト）状態に設定されているものとする。
【００４４】
まず、ステップＳ１ではコマンド待ち受け状態であり、ＣＰＵからデータ読み出しコマンドが入力され、図３に示すように、ステップＳ２でＣＳがアクティブ（Ｌｏｗレベル）であるときにＯＥがアクティブ（Ｌｏｗレベル）になると、ステップＳ３において、入力アドレスＡＤＲに基づいてメモリ部９に格納されているプログラム等の情報がデータＤＡＴとして読み出される。そして、ＣＳが非アクティブ（Ｈｉｇｈレベル）になると、再びステップＳ１に戻ってコマンド待ち受け状態となる。また、ステップＳ２においてＯＥが非アクティブ（Ｈｉｇｈレベル）である場合にはステップＳ４に進み、ステップＳ４でＷＥが非アクティブ（Ｈｉｇｈレベル）である場合には、再びステップＳ１に戻ってコマンド待ち受け状態となる。上記ステップＳ１〜ステップＳ４の処理手順は、図９に示す従来のフラッシュＲＯＭ７００における処理手順と同様である。
【００４５】
ここで、図３に示すように、何らかの原因によって書き込み・消去禁止状態に設定されているアドレス領域に対してデータ書き込みが行われ、ステップＳ４において、ＣＳがアクティブであるときにＷＥがアクティブ（Ｌｏｗレベル）になると、ステップＳ５およびステップＳ６でアドレス比較回路６およびデータ比較回路７によって入力アドレスＡＤＲおよび入力データが特定の値と比較され、ＦＬＡＳＨコマンド制御回路８によってコマンドが正しいコマンドであるか否かが判定される。そして、ステップＳ５において、１回のバスサイクルで外部から入力される特定のデータおよび特定のアドレスの少なくとも一方、または２回以上のバスサイクルで外部から入力される特定のデータおよび特定のアドレスの組み合わせによって書き込みコマンドと判定されると、ステップＳ１５に進む。また、その他のコマンドである場合には、ステップＳ６でコマンドが判定され、その処理を行うモードに遷移する。
【００４６】
図３に点線▲１▼で囲んだステップＳ１５では、書き込みモードキャンセル回路１１によって、ライトプロテクトされているアドレス領域に対する書き込みであるか否かを判別して、ライトプロテクトされているアドレス領域である場合には、書き込みモードキャンセル回路１１によって書き込みコマンドをキャンセルする。これによって、フラッシュＲＯＭ１００をステップＳ１のコマンド待ち受け状態に復帰させて、読み出しモードから書き込みモードに遷移しないようにすることができる。また、ライトプロテクトされていないアドレス領域である場合には、ステップＳ７に進んで書き込みモードに遷移する。
【００４７】
以下のステップＳ７〜ステップＳ１４までの処理手順は、図９に示す従来のフラッシュＲＯＭ７００における処理手順と同様である。書き込まれるデータおよびアドレスの入力を待ち受けている状態で、ＣＰＵからのデータ読み出しが行われ、ステップＳ７でＣＳがアクティブであるときにＯＥがアクティブになると、ステップＳ８において、書き込み状況を示すステータス情報がデータＤＡＴとして読み出される。そして、ステップＳ９でＷＥがアクティブになるまで、ステップＳ７およびステップＳ８が繰り返され、ステップＳ９において、ＣＳがアクティブであるときにＷＥがアクティブになると、ステップＳ１０ではメモリ部９の該当するアドレス領域にデータが書き込まれる。次に、データ書き込み後、書き込み終了コマンドの入力を待ち受けている状態で、ＣＰＵからのデータ読み出しが行われ、ステップＳ１１でＣＳがアクティブであるときにＯＥがアクティブになると、ステップＳ１２において、書き込み状況を示すステータス情報がデータＤＡＴとして読み出される。そして、ステップＳ１３でライト終了コマンドがＣＰＵから入力されるまで、ステップＳ１１およびステップＳ１２が繰り返され、ステップＳ１３において、ライト終了コマンドがＣＰＵから入力されると、ステップＳ１４で書き込み処理を終了し、再びステップＳ１に戻ってコマンド待ち受け状態となる。
【００４８】
このように、本実施形態によれば、初期状態であるステップＳ１から、予期せぬ書き込み動作などが行われてステップＳ５にて書き込みコマンドとして誤って認識された場合でも、ステップＳ１５において、書き込みモードキャンセル回路１１によってライトプロテクトされているアドレス領域に対する書き込みであるか否かを判別し、ライトプロテクトされているアドレス領域であれば、ステップＳ１の初期状態に復帰させることによって、ステップＳ７の書き込みモードに遷移することを防ぐことができる。
【００４９】
従って、本実施形態のフラッシュＲＯＭ１００によれば、何らかの原因によって書き込み・消去禁止領域に対して予期せぬ書き込み動作などが行われた場合でも、その書き込み・消去禁止領域にデータ書き込みは行われず、読み出しモードを維持することができる。よって、従来のフラッシュＲＯＭ７００のように、異常な書き込みによって書き込みモードに遷移して、正しいデータが読み出されずにＣＰＵがプログラムを実行することができなくなり、プログラムの暴走などが生じることを防ぐことができる。
【００５０】
（実施形態２）
図４は、本実施形態のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートであり、図５は、その動作タイミングを示す信号波形図である。
【００５１】
なお、本実施形態のフラッシュＲＯＭの構成は、図１に示す実施形態１のフラッシュＲＯＭ１００と同様であるものとする。また、実施形態１と同様に、リセット後、最初にフラッシュＲＯＭ１００からプログラムが読み出されるようにリードモードに設定されているものとする。また、フラッシュＲＯＭは、最初に読み出されるアドレスを含むアドレス領域に対して書き込み・消去禁止（ライトプロテクト）状態に設定されているものとする。
【００５２】
まず、ステップＳ１ではコマンド待ち受け状態であり、ＣＰＵからデータ読み出しコマンドが入力され、図３に示すように、ステップＳ２でＣＳがアクティブ（Ｌｏｗレベル）であるときにＯＥがアクティブ（Ｌｏｗレベル）になると、ステップＳ３において、入力アドレスＡＤＲに基づいてメモリ部９に格納されているプログラム等の情報がデータＤＡＴとして読み出される。そして、ＣＳが非アクティブ（Ｈｉｇｈレベル）になると、再びステップＳ１に戻ってコマンド待ち受け状態となる。また、ステップＳ２においてＯＥが非アクティブ（Ｈｉｇｈレベル）である場合にはステップＳ４に進み、ステップＳ４でＷＥが非アクティブ（Ｈｉｇｈレベル）である場合には、再びステップＳ１に戻ってコマンド待ち受け状態となる。上記ステップＳ１〜ステップＳ４の処理手順は、図２に示す実施形態１のフラッシュＲＯＭ１００における処理手順と同様である。
【００５３】
ここで、図５に示すように、何らかの原因によって書き込み・消去禁止状態に設定されていないアドレス領域に対してデータ書き込みが行われ、ステップＳ４において、ＣＳがアクティブであるときにＷＥがアクティブ（Ｌｏｗレベル）になると、ステップＳ５およびステップＳ６でアドレス比較回路６、データ比較回路７およびＦＬＡＳＨコマンド制御回路によって入力アドレスＡＤＲおよび入力データが特定の値と比較され、ＦＬＡＳＨコマンド制御回路８によってコマンドが正しいコマンドであるか否かが判定される。そして、ステップＳ５において、１回のバスサイクルで外部から入力される特定のデータおよび特定のアドレスの少なくとも一方、または２回以上のバスサイクルで外部から入力される特定のデータおよび特定のアドレスの組み合わせによって書き込みコマンドと判定されると、ステップＳ７に進んで書き込みモードに遷移する。また、その他のコマンドである場合には、ステップＳ６でコマンドが判定され、その処理を行うモードに遷移する。
【００５４】
書き込みモードでは、書き込みデータおよびアドレスの入力を待ち受けている状態で、ＣＰＵからのデータ読み出しが行われ、ステップＳ７でＣＳがアクティブであるときにＯＥがアクティブになると、図４に点線▲１▼で囲んだステップＳ１６、ステップＳ８およびステップＳ１７の処理に進む。
【００５５】
ステップＳ１６では、書き込みモードキャンセル回路１１によって、ライトプロテクトされているアドレス領域に対する読み出しであるか否かを判別する。そして、ライトプロテクトされているアドレス領域である場合には、ステップＳ１７において書き込みモードキャンセル回路１１によって書き込みコマンドがキャンセルされる。そして、ステップＳ３に進み、該当するアドレスに基づいてメモリ部９に格納されているプログラム等の情報がデータＤＡＴとして読み出される。そして、ＣＳが非アクティブ（Ｈｉｇｈレベル）になると、再びステップＳ１に戻ってコマンド待ち受け状態となる。
【００５６】
一方、ライトプロテクトされていないアドレス領域である場合には、ステップＳ８において、書き込み状況を示すステータス情報がデータＤＡＴとして読み出される。そして、ステップＳ９でＷＥがアクティブになるまで、ステップＳ７、ステップＳ１６およびステップＳ８が繰り返され、ステップＳ９において、ＣＳがアクティブであるときにＷＥがアクティブになると、ステップＳ１０ではメモリ部９の該当するアドレス領域にデータが書き込まれる。
【００５７】
次に、ライトプロテクトされていないアドレス領域へのデータ書き込み後、書き込み終了コマンドの入力を待ち受けている状態で、ＣＰＵからのデータ読み出しが行われ、ステップＳ１１でＣＳがアクティブであるときにＯＥがアクティブになると、図４に点線▲２▼で囲んだステップＳ１８、ステップＳ１２およびステップＳ１９の処理に進む。
【００５８】
ステップＳ１８では、書き込みモードキャンセル回路１１によって、ライトプロテクトされているアドレス領域に対する読み出しであるか否かを判別する。そして、ライトプロテクトされているアドレス領域である場合には、ステップＳ１９において書き込みモードキャンセル回路１１によって書き込みコマンドが終了される。これによって、メモリ部９に供給されている書き込みデータが破棄され、ステップＳ３において、該当するアドレスに基づいてメモリ部９に格納されているプログラム等の情報がデータＤＡＴとして読み出される。そして、ＣＳが非アクティブ（Ｈｉｇｈレベル）になると、再びステップＳ１に戻ってコマンド待ち受け状態となる。
【００５９】
一方、ライトプロテクトされていないアドレス領域である場合には、ステップＳ１２において、書き込み状況を示すステータス情報がデータＤＡＴとして読み出される。そして、ステップＳ１３でライト終了コマンドがＣＰＵから入力されるまで、ステップＳ１１、ステップＳ１８およびステップＳ１２が繰り返され、ステップＳ１３において、ライト終了コマンドがＣＰＵから入力されると、ステップＳ１４で書き込み処理を終了し、再びステップＳ１に戻ってコマンド待ち受け状態となる。
【００６０】
このように、本実施形態によれば、初期状態であるステップＳ１から、予期せぬ書き込み動作などが行われてステップＳ７およびステップＳ１１に進んだ場合でも、ステップＳ１６およびステップＳ１８において書き込みモードキャンセル回路１１によってライトプロテクトされているアドレス領域に対する読み出しであるか否かを判別し、ライトプロテクトされているアドレス領域であれば、ステップＳ１７およびステップＳ１９において書き込みコマンドをキャンセルまたは終了し、ステップＳ３に進んで該当するアドレスに対応するデータを出力してステップＳ１の初期状態に復帰させることができる。
【００６１】
従って、本実施形態のフラッシュＲＯＭ１００によれば、何らかの原因によって予期せぬ書き込み動作などが行われ、書き込みモードに遷移した場合でも、書き込み・消去禁止領域に対して書き込み動作が行われている場合には、そのアドレス領域に対して読み出しを行うことによって、書き込みコマンドをキャンセルまたは終了し、読み出しモードに復帰することができる。よって、従来のフラッシュＲＯＭ７００のように、異常な書き込みによって書き込みモードに遷移して、正しいデータが読み出されずにＣＰＵがプログラムを実行することができなくなり、プログラムの暴走などが生じることを防ぐことができる。
【００６２】
（実施形態３）
図６は、本実施形態のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートである。ここでは、図２に示す実施形態１のフラッシュＲＯＭによるデータ読み出し・書き込み動作の処理手順と、図４に示す実施形態２のフラッシュＲＯＭによるデータ読み出し・書き込み動作の処理手順とが組み合せた例について説明する。
【００６３】
初期状態であるステップＳ１から、予期せぬ書き込み動作などが行われてステップＳ５にて書き込みコマンドとして誤って認識された場合には、図６に点線▲１▼で囲んだステップＳ１５において、書き込みモードキャンセル回路１１によってライトプロテクトされているアドレス領域に対する書き込みであるか否かを判別し、ライトプロテクトされているアドレス領域であれば、ステップＳ１の初期状態に復帰させることによって、ステップＳ７の書き込みモードに遷移することを防ぐことができる。
【００６４】
また、初期状態であるステップＳ１から、予期せぬ書き込み動作などが行われてステップＳ７およびステップＳ１１に進んだ場合には、ステップＳ１６およびステップＳ１８において書き込みモードキャンセル回路１１によってライトプロテクトされているアドレス領域に対する読み出しであるか否かを判別し、ライトプロテクトされているアドレス領域であれば、ステップＳ１７およびステップＳ１９において書き込みコマンドをキャンセルまたは終了し、ステップＳ３に進んで該当するアドレスに対応するデータを出力してステップＳ１の初期状態に復帰させることができる。
【００６５】
従って、本実施形態のフラッシュＲＯＭ１００によれば、何らかの原因によって書き込み・消去禁止領域に対して予期せぬ書き込み動作などが行われた場合でも、その書き込み・消去禁止領域にデータ書き込みは行われず、読み出しモードを維持することができる。また、本実施形態のフラッシュＲＯＭ１００によれば、何らかの原因によって予期せぬ書き込み動作などが行われ、書き込みモードに遷移した場合でも、書き込み・消去禁止領域に対して書き込み動作が行われている場合には、そのアドレス領域に対して読み出しを行うことによって、書き込みコマンドをキャンセルまたは終了し、読み出しモードに復帰することができる。よって、従来のフラッシュＲＯＭ７００のように、異常な書き込みによって書き込みモードに遷移して、正しいデータが読み出されずにＣＰＵがプログラムを実行することができなくなり、プログラムの暴走などが生じることを防ぐことができる。
【００６６】
なお、メモリブロックの内部にアドレス領域毎に設定される書き込み許可ビットを有すると共にＷＰ（ライトプロテクト）端子を有し、外部からＷＰ（ライトプロテクト）端子に入力されるＷＰ信号がアクティブ状態であるときに書き込み許可ビットの設定によって書き込み・消去禁止状態が決定されるフラッシュＲＯＭに対しても、本発明は適用可能であり、上記と同様の効果を得ることができる。また、ＲＰ（リセットパワーダウン）端子を有し、外部から入力されるＲＰ信号がアクティブ状態のときに、フラッシュＲＯＭの状態に関わらず強制的にリセットされ、ＲＰが解除されたときに必ず読み出しモードに設定されるフラッシュＲＯＭに対しても、本発明は適用可能であり、上記と同様の効果を得ることができる。さらに、ＷＰ端子、ＲＰ端子の両方を有するフラッシュＲＯＭに対しても、本発明は適用可能であり、上記と同様の効果を得ることができる。このようなＷＰ端子、ＲＰ端子を設けて外部から制御することによって、異常な書き込み動作などによってプログラムの暴走が生じないように、二重に保護することができる。
【００６７】
【発明の効果】
以上説明したように、本発明によれば、フラッシュＲＯＭ等の不揮発性半導体記憶装置において、ブートエリアなどの所定のアドレス領域を、書き込み・消去禁止状態設定手段によって書き込み・消去禁止状態に設定しておくことによって、リセット時等に生じる予期せぬ書き込み動作等によってブートエリアなどに対する書き込みが要求されても、自動的にプログラムを読み出し可能な状態に復帰させることができる。従って、リセット時の誤書き込み防止のためにＷＰ、ＲＰ端子等の端子をＣＰＵ等によって操作する必要がなく、また、ＷＰ、ＲＰ端子等の端子を制御する外部回路が不要となる。よって、回路の簡略化を図ることができ、不揮発性半導体記憶装置の製造コストの低廉価化および消費電力の削減を図ることができる。
【００６８】
また、本発明によれば、フラッシュＲＯＭ等の不揮発性半導体記憶装置において、書き込み可能状態のアドレス領域に予期せぬ書き込み動作等が行われた場合に、読み出しモードから書き込みモードに遷移しても、ＣＰＵのリセット直後に読み出されるプログラムエリアなどの所定のアドレス領域を書き込み・消去禁止状態設定手段によって書き込み・消去禁止状態に設定しておくことによって、書き込み・消去禁止状態のアドレス領域に対するデータ読み出しが行われ、書き込みモードから読み出しモードに遷移して、ＣＰＵ等に必要とされるデータを出力することが可能となる。よって、回路の簡略化を図ることができ、不揮発性半導体記憶装置の製造コストの低廉価化および消費電力の削減を図ることができる。
【図面の簡単な説明】
【図１】本発明の不揮発性半導体記憶装置の一実施形態であるフラッシュＲＯＭの構成を示すブロック図である。
【図２】実施形態１のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートである。
【図３】実施形態１のフラッシュＲＯＭの動作タイミングを示す信号波形図である。
【図４】実施形態２のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートである。
【図５】実施形態２のフラッシュＲＯＭの動作タイミングを示す信号波形図である。
【図６】実施形態３のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートである。
【図７】従来のフラッシュＲＯＭの構成を示すブロック図である。
【図８】従来のフラッシュＲＯＭのデータ読み出し・書き込み動作の処理手順を説明するためのフローチャートである。
【図９】従来のフラッシュＲＯＭの動作タイミングを示す信号波形図である。
【図１０】従来のフラッシュＲＯＭの問題を説明するための信号波形図である。
【符号の説明】
１　　データ入出力制御回路
２　　コマンドバッファ
３　　アドレスバッファ
４　　入力データバッファ
５　　出力データバッファ
６　　アドレス比較回路
７　　データ比較回路
８　　ＦＬＡＳＨコマンド制御回路
９　　メモリ部
９ａ　　アドレス領域で区切られたメモリブロック
１０　　書き込み許可ビット
１１　　書き込みモードキャンセル回路
１００、７００　　フラッシュＲＯＭ
【図１】
2004062978.tif 000003
【図２】
2004062978.tif 000004
【図３】
2004062978.tif 000005
【図４】
2004062978.tif 000006
【図５】
2004062978.tif 000007
【図６】
2004062978.tif 000008
【図７】
2004062978.tif 000009
【図８】
2004062978.tif 000010
【図９】
2004062978.tif 000011
【図１０】
2004062978.tif 000012