図1は、周波数および電力の動的スケーリングをサポートするメモリ装置100を示す。より詳細には、図1は、離散モードに基づいてこのスケーリングを実行するメモリ装置の一実施形態を示す。メモリ装置100は、メモリコントローラ105、多速度コアインターフェイス110、およびメモリコア115を含む。メモリコントローラ105は、低電力モードおよび高性能モードから選択するために、クロックソース120および電圧調整器125を制御する。低電力モードでは、クロックソース120は比較的低周波のクロック信号iClkを、調整器125は比較的低い供給電圧Viをコアインターフェイス110に与える。するとコアインターフェイス110は、比較的遅く電力効率の良い速度でデータおよびアドレス信号をコア115に対して伝達する。高性能モードでは、クロックソース120は比較的高周波のクロック信号iClkを、調整器125は比較的高い供給電圧Viをコアインターフェイス110に与える。するとコアインターフェイス110は、電力効率がより低いとはいえ、比較的高速でデータ、コマンド、およびアドレス信号を伝達する。第2の電圧調整器130は、両方のモードにおいて、1組の一定のコア電圧Vcoreをメモリコア115に送る。
インターフェイス110などのインターフェイスにおける消費電力は、典型的には周波数、および供給電圧の二乗の両方の関数であることを理解すべきである。したがって、例えば約71%のより低い電圧を大体使用することにより、約50%のインターフェイス節電を得ることができ、さらなる節電は、より遅い信号速度に基づく。具体的には、CMOS回路の速度は典型的には供給電圧の関数であり、そのためインターフェイス回路の供給電圧をスケーリングすることにより、図1のシステムは比較的遅い外部の信号速度に合わせた方法でインターフェイス回路がより遅く応答することを効果的に認める。とりわけ、図1の実施形態は離散モードの観点から表すが、他の実施形態では電力および周波数は、形式的に定義されたモードに関連しない、例えばプロセッサまたは同様の回路(例えばメモリコントローラ)のプログラム制御下で変化が生じる多くのバリエーションを有することができる。ただし、消費電力が電圧の二乗に依存することが一因で、一部の実装形態では離散的節電モードが適切であり得る。例えば供給電圧の変動が、適用される信号速度に合致しない(例えばインターフェイス回路にあまりに早く応答させ、またはインターフェイス回路が十分早く応答するのを妨げる)ことがある。したがって、節電を最適化するために、インターフェイスの供給電圧変動を特定の信号システムの伝送速度に関連させ、これらを形式的に定義されたモードの観点から適用することが望ましい場合がある。先に述べたように図1は、低電力モードおよび高性能モードを使用することに基づくそのような一実施形態である。
この実施形態ではダイナミックランダムアクセスメモリであるメモリコア115は、行/列状に配置されたメモリセルMCのアレイを含む。メモリコントローラ105は、メモリコア115内のメモリセルMCの指定したサブセットとの間でデータDQを読み書きするために、コアインターフェイス110を介してメモリコア115にコマンドCMDおよびアドレスADDを発行する。行および列は、実装形態に応じて様々なサイズのものとすることができ、図1の実施形態は説明を簡略化するために大幅に単純化していることを理解すべきである。実際のメモリ装置は、典型的にはいくつかのメモリアレイを含み、各アレイはここに図示するよりもはるかに多いセルを含む。メモリコア115は、典型的には行/列デコードおよび駆動回路の一部、ならびにデータ駆動および増幅回路の一部も含む。
コアインターフェイス110の機能は、メモリコントローラが供給するアドレスに応じて、(典型的には外部処理のために)メモリコア115からデータを記憶し取得することである。コアインターフェイスは、データ経路135、コマンドデコーダ140、アドレスレシーバ145、および列経路150を含む。コマンドデコーダ140は、コントローラ105からのコマンドCMDを復号して、読出し動作、書込み動作、活性化動作、およびプリチャージ動作が最も一般的である、いくつかの従来のメモリ動作を指示する制御信号を作り出す。読出しおよび書込みコマンドにはアドレス信号ADDが付随し、アドレス信号ADDは、アドレスレシーバ145が別個の列アドレス信号Caddおよび行アドレス信号Raddへと復号する。列経路150は、1本しか図示しない列選択線CSELの集合を介してメモリコア115に列アドレスを伝える。メモリコア115は、メモリセルMCの行の中から選択するために行アドレスRaddを復号する行デコーダ(図3)を含む。データ経路135は、データDQをコアデータcDQとして、読出し動作のためにコア115から離れて、または書込み動作のためにコア115に向けて伝達する。
メモリ装置100は、読み書き以外のメモリ動作をサポートすることができる。例えばDRAMシステムでは、装置100は、例えばリフレッシュ動作、試験手順、および誤り検査に対するサポートを含むことができる。説明を簡略化するために、これらのおよび他の従来の機能および特徴についての解説は省略する。
上述したように、メモリ装置100は低電力モードおよび高性能モードの両方をサポートする。低電力モードでは、コントローラ105が、クロックソース120および電圧調整器125を制御する低電力/高性能信号LP/HPをアサートする。その結果、クロックソース120が比較的低周波のクロック信号iClkを発行し、電圧調整器が電圧Viを低い値に設定する。この低いクロック周波数および供給電圧は、データ、コマンド、およびアドレスの信号速度と処理速度を落とすだけでなく、コアインターフェイス110内の消費電力も減らす。
高性能モードでは、コントローラ105が低電力/高性能信号LP/HPをディアサートし、クロックソース120に比較的高い周波数でクロック信号iClkを発行させ、電圧調整器に電圧Viを高い値に設定させる。一実施形態では、クロック信号iClkの周波数および供給電圧Viを、低電力モードにおけるそのそれぞれの値に比べて、高性能モードではどちらも2倍にする。供給電圧を2倍にすることは消費電力を4倍にするが、処理速度および通信速度を2倍にすることを可能にする。したがって、高性能モードにおける情報単位当たりのエネルギ(1ビット当たりのエネルギ)量は、低電力モードのエネルギ量の約2倍である。他の実施形態は、さらなる電力および性能モードをサポートし、または離散モードではなく、電力および性能設定の1つまたは複数の範囲をサポートする。
図2は、一実施形態による図1のメモリ装置100の動作を示す流れ図である。205で始まり、メモリコントローラ105がクロックソース120および電圧調整器125に信号LP/HPをアサートするとき、メモリ装置100は低電力モードに入る。低電力モードに入るかどうかに関する決定は、電力管理ソフトウェアを実行するマイクロプロセッサ(不図示)から生じることができる。コアインターフェイス110内の信号の全てまたはサブセットが、低電力モードのクロック信号iClkによって確立される比較的遅い速度で伝搬し、これらの信号の信号振幅はインターフェイス電圧Viによって制限される。例えば、アドレスレシーバ145が列アドレス信号Caddを列経路150に伝え、列経路150は、列選択信号CSELを比較的遅い速度および低振幅の電圧でメモリコア115に導く(210)。データ経路135も同様に、行アドレスRaddおよびデータを比較的遅い速度および低い電圧でコア115に伝達する。コマンドデコーダ140はコマンドCMDを処理して、データ経路135、アドレスレシーバ145、および列経路150を制御する。
コア115内のデータ、コマンド、およびアドレス信号を伝えるために使用されるコア電圧Vcoreは、低電力モードにおいてスケールダウンされず、低電力モードのインターフェイス電圧Viよりも高い。したがって、この点について図1は、2つ以上の異なる供給電圧をメモリ(例えばメモリ装置)に与えるシステムを提供し、第1の供給電圧はスケーリングされていない電圧(Vdd/Vcore)を表し、第2の供給電圧は選択的にスケーリングされた電圧(Vi)を表し、それぞれは異なる回路を駆動することに留意すべきである。
メモリインターフェイスを独立にスケール可能な設計の一度の結果は、インターフェイス110からの信号の電圧振幅が、コア115に必要な電圧振幅に比べて低い可能性があることである。したがって、信号cDQ、CSEL、およびRaddの信号振幅を必要なコアレベルまで引き上げるためにレベルシフタを設けることができる(図3)。例えば215では、列選択信号CSELが電圧Viに由来する信号振幅から、より高い電圧Vcoreに由来する信号振幅にシフトアップされている。一実施形態では、例えば離散モードに基づき、電圧Vcoreは電圧Viの2倍とすることができる。
このメモリアクセスがメモリコア115内の指定したアドレスからデータを読み出すためのものと仮定し、メモリコア115は、要求されたデータをコアデータcDQとしてデータ経路135にもたらすことにより、列選択信号CSELおよび行アドレスRaddに応答する。コア115からインターフェイス110に移動し、データ信号cDQは、コア電圧Vcoreからインターフェイス電圧Viにシフトダウンされる(220)。したがってデータ信号cDQは、電力効率を求めて選択される比較的低いデータ転送速度および低い電圧でデータ経路135を通って伝搬する。データ経路135からのデータDQは、同じ低いデータ転送速度でメモリコントローラ105に伝えられる(225)。列選択信号CSELおよび行アドレス信号Raddによって指定されるアドレスにおいてメモリコア115内にデータをロードするために、データDQおよびcDQが逆方向に移動することを除き、書込み動作も同様である。
メモリ装置100は、高性能モードに入る命令をコントローラ105が受け取るまで、低電力モードで動作することができる。そのような命令に応答して、メモリコントローラ105は信号LP/HPをディアサートし、ディアサートすることは、クロックソース120にインターフェイスクロック信号iClkの周波数を2倍にさせ、電圧調整器125にインターフェイス電圧Viを2倍にさせる(230)。
高性能モードでは、コアインターフェイス110内の信号の全てまたはサブセットが、クロック信号iClkによって確立される比較的速い速度で伝搬し、これらの信号の電圧振幅は比較的高いコアインターフェイス電圧Viによって高められる。例えば、アドレスレシーバ145が列アドレス信号Caddを列経路150に伝え、列経路150は、列選択信号CSELを比較的速い速度および高い電圧でメモリコア115に導く(235)。アドレスレシーバ145およびデータ経路135は、行アドレスRaddおよびデータcDQを比較的速い速度および高い電圧でコア115に同様に伝達する。
高性能モードおよび低電力モードにおいて、コア電圧Vcoreは同じである。一実施形態では、電圧Vcoreは、高性能モードのインターフェイスViと同じまたは同様である。そのような場合、コアインターフェイス信号のレベルを、インターフェイス110とコア115との間でいずれの方向にもシフトする必要がない。メモリアクセスが指定したアドレスからデータを読み出すためのものと仮定し、メモリコア115は、要求されたデータをデータ経路135を介してメモリコントローラ105に伝えるためにインターフェイスcDQ上にもたらすことにより、列選択信号CSELおよび行アドレスRddに応答する(240)。列選択信号CSELおよび行アドレス信号Raddによって指定されるアドレスにおいてメモリコア115内にデータをロードするために、データDQおよびcDQが逆方向に移動することを除き、書込み動作も同様である。
説明を簡略化するために、コア電圧Vcoreを単一のノードおよび対応する電圧として図示する。実際のメモリ装置は複数のコア電圧を含むことができる。例えばDRAMメモリ装置は、最適な性能を求めて選択される様々なコア電圧を概して含む。これらのコア電圧には、外部供給電圧VCC、内部電圧VINT、ブーストされたワード線電圧VPP、ビット線センス増幅器のための基準としてのビット線電圧VBL、半ビット線電圧VBL/2、および基板電圧VBBが概して含まれる。これらの電圧は、同じ集積回路装置上のメモリコアと一体化した電圧調整器を使用して与えることができ、または外部ソースから1つもしくは複数のコア電圧を与えてもよい。図1の実施形態では、電圧調整器130は、外部から供給される電圧Vddからこれらのおよび他の所要のまたは所望のコア電圧を発生させる調整器の集まりを表す。
図示の例では、インターフェイス110の全体にわたり同じインターフェイス電圧Viが使用され、高性能モードでは比較的高い電圧であり、低電力モードでは比較的低い電圧である。ただし、インターフェイス電圧Viは、それぞれがインターフェイス110の特定の機能を最適化するように調整されるいくつかの供給電圧を表すことができる。例えば図3に関して以下に論じるように、ある種の入出力(I/O)回路に対する供給電圧を変えることは、性能に対して著しい悪影響を及ぼす可能性がある。モードを切り替えるとき、そのような回路への供給電圧を一定に保つことができる。電圧調整器125およびクロックソース120は、同じ集積回路装置内のインターフェイス110の外部にあっても、同じ集積回路装置内のインターフェイス110と一体化されていてもよい。コントローラ105およびメモリコア115の一方または両方も、同様にインターフェイス110と一体化することができる。他の構成も可能である。
図3は、別の実施形態によるメモリシステム300を示す。メモリシステム300は、メモリコントローラ305、DRAM310、および外部電圧調整器315を含む。不図示の中央処理装置(CPU)が、DRAM310からデータを記憶し取得するためにメモリコントローラ305に要求を発行する。
メモリコントローラ305は、DRAM310との間で行き来するデータのフローを管理するデジタル回路である。メモリコントローラは、典型的にはDRAMから分離しており、別個の集積回路(IC)として実装しても、マイクロプロセッサなどの別のICと一体化してもよい。図3の実施形態では、メモリコントローラ305およびDRAM310が別個のIC上にあり、データDQ、コマンドCMD、アドレスADD、および基準クロック信号CLKを伝えるチャネル320を介して通信する。これらの信号およびこれらの信号を伝えるために使用する方法は従来のものであり、そのため簡潔にするために詳細な解説は省略する。
メモリコントローラ305は、何らかの制御ロジック325、モードレジスタ330、および入出力(I/O)インターフェイス335を含む。同じまたは別のIC上のCPUが、様々なモードに入るための要求を発行する。I/Oがどのようにデータを送受信するのかを制御するモードをMCレジスタ内にロードする。制御ロジック325は、例えばCPUからのコマンドに応答して、DRAM310とのデータのフローを従来方式で管理する。この実施形態によれば、コントローラロジック325が、メモリシステム300の性能モードを示す値をモードレジスタ330にロードする。データ転送速度は性能とともに変わるので、モードレジスタ330は、入出力インターフェイス335が様々なモードに対応することを可能にするモード情報を入出力インターフェイス335に伝達する。例えば低電力モードでは、モードレジスタ330は、クロック信号CLKの周波数および信号DQ、CMD、およびADDの信号速度を1/2に減らすように入出力インターフェイス335に命令することができる。他の実施形態では信号帯域幅を様々な方法で調節し、そのいくつかを以下に詳述する。
DRAM310は、メモリコントローラの入出力インターフェイス335と通信するための入出力インターフェイス340、データを記憶し、提供するためのメモリコア345、および入出力インターフェイス340とメモリコア345との間の信号のフローを管理するための多速度コアインターフェイス350を含む。メモリコア345は、慣例的にメモリアレイ355、二次センス増幅器360、および行デコーダ365を含む。これらの要素は、コア電圧Vcoreを作り出す内部または外部の電圧調整器385によって電力を供給される。先に述べたように、コア電圧Vcoreは、コア345の様々な要素の需要に合わせて調整されるコア電圧の集まりとすることができる。コア電圧の作成および印加についてはよく知られている。
コアインターフェイス350とコア345との間の移行時の信号電圧の変化に対応するために、コアインターフェイス350とコア345との間にデータレベルシフタ370、列レベルシフタ375、および行レベルシフタ380を配置する。効率を改善するためにインターフェイス電圧Viを下げる低電力モードでは、振幅電圧の不均衡はかなり大きい可能性がある。図1の例にあるように、インターフェイス電圧Viは低電力モードおよび高性能モードをサポートするために低下/上昇するのに対し、コア電圧Vcoreはどちらのモードでも同じままである。
コアインターフェイス350は、アドレスおよび制御回路387、内部データ経路390、および列経路395を含む。データ経路390は、この例ではDRAM310の外部にあるチャネル320のデータ経路DQと区別するために「内在的」である。制御回路387は、コントローラ305からのコマンドCMDを復号して、読出しや書込みなどのいくつかのメモリ動作を実行し、低電力モードと高性能モードとの間でコアインターフェイス350および電圧調整器315を切り替える。メモリ動作は、アドレスバスADD上で受け取る特定のアドレスを対象とし、コアインターフェイス350が実行する動作は、メモリコントローラ305からのクロック信号CLKから受け取り、またはクロック信号CLKに由来する基準クロックrClkに関して時間調整される。他の実施形態では、この基準クロックは他の場所から来てもよい。
図4は、図3のメモリシステム300の動作を示す流れ図400である。405で始まり、例えばCPUからのコマンドに応答して、コントローラロジック325は、入出力インターフェイス340およびコアインターフェイス350に低電力モードに入らせ、さらに、落とされた信号速度でDRAM310と通信することを予期して、入出力インターフェイス335を低速モードにセットする値をモードレジスタ330にロードさせるコマンドをDRAM310に発行する。DRAM側では制御回路387が信号LP/HPをアサートし、それにより、調整器315が比較的低いインターフェイス電圧Viをもたらし、レベルシフタ370、375および380が、その結果生じるインターフェイス電圧とコア電圧との間の電圧の不均衡に対応する準備をし、DRAMの入出力インターフェイス340が、コントローラ305の入出力インターフェイス335に一致するように低速モードに入る。制御回路387はさらに、インターフェイス350を通る信号の速度を遅くするためにインターフェイスクロック信号iClkの周波数を下げる。
コントローラ305からの指定したアドレスADDを対象とする読出しコマンドの例を使用し(410)、アドレスおよび制御回路387が、アドレスADDを行アドレスRaddおよび列アドレスCaddに変換する。列経路395が列アドレスCaddを列選択信号CSELに変換し、CSELは、メモリコア345に適用するためにレベルシフタ375によってレベルシフトされる(415)。行アドレス信号も同様に行レベルシフタ380によってレベルシフトされ、レベルシフトされた信号が行デコーダ365に適用される。行デコーダ365はレベルシフトされた行アドレスRaddを復号して、メモリアレイ355に対して複数のワード線WLの中から選択する。
レベルシフトされたアドレス信号および他の不図示の制御信号に応答して、センス増幅器360が、アドレス指定されたメモリセルの行を検出し、検出したメモリセルコンテンツの被選択列をデータレベルシフタ370を介してデータ経路390に与える(420)。次いで、内部データ経路390が、低電力モードにおいて使用される落とされたデータ転送速度で読出しデータを入出力インターフェイス340、それ故にコントローラ305に伝える(425)。書込みも同様に実行され、メモリアレイ355内に書き込むために、データiDQがデータレベルシフタ370によりコア電圧Vcoreまでレベルシフトアップされる。
システム300は、例えば外部のコントローラによって命令されるときに高性能モードに入る(430)。コントローラロジック325がDRAM310にコマンドを発行し、そのコマンドに応答して制御回路387が信号LP/HPをディアサートし、さらに高速でデータを受け取り、コマンドおよびアドレスを伝達する準備を入出力インターフェイス335にさせる値をモードレジスタ330にロードする。入出力インターフェイス335および340はどちらも性能モード間で不変の供給電圧Vioを使用するが、他の実施形態では、入出力インターフェイス335および340は、インターフェイス350のようにスケールされた供給電圧を使用することができる。
ここでも読出しコマンドの例を使用し(440)、アドレスおよび制御回路387が、受け取ったアドレス信号ADDを行アドレスRaddおよび列アドレスCaddに変換する。列経路395が列アドレスCaddを列選択信号CSELに変換し、CSELは、そのアドレス指定されたデータを抽出するためにメモリコア345に適用される。図3の実施形態では、コア内のデータ信号および列選択信号が、高性能モードの信号CSELおよびiDQと同じ電圧範囲を使用する。したがって、高出力モードにおいて信号LP/HPをディアサートすることは、レベルシフタ370および375にそれらの信号をレベルシフトしないように命令する。他の実施形態では、列選択信号およびデータ信号の一方または両方を高性能モードにおいてレベルシフトすることができる。いずれの場合にも、センス増幅器360が選択されたメモリセルの行を検出し、結果として生じる検出データのアドレス指定された列をレベルシフタ370を介して内部データ経路390に与える(445)。最後に、このデータを高性能モードの比較的速いデータ転送速度で内部データ経路390、ならびに外部入出力インターフェイス340および335を介してコントローラ305に伝達する(450)。書込み動作も同様だが、データはコントローラ305からコア345内の指定したアドレスに伝達される。
図5は、説明を簡略化するために図3から省略した、メモリシステム300の一部を詳述する。上述したようにコアインターフェイス350は、内部データ経路390、アドレスおよび制御回路387、および列経路395を含む。データ経路390は、外部インターフェイス340からデータレベルシフタ370まで延び、入出力ゲートおよびデータマスクロジック505を含む。列経路395は、アドレスおよび制御回路387から延び、列アドレス信号Caddをロジック505へのデータ経路選択信号、およびレベルシフタ375を介してコア345に適用するための列選択信号CSELに変換する列デコーダ510を含む。データ経路390および列経路395は機能的に従来型だが、低電力モードおよび高性能モードのそれぞれにおいて使用される2つの供給電圧およびデータ転送速度に対応するように適合される。外部入出力インターフェイス340は、入出力クロック信号CLKioおよび基準クロック信号rClkの両方を得るために、コントローラ305からのクロック信号CLKを使用するクロックレシーバ512を含む。この実施形態では、低電力モードと高性能モードとを切り替えるとき、クロック信号CLKioおよびrClkはその周波数を変えない。
アドレスおよび制御回路387は、メモリコントローラ305からコマンドCMDを受け取り復号して、メモリコントローラ305とメモリコア345との間のアドレス信号およびデータ信号のフローを導くコマンドデコーダ515を含む。コマンドデコーダ515は、数多くの従来の機能をサポートし、先に論じた低電力モードおよび高性能モードから選択するコマンドをさらに復号する。例えば低電力コマンドに応答して、コマンドデコーダ515はそのモードを示す値をモードレジスタ520にロードする。その後レジスタ520は、信号LP/HPをアサートする。
信号LP/HPをアサートすることは、図3に関して先に詳述したように必要なコア電圧までデータ信号、列選択信号、および行アドレス信号をシフトするように、レベルシフタ370、375および380に準備させる。アサートされる信号LP/HPは、アドレスおよび制御回路387内のいくつかの回路にも影響を及ぼす。クロック回路525が、基準クロック信号rClkに応答してインターフェイスクロック信号iClkを作成する。インターフェイスクロック信号iClkの周波数は、低電力モードと高性能モードとの間で異なる。一実施形態では、クロック信号iClkは信号LP/HPがアサートされるとき100MHzで振動し、信号LP/HPがディアサートされるとき200MHzで振動する。
クロック信号iClkの周波数は、アドレスレシーバおよびレジスタ530、コマンドデコーダ515、列デコーダ510、およびロジック505の信号速度を制御する。したがって、クロック信号iClkの周波数を下げることは制御回路387を通る信号の速度を落とす。より低い信号速度のためのインターフェイスを構成するために、信号LP/HPを入出力インターフェイス340に供給する。コントローラ側では、モードレジスタ330が入出力インターフェイス335のために同様の役割を果たす。複数の信号速度に対応するために入出力インターフェイス335および340を適合させるための様々なオプションについて以下に詳述する。
コアインターフェイス350を通る信号速度を落とすことは、インターフェイス供給電圧Viをスケールダウンして節電できるようにする。一実施形態では、電圧Viは高性能モードでは約1.2Vであり、低電力モードでは約0.8Vまでスケールダウンされる。この低減は、コアインターフェイス350内の1ビット当たりのエネルギを約44%減らす。
コマンドデコーダ515は、低電力モードから高性能モードに変えるために様々な値をレジスタ520にロードする。その場合、レジスタ520は信号LP/HPをディアサートしてクロック信号iClkを高周波に戻し、その結果コアインターフェイス350を通る信号の速度を上げる。上昇した信号速度に対する需要に対応するために、インターフェイス供給電圧Viも引き上げられる。
様々なモード用の供給電圧を切り替えるために、調整器315を例えば信号LP/HPによって直接制御することができる。そのような場合、最悪の事態のタイミング制約を満たすように、電圧は十分に高い。図5の実施形態は速度センサ550を含み、速度センサ550は、コアインターフェイス350の速度性能を測定し、その測定に基づいてDRAM310のインスタンスごとに調整されるレベルに電圧Viを調節する。多くの場合メモリ装置は平均最悪性能に基づいて評価され、個々では評価以上の性能を有する場合があるので、結果として生じるインターフェイス電圧Viは、概して公称最小値未満の量に個別ベースで下げることができ、その結果節電することができる。
速度センサ550の一実施形態を以下に詳述する。手短に言えば、速度センサ550は、コアインターフェイス350を通る信号の伝搬遅延を再現する遅延要素を含み、伝搬遅延はインターフェイス電圧Viの関数である(より低い電圧Viはより長い遅延をもたらす)。速度センサ550は、これらの遅延要素による伝搬遅延の測度としてクロック信号iClkの周期を使用する。速度センサは、調整器315に対する制御信号SetRefを使用し、遅延要素による伝搬遅延がクロック信号iClkの周期に対して所望の関係を有するまで電圧Viを調節する。電圧Viは、一方または両方のモードで最適化することができる。
図6は、いずれも図5の電圧調整器315および速度センサ550の実施形態を詳述する。電圧調整器315は、デジタル−アナログ変換器(DAC)600、差動増幅器605、およびPMOSトランジスタ610を含む。DACは、デジタル設定基準信号SetRefをアナログ電圧Vrefに変換する。増幅器605が電圧Viを電圧Vrefと比較して、差に相当する出力を提供する。増幅器605の出力はPMOSトランジスタ610を介してインピーダンスを制御して、電圧Viを基準電圧Vrefと等しく保つ。こうして電圧Viは、速度センサ550からのデジタル信号SetRefによって決定される値に維持される。
速度センサ550は、分相器615、列経路395(図3および図5)の全てまたは一部の複製620、位相検出器625、およびカウンタ630を含む。分相器615は、クロック信号iClkをその真の形式iClkおよび補数形式(complement form)/iClkに分割する。複製列経路620は、反転させたクロック信号/iClkを遅延させ、その結果生じる遅延した波形を信号iClkとともに位相検出器625の入力に与える。位相検出器625は、遅延され、反転されたクロック信号の位相が信号iClkに比べて遅い(複製列経路が遅すぎることを示す)場合、カウンタ630に対して信号Up/Dnをアサートする。信号Up/Dnをアサートすることはカウンタ630をインクリメントし、調整器315にインターフェイス供給電圧Viを上げさせる。電圧Viを上げると経路620を介した遅延が減り、結果として位相検出器625の入力との間の位相差を無効にする。経路620を介した遅延がクロック信号iClkの周期の半分に等しくなるとき、速度センサ550は平衡状態に達する。
モードを切り替えるとき、電圧Viを粗調節するために信号LP/HPをカウンタ630に伝える。他の実施形態では、切替えを迅速化するために、カウンタ630が低電力モードおよび高出力モードのカウントを保存する。これらのカウントは1回確立することができ、または周期的に更新することができる。さらに他の実施形態では、様々なインターフェイス電圧レベルを送るために別個の電圧調整器を使用する。電圧調整器315および速度センサ550の一方または両方を、さらなる速度モードをサポートするように、または様々な範囲の速度および供給電圧にわたる、電力および性能の調節に対応するように適合させることができる。
図7は、一実施形態による図3および図5のコア345、ならびにレベルシフタ370、375、および380の一部を詳述する。コア345は、いくつかのメモリバンクのうちの1つとすることができるメモリアレイ335を含む。行デコーダ365は、いくつかのワード線WL[Q:0]を介してアレイ335内のメモリセルの行に接続し、制御する。行デコーダ365は、レベルシフタ380がデコーダに伝えるいくつかの行アドレス信号Radd[P−1:0]から、線WL[Q:0]上のワード線信号を復号する。図面全体を通して描く他のブロックと同様に、コア345およびデコーダ365は、明瞭にするために省略した追加のよく知られている構造を含む。
メモリアレイ335は、Nの相補(complementary)データ信号MDQ[N−1:0]/MDQ[N−1:0]としてメモリセル(不図示)と二次センス増幅器360との間でデータをやり取りする、一次センス増幅器の集まり700を含む。二次センス増幅器360は、1組の相補データ信号ごとに一対の、Nの読出し回路715およびNの書込み回路720を含む。メモリアレイ335はさらに、アレイ内のメモリセルの列の中から選択するためにMの列選択信号CSL[M−1:0]を受け取る、列選択ブロック705を含む。
レベルシフタ370、375および380のそれぞれは、実際はコア345とコアインターフェイス350との間の信号経路ごとに1つある、レベルシフタ730の集まりである。コアデータ信号cDQ[N−1:0]に使用される双方向レベルシフタは、単方向レベルシフタの対を使用して実装する。コア345に信号を伝えるレベルシフタ730は、より低いインターフェイス電圧から移行するために信号を必要に応じてシフトアップし、コア335からインターフェイス350に信号を伝えるレベルシフタ730は信号を必要に応じてシフトダウンする。
先に述べたように、コア電圧Vcoreは、外部供給電圧VCC、内部電圧VINT、ブーストされたワード線電圧VPP、ビット線センス増幅器のための基準としてのビット線電圧VBL、半ビット線電圧VBL/2、および基板電圧VBBが概して含まれる、コア335内で使用されるいくつかの電圧からなることができる。この実施形態では、レベルシフタ370、375および380は各々の信号をインターフェイス電圧ViとVCCとの間でシフトし、そのため他のコア電圧を受け取る必要はない。
図8Aおよび図8Bは、図7のレベルシフタ730を実装するために使用することができるレベルシフタ800および850をそれぞれ示す。レベルシフタ800は、モード信号LP/HPに応答して入力信号Inのために2つの経路の中から選択するデマルチプレクサ805を含む。低電力モードを選択するように信号LP/HPがアサートされる場合、デマルチプレクサ805は、レベルシフタ810を経由して入力信号Inを導き、レベルシフタ810の出力はモード信号LP/HPに応答してマルチプレクサ815によって選択される。レベルシフタ810は、入力信号をメモリコアに適用するのか、それともメモリコアから受け取るのかにもよるが、アップシフタでもダウンシフタでもよい。低電力モードを選択するように信号LP/HPがディアサートされる場合、デマルチプレクサ805とマルチプレクサ815との組合せが、入力信号Inをレベルシフトなしに出力Outに伝える。他の実施形態では、相対的なコア電圧およびインターフェイス電圧に応じて異なる量によってではあるが、両方の経路をレベルシフトすることができる。図8Bのレベルシフタ855は、比較的広範囲の入力電圧または出力電圧にわたり動作するように設計されるアップシフタまたはダウンシフタであり、そのため信号LP/HPを入力として必要としない。
図5に戻り、コアインターフェイス350は、2つのモードにおいて異なる信号速度で動作する。したがって、これらの変化に対応するように外部入出力インターフェイス335および340が適合される。一実施形態では、低電力モードにおいて、これらの入出力インターフェイスをコアインターフェイスと同じように遅くする。ただし、高性能の入出力インターフェイスは供給電圧および周波数の変化に迅速に適合できない回路をしばしば含み、その場合は、モードを切り替える際に加えられる遅延が節電のメリットを上回る可能性がある。例えば図5の実施形態では、入出力インターフェイス340内のクロックレシーバ512は、クロック信号CLKioとデータDQとの間の安定した位相関係を維持するために、位相ロックループ(PLL)または遅延ロックループ(DLL)を含むことができる。PLLおよびDLLは位相整列を得るために時間を必要とし、この遅延はモードの切替えを望ましくない程度にまで遅くすることがある。したがって、低電力モードおよび高性能モードにおいて同じ供給電圧および信号速度で動作するように、入出力インターフェイス335および340を適合させることができる。
図9Aから図9Dは、低電力モードおよび高性能モードの両方における、図3および図5の入出力インターフェイス340の読み書きのタイミングを示すタイミング図である。データ転送速度および供給電圧Vioは変わらないため、入出力インターフェイス340は低電力モードにおいて過度の帯域幅を有する。この実施形態では、コマンドCMD信号およびデータDQ信号にギャップを挿入することにより帯域幅を減らす。
図9Aは、高性能モードにおける入出力インターフェイス340およびコアインターフェイス350の動作を示し、この図ではインターフェイスクロック信号iClkは、入出力クロックCLKioの周波数の半分である。この例では、データDQが、クロック信号CLKioの立ち上がり端および立ち下がり端の両方の8つの並列リンクによって伝えられる。したがって、各データ群dq#は32ビットの情報を表す。コアデータcDQは、インターフェイスクロック信号iClkの立ち上がり端上の32のリンクによって伝えられ、そのため各コアデータ群cdq#も32ビットを表す。入出力340は、必要なデータ幅変換に対応するために並直列変換器および直並列変換器(不図示)を含む。
この読出しの例では、入出力インターフェイス340が4つのコマンドcol1、col2、col3、およびcol4のストリームを受け取り、そのそれぞれは、32の並列コアデータビットcdq1、cdq2、cdq3、およびcdq4からなるそれぞれのグループを返す。入出力インターフェイス340はこのコアデータを直列化し、それを直列化データdq1、dq2、dq3、およびdq4のグループとしてコントローラ305に伝送する。コマンドの開始と対応する直列化データの受取りとの間で測定されるデータアクセス時間は、クロック信号CLKioの約5周期である。
図9Bは、低電力モードにおける入出力インターフェイス340およびコアインターフェイス350の動作を示し、この図ではインターフェイスクロック信号iClkは、入出力クロックCLKioの周波数の4分の1である。図9Aの例と同様に、データDQは相変わらずクロック信号CLKioの立ち上がり端および立ち下がり端で伝えられ、コマンドCMDはこの速度の4分の1で伝えられる。しかしコアインターフェイス350は半分の速度で動作するので、コアデータcDQは入出力インターフェイス340に到達するのに2倍長くかかる。コントローラ305にある入出力インターフェイス335が、コマンド帯域幅を1/2に減らすためにコマンドの間にギャップ900を挿入し、それにより、データを取得するための時間をコアインターフェイス350に与える。入出力インターフェイス340も同様に、データ帯域幅を半分にするためにデータのバースト間にギャップ910を挿入する。データアクセス時間は、図9Aの実施形態のデータアクセス時間の2倍である。ギャップ900および910は無駄にする必要はなく、むしろ例えば同じバスを共用する他の装置が使用でき、または動的較正をサポートする順方向チャネルもしくはバックチャネルを提供するために使用することができる。したがって、チャネル320の全コマンド帯域幅は変わらないが、コアインターフェイス350側からするとコマンド帯域幅は半分になる。
図9Cは、高性能モードで書込み動作を実行する入出力インターフェイス340およびコアインターフェイス350の動作を示す。読出しの場合と同様に、データDQはクロック信号CLKioの立ち上がり端および立ち下がり端で伝えられ、コマンドCMDはこの速度の4分の1で伝えられる。この例では、入出力インターフェイス340が4つのコマンドcol1、col2、col3、およびcol4のストリーム、および対応するデータ記号dq1、dq2、dq3、およびdq4の組を受け取る。入出力インターフェイス340は、データDQを非直列化して4つの連続した並列コアデータ記号cdq1、cdq2、cdq3、およびcdq4の組を作成し、これらの組は、図5にcDQとして一括して図示する1組の32並列経路上でコア345に伝えられる。コア345内のメモリセルをプリチャージすることができるまでに、書込み動作の完了後に経過しなければならない、信号CLKioのサイクル数として指定される書込回復時間は約8である。
図9Dは、低電力モードで書込み動作を実行する入出力インターフェイス340およびコアインターフェイス350の動作を示し、この図ではインターフェイスクロック信号iClkは入出力クロックCLKioの周波数の4分の1である。図9の例と比べてコアインターフェイス350は半分の速度で動作するため、コアデータcDQは入出力インターフェイス340に到達するのに2倍長くかかる。コアに書き込むための時間をコアインターフェイス350に与えるために、コントローラ305にある入出力インターフェイス335がコマンドの間にギャップ920を挿入する。入出力インターフェイス340も同様に、データ帯域幅を半分にするためにデータのバースト間にギャップ930を挿入する。書込回復時間は、高性能モードの書込回復時間の約2倍である。
図10Aおよび図10Bは、外部インターフェイスDQの幅を2で割ることにより低電力モードにおいて入出力インターフェイスがデータ帯域幅を半分にする、入出力インターフェイス340およびコアインターフェイス350の動作を示す。例えば、インターフェイスDQが8つの並列トレースを含むと仮定して、入出力インターフェイス335および340は、高性能モードではそれらの全てを介してデータを伝え、または低電力モードではそれらの半分を介してデータを伝えるように構成することができる。したがって、コアインターフェイス350側からするとデータ帯域幅は半分になる。しかし、未使用のトレースによってもたらされる帯域幅は他の目的で使用することができるので、インターフェイスDQの全帯域幅は変わらない。
図10Aおよび図10Bに関して示す可変幅の実施形態は、高性能モードにおいて図9Aおよび図9Cに示すように動作する。図10Aの読出しの事例は、コマンドCMDの観点から図9Bの事例に似ている。データを取得するための時間をコアインターフェイス350に与えるために、コントローラ305にある入出力インターフェイス335がコマンドの間にギャップ1000を挿入する。しかし、データチャネルDQ内への挿入ギャップではなく、この事例ではデータ幅が8から4へと半分にされている。したがって各読出しコマンドは、1つの全幅グループではなく2つの半幅データ集合を引き出す。例えば列アクセスcol1は、図9Bの幅8のデータdq1ではなく、幅4のデータdq1aおよびdq1bを引き出す。図10Bの書込みの事例は、図9Dの事例に似ている。コマンドの間にギャップ1010が挿入される。コアインターフェイス350のより遅いデータ転送速度に対応するために、半幅データDQ(x4)が入出力インターフェイス335と340との間で伝えられる。
図11Aおよび図11Bは、コアインターフェイスのより低い速度に対応するために、入出力インターフェイスのクロック速度および供給電圧Vioを低電力モードにおいて低減する実施形態の入出力インターフェイスおよびコアインターフェイスの動作を示す。高性能モードにおける読み書き動作は、図9Aおよび図9Cのそれぞれに示すものとすることができる。低電力モードにおける読み書き動作は、図11Aおよび図11Bに示すように実行される。すなわち、コアインターフェイスおよび入出力インターフェイスの信号速度をそれぞれ半分にするために、クロックiClkおよびCLKioの周波数をどちらも半分にする。節電を強化するために、低電力モードにおいてコントローラ、メモリ装置、またはその両方の入出力インターフェイスへの電圧Vioを下げることができる。
本発明の完全な理解を提供するために、前述の説明および添付図面において、特定の用語および図面符号を示した。一部の例では、それらの用語および符号が、本発明を実施するのに必要でない具体的詳細を含意する場合がある。例えば、回路要素間または回路ブロック間の相互接続は、多導体または単一導体信号線として図示しまたは説明してもよい。多導体信号線のそれぞれは、代わりに単一導体信号線とすることができ、単一導体信号線のそれぞれは、代わりに多導体信号線とすることができる。同様に、アクティブハイまたはアクティブロー論理レベルを有するものとして説明しまたは図示した信号は、代替的実施形態では逆の論理レベルを有することができる。
別の例として、金属酸化物半導体(MOS)トランジスタを含むものとして説明しまたは図示した回路は、代わりにバイポーラ技術、または信号によって制御される電流フローを達成し得る他の任意の技術を使用して実装することができる。用語に関して、特定の状態を示すために信号が低論理状態または高論理状態に駆動される(または高論理状態に充電され、もしくは低論理状態に放電される)とき、その信号は「アサートされる」と言われる。逆に、アサートされた状態(高論理状態もしくは低論理状態、またはオープンドレイン状態やオープンコレクタ状態など、信号駆動回路が高インピーダンス状態に遷移される場合に生じ得るフローティング状態を含む)以外の状態に信号が駆動(または充電もしくは放電)されることを示すために、信号は、「ディアサートされる」と言われる。信号駆動回路は、信号駆動回路と信号受信回路との間に結合される信号線上の信号をアサート(または明確に述べる場合もしくは文脈によって示される場合はディアサート)するとき、信号受信回路に信号を「出力する」と言われる。信号線は、信号線上で信号がアサートされる場合に「活性化される」と言われ、信号がディアサートされる場合は「非活性化される」と言われる。さらに、信号名に付加されるプレフィックス記号「/」は、その信号がアクティブロー信号である(すなわちアサートされた状態が論理低状態である)ことを示す。いずれの場合にも、所与の信号がアクティブローかアクティブハイかは当業者に明らかになる。
本明細書に記載した回路の1つまたは複数を含む集積回路または集積回路の一部を設計するプロセスの出力は、例えば磁気テープや光ディスクまたは磁気ディスクなどのコンピュータ可読媒体とすることができる。コンピュータ可読媒体は、集積回路または集積回路の一部として物理的にインスタンス化することができる回路を記述するデータ構造または他の情報を用いて符号化することができる。そのような符号化には様々な形式を使用することができるが、これらのデータ構造は、一般にカルテック中間形式(CIF)、カルマGDSIIストリーム形式(GDSII)または電子設計交換形式(EDIF)で書かれる。集積回路設計の熟練者は、上記に詳述した種類の概略図および対応する説明からそうしたデータ構造を開発し、そのデータ構造をコンピュータ可読媒体上に符号化することができる。集積回路製造の熟練者は、そのような符号化されたデータを用いて、本明細書に記載した回路の1つまたは複数を含む集積回路を製作することができる。
本発明を特定の実施形態に関して説明してきたが、それらの実施形態の改変形態も考えられる。例えば先に述べたように、メモリコントローラは所望の目標を達成するために、例えば形式的に定義されたモード以外に設定を変更するために、(メモリ装置内部のまたはメモリ装置外部の)電圧調整器を動的にプログラムすることができ、このためにインターフェイス電力および周波数、ならびに他の設定用の別個のレジスタを設けることができる。他の設計も存在する。これらの例は決して網羅的ではなく、特許請求の範囲に含まれる多くの代替形態が当業者に明らかになる。さらに、一部のコンポーネントを互いに直接接続して図示する一方、他のコンポーネントは中間コンポーネントを介して接続して図示した。各例において、相互接続または「結合」の方法は、2つ以上の回路ノードまたは端子間にいくらかの望ましい電気通信を確立する。当業者なら理解するように、そのような結合は、いくつかの回路構成を使用してしばしば実現することができる。したがって、特許請求の範囲の趣旨および範囲は前述の説明に限定すべきではない。米国出願に関して、「〜のための手段」または「〜のためのステップ」を特に挙げる請求項だけを、米国特許法第112条第6段落の下で要求される方法で解釈すべきである。
図7は、一実施形態による図3および図5のコア345、ならびにレベルシフタ370、375、および380の一部を詳述する。コア345は、いくつかのメモリバンクのうちの1つとすることができるメモリアレイ355を含む。行デコーダ365は、いくつかのワード線WL[Q:0]を介してアレイ355内のメモリセルの行に接続し、制御する。行デコーダ365は、レベルシフタ380がデコーダに伝えるいくつかの行アドレス信号Radd[P−1:0]から、線WL[Q:0]上のワード線信号を復号する。図面全体を通して描く他のブロックと同様に、コア345およびデコーダ365は、明瞭にするために省略した追加のよく知られている構造を含む。
レベルシフタ370、375および380のそれぞれは、実際はコア345とコアインターフェイス350との間の信号経路ごとに1つある、レベルシフタ730の集まりである。コアデータ信号cDQ[N−1:0]に使用される双方向レベルシフタは、単方向レベルシフタの対を使用して実装する。コア345に信号を伝えるレベルシフタ730は、より低いインターフェイス電圧から移行するために信号を必要に応じてシフトアップし、コア345からインターフェイス350に信号を伝えるレベルシフタ730は信号を必要に応じてシフトダウンする。
先に述べたように、コア電圧Vcoreは、外部供給電圧VCC、内部電圧VINT、ブーストされたワード線電圧VPP、ビット線センス増幅器のための基準としてのビット線電圧VBL、半ビット線電圧VBL/2、および基板電圧VBBが概して含まれる、コア345内で使用されるいくつかの電圧からなることができる。この実施形態では、レベルシフタ370、375および380は各々の信号をインターフェイス電圧ViとVCCとの間でシフトし、そのため他のコア電圧を受け取る必要はない。