JPH096747A - フラッシュメモリ制御装置 - Google Patents
フラッシュメモリ制御装置Info
- Publication number
- JPH096747A JPH096747A JP17565895A JP17565895A JPH096747A JP H096747 A JPH096747 A JP H096747A JP 17565895 A JP17565895 A JP 17565895A JP 17565895 A JP17565895 A JP 17565895A JP H096747 A JPH096747 A JP H096747A
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- program
- cpu
- erase
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Read Only Memory (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【目的】 フラッシュメモリの消去シーケンスをCPU
の負荷を増大することなく行うことができるフラッシュ
メモリ制御装置を提供する。 【構成】 特定の消去シーケンスを有するフラッシュメ
モリがCPUのメモリ空間内に配置されたマイクロプロ
セッサシステムにおいて、CPUによりアクセスされ、
フラッシュメモリの消去時に消去開始フラグがセットさ
れる消去開始レジスタ51と、フラッシュメモリの消去
シーケンスを行うためのアドレス,データ及び制御信号
を発生するフラッシュメモリ消去シーケンス実行手段B
と、消去開始レジスタ51の消去開始フラグがセットさ
れると、CPUにバスリクエスト信号を出力してCPU
をホールド状態にするとともに、フラッシュメモリ消去
シーケンス実行手段Bの動作タイミングを制御する制御
手段Aとを備えた。
の負荷を増大することなく行うことができるフラッシュ
メモリ制御装置を提供する。 【構成】 特定の消去シーケンスを有するフラッシュメ
モリがCPUのメモリ空間内に配置されたマイクロプロ
セッサシステムにおいて、CPUによりアクセスされ、
フラッシュメモリの消去時に消去開始フラグがセットさ
れる消去開始レジスタ51と、フラッシュメモリの消去
シーケンスを行うためのアドレス,データ及び制御信号
を発生するフラッシュメモリ消去シーケンス実行手段B
と、消去開始レジスタ51の消去開始フラグがセットさ
れると、CPUにバスリクエスト信号を出力してCPU
をホールド状態にするとともに、フラッシュメモリ消去
シーケンス実行手段Bの動作タイミングを制御する制御
手段Aとを備えた。
Description
【0001】
【産業上の利用分野】本発明は、メモリ空間内にフラッ
シュメモリを有するマイクロプロセッサシステムに関わ
り、特にフラッシュメモリの制御に関するものである。
シュメモリを有するマイクロプロセッサシステムに関わ
り、特にフラッシュメモリの制御に関するものである。
【0002】
【従来の技術】フラッシュメモリ(フラッシュEEPR
OM:一括消去型EEPROM)は、紫外線消去型EP
ROMの紫外線消去を電気的に一括消去可能としたもの
で、消去やプログラムデータ書き込みには通常の5V電
源よりも高い電圧を印加する必要があり、このようなプ
ログラム電圧を発生する回路が備えられている。そし
て、通常のRAM等に対するメモリアクセスとは異な
り、消去や書込みに時間を要する特別な消去,プログラ
ムシーケンスを必要とする。
OM:一括消去型EEPROM)は、紫外線消去型EP
ROMの紫外線消去を電気的に一括消去可能としたもの
で、消去やプログラムデータ書き込みには通常の5V電
源よりも高い電圧を印加する必要があり、このようなプ
ログラム電圧を発生する回路が備えられている。そし
て、通常のRAM等に対するメモリアクセスとは異な
り、消去や書込みに時間を要する特別な消去,プログラ
ムシーケンスを必要とする。
【0003】
【発明が解決しようとする課題】このように、メモリ空
間内にフラッシュメモリを有するマイクロプロセッサシ
ステムにおいて、フラッシュメモリの消去動作は、通常
のメモリアクセスとは異なり、アドレス、データ及びリ
ード信号やライト信号等の制御信号による特定の消去シ
ーケンスを実行する必要がある。この消去シーケンス
は、CPUのシステムソフトウエアによって実行可能で
あるが、通常のRAM等のメモリアクセスに比べ、時間
がかかる。
間内にフラッシュメモリを有するマイクロプロセッサシ
ステムにおいて、フラッシュメモリの消去動作は、通常
のメモリアクセスとは異なり、アドレス、データ及びリ
ード信号やライト信号等の制御信号による特定の消去シ
ーケンスを実行する必要がある。この消去シーケンス
は、CPUのシステムソフトウエアによって実行可能で
あるが、通常のRAM等のメモリアクセスに比べ、時間
がかかる。
【0004】同様に、メモリ空間内にフラッシュメモリ
を有するマイクロプロセッサシステムにおいて、フラッ
シュメモリのプログラム動作は、通常のメモリアクセス
とは異なり、アドレス、データ及びリード信号やライト
信号等の制御信号による特定のプログラムシーケンスを
実行する必要がある。このプログラムシーケンスは、C
PUのシステムソフトウエアによって実行可能である
が、通常のRAM等のメモリアクセスに比べ、時間がか
かる。
を有するマイクロプロセッサシステムにおいて、フラッ
シュメモリのプログラム動作は、通常のメモリアクセス
とは異なり、アドレス、データ及びリード信号やライト
信号等の制御信号による特定のプログラムシーケンスを
実行する必要がある。このプログラムシーケンスは、C
PUのシステムソフトウエアによって実行可能である
が、通常のRAM等のメモリアクセスに比べ、時間がか
かる。
【0005】従って、CPUの負荷が重くなるととも
に、CPUが専有されてしまうので、システムのスルー
プットが低下するという問題点があった。
に、CPUが専有されてしまうので、システムのスルー
プットが低下するという問題点があった。
【0006】また、特開平4−267454号公報に
は、複雑なデータの自動転送が可能なダイレクトメモリ
アクセス装置(DMAコントローラ)を用いて、CPU
の負荷を軽くする技術が開示されているが、これをフラ
ッシュメモリに適用した場合、通常のDMA転送とフラ
ッシュメモリのDMA転送の両方に対応しなければなら
ないため、アドレスバス,データバス及び制御信号線等
の制御が複雑になって、回路規模が増大してしまう。
は、複雑なデータの自動転送が可能なダイレクトメモリ
アクセス装置(DMAコントローラ)を用いて、CPU
の負荷を軽くする技術が開示されているが、これをフラ
ッシュメモリに適用した場合、通常のDMA転送とフラ
ッシュメモリのDMA転送の両方に対応しなければなら
ないため、アドレスバス,データバス及び制御信号線等
の制御が複雑になって、回路規模が増大してしまう。
【0007】そこで、本発明はこのような問題点を解決
するためになされたものであり、フラッシュメモリの消
去シーケンスをCPUの負荷を増大することなく行うこ
とができるフラッシュメモリ制御装置を提供することを
目的とするものである。
するためになされたものであり、フラッシュメモリの消
去シーケンスをCPUの負荷を増大することなく行うこ
とができるフラッシュメモリ制御装置を提供することを
目的とするものである。
【0008】また、フラッシュメモリのプログラムシー
ケンスをCPUの負荷を増大することなく行うことがで
きるフラッシュメモリ制御装置を提供することを目的と
するものである。
ケンスをCPUの負荷を増大することなく行うことがで
きるフラッシュメモリ制御装置を提供することを目的と
するものである。
【0009】さらに、DMAコントローラを有するもの
において、メモリ間の転送によるフラッシュメモリのプ
ログラムシーケンスをCPUの負荷及び回路規模を増大
することなく行うことができるフラッシュメモリ制御装
置を提供することを目的とするものである。
において、メモリ間の転送によるフラッシュメモリのプ
ログラムシーケンスをCPUの負荷及び回路規模を増大
することなく行うことができるフラッシュメモリ制御装
置を提供することを目的とするものである。
【0010】
【課題を解決するための手段】請求項1に記載の発明
は、特定の消去シーケンスを有するフラッシュメモリが
CPUのメモリ空間内に配置されたマイクロプロセッサ
システムにおいて、前記CPUによりアクセスされ、前
記フラッシュメモリの消去時に消去開始フラグがセット
される消去開始レジスタと、前記フラッシュメモリの消
去シーケンスを行うためのアドレス,データ及び制御信
号を発生するフラッシュメモリ消去シーケンス実行手段
と、前記消去開始レジスタの消去開始フラグがセットさ
れると、前記CPUにバスリクエスト信号を出力してC
PUをホールド状態にするとともに、前記フラッシュメ
モリ消去シーケンス実行手段の動作タイミングを制御す
る制御手段とを備えたものである。
は、特定の消去シーケンスを有するフラッシュメモリが
CPUのメモリ空間内に配置されたマイクロプロセッサ
システムにおいて、前記CPUによりアクセスされ、前
記フラッシュメモリの消去時に消去開始フラグがセット
される消去開始レジスタと、前記フラッシュメモリの消
去シーケンスを行うためのアドレス,データ及び制御信
号を発生するフラッシュメモリ消去シーケンス実行手段
と、前記消去開始レジスタの消去開始フラグがセットさ
れると、前記CPUにバスリクエスト信号を出力してC
PUをホールド状態にするとともに、前記フラッシュメ
モリ消去シーケンス実行手段の動作タイミングを制御す
る制御手段とを備えたものである。
【0011】請求項2に記載の発明は、特定のプログラ
ムシーケンスを有するフラッシュメモリがCPUのメモ
リ空間内に配置されたマイクロプロセッサシステムにお
いて、前記CPUによりアクセスされ、前記フラッシュ
メモリのプログラム時にプログラム開始フラグがセット
されるプログラム開始レジスタと、前記CPUによりア
クセスされ、プログラムデータとそのプログラム先アド
レスがそれぞれセットされるレジスタを有して、前記フ
ラッシュメモリのプログラムシーケンスを行うためのア
ドレス,データ及び制御信号を発生するフラッシュメモ
リプログラムシーケンス実行手段と、前記プログラム開
始レジスタのプログラム開始フラグがセットされると、
前記CPUにバスリクエスト信号を出力してCPUをホ
ールド状態にするとともに、前記フラッシュメモリプロ
グラムシーケンス実行手段の動作タイミングを制御する
制御手段とを備えたものである。
ムシーケンスを有するフラッシュメモリがCPUのメモ
リ空間内に配置されたマイクロプロセッサシステムにお
いて、前記CPUによりアクセスされ、前記フラッシュ
メモリのプログラム時にプログラム開始フラグがセット
されるプログラム開始レジスタと、前記CPUによりア
クセスされ、プログラムデータとそのプログラム先アド
レスがそれぞれセットされるレジスタを有して、前記フ
ラッシュメモリのプログラムシーケンスを行うためのア
ドレス,データ及び制御信号を発生するフラッシュメモ
リプログラムシーケンス実行手段と、前記プログラム開
始レジスタのプログラム開始フラグがセットされると、
前記CPUにバスリクエスト信号を出力してCPUをホ
ールド状態にするとともに、前記フラッシュメモリプロ
グラムシーケンス実行手段の動作タイミングを制御する
制御手段とを備えたものである。
【0012】請求項3に記載の発明は、特定の消去及び
プログラムシーケンスを有するフラッシュメモリがCP
Uのメモリ空間内に配置されとともに、DMAコントロ
ーラを備えたマイクロプロセッサシステムにおいて、前
記CPUによりアクセスされ、前記フラッシュメモリの
プログラム時にプログラム開始フラグがセットされるプ
ログラム開始レジスタと、前記CPUによりアクセスさ
れ、プログラムデータが格納されたソースアドレス及び
そのプログラムデータを格納するデスティネーションア
ドレスがセットされ、1バイトのプログラム動作毎にそ
れぞれインクリメントされるレジスタを有して、前記フ
ラッシュメモリのプログラムシーケンスを行うためのア
ドレス,データ及び制御信号を発生するフラッシュメモ
リプログラムシーケンス実行手段と、前記CPUにより
アクセスされ、プログラムバイト数が設定されて、1バ
イトのプログラム動作毎にデクリメントされるプログラ
ムバイト数レジスタと、前記プログラム開始レジスタの
プログラム開始フラグがセットされると、前記DMAコ
ントローラにDMAリクエスト信号を出力するととも
に、前記フラッシュメモリプログラムシーケンス実行手
段の動作タイミングを制御して、DMA転送によりソー
スアドレスにあるプログラムデータをデスティネーショ
ンアドレスの示すフラッシュメモリにプログラムする制
御手段とを備えたものである。
プログラムシーケンスを有するフラッシュメモリがCP
Uのメモリ空間内に配置されとともに、DMAコントロ
ーラを備えたマイクロプロセッサシステムにおいて、前
記CPUによりアクセスされ、前記フラッシュメモリの
プログラム時にプログラム開始フラグがセットされるプ
ログラム開始レジスタと、前記CPUによりアクセスさ
れ、プログラムデータが格納されたソースアドレス及び
そのプログラムデータを格納するデスティネーションア
ドレスがセットされ、1バイトのプログラム動作毎にそ
れぞれインクリメントされるレジスタを有して、前記フ
ラッシュメモリのプログラムシーケンスを行うためのア
ドレス,データ及び制御信号を発生するフラッシュメモ
リプログラムシーケンス実行手段と、前記CPUにより
アクセスされ、プログラムバイト数が設定されて、1バ
イトのプログラム動作毎にデクリメントされるプログラ
ムバイト数レジスタと、前記プログラム開始レジスタの
プログラム開始フラグがセットされると、前記DMAコ
ントローラにDMAリクエスト信号を出力するととも
に、前記フラッシュメモリプログラムシーケンス実行手
段の動作タイミングを制御して、DMA転送によりソー
スアドレスにあるプログラムデータをデスティネーショ
ンアドレスの示すフラッシュメモリにプログラムする制
御手段とを備えたものである。
【0013】
【作用】請求項1記載の構成によれば、CPUのソフト
ウエアによらずハードウエアによりフラッシュメモリの
消去シーケンスを行うことにより高速にフラッシュメモ
リを消去する。
ウエアによらずハードウエアによりフラッシュメモリの
消去シーケンスを行うことにより高速にフラッシュメモ
リを消去する。
【0014】請求項2記載の構成によれば、CPUのソ
フトウエアによらずハードウエアによりフラッシュメモ
リのプログラムシーケンスを行うことで高速にフラッシ
ュメモリにプログラムデータを書き込む。
フトウエアによらずハードウエアによりフラッシュメモ
リのプログラムシーケンスを行うことで高速にフラッシ
ュメモリにプログラムデータを書き込む。
【0015】請求項3記載の構成によれば、CPUのソ
フトウエアによらずハードウエアによりフラッシュメモ
リの消去及びプログラムシーケンスを行うことで高速に
フラッシュメモリにプログラムデータを書き込む。従っ
て、前記請求項1,2の作用に加えて、消去,プログラ
ムシーケンスを他のDMA転送と独立させることで、ア
ドレスバスやデータバス及び制御信号線の制御が容易に
なる。
フトウエアによらずハードウエアによりフラッシュメモ
リの消去及びプログラムシーケンスを行うことで高速に
フラッシュメモリにプログラムデータを書き込む。従っ
て、前記請求項1,2の作用に加えて、消去,プログラ
ムシーケンスを他のDMA転送と独立させることで、ア
ドレスバスやデータバス及び制御信号線の制御が容易に
なる。
【0016】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。
明する。
【0017】図1は、本発明の一実施例に係るマイクロ
プロセッサシステムの要部を示すブロック図である。
プロセッサシステムの要部を示すブロック図である。
【0018】図1において、1はCPU(中央処理装
置)、2はROM(読み出し専用メモリ)、3はフラッ
シュメモリ、4はRAM(読み書き可能メモリ)、5は
フラッシュメモリコントローラである。
置)、2はROM(読み出し専用メモリ)、3はフラッ
シュメモリ、4はRAM(読み書き可能メモリ)、5は
フラッシュメモリコントローラである。
【0019】CPU1は、ROM2やフラッシュメモリ
3に記憶されているシステムプログラムに従い、装置全
体を制御する中央処理装置である。また、フラッシュメ
モリコントローラ5からバスリクエスト信号がアサート
されると、アドレスバス、データバス、リード信号RD
Bやライト信号WRB等の各制御信号線をハイインピー
ダンスする(ホールドという)。
3に記憶されているシステムプログラムに従い、装置全
体を制御する中央処理装置である。また、フラッシュメ
モリコントローラ5からバスリクエスト信号がアサート
されると、アドレスバス、データバス、リード信号RD
Bやライト信号WRB等の各制御信号線をハイインピー
ダンスする(ホールドという)。
【0020】ROM2には、装置全体を制御するシステ
ムプログラムのうち変更されることのないプログラムが
予め記憶されている。
ムプログラムのうち変更されることのないプログラムが
予め記憶されている。
【0021】フラッシュメモリ3は、内部が複数のメモ
リブロックに分けられていて、各メモリブロックを個別
に消去できるブロックアレイアーキテクチャを持ち、消
去またはプログラム動作が正常に終了したが否かを判断
するため読み出されるステータスレジスタ3aを備えて
いる。また、消去時やプログラム時に必要となる高電圧
のプログラム電圧を発生する回路が備えられている。こ
のフラッシュメモリ3には、システムプログラムのうち
変更や書き換えの行われる可能性のあるプログラムが記
憶される。
リブロックに分けられていて、各メモリブロックを個別
に消去できるブロックアレイアーキテクチャを持ち、消
去またはプログラム動作が正常に終了したが否かを判断
するため読み出されるステータスレジスタ3aを備えて
いる。また、消去時やプログラム時に必要となる高電圧
のプログラム電圧を発生する回路が備えられている。こ
のフラッシュメモリ3には、システムプログラムのうち
変更や書き換えの行われる可能性のあるプログラムが記
憶される。
【0022】RAM4は、DRAMやSRAMからな
り、システムプログラムが使用する作業領域(ワークエ
リア)となる。
り、システムプログラムが使用する作業領域(ワークエ
リア)となる。
【0023】フラッシュメモリコントローラ5は、従来
CPU1が実行するソフトウエアにより行われていたフ
ラッシュメモリ3の消去,プログラムシーケンスをハー
ドウエアにより行うものである。
CPU1が実行するソフトウエアにより行われていたフ
ラッシュメモリ3の消去,プログラムシーケンスをハー
ドウエアにより行うものである。
【0024】図2は、上記フラッシュメモリコントロー
ラ5の一実施例を示すブロック図である。図において、
51は消去/プログラム開始レジスタ、52はタイミン
グ発生部、53はステータスレジスタデコーダ、54は
プログラムデータレジスタ、55はデータ発生部、56
は消去/プログラムアドレスレジスタ、57はストロー
ブ発生部、55a〜57aはスリーステートバッファで
ある。
ラ5の一実施例を示すブロック図である。図において、
51は消去/プログラム開始レジスタ、52はタイミン
グ発生部、53はステータスレジスタデコーダ、54は
プログラムデータレジスタ、55はデータ発生部、56
は消去/プログラムアドレスレジスタ、57はストロー
ブ発生部、55a〜57aはスリーステートバッファで
ある。
【0025】消去/プログラム開始レジスタ51は、こ
の第1の実施例では消去開始レジスタとなり、後述する
第2の実施例ではプログラム開始レジスタとなる。当該
レジスタ51はCPU1によりアクセスでき、本レジス
タ51の開始ビット(フラグ)がアサートされると各動
作を開始する。
の第1の実施例では消去開始レジスタとなり、後述する
第2の実施例ではプログラム開始レジスタとなる。当該
レジスタ51はCPU1によりアクセスでき、本レジス
タ51の開始ビット(フラグ)がアサートされると各動
作を開始する。
【0026】タイミング発生部52は、上記レジスタ5
1の開始ビットに基づきデータ、アドレス、ストローブ
信号(リード信号,ライト信号)等の発生タイミングを
生成している。また、CPU1のアドレスバス、データ
バス、制御信号線をハイインピーダンスにするバスリク
エスト信号を発生する。
1の開始ビットに基づきデータ、アドレス、ストローブ
信号(リード信号,ライト信号)等の発生タイミングを
生成している。また、CPU1のアドレスバス、データ
バス、制御信号線をハイインピーダンスにするバスリク
エスト信号を発生する。
【0027】ステータスレジスタデコーダ53は、消
去,プログラムシーケンスで、ステータスレジスタ3a
の内容をデコードし、次の処理をタイミング発生部52
に渡す。
去,プログラムシーケンスで、ステータスレジスタ3a
の内容をデコードし、次の処理をタイミング発生部52
に渡す。
【0028】プログラムデータレジスタ54は、CPU
1によりアクセスされ、後述する第2の実施例のプログ
ラムデータを一時的に記憶する。
1によりアクセスされ、後述する第2の実施例のプログ
ラムデータを一時的に記憶する。
【0029】データ発生部55は、フラッシュメモリ3
とインターフェイスをとるためのコマンドデータと、第
2の実施例のプログラムデータを発生する。
とインターフェイスをとるためのコマンドデータと、第
2の実施例のプログラムデータを発生する。
【0030】消去/プログラムアドレスレジスタ56
は、CPU1によりアクセスされ、第1の実施例では消
去ブロックのアドレスを記憶し、第2の実施例ではプロ
グラム先アドレスを記憶し、またフラッシュメモリ3へ
のコマンドセット、ステータスレジスタ3aのリード、
プログラムデータのライト動作を行う際のアドレスを発
生する。
は、CPU1によりアクセスされ、第1の実施例では消
去ブロックのアドレスを記憶し、第2の実施例ではプロ
グラム先アドレスを記憶し、またフラッシュメモリ3へ
のコマンドセット、ステータスレジスタ3aのリード、
プログラムデータのライト動作を行う際のアドレスを発
生する。
【0031】ストローブ発生部57は、フラッシュメモ
リ3に対するリード信号RDB,ライト信号WRBを発
生する。
リ3に対するリード信号RDB,ライト信号WRBを発
生する。
【0032】スリーステートバッファ55a,56a,
57aは、それぞれデータ発生部55,アドレスレジス
タ56,ストローブ発生部57の出力とデータバス,ア
ドレスバス,制御信号線との電気的な接続を制御するも
ので、タイミング発生部52からの制御信号により制御
される。
57aは、それぞれデータ発生部55,アドレスレジス
タ56,ストローブ発生部57の出力とデータバス,ア
ドレスバス,制御信号線との電気的な接続を制御するも
ので、タイミング発生部52からの制御信号により制御
される。
【0033】ここで、上記タイミング発生部52とステ
ータスレジスタデコーダ53により、本願の請求項1,
請求項2の制御手段Aが実現されている。また、データ
発生部55,消去アドレスレジスタ56,ストローブ発
生部57及び各スリーステートバッファ55a,56
a,57aにより請求項1のフラッシュメモリ消去シー
ケンス実行手段Bが実現されている。さらに、プログラ
ムデータレジスタ54,データ発生部55,プログラム
アドレスレジスタ56,ストローブ発生部57及び各ス
リーステートバッファ55a,56a,57aにより請
求項2のフラッシュメモリプログラムシーケンス実行手
段Cが実現されている。
ータスレジスタデコーダ53により、本願の請求項1,
請求項2の制御手段Aが実現されている。また、データ
発生部55,消去アドレスレジスタ56,ストローブ発
生部57及び各スリーステートバッファ55a,56
a,57aにより請求項1のフラッシュメモリ消去シー
ケンス実行手段Bが実現されている。さらに、プログラ
ムデータレジスタ54,データ発生部55,プログラム
アドレスレジスタ56,ストローブ発生部57及び各ス
リーステートバッファ55a,56a,57aにより請
求項2のフラッシュメモリプログラムシーケンス実行手
段Cが実現されている。
【0034】次に、このように構成されたフラッシュメ
モリコントローラ5の動作について図3のフローチャー
トに従い説明する。
モリコントローラ5の動作について図3のフローチャー
トに従い説明する。
【0035】フラッシュメモリ3のあるメモリブロック
を一括消去する場合、まず、CPU1のソフトウエアに
よりフラッシュメモリ3の消去ブロックアドレスを消去
アドレスレジスタ56にセットし、消去開始レジスタ5
1の消去開始ビットをイネーブル(オン)にすると、フ
ラッシュメモリコントローラ5は図3に従い処理を開始
する(判断101)。
を一括消去する場合、まず、CPU1のソフトウエアに
よりフラッシュメモリ3の消去ブロックアドレスを消去
アドレスレジスタ56にセットし、消去開始レジスタ5
1の消去開始ビットをイネーブル(オン)にすると、フ
ラッシュメモリコントローラ5は図3に従い処理を開始
する(判断101)。
【0036】消去開始ビットがイネーブルになると、タ
イミング発生部52がバスリクエスト信号を発生し、C
PU1のアドレスバス、データバス及び制御信号線をハ
イインピーダンス(ホールド状態)にする(処理10
2)。
イミング発生部52がバスリクエスト信号を発生し、C
PU1のアドレスバス、データバス及び制御信号線をハ
イインピーダンス(ホールド状態)にする(処理10
2)。
【0037】また、タイミング発生部52からはデータ
発生部55,消去アドレスレジスタ56,ストローブ発
生部57にタイミング制御信号が出力されるとともに、
この制御信号によりスリーステートバッファ55a〜5
7aが導通状態になる。これにより、上記にてセットさ
れた消去アドレスレジスタ56の内容をアドレスバスに
出力し、データ発生部55が消去セットアップコマンド
をデータバスに出力し、ストローブ発生部57がライト
信号WRBを発生し、消去セットアップコマンドをフラ
ッシュメモリ3に書き込む(処理103)。
発生部55,消去アドレスレジスタ56,ストローブ発
生部57にタイミング制御信号が出力されるとともに、
この制御信号によりスリーステートバッファ55a〜5
7aが導通状態になる。これにより、上記にてセットさ
れた消去アドレスレジスタ56の内容をアドレスバスに
出力し、データ発生部55が消去セットアップコマンド
をデータバスに出力し、ストローブ発生部57がライト
信号WRBを発生し、消去セットアップコマンドをフラ
ッシュメモリ3に書き込む(処理103)。
【0038】同様に、データ発生部55が消去コマンド
をデータバスに出力し、ストローブ発生部57がライト
信号WRBを発生し、消去コマンドをフラッシュメモリ
3に書き込む(処理104)。
をデータバスに出力し、ストローブ発生部57がライト
信号WRBを発生し、消去コマンドをフラッシュメモリ
3に書き込む(処理104)。
【0039】そして、タイミング発生部52がバスリク
エスト信号を解除し、各バスと制御信号線をCPU1に
開放する(処理105)。これにより、CPU1は各バ
スと制御信号線を使った他の処理を行うことができる。
エスト信号を解除し、各バスと制御信号線をCPU1に
開放する(処理105)。これにより、CPU1は各バ
スと制御信号線を使った他の処理を行うことができる。
【0040】この後、タイミング発生部52により、所
定の消去動作時間がカウントされ、フラッシュメモリ3
に必要な消去動作時間が経過すると、上記処理102と
同様に、タイミング発生部52がバスリクエスト信号を
発生し、CPU1の各バスと制御信号線をハイインピー
ダンスにする(判断106→処理107)。
定の消去動作時間がカウントされ、フラッシュメモリ3
に必要な消去動作時間が経過すると、上記処理102と
同様に、タイミング発生部52がバスリクエスト信号を
発生し、CPU1の各バスと制御信号線をハイインピー
ダンスにする(判断106→処理107)。
【0041】そして、アドレスレジスタ56に設定され
たアドレスをアドレスバスに出力し、ストローブ発生部
57がリード信号RDBを発生し、フラッシュメモリ3
からステータスレジスタ3aの内容を読み出す(処理1
08)。
たアドレスをアドレスバスに出力し、ストローブ発生部
57がリード信号RDBを発生し、フラッシュメモリ3
からステータスレジスタ3aの内容を読み出す(処理1
08)。
【0042】この後、上記処理105と同様にタイミン
グ発生部52はバスリクエスト信号を解除し、各バスと
制御信号線をCPU1に開放する(処理109)。
グ発生部52はバスリクエスト信号を解除し、各バスと
制御信号線をCPU1に開放する(処理109)。
【0043】ここで、ステータスレジスタデコーダ53
によりステータスレジスタ3aの内容のチェックが行わ
れ、消去が完了ならば、上記処理102と同様に、タイ
ミング発生部52はバスリクエスト信号を発生し、CP
U1の各バスと制御信号線をハイインピーダンスにする
(判断110→処理111)。
によりステータスレジスタ3aの内容のチェックが行わ
れ、消去が完了ならば、上記処理102と同様に、タイ
ミング発生部52はバスリクエスト信号を発生し、CP
U1の各バスと制御信号線をハイインピーダンスにする
(判断110→処理111)。
【0044】次にデータ発生部55はリードアレイコマ
ンドをデータバスに出力し、ストローブ発生部57がラ
イト信号WRBを発生し、リードアレイコマンドをフラ
ッシュメモリ3に書き込み、リードモードにする(処理
112)。
ンドをデータバスに出力し、ストローブ発生部57がラ
イト信号WRBを発生し、リードアレイコマンドをフラ
ッシュメモリ3に書き込み、リードモードにする(処理
112)。
【0045】最後に、上記処理105と同様にタイミン
グ発生部52はバスリクエスト信号を解除し、各バスと
制御信号線をCPU1に開放する(処理113)。
グ発生部52はバスリクエスト信号を解除し、各バスと
制御信号線をCPU1に開放する(処理113)。
【0046】なお、上記判断110で消去が完了してい
なければ、上記処理107〜判断110を繰り返す。
なければ、上記処理107〜判断110を繰り返す。
【0047】以上のように、CPU1のソフトウエアに
よらずフラッシュメモリコントローラ5によりフラッシ
ュメモリ3の消去シーケンスを行うことにより、フラッ
シュメモリ3を高速に消去することができる。また、フ
ラッシュメモリコントローラ5によって上記消去シーケ
ンスを行っている間、CPU1は他の処理を並行して行
うことができ、当該マイクロプロセッサシステムのスル
ープットが大幅に向上する。
よらずフラッシュメモリコントローラ5によりフラッシ
ュメモリ3の消去シーケンスを行うことにより、フラッ
シュメモリ3を高速に消去することができる。また、フ
ラッシュメモリコントローラ5によって上記消去シーケ
ンスを行っている間、CPU1は他の処理を並行して行
うことができ、当該マイクロプロセッサシステムのスル
ープットが大幅に向上する。
【0048】次に、フラッシュメモリコントローラ5の
第2の実施例の動作について図4のフローチャートに従
い説明する。
第2の実施例の動作について図4のフローチャートに従
い説明する。
【0049】フラッシュメモリ3の任意のアドレスにプ
ログラムデータの書き込みを行う場合、まず、CPU1
のソフトウエアによりフラッシュメモリ3のプログラム
先アドレスをプログラムアドレスレジスタ56にセット
し、プログラムデータをプログラムデータレジスタ54
にセットし、プログラム開始レジスタ51のプログラム
開始ビットをイネーブルにすると、フラッシュメモリコ
ントローラ5は図4に従い処理を開始する(判断20
1)。
ログラムデータの書き込みを行う場合、まず、CPU1
のソフトウエアによりフラッシュメモリ3のプログラム
先アドレスをプログラムアドレスレジスタ56にセット
し、プログラムデータをプログラムデータレジスタ54
にセットし、プログラム開始レジスタ51のプログラム
開始ビットをイネーブルにすると、フラッシュメモリコ
ントローラ5は図4に従い処理を開始する(判断20
1)。
【0050】プログラム開始ビットがイネーブルになる
と、タイミング発生部52がバスリクエスト信号を発生
し、CPU1の各バスと制御信号線をハイインピーダン
スにする(処理202)。
と、タイミング発生部52がバスリクエスト信号を発生
し、CPU1の各バスと制御信号線をハイインピーダン
スにする(処理202)。
【0051】また、タイミング発生部52からはデータ
発生部55,プログラムアドレスレジスタ56,ストロ
ーブ発生部57にタイミング制御信号が出力されるとと
もに、この制御信号によりスリーステートバッファ55
a〜57aが導通状態になる。これにより、上記にてセ
ットされたプログラムアドレスレジスタ56の内容をア
ドレスバスに出力し、データ発生部55がプログラムセ
ットアップコマンドをデータバスに出力し、ストローブ
発生部57がライト信号WRBを発生し、プログラムセ
ットアップコマンドをフラッシュメモリ3に書き込む
(処理203)。
発生部55,プログラムアドレスレジスタ56,ストロ
ーブ発生部57にタイミング制御信号が出力されるとと
もに、この制御信号によりスリーステートバッファ55
a〜57aが導通状態になる。これにより、上記にてセ
ットされたプログラムアドレスレジスタ56の内容をア
ドレスバスに出力し、データ発生部55がプログラムセ
ットアップコマンドをデータバスに出力し、ストローブ
発生部57がライト信号WRBを発生し、プログラムセ
ットアップコマンドをフラッシュメモリ3に書き込む
(処理203)。
【0052】次にデータ発生部55が上記にてセットさ
れたプログラムデータレジスタ54の内容をデータバス
に出力し、ストローブ発生部57がライト信号WRBを
発生し、プログラムデータをフラッシュメモリ3に書き
込む(処理204)。
れたプログラムデータレジスタ54の内容をデータバス
に出力し、ストローブ発生部57がライト信号WRBを
発生し、プログラムデータをフラッシュメモリ3に書き
込む(処理204)。
【0053】そして、タイミング発生部52がバスリク
エスト信号を解除し、各バスと制御信号線をCPU1に
開放する(処理205)。これにより、前記実施例同
様、CPU1は各バスと制御信号線を使った他の処理を
行うことができる。
エスト信号を解除し、各バスと制御信号線をCPU1に
開放する(処理205)。これにより、前記実施例同
様、CPU1は各バスと制御信号線を使った他の処理を
行うことができる。
【0054】この後、タイミング発生部52により、所
定のプログラム動作時間がカウントされ、フラッシュメ
モリ3に必要なプログラム動作時間が経過すると、上記
処理202と同様にタイミング発生部52がバスリクエ
スト信号を発生し、CPU1の各バスと制御信号線をハ
イインピーダンスにする(判断206→処理207)。
定のプログラム動作時間がカウントされ、フラッシュメ
モリ3に必要なプログラム動作時間が経過すると、上記
処理202と同様にタイミング発生部52がバスリクエ
スト信号を発生し、CPU1の各バスと制御信号線をハ
イインピーダンスにする(判断206→処理207)。
【0055】そして、アドレスレジスタ56に設定され
たアドレスをアドレスバスに出力し、ストローブ発生部
57がリード信号RDBを発生し、フラッシュメモリ3
からステータスレジスタ3aの内容を読み出す(処理2
08)。
たアドレスをアドレスバスに出力し、ストローブ発生部
57がリード信号RDBを発生し、フラッシュメモリ3
からステータスレジスタ3aの内容を読み出す(処理2
08)。
【0056】この後、上記処理205と同様にタイミン
グ発生部52はバスリクエスト信号を解除し、各バスと
制御信号線をCPU1に開放する(処理209)。
グ発生部52はバスリクエスト信号を解除し、各バスと
制御信号線をCPU1に開放する(処理209)。
【0057】ここで、ステータスレジスタデコーダ53
によりステータスレジスタ3aの内容のチェックが行わ
れ、プログラムが完了ならば、上記処理202と同様に
タイミング発生部52はバスリクエスト信号を発生し、
CPU1の各バスと制御信号線をハイインピーダンスに
する(判断210→処理211)。
によりステータスレジスタ3aの内容のチェックが行わ
れ、プログラムが完了ならば、上記処理202と同様に
タイミング発生部52はバスリクエスト信号を発生し、
CPU1の各バスと制御信号線をハイインピーダンスに
する(判断210→処理211)。
【0058】次にデータ発生部55はリードアレイコマ
ンドをデータバスに出力し、ストローブ発生部57がラ
イト信号WRBを発生し、リードアレイコマンドをフラ
ッシュメモリ3に書き込み、リードモードにする(処理
212)。
ンドをデータバスに出力し、ストローブ発生部57がラ
イト信号WRBを発生し、リードアレイコマンドをフラ
ッシュメモリ3に書き込み、リードモードにする(処理
212)。
【0059】最後に、上記処理205と同様に、タイミ
ング発生部52はバスリクエスト信号を解除し、各バス
と制御信号線をCPU1に開放する(処理213)。
ング発生部52はバスリクエスト信号を解除し、各バス
と制御信号線をCPU1に開放する(処理213)。
【0060】なお、上記判断210でプログラムが完了
していなければ、上記処理207〜判断210を繰り返
す。
していなければ、上記処理207〜判断210を繰り返
す。
【0061】以上のように、CPU1のソフトウエアに
よらずフラッシュメモリコントローラ5によりフラッシ
ュメモリ3のプログラムシーケンスを行うことで、フラ
ッシュメモリ3にプログラムデータを高速に書き込むこ
とができる。また、フラッシュメモリコントローラ5に
よって上記プログラムシーケンスを行っている間、CP
U1は他の処理を並行して行うことができ、アドレスバ
ス,データバスを含めたシステムのスループットが大幅
に向上する。
よらずフラッシュメモリコントローラ5によりフラッシ
ュメモリ3のプログラムシーケンスを行うことで、フラ
ッシュメモリ3にプログラムデータを高速に書き込むこ
とができる。また、フラッシュメモリコントローラ5に
よって上記プログラムシーケンスを行っている間、CP
U1は他の処理を並行して行うことができ、アドレスバ
ス,データバスを含めたシステムのスループットが大幅
に向上する。
【0062】図5は、本発明の第3の実施例に係るマイ
クロプロセッサシステムの要部を示すブロック図であ
り、前記図1と同一符号は同一または相当部分を示して
いる。図において、1はCPU、2はROM、3はフラ
ッシュメモリ、4はRAM、5はフラッシュメモリコン
トローラ、6はDMAC(ダイレクトメモリアクセスコ
ントローラ)である。
クロプロセッサシステムの要部を示すブロック図であ
り、前記図1と同一符号は同一または相当部分を示して
いる。図において、1はCPU、2はROM、3はフラ
ッシュメモリ、4はRAM、5はフラッシュメモリコン
トローラ、6はDMAC(ダイレクトメモリアクセスコ
ントローラ)である。
【0063】フラッシュメモリコントローラ5は、従来
CPU1により行われていたフラッシュメモリ5の消
去,プログラムシーケンスをハードウエアにより行うも
のであり、本実施例では、このフラッシュメモリコント
ローラ5はDMAC6にカスケード接続され、フラッシ
ュメモリ5に関わるDMA転送を行う。
CPU1により行われていたフラッシュメモリ5の消
去,プログラムシーケンスをハードウエアにより行うも
のであり、本実施例では、このフラッシュメモリコント
ローラ5はDMAC6にカスケード接続され、フラッシ
ュメモリ5に関わるDMA転送を行う。
【0064】DMAC6は、周知のようにCPU1を介
さずにデータ転送を行うものであり、上記フラッシュメ
モリコントローラ5が行う以外のDMA転送を行う。
さずにデータ転送を行うものであり、上記フラッシュメ
モリコントローラ5が行う以外のDMA転送を行う。
【0065】図6は、上記フラッシュメモリコントロー
ラ5の一実施例を示すブロック図である。図において、
51はプログラム開始レジスタ、52はタイミング発生
部、53はステータスレジスタデコーダ、54はプログ
ラムデータレジスタ、55はデータ発生部、56aはソ
ースアドレスレジスタ、56bはデスティネーションア
ドレスレジスタ、57はストローブ発生部、58はアド
レス発生部、55a,57a,58aはスリーステート
バッファである。
ラ5の一実施例を示すブロック図である。図において、
51はプログラム開始レジスタ、52はタイミング発生
部、53はステータスレジスタデコーダ、54はプログ
ラムデータレジスタ、55はデータ発生部、56aはソ
ースアドレスレジスタ、56bはデスティネーションア
ドレスレジスタ、57はストローブ発生部、58はアド
レス発生部、55a,57a,58aはスリーステート
バッファである。
【0066】プログラム開始レジスタ51は、CPU1
によりアクセスでき、本レジスタ51の開始ビットがア
サートされると動作を開始する。
によりアクセスでき、本レジスタ51の開始ビットがア
サートされると動作を開始する。
【0067】タイミング発生部52は、上記レジスタ5
1の開始ビットに基づきデータ、アドレス、ストローブ
信号の発生タイミングを生成している。また、DMAC
6に対しDMAリクエスト信号DREQを発生する。
1の開始ビットに基づきデータ、アドレス、ストローブ
信号の発生タイミングを生成している。また、DMAC
6に対しDMAリクエスト信号DREQを発生する。
【0068】ステータスレジスタデコーダ53は、消
去,プログラムシーケンスで、ステータスレジスタ3a
の内容をデコードし、次の処理をタイミング発生部52
に渡す。
去,プログラムシーケンスで、ステータスレジスタ3a
の内容をデコードし、次の処理をタイミング発生部52
に渡す。
【0069】プログラムデータレジスタ54は、DMA
転送時にアクセスされ、メモリ→メモリ間のDMA転送
を行うために転送データを一時保持するデータレジスタ
である。
転送時にアクセスされ、メモリ→メモリ間のDMA転送
を行うために転送データを一時保持するデータレジスタ
である。
【0070】データ発生部55は、フラッシュメモリ3
とインターフェイスをとるためのコマンドデータと、上
記プログラムデータを発生する。
とインターフェイスをとるためのコマンドデータと、上
記プログラムデータを発生する。
【0071】ソースアドレスレジスタ56aは、CPU
1によりアクセスされ、DMA転送の際のソースアドレ
ス(転送元アドレス)を記憶する。本レジスタ56aは
1回のメモリ→メモリ間のDMA転送が終わる毎にイン
クリメントされる。
1によりアクセスされ、DMA転送の際のソースアドレ
ス(転送元アドレス)を記憶する。本レジスタ56aは
1回のメモリ→メモリ間のDMA転送が終わる毎にイン
クリメントされる。
【0072】デスティネーションアドレスレジスタ56
bは、CPU1によりアクセスされ、DMA転送の際の
デスティネーションアドレス(転送先アドレス)を記憶
する。本レジスタ56bも1回のメモリ→メモリ間のD
MA転送が終わる毎にインクリメントされる。
bは、CPU1によりアクセスされ、DMA転送の際の
デスティネーションアドレス(転送先アドレス)を記憶
する。本レジスタ56bも1回のメモリ→メモリ間のD
MA転送が終わる毎にインクリメントされる。
【0073】アドレス発生部58は、フラッシュメモリ
3へのコマンドセット、ステータスレジスタ3aのリー
ド、メモリ→メモリ間のDMA転送動作を行う際の上記
アドレスを発生する。
3へのコマンドセット、ステータスレジスタ3aのリー
ド、メモリ→メモリ間のDMA転送動作を行う際の上記
アドレスを発生する。
【0074】ストローブ発生部57は、フラッシュメモ
リ3に対するリード信号RDB,ライト信号WRBを発
生する。
リ3に対するリード信号RDB,ライト信号WRBを発
生する。
【0075】スリーステートバッファ55a,57a,
58aは、それぞれデータ発生部55,ストローブ発生
部57,アドレス発生部58の出力とデータバス,アド
レスバス,制御信号線との電気的な接続を制御するもの
で、タイミング発生部52からの制御信号により制御さ
れる。
58aは、それぞれデータ発生部55,ストローブ発生
部57,アドレス発生部58の出力とデータバス,アド
レスバス,制御信号線との電気的な接続を制御するもの
で、タイミング発生部52からの制御信号により制御さ
れる。
【0076】プログラムバイト数レジスタ59は、CP
U1によりアクセスされ、DMA転送するプログラムデ
ータのバイト数を記憶する。本レジスタ59は1回のメ
モリ→メモリ間のDMA転送が終わる毎にデクリメント
される。
U1によりアクセスされ、DMA転送するプログラムデ
ータのバイト数を記憶する。本レジスタ59は1回のメ
モリ→メモリ間のDMA転送が終わる毎にデクリメント
される。
【0077】ここで、上記タイミング発生部52とステ
ータスレジスタデコーダ53により、本願の請求項3の
制御手段Dが実現されている。また、プログラムデータ
レジスタ54,データ発生部55,ソースアドレスレジ
スタ56a,デスティネーションアドレスレジスタ56
b,ストローブ発生部57,アドレス発生部58及び各
スリーステートバッファ55a,57a,58aにより
請求項3のフラッシュメモリプログラムシーケンス実行
手段Eが実現されている。
ータスレジスタデコーダ53により、本願の請求項3の
制御手段Dが実現されている。また、プログラムデータ
レジスタ54,データ発生部55,ソースアドレスレジ
スタ56a,デスティネーションアドレスレジスタ56
b,ストローブ発生部57,アドレス発生部58及び各
スリーステートバッファ55a,57a,58aにより
請求項3のフラッシュメモリプログラムシーケンス実行
手段Eが実現されている。
【0078】次に、このように構成されたフラッシュメ
モリコントローラ5の動作について図7〜図9に分割図
示したフローチャートに従い説明する。
モリコントローラ5の動作について図7〜図9に分割図
示したフローチャートに従い説明する。
【0079】プログラムデータをその格納アドレスから
フラッシュメモリ3のプログラム先アドレスに転送する
場合、まず、CPU1のソフトウエアによりフラッシュ
メモリ3のプログラム先アドレスをデスティネーション
アドレスレジスタ56bにセットし、プログラムデータ
の格納アドレスをソースアドレスレジスタ56aにセッ
トし、プログラムバイト数をプログラムバイト数レジス
タ59にセットし、プログラムレジスタ51のプログラ
ム開始ビットをイネーブルにすると、フラッシュメモリ
コントローラ5は図7〜図9に従い処理を開始する(図
7の判断301)。
フラッシュメモリ3のプログラム先アドレスに転送する
場合、まず、CPU1のソフトウエアによりフラッシュ
メモリ3のプログラム先アドレスをデスティネーション
アドレスレジスタ56bにセットし、プログラムデータ
の格納アドレスをソースアドレスレジスタ56aにセッ
トし、プログラムバイト数をプログラムバイト数レジス
タ59にセットし、プログラムレジスタ51のプログラ
ム開始ビットをイネーブルにすると、フラッシュメモリ
コントローラ5は図7〜図9に従い処理を開始する(図
7の判断301)。
【0080】プログラム開始ビットがイネーブルになる
と、タイミング発生部52がDMAリクエスト信号DR
EQを発生し(処理302)、DMAC6からのDMA
アクノレッジDACKがイネーブルになると、フラッシ
ュメモリコントローラ5は各バスと制御信号線を使用可
能となる(判断303Y)。アドレス発生部58は上記
にてセットされたデスティネーションアドレスレジスタ
56bの内容をアドレスバスに出力し、データ発生部5
5は消去セットアップコマンドをデータバスに出力し、
ストローブ発生部57はライト信号WRBを発生し、消
去セットアップコマンドをフラッシュメモリ3に書き込
む(処理304)。
と、タイミング発生部52がDMAリクエスト信号DR
EQを発生し(処理302)、DMAC6からのDMA
アクノレッジDACKがイネーブルになると、フラッシ
ュメモリコントローラ5は各バスと制御信号線を使用可
能となる(判断303Y)。アドレス発生部58は上記
にてセットされたデスティネーションアドレスレジスタ
56bの内容をアドレスバスに出力し、データ発生部5
5は消去セットアップコマンドをデータバスに出力し、
ストローブ発生部57はライト信号WRBを発生し、消
去セットアップコマンドをフラッシュメモリ3に書き込
む(処理304)。
【0081】同様に、データ発生部55が消去コマンド
をデータバスに出力し、ストローブ発生部57がライト
信号WRBを発生し、消去コマンドをフラッシュメモリ
3に書き込む(処理305)。
をデータバスに出力し、ストローブ発生部57がライト
信号WRBを発生し、消去コマンドをフラッシュメモリ
3に書き込む(処理305)。
【0082】そして、タイミング発生部52がDMAリ
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理306)。これにより、CP
U1は各バスと制御信号線を使った他の処理を行うこと
ができる。
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理306)。これにより、CP
U1は各バスと制御信号線を使った他の処理を行うこと
ができる。
【0083】この後、タイミング発生部52により所定
の消去動作時間がカウントされ、フラッシュメモリ3に
必要な消去動作時間が経過すると、上記処理302と同
様にDMAリクエスト信号DREQを発生し(判断30
7→処理308)、DMAC6からDMAアクノレッジ
DACKがイネーブルになると、デスティネーションア
ドレスレジスタ56bの内容をアドレスバスに出力し、
ストローブ発生部57がリード信号を発生し、フラッシ
ュメモリ3からステータスレジスタ3aの内容を読み出
す(判断309→処理310)。
の消去動作時間がカウントされ、フラッシュメモリ3に
必要な消去動作時間が経過すると、上記処理302と同
様にDMAリクエスト信号DREQを発生し(判断30
7→処理308)、DMAC6からDMAアクノレッジ
DACKがイネーブルになると、デスティネーションア
ドレスレジスタ56bの内容をアドレスバスに出力し、
ストローブ発生部57がリード信号を発生し、フラッシ
ュメモリ3からステータスレジスタ3aの内容を読み出
す(判断309→処理310)。
【0084】そして、上記処理306と同様にDMAリ
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理311)。
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理311)。
【0085】ここで、ステータスレジスタデコーダ53
により、ステータスレジスタ3aのチェックが行われ
(判断312)、消去が完了ならば次の処理に進み、消
去が終了していなければ上記処理308〜判断312を
繰り返す。
により、ステータスレジスタ3aのチェックが行われ
(判断312)、消去が完了ならば次の処理に進み、消
去が終了していなければ上記処理308〜判断312を
繰り返す。
【0086】次に、上記処理302と同様にDMAリク
エスト信号DREQを発生し(図8の処理313)、D
MAC6からのDMAアクノレッジDACKがイネーブ
ルになると、上記処理304と同様にしてリードアレイ
コマンドをフラッシュメモリ3に書込み、リードモード
にする(判断314→処理315)。
エスト信号DREQを発生し(図8の処理313)、D
MAC6からのDMAアクノレッジDACKがイネーブ
ルになると、上記処理304と同様にしてリードアレイ
コマンドをフラッシュメモリ3に書込み、リードモード
にする(判断314→処理315)。
【0087】アドレス発生部58は、上記にてセットさ
れたソースアドレスレジスタ56aの内容をアドレスバ
スに出力し、ストローブ発生部57がリード信号RDB
を発生し、ソースデータをプログラムデータレジスタ5
4にDMA転送する(処理316)。
れたソースアドレスレジスタ56aの内容をアドレスバ
スに出力し、ストローブ発生部57がリード信号RDB
を発生し、ソースデータをプログラムデータレジスタ5
4にDMA転送する(処理316)。
【0088】また、アドレス発生部58は、上記にてセ
ットされたデスティネーションアドレスレジスタ56b
の内容をアドレスバスに出力し、データ発生部55はプ
ログラムセットアップコマンドをデータバスに出力し、
ストローブ発生部57がライト信号WRBを発生し、プ
ログラムセットアップコマンドをフラッシュメモリ3に
書き込む(処理317)。
ットされたデスティネーションアドレスレジスタ56b
の内容をアドレスバスに出力し、データ発生部55はプ
ログラムセットアップコマンドをデータバスに出力し、
ストローブ発生部57がライト信号WRBを発生し、プ
ログラムセットアップコマンドをフラッシュメモリ3に
書き込む(処理317)。
【0089】この後、データ発生部55は、プログラム
データレジスタ54の内容をデータバスに出力し、スト
ローブ発生部57がライト信号WRBを発生し、プログ
ラムデータをフラッシュメモリ3に書き込む(処理31
8)。
データレジスタ54の内容をデータバスに出力し、スト
ローブ発生部57がライト信号WRBを発生し、プログ
ラムデータをフラッシュメモリ3に書き込む(処理31
8)。
【0090】そして、上記処理306と同様にDMAリ
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理319)。
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理319)。
【0091】また、タイミング発生部52により所定の
プログラム動作時間がカウントされ、フラッシュメモリ
3に必要なプログラム動作時間が経過すると、上記処理
302と同様にDMAリクエスト信号DREQを発生す
る(判断320→図9の処理321)。
プログラム動作時間がカウントされ、フラッシュメモリ
3に必要なプログラム動作時間が経過すると、上記処理
302と同様にDMAリクエスト信号DREQを発生す
る(判断320→図9の処理321)。
【0092】DMAC6からのDMAアクノレッジDA
CKがイネーブルになると、上記処理310と同様にフ
ラッシュメモリ3からステータスレジスタ3aを読み出
す(判断322→処理323)。
CKがイネーブルになると、上記処理310と同様にフ
ラッシュメモリ3からステータスレジスタ3aを読み出
す(判断322→処理323)。
【0093】その後、上記処理306と同様にDMAリ
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理324)。
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理324)。
【0094】そして、上記判断312と同様に、ステー
タスレジスタ3aの内容のチェックが行われ(判断32
5)、プログラムが完了ならば次の処理に進み、プログ
ラムが完了していなければ上記処理321〜判断325
を繰り返す。
タスレジスタ3aの内容のチェックが行われ(判断32
5)、プログラムが完了ならば次の処理に進み、プログ
ラムが完了していなければ上記処理321〜判断325
を繰り返す。
【0095】プログラム完了であれば、上記処理302
と同様にDMAリクエスト信号DREQを発生する(処
理326)。DMAC6からのDMAアクノレッジDA
CKがイネーブルになると、上記処理315と同様にリ
ードアレイコマンドをフラッシュメモリ3に書込み、リ
ードモードにする(判断327→処理328)。
と同様にDMAリクエスト信号DREQを発生する(処
理326)。DMAC6からのDMAアクノレッジDA
CKがイネーブルになると、上記処理315と同様にリ
ードアレイコマンドをフラッシュメモリ3に書込み、リ
ードモードにする(判断327→処理328)。
【0096】そして、上記処理306と同様にDMAリ
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理329)。
クエスト信号DREQを解除し、各バスと制御信号線を
CPU1に開放する(処理329)。
【0097】次に、プログラムバイト数レジスタ59を
デクリメントし、ソースアドレスレジスタ56a,デス
ティネーションアドレスレジスタ56bをインクリメン
トする(処理330)。
デクリメントし、ソースアドレスレジスタ56a,デス
ティネーションアドレスレジスタ56bをインクリメン
トする(処理330)。
【0098】プログラムバイト数レジスタ59が0にな
ったら処理を終了し、それ以外は上記処理316〜判断
331を繰り返す。
ったら処理を終了し、それ以外は上記処理316〜判断
331を繰り返す。
【0099】以上のように、CPU1のソフトウエアに
よらずフラッシュメモリコントローラ5によりフラッシ
ュメモリ3の消去及びプログラムシーケンスを行うこと
で、フラッシュメモリ3にプログラムデータを高速に書
き込むことができる。さらに、消去,プログラムシーケ
ンスを他の通常のDMA転送と独立させることで、アド
レスバスやデータバス及び制御信号線の制御が容易にな
り、回路規模を縮小することができる。
よらずフラッシュメモリコントローラ5によりフラッシ
ュメモリ3の消去及びプログラムシーケンスを行うこと
で、フラッシュメモリ3にプログラムデータを高速に書
き込むことができる。さらに、消去,プログラムシーケ
ンスを他の通常のDMA転送と独立させることで、アド
レスバスやデータバス及び制御信号線の制御が容易にな
り、回路規模を縮小することができる。
【0100】
【発明の効果】以上のように、請求項1記載の発明によ
れば、CPUによりアクセスされ、フラッシュメモリの
消去時に消去開始フラグがセットされる消去開始レジス
タと、フラッシュメモリの消去シーケンスを行うための
アドレス,データ及び制御信号を発生するフラッシュメ
モリ消去シーケンス実行手段と、前記消去開始レジスタ
の消去開始フラグがセットされると、前記CPUにバス
リクエスト信号を出力してCPUをホールド状態にする
とともに、前記フラッシュメモリ消去シーケンス実行手
段の動作タイミングを制御する制御手段とを備え、CP
Uのソフトウエアによらずハードウエアによりフラッシ
ュメモリの消去シーケンスを行うことによりフラッシュ
メモリを消去する。従って、ソフトウエアによるフラッ
シュメモリの消去シーケンスを行わないため、高速にフ
ラッシュメモリを消去することができる。また、ハード
ウエアによって上記消去シーケンスを行っている間、C
PUは他の処理を並行して行うことができ、システムの
スループットが向上する等の効果がある。
れば、CPUによりアクセスされ、フラッシュメモリの
消去時に消去開始フラグがセットされる消去開始レジス
タと、フラッシュメモリの消去シーケンスを行うための
アドレス,データ及び制御信号を発生するフラッシュメ
モリ消去シーケンス実行手段と、前記消去開始レジスタ
の消去開始フラグがセットされると、前記CPUにバス
リクエスト信号を出力してCPUをホールド状態にする
とともに、前記フラッシュメモリ消去シーケンス実行手
段の動作タイミングを制御する制御手段とを備え、CP
Uのソフトウエアによらずハードウエアによりフラッシ
ュメモリの消去シーケンスを行うことによりフラッシュ
メモリを消去する。従って、ソフトウエアによるフラッ
シュメモリの消去シーケンスを行わないため、高速にフ
ラッシュメモリを消去することができる。また、ハード
ウエアによって上記消去シーケンスを行っている間、C
PUは他の処理を並行して行うことができ、システムの
スループットが向上する等の効果がある。
【0101】また、請求項2記載の発明によれば、CP
Uによりアクセスされ、フラッシュメモリのプログラム
時にプログラム開始フラグがセットされるプログラム開
始レジスタと、前記CPUによりアクセスされ、プログ
ラムデータとそのプログラム先アドレスがそれぞれセッ
トされるレジスタを有して、前記フラッシュメモリのプ
ログラムシーケンスを行うためのアドレス,データ及び
制御信号を発生するフラッシュメモリプログラムシーケ
ンス実行手段と、前記プログラム開始レジスタのプログ
ラム開始フラグがセットされると、前記CPUにバスリ
クエスト信号を出力してCPUをホールド状態にすると
ともに、前記フラッシュメモリプログラムシーケンス実
行手段の動作タイミングを制御する制御手段とを備え、
CPUのソフトウエアによらずハードウエアによりフラ
ッシュメモリのプログラムシーケンスを行うことでフラ
ッシュメモリにプログラムデータを書き込む。従って、
ソフトウエアによるフラッシュメモリのプログラムシー
ケンスを行わないため、フラッシュメモリに対するプロ
グラムデータの書込みを高速に行うことができる。ま
た、ハードウエアによって上記プログラムシーケンスを
行っている間、CPUは他の処理を並行して行うことが
でき、アドレスバス,データバスを含めたシステムのス
ループットが向上する等の効果がある。
Uによりアクセスされ、フラッシュメモリのプログラム
時にプログラム開始フラグがセットされるプログラム開
始レジスタと、前記CPUによりアクセスされ、プログ
ラムデータとそのプログラム先アドレスがそれぞれセッ
トされるレジスタを有して、前記フラッシュメモリのプ
ログラムシーケンスを行うためのアドレス,データ及び
制御信号を発生するフラッシュメモリプログラムシーケ
ンス実行手段と、前記プログラム開始レジスタのプログ
ラム開始フラグがセットされると、前記CPUにバスリ
クエスト信号を出力してCPUをホールド状態にすると
ともに、前記フラッシュメモリプログラムシーケンス実
行手段の動作タイミングを制御する制御手段とを備え、
CPUのソフトウエアによらずハードウエアによりフラ
ッシュメモリのプログラムシーケンスを行うことでフラ
ッシュメモリにプログラムデータを書き込む。従って、
ソフトウエアによるフラッシュメモリのプログラムシー
ケンスを行わないため、フラッシュメモリに対するプロ
グラムデータの書込みを高速に行うことができる。ま
た、ハードウエアによって上記プログラムシーケンスを
行っている間、CPUは他の処理を並行して行うことが
でき、アドレスバス,データバスを含めたシステムのス
ループットが向上する等の効果がある。
【0102】さらに、請求項3記載の発明によれば、D
MAコントローラを有するシステムにおいて、CPUに
よりアクセスされ、フラッシュメモリのプログラム時に
プログラム開始フラグがセットされるプログラム開始レ
ジスタと、CPUによりアクセスされ、プログラムデー
タが格納されたソースアドレス及びそのプログラムデー
タを格納するデスティネーションアドレスがセットさ
れ、1バイトのプログラム動作毎にそれぞれインクリメ
ントされるレジスタを有して、前記フラッシュメモリの
プログラムシーケンスを行うためのアドレス,データ及
び制御信号を発生するフラッシュメモリプログラムシー
ケンス実行手段と、前記CPUによりアクセスされ、プ
ログラムバイト数が設定されて、1バイトのプログラム
動作毎にデクリメントされるプログラムバイト数レジス
タと、前記プログラム開始レジスタのプログラム開始フ
ラグがセットされると、前記DMAコントローラにDM
Aリクエスト信号を出力するとともに、前記フラッシュ
メモリプログラムシーケンス実行手段の動作タイミング
を制御して、DMA転送によりソースアドレスにあるプ
ログラムデータをデスティネーションアドレスの示すフ
ラッシュメモリにプログラムする制御手段とを備え、C
PUのソフトウエアによらずハードウエアによりフラッ
シュメモリの消去及びプログラムシーケンスを行うこと
でフラッシュメモリにプログラムデータを書き込む。従
って、前記請求項1,2と同様の効果に加えて、消去,
プログラムシーケンスを他のDMA転送と独立させるこ
とで、アドレスバスやデータバス及び制御信号線の制御
が容易になり、回路規模を縮小することができる効果が
ある。
MAコントローラを有するシステムにおいて、CPUに
よりアクセスされ、フラッシュメモリのプログラム時に
プログラム開始フラグがセットされるプログラム開始レ
ジスタと、CPUによりアクセスされ、プログラムデー
タが格納されたソースアドレス及びそのプログラムデー
タを格納するデスティネーションアドレスがセットさ
れ、1バイトのプログラム動作毎にそれぞれインクリメ
ントされるレジスタを有して、前記フラッシュメモリの
プログラムシーケンスを行うためのアドレス,データ及
び制御信号を発生するフラッシュメモリプログラムシー
ケンス実行手段と、前記CPUによりアクセスされ、プ
ログラムバイト数が設定されて、1バイトのプログラム
動作毎にデクリメントされるプログラムバイト数レジス
タと、前記プログラム開始レジスタのプログラム開始フ
ラグがセットされると、前記DMAコントローラにDM
Aリクエスト信号を出力するとともに、前記フラッシュ
メモリプログラムシーケンス実行手段の動作タイミング
を制御して、DMA転送によりソースアドレスにあるプ
ログラムデータをデスティネーションアドレスの示すフ
ラッシュメモリにプログラムする制御手段とを備え、C
PUのソフトウエアによらずハードウエアによりフラッ
シュメモリの消去及びプログラムシーケンスを行うこと
でフラッシュメモリにプログラムデータを書き込む。従
って、前記請求項1,2と同様の効果に加えて、消去,
プログラムシーケンスを他のDMA転送と独立させるこ
とで、アドレスバスやデータバス及び制御信号線の制御
が容易になり、回路規模を縮小することができる効果が
ある。
【図1】本発明の一実施例に係るマイクロプロセッサシ
ステムの要部を示すブロック図。
ステムの要部を示すブロック図。
【図2】上記図1のフラッシュメモリコントローラの第
1,第2の実施例を示すブロック図。
1,第2の実施例を示すブロック図。
【図3】上記フラッシュメモリコントローラの第1の実
施例の動作を示すフローチャート。
施例の動作を示すフローチャート。
【図4】上記フラッシュメモリコントローラの第2の実
施例の動作を示すフローチャート。
施例の動作を示すフローチャート。
【図5】本発明の第3の実施例に係るマイクロプロセッ
サシステムの要部を示すブロック図。
サシステムの要部を示すブロック図。
【図6】上記図5のフラッシュメモリコントローラの一
実施例を示すブロック図。
実施例を示すブロック図。
【図7】上記図6のフラッシュメモリコントローラの動
作の一部を示すフローチャート。
作の一部を示すフローチャート。
【図8】上記図6のフラッシュメモリコントローラの動
作の一部を示すフローチャート。
作の一部を示すフローチャート。
【図9】上記図6のフラッシュメモリコントローラの動
作の一部を示すフローチャート。
作の一部を示すフローチャート。
【符号の説明】 1 CPU 2 ROM 3 フラッシュメモリ 4 RAM 5 フラッシュメモリコントローラ 6 DMAC 51 消去/プログラム開始レジスタ 52 タイミング発生部 53 ステータスレジスタデコーダ 54 プログラムデータレジスタ 55 データ発生部 56 消去/プログラムアドレスレジスタ 56a ソースアドレスレジスタ 56b デスティネーションアドレスレジスタ 57 ストローブ発生部 58 アドレス発生部 59 プログラムバイト数レジスタ 55a〜58a スリーステートバッファ A,D 制御手段 B フラッシュメモリ消去シーケンス実行手段 C,E フラッシュメモリプログラムシーケンス実行手
段
段
Claims (3)
- 【請求項1】 特定の消去シーケンスを有するフラッシ
ュメモリがCPUのメモリ空間内に配置されたマイクロ
プロセッサシステムにおいて、 前記CPUによりアクセスされ、前記フラッシュメモリ
の消去時に消去開始フラグがセットされる消去開始レジ
スタと、 前記フラッシュメモリの消去シーケンスを行うためのア
ドレス,データ及び制御信号を発生するフラッシュメモ
リ消去シーケンス実行手段と、 前記消去開始レジスタの消去開始フラグがセットされる
と、前記CPUにバスリクエスト信号を出力してCPU
をホールド状態にするとともに、前記フラッシュメモリ
消去シーケンス実行手段の動作タイミングを制御する制
御手段とを備えたことを特徴とするフラッシュメモリ制
御装置。 - 【請求項2】 特定のプログラムシーケンスを有するフ
ラッシュメモリがCPUのメモリ空間内に配置されたマ
イクロプロセッサシステムにおいて、 前記CPUによりアクセスされ、前記フラッシュメモリ
のプログラム時にプログラム開始フラグがセットされる
プログラム開始レジスタと、 前記CPUによりアクセスされ、プログラムデータとそ
のプログラム先アドレスがそれぞれセットされるレジス
タを有して、前記フラッシュメモリのプログラムシーケ
ンスを行うためのアドレス,データ及び制御信号を発生
するフラッシュメモリプログラムシーケンス実行手段
と、 前記プログラム開始レジスタのプログラム開始フラグが
セットされると、前記CPUにバスリクエスト信号を出
力してCPUをホールド状態にするとともに、前記フラ
ッシュメモリプログラムシーケンス実行手段の動作タイ
ミングを制御する制御手段とを備えたことを特徴とする
フラッシュメモリ制御装置。 - 【請求項3】 特定の消去及びプログラムシーケンスを
有するフラッシュメモリがCPUのメモリ空間内に配置
されとともに、DMAコントローラを備えたマイクロプ
ロセッサシステムにおいて、 前記CPUによりアクセスされ、前記フラッシュメモリ
のプログラム時にプログラム開始フラグがセットされる
プログラム開始レジスタと、 前記CPUによりアクセスされ、プログラムデータが格
納されたソースアドレス及びそのプログラムデータを格
納するデスティネーションアドレスがセットされ、1バ
イトのプログラム動作毎にそれぞれインクリメントされ
るレジスタを有して、前記フラッシュメモリのプログラ
ムシーケンスを行うためのアドレス,データ及び制御信
号を発生するフラッシュメモリプログラムシーケンス実
行手段と、前記CPUによりアクセスされ、プログラム
バイト数が設定されて、1バイトのプログラム動作毎に
デクリメントされるプログラムバイト数レジスタと、 前記プログラム開始レジスタのプログラム開始フラグが
セットされると、前記DMAコントローラにDMAリク
エスト信号を出力するとともに、前記フラッシュメモリ
プログラムシーケンス実行手段の動作タイミングを制御
して、DMA転送によりソースアドレスにあるプログラ
ムデータをデスティネーションアドレスの示すフラッシ
ュメモリにプログラムする制御手段とを備えたことを特
徴とするフラッシュメモリ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17565895A JPH096747A (ja) | 1995-06-20 | 1995-06-20 | フラッシュメモリ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17565895A JPH096747A (ja) | 1995-06-20 | 1995-06-20 | フラッシュメモリ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH096747A true JPH096747A (ja) | 1997-01-10 |
Family
ID=15999957
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17565895A Pending JPH096747A (ja) | 1995-06-20 | 1995-06-20 | フラッシュメモリ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH096747A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008084288A (ja) * | 2006-09-26 | 2008-04-10 | Integrated Technology Express Inc | メモリ制御装置 |
| KR100991718B1 (ko) * | 2001-11-23 | 2010-11-03 | 샌디스크 아이엘 엘티디 | 플래시 디바이스에서 부분적으로 소거된 유닛을 검출하는방법 |
-
1995
- 1995-06-20 JP JP17565895A patent/JPH096747A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100991718B1 (ko) * | 2001-11-23 | 2010-11-03 | 샌디스크 아이엘 엘티디 | 플래시 디바이스에서 부분적으로 소거된 유닛을 검출하는방법 |
| JP2008084288A (ja) * | 2006-09-26 | 2008-04-10 | Integrated Technology Express Inc | メモリ制御装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102184260B1 (ko) | 반도체 기억장치 및 이를 위한 연속 판독 방법 | |
| JP3737528B2 (ja) | フラッシュ・メモリ・デバイス、それのページ・バッファー資源の割り当てをする方法および回路 | |
| US5835927A (en) | Special test modes for a page buffer shared resource in a memory device | |
| JP2724046B2 (ja) | Icメモリカードシステム | |
| US5519847A (en) | Method of pipelining sequential writes in a flash memory | |
| JP2002328836A (ja) | メモリ装置 | |
| JP2004095029A (ja) | 不揮発性メモリおよびその書き込み処理方法 | |
| JP2004005699A (ja) | Nandフラッシュメモリインタフェース装置 | |
| JP4034971B2 (ja) | メモリコントローラおよびメモリシステム装置 | |
| US5715423A (en) | Memory device with an internal data transfer circuit | |
| JP2000067574A (ja) | 半導体記憶装置 | |
| KR20020057355A (ko) | 비휘발성 반도체 메모리 장치 및 그것의 데이터 입/출력제어 방법 | |
| NO321931B1 (no) | Mikroprosesseringsenhet som har programm±rbare ventetilstander | |
| US6519691B2 (en) | Method of controlling a memory device by way of a system bus | |
| TW200828337A (en) | Nonvolatile memory system, and data read/write method for nonvolatile memory system | |
| US8489843B2 (en) | Configurable memory device | |
| WO2002075745A1 (en) | Storage device, storage device controlling method, and program | |
| JP3875139B2 (ja) | 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム | |
| JPH11203886A (ja) | 不揮発性メモリおよびそれを具備する半導体装置 | |
| US5748939A (en) | Memory device with a central control bus and a control access register for translating an access request into an access cycle on the central control bus | |
| JPH096747A (ja) | フラッシュメモリ制御装置 | |
| JPH11175399A (ja) | フラッシュメモリにおけるメモリ読出しからレジスタ読出しを区別するための方法および装置 | |
| JP4491267B2 (ja) | 不揮発性半導体記憶装置 | |
| JP2007066118A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JPH07311600A (ja) | デジタルデータを記憶し、再生する装置および方法 |