(57)【要約】【課題】本発明はマイクロプロセッサＩＣの構造と設計、詳細にはＩＣへの不揮発性フラッシュ・メモリの組込みと集積化手段を提供する。【解決手段】ＩＣ中にこのようなフラッシュ・メモリを集積化するには、フラッシュ・メモリ（７）をＩＣ上の１つまたは複数のマイクロプロセッサ（１、２）に機能的にリンクさせる、専用フラッシュ・バス（３）を設けることにより解決されるいくつかの問題が発生する。好ましくは、フラッシュ・バス（３）は、フラッシュ・メモリ特定コマンドを制御し、かつマイクロプロセッサ（１、２）および／またはフラッシュ・メモリ（７）の幅より大きい、詳細には倍数の幅を有し、フラッシュ・メモリの相対的に遅いアクセス時間を補償する。システムをマスター／スレーブ・バス・システムとして構成してフラッシュ・メモリ（７）を作動し、ブリッジ（４、５、６）を介してフラッシュ・バスをマイクロプロセッサ（１、２）にリンクさせ、かつシェル（８）を通してフラッシュ・メモリ（７）にリンクさせることは特に有利である。このようなシステムの動作のためには、フラッシュ・バス・アービタ（９）が必要または有利になる。【選択図】図１
2004502225.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのマイクロプロセッサと、少なくとも１つの組み込まれたメモリとを有する集積回路であって、
前記メモリが不揮発性またはフラッシュ・メモリ（７）であり、
前記マイクロプロセッサ（１、２）と前記メモリ（３）を機能的にリンクする専用フラッシュ・バス（３）を備えた集積回路。
【請求項２】
フラッシュ・バス（３）がフラッシュ・メモリ特定コマンドを制御することを特徴とする請求項１に記載の集積回路。
【請求項３】
前記フラッシュ・バス（３）が、マイクロプロセッサ（１、２）および／またはフラッシュ・メモリ（７）より広いデータ幅、特に倍数のデータ幅を有することを特徴とする請求項１または２に記載の集積回路。
【請求項４】
前記フラッシュ・バス（３）がフラッシュ・メモリ（７）を作動するためのマスタ／スレーブ・バス・システムであることを特徴とする請求項１〜３のいずれかに記載の集積回路。
【請求項５】
前記フラッシュ・バス（３）がデータ／アドレス・バス部分（３ａ）および制御信号バス部分（３ｂ）を備えていることを特徴とする請求項１〜４のいずれかに記載の集積回路。
【請求項６】
前記フラッシュ・メモリ（７）が、シェル（８）を介して前記フラッシュ・バス（３）にリンクされ、好ましくは前記シェル（８）が前記フラッシュ・バス（３）に対しスレーブであることを特徴とする請求項１〜５のいずれかに記載の集積回路。
【請求項７】
前記フラッシュ・バス（３）が、ブリッジ（４、５、６）を介して、マイクロプロセッサ（１、２）またはマイクロプロセッサのバスにリンクされ、好ましくは前記ブリッジが前記フラッシュ・バス（３）に対しマスタであることを特徴とする請求項１〜６のいずれかに記載の集積回路。
【請求項８】
前記フラッシュ・ブリッジ（４、５）が、前記フラッシュ・バス（３）とリンクされたマイクロプロセッサ（１、２）との間に幅変換を提供することを特徴とする請求項３と７に記載の集積回路。
【請求項９】
前記フラッシュ・ブリッジ（４、５）が、データと、アドレスおよび／またはコマンド信号との中間格納のためのキャッシュを含むことを特徴とする請求項７に記載の集積回路。
【請求項１０】
前記フラッシュ・バス（３）上のアクセスおよびトラフィックを制御し、さらに前記フラッシュ・バス（３）上の競合要求を仲裁するフラッシュ・バス・アービタ（９）をさらに備えたことを特徴とする請求項１〜９のいずれかに記載の集積回路。
【請求項１１】
複数のマイクロプロセッサ（１、２）が、フラッシュ・メモリ（７）に接続されたフラッシュ・バス（３）に直接または間接にリンクされていることを特徴とする請求項１〜１０のいずれかに記載の集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は集積回路、つまりＩＣの構造と設計、詳細にはＩＣへの不揮発性フラッシュ・メモリの組込みと集積化に関する。本発明は、マイクロプロセッサへの不揮発性メモリの集積化が望まれるか、または要求されるような、例えば自動車または他のナビゲーション目的用のＧＰＳ用途における、移動電話、携帯用情報端末などの場合には常に適用できる。
【０００２】
【従来の技術】
現在、チップに組み込まれるフラッシュ・メモリは新しい分野であり、まだわずかの実施例が存在するだけである。しかし将来は、ＩＣへのメモリの組込みは広く普及すると予測される。これは具体的には、ベースバンド・プロセッサ中へのメモリの集積化はすでにユーザから要求されている、モバイル製品マーケットに対し当てはまる。チップ上へのメモリの集積化は、小型外形サイズを有する、シリコン上の面積を満たす方法である。集積化フラッシュ・メモリは次のような多くの利点を提供する：
＊少ないコンポーネント数と小さい面積
＊少ないピン数とシステムのコスト低減
＊メモリへの高速アクセス
＊ファームウェア／ソフトウェア保護の強化
＊パワー消費の低減。
【０００３】
本発明は、最大限の性能に重点を置いて、単一チップ上のマルチプロセッサ環境にフラッシュ・メモリを組み込む方法を述べる。さらに、プログラミング、読出し、試験、および評価に関する組み込まれたフラッシュ・メモリの要件を最適化して、その結果が優れたアーキテクチャと製品になるようにする。
【０００４】
さらに、提案されるアーキテクチャにより、フラッシュ技術の開発中に、プロトタイプのフラッシュ・メモリをエミュレートし、それによりマーケットへの出荷を速めるのに役立てることができる。
【０００５】
現在、ディジタル処理システム内のフラッシュ・メモリは、ディスクリートの「既製の」半導体デバイスと共に組み込まれ、回路基板を介してマイクロプロセッサに接続されるか、またはマルチ・チップ・パッケージ内に結合されている。アクセスは通常、ノン・インテリジェントな、低性能な、ピン数の多い外部メモリ・インタフェースを介して達成される。そのような配置の例は、Ｍｏｋ米国特許５　４９３　５３４に示されており、それには、フラッシュ・メモリと通信する複数のＩ／Ｏポートを有する単一チップ・マイクロコントローラが示されている。しかし、このフラッシュ・メモリはチップ内に組み込まれていない。
【０００６】
【発明が解決しようとする課題】
チップ内にフラッシュ・メモリを組み込むことにより、予期する好結果を発揮させる以前に解決すべき特定の問題が生じる。
【０００７】
「本質的」に、フラッシュ・メモリの絶対速度は、組み込まれているかどうかによらず、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ−ｍｅｍｏｒｙ）に比較して遅い。この限定された性能を克服するには、適用するアーキテクチャを慎重に選択する必要がある。
【０００８】
また、パワー消費は、指定された電圧において要求される性能に対し、慎重に配分しなければならない。全体的に見て、これにより、ディスクリートの解決方法に比較して、組み込まれるフラッシュ・メモリ・システムの利点の最適化が可能なように振り向けることができる。しかし、これは、設計者に特殊なノウハウが要求される。
【０００９】
通常、集積化フラッシュ・メモリは、ディスクリート・デバイスで既知であるのと同様の機能を持つ手段を備える必要がある。これには、大規模なオーバーヘッドを設計して、プログラム・サイクル、プログラム中断サイクル、消去サイクル、アレイ・ロード・サイクルなどのフラッシュ管理機能を実現する必要がある。さらに、評価と試験に対するハードウェアが必要になる。
【００１０】
オンチップ・フラッシュ・メモリの試験にも新しい問題（特に全体のデバイス試験時間に関して）を引き起こす可能性がある。一般に、試験用ディジタル・ロジックはわずか数秒間の試験時間を必要とし、一方、メモリ試験は通常、比較して長いプロセスであり、一般に数秒以上を必要とする。したがって、フラッシュ・メモリに効率的にアクセスして試験する解決方法を見出す必要がある。
【００１１】
【課題を解決するための手段】
簡単に言えば、本発明は、専用バス・システム、詳細にはマスター／スレーブ・バス・システムを提供することにより、前記で明らかにされた課題を解決し、プロセッサＩＣ、特にマルチ・プロセッサＩＣに組み込まれるフラッシュ・メモリを作動させることである。好ましくは、「ロード」、「プログラム」、「消去」、「プログラム中断」、「消去中断」等のような組み込みフラッシュ・メモリに対するアンド／オア・コマンドの特定要件がフラッシュ・バスにより制御される。
【００１２】
特定の変形形態では、フラッシュ・メモリはシェルを通してフラッシュ・バスにリンクされる。このシェルはフラッシュ・バスに対しスレーブである。
【００１３】
別の実施形態では、ＩＣ上のマイクロプロセッサおよび／または通常存在するシステム・バスは、ブリッジを介してフラッシュ・バスに接続できる。これらのブリッジはフラッシュ・バスに対しマスターである。変形形態では、ブリッジのすべてがキャッシュを備えて、さらに高速動作を可能にしている。
【００１４】
本発明による、専用の広帯域フラッシュ・バスまわりのアーキテクチャに関連する実施形態の、以下の記述から予見可能な多数の別の付加および変形形態が存在する。それらには、マイクロプロセッサ環境に対するシェルおよびブリッジなどのような、多数のフラッシュ・メモリ・サポート・ブロックを含む（ただし、これに限定されない）。
【００１５】
【発明の実施形態】
次に、本発明を実現する方法の例を示す。いくつかの図は、これらの具体化を示す。
【００１６】
一般に、同一参照符号は、各種の図においても同一パーツを示すのに使用されている。
【００１７】
図１は、本発明による組込みフラッシュ・メモリを備えたマルチプロセッサ・システムを示す。２つのマイクロプロセッサ１と２が備えられ、それらのバスは「フラッシュ・ブリッジ」４、５、６を通してフラッシュ・バス３にリンクされている。これらブリッジは、以下に説明するように、フラッシュ・バスに対しマスターである。フラッシュ・メモリ７は「フラッシュ・シェル」と呼ばれるロジックを通してフラッシュ・バス３にリンクされており、このフラッシュ・シェルはフラッシュ・バスに対しスレーブである。フラッシュ・シェル８もまた、フラッシュ・メモリのオンチップ試験用の機能を組み込んでいるが、これについては本文ではあまり述べない。
【００１８】
マイクロプロセッサ２は、例えば、当技術分野では既知の、いわゆるＤＳＰダブルＨａｒｖａｒｄアーキテクチャの複数バスを有する。マイクロプロセッサ２は２つのフラッシュ・ブリッジ５と６を介してフラッシュ・バス３にアクセスする。図１に示される各種コンポーネントの間のデータ転送は、一方向または双方向にできる。
【００１９】
データおよびアドレス・バス３ａ（フラッシュ・バス３の一部分）は、フラッシュ・メモリ７のメモリ・セル（図示なし）に対しアドレスとデータとを提供する。制御信号バス３ｂ（これもまたフラッシュ・バス３の一部分）は、フラッシュ・ブリッジ４〜６とフラッシュ・シェル８との間で信号アクセス権およびステータス情報を交換する。最後に、フラッシュ・バス・アービタ９は、バス３上のアクセスおよびトラフィックを制御する。
【００２０】
２つのプロセッサ１と２は同一のフラッシュ・メモリ７を共有し、このフラッシュ・メモリ中のスペースは、ソフトウェア、従って非常にフレキシブルに、各プロセッサに割当てられる。
【００２１】
フラッシュ・ブリッジ４〜６は、マイクロプロセッサ１と２の各々と、フラッシュ・バス３との間のインタフェースである。各フラッシュ・ブリッジは、バスへのアクセスを必要とするときにフラッシュ・バスへ要求を送り、プログラムを制御して、フラッシュ・メモリ７のサイクルを消去できる。
【００２２】
フラッシュ・バス３はバス幅を有し、そのバス幅は、フラッシュ・メモリの限定されたアクセス性能を補償する複数のマイクロプロセッサの幅である。
【００２３】
図の実施形態では、フラッシュ・ブリッジ４〜６の各々は、マイクロプロセッサの幅（例えば、３２ビット）と、フラッシュ・バスの幅（例えば、１２８ビット）との間の幅変更を提供する。図のフラッシュ・ブリッジの２つ、すなわちフラッシュ・ブリッジ４と５もまた、最新に使用されたアクセスに対するデータ・キャッシュ・デバイスを含む。キャシュ・デバイスは、既知の方法で転送速度を速める。
【００２４】
フラッシュ・シェル８は、フラッシュ・メモリ７とフラッシュ・バス３との間のインタフェースであり、フラッシュ・メモリ７がプログラミングと消去を行っているときに、フラッシュ・バス３にメッセージを送る。またフラッシュ・シェル８は、フラッシュ・メモリ７からのデータ読出しが有効なときに、バス・アービタ９に信号を送る。さらに、フラッシュ・シェル８は、フラッシュ・メモリ７を試験するための機能を含む。この試験もまた、フラッシュ・バス３により制御される。
【００２５】
フラッシュ・バス制御信号は、例えば要求に対し、フラッシュ・ブリッジ４〜６のどれかのリンク、フラッシュ・シェル８、およびフラッシュ・バス・アービタ９を許可および／または肯定する。これらの制御信号、フラッシュ・バス３のこの部分を、別々に、好ましくはインテリジェントな、並列または直列バスにより転送して、前記すなわちフラッシュ・ブリッジ４〜６、フラッシュ・シェル８、およびフラッシュ・バス・アービタ９と通信する。
【００２６】
データおよびアドレス・バス３ａ（フラッシュ・バス３の一部）は、フラッシュ・ブリッジ４〜６およびフラッシュ・シェル８のどれかに、データを転送するか、またはそれらからの転送を受ける。
【００２７】
フラッシュ・バス・アービタ９はバス・マスター、すなわちフラッシュ・ブリッジ４〜６のどれかからの要求を受け取り、スレーブ、ここでは具体的にはフラッシュ・シェル８に割り当てる。図の実施形態では、アクセス優先度符号化が実行される。インテリジェント・バス・システムが使用されるとき、そのシステムはバス・マスターおよびスレーブへのメッセージを受信および送信できる。
【００２８】
フラッシュ・バス・プロトコルは、スレーブ、マスター、およびフラッシュ・バス・アービタの制御に必要な情報を伝える。インテリジェント・バス・システムでは、フラッシュ・バス・プロトコルは制御メッセージに組み込まれている。別のアプリケーションでは、このプロトコルはハードウェアにより実現できる。フラッシュ・バス・プロトコルのタスクには以下を含む：
＊どれがバスの要求マスターかを示す
＊読出しおよび書込みに対しスレーブの可用性を示す
＊フラッシュ・データ／アドレス・バスの可用性を示す
＊有効なフラッシュ読出しデータの可用性を示す
＊フラッシュ・メモリが、プログラムまたは消去サイクルに対しロックされているかどうかを評価する
＊メモリ試験を可能にする
＊フラッシュ・シェルおよびフラッシュ・バス・アービタの、制御およびステータス・レジスタを評価する
＊フラッシュ・メモリ内のプロブラムおよび消去サイクルを起動する
＊フラッシュ・バス・マスタとスレーブの間のデータ転送を容易にする。
【００２９】
図２は、フラッシュ・メモリ・エミュレーションを可能にする実施形態を示す。フラッシュ・メモリが開発中の間は、ＳＲＡＭ　７’を用いてフラッシュ・メモリをエミュレートする必要がある。メモリは、フラッシュ・シュエル８を介してフラッシュ・バス３に接続されているため、他のタイプのメモリに接続するのは容易である。なぜなら、フラッシュ・シェル８だけを使用すればよいからである。待機状態がフラッシュ・ブリッジ４〜６を通して制御されるため、メモリ動作を調整して、その機能がエミュレートされるデバイスと一致させることができる。
【００３０】
図２に示されるように、フラッシュ・シェル８がメモリ・コントローラ１１に置き換えられる場合、外部メモリ１０（例えば、同期ＤＲＡＭ）もフラッシュ・バス３に接続できる。
【００３１】
図３と４は、移動電話内のベースバンドＩＣにおける本発明によるフラッシュ・バスの具体例を示す。図３に示されるように、ＤＰＳ  ３３のデータ・キャッシュ３１と命令キャッシュ３２とはフラッシュ・バス３にリンクされている。さらに、図のフラッシュ・バス・アービタ９と、ＤＰＳキャッシュ３１と３３の通信とが詳細に述べられる。
【００３２】
図４にはフラッシュ・シェル８を示す。図のように、実際のフラッシュ・メモリ７は、いわば、インタフェース・シェル、つまりフラッシュ・シェル８内に組み込まれている。このフラッシュ・シェル８は、制御ロジック、すなわち制御およびステータス・レジスタ４２、最終的には待機状態レジスタ４３とあるいは特定のエラー修正回路またはソフトウェアとを含む。ＩＣのエミュレーション・バージョン（図２および前述の関連記述を参照）では、フラッシュ・シェル８はさらに、スタティックＲＡＭ（ＳＲＡＭ）のような特定の他のメモリ、またはチップの外のメモリに接続するための外部バス・インタフェースを含む。フラッシュ・シェル８はフラッシュ・バスのスレーブである。
【００３３】
フラッシュ・メモリ・サイクルはリード・サイクル、データ・ロード・サイクル、プログラム・サイクル、消去サイクル、およびプログラム／消去中断サイクルを含む。ロード・サイクルの間、アドレスと一緒に供給されるデータは、データ・ラッチに書き込まれ、その後プログラム・サイクル中にメモリ・アレイに転送される。全データ・ラッチが満たされた後に、他プログラム・サイクルが開始される。このようなプログラム・サイクルには数ミリ秒を要し、その間フラッシュ・メモリはリード・サイクルまたはロード・サイクルに使用できない。同様に、消去サイクルには数ミリ秒を要し、その間フラッシュ・メモリはリード・サイクルまたはロード・サイクルに使用できない。
【００３４】
図３に示される２つのＤＳＰキャッシュは、データ・キャッシュ３１と命令キャッシュ３２であり、各々がフラッシュ・バス３とのインタフェースを有する。後者はまた、キャッシュ・ミスにおける命令およびデータ・キャッシュ・ラインを満たすためのパスである。データおよび命令キャッシュ３１と３２はフラッシュ・バス３に対するバス・マスタである。
【００３５】
図４に示されるフラッシュ・ブリッジ４１は、マイクロプロセッサ１をフラッシュ・バス３とフラッシュ・シェル８に接続し、そのブリッジに対してマイクロプロセッサ１が読出しアクセスおよび書込みアクセスを行う。フラッシュ・ブリッジ４１はまた、データを、メモリ・バスの１６ビットまたは３２ビット・バス・モードから、フラッシュ・バス３の１２８ビット・バス幅に変換する。フラッシュ・ブリッジ４１はフラッシュ・バス８のマスタである。
【００３６】
図３の２つのＤＳＰキャッシュ、すなわちデータ・キャッシュ３１および命令キャッシュ３２と、フラッシュ・ブリッジ４１とは、フラッシュ・バス上のマスタとして競合し、バス仲裁が必要とされる。これは、図３に示されるフラッシュ・バス・アービタ９により実行される。理論的には、仲裁サイクルは、ほとんど、または全くオーバヘッドを使用しない。２つまたはそれ以上のバス・マスタがバス・アクセスを要求する場合、どちらの要求をバスに乗せるかを決定する。決定は優先度リストに従ってなされ、その例が図５の表に示されている。各バス・アクセス後、次に来るバス・マスタの決定は、前のアクセスを考慮することなくなされる。進行中のバス・アクセスは、より高い優先度のバス要求により打ち切られることはない。一般に、ＤＳＰキャッシュ３１と３２は、それらの機能が重要であるため、最高優先度を有する。フラッシュ・バス・ロードの優先度は低いため、低い優先度を持つ要求側が、フラッシュ・バス３にアクセスするのを無視、または禁止されることはない。
【００３７】
データおよび命令キャッシュ３１と３２とは、フラッシュ・バス・アービタ９への要求および肯定信号を再同期化せずに、フラッシュ・メモリ７への高速アクセスを要求するため、後者はＤＳＰキャッシュ３１と３２（クロック信号ｄｃｃｌｋ）へクロック同期（図３のクロック信号ｄｆｃｌｋ）される。フラッシュ・ブリッジ４１がフラッシュ・メモリ７にアクセスするため、ＤＳＰコアが休止の間、システム・コントローラおよび／またはＤＳＰがアクティブのとき、フラッシュ・アービタ９へのクロック（クロック信号ｄｆｃｌｋ）が実行される。
【００３８】
次に、キャッシュ仲裁とフェッチ・サイクルを説明する。ＤＳＰキャッシュ３１および／または３２はフラッシュ・シェルからデータを要求する（「キャッシュ・ライン・フィル」）。要求バス・マスタは信号ｆ＿ｄｃａｄｄｒまたはｆ＿ｉｃａｄｄｒをそれぞれ確認し（図３）、要求される要求信号をアクティブにする。これは、データ・キャッシュ３１に対しては信号ｆ＿ｄｃｒｅｑであり、命令キャッシュ３２に対しては信号ｆ＿ｉｃｒｅｑである。バス上でどちらのマスタが優先度があるかに従って、そのバスが別のマスタにより既に使用中でないか、またはロックされていない場合は、フラッシュ・バス・アービタ９は、アドレス・マルチプレクサに許可信号を発行してアクセスを許可する。これは、データ・キャッシュ３１に対しては信号ｆ＿ｄｃｇｎｔであり、命令キャッシュ３２に対してはｆ＿ｉｃｇｎｔである。バス許可信号に従い、アドレス・マルチプレクサ３４はアドレス・バスを許可されたマスタに振り向ける。信号ｆ＿ｒｄｅｎは、リード・サイクルの間、フラッシュ・メモリ７をイネーブルにする。フラッシュ・メモリの出力データ・バス（信号ｆ＿ｄｏ）が安定すると、フラッシュ・バス・アービタ９が適正な肯定信号、すなわちデータ・キャッシュ３１に対する信号ｆ＿ｄｃａｃｋ、および命令キャッシュ３２に対するｆ＿ｉｃａｃｋをアクテイブにする。クロック信号ｄｃｃｌｋの次の立上がりエッジで、許可されたマスタがデータを登録し、そのサイクルを継続する。
【００３９】
次に、前述の待機状態を説明する。ＤＳＰ  ３３のクロック速度に依存して、フラッシュ・バス・サイクルを引き延ばして、キャッシュ・フェッチまたはフラッシュ・ブリッジ・アクセス・サイクル内に待機状態を挿入する必要が生じる可能性がある。この挿入は、要求源に対する肯定応答を遅延してなされる。アクセスが許可された後、要求される待機状態数に達するまでｄｃｃｌｋサイクル数がカウントされ、その後フラッシュ・バス・アービタ９は、信号ｆ＿ｄｃａｃｋまたは信号ｆ＿ｉｃａｃｋをアクティブにして、バス・マスタに対し、要求される待機状が挿入され、その結果フラッシュ・メモリ７からのデータが有効でなければならないことを示す。挿入される待機状態の量は、フラッシュ・ブリッジ４１内の待機状態レジスタ４３により決定される。リセット後、待機状態レジスタは、最大数の待機状態を挿入するように設定される。
【００４０】
以下のセクションでは、フラッシュ・メモリ・リード・サイクルがアドレスされる。フラッシュ・ブリッジ４１がフラッシュ・シェル８からデータを要求するとき、要求バス・マスタは信号ｆ＿ａｄｄｒを確認して、要求される要求信号ｆ＿ｆｂｒｅｑをアクティブにする。バス上でどちらのマスタに優先度があるかに従って、そのバスが別のマスタにより既に使用中でないか、またはロックされていない場合は、フラッシュ・バス・アービタ９は、アドレス・マルチプレクサに許可信号を発行してアクセスを許可する。これは信号ｆ＿ｆｂｇｎｔである。この許可信号に従い、アドレス・マルチプレクサ３４はアドレス・バスを許可されたマスタに振り向ける。信号ｆ＿ｒｄｅｎは、リード・サイクルの間、フラッシュ・メモリ７をイネーブルにする。フラッシュ・メモリの出力データ・バス（信号ｆ＿ｄｏ）が安定すると、フラッシュ・バス・アービタ９が適正な肯定信号をアクテイブにする。クロック信号ｄｃｃｌｋの次の立上がりエッジで、許可されたマスタがデータを登録し、そのサイクルを継続する。図６は最も速い可能なフラッシュ・メモリ・リード・サイクルを示す。
【００４１】
フラッシュ・バス要求は前もって削除できる、すなわち信号ｆ＿ｓｃｒｅｑ、ｆ＿ｉｃｒｅｑおよびｆ＿ｄｃｒｅｑを、フラッシュ・ブリッジ４１が肯定信号を要求マスタに送る以前でも削除できる。これは、キャッシュがフラッシュ・アクセス・サイクルを打ち切るとき、例えばＤＳＰが休止モードになる前である。信号ｆ＿ｄｃｒｅｑまたは信号ｆ＿ｉｃｒｅｑのどれかが、対応信号ｆ＿ｄｃａｃｋまたはｆ＿ｉｃａｃｋであるとき、フラッシュ・アクセス・サイクルは安全に完了し、対応信号ｆ＿ｄｃｇｎｔまたはｆ＿ｉｃｇｎｔは１クロックサイクル後に削除される。
【００４２】
次に、フラッシュ・ブリッジ４１を介するフラッシュ・メモリ７へのデータのローディングを説明する。フラッシュ・ブリッジ４１がフラッシュ・シェル８に対し書込みデータを要求するとき、フラッシュ・ブリッジは、ｆ＿ｄｉバス上のデータおよびｆ＿ａｄｄｒバス上のアドレスを確認し、信号ｆ＿ｆｂｒｅｑをアクティブにする。前のフラッシュ・バス・サイクルが完了するとき、フラッシュ・バス・アービタ９は信号ｆ＿ｆｂｇｎｔを供給してそのサイクルを許可する。信号ｆ＿ｌｄｓｔの立上がりエッジで、フラッシュ・メモリ・データ・ラッチ内にデータを登録する。信号ｆ＿ｆｂａｃｋをアクティブにすることは、フラッシュ・ブリッジ４１に対し指示され、そのデータはフラッシュ・メモリによりすでにラッチされており、そのデータとアドレスをこの時に削除できる。信号ｆ＿ｆｂａｃｋがアクティブになると、フラッシュ・ブリッジは信号ｆ＿ｆｂｒｅｑおよび信号ｆ＿ａｄｄｒを削除する。ｆ＿ｆｂｒｅｑが削除されるとき、フラッシュ・ブリッジ４１によりｆ＿ｄｉバスを強制的にゼロにする。
【００４３】
最後に、フラッシュ消去およびプログラム・サイクルを説明する。フラッシュ消去サイクルの間、全体フラッシュ・セクタは消去される。フラッシュ・プログラム・サイクルの間、フラッシュ・データ・ラッチの内容はフラッシュ・メモリ・アレイに転送される。フラッシュ・メモリ７を消去およびプログラムするには、数ミリ秒を要する。この時間中は、フラッシュ・メモリ７にもフラッシュ・バス３にもアクセスできない。したがって、フラッシュ・メモリ７をプログラムおよび消去可能にする以前に、フラッシュ・バス３をキャッシュおよび／またはフラッシュ・ブリッジからのアクセスに対しロックする必要がある。これは、システム・コントローラにより、フラッシュ制御レジスタ内のバス・ロック・ビットを設定することによりなされる。バス・ロック・ビットは、信号ｆ＿ｌｃｋｒｅｑをアクティブにし、フラッシュ・バス・アービタ９に信号を送って、現在のアクセス・サイクルが完了後に別のバス・マスタ・アクセスのためにバスをロックする。フラッシュ・バス・アービタ９がサイクルをロック後、バス・ロック・ビットは信号ｆ＿ｌｃｋｇｎｔをアクティブにし、それがフラッシュ制御およびステータス・レジスタ４２に反映される。次に、システム・コントローラがフラッシュ・プログラムまたは消去サイクルを起動する。このフラッシュ・プログラムまたは消去サイクルが完了すると、システム・コントローラはフラッシュ・コントローラとステータス・レジスタ４２内のロック・ビットを再度クリアし、それにより信号ｆ＿ｌｃｋｒｅｑを削除する必要がある。消去およびプログラム・サイクルの持続時間は、システム・コントローラ内のクロックによるか、または専用タイマにより時間合わせされる。
【００４４】
本発明を特定の例を基に図示し、説明してきたが、当業者には、本発明の精神と範囲から逸脱することなく、多くの変形形態の導入および多くの機能変更が実行可能であることは容易に認識されるところである。
【図面の簡単な説明】
【図１】
「最小の」フラッシュ・バス・マイクロプロセッサ・システムを示す。
【図２】
フラッシュ・メモリのエミュレーションを示す。
【図３】
フラッシュ・バス・コンポーネントの詳細を示す。
【図４】
フラッシュ・バス・コンポーネントの詳細を示す。
【図５】
フラッシュ・バス・マスターの優先度リストの表を示す。
【図６】
同期メモリ・モードに対するストローブ信号を示す。
【図１】
2004502225.tif 000003
【図２】
2004502225.tif 000004
【図３】
2004502225.tif 000005
【図４】
2004502225.tif 000006
【図５】
2004502225.tif 000007
【図６】
2004502225.tif 000008
【国際公開パンフレット】
2004502225.tif 000009
2004502225.tif 000010
2004502225.tif 000011
2004502225.tif 000012
2004502225.tif 000013
2004502225.tif 000014
2004502225.tif 000015
2004502225.tif 000016
2004502225.tif 000017
2004502225.tif 000018
2004502225.tif 000019
2004502225.tif 000020
2004502225.tif 000021
2004502225.tif 000022
2004502225.tif 000023
2004502225.tif 000024
2004502225.tif 000025
【国際調査報告】
2004502225.tif 000026
2004502225.tif 000027
2004502225.tif 000028