(57)【特許請求の範囲】
【請求項１】
ＣＰＵによるデータ処理の際に用いるフラッシュメモリを内蔵したデータ処理装置において、前記ＣＰＵによるデータ処理の際に各部の動作を制御するコントローラと、前記フラッシュメモリとともに装置に内蔵されたＳＲＡＭと、前記ＳＲＡＭのアドレス情報源を撰択するセレクタと、前記ＣＰＵからは実行アドレスおよびリードかライトかを示すＲ／Ｗ信号と前記コントローラからはリード開始およびライト開始を示す各信号とに基づいて、前記フラッシュメモリへのチップセレクト信号、前記ＳＲＡＭへのチップセレクト信号およびＲ／Ｗ信号、前記セレクタによる前記アドレス情報源の撰択を制御する制御信号を発生するチップセレクト−Ｒ／Ｗ発生手段と、前記ＳＲＡＭにおける使用可能な領域のスタートアドレスを記憶しているＳＲＡＭスタートアドレス記憶手段と、前記ＳＲＡＭにおける使用可能領域の容量サイズを記憶しているＳＲＡＭサイズ記憶手段と、前記ＣＰＵからの実行アドレスをモニタして前記データ処理における分岐処理を検出し、その分岐方向に応じて正方向分岐信号および負方向分岐信号を出力する分岐検出手段と、前記分岐検出手段からの負方向分岐信号のタイミングで前記ＳＲＡＭにおける使用可能領域のアドレスを保持記憶するＳＲＡＭアドレス記憶手段と、前記分岐検出手段からの負方向分岐信号のタイミングで前記ＣＰＵからの実行アドレスを保持記憶するＥＮＤ実行アドレス記憶手段と、前記コントローラから出力されるスタート実行アドレス記憶指示信号のタイミングで前記ＣＰＵからの実行アドレスを保持記憶するＳＴＡＲＴ実行アドレス記憶手段と、前記ＳＲＡＭスタートアドレス記憶手段と前記ＳＲＡＭアドレス記憶手段と前記コントローラからの各信号に基づいて、前記ＳＲＡＭにおける使用可能領域のアドレスを発生するＳＲＡＭアドレス発生手段とを備え、前記チップセレクト−Ｒ／Ｗ発生手段を、前記分岐検出手段からの正方向分岐信号および負方向分岐信号のタイミングで前記コントローラから出力されたリード開始およびライト開始信号に基づいて、前記ＳＲＡＭスタートアドレス記憶手段により指定された番地からＳＲＡＭサイズ記憶手段により指定された範囲に対応するＳＲＡＭの記憶領域に、前記フラッシュメモリに格納されたプログラムの分岐によるループ処理部分を保持するように、前記フラッシュメモリへのチップセレクト信号、前記ＳＲＡＭへのチップセレクト信号およびＲ／Ｗ信号、前記セレクタによる前記アドレス情報源の撰択を制御する制御信号を出力するよう構成したデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイコン等の半導体デバイスでありデータ処理の際に用いるフラッシュメモリを内蔵したデータ処理装置に関するものである。
【０００２】
【従来の技術】
従来から、ＯＡ機器や産業機器などに内蔵あるいは外付けして使用されるコンピュータシステムにおける情報処理の分野では、例えばそれらの機器とコンピュータとの間で読み書きされるデータに対して、利用目的に応じたデータ処理が行われており、そのデータ処理のためのデータ処理装置が広く使用されている。
【０００３】
このようなデータ処理装置は、近年ではマイコン（マイクロコンピュータ）やマイクロコントローラ等の半導体デバイスの形態で使用され、通常、データ処理の際のデータ格納用等に用いられるフラッシュメモリが内蔵されている。
【０００４】
以上のような従来のデータ処理装置において、そのデバイス内に内蔵されたフラッシュメモリについて、以下に説明する。
図２はデータ処理装置に内蔵されたフラッシュメモリとしてＮＯＲ型フラッシュメモリセルの構造を示す模式図である。このフラッシュメモリセルにおいて、書き込み時には、図２（ａ）に示すように、メモリセルのゲート（図ではＧと表記）に高電位ＨＶ１を印加し、ドレイン（図ではＤと表記）に高電位ＨＶ０（ＨＶ０≠ＨＶ１の関係がある）を印加するとともに、ソース（図ではＳと表記）を接地して、電子がドレインからソースに移動する際に、その一部がフローティングゲート（図ではＦＧと表記）に移ることによって、書き込みが行われる。
【０００５】
また、消去時には、図２（ｃ）に示すように、メモリセルのゲートは接地しソースに高電位ＨＶ２（但し、書き込み時の高電位ＨＶ１よりは充分低いレベルであり、ＨＶ１≫ＨＶ２の関係がある）を印加するとともに、ドレインはオープン状態にして、フローティングゲートから電子を抜くことによって、消去が行われる。
【０００６】
一方、通常リード時には、図２（ｂ）に示すように、メモリセルのゲートに高電位ＨＶ２（但し、書き込み時の高電位ＨＶ１よりは充分低いレベルであり、ＨＶ１≫ＨＶ２の関係がある）を印加するとともに、ソースを接地した状態で、ドレインの電位がＨｉｇｈ（Ｈ）レベルかＬｏｗ（Ｌ）レベルかを認識することによって、その状態に応じたデータが読み出される。
【０００７】
【発明が解決しようとする課題】
しかしながら上記のような従来のＮＯＲ型フラッシュメモリ構成を有するデータ処理装置では、そのフラッシュメモリ構成において、通常リード時にドレインがプリチャージなどで高電位であった場合、ゲートの高電位が書き込み時よりは充分レベルは低いとはいえ高電位なため、書き込みと同じ状態となって電子がフローティングゲートに少しづつ入り、記憶情報が変化していく現象、いわゆる、一般的にゲートディスターブと呼ばれている現象が発生し、データ処理における信頼性が低下するという問題点を有していた。
【０００８】
本発明は、上記従来の問題点を解決するもので、ゲートディスターブ現象の発生を抑えることができ、内蔵フラッシュメモリを用いたデータ処理における信頼性を向上することができるデータ処理装置を提供する。
【０００９】
【課題を解決するための手段】
上記の課題を解決するために本発明のデータ処理装置は、ＳＲＡＭスタートアドレス記憶手段により指定された番地からＳＲＡＭサイズ記憶手段により指定された範囲に対応するＳＲＡＭの記憶領域に、フラッシュメモリに格納されたプログラムのループ処理部分を保持することにより、そのループ処理の２回目からはＳＲＡＭのみからリードするため、プログラムがループした場合には、フラッシュメモリへのアクセスが行われなくなり、フラッシュメモリに対する通常リードの機会が減少してゲートディスターブ現象が起こりにくくなり、フラッシュメモリは長期間安定したデータを保持することを特徴とする。
【００１０】
以上により、ゲートディスターブ現象の発生を抑えることができ、内蔵フラッシュメモリを用いたデータ処理における信頼性を向上することができる。
【００１１】
【発明の実施の形態】
本発明の請求項１に記載のデータ処理装置は、 ＣＰＵによるデータ処理の際に用いるフラッシュメモリを内蔵したデータ処理装置において、前記ＣＰＵによるデータ処理の際に各部の動作を制御するコントローラと、前記フラッシュメモリとともに装置に内蔵されたＳＲＡＭと、前記ＳＲＡＭのアドレス情報源を撰択するセレクタと、前記ＣＰＵからは実行アドレスおよびリードかライトかを示すＲ／Ｗ信号と前記コントローラからはリード開始およびライト開始を示す各信号とに基づいて、前記フラッシュメモリへのチップセレクト信号、前記ＳＲＡＭへのチップセレクト信号およびＲ／Ｗ信号、前記セレクタによる前記アドレス情報源の撰択を制御する制御信号を発生するチップセレクト−Ｒ／Ｗ発生手段と、前記ＳＲＡＭにおける使用可能な領域のスタートアドレスを記憶しているＳＲＡＭスタートアドレス記憶手段と、前記ＳＲＡＭにおける使用可能領域の容量サイズを記憶しているＳＲＡＭサイズ記憶手段と、前記ＣＰＵからの実行アドレスをモニタして前記データ処理における分岐処理を検出し、その分岐方向に応じて正方向分岐信号および負方向分岐信号を出力する分岐検出手段と、前記分岐検出手段からの負方向分岐信号のタイミングで前記ＳＲＡＭにおける使用可能領域のアドレスを保持記憶するＳＲＡＭアドレス記憶手段と、前記分岐検出手段からの負方向分岐信号のタイミングで前記ＣＰＵからの実行アドレスを保持記憶するＥＮＤ実行アドレス記憶手段と、前記コントローラから出力されるスタート実行アドレス記憶指示信号のタイミングで前記ＣＰＵからの実行アドレスを保持記憶するＳＴＡＲＴ実行アドレス記憶手段と、前記ＳＲＡＭスタートアドレス記憶手段と前記ＳＲＡＭアドレス記憶手段と前記コントローラからの各信号に基づいて、前記ＳＲＡＭにおける使用可能領域のアドレスを発生するＳＲＡＭアドレス発生手段とを備え、前記チップセレクト−Ｒ／Ｗ発生手段を、前記分岐検出手段からの正方向分岐信号および負方向分岐信号のタイミングで前記コントローラから出力されたリード開始およびライト開始信号に基づいて、前記ＳＲＡＭスタートアドレス記憶手段により指定された番地からＳＲＡＭサイズ記憶手段により指定された範囲に対応するＳＲＡＭの記憶領域に、前記フラッシュメモリに格納されたプログラムの分岐によるループ処理部分を保持するように、前記フラッシュメモリへのチップセレクト信号、前記ＳＲＡＭへのチップセレクト信号およびＲ／Ｗ信号、前記セレクタによる前記アドレス情報源の撰択を制御する制御信号を出力するよう構成する。
【００１２】
この構成によると、ＳＲＡＭスタートアドレス記憶手段により指定された番地からＳＲＡＭサイズ記憶手段により指定された範囲に対応するＳＲＡＭの記憶領域に、フラッシュメモリに格納されたプログラムのループ処理部分を保持することにより、そのループ処理の２回目からはＳＲＡＭのみからリードするため、プログラムがループした場合には、フラッシュメモリへのアクセスが行われなくなり、フラッシュメモリに対する通常リードの機会が減少してゲートディスターブ現象が起こりにくくなり、フラッシュメモリは長期間安定したデータを保持する。
【００１３】
以下、本発明の実施の形態を示すデータ処理装置について、図面を参照しながら具体的に説明する。このデータ処理装置はフラッシュメモリ内蔵型のデータ処理装置とする。
【００１４】
図１は本実施の形態のデータ処理装置の構成を示すブロック図である。図１において、１はＣＰＵ、２はＦｌａｓｈメモリ、３はＦｌａｓｈメモリ２にＦｌａｓｈ−チップセレクト信号（Ｆｌａｓｈ−ＣＳ信号）１７を供給するとともにＳＲＡＭ４にＳＲＡＭ−Ｒ／Ｗ信号１９を供給し、さらにセレクタ（ＳＥＬ）５をセレクタ制御信号２０により制御するチップセレクト−Ｒ／Ｗ（ＣＳ−Ｒ／Ｗ）発生装置、４はＳＲＡＭ、５はＳＲＡＭ４に対してアクセスする際のアドレス情報源を切り換えて選択するセレクタ、６はＳＲＡＭ４用のアドレスを発生するアドレス情報源であるＳＲＡＭアドレス発生装置、７はＳＲＡＭ４における使用可能領域の先頭アドレスを記憶しておくＳＲＡＭスタートアドレス記憶装置、８はＳＲＡＭ４における使用可能領域のサイズ（容量）を記憶しておくＳＲＡＭサイズ記憶装置、９は分岐検出装置１２の出力信号である負方向分岐信号２７によりＳＲＡＭアドレス発生装置６のアドレスを記憶するＳＲＡＭアドレス記憶装置、１０は分岐検出装置１２の出力信号である負方向分岐信号２７によりＣＰＵ１の実行アドレスを記憶するＥＮＤ実行アドレス記憶装置、１１はコントローラ１３の出力信号であるスタート実行アドレス記憶指示信号２９によりＣＰＵ１の実行アドレスを記憶するＳＴＡＲＴ実行アドレス記憶装置、１２は分岐処理のアドレスを検出する分岐検出装置、１３はチップセレクト−Ｒ／Ｗ発生装置３とＳＲＡＭアドレス発生装置６とＳＴＡＲＴ実行アドレス記憶装置１１を制御するコントローラである。
【００１５】
また、１４はアドレスバス、１５はデータバス、１６はＣＰＵ１からのリードライトを示すＣＰＵ＿ＲＷ信号、１７はＦｌａｓｈメモリ２へのチップセレクト信号（Ｆｌａｓｈ＿ＣＳ信号）、１８はＳＲＡＭ４へのチップセレクト信号（ＳＲＡＭ＿ＣＳ信号）、１９はＳＲＡＭ４へのリードライトを示すＳＲＡＭ＿ＲＷ信号、２０はセレクタ５のセレクタ制御信号、２１はＳＲＡＭ用アドレス信号、２２はＳＲＡＭアドレス記憶装置９が出力するアドレス信号、２３はＥＮＤ実行アドレス記憶装置１０が出力するアドレス信号、２４はＳＴＡＲＴ実行アドレス記憶装置１１が出力するアドレス信号、２５はＳＲＡＭスタートアドレス記憶装置７が出力するアドレス信号、２６はＳＲＡＭサイズ記憶装置８が出力するサイズ信号、２７は分岐検出装置１２が出力する負方向分岐信号、２８は分岐検出装置１２が出力する正方向分岐信号、２９はコントローラ１３が出力するＳＴＡＲＴ実行アドレス記憶指示信号、３０はコントローラ１３が出力するリード開始信号、３１はコントローラ１３が出力するライト開始信号、３２はコントローラ１３が出力するオフセットアドレス信号である。
【００１６】
以上のように構成されたフラッシュメモリ内蔵型のデータ処理装置について、その動作を以下に説明する。
まず、ＣＰＵ１からＦｌａｓｈメモリ２にアクセスがあったとき、コントローラ１３は、アドレスバス１４上の実行アドレスが、ＳＴＡＲＴ実行アドレス記憶装置１１からのアドレス信号２４とＥＮＤ実行アドレス記憶装置１０からのアドレス信号２３との間に入っていなかった場合には、ライト開始信号３１を発生して、ＳＴＡＲＴ実行アドレス記憶装置１１にその時のアドレスバス１４上の実行アドレスを記憶させる。
【００１７】
以降、コントローラ１３は、分岐検出装置１２がアドレスバス１４上からそのアドレスの進行状態により分岐処理を検出して負方向分岐信号２７を発生するまで、アドレスバス１４上の実行アドレスがＳＴＡＲＴ実行アドレス信号２４からＳＲＡＭサイズ記憶装置８のサイズ値の範囲内かをモニタし、範囲内ならそのオフセット値をそのまま出力し、範囲を越えた場合でそれが分岐命令による場合（正方向分岐信号２８を発生した場合）は、ライト開始信号３１を発生し、ＳＴＡＲＴ実行アドレス記憶装置１１にその時のアドレスバス１４上の実行アドレスを記憶させ、範囲を越えた場合でそれが分岐命令によらない場合、ＳＲＡＭサイズ記憶装置８の出力値を減算した分のオフセット値を出力する。
【００１８】
コントローラ１３は、分岐検出装置１２が負方向分岐信号２７を発生すると、アドレスバス１４上の実行アドレスが、ＳＴＡＲＴ実行アドレス記憶装置１１からのアドレス信号２４とＥＮＤ実行アドレス記憶装置１０からのアドレス信号２３との間に入っているかを確認し、入っている場合には、リード開始信号３０を発生する。それ以降、再びライト開始信号３１を発生するまで、アドレスバス１４上の実行アドレスが、ＳＴＡＲＴ実行アドレス記憶装置１１の値とＥＮＤ実行アドレス記憶装置１０の値との間かをモニタして、それらの間にある場合には、ＥＮＤ実行アドレス記憶装置１０の値からのオフセット値を出力する。
【００１９】
分岐処理において負方向分岐が発生した場合には、ＳＲＡＭアドレス記憶装置９は、その時のＳＲＡＭアドレス発生装置６からのＳＲＡＭ用アドレス信号２１を記憶し、ＥＮＤ実行アドレス記憶装置１０は、その時のアドレスバス１４上の実行アドレスを記憶する。
【００２０】
ＳＲＡＭアドレス発生装置６は、ライト開始信号３１が発生すると、ＳＲＡＭスタートアドレス記憶装置７からのアドレス信号２５を入力して、ＳＲＡＭ用アドレス信号２１としてセレクタ５に出力し、以降、オフセットアドレス信号３２の値をＳＲＡＭスタートアドレス記憶装置７からのアドレス信号２５に加算して、ＳＲＡＭ用アドレス信号２１としてセレクタ５に出力し、リード開始信号３０が発生すると、ＳＲＡＭアドレス記憶装置９からのアドレス信号２２を入力して、ＳＲＡＭ用アドレス信号２１としてセレクタ５に出力し、以降、オフセットアドレス信号３２の値をＳＲＡＭアドレス記憶装置９の出力値に減算してセレクタ５に出力する。
【００２１】
チップセレクト−Ｒ／Ｗ発生装置３は、アドレスバス１４上からその実行アドレスがＳＲＡＭ４に対するアドレス領域と判定した場合、セレクタ制御信号２０によりセレクタ５にアドレスバス１４上の実行アドレスを撰択させ、ＳＲＡＭ４に対してＳＲＡＭ＿ＣＳ信号１８を発生し、ＣＰＵ＿ＲＷ信号１６をそのままＳＲＡＭ＿ＲＷ信号１９として出力する。
【００２２】
一方、アドレスバス１４上からその実行アドレスがＦｌａｓｈメモリ２に対するアドレス領域と判定した場合、セレクタ制御信号２０によりセレクタ５にＳＲＡＭ用アドレス２１を撰択させ、さらにコントローラ１３から最近ライト開始信号３１が発生していたら、Ｆｌａｓｈ＿ＣＳ信号１７とＳＲＡＭ＿ＣＳ信号１８を発生して、ＳＲＡＭ＿ＲＷ信号１９をライト状態にし、コントローラ１３から最近リード開始信号３０が発生していたら、Ｆｌａｓｈ＿ＣＳ信号１７はネゲートしてＳＲＡＭ＿ＣＳ信号１８のみ発生にして、ＳＲＡＭ＿ＲＷ信号１９をリード状態にする。
【００２３】
以上のように本実施の形態によれば、ＳＲＡＭスタートアドレス記憶装置７により指定された番地からＳＲＡＭサイズ記憶装置８により指定された範囲に対応するＳＲＡＭ４の記憶領域に、フラッシュメモリ２に格納されたプログラムのループ処理部分を保持することにより、そのループ処理の２回目からはＳＲＡＭ４のみからリードするため、プログラムがループした場合には、フラッシュメモリ２へのアクセスが行われなくなり、図２（ｂ）のようなフラッシュメモリ２に対する通常リードの機会が減少してゲートディスターブ現象が起こりにくくなり、フラッシュメモリ２は長期間安定したデータを保持することができる。
【００２４】
その結果、ゲートディスターブ現象の発生を抑えることができ、内蔵フラッシュメモリを用いたデータ処理における信頼性を向上することができる。
【００２５】
【発明の効果】
以上のように本発明によれば、ＳＲＡＭスタートアドレス記憶手段により指定された番地からＳＲＡＭサイズ記憶手段により指定された範囲に対応するＳＲＡＭの記憶領域に、フラッシュメモリに格納されたプログラムのループ処理部分を保持することにより、そのループ処理の２回目からはＳＲＡＭのみからリードするため、プログラムがループした場合には、フラッシュメモリへのアクセスが行われなくなり、フラッシュメモリに対する通常リードの機会が減少してゲートディスターブ現象が起こりにくくなり、フラッシュメモリは長期間安定したデータを保持することができる。
【００２６】
そのため、ゲートディスターブ現象の発生を抑えることができ、内蔵フラッシュメモリを用いたデータ処理における信頼性を向上することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のデータ処理装置の構成を示すブロック図
【図２】従来のデータ処理装置における内蔵フラッシュメモリの構造を示す模式図
【符号の説明】
１    ＣＰＵ
２    フラッシュメモリ（Ｆｌａｓｈメモリ）
３    チップセレクト−Ｒ／Ｗ発生装置（ＣＳ−Ｒ／Ｗ発生装置）
４    ＳＲＡＭ
５    セレクタ（ＳＥＬ）
６    ＳＲＡＭアドレス発生装置
７    ＳＲＡＭスタートアドレス記憶装置
８    ＳＲＡＭサイズ記憶装置
９    ＳＲＡＭアドレス記憶装置
１０    ＥＮＤ実行アドレス記憶装置
１１    ＳＴＡＲＴ実行アドレス記憶装置
１２    分岐検出装置
１３    コントローラ
１４    アドレスバス
１５    データバス
１６    ＣＰＵ＿ＲＷ信号
１７    Ｆｌａｓｈ＿ＣＳ信号
１８    ＳＲＡＭ＿ＣＳ信号
１９    ＳＲＡＭ＿ＲＷ信号
２０    セレクタ制御信号
２１    ＳＲＡＭ用アドレス信号
２２、２３、２４、２５    アドレス信号
２６    サイズ信号
２７    負方向分岐信号
２８    正方向分岐信号
２９    ＳＴＡＲＴ実行アドレス記憶指示信号
３０    リード開始信号
３１    ライト開始信号
３２    オフセットアドレス信号
【図１】
0003778774.tif 000002
【図２】
0003778774.tif 000003