(57)【要約】本発明は、マイクロプロセッサＩＣの構造および設計に係り、特に、いわゆる不揮発性フラッシュメモリのＩＣ内への組み込みまたは集積に関する。このようなフラッシュメモリは、そのフラッシュメモリをＩＣ上の１つまたはそれ以上のマイクロプロセッサと機能的に関連付ける専用フラッシュ・バスを設けることによって、集積され得る。不運にもフラッシュメモリは通常の現代のマイクロプロセッサに比べアクセス時間が長い。フラッシュメモリがマイクロプロセッサとペースを保つために専用フラッシュ・バス２がフラッシュメモリ１をマイクロプロセッサ３へつなげる。前記フラッシュ・バス２がマイクロプロセッサのデータ・バス８の幅ｎより大きな幅ｍを有する。好ましくは、幅ｍは幅ｎの複数倍である。多数の中間記憶装置４は、幅変換の機能をもたらすためにフラッシュ・バス２をマイクロプロセッサ３のデータ・バス８に接続する。これらの中間記憶装置４は、付加的なタグ記憶装置５とともにマイクロプロセッサのデータ要求に対してキャッシュとして作用しＩＣの潜在的速度を向上させる。
2004502240.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのマイクロプロセッサおよび少なくとも１つのメモリを備えた集積回路であって、
前記メモリは、前記マイクロプロセッサへ専用のフラッシュ・バスによって機能的に結合された不揮発性またはフラッシュメモリであり、
前記専用のフラッシュ・バスは、第１の幅ｍを有し、第１の幅ｍは前記マイクロプロセッサまたはそのデータ・バスのそれぞれの第２の幅ｎ、特に第２の幅ｎのある倍数よりも大きい集積回路。
【請求項２】
前記幅を変更するように機能するために、好ましくは、マイクロプロセッサのデータ・バスを介して前記フラッシュ・バスをマイクロプロセッサと接続する第１の装置、特に複数の中間記憶装置をさらに備えたことを特徴とする請求項１に記載の集積回路。
【請求項３】
前記第１の装置はそれぞれがｎビット幅である中間記憶装置の層であり、
その層の記憶装置内へ前記フラッシュメモリからフェッチされたｍビット幅のデータが格納されることを特徴とする請求項２に記載の集積回路。
【請求項４】
前記プロセッサ・データ・バスはｎ＝３２ビット幅であり、
前記フラッシュ・バスはｍ＝１２８ビット幅であり、並びに、
４つの中間記憶装置が設けられていることを特徴とする請求項２または請求項３に記載の集積回路。
【請求項５】
アクセスされた前記フラッシュメモリのアドレスを格納するためのアドレスタグ記憶装置として作用する第２の装置、特に追加の記憶装置と、
前記マイクロプロセッサまたはそのデータ・バスによって要求された現在のアドレスを、以前にアクセスされ格納されていた前記フラッシュメモリ内のアドレスと比較するための第３の装置、特に比較器とを備え、
最も近時に用いられたアクセスからのデータは、前記マイクロプロセッサのキャッシュとして作用する前記中間記憶装置から直接に供給され得ることを特徴とする請求項１から請求項４のいずれかに記載の集積回路。
【請求項６】
前記中間記憶装置内のデータを前記マイクロプロセッサ・バスへ多重送信するためのマルチプレクサをさらに備えたことを特徴とする請求項１から請求項５のいずれかに記載の集積回路。
【請求項７】
ＩＣ構成要素、特に前記中間記憶装置のローディングおよびアンローディングを担う少なくともいくつかの構成要素の機能を制御するためのキャッシュ制御装置をさらに備えたことを特徴とする請求項１から請求項６のいずれかに記載の集積回路。
【請求項８】
マルチプレクサは、前記マイクロプロセッサへ１２８ビットのキャッシュラインを提供する４ｔｏ１マルチプレクサであることを特徴とする請求項４、請求項６または請求項７のいずれかに記載の集積回路。
【請求項９】
データが有効になることを、前記キャッシュ制御装置が、待機しているときはいつでも、前記キャッシュ制御装置は、前記マイクロプロセッサ・サイクル内に待機状態を導入するために配設されていることを特徴とする請求項７または請求項８に記載の集積回路。
【請求項１０】
前記キャッシュ制御装置は、５つの状態、特にＩＤＬＥ状態、ＲＥＡＤ状態、ＦＢＲＥＱ（Ｆｌａｓｈ Ｂｕｓ Ｒｅｑｕｅｓｔ）状態、ＨＯＬＤ状態およびＭＩＳＳ状態を有する状態マシーンであることを特徴とする請求項１から請求項９のいずれかに記載の集積回路。
【発明の詳細な説明】
【０００１】
本発明は、集積回路（ＩＣｓ）の構造および設計に係り、特に、ＩＣ内への不揮発性フラッシュメモリの組込みまたは集積に関する。このような不揮発性メモリのマイクロプロセッサへの組込みまたは集積は、携帯電話、携帯情報端末や、自動車用または他のナビゲーション目的のためのＧＰＳにおいてＩＣが用いられるために、頻繁に望まれ、若しくは、要求すらある。
【０００２】
フラッシュメモリをチップ内へ組み込むことで、そのような組込みによって期待された利点を発揮する前に、解決しなければならないある問題が導かれる。その問題の１つは、「特性（ｎａｔｕｒｅ）」によって通常のフラッシュメモリもアクセス時間がＩＣ上の他の要素のアクセス時間に対して非常に相違することである。
【０００３】
従って、本発明は、与えられたＩＣ上の多くの要素に比較して、特に、いずれの読み出し専用メモリ（ＲＯＭ）や現代の高速マイクロプロセッサおよび／またはそれらのバスに比較して、フラッシュメモリの絶対速度（ａｂｓｏｌｕｔｅ ｓｐｅｅｄ）が極めて遅いという特有の問題となる特性に解決を与えようとするものである。
【０００４】
ＩＣ内へ組み込まれたフラッシュまたは他の不揮発性メモリは、例えば、Ｆｅｌｄｍａｎ等によるＰＣＴ公開公報ＷＯ００２５２０８およびＯｚｃｅｌｉｋ等によるＷＯ００２５２５０に示されている。しかしながら、これらの２つの特許公報のいずれも、上述のものと同様の問題、即ち、フラッシュメモリとＩＣ上のプロセッサとの間のデータ・バスの幅の相違を指摘していない。Ｍｏｋによる米国特許第５４９３５３４号は、いわばバッファによってプロセッサ・バスから分離されたチップ上のマイクロプロセッサとして電気的書き込みおよび消去可能メモリを示すことによって多少近いものである。しかし、まだ、Ｍｏｋは、バスとフラッシュメモリのデータ幅（ｄａｔａ ｗｉｄｔｈｓ）の相違についての問題の明確かつ説得力のある解決を提供していない。
【０００５】
１またはそれ以上のマイクロプロセッサと集積されたフラッシュメモリの潜在能力を現実に利用するために、フラッシュメモリの全体のアクセス時間は、期待通りの性能を発揮するようにマイクロプロセッサのクロック速度にペースをあわせなければならない。上述のように、フラッシュメモリは、通常、比較的長いアクセス時間を有するので、問題は、フラッシュメモリのアクセス時間よりも早いクロック時間で関連するマイクロプロセッサを動作させるときに不可避となる。
【０００６】
ここで、本発明は解決策を提供する。ＩＣ上のプロセッサ環境における組み込まれたフラッシュメモリの性能を、動作の混合（ｍａｘｉｍｉｚｉｎｇ ｐｅｒｆｏｒｍａｎｃｅ）に着目し、このようなＩＣの全体の速度を向上させるように作用する多くの発明手段（ｉｎｖｅｎｔｉｖｅ ｍｅａｓｕｒｅｓ）を提案することによって、改善する方法を記載する。
【０００７】
つまり、本発明は、上記で確認された問題を、２つの手段（ｍｅａｓｕｒｅｓ）の一方または両方によって解決するものである。
１．    １の手段は、組み込まれたフラッシュメモリのデータワード幅をそのアクセス時間の動作を補正するために増加させることである。
２．    他の手段は、データ・キャッシュを、特に、中間データ記憶装置を単一または複数のデータ・ライン・キャッシュとして使用することによって、配設することである。
【０００８】
フラッシュメモリを有するＩＣ、専用フラッシュ・バスおよび多くのフラッシュメモリ補助ブロック、特に、プロセッサ（または、まさにマイクロプロセッサ）環境への接続またはブリッジ、を記述する実施の形態についての続く記載をもとに他の付加要素および予見できる変形は存在する。
【０００９】
第１の上述した手段は、組み込んだフラッシュメモリのデータワード幅をプロセッサ・バスの幅の倍数にまで増大させることである。次に、フラッシュメモリをプロセッサ・バスに接続するフラッシュ・ブリッジは、プロセッサ・データ・ワードの全体のブロックを中間記憶装置内で一度に交換することによって、フラッシュメモリへアクセスする。すると、プロセッサは、フラッシュメモリに各プロセッサのフェッチ・サイクルごとにアクセスすることなく、中間記憶装置から一度にワードをフェッチすることができる。勿論のこと、複数の中間記憶装置が使用され得る。
【００１０】
第２の上述した手段は、中間データ記憶装置をキャッシュとしての使用を可能とするアドレス・タグ記憶装置（ａｄｄｒｅｓｓ ｔａｇ ｒｅｇｉｓｔｅｒｓ）を１またはそれ以上のラインに配設することである。最近に用いられたアクセスは、次に、マイクロプロセッサが厳密に連続していなくとも、フラッシュメモリがアクセスすることを回避し、中間記憶装置によって直接供給され得る。要求されたアドレスがキャッシュ内にない場合にのみ、フラッシュメモリはアクセスされなければならず、中間記憶装置は更新される。このキャッシュの概念は、フラッシュメモリのためだけに“第２のキャッシュ”として使用され、その程度において、汎用キャッシュ（ｃｏｍｍｏｎ ｃａｃｈｅｓ）と異なる。即ち、上述のフラッシュ・ブリッジはフラッシュメモリにだけアクセスするバッファのために第２のキャッシュとして使用される。いわゆる第２のキャッシュは、プロセッサに直接接続された第１のキャッシュと直列に位置付けられている。それらの原理は当業者に周知であって、さらに記述することは必要としない。
【００１１】
次に、本発明の実施の形態を示す。３つの図面が組込み型フラッシュメモリを有するＩＣの本実施の形態を示す。
【００１２】
図１は、フラッシュメモリ１をマイクロプロセッサ３と接続するフラッシュ・ブリッジの読取りデータ・バスを示している。フラッシュメモリ１を出たデータ・バス２はｍビットの幅であり、その幅ｍはマイクロプロセッサ８の幅ｎのｐ倍、即ち、ｍ＝ｐ＊ｎ（ｐは記憶装置の数）である。記憶装置４（図１においてはＲｅｇ．１からＲｅｇ．ｐ）のこの層（ｂａｎｋ）は、中間記憶部として機能する。幅ｍのメモリラインが、一旦、記憶装置層（ｒｅｇｉｓｔｅｒ ｂａｎｋ）４内へ送信されると、マイクロプロセッサは、マルチプレクサ７およびデータ・バス８を介して一度にｎビットを読み取ることができる。このことは、マイクロプロセッサのアクセスが連続している場合には、フラッシュメモリ１にプロセッサの読み取りサイクルごとにアクセスする必要がないので特に有利となる。
【００１３】
さらに、上記した通り、記憶装置層４はキャッシュとして用いられ得る。これを達成させるためには、アドレス・バス９に送信される現マイクロプロセッサ・バス・アドレスはタグ記憶装置５に格納される。続くプロセッサのサイクルにおいて、前アドレスを含んでいるタグ記憶装置５内のタグ・ファイルは、比較器６によって現アドレスと比較され、前アクセスからのデータが記憶装置層４の記憶装置にすでに存在するか否かを確認する。存在する場合には、即ち、アドレスが合致すれば、要求されているデータはすでに記憶装置層４の記憶装置の１つにすでに存在するので、フラッシュメモリ１はアクセスされる必要がなく、マルチプレクサ７を介してマイクロプロセッサ３によってフェッチされ得る。
【００１４】
図２および図３は、携帯端末用のベースバンドＩＣにおける本発明の実施の形態を示し、本発明にとって重要なシステムのそれらの要素を図示している。
【００１５】
キャッシュ制御器２９は、フラッシュ・バスを介してフラッシュメモリ（図２では図示せず）へのフラッシュ・ブリッジの総ての読み取りアクセスを制御する。キャッシュ制御器２９は状態マシーン（ｓｔａｔｅ ｍａｃｈｉｎｅ）およびいくつかの論理比較器からなる。この状態マシーンの状態図が図３に示されている。
【００１６】
リセットの間に、即ち、信号ｂｒｅｓ＿ｎが活性（ａｃｔｉｖｅ）であるとき、または、待機しているマイクロプロセッサの読み込みサイクルがない場合に、状態マシーンはＩＤＬＥ状態３１にある（図３を参照）。
【００１７】
キャッシュ制御器２９がマイクロプロセッサからフラッシュ・ブリッジの記憶装置層（ｂａｎｋ）２８におけるいずれの読取りデータ記憶装置にも読取りアクセスの検出をする場合、即ち、信号ｄｓｅｌ＿ｄａｔａが有効（ａｃｔｉｖｅ）かつ信号ｂｗｒｉｔｅが無効（ｉｎａｃｔｉｖｅ）である場合に、キャッシュ制御器２９は、その状態マシーンをＲＥＡＤ３２へ進めることによって読取りサイクルを実行する。この読取りサイクルの間にフラッシュ・ブリッジは、そのタグ記憶装置２５の値をマイクロプロセッサからのアドレス、即ち、ａｄｄｒｅｓｓ（２３．４）と比較器において比較し、有効（ｖａｌｉｄ）ビット２４がセットされているかを確認する。比較器の出力およびセット有効ビット２４においてヒット（ｈｉｔ）、即ち、ｆｂ＿ｈｉｔ＝’１’であることは、読取りデータ記憶装置層２８におけるデータが有効であり、従って、マイクロプロセッサ・データ・バスｕＰ＿ｄａｔａ（３１．．０）へ直ちにつながり（ｐｕｔ）得る。この場合、待機状態はマイクロプロセッサ・バス・サイクル内に挿入されていない。
【００１８】
しかし、ｆｂ＿ｈｉｔがキャッシュ制御器２９のＲＥＡＤ状態の間に無効である場合には、若しくは、有効ビット２４がセットされていない場合には、状態マシーンはＦＢＲＥＱ（Ｆｌａｓｈ Ｂｕｓ Ｒｅｑｕｅｓｔ）状態３３（図３参照）へ移り、マイクロプロセッサ待機信号ｂｗａｉｔは直ちに有効化され、フラッシュ・バスはフラッシュ・バス読取りサイクルを実行することを要求される。これはフラッシュ・バス信号ｆｂｕｓ＿ｒｅｑを有効にすることによってなされる。図３において図示したとおり、ＦＢＲＥＱ状態３３の後、状態マシーンは無条件にＭＩＳＳ状態３５へ移行する。このＭＩＳＳ状態３５の間に、キャッシュ制御器２９はフラッシュメモリからのデータを待つ。フラッシュ・バスは、これらのデータが承認（ａｃｋｎｏｗｌｅｄｇｅ）信号ｆｂｕｓ＿ａｃｋ（図２および図３参照）を有効化することによって有効になるときに、キャッシュ制御器２９へ知らせる。データが有効になるのをキャッシュ制御器２９が待機している間に、マイクロプロセッサ・バスはマイクロプロセッサ信号ｂｗａｉｔによって待機するために信号化される。フラッシュメモリからのデータが有効であるときには、キャッシュ制御器２９は、記憶装置層２８がフラッシュメモリからのデータにより更新される要因となる信号ｆ＿ｕｐ（図２）を有効化し（ａｃｔｉｖａｔｅ）、並びに、記憶装置層２８に格納されたデータが有効（ｖａｌｉｄ）（有効ビット２４）であることを示すビットがセットされる。
【００１９】
次に、キャッシュ制御器の状態マシーンは、層２８内のデータ記憶装置を読み取るために待機している他の読取りサイクルがない限りにおいて、ＩＤＬＥ状態３１へ戻る。この場合、状態マシーンは直ちにＲＥＡＤ状態３２へ移行する。
【００２０】
読取りサイクルの間に、ミスが検出され、それによって、フラッシュ・バスが要求されなければならないが、しかし、それが他の処理でビジー状態であるために有効でない場合には、キャッシュ制御器の状態マシーンはＨＯＬＤ状態３４へ移行し、ここで、処理の待機が完了するまで待つ。フラッシュ・バス・ビジー信号ｆｂｕｓ＿ｂｕｓｙは、キャッシュ制御器状態マシーンにとって、フラッシュ・バスが他の処理を行っておりビジーであることを意味する。
【００２１】
示された実施の形態において、層２８の４つの３２ビット読取りデータ記憶装置Ｒｅｇ１からＲｅｇ４をまとめた１２８ビットのフラッシュメモリ・データ幅は１２８ビットのキャッシュ・ラインを表している。マイクロプロセッサ・データ・バスは３２ビット幅である。フラッシュ・データ・バスおよびマイクロプロセッサ・データ・バスは４ｔｏ１マルチプレクサ（ｆｏｕｒ−ｔｏ−ｏｎｅ ｍｕｌｔｉｐｌｅｘｅｒ）２７を介して接続されている。マイクロプロセッサ・アドレス・バスのＡｄｄｒｅｓｓ３および４は、４つの３２ビット読取りデータ記憶装置Ｒｅｇ１からＲｅｇ４のいずれがマイクロプロセッサ・データ・バスに接続するかを決定する。
【００２２】
本発明は単一の実施の形態のみを示しているが、当業者は請求項に従った範囲および本発明から逸脱することなく上述した記載に従って容易に変更および変形を導出することができる。
【図面の簡単な説明】
【図１】フラッシュ・ブリッジのデータ・バスを含む全体のシステムを示した図。
【図２】携帯端末用のＩＣ内での実施の形態を示した図。
【図３】図２においてキャッシュ制御器の様々な状態を示した図。
【図１】
2004502240.tif 000003
【図２】
2004502240.tif 000004
【図３】
2004502240.tif 000005
【国際公開パンフレット】
2004502240.tif 000006
2004502240.tif 000007
2004502240.tif 000008
2004502240.tif 000009
2004502240.tif 000010
2004502240.tif 000011
2004502240.tif 000012
2004502240.tif 000013
2004502240.tif 000014
2004502240.tif 000015
2004502240.tif 000016
【国際調査報告】
2004502240.tif 000017
2004502240.tif 000018