(57)【特許請求の範囲】
【請求項１】
メモリ回路を動作させる方法であって、
メモリ回路の個々の回路部に関連するタイミングマージンを感知し、該感知されたタイミングマージンに基づいてフィードバック信号を生成すること、
前記メモリ回路により生成された前記フィードバック信号に少なくとも部分的に基づいて、メモリ回路の動作モードを選択すること、および
前記メモリ回路の選択された動作モードに基づく数のパイプライン段を使用して、メモリ回路を動作させること、
からなる方法。
【請求項２】
前記動作モードは、メモリ回路の制御クロック信号の周波数およびメモリ回路の電源電圧レベルのうちの少なくとも１つの値に対応する動作モード情報の表の少なくとも１つのエントリに部分的に基づいて選択される請求項１に記載の方法。
【請求項３】
集積回路であって、
メモリ回路と、
メモリ回路によって生成されたフィードバック信号に少なくとも部分的に基づいて、メモリ回路の動作モードを選択するように構成された制御回路であって、前記フィードバック信号は、メモリ回路の個々の回路部に関連したタイミングマージンを示す、制御回路と
を備え、
メモリ回路は、前記メモリ回路の選択された動作モードに基づく数のパイプライン段を使用して動作するように構成される、集積回路。
【請求項４】
制御回路に接続され、メモリ回路の制御クロック信号の周波数およびメモリ回路の電源電圧のレベルから成るグループの少なくとも１つの値に対応する動作モード情報を格納するように構成された第２のメモリ回路をさらに備え、
制御回路は、制御クロック信号の特定の周波数および電源電圧の特定のレベルに対応する第２のメモリ回路の内容に部分的に基づいて動作モードを選択するように構成される、請求項３に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般には記憶システムに関し、より詳細にはパイプライン型記憶システムに関する。
【背景技術】
【０００２】
一般に、メモリ回路は特定の動作点で特定の性能目標を満たすように設計される。性能目標は、ピーク性能動作点におけるメモリ回路の待ち時間および電力消費（例えばピーク制御クロック信号周波数および特定の電源電圧）により定義され得る。性能目標を達成するために、メモリ回路は、論理回路の間に挿入された状態要素（例えばラッチ回路、フリップフロップ、または他の適切な状態要素）によりパイプラインでアクセスされ得る。典型的には、パイプライン型メモリ回路の個々のパイプライン段（pipeline stage）は、性能目標に関連する動作点で、制御クロック信号の全期間を利用するように設計される。しかしながら、パイプライン型メモリ回路の各パイプライン段を通じた伝搬遅延（つまり各パイプライン段の入力から各パイプライン段の出力までの遅延）は、実際の動作条件では一定でない。伝搬遅延は、温度、電源電圧または他の運転条件の変化により変わり得る。
【０００３】
本発明は、例示として示され、添付図面により制限されない。図中、同様な参照数値は同様の要素を示す。図中の要素は単純さと明確さを目的に示されており、必ずしも正しい縮尺で描かれていない。異なる図中の同じ参照記号の使用は、類似または同一の項目を示す。
【図面の簡単な説明】
【０００４】
【図１】本発明の少なくとも１つの実施形態と一致する例証的なデータ処理システムのブロック図。
【図２】例証的なパイプライン型メモリ回路のブロック図。
【図３】本発明の少なくとも１つの実施形態と一致する例証的なパイプライン型メモリ回路のブロック図。
【図４】本発明の少なくとも１つの実施形態と一致する例証的なパイプライン型メモリ回路部分のブロック図。
【図５】本発明の少なくとも１つの実施形態と一致するよう構成された図４のパイプライン型メモリ回路部分の波形を示すタイミング図。
【図６】メモリ回路フィードバック信号の生成のための例証的な技術を示すブロック図。
【図７】メモリ回路フィードバック信号の生成のための例証的な技術を示すブロック図。
【図８】本発明の少なくとも１つの実施形態と一致するよう構成された図４のパイプライン型メモリ回路部分の波形を示すタイミング図。
【図９】本発明の少なくとも１つの実施形態と一致する例証的な制御システムのブロック図。
【図１０】本発明の少なくとも１つの実施形態と一致するメモリ構造の例証的な動作点を示す。
【図１１】本発明の少なくとも１つの実施形態と一致する例証的な制御フローを示す状態図。
【図１２】本発明の少なくとも１つの実施形態と一致する例証的な制御システムのブロック図。
【発明を実施するための形態】
【０００５】
通常のパイプライン型メモリ回路では、パイプライン型メモリ回路の個々のパイプライン段は、パイプライン段に割り当てられた制御クロック信号の全体部分を利用することが可能であり、それは制御クロック信号の全期間であってもよい。メモリが目標動作点で動作している間、パイプラインはメモリ回路の性能を改善し得るが、他の動作点ではパイプラインはメモリ回路のメモリ性能を制限し得る。制御クロック信号周波数が減少されるにつれて通常のパイプライン型メモリ回路の待ち時間は単調に減少する一方で、タイミングマージンは個々のパイプライン段で増加する。本明細書で述べる場合、パイプライン段のタイミングマージンは、目標振動数で動作している時にパイプライン段に割り当てられるクロック信号の部分と、パイプライン段が入力の処理を完了して出力を生成するのに必要な時間との間の差である。パイプライン型メモリ回路が、性能目標に関連する動作点に対して構成された場合、メモリ回路は他の動作点（例えば電源電圧および／または制御クロック信号周波数がより低い）でよりも多くの電力を消費する。一般に、パイプライン型メモリ回路では、状態要素（例えばラッチ、フリップ−フロップ、または他の適切な状態要素）の数がメモリ回路のサイズの増加とともに指数関数的に増加し、それらの状態要素の電力消費は全メモリ電力消費のうちのかなりの部分を占める。
【０００６】
従って、パイプライン型メモリ回路の性能と電力消費との関係は、電源電圧レベルおよび／または制御クロック信号周波数のスケーリングに比例して改善しない可能性がある。さらに、１つの応用（例えばバックエンドキャッシュアレイ）のための特定の目標動作条件（例えば特定の周波数および電源電圧レベル）を満たすメモリ回路設計は、信頼性要件（例えばエラー訂正コード動作または他のプラットフォーム機能特徴）を満たすために追加のパイプライン時間を要求する他の応用（例えば、より低い周波数で動作するマルチコアフロントエンド／プラットフォームキャッシュアレイ）のための使用を満たさない可能性がある。さらに、個々のパイプライン段に関連するタイミングマージンは、（例えば温度差、電源電圧レベル変化、動作周波数調整、または他の動作状況への変更により）動的に変化し、パイプライン型メモリ回路の性能および電力消費に有害な影響を及ぼし得る。従って、メモリ回路を動作させる新しい技術が望まれる。
【０００７】
メモリ回路の性能および／またはメモリ回路の少なくともいくつかの動作点に対する電力消費を改善するメモリ回路を動作させる技術は、メモリの動作点に少なくとも部分的に基づいて、動作パイプライン段の数を調整することを含む。本発明の少なくとも１つの実施形態では、メモリ回路を動作させる方法は、メモリ回路によって生成されたフィードバック信号に少なくとも部分的に基づいて、メモリ回路の動作モードを選択することを含む。方法は、メモリ回路の選択された動作モードに基づく数のパイプライン段を使用して、メモリ回路を動作させることを含む。本発明の少なくとも１つの実施形態では、技術は個々のパイプライン段に関連するタイミングマージンを感知し、感知されたタイミングマージンに基づいてフィードバック信号を生成することを含む。
【０００８】
図１を参照すると、例証的なデータ処理システムは、インタフェース（例えば外部バスインタフェース１３およびバス９）を介して外部回路（例えば他の回路１７、キャッシュメモリ回路２０およびメモリ回路１５）に接続可能な集積回路（例えば集積回路７）を備え得る。集積回路は、キャッシュメモリ回路（例えばキャッシュメモリ回路１８）を備えてもよいプロセッサ回路（例えばプロセッサ回路１１）を備え得る。プロセッサ回路１１は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、または他の適切な情報処理回路であってよい。さらに、データ処理システム１０の少なくとも１つの実施形態では、集積回路７は、（例えばバス８を介して）プロセッサ回路に接続された他の回路（例えばキャッシュメモリ回路１９、メモリ回路１４，メモリ管理ユニット１２および他の回路１６）を備える。集積回路７内に示されたコンポーネントの種類、数または配置は単なる例であり、当業者には、本発明と一致するシステムおよび／または集積回路の実施形態が、より一般的に、他のコンポーネントの種類、数、および配置を備えてもよいことが理解されるだろう。
【０００９】
一般に、メモリ１４，１５、１８，１９および２０は、任意の種類の情報（例えばアドレス、データ、タグまたは他の適切な情報）を格納してもよく、かかる情報においてまたはかかる情報に関連して、パイプライン型アレイアクセスが記憶階層中の何らかのレベルで行なわれる。同様に、キャッシュ１９および／または同様の設計の他のコンポーネントがメモリ管理ユニットの一部として現われてもよい。図１はメモリ１４およびキャッシュ１９を別々に示しているが、本発明と一致する他の実施態様は一方を含むが他方を含まなくてもよく、または２レベル以上の記憶階層を１つの要素またはブロックへ組み合わせてもよい。
【００１０】
コンポーネントは例証的な集積回路７として具現化されているが、別の実施形態では、１または複数のコンポーネントが別々の複数の集積回路で実装されてもよい。図の集積回路７の内部コンポーネントは相互に連結し、任意の適切な技術を使用して共同作業する。簡単にするため、主な機能的ブロックの相互接続がバス８で示されているが、任意の様々な相互接続技術およびトポロジーが本発明から逸脱せずに使用されてもよいことが当業者には理解される。
【００１１】
本明細書で説明する技術は、データ処理システム１０の１つまたは複数のメモリ回路または他の適切なメモリ回路で具現化可能である。技術をキャッシュメモリ回路の例に関して説明するが、任意の様々なメモリ回路を使用してもよいことが当業者には理解される。図２を参照すると、例証的なキャッシュメモリ回路２００は、デコード論理およびラッチ回路２２０，ワード線ドライバ２３０，ビットセルアレイ２４０，カラム論理およびラッチ２４２，および制御論理回路２２２を備えている。キャッシュメモリ回路２００は、適切な境界で複数の段にメモリアクセスを分割する例証的なパイプライン型メモリ回路である。個々のパイプライン段は制御論理回路２２２によって制御され、制御論理回路２２２は、制御クロック信号、読み取りイネーブル信号および指標値（インデックス）に応じて制御信号を生成する。例えば、キャッシュメモリ回路２００は２つのパイプライン段へ分割されてもよい。第１のパイプライン段は、デコード論理段（例えばデコード論理およびラッチ回路２２０）、ワード線ドライバ（例えばワード線ドライバ２３０）およびメモリアレイ（例えばビットセルアレイ２４０）を備えてもよい。デコード論理段は、少なくとも部分的にアドレス（例えばインデックス）をデコードし、結果を格納する。デコード論理およびラッチ回路の２２０の出力は、ワード線ドライバ２３０およびビットセルアレイ２４０に提供され、ビットアレイセル２４０は例えばカラム論理およびラッチ回路２４２を含む第２のパイプライン段にメモリ内容を提供する。特定のカラム出力が選択され、１つのクロックサイクルと２つのクロックサイクルの待ち時間当たり１つの新しいデータ値のスループットで、Ｄoutに対して新しいデータが提供されてもよい。
【００１２】
少なくとも１つの動作点について、キャッシュメモリ回路部分２００は、目標性能（つまり制御クロック信号の目標振動数、例えば２ＧＨｚ）で動作する制御クロック信号の全サイクルを利用して、メモリアクセスの対応する部分を実行するパイプライン段へ分割される。しかしながら、キャッシュメモリ回路部分２００は、異なる動作点（例えば目標性能動作点より低い電源電圧および／または低い制御クロック信号周波数を備えた動作点）に対して構成されてもよい。従って、キャッシュメモリ回路部分２００の電源電圧レベルおよび／または制御クロック信号の周波数が下がり、それによりキャッシュメモリ回路部分２００の待ち時間が増加する。一貫した電源電圧レベルを備えた制御クロック信号の周波数の減少または制御クロック信号の周波数および電源電圧レベルの両方の減少の結果、個々のパイプライン段のタイミングマージンが増加する。
【００１３】
より低い動作点で動作する完全パイプライン型モードの場合、キャッシュメモリ回路部分２００における個々のパイプライン段によって制御クロック信号の全期間は利用されないため、図３のキャッシュメモリ回路部分３００は調整可能なパイプラインを備えている。ある条件下では、パイプラインはキャッシュメモリ回路部分３００のより少数の段（つまり１つまたは複数のフラッシュスルーモード）で動作するように構成され、それにより同じ動作点における完全パイプライン型動作と比較して、キャッシュメモリ回路部分３００の待ち時間が短縮される。したがって、キャッシュメモリ回路部分３００は、目標動作点におけるよりも低い電源電圧レベルおよび／または低い制御クロック信号周波数を有する動作点で余分のタイミングマージンを利用するように動的に構成され得る。例えば、キャッシュメモリ回路部分３００がピーク性能（例えばｆPEAK、ＶPEAK）に対して構成される場合、フラッシュスルーモードはすべて無効になる。しかしながら、キャッシュメモリ回路部分３００が低電力モード（例えばｆPEAK／２，ＶDD2）で動作するように構成される場合、完全パイプライン型モードにおけるよりも少なくとも１つの少ない数のパイプライン段を使用した第１のフラッシュスルーモードが有効になり得る。キャッシュメモリ回路部分３００がさらに低い電力／性能モード（例えばｆPEAK／４，ＶDD3）でも動作するように構成される場合、さらに少ない数のパイプライン段を使用した対応フラッシュスルーモードが有効になり得る。キャッシュメモリ回路部分３００の少なくとも１つの実施形態では、制御論理３２２は、測定された電源電圧レベルのインジケータ（例えばＤＶＦＳ  ＣＯＮＴＲＯＬ）および／または集積回路７の少なくとも一部の測定された動作周波数に基づいて低電力モードで動作するようキャッシュメモリ回路部分３００を構成し、かかる測定値は任意の適切な技術によって生成されてよい。キャッシュメモリ回路部分３００少なくともの１つの実施形態では、ＤＶＦＳ  ＣＯＮＴＲＯＬ信号は制御ユニット（例えば以下に説明する図９の制御システム９００）により生成される。制御ユニットは、キャッシュメモリ回路３００の少なくとも一部によって受け取られた電源電圧レベルおよび／またはキャッシュメモリ回路部分３００における動作のタイミングを制御するために使用される制御クロック信号の周波数を調整する。
【００１４】
コンポーネントを、図１のデータ処理システム１０の少なくとも１つの実施形態における、例証的なキャッシュメモリ回路部分３００として具現化されるものとして説明しているが、１または複数のコンポーネントが対応するメモリ回路部分の外部で実装され、他の回路と共有される。例えば、制御論理回路３２２の機能の少なくとも一部が集積回路７の他の部分により、またはデータ処理システム１０の他の部分により実装可能であることが当業者には理解される。
【００１５】
図３に参照すると、例証的なキャッシュメモリ回路部分３００は、図４のメモリ回路部分４００に示すような例証的な動作の分割を有する調整可能なパイプラインを備えている。キャッシュメモリ回路３００のデコード論理およびラッチ３２０、ワード線ドライバ３３０、およびビットセルアレイ３４０の動作が第１のパイプライン段（例えば図４のパイプライン段４０１）に組み合わされ、図３のカラム論理およびラッチ３４２および追加論理回路の動作が第２のパイプライン段（例えば図４のパイプライン段４０３）に組み合わせられる。
【００１６】
図４および５を参照すると、パイプライン段４０１は、インデックスまたはメモリアドレスの複号機能を行ない、出力（例えばワード線選択、カラム選択およびセクタ選択）を生成する、フロントエンド回路４０４を備えている。完全パイプライン型動作中、フロントエンド回路４０４の出力は制御クロック信号の高い位相（例えばＣＬＫのＣ２位相）の間変化（例えば遷移５０２）し、ラッチ４０６によりラッチされ、これが制御クロック信号の低い位相（例えばＣＬＫのＣｌ位相）の間、データをバックエンド回路４０８へと通過させる。メモリ回路部分４００の少なくとも１つの実施形態では、フロントエンド回路４０４は行デコーダ、列デコーダ、マルチプレクサ回路および／または他の適切な回路を備えている。
【００１７】
パイプライン段４０１は、ワード線をアサートしメモリアレイ回路のビットラインを感知およびアクセスすることによりメモリアレイにアクセスする、バックエンド回路４０８を備えている。メモリ回路部分４００の少なくとも１つの実施形態では、バックエンド回路４０８は、センス増幅器、メモリセル、マルチプレクサ回路および／または他の適切な回路を備えている。メモリ回路部分４００の少なくとも１つの実施形態では、バックエンド回路４０８が動的論理回路（例えば制御クロック信号の第１相中に特定の電圧準位に予め充電され、制御クロック信号の別の位相中に条件付きで放出される出力ノードを含む論理構造）を備えることに注意する。
【００１８】
例えば、メモリ回路部分４００の少なくとも１つの実施形態では、バックエンド回路４０８がメモリセルからのデータにアクセスし、それをデータ出力信号に提供する（例えば、ワード線を選択し、ビットライン上で対応する信号を発達させる）。バックエンド回路４０８中のアレイに接続されたビットラインは、制御クロック信号の高位相中に予め充電される（例えば遷移５１２）。ワード線は、制御の低位相中に信号遷移を選択し（例えばＷＬの遷移５０４）、制御クロック信号の低位相中にビットライン上で信号が開発される（例えば遷移５１６）。センス増幅器中のノードは、制御クロック信号の低位相の第１部分の間の例えばＳＡＥＱが高い間に、零入力値に設定され（例えば遷移５１４）、ちょうどワード線セレクト信号が高く活性化される（例えばＳＡＥＱの遷移５１８）前にリセットされる。ビットライン上のデータは、ＳＡＥＮが高いとき（例えば遷移５０６）に感知され、バックエンド回路４０８の出力（例えばＳＡ ＯＵＴ ＳＬ２）がラッチ４１０により次の回路に渡される。その後、メモリアレイのセンス増幅器出力のラッチバージョン（例えばＳＡ ＯＵＴ ＳＬ２）が、パイプライン段４０３へ提供される。完全パイプライン型動作中、制御クロック信号の第１段中のフロントエンドの回路４０４の動作と、制御クロック信号の第２段中のバックエンド４０８の動作により、制御クロック信号の完全な１サイクルで、パイプライン段４０１のワード線およびカラムデコードおよびメモリアレイが実行される。
【００１９】
本発明の少なくとも１つの実施形態では、パイプライン段４０３は、ＳＡ ＯＵＴ ＳＬ２信号から適切な信号を選択する選択回路４１２を備えている（例えば方法選択、セクタ選択、データ再整列または他の適切な動作）。完全パイプライン型動作中に、選択回路４１２の出力はフリップフロップ４１４で格納され、制御クロック信号の立下がりエッジ（例えば遷移５０８）後に、新しいデータがメモリ回路部分４００により提供される。本発明の少なくとも１つの実施形態では、パイプライン段４０３は、データ処理論理回路４２０も備えており、データ処理論理回路４２０はＳＡ ＯＵＴ ＳＬ２信号に含まれる適切な信号の論理処理（例えばエラー訂正コード動作）および／または他の適切な処理を行なう。完全型パイプライン型動作中、データ処理論理４２０の出力は制御クロック信号の特定の位相中にラッチされる。従って、完全パイプライン型動作中、パイプライン段４０３のデータ選択および処理動作は、制御クロック信号の少なくとも１つの半サイクルに実行する。
【００２０】
メモリ回路部４００の１または複数の個々の回路部は、フィードバック信号、例えばｆｌｕｓｈ＿ｏｋｌ、ｆｌｕｓｈ＿ｏｋ２，ｆｌｕｓｈ＿ｏｋ３、ｆｌｕｓｈ＿ｏｋ４を生成し、これらは回路部が余分のタイミングマージンを有しているかどうか示し、かつ／または、対応する回路部のタイミングマージンの量を示す。図６を参照すると、バックエンド回路４０８に備えられ得る例証的な回路部は、ｆｌｕｓｈ ｏｋ信号であってもよい信号を生成する。回路６００は、メモリアレイに含まれるビットセル６０２を示す。ビットセル６０２の内容を反映するために、ビットラインＢＬおよびＸＢＬは予め充電され、読込アクセスの間に放電される。センス増幅器６０６は、ＳＡ ＥＮ信号によるＢＬおよびＸＢＬの評価に基づいてデータ信号を生成する。プログラマブル遅延回路６１０は、センス増幅器６０６に類似の別のセンス増幅器（例えばセンス増幅器６０８）へのＳＡ ＥＮ信号を遅延させることにより、読込動作のマージンを決定するために使用される。センス増幅器６０８の出力を適切に評価する場合、適切な技術を使用してプログラマブル遅延の大きさに基づいて定量可能なタイミングマージンが存在する。
【００２１】
図７を参照すると、バックエンド回路４０８に備えられ得るフィードバック信号生成回路の別の実施形態は、ＮＡＮＤゲート感知回路７０８を備えている。ビットセル７０２とセンス増幅器７０６は、回路７１０により制御される。ＮＡＮＤゲート感知回路７０８は、ＶDD（ｋ＊ＶDD）の分数である所定のトリガー点を有する。タイミングマージンが存在すれば、ＮＡＮＤゲート感知回路は適切にビットセル７０４の出力を評価するだろう。タイミングマージンは、任意の適切な技術を使用して、ＮＡＮＤゲート感知回路７０８のトリガー点に基づいて定量化され得る。
【００２２】
戻って図４に参照すると、メモリ回路部分４００はフロントエンド回路４０４、バックエンド回路４０８、選択回路４１２およびデータ処理論理回路４２０の各々に対する１つのフィードバック信号を備えているが、メモリ回路部分４００の少なくとも１つの実施形態では、フィードバック信号は個々の回路部のうちのただ一つまたは複数により生成されてもよい。例えば、本質的にバランスのとれたパイプラインの任意の１つのパイプライン段が、タイミングマージンが存在するか否か示すかまたはパイプライン段のタイミングマージンの量を示す、フィードバック信号を生成してもよい。代わりに、最悪の場合のパイプライン段だけが、フィードバック信号を生成してもよい。メモリ回路部分４００の少なくとも１つの実施形態では、フィードバック信号は、メモリ回路部分４００に接続された制御回路（例えば図３の制御論理回路３２２）により、動作モードを選択するために使用されてもよい。選択された動作モードは、完全パイプライン型動作モードであってもよいし、またはフラッシュスルー動作モード（つまり減少数のパイプライン段を使用してパイプラインが実行する動作モード）であってもよい。特定のメモリ回路は、別のパイプライン段（つまりフラッシュ段）へ合体されるパイプライン段の数だけ異なる複数のフラッシュスルーモードを有してもよい。例えば、完全パイプライン型動作で４段階のパイプラインを有するメモリ回路は、３つのパイプライン段、２つのパイプライン段または１つの段（つまりメモリ回路自体の中にはパイプラインがないが、メモリ回路の境界に複数の状態要素を含む）を有するメモリ回路の個々の構成に相当するフラッシュスルーモードでも別々に動作してもよい。
【００２３】
フラッシュスルーの動作モードでは、パイプラインの１つまたは複数の状態要素はトランスペアレントに構成される。例えば、状態要素は、状態要素を備えたパスから、または状態要素をバイパスする別のパスから選択するために、マルチプレクサを使用して完全にバイパスされてもよい。代わりに、フラッシュスルーモードでは、状態要素は入力信号を直接通って制御クロック信号と非同期に出力ノードへと入力信号を送るように構成されてもよい。メモリ回路部分４００の少なくとも１つの実施形態では、状態要素をバイパスするのではなく、制御クロック信号はフラッシュモードを示す制御信号で論理上ＯＲにされる。例えば、ラッチ４０６およびラッチ４１０を制御するためにはｆｌｕｓｈｌが使用される。ｆｌｕｓｈｌが低い場合、ラッチ４０６および４１０は、クロック制御信号に関して同期してそれぞれの入力信号を対応する出力ノードへ渡すように構成される。ｆｌｕｓｈｌが高い場合、ラッチ４０６および４１０は、クロック制御信号に関して非同期にそれぞれの入力信号を対応する出力ノードへ渡すように構成される。結果として、パイプライン段４０１および４０３は、完全パイプライン型構成と比較して待ち時間が短縮された、かかるパイプライン段に対応する動作を実行する一つのパイプライン段へと組み合わされる。
【００２４】
図４および８を参照すると、メモリ回路４００が、第１のクロック周波数閾値（例えばｆPEAK／２）に相当する第１のフラッシュスルー動作モード（例えばｆｌｕｓｈ１＝「１」かつｆｌｕｓｈ２＝「０」）に構成されている場合、フロントエンド回路４０４の出力は制御クロック信号の高い位相中に変化し、かつラッチ４０６を通ってバックエンド回路４０８に渡される。バックエンド回路４０８中のアレイに接続されたビットラインは、制御クロック信号の高位相（例えば遷移８１０）中に予め充電される。制御クロック信号の低位相中、ワード線選択信号が遷移（例えば遷移８０２）し、制御クロック信号の低位相中にかかる信号がビットライン上で発達する。バックエンド回路４０８の少なくとも１つの実施形態では、センス増幅器はフラッシュスルー動作モードで有効となる。従って、ＳＡＥＮが高い（例えば破線のＳＡＥＮ波形で遷移８０８）場合にビットライン上のデータが感知され、バックエンド回路４０８の出力がラッチ４１０（例えばＳＡ ＯＵＴ ＳＬ２）を通ってパイプライン段４０３へ渡される。
【００２５】
バックエンド回路４０８の１つの少なくとも実施形態では、ＳＡＥＮ信号は、フラッシュスルー動作モードで無効となり、これにより選択ビット線が無効にされたセンス増幅器を通過し、ラッチ４１０（例えば遷移８１８）を通じてパイプライン段４０３へＳＡ ＯＵＴおよびＳＡ ＯＵＴ ＳＬ２が生成される。アレイ出力の特定の部分は選択回路４１２により選択され、データ処理論理回路４２０に提供される。その後、データ処理論理回路４２０の結果が、制御クロック信号の低位相中（例えば遷移８２２）にＯＵＴ２に渡される。制御クロック信号の低位相中に新しいデータがメモリ回路部分４００により提供され、制御クロック信号の立ち上がりエッジ（例えば遷移８２２および８３２により定義）の後で有効となる。データは、完全型パイプライン型構成と比較して、待ち時間が改善された（例えばセンス増幅器が有効の場合、クロックサイクルの２分の１以下だけ改善され、センス増幅器が無効になる場合、クロックサイクルの２分の１よりも大きくだけ改善される）出力で提供されることに注意する。
【００２６】
図４を参照すると、メモリ回路部分４００の少なくとも１つの実施形態では、クロック周波数の減少に伴いパイプラインの待ち時間が増加するため、パイプライン段の数は、第２のクロック周波数閾値（例えばｆPEAK／４）に相当する１つまたは複数の追加の制御信号（例えばｆｌｕｓｈ２）を使用して、一つのパイプライン段へ組み合わせることによりさらに減少され得る。例えば、制御クロック信号周波数が第２のクロック周波数閾値未満に低下した場合、ｆｌｕｓｈ２はアサートされ、それによりラッチ４２２がトランスペアレントに構成される。従って、ＤＯＵＴ２Ａは、本質的に遅延無く、クロック制御信号と非同期に、ＯＵＴ２に移行する。結果として、フロントエンド回路４０４，バックエンド回路４０８、選択回路４１２、およびデータ処理論理回路４２０は、制御クロック信号の多くて１つのサイクルの待ち時間を有する一つのパイプライン段を形成する。図４のメモリ回路の分割が例証的であることに留意する。パイプライン型メモリ回路の別の実施形態が他の適切な回路境界で分割されてもよいことが、当業者には理解される。
【００２７】
図９を参照すると、例証的な集積回路プロセッサ（例えば図１のプロセッサ１１）は、制御システム９００の少なくとも一部分を備えている。制御システム９００の少なくとも１つの実施形態では、制御装置９０２は、完全パイプライン型動作またはフラッシュスルー動作のためのキャッシュメモリ回路９０８を構成するために入力（例えば集積回路７に接続されたヒューズまたは図１の集積回路７の入力ピン上の信号の状態）を検知する。少なくとも１つの実施形態では、制御装置９０２は、制御レジスタ９０４の内容に従い電源電圧レベルおよび／またはプロセッサ１１のクロック信号周波数を動的に測定する。制御レジスタ９０４はハードウェアまたはソフトウェアの少なくとも一方により設定されてよい。例えば、集積回路プロセッサ上で実行するソフトウェアは、図１のプロセッサ１１上で実行する命令に基づく制御レジスタ９０４を構成してもよい。それらの命令は、命令の種類（例えばＬ２ ｎａｐ、ｄｅｅｐ  ｎａｐ、ｓｎｏｏｐｓ、またはスレッドがすべて使用されていない場合）により、または命令中の追加の事前複号により、低電力モードの集積回路プロセッサを構成する。少なくとも１つの実施形態では、集積回路プロセッサは、パイプライン動作モードの表と、メモリ回路の制御クロック信号の１つまたは複数の周波数と電源電圧の１つまたは複数のレベルとに対応する値と、に基づいてパイプラインの動作モードを選択する。集積回路プロセッサは、対応する動作モードを決定すべくメモリ回路の１つまたは複数の目標待ち時間と、目標電力消費とを用いて表（例えば制御レジスタ９０４または他の適切な記憶回路に格納された表）にアクセスし、制御レジスタ９０６を構成する。
【００２８】
少なくとも１実施形態では、集積回路プロセッサが、低周波数および／または低電力モードを開始するためにパッドまたはピンから受け取った１または複数の入力に基づいて制御レジスタ９０４を書き込む。図９を戻って参照すると、制御装置９０２は、制御レジスタ９０４の内容に基づいて各メモリ回路に対するローカルメモリ制御信号（例えば制御クロック信号周波数および電源電圧レベル）を構成する。それらの値はメモリアクセス周波数および電圧制御レジスタ９０６に格納されてよく、これらはキャッシュメモリ回路９０８を制御するために使用される。
【００２９】
制御装置９０２は、キャッシュメモリ回路９０８が完全パイプライン型モードで動作するか、またはフラッシュスルーモードで動作するかを動的に選択するための、１または複数のフラッシュモード制御信号も生成する。図９および１０を参照すると、少なくとも１実施形態では、制御装置９０２は、特定のメモリ回路の動作点を、１または複数の所定の閾値（例えば（ｆFREQ1，ＶDD1）（ｆFREQ2，ＶDD2），ＴＨＲＥＳＨｌ、ＴＨＲＥＳＨ２，ＴＨＲＥＳＨ３、およびＴＨＲＥＳＨ４）と比較することにより、特定のフラッシュスルーモードを有効または無効にする。かかる所定の閾値はメモリ回路（メモリ制御レジスタ９０６または他の適切なメモリ回路）に格納される。閾値レベルは、シミュレーション、目標動作点、温度、他の環境要因、または他の適切なパラメータの１つまたは複数に基づいて決定され、かつ利用され得る。さらに、閾値レベルは、例えばパイプライン段の動作を保証し、かつ動作モード間の余分の切り替えを低減すべく、制御ループへヒステリシスを導入するように決定されてもよい。少なくとも１つの実施形態では、メモリ制御レジスタ９０６は、制御クロック信号の目標周波数と、電源電圧の目標レベルとを備えている。
【００３０】
図１０を参照すると、動作点の関数としての、完全パイプライン型動作、第１のフラッシュスルー動作モードおよび第２のフラッシュスルー動作モード中の例証的な性能（例えば待ち時間）および電力消費が例証される。曲線部分１００２および１０５２は、完全パイプライン型動作で構成された（例えばｎ個のパイプライン段を有する）メモリ回路部分の性能と電力消費にそれぞれ相当する。曲線部分１００４および１０５４は、第１のフラッシュスルー動作モードで構成された（例えばｎ−１個のパイプライン段を有する）メモリ回路部分の性能と電力消費にそれぞれ相当する。曲線部分１００６および１０５６は、第２のフラッシュスルー動作モードで構成された（例えばｎ−２個のパイプライン段を有する）メモリ回路部分の性能と電力消費にそれぞれ相当する。モード間の遷移点は、シミュレーション、特定の動作点における目標電力消費と性能、温度、他の環境要因または他の適当なパラメータの１つまたは複数に基づいて決定可能である。
【００３１】
図４を戻って参照すると、完全パイプライン型モードに構成された時、フリップフロップ４０２からフリップフロップ４１４の出力までのメモリアクセスは、制御クロック信号の２つのサイクルの待ち時間を有する（例えば、制御クロック信号周波数はｆPEAKに等しい）。制御クロック周波数がｆPEAKから周波数ｆ（ｆFREQ2＜ｆ＜ｆFREQ1（例えば、ｆPEAK／４＜ｆ＜ｆPEAK／２））を有する動作点まで減少される場合、２つのパイプライン段の論理の合計伝播遅延が、制御クロックサイクルよりも小さくなる。合計遅延時間が制御クロックサイクルの所定の割合よりも小さい場合（例えば制御クロックサイクルの８５％）、クロックをスケールダウンしたときに失われた性能の一部を、ｆFREQ1,ＶDD1における曲線部分１００２から曲線部分１００４の性能の不連続性により示されるように、フラッシュスルーモードに入ることにより回復することが可能である。同様に、制御クロックがｆFREQ2より低い動作点にさらに減少される場合、ＶDD2（例えばｆPEAK／４）ラッチ４２２はフラッシュスルーモードに設定され、第２のフラッシュスルーモードに入ってもよい。クロックがｆFREQ2よりも低く減少された場合に失われた性能の一部を、ＶDD2で曲線部分１００４から曲線部分１００６までの性能の不連続性によって示されるように、少なくともクロックがｆFREQ2以下に計られる時失われた性能の一部は、ｆFREQ2,ＶDD2における曲線部分１００４から曲線部分１００６の性能の不連続性により示されるように、第２のフラッシュスルーモードに入ることにより回復することが可能である。
【００３２】
図９および１１を参照すると、制御システム９００の少なくとも１つの実施形態では、メモリ回路の動作方法の選択の際に、制御装置９０２はヒステレシスを導入する。つまり、電源電圧および／または制御クロック信号周波数の関数としてのモード選択は、電源電圧および／または制御クロック信号周波数の減少値と比較して、電源電圧および／または制御クロック信号周波数の増大値については異なる。電源電圧および／または制御クロック信号周波数の関数としてのモード選択は、電源電圧および／または制御クロック信号周波数に対する変更の大きさおよび方向に基づく。したがって、モード選択は、電源電圧および／または制御クロック信号周波数のみならず、電源電圧および／または制御クロック信号周波数の前回の値にも基づいて決まる。
【００３３】
例えば、少なくとも１実施形態では、制御装置９０２は、次の動作点を１または複数の閾値（例えば図１０の閾値）と比較し、それに基づき１または複数の対応するインジケータを生成する。その後、制御装置９０２は、１または複数のインジケータに基づいて、パイプライン型動作モードを少なくとも部分的に選択する。キャッシュメモリ回路９０８が完全にパイプライン型動作のために構成される場合（例えば、状態１１０２）、次の動作点が第１の閾値（例えばＴＨＲＥＳＨｌ）より大きいと、キャッシュメモリ回路９０８は次の動作点（１１１０）で完全にパイプライン化されたモードで動作し続ける。同様に、キャッシュメモリ回路９０８が完全パイプライン型動作のために構成され、次の動作点が、第１の閾値と第２の閾値（例えば第２の閾値は第１の閾値の８５％に設定することが可能である）の間にある場合、キャッシュメモリ回路９０８は次の動作点（１１０８）で完全パイプライン端動作モードで動作し続ける。しかしながら、キャッシュメモリ回路９０８が完全パイプライン型動作のために構成され、次の動作点が第２の閾値よりも低い場合、制御装置９０２は次の動作点（１１１４）でキャッシュメモリ回路９０８を第１のフラッシュスルーモード（例えば、状態１１０４）に構成する。制御装置の少なくとも１つの実施形態では、第２のフラッシュスルーモードをサポートするのに十分なタイミングマージンをメモリが有していることをフィードバック信号（例えば図４のｆｌｕｓｈ＿ｏｋｌおよび／またはｆｌｕｓｈ＿ｏｋ２）が示さない限り、状態１１０２から状態１１０４への遷移はなされない。
【００３４】
キャッシュメモリ回路９０８が第１のフラッシュスルーモードで動作している場合（例えば状態１１０４）、次の動作点が第１の閾値よりも大きいと、キャッシュメモリ回路９０８は次の動作点（１１１２）で完全パイプライン型モードで動作する。キャッシュメモリ回路９０８が第１のフラッシュスルーモードで動作している場合に、次の動作点が第４の閾値よりも大きいが第１の閾値よりも小さいと、キャッシュメモリ回路９０８は次の動作点（１１１６，１１１８，１１２０）で第１のフラッシュスルーモードで動作する。しかしながら、キャッシュメモリ回路９０８が第１のフラッシュスルーモードのために構成され、次の動作点が第４の閾値よりも小さい場合、キャッシュメモリ回路９０８は次の動作点（１１２６）で第２のフラッシュスルーモード（例えば状態１１０６）で動作する。制御装置の少なくとも１つの実施形態では、第２のフラッシュスルーモードをサポートするのに十分なタイミングマージンをメモリ回路が有していることをメモリフィードバック信号（図４の例えばｆｌｕｓｈ＿ｏｋ３および／またはｆｌｕｓｈ＿ｏｋ４）が示さない限り、状態１１０４から状態１１０６への遷移はなされない。
【００３５】
キャッシュメモリ回路９０８が第２のフラッシュスルーモード（例えば状態１１０６）で動作している場合に、次の動作点が第３の閾値より大きいと、キャッシュメモリ回路９０８は次の動作点（１１２４）で第１のフラッシュスルーモードで動作する。キャッシュメモリ回路９０８が第２のフラッシュモードで動作している場合に、次の動作点が第３の閾値未満であると、キャッシュメモリ回路９０８は次の動作点（１１２８，１１３０）で第２のフラッシュスルーモードで動作する。メモリ回路４００のパイプライン段が対応する動作モードで適切に動作するだろうということを保証するために第１，第２，第３，第４の閾値を選択しければならないことに注意する。
【００３６】
戻って図１０に参照すると、完全パイプライン型動作の性能を有する動作点と比較していくつかの動作点の性能が改善されるのに加えて、キャッシュメモリ回路９０８の少なくとも１つの実施形態では、フラッシュスルー動作モードが電力消費の低減という利点を与える。省電力は、状態要素（例えば状態要素を計測しないフロースルーモードまたはバイパスモードで構成）の切り換えの減少により達成されてもよい。一般に、状態要素の電力消費は、パイプラインラッチが多数（例えば、通常１メガバイト、レベル２キャッシュでは１０，０００個のパイプラインラッチ）あるためメモリ回路において重要である。メモリ回路を動作させるフラッシュスルーモードは、低減された周波数制御クロック信号で動作する完全パイプライン型回路の電力消費から電力消費をさらに低減させてもよく、これは図１０の曲線部分１０５２から曲線部分１０５４への、曲線部分１０５４から曲線部分１０５６への電力消費の不連続性により示されている通りである。
【００３７】
図１２を参照すると、本発明の少なくとも１つの実施形態では、調整可能なパイプラインメモリ回路部分（例えばキャッシュメモリ回路１２０８）に接続された論理回路（例えば論理ブロック１２１２）は、制御装置１２１０からメモリ回路の動作モードのインジケータを受け取る。制御装置１２１０は論理回路に制御信号を提供する。論理回路は、メモリ回路の可変の待ち時間に従って入力を受け取るべくメモリ回路を論理回路と同期させるために使用可能な論理制御信号を受け取る。論理回路も、かかる制御信号に基づいて適切な数のパイプライン段で構成されてもよい。
【００３８】
回路と物理構造は一般的なものが想定されるが、現在の半導体設計および組立てでは、物理構造と回路が、後続の設計、試験または組立て段階に使用するのに適したコンピュータ可読の記述形式で具現化され得ることがよく理解されている。複数の構造および例証的な構成中の複数の個別部品として提示された機能が、組み合わされた構造またはコンポーネントとして実装されてもよい。本発明は、いずれも本明細書で説明し添付の特許請求の範囲に定義されるように、回路、回路のシステム、関連方法、およびかかる回路、システムならびに方法をコードするコンピュータ可読媒体を含むことが想定される。本明細書に使用する場合、コンピュータ可読媒体は少なくともディスク、テープまたは他の磁気媒体、光学媒体、半導体媒体（例えばフラッシュメモリカード、ＲＯＭ）、または電子媒体を含む。
【００３９】
本明細書に記載した本発明の説明は例示であって、以下の請求項に記載した本発明の範囲を限定することは意図しない。例えば、本発明は完全パイプライン型モードでメモリ回路部分４００がパイプライン段４０１および４０３を備えた実施形態で説明されているが、当業者にはかかる教示を他の適切な境界により複数のパイプライン段へ分割されたメモリ回路部分に利用可能であることが理解されよう。本明細書に開示された実施形態のバリエーションおよび修正は、以下の請求項に記載した発明の範囲および趣旨から逸脱せずに、本明細書に記載した説明に基づいてなされ得る。
【図１】
0005522690.tif 000002
【図２】
0005522690.tif 000003
【図３】
0005522690.tif 000004
【図４】
0005522690.tif 000005
【図５】
0005522690.tif 000006
【図６】
0005522690.tif 000007
【図７】
0005522690.tif 000008
【図８】
0005522690.tif 000009
【図９】
0005522690.tif 000010
【図１０】
0005522690.tif 000011
【図１１】
0005522690.tif 000012
【図１２】
0005522690.tif 000013