(57)【特許請求の範囲】
【請求項１】
スタティックランダムアクセスメモリ(SRAM)であって、
第1のデータアクセスパスに設けられたメモリアクセス論理回路であって、前記第1のデータアクセスパスにおけるSRAMデータアレイ内のデータ入力をアドレス指定するためのメモリアクセス要求のデータ入力アドレスを受け取ることと、前記第1のデータアクセスパスにおける前記受け取られたデータ入力アドレスに対応する前記SRAMデータアレイ内の前記データ入力にアクセスできるように前記SRAMデータアレイにインデックス付けするために前記受け取られたデータ入力アドレスに基づいてデータインデックスを生成することとを行うように構成されたメモリアクセス論理回路と、
前記第1のデータアクセスパスとは別の第2のデータアクセスパスに設けられたプリチャージ回路であって、前記SRAMデータアレイ内の前記データ入力にアクセスする前に、前記第2のデータアクセスパスにおける前記データ入力アドレスを受け取ることと、前記SRAMデータアレイの少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部に関するプリチャージ有効化信号を生成することを行うように構成されたプリチャージ回路とを備え、
前記メモリアクセス論理回路は、前記プリチャージ回路が前記第2のデータアクセスパスで前記プリチャージ有効化信号を生成することとは無関係に、前記第1のデータアクセスパスで前記データインデックスを生成するように構成される、SRAM。
【請求項２】
前記SRAMデータアレイは、複数のSRAMデータサブアレイを備える、請求項1に記載のSRAM。
【請求項３】
前記プリチャージ回路は、前記受け取られたデータ入力アドレスに基づいて前記複数のSRAMデータサブアレイの各々に関する前記プリチャージ有効化信号を生成するように構成される、請求項2に記載のSRAM。
【請求項４】
前記プリチャージ回路は、前記受け取られたデータ入力アドレスに基づいて前記複数のSRAMデータサブアレイからのSRAMデータサブアレイ位置を示す出力としてプリチャージインデックスを生成するように構成される、請求項2に記載のSRAM。
【請求項５】
ワード線信号をアサートすることに基づいて前記SRAMデータアレイに関するビット線プリチャージ信号を無効化するように構成された、請求項1に記載のSRAM。
【請求項６】
前記メモリアクセス論理回路は、前記受け取られたデータ入力アドレスに基づいて前記データ入力にインデックス付けするためのタグアレイをさらに備える、請求項1に記載のSRAM。
【請求項７】
前記SRAMデータアレイは、複数のSRAMデータサブアレイを備える、請求項6に記載のSRAM。
【請求項８】
前記プリチャージ回路は、前記受け取られたデータ入力アドレスに基づいて複数のSRAMデータサブアレイの各々に関する前記プリチャージ有効化信号を生成するように構成される、請求項6に記載のSRAM。
【請求項９】
前記プリチャージ回路は、前記受け取られたデータ入力アドレスに基づいて複数のSRAMデータサブアレイからのSRAMデータサブアレイ位置を示す出力としてプリチャージインデックスを生成するように構成される、請求項6に記載のSRAM。
【請求項１０】
ワード線信号をアサートすることに基づいて前記SRAMデータアレイに関するビット線プリチャージ信号を無効化するように構成された、請求項6に記載のSRAM。
【請求項１１】
前記メモリアクセス要求に関する前記プリチャージ有効化信号およびクロック信号のアサート時にビット線プリチャージ信号を生成するように構成された、請求項6に記載のSRAM。
【請求項１２】
前記プリチャージ回路は、前記第1のデータアクセスパスにおける前記SRAMデータアレイ内の第2のデータ入力をアドレス指定するための第2の入力として第2のメモリアクセス要求に関するデータ入力アドレスを受け取り、一方、前記SRAMデータアレイの少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける第1のメモリアクセス要求に関する前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部への前記第2のデータアクセスパスにおける出力としてプリチャージインデックスを生成するように構成される、請求項11に記載のSRAM。
【請求項１３】
前記プリチャージ回路は、前記SRAMデータアレイの前記少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける前記第2のメモリアクセス要求に関する前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部への前記第2のメモリアクセス要求に関する前記プリチャージ有効化信号を生成し、一方、前記メモリアクセス要求に関する前記プリチャージ有効化信号および前記クロック信号の前記アサート時に前記ビット線プリチャージ信号を生成するように構成される、請求項12に記載のSRAM。
【請求項１４】
集積回路に組み込まれる、請求項6に記載のSRAM。
【請求項１５】
セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなる群から選択されるデバイスに組み込まれる、請求項6に記載のSRAM。
【請求項１６】
前記メモリアクセス要求に関する前記プリチャージ有効化信号およびクロック信号のアサート時にビット線プリチャージ信号を生成するように構成された、請求項1に記載のSRAM。
【請求項１７】
前記プリチャージ回路は、前記第1のデータアクセスパスにおける前記SRAMデータアレイ内の第2のデータ入力をアドレス指定するための第2の入力として第2のメモリアクセス要求に関するデータ入力アドレスを受け取り、一方、前記SRAMデータアレイの少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける第1のメモリアクセス要求に関する前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部への前記第2のデータアクセスパスにおける出力としてプリチャージインデックスを生成するように構成される、請求項16に記載のSRAM。
【請求項１８】
前記プリチャージ回路は、前記SRAMデータアレイの前記少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける前記第2のメモリアクセス要求に関する前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部への前記第2のメモリアクセス要求に関する前記プリチャージ有効化信号を生成し、一方、前記メモリアクセス要求に関する前記プリチャージ有効化信号および前記クロック信号の前記アサート時に前記ビット線プリチャージ信号を生成するように構成される、請求項17に記載のSRAM。
【請求項１９】
集積回路に組み込まれる、請求項1に記載のSRAM。
【請求項２０】
セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなる群から選択されるデバイスに組み込まれる、請求項1に記載のSRAM。
【請求項２１】
スタティックランダムアクセスメモリ(SRAM)であって、第1のデータアクセスパス手段に設けられたメモリアクセス論理回路手段であって、
前記第1のデータアクセスパス手段におけるSRAMデータアレイ手段内のデータ入力手段をアドレス指定するためのメモリアクセス要求手段のデータ入力アドレス手段を受け取ることと、
前記第1のデータアクセスパス手段における前記受け取られたデータ入力アドレス手段に対応する前記SRAMデータアレイ手段における前記データ入力手段にアクセスできるように前記SRAMデータアレイ手段にインデックス付けするために前記受け取られたデータ入力アドレス手段に基づいてデータインデックス手段を生成すること
を行うように構成されたメモリアクセス論理回路手段と、
前記第1のデータアクセスパス手段とは別の第2のデータアクセスパス手段に設けられたプリチャージ回路手段であって、
前記SRAMデータアレイ手段内の前記データ入力手段にアクセスする前に、前記第2のデータアクセスパス手段における前記データ入力アドレス手段を受け取ることと、
前記SRAMデータアレイ手段の少なくとも一部をプリチャージするための前記第2のデータアクセスパス手段における前記受け取られたデータ入力アドレス手段に基づいて前記SRAMデータアレイ手段の前記少なくとも一部に関するプリチャージ有効化手段を生成すること
を行うように構成されたプリチャージ回路手段とを備え、
前記メモリアクセス論理回路手段は、前記プリチャージ回路手段が前記第2のデータアクセスパス手段で前記プリチャージ有効化手段を生成することとは無関係に、前記第1のデータアクセスパス手段で前記データインデックス手段を生成するように構成される、SRAM。
【請求項２２】
スタティックランダムアクセスメモリ(SRAM)データアレイにアクセスする前に前記SRAMデータアレイをプリチャージする方法であって、
SRAMデータアレイ内のデータ入力をアドレス指定するためのメモリアクセス要求に関する第1のデータアクセスパスにおけるデータ入力アドレスを受け取るステップと、
前記第1のデータアクセスパスにおける前記受け取られたデータ入力アドレスに対応する前記SRAMデータアレイ内の前記データ入力にアクセスできるように前記SRAMデータアレイにインデックス付けするために前記受け取られたデータ入力アドレスに基づいてデータインデックスを生成するステップと、
前記SRAMデータアレイの少なくとも一部をプリチャージするための第2のデータアクセスパスにおけるデータ入力アドレスを受け取るステップと、
前記SRAMデータアレイの少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部に関するプリチャージ有効化信号を生成するステップであって、前記プリチャージ有効化信号は、前記データ入力アドレスを表す前記データインデックスにおける前記第1のデータアクセスパスにおける前記SRAMデータアレイ内の前記データ入力にアクセスする前に生成されるステップと
を含み、
メモリアクセス論理回路は、プリチャージ回路が前記第2のデータアクセスパスで前記プリチャージ有効化信号を生成することとは無関係に、前記第1のデータアクセスパスで前記データインデックスを生成するように構成される、方法。
【請求項２３】
前記第2のデータアクセスパスにおける前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部に関する前記メモリアクセス要求のビット線プリチャージ信号を生成するステップであって、前記ビット線プリチャージ信号が、前記データ入力アドレスを表す前記データインデックスにおける前記第1のデータアクセスパスのSRAMデータアレイ内の前記データ入力にアクセスする前に生成されるステップをさらに
含む、請求項22に記載の方法。
【請求項２４】
前記SRAMデータアレイ内の前記データ入力をアドレス指定するための前記メモリアクセス要求に関する前記第1のデータアクセスパスにおける前記データ入力アドレスを受け取るステップであって、前記SRAMデータアレイが複数のSRAMデータサブアレイを備えるステップを含む、請求項22に記載の方法。
【請求項２５】
前記メモリアクセス要求に関する前記プリチャージ有効化信号およびクロック信号のアサートに基づいてビット線プリチャージ信号を生成するように構成された、請求項22に記載の方法。
【請求項２６】
前記SRAMデータアレイの前記少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける第2のデータ入力をアドレス指定するための第2の入力として第2のメモリアクセス要求に関する前記データ入力アドレスを受け取り、一方、前記SRAMデータアレイの前記少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける第1のメモリアクセス要求に関する前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部に関する前記プリチャージ有効化信号を生成するステップをさらに含む、請求項25に記載の方法。
【請求項２７】
前記SRAMデータアレイの前記少なくとも一部をプリチャージするための前記第2のデータアクセスパスにおける前記受け取られたデータ入力アドレスに基づいて前記SRAMデータアレイの前記少なくとも一部に関する前記第2のメモリアクセス要求の前記プリチャージ有効化信号を生成し、一方、前記第1のメモリアクセス要求に関する前記プリチャージ有効化信号および前記クロック信号の前記アサートに基づいて前記ビット線プリチャージ信号を生成するステップをさらに含む、請求項26に記載の方法。
【請求項２８】
前記SRAMデータアレイ内の前記データ入力にインデックス付けするための前記第1のデータアクセスパスにおける前記データインデックスを生成するステップは、前記受け取られたデータインデックスに基づいて前記データ入力にインデックス付けするためにタグアレイによって前記データインデックスを受け取ることをさらに含む、請求項22に記載の方法。
【請求項２９】
ビット線プリチャージ信号を生成するステップは、前記プリチャージ有効化信号のアサートおよびクロック信号のアサートに基づく、請求項22に記載の方法。
【請求項３０】
前記ビット線プリチャージ信号を生成するステップは、アレイ有効化信号のアサートおよび前記クロック信号のアサートに基づいて無効化される、請求項29に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、その全体が参照により本明細書に組み込まれている、2013年5月6日に出願した「METHODS AND APPARATUSES FOR PRE-CHARGING OF STATIC RANDOM ACCESS MEMORY (SRAM) DATA ARRAYS PRIOR TO ACCESS FOR SAVING POWER LEAKAGE」と題する米国仮特許出願第61/819,744号の優先権を主張するものである。
【０００２】
本出願は、その全体が参照により本明細書に組み込まれている、2013年10月9日に出願した「PRE-CHARGING BITLINES IN A STATIC RANDOM ACCESS MEMORY (SRAM) PRIOR TO DATA ACCESS FOR REDUCING LEAKAGE POWER, AND RELATED SYSTEMS AND METHODS」と題する米国特許出願第14/049,312号の優先権もまた主張するものである。
【０００３】
本開示の技術は、概してコンピュータメモリに関し、より詳細には、メモリアクセスのためのスタティックランダムアクセスメモリ(SRAM)のビット線のプリチャージに関する。
【背景技術】
【０００４】
メモリセルは、「メモリ」とも呼ばれるコンピュータデータストレージの基本ビルディングブロックである。コンピュータシステムは、様々な種類があるメモリからデータを読み出すかまたはデータをメモリに書き込むことができる。たとえば、メモリの一種にスタティックランダムアクセスメモリ(SRAM)がある。一例として、SRAMは、中央処理ユニット(CPU)システムにおけるキャッシュメモリとして使用されてよい。SRAMキャッシュは、タグアレイとデータアレイを備えてよい。タグアレイは、SRAMデータアレイに記憶されたメモリアドレスのインデックスを含む。タグアレイは、CPUからのメモリアクセス要求の一部としてメモリアドレスを受け取る。タグアレイは、メモリアドレスを使用して、SRAMデータアレイがメモリアクセス要求内のメモリアドレスに関する有効なデータを含むかどうかを判定する。有効なデータが存在する場合、データは、より上位のキャッシュメモリまたはメインメモリなどのより上位のメモリからアクセスされるのではなく、SRAMデータアレイから直接アクセスされ得る。
【０００５】
SRAMデータアレイは、SRAMビットセルの行および列として構成される。SRAMビットセルの各々は、単一ビットの情報を記憶することができる。SRAMデータアレイへのメモリアクセス要求は通常、選択された行の各列に記憶されたビットにアクセスするためにSRAMビットセルの行全体を選択することを含む。この点について、図1は、単一ビットの情報12を記憶するためにSRAM内に設けることのできるSRAMセルとしての標準的な6トランジスタ(6-T)SRAMビットセル10の一例を示す。単一ビットの情報12は、6-T SRAMビットセル10内の2つの交差結合インバータ14、16に記憶される。6-T SRAMビットセル10は、単一ビットの情報12を示すために使用される2つの安定した状態を有する(たとえば、論理状態「1」または「0」)。2つの追加のアクセストランジスタ18、20が、読取り動作および書込み動作時にSRAMビットセル10へのアクセスを制御するように設けられる。6-T SRAMビットセル10へのアクセスは、2つのアクセストランジスタ18、20を制御する、ワード線24上でアサートされるワード線信号22によって有効化される。ワード線24上でワード線信号22をアサートすると、2つのアクセストランジスタ18、20がアクティブ化され、ビット線26と補ビット線28が2つの交差結合インバータ14、16に結合される。したがって、ビット線26および補ビット線28は、読取り動作と書込み動作の両方の場合にデータを転送するのに使用される。
【０００６】
一例として、読取り動作では、アクセストランジスタ18、20をアクティブ化すると、単一ビットの情報12が2つの交差結合インバータ14、16によってビット線26および補ビット線28上に配置される。単一ビットの情報12は、電圧レベルまたは電流レベルの形でビット線26および補ビット線28上に配置される。センス増幅器30が、上述のように、2つの論理状態のうちの一方を示すビット線26と補ビット線28との間の電圧差を検出する。書込み動作では、入力ドライバ32が電圧34および補電圧36をそれぞれビット線26および補ビット線28上に配置する。それぞれ入力ドライバ32によってビット線26および補ビット線28上に配置された電圧34および補電圧36は、記憶すべき単一ビットの情報12を表す。ワード線24によってアクセストランジスタ18、20をアクティブ化すると、ビット線26および補ビット線28上の電圧34および補電圧36が2つの交差結合インバータ14、16内に記憶されるかまたはラッチされる。
【０００７】
図1における6-T SRAMビットセル10内のビット線26および補ビット線28はそれぞれ、読取りアクセスまたは書込みアクセスの前に既知の安定した電圧レベル(すなわち、論理高「1」または論理低「0」)にビット線プリチャージ信号38および補ビット線プリチャージ信号40によってプリチャージされてよい。ビット線26および補ビット線28をプリチャージすると、センス増幅器30は、それぞれに異なる電圧レベルをビット状態として効率的に解釈することができ、かつSRAMビットセル10は、既知の条件から開始してSRAMビットセル10のセル障害を防止することができる。ビット線26および補ビット線28のプリチャージは、ワード線24がアサートされ、したがって、上記に読取り動作または書込み動作において説明したように2つの交差結合インバータ14、16または入力ドライバ32によって初期の既知の電圧レベルを修正することが可能になったときに非アクティブ化される。メモリアクセス要求に対して6-T SRAMビットセル10への読取り動作または書込み動作が完了した後、ビット線26および補ビット線28は、次のメモリアクセス要求に備えて再びこの既知のプリチャージ電圧レベルにプリチャージされてよい。
【０００８】
上述のように、SRAMビットセル列のビット線のプリチャージを使用するSRAM設計では、メモリアクセス要求内のメモリアドレスを使用して、プリチャージに関してアクセスされるSRAMビットセルの特定の行または列を特定することができる。メモリアクセス要求では、メモリアクセス要求回路を使用してメモリアクセス要求内のメモリアドレスをプリチャージに関してアクセスされる特定の行または列に変換する。しかし、この追加の回路を設けると、メモリアクセス要求にレイテンシが付加される。この付加的なレイテンシを回避するために、SRAM設計では、読取り動作または書込み動作が完了した後にSRAMビットセルのすべての行または列をプリチャージしてSRAMビットセルを次のメモリアクセス要求に備えさせてよい。したがって、メモリアクセス要求内のメモリアドレスをSRAMビットセルの特定の行または列に変換するための追加的な回路は不要になる。しかし、ビット線プリチャージを維持すると、SRAMビットセルがアクセスされない時にメモリアイドル時間中の漏れ電力が増大することがある。
【０００９】
したがって、SRAMビットセルのすべての行または列のプリチャージを伴うSRAM設計は、SRAMビットセルの特定の行または列をメモリアクセス要求の一部として特定するSRAM設計よりも多くの電力を消費することがある。しかし、SRAMビットセルのすべての行または列のプリチャージを伴うSRAM設計は、プリチャージに関するメモリアクセス要求の一部としてアクセスされる特定の行または列を特定するのに使用される回路による付加的なレイテンシを排除することができる。
【発明の概要】
【課題を解決するための手段】
【００１０】
本明細書で開示する実施形態は、漏れ電力を低減させるためにデータアクセスの前にスタティックランダムアクセスメモリ(SRAM)内のビット線をプリチャージするための方法および装置を含む。データアクセスの前にSRAMをプリチャージするための実施形態は、読取り性能または書込み性能に影響を与えずに漏れ電力を低減させることができる。SRAMは、非制限的な一例として、SRAMキャッシュに含められてよい。この点について、SRAM内の第1のデータアクセスパス内にメモリアクセス論理回路が設けられる。メモリアクセス論理回路は、SRAMのSRAMデータアレイにおいてアクセスすべきデータ入力アドレスを含むメモリアクセス要求を受け取る。メモリアクセス論理回路は、データ入力アドレスをSRAMデータアレイにおけるデータ入力アドレスにインデックス付けするためのデータインデックスに変換する。SRAMは、第1のデータアクセスパスの外側の第2のデータアクセスパス内に設けられたプリチャージ回路も含む。プリチャージ回路は、メモリアクセス要求の一部としてのSRAMデータアレイのプリチャージを有効化してアイドル期間中のSRAMデータアレイ内のビット線のプリチャージを回避し、漏れ電力を低減させるように構成される。しかし、第1のデータアクセスパスの外側の第2のデータアクセスパス内にプリチャージ回路を設けることによって、プリチャージ回路は、第1のデータアクセスパスにレイテンシを付加しないようにデータアクセスの前にSRAMデータアレイのプリチャージを有効化し得る。
【００１１】
漏れ電力をさらに低減させるために、SRAMデータアレイがたとえばサブアレイとして構成される場合、プリチャージ回路は、データ入力アドレスを含むSRAMデータアレイ内の特定のデータサブアレイのプリチャージを特定し有効化するように構成されてもよい。このようにして、データ入力アドレスを含まないSRAMデータアレイ内のデータサブアレイには、メモリアクセス要求時のプリチャージを有効化せず、アクセスされないデータサブアレイではプリチャージを行わないことによって付加的な漏れ電力を回避する。
【００１２】
この点について、一実施形態では、SRAMが提供される。このSRAMは、第1のデータアクセスパス内に設けられたメモリアクセス論理回路を備える。メモリアクセス論理回路は、第1のデータアクセスパスにおけるSRAMデータアレイ内のデータ入力をアドレス指定するためのメモリアクセス要求のデータ入力アドレスを受け取るように構成される。メモリアクセス論理回路は、第1のデータアクセスパスにおける受け取られたデータ入力アドレスに対応するSRAMデータアレイ内のデータ入力にアクセスできるようにSRAMデータアレイにインデックス付けするために受け取られたデータ入力アドレスに基づいてデータインデックスを生成するようにさらに構成される。SRAMは、第1のデータアクセスパスとは別の第2のデータアクセスパス内に設けられたプリチャージ回路をさらに備える。プリチャージ回路は、SRAMデータアレイ内のデータ入力にアクセスする前に、第2のデータアクセスパスにおけるデータ入力アドレスを受け取るように構成される。プリチャージ回路は、SRAMデータアレイの少なくとも一部をプリチャージするための第2のデータアクセスパスにおける受け取られたデータ入力アドレスに基づいてSRAMデータアレイのこの部分へのプリチャージ有効化信号を生成するようにさらに構成される。
【００１３】
別の実施形態では、SRAMが提供される。このSRAMは、第1のデータアクセスパス手段内に設けられたメモリアクセス論理回路手段を備える。メモリアクセス論理回路手段は、第1のデータアクセスパス手段内のSRAMデータアレイ手段におけるデータ入力手段をアドレス指定するためのメモリアクセス要求手段のデータ入力アドレス手段を受け取るように構成される。メモリアクセス論理回路手段は、第1のデータアクセスパス手段における受け取られたデータ入力アドレス手段に対応するSRAMデータアレイ手段におけるデータ入力手段にアクセスできるようにSRAMデータアレイ手段にインデックス付けするためにデータ入力アドレス手段に基づいてデータインデックス手段を生成するようにさらに構成される。SRAMは、第1のデータアクセスパス手段とは別の第2のデータアクセスパス手段内に設けられたプリチャージ回路手段をさらに備える。プリチャージ回路手段は、SRAMデータアレイ手段におけるデータ入力手段にアクセスする前に、第2のデータアクセスパス手段におけるデータ入力アドレス手段を受け取るように構成される。プリチャージ回路手段は、SRAMデータアレイ手段の少なくとも一部をプリチャージするための第2のデータアクセスパス手段における受け取られたデータ入力アドレス手段に基づいてSRAMデータアレイ手段のこの部分へのプリチャージ有効化手段を生成するようにさらに構成される。
【００１４】
別の実施形態では、SRAMデータアレイにアクセスする前にSRAMデータアレイをプリチャージする方法が提供される。この方法は、SRAMデータアレイ内のデータ入力をアドレス指定するためのメモリアクセス要求に関する第1のデータアクセスパスにおけるデータ入力アドレスを受け取ることを含む。この方法は、第1のデータアクセスパスにおける受け取られたデータ入力アドレスに対応するSRAMデータアレイ内のデータ入力にアクセスできるようにSRAMデータアレイにインデックス付けするために受け取られたデータ入力アドレスに基づいてデータインデックスを生成することをさらに含む。この方法は、SRAMデータアレイの少なくとも一部をプリチャージするための第2のデータアクセスパスにおけるデータ入力アドレスを受け取ることをさらに含む。この方法は、SRAMデータアレイの少なくとも一部をプリチャージするための第2のデータアクセスパスにおける受け取られたデータ入力アドレスに基づいてSRAMデータアレイのこの部分に関するプリチャージ有効化信号を生成することをさらに含む。プリチャージ有効化信号は、データ入力アドレスを表すデータインデックスにおける第1のデータアクセスパスにおけるSRAMデータアレイ内のデータ入力へのアクセスよりも前に生成される。
【図面の簡単な説明】
【００１５】
【図１】単一ビットの情報を記憶するための例示的な6トランジスタ(6-T)スタティックランダムアクセスメモリ(SRAM)メモリセルの概略図である。
【図２】メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にインデックス付けするためのメモリアクセス論理回路と、メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前にSRAMデータアレイ内のビット線をプリチャージしてメモリアクセス要求を処理する際のレイテンシを低減または回避するためのプリチャージ回路とを備える例示的なSRAMの概略図である。
【図３】メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前に図2のSRAMのSRAMデータアレイ内のビット線をプリチャージするための例示的なプロセスを示すフローチャートである。
【図４】メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前に図2のSRAMのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図５】メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にインデックス付けするためのメモリアクセス論理回路内のタグアレイと、メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前にSRAMデータアレイ内のビット線をプリチャージしてメモリアクセス要求を処理する際のレイテンシを低減または回避するためのプリチャージ回路とを備える例示的なSRAMキャッシュの概略図である。
【図６】メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージするための例示的なプロセスを示すフローチャートである。
【図７】逐次メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図８】パイプライン式の逐次メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図９】SRAMキャッシュの複数のバンクに関するメモリアクセス要求を含むパイプライン式の逐次メモリアクセス要求に関してSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図１０】クロック位相制御方式に基づいてワード線アサートおよびプリチャージを制御するためにSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図１１】任意の自己タイミング制御方式に基づいてワード線アサートおよびプリチャージを制御するためにSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図１２】複数のクロックサイクルにわたる任意の自己タイミング自己リセット制御方式に基づいてワード線アサートおよびプリチャージを制御するためにSRAMデータアレイ内のデータ入力にアクセスする前に図5のSRAMキャッシュのSRAMデータアレイ内のビット線をプリチャージすることに伴う信号の例示的なタイミングを示すタイミング図である。
【図１３】図2のSRAMおよび図5のSRAMキャッシュの汎用化されたメモリアクセス論理回路とプリチャージ回路とを備える例示的なプロセッサベースのシステムのブロック図である。
【発明を実施するための形態】
【００１６】
本明細書で開示する実施形態は、漏れ電力を低減させるためにデータアクセスの前にスタティックランダムアクセスメモリ(SRAM)内のビット線をプリチャージするための方法および装置を含む。データアクセスの前にSRAMをプリチャージするための実施形態は、読取り性能または書込み性能に影響を与えずに漏れ電力を低減させることができる。SRAMは、非制限的な一例として、SRAMキャッシュに含められてよい。この点について、SRAM内の第1のデータアクセスパス内にメモリアクセス論理回路が設けられる。メモリアクセス論理回路は、SRAMのSRAMデータアレイにおいてアクセスすべきデータ入力アドレスを含むメモリアクセス要求を受け取る。メモリアクセス論理回路は、データ入力アドレスをSRAMデータアレイ内のデータ入力アドレスにインデックス付けするためのインデックスに変換する。SRAMは、第1のデータアクセスパスの外側の第2のデータアクセスパス内に設けられたプリチャージ回路も含む。プリチャージ回路は、メモリアクセス要求の一部としてのSRAMデータアレイのプリチャージを有効化してアイドル期間中のSRAMデータアレイ内のビット線のプリチャージを回避し、漏れ電力を低減させるように構成される。しかし、第1のデータアクセスパスの外側の第2のデータアクセスパス内にプリチャージ回路を設けることによって、プリチャージ回路は、第1のデータアクセスパスにレイテンシを付加しないようにデータアクセスの前にSRAMデータアレイのプリチャージを有効化し得る。
【００１７】
漏れ電力をさらに低減させるために、SRAMデータアレイがたとえばサブアレイとして構成される場合、プリチャージ回路は、データ入力アドレスを含むSRAMデータアレイ内の特定のデータサブアレイのプリチャージを特定し有効化するように構成されてもよい。このようにして、データ入力アドレスを含まないSRAMデータアレイ内のデータサブアレイには、メモリアクセス要求時のプリチャージを有効化せず、アクセスされないデータサブアレイではプリチャージを行わないことによって付加的な漏れ電力を回避する。
【００１８】
この点について、図2は、メモリアクセス要求48に関してSRAMデータアレイ46内のデータ入力44のインデックス付けするための例示的なSRAM 42の概略図である。後述のように、SRAMデータアレイ46は、メモリアクセス要求48に関してSRAMデータアレイ46内のデータ入力44にアクセスする前にプリチャージされる。SRAMデータアレイ46は、この例では図1において設けられた6-T SRAMビットセル10の行および列として構成される。図1のSRAMビットセル10は、図2について説明する際に参照され、これについては説明を繰り返さない。SRAMデータアレイ46は、複数のSRAMデータサブアレイ50(0)〜50(N)としてさらに構成されてよい。
【００１９】
引き続き図2を参照するとわかるように、SRAM 42は、非制限的な例として、2つのデータアクセスパス、すなわち、第1のデータアクセスパス52と第2のデータアクセスパス54とを備える。第1のデータアクセスパス52は、メモリアクセス要求48を処理して、メモリアクセス要求48に対応するデータ入力44にアクセスするためのSRAMデータアレイ46のインデックスを生成する。この非制限的な例では、第2のデータアクセスパス54は、メモリアクセス要求48を処理して、漏れ電力を低減させるためにアクセスすべき複数のSRAMデータサブアレイ50(0)〜50(N)のうちの特定のSRAMデータサブアレイのみにプリチャージが必要になるようにアクセスすべき特定のSRAMデータサブアレイ50(0)〜50(N)を特定する。この例では、特定のSRAMデータサブアレイ50(0)〜50(N)のプリチャージは、プリチャージのレイテンシがSRAMデータアレイ46内のデータ入力44にアクセスするための第1のデータアクセスパス52の一部として生じることがないように、第1のデータアクセスパス52におけるデータ入力44へのアクセスよりも前に第1のデータアクセスパス52の外側の第2のデータアクセスパス54において行われる。さらに、SRAM 42は、アクセスされるSRAMデータアレイ46における特定のデータ入力44をプリチャージし、アクセスされないデータ入力44またはSRAMデータサブアレイ50(0)〜50(N)をプリチャージしないことによってSRAM 42内の漏れ電力を低減させてもよい。図2のSRAM 42内の第1のデータアクセスパス52については説明しない。
【００２０】
引き続き図2を参照すると、メモリアクセス論理回路56が第1のデータアクセスパス52内に設けられ、受け取られたメモリアクセス要求48を処理するように構成されている。メモリアクセス要求48を処理することは、メモリアクセス要求48を受け取ることと、メモリアクセス要求48内のデータ入力アドレス58をSRAMデータアレイ46内のデータ入力44にインデックス付けするためのデータインデックス60に変換することとを含んでよい。データインデックス60は、メモリアクセス要求48内のデータ入力アドレス58をSRAMデータアレイ46内のデータ入力44位置に対応するインデックスに変換することによって生成される。この例では、データインデックス60は、データ入力アドレス58におけるデータを含むSRAMデータアレイ46のSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44にインデックス付けするためのインデックスを構成する。データ入力44にアクセスすることは、SRAMデータアレイ46へのアレイ有効化62信号をアサートし、メモリアクセス要求48に基づくSRAMデータアレイ46におけるアクセスイベントを開始することを含む。SRAMデータアレイ46はさらに、アレイ有効化62信号を入力として受け取る。アレイ有効化62信号は、データインデックス60上に対応するデータインデックス60が出力されていることを示す。さらに、アレイ有効化62信号をアサートすると、第1のデータアクセスパス52におけるデータ入力44のアクセスが開始される。SRAMデータアレイ46は、アサートされたアレイ有効化62信号に基づいて、アドレス指定されたデータ入力44をSRAMデータアレイ46からのデータ出力64として出力する。プリチャージは、メモリアクセス要求48に基づいて第2のデータアクセスパス54におけるSRAMデータサブアレイ50(0)〜50(N)を特定することによって実行される。さらに、後述のように、第1のデータアクセスパス52ではプリチャージが実行されない。
【００２１】
引き続き図2を参照すると、上記において説明したように、SRAM 42内の第2のデータアクセスパス54は、第1のデータアクセスパス52におけるデータ入力44へのアクセスよりも前に第1のデータアクセスパス52の外側におけるプリチャージすべき複数のSRAMデータサブアレイ50(0)〜50(N)のうちの特定の1つまたは複数のSRAMデータサブアレイを特定するための構成要素を含む。プリチャージは、第1のデータアクセスパス52の外側の第2のデータアクセスパス54において実行され、したがって、プリチャージに起因するレイテンシがSRAMデータアレイ46内のデータ入力44にアクセスするのに使用される第1のデータアクセスパス52の一部として生じることはない。次に、第2のデータアクセスパス54について説明する。
【００２２】
引き続き図2を参照するとわかるように、第2のデータアクセスパス54はプリチャージ回路66を備える。プリチャージ回路66は、第2のデータアクセスパス54における複数のSRAMデータサブアレイ50(0)〜50(N)のうちの1つまたは複数のSRAMデータサブアレイに対するSRAMデータアレイ46のプリチャージを有効化するように構成される。プリチャージ回路66は、第2のデータアクセスパス54におけるメモリアクセス要求48を受け取るようにさらに構成される。プリチャージ回路66は、メモリアクセス要求48に対応する、アクセスされるSRAMデータサブアレイ50(0)〜50(N)にインデックス付けするためのプリチャージインデックス68を生成するようにさらに構成される。プリチャージ回路66は、受け取られたメモリアクセス要求48をSRAMデータサブアレイ50(0)〜50(N)に対応するプリチャージインデックス68に変換することによってプリチャージインデックス68を生成する。プリチャージインデックス68は、SRAMデータサブアレイ50(0)〜50(N)のうちのどれにプリチャージが必要であるかを示す。プリチャージ回路66は、この例では、SRAMデータアレイ46によるSRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化するプリチャージ有効化70信号を生成するようにさらに構成される。
【００２３】
引き続き図2を参照するとわかるように、プリチャージ有効化70信号は、プリチャージインデックス68がSRAMデータアレイ46に供給されたことをSRAMデータアレイ46に示す。生成されたプリチャージインデックス68およびプリチャージ有効化70信号は、第1のデータアクセスパス52におけるデータ入力44にアクセスする前に、第2のデータアクセスパス54におけるSRAMデータアレイ46によって受け取られる。SRAMデータアレイ46は、プリチャージ有効化70信号を受け取った後で、メモリアクセス要求48の処理が第1のデータアクセスパス52において完了するのを待たずに、プリチャージインデックス68によって示されるSRAMデータサブアレイ50(0)〜50(N)のプリチャージを進行させることができる。非限定的な例として、SRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化することは、アクセスされるデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)の図1に示すビット線26および補ビット線28のみをプリチャージすることを含む。このことは、メモリアクセス要求48が第2のデータアクセスパス54において実現され、かつプリチャージ回路66を使用して、プリチャージを有効化すべき特定のSRAMデータサブアレイ50(0)〜50(N)を特定できることに起因して可能になる。アクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28は、浮動状態にされるかまたは浮動状態のままであってよい。浮動状態は、アクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28が、論理高状態または論理低状態のいずれにもプリチャージされず、またいずれの状態にも維持されない状態である。
【００２４】
引き続き図2を参照するとわかるように、漏れ電力は、アクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28が、論理高状態または論理低状態のいずれにもプリチャージされるメモリアイドル期間中に生じることがある。プリチャージ回路66は、メモリアクセス要求48の一部としてのSRAMデータアレイ42のプリチャージを有効化してアイドル期間中のSRAMデータアレイ46内のビット線26、28のプリチャージを回避し、漏れ電力を低減させるように構成される。しかし、第1のデータアクセスパス52の外側の第2のデータアクセスパス54内にもプリチャージ回路66を設けることによって、プリチャージ回路66は、第1のデータアクセスパス52にレイテンシを付加しないようにデータアクセスの前にSRAMデータアレイ42のプリチャージを有効化し得る。
【００２５】
メモリアクセス要求48およびデータ入力44にアクセスする前にSRAMデータアレイ46内のビット線26、28をプリチャージすることについてさらに説明するために、図3が示されている。図3は、図2のSRAM 42においてメモリアクセス要求48を処理するための例示的なプロセスを示すフローチャートである。上述のように、メモリアクセス要求48の処理は、2つのデータアクセスパス、すなわち、第1のデータアクセスパス52と第2のデータアクセスパス54とを備える。メモリアクセス要求48内のデータ入力アドレス58におけるSRAMデータアレイ46内のデータ入力44にアクセスするためのメモリアクセス要求48を処理することは、SRAMデータアレイ46内のデータ入力44をアドレス指定するための第1のデータアクセスパス52におけるメモリアクセス要求48を受け取ること(ブロック72)を含む。図2のメモリアクセス論理回路56は、第1のデータアクセスパス52における受け取られたメモリアクセス要求48に基づいてデータインデックス60およびアレイ有効化62信号を生成する(ブロック74)。メモリアクセス論理回路56は、データ入力アドレス58を含むメモリアクセス要求48を変換することによってデータインデックス60およびアレイ有効化62信号を生成する。メモリアクセス論理回路56によって生成されたデータインデックス60およびアレイ有効化62信号はSRAMデータアレイ46に出力される。SRAMデータアレイ46は、受け取られたデータインデックス60およびアレイ有効化62信号を使用して、メモリアクセス要求48に対応する第1のデータアクセスパス52におけるSRAMデータアレイ46内のデータ入力44にアクセスする(ブロック76)。
【００２６】
引き続き図3を参照するとわかるように、図2のメモリアクセス要求48の処理は、SRAMデータサブアレイ50(0)〜50(N)内のビット線26、28をプリチャージするための第2のデータアクセスパス54におけるメモリアクセス要求48を受け取ることをさらに含む(図3のブロック78)。プリチャージ回路66は、メモリアクセス要求48に対応するSRAMデータサブアレイ50(0)〜50(N)に関するプリチャージインデックス68およびプリチャージ有効化70信号を生成する(図3のブロック80)。生成されたプリチャージインデックス68およびプリチャージ有効化70信号は、プリチャージ回路66によって出力され、SRAMデータアレイ46によって受け取られる。SRAMデータアレイ46は、受け取られたプリチャージインデックス68およびプリチャージ有効化70信号を使用してメモリアクセス要求48を表すSRAMデータサブアレイ50(0)〜50(N)をプリチャージする(図3のブロック82)。したがって、図2のSRAMデータアレイ46は、メモリアクセス論理回路56がメモリアクセス要求48の変換および第1のデータアクセスパス52におけるデータ入力44のアクセスを完了するのを待たずにSRAMデータサブアレイ50(0)〜50(N)をプリチャージすることができる。このようにして、メモリアクセス要求48に対応するデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)は、SRAMデータアレイ46がメモリアクセス要求48に対応するデータ入力44にアクセスする前にプリチャージされる。
【００２７】
図2を参照するとわかるように、SRAMデータアレイ46のプリチャージは、第1のデータアクセスパス52の外側の第2のデータアクセスパス54において有効化される。このようにして、アクセスすべきデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)内のビット線26、28をプリチャージすることは、第1のデータアクセスパス52において有効化されるデータ入力44アクセスには依存しない。プリチャージ回路66は、アクセスすべきSRAMデータサブアレイ50(0)〜50(N)を特定するのに十分なメモリアクセス要求48内のデータ入力アドレス58の少なくとも一部が利用可能である場合、データ入力44のアクセスの前にアクセスすべきデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化してよい。この点について、プリチャージ回路66は、アクセスすべきSRAMデータサブアレイ50(0)〜50(N)を特定するのに十分な第2のデータアクセスパス54におけるメモリアクセス要求48内のデータ入力アドレス58の少なくとも一部を受け取るように構成される。プリチャージ回路66は、受け取られたデータ入力アドレス58またはその一部を復号して、アクセスすべきデータ入力44を含むSRAMデータアレイ46内のSRAMデータサブアレイ50(0)〜50(N)を特定してよい。したがって、プリチャージ回路66は、第1のデータアクセスパス52とは無関係にかつデータ入力44を含むと判定されたSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44のアクセスの前に、SRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化してよい。
【００２８】
メモリアイドル時間中の漏れ電力を低減させるかまたは回避するために、図1のビット線26および補ビット線28の一部をプリチャージしなくてもよい。したがって、非限定的な例として、SRAMデータサブアレイ50(0)〜50(N)のビット線26のすべてではなく、アクセスされるデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28のみがプリチャージされてよい。メモリアクセス要求48の一部としてアクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28は、漏れ電力をさらに防止するために浮動状態ままであってよい。このように、プリチャージ回路66のレイテンシが、SRAMデータサブアレイ50内のデータ入力44にアクセスするための第1のデータアクセスパス52の一部として生じることはない。さらに、SRAM 42は、アクセスされるSRAMデータサブアレイ50内のデータ入力44をプリチャージすることができ、一方、SRAM 42内の漏れ電力を低減させることができる。
【００２９】
この点について、図4は、2つのイベント、すなわち、プリチャージイベント86およびアクセスイベント88に関連する例示的な信号のタイミング図84を示す。図4は、第2のデータアクセスパス54におけるSRAMデータアレイ46内のビット線26、28をプリチャージするためのプリチャージイベント86が、第1のデータアクセスパス52におけるSRAMデータアレイ46にアクセスするためのアクセスイベント88とは無関係であることを示す。SRAMデータサブアレイ50(0)〜50(N)をプリチャージするためのプリチャージイベント86は、プリチャージ回路66が第2のデータアクセスパス54におけるメモリアクセス要求48を処理した結果として生じる。データ入力44にアクセスするためのアクセスイベント88は、メモリアクセス論理回路56が第1のデータアクセスパス52におけるメモリアクセス要求48を処理した結果として生じる。次に、2つのイベントの例示的な信号について説明する。
【００３０】
引き続き図4を参照すると、SRAM 42は同期回路であり、したがって、メモリアクセス要求48を制御する回路のクロッキングを制御するためにSRAM 42にクロック信号90が供給される。前述のように、プリチャージ回路66は、図4に示すようにプリチャージ有効化70信号を生成する。プリチャージ有効化70信号は、プリチャージインデックス68がプリチャージ回路66によってSRAMデータアレイ46に供給されたことを示す、図2のプリチャージ回路66によるプリチャージインデックス68の生成に続いて、プリチャージ回路66によってアサートされる。SRAMデータアレイ46によるビット線プリチャージ信号38のアサートは、プリチャージ回路66によってプリチャージ有効化70信号がアサートされた後のクロック信号90の立上りエッジまたは遷移(以下では「立上りエッジ」と呼ぶ)に基づく。図4に示すように、アレイ有効化62信号が、プリチャージ有効化70信号に基づいてメモリアクセス論理回路56によって生成されることはない。むしろ、アレイ有効化62信号は、図2のメモリアクセス論理回路56によるデータインデックス60の生成に基づいてメモリアクセス論理回路56によってアサートされる。アレイ有効化62信号は、データインデックス60がメモリアクセス論理回路56によってSRAMデータアレイ46に供給されたことを示す、メモリアクセス論理回路56によるデータインデックス60の生成に続いて、メモリアクセス論理回路56によってアサートされる。SRAMデータアレイ46によるワード線信号22のアサートは、非限定的な例として、メモリアクセス論理回路56によってアレイ有効化62信号がアサートされた後のクロック信号90の立上りエッジに基づく。SRAMデータアレイ46のワード線信号22のアサートも、クロック信号90の立下りエッジまたは遷移(以下では「立下りエッジ」と呼ぶ)に基づいてよい。さらに、プリチャージ有効化70信号は、メモリアクセス論理回路56によってアレイ有効化62信号がアサートされた後のクロック信号90の立上りエッジに基づいてSRAMデータアレイ46によってアサート解除される。第2のデータアクセスパス54におけるSRAMデータサブアレイ50をプリチャージすることによって、プリチャージ回路66の付加的なレイテンシが、SRAMデータサブアレイ50内のデータ入力44にアクセスするための第1のデータアクセスパス52のレイテンシの一部として生じることはない。しかし、プリチャージ有効化70信号がSRAMデータサブアレイ50のプリチャージを終了する前にアレイ有効化62信号が消費されないようにSRAM 42を設計すべきであることに留意されたい。さもなければ、アクセスされるSRAMデータサブアレイ50がアクセス時にプリチャージされないことがある。
【００３１】
CPUキャッシュは、メモリにアクセスするのに必要な平均時間を短縮するためにコンピュータのCPUシステムによって使用されるキャッシュメモリである。CPUキャッシュは、頻繁に使用されるメインメモリ位置から得たデータのコピーを記憶するより小形でより高速のメモリである。キャッシュされたメモリ位置を使用するメモリアクセスが多くなるほど、メモリアクセスの平均レイテンシはメインメモリのレイテンシよりもキャッシュレイテンシに近くなる。したがって、キャッシュレイテンシは、CPUのメモリの性能における重要な因子であってよい。SRAM 42は、コンピュータシステムにおいてキャッシュメモリとして使用されてよいメモリの一種類である。すべてのメモリアクセス信号が準備完了状態になる前のクロックサイクルにおけるプリチャージはSRAM 42のレイテンシを短縮し、したがって、上述のようにSRAM 42の性能を向上させる。
【００３２】
この点について、図5は、メモリアクセス要求48に関してSRAMデータアレイ46内のデータ入力44をインデックス付けするための例示的なSRAMキャッシュ 42’の概略図である。後述のように、SRAMデータアレイ46は、メモリアクセス要求48に関してSRAMデータアレイ46内のデータ入力44にアクセスする前にプリチャージされる。SRAMデータアレイ46は、この例では図1において設けられた6-T SRAMビットセル10の行および列として構成される。説明を明確にするために、図5について説明する際に参照される図1の要素については説明を繰り返さない。SRAMデータアレイ46は、複数のSRAMデータサブアレイ50(0)〜50(N)としてさらに構成されてよい。
【００３３】
引き続き図5を参照するとわかるように、SRAMキャッシュ42'は、この例における2つのデータアクセスパス、すなわち、第1のデータアクセスパス52'と第2のデータアクセスパス54'とを備える。第1のデータアクセスパス52'は、メモリアクセス要求48を処理して、メモリアクセス要求48に対応するデータ入力44へのアクセスに関してSRAMデータアレイ46にインデックス付けする。第2のデータアクセスパス54'は、非限定的な例として、漏れ電力を低減させるためにアクセスすべき複数のSRAMデータサブアレイ50(0)〜50(N)のうちの特定の1つまたは複数のSRAMデータサブアレイ50(0)〜50(N)のみにプリチャージが必要になるようにアクセスすべき特定のSRAMデータサブアレイ50(0)〜50(N)を特定する。この例では、SRAMデータサブアレイ50(0)〜50(N)のプリチャージは、第1のデータアクセスパス52'におけるデータ入力44へのアクセスよりも前に第1のデータアクセスパス52'の外側の第2のデータアクセスパス54'において行われる。図5のSRAMキャッシュ42'内の第1のデータアクセスパス52'についてここで説明される。
【００３４】
引き続き図5を参照すると、SRAMキャッシュ42'は、受け取られたメモリアクセス要求48を処理するように構成されたメモリアクセス論理回路56'をさらに備える。メモリアクセス論理回路56'は、第1のデータアクセスパス52'におけるメモリアクセス要求48を処理するように構成される。メモリアクセス要求48を処理することは、メモリアクセス要求48を受け取ることと、データ入力アドレス58を、メモリアクセス要求48に対応するSRAMデータアレイ46内に位置するデータ入力44にインデックス付けするためのデータインデックス60に変換することとを含んでよい。データインデックス60は、メモリアクセス要求48内のデータ入力アドレス58をSRAMデータアレイ46内のデータ入力44位置に対応するインデックスに変換することによって生成される。
【００３５】
SRAMキャッシュ42'のこの例では、メモリアクセス論理回路56'は、タグアレイ92とコンパレータ回路94とを備える。タグアレイ92は、メモリアクセス要求48を入力として受け取る。タグアレイ92は、供給されたメモリアクセス要求48を使用して、メモリアクセス要求48内のデータ入力アドレス58を表すSRAMデータアレイ46に記憶されたデータ入力44の妥当性を検査する。妥当なデータ入力44は、データがメモリに記憶されたデータ入力アドレス58におけるデータのコヒーレントな表現を含む。データ入力44が妥当である場合、タグアレイ92は、タグ出力96をコンパレータ回路94への妥当な出力として供給する。コンパレータ回路94は、第1の入力97としてメモリアクセス要求48を受け取り、第2の入力98としてタグ出力96を受け取る。コンパレータ回路94は、メモリアクセス要求48とタグ出力96とを比較し、SRAMデータアレイ46への出力として与えられるデータインデックス60を生成する。
【００３６】
引き続き図5を参照すると、SRAMデータアレイ46は、生成されたデータインデックス60を入力として受け取る。この例では、データインデックス60は、SRAMデータアレイ46のSRAMデータサブアレイ50(0)〜50(N)内のどのデータ入力44がデータ入力アドレス58においてデータを含むかについての表示を提供する。データ入力44にアクセスすることは、メモリアクセス要求48に基づいてSRAMデータアレイ46におけるメモリアクセスを開始するのに使用されるアレイ有効化62信号をSRAMデータアレイ46に供給することを含む。SRAMデータアレイ46はさらに、アレイ有効化62信号を入力として受け取る。アレイ有効化62信号は、メモリアクセス論理回路56'によって対応するデータインデックス60が出力されており、したがって、データ入力44へのアクセスを進行させてよいことを示す。データインデックス60およびアレイ有効化62信号は、第1のデータアクセスパス52'におけるSRAMデータアレイ46内のデータ入力44にアクセスする際に使用できるようにSRAMデータアレイ46に出力される。アレイ有効化62信号がアサートされた場合、SRAMデータアレイ46は、アドレス指定されたデータ入力44をSRAMデータアレイ46からのデータ出力64として出力する。説明を明確にするために、図5について説明する際に参照される図1の要素については説明を繰り返さない。
【００３７】
引き続き図5を参照するとわかるように、第2のデータアクセスパス54'はプリチャージ回路66を備える。プリチャージ回路66は、第2のデータアクセスパス54'におけるSRAMデータアレイ46またはSRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化するように構成される。プリチャージ回路66は、メモリアクセス要求48を受け取るように構成される。プリチャージ回路66は、メモリアクセス要求48に対応する、アクセスされるSRAMデータサブアレイ50(0)〜50(N)にインデックス付けするためのプリチャージインデックス68を生成するようにさらに構成される。プリチャージ回路66は、受け取られたメモリアクセス要求48を、第1のデータアクセスパス52'においてアクセスすべきSRAMデータサブアレイ50(0)〜50(N)に対応するプリチャージインデックス68に変換することによってプリチャージインデックス68を生成する。プリチャージインデックス68は、SRAMデータサブアレイ50(0)〜50(N)のうちのどれにプリチャージが必要であるかを示し、プリチャージインデックス68は、インデックスビットのすべてを示す必要はない。したがって、メモリアクセスの前のクロックサイクルではインデックスビットの一部のみが必要である。プリチャージ回路66は、この例では、SRAMデータアレイ46によるSRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化するプリチャージ有効化70信号を生成するようにさらに構成される。
【００３８】
引き続き図5を参照するとわかるように、プリチャージ有効化70信号は、プリチャージインデックス68がSRAMデータアレイ46に供給されたことをSRAMデータアレイ46に示す。生成されたプリチャージインデックス68およびプリチャージ出力70信号は、第1のデータアクセスパス52'におけるデータ入力44へのアクセスよりも前に第2のデータアクセスパス54'におけるSRAMデータアレイ46によって受け取られる。SRAMデータアレイ46は、第1のデータアクセスパス52'におけるメモリアクセス要求48の処理とは無関係に、プリチャージ有効化70信号を受け取った後で、プリチャージインデックス68によって示されるSRAMデータサブアレイ50(0)〜50(N)のプリチャージを進行させることができる。さらに、生成されるプリチャージインデックス68は、一例として、すべてのインデックスビットのうちの一部を含むだけでSRAMデータサブアレイ50(0)〜50(N)のプリチャージを進行させることができる。非限定的な例として、SRAMデータサブアレイ50(0)〜50(N)をプリチャージすることは、アクセスされるデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)の図1のビット線26および補ビット線28のみをプリチャージすることを含んでよい。アクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28は、浮動状態にされるかまたは浮動状態のままであってよく、したがって、漏れ電力が低減する。
【００３９】
引き続き図5を参照するとわかるように、漏れ電力は、アクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28が、論理高状態または論理低状態のいずれにもプリチャージされるメモリアイドル期間中に生じることがある。SRAMデータアレイ46のビット線26および補ビット線28のプリチャージに起因して生じる漏れ電力を低減させるために、メモリアクセス要求48によってアクセスされるデータ入力44を含むSRAMデータサブアレイ50のビット線26および補ビット線28のみをプリチャージする。漏れ電力を低減させるために、アクセスされないSRAMデータサブアレイ50(0)〜-50(N)のビット線26および補ビット線28は浮動状態のままにされてよい。さらに、第2のデータアクセスパス54'におけるSRAMデータサブアレイ50(0)〜50(N)のプリチャージの有効化は、メモリアクセス論理回路56’が第1のデータアクセスパス52'におけるメモリアクセス要求48を処理している間に行われてよい。アクセスされるSRAMデータアレイ46内のデータ入力44は、第2のデータアクセスパス54'において受け取られるプリチャージインデックス68に基づいてアクセスの前にプリチャージされる。このようにして、プリチャージ回路66は、メモリアクセス要求48の一部としてのSRAMデータアレイ42’内のビット線26、28のプリチャージを有効化してアイドル期間中のSRAMデータアレイ46内のビット線26、28のプリチャージを回避し、漏れ電力を低減させるように構成される。しかし、第1のデータアクセスパス52'の外側の第2のデータアクセスパス54'内にもプリチャージ回路66を設けることによって、プリチャージ回路66は、第1のデータアクセスパス52'にレイテンシを付加しないようにデータアクセスの前にSRAMデータアレイ42'のプリチャージを有効化し得る。以下でさらに詳細に説明するように、SRAMデータアレイ46には任意の自己タイミングクロック回路100が設けられる。任意の自己タイミングクロック回路100は、ワード線信号22および/またはビット線プリチャージ信号38の両方をアサートまたはアサート解除するための代替手段を実現する。
【００４０】
メモリアクセス要求48およびデータ入力44にアクセスする前にSRAMデータアレイ46をプリチャージすることについてさらに説明するために、図6が示されている。図6は、図5のSRAMキャッシュ 42'においてメモリアクセス要求48を処理するための例示的なプロセスを示すフローチャートである。メモリアクセス要求48の処理は、2つのデータアクセスパス、すなわち、第1のデータアクセスパス52'と第2のデータアクセスパス54'とを含む。SRAMデータアレイ46内のデータ入力44に関するメモリアクセス要求48の処理は、SRAMデータアレイ46内のデータ入力44をアドレス指定するための第1のデータアクセスパス52'におけるメモリアクセス要求48を受け取ること(ブロック102)を含む。メモリアクセス論理回路56'は、第1のデータアクセスパス52'における受け取られたメモリアクセス要求48に基づいてタグ出力96を生成する(ブロック104)。コンパレータ回路94は、タグ出力96を受け取られたメモリアクセス要求48と比較して、データ入力44がSRAMデータアレイ46に記憶されているかどうかを判定する(ブロック106)。メモリアクセス論理回路56'は、タグ出力96およびコンパレータ回路94からの比較結果に基づいてデータインデックス60およびアレイ有効化62信号を生成する。メモリアクセス論理回路56'によって生成されたデータインデックス60およびアレイ有効化62信号はSRAMデータアレイ46に出力される。SRAMデータアレイ46は、受け取られたデータインデックス60およびアレイ有効化62信号を使用して、メモリアクセス要求48に対応する第1のデータアクセスパス52'におけるSRAMデータアレイ46内のデータ入力44にアクセスする(ブロック108)。
【００４１】
引き続き図6を参照するとわかるように、メモリアクセス要求48の処理は、SRAMデータサブアレイ50(0)〜50(N)のうちの1つまたは複数をプリチャージするための第2のデータアクセスパス54'におけるメモリアクセス要求48を受け取ることをさらに含む。メモリアクセス要求48は、プリチャージ回路66によってSRAMデータアレイ46内のビット線26、28をプリチャージしてメモリアクセス要求48に対応するSRAMデータサブアレイ50(0)〜50(N)をプリチャージするために第2のデータアクセスパス54'において受け取られる(ブロック110)。プリチャージ回路66は、メモリアクセス要求48に対応するSRAMデータサブアレイ50(0)〜50(N)に関するプリチャージインデックス68およびプリチャージ有効化70信号を生成する(ブロック112)。生成されたプリチャージインデックス68およびプリチャージ有効化70信号は、プリチャージ回路66によって出力され、SRAMデータアレイ46によって受け取られる。SRAMデータアレイ46は、受け取られたプリチャージインデックス68およびプリチャージ有効化70信号を使用してメモリアクセス要求48を表すSRAMデータサブアレイ50(0)〜50(N)をプリチャージする(ブロック114)。したがって、SRAMデータアレイ46は、メモリアクセス論理回路56'が第1のデータアクセスパス52'におけるメモリアクセス要求48の変換データを生成するのとは無関係にSRAMデータサブアレイ50(0)〜50(N)をプリチャージすることができる。このようにして、メモリアクセス要求48に対応するデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)は、SRAMデータアレイ46がメモリアクセス要求48に対応するデータ入力44にアクセスする前にプリチャージされてよい。
【００４２】
引き続き図6を参照するとわかるように、プリチャージ機能がデータ入力44アクセスに依存しないように、プリチャージは第1のデータアクセスパス52'の外側の第2のデータアクセスパス54'において行われる。第1のデータアクセスパス52'の外側の第2のデータアクセスパス54'内にもプリチャージ回路66を設けることによって、プリチャージ回路66は、第1のデータアクセスパス52'内のデータ入力44アクセスとは無関係にSRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化してよい。したがって、プリチャージ回路66は、データ入力アドレス58におけるSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44アクセスの前にSRAMデータサブアレイ50(0)〜50(N)のプリチャージを有効化してよい。メモリアイドル時間中の漏れ電力を低減させるかまたは回避するために、ビット線26の一部をプリチャージしなくてもよい。したがって、非限定的な例として、SRAMデータアレイ46内のビット線26および補ビット線28のすべてではなく、アクセスされるデータ入力44を含むSRAMデータサブアレイ50(0)〜50(N)の図1のビット線26および補ビット線28のみがプリチャージされてよい。メモリアクセス要求48の一部としてアクセスされないSRAMデータサブアレイ50(0)〜50(N)のビット線26および補ビット線28は、漏れ電力をさらに低減させるために浮動状態ままであってよい。このように、プリチャージ回路66のレイテンシが、SRAMデータサブアレイ50(0)〜50(N)内のデータ入力44にアクセスするための第1のデータアクセスパス52'の一部として生じることはない。さらに、SRAMキャッシュ 42’は、アクセスされる特定のSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44をプリチャージし、したがって、SRAMキャッシュ 42’内の漏れ電力を低減させることができる。
【００４３】
この点について、プリチャージ、および受け取られた複数のメモリアクセス要求48(1)〜48(M)に対応するSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44にアクセスすることに関連する例示的な信号のタイミングを示すタイミング図116が図7に示されている。説明を明確にするために、図7において参照される要素については図1および図2において説明してあり、これらの要素については説明を繰り返さない。図7は、第2のデータアクセスパス54におけるSRAMデータアレイ46内のビット線26、28をプリチャージ有効化するためのプリチャージイベント86が、第1のデータアクセスパス52におけるSRAMデータアレイ46にアクセスするためのアクセスイベント88とは無関係であることを示す。したがって、プリチャージ有効化70信号は、アレイ有効化62信号がアサートされる前にかつアレイ有効化62信号のアサートとは別にアサートされてよい。メモリアクセス要求48(1)〜48(M)の処理は個々に同じであり、これらについての説明は繰り返さない。
【００４４】
引き続き図7を参照するとわかるように、SRAM 42は、複数のメモリアクセス要求48(1)〜48(M)を受け取ってよい。図7は、SRAMキャッシュ42'内のメモリアクセス要求48(1)〜48(M)を処理するための信号のタイミングを示す。追加的なメモリアクセス要求48の処理は、上記に図6において説明したメモリアクセス要求48の処理と同じである。図7のメモリアクセス要求48(2)は、メモリアクセス要求48(1)を表すタイミング信号に続くクロック信号90の次の立上りクロックエッジ上で処理される。
【００４５】
図7は、メモリアクセス要求48(1)〜48(M)が逐次処理されることを示す。SRAM 42の性能を向上させるために、SRAM 42は、また複数のメモリアクセス要求48(1)〜48(M)をパイプライン式に処理してよい。メモリアクセス要求48(1)〜48(M)をパイプライン式に処理することによって、複数のメモリアクセス要求48(1)〜48(M)を重複して実行することができる。この点について、図8は、受け取られた2つのメモリアクセス要求48(1)、48(2)に対応するSRAMデータアレイ46のプリチャージを有効化するためのプリチャージイベント86およびSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44にアクセスするためのアクセスイベント88に関連する例示的な信号についての、図7と同様なタイミング図118を示す。ただし、図8は、2つのメモリアクセス要求48(1)、48(2)をパイプライン式に処理することをさらに示す。図8に示す個々の信号は、図2に示されており、これらについては説明を繰り返さない。2つのメモリアクセス要求48(1)、48(2)の各々の処理は個々に同じであり、これらについての説明は繰り返さない。2つよりも多くのメモリアクセス要求48(1)〜48(M)が受け取られ処理されてよいことに留意されたい。このようにして、図8は、SRAM 42がメモリアクセス要求48(1)に対応するSRAMデータアレイ46にアクセスしている間にメモリアクセス要求48(2)に関してSRAMデータアレイ46をプリチャージすることを示す。
【００４６】
引き続き図8を参照するとわかるように、ビット線プリチャージ信号38は、SRAMデータアレイ46によってメモリアクセス要求48(2)に関して再びアサートされる。ビット線プリチャージ信号38は、メモリアクセス要求48(1)に関してワード線信号22をアサートするためにSRAMデータアレイ46によって使用されるクロック信号90の立上りエッジと同じクロック信号90の立上りエッジに基づいて再びアサートされる。上述のように、ワード線信号22をアサートするためにSRAMデータアレイ46によって使用されるクロック信号90の立上りエッジはまた、メモリアクセス要求48(1)に対応するビット線プリチャージ信号38をアサート解除する。メモリアクセス要求48(1)に対応するSRAMデータアレイ46によるビット線プリチャージ信号38のアサート解除は、上記に図4において説明したように、ビット線プリチャージ信号38がメモリアクセス要求48(1)によるSRAMデータアレイ46のアクセスに干渉しないように行われる。しかし、この例では、SRAM 42は、SRAMデータアレイ46によるワード線信号22のアサート解除に続くクロック信号90の次の立上りエッジを使用して、SRAMデータアレイ46によるビット線プリチャージ信号38を再アサートする。このようにして、SRAM 42は、メモリアクセス要求48(1)における干渉および誤った結果を生じさせることのある、ワード線信号22がSRAMデータアレイ46によってアサートされている間の、SRAMデータアレイ46によるビット線プリチャージ信号38の再アサートを回避する。したがって、SRAM 42は、パイプライン化技術を使用することによって、メモリアクセス要求48(1)およびメモリアクセス要求48(2)を、図7に示す逐次技術において可能なよりも短時間のうちに処理することができる。SRAM 42は、複数のSRAMデータサブアレイ50(0)〜50(N)(図8には示されていない)を備えてよい。図8における2つのメモリアクセス要求48(1)、48(2)は、同じデータ入力44をアドレス指定してもまたはそれぞれに異なるデータ入力44をアドレス指定してもよい。データ入力44の各々は、複数のSRAMデータサブアレイ50(0)〜50(N)のうちの同じSRAMデータサブアレイに位置してもまたはそれぞれに異なるSRAMデータサブアレイに位置してもよい。
【００４７】
この点について、図9は、複数のSRAMデータサブアレイ50(0)〜50(N)内のデータ入力44をパイプライン式にアドレス指定するための8つのメモリアクセス要求48(1)〜48(8)を処理することに関連する例示的な信号を示すタイミング図120である。図9に示す信号は、図1および図2に示されており、これらについては説明を繰り返さない。図8と同様に、第2のデータアクセスパス54におけるSRAMデータアレイ46のプリチャージを有効化するためのプリチャージイベント86は、第1のデータアクセスパス52におけるSRAMデータアレイ46にアクセスするためのアクセスイベント88とは無関係である。8つのメモリアクセス要求48(1)〜48(8)の各々の処理は個々に同じであり、これらについての説明は繰り返さない。図9は、図8と同様なパイプライン式の複数のメモリアクセス要求48(1)〜48(8)の処理を示すが、図9は複数のSRAMデータサブアレイ50(0)〜50(N)全体にわたる処理をさらに示す。
【００４８】
引き続き図9を参照するとわかるように、図2のプリチャージインデックス68は、非限定的な例として、複数のSRAMデータサブアレイ50(0)〜50(N)のうちのどのSRAMデータサブアレイがクロック信号90の次の立上りエッジ上でプリチャージされるかを示すために与えられる。複数のSRAMデータサブアレイ50(0)〜50(N)は、SRAMデータサブアレイ50(0)〜50(N)のプリチャージがメモリアクセスの前に完了するのであればクロック信号90の立下りエッジ上でプリチャージされてもよい。この例では、メモリアクセス要求48(1)は、メモリアクセス要求48(1)内のデータ入力アドレス58に対応するデータ入力44にアクセスできるようにプリチャージ回路66(図示せず)によって処理される。プリチャージ回路66は、この非限定的な例では、3ビットのプリチャージインデックス68を生成する。3ビットのプリチャージインデックス68は、プリチャージ回路66が考えられる8つのSRAMデータサブアレイ50(0)〜50(7)のうちのプリチャージすべき1つのSRAMデータサブアレイを特定するのを可能にする。この例では、メモリアクセス要求48(1)は、SRAMデータサブアレイ50(7)内に位置するデータ入力アドレス58を含み、したがって、プリチャージインデックス68は、プリチャージ回路66によってアサートされるすべてのビットを有する。すべてのビットがアサートされた3ビットのプリチャージインデックス68によって、プリチャージインデックス68としてバイナリ値「111」が得られる。このバイナリ値を10進値「7」に変換することによって、SRAMデータサブアレイ50(7)がSRAMデータアレイ46によってプリチャージされることがわかる。プリチャージインデックス68が同時に与えられることによって、プリチャージ有効化70信号がプリチャージ回路66によってアサートされる。プリチャージ有効化70信号は、プリチャージインデックス68がプリチャージ回路66によって出力されたことをSRAMデータアレイ46に示す。上述のように、SRAMデータアレイ46は、プリチャージ有効化70信号がアサートされたことに基づいて、クロック信号90の次の立上りクロックエッジ上でSRAMデータサブアレイ50(7)のプリチャージをアクティブ化するビット線プリチャージ信号38をアサートする。この例では、クロック信号90の各立上りエッジは、複数のSRAMデータサブアレイ50(0)〜50(N)のうちの1つのSRAMデータサブアレイ内のSRAMデータアレイ46によるビット線プリチャージ信号38のアサートを開始することができる。
【００４９】
引き続き図9を参照するとわかるように、SRAMデータサブアレイ50(0)〜50(N)に対応するSRAMデータアレイ46によるワード線信号22のアサートは、ビット線プリチャージ信号38をアサート解除するとともにメモリアクセス要求48(1)〜48(8)に対応するデータ入力44へのアクセスをアクティブ化する。ワード線信号22は、いくつかのクロッキング方式に基づいてSRAMデータアレイ46によってアサート解除されてよい。この例では、クロック信号90の各立上りエッジは、異なるSRAMデータサブアレイ50に関する異なるメモリアクセス要求48に対応するビット線プリチャージ信号38のアサートと同時に複数のSRAMデータサブアレイ50(0)〜50(N)のうちの別のSRAMデータサブアレイ内のSRAMデータアレイ46によるワード線信号22のアサートを開始することもできる。ワード線信号22のアサート解除は、SRAMデータアレイ46または複数のクロッキング方式における任意の自己タイミングクロック回路100(図示せず)によって実行されてよい。
【００５０】
この点について、図10は、位相ベースのクロッキング方式と呼ばれるクロック信号90の立上りエッジに基づくSRAMデータアレイ46によるワード線信号22のアサートの制御を含むアクセスイベント88に関する信号の例示的なタイミングを示すタイミング図122である。この例では、単一のメモリアクセス要求48の第1のデータアクセスパス52におけるSRAMデータアレイ46によるワード線信号22のアサートのみが示されている。図10におけるSRAMデータアレイ46によるワード線信号22のアサートを制御するための図示の方式は、上述のタイミング例の各々において使用されてよい。位相ベースのクロッキング方式において、アレイ有効化62信号がメモリアクセス論理回路56によってアサートされた場合、SRAMデータアレイ46は、クロック信号90の同じ立上りクロックエッジ上でワード線信号22をアサートするとともにビット線プリチャージ信号38をアサート解除する。ビット線プリチャージ信号38は、上述のようにSRAMデータアレイ46によるデータ入力44のアクセスに干渉しないようにSRAMデータアレイ46によってアサート解除される。SRAMデータアレイ46へのアクセスは、SRAMデータアレイ46によってワード線信号22がアサート解除されるまでアクティブ化されたままである。位相ベースのクロッキング方式におけるSRAMデータアレイ46によるワード線信号22のアサート解除は、ワード線信号22のアサートに続くクロック信号90の次の立下りエッジ上で行われる。ビット線プリチャージ信号38は、ワード線信号22がSRAMデータアレイ46によってアサートされるときにSRAMデータアレイ46によってアサート解除され、ビット線プリチャージ信号38は、次のメモリアクセス要求48まで、場合によっては浮動状態と呼ばれるアサート解除状態のままである。位相ベースのクロッキング方式は、クロック信号90の立下りエッジがワード線信号22をアサート解除するようにSRAMデータアレイ46を制御または指示するのを可能にする。
【００５１】
クロック信号90がSRAM 42の動作に関して指定された周波数よりも速い周波数で動作する設計では、SRAMデータアレイ46がクロック信号90の立下りエッジとは無関係にワード線信号22を制御することが可能である。この点について、図11は、任意の自己タイミング制御方式に基づくSRAMデータアレイ46によるワード線信号22のアサートの制御を含むアクセスイベント88に関する信号の例示的なタイミングを示すタイミング図124である。図11におけるSRAMデータアレイによるワード線信号22のアサートを制御するための図示の方式は、上述のタイミング例の各々において使用されてよい。任意の自己タイミング制御方式では、SRAMデータアレイ46は、図5の任意の自己タイミングクロック回路100(図示せず)を使用して、事前設定されるかまたは場合によってはプログラムされた値に基づいてワード線信号22をアサート解除しビット線プリチャージ信号38を再アサートする。任意の自己タイミングクロック回路100は、SRAMデータアレイ46によってアクティブ化され、SRAMデータアレイ46によってワード線信号22がアサートされる。任意の自己タイミングクロック回路100は、ワード線信号22をアサート解除する前にSRAMデータアレイ46内のデータ入力44に適切にアクセスするのに十分な時間を確保する。任意の自己タイミングクロック回路100は、その後のメモリアクセス要求48がSRAMデータアレイ46へのアクセスを要求している場合、RAMデータアレイ46によってビット線プリチャージ信号38を任意に再アサートする。任意の自己タイミングクロック回路100は、クロック信号90周波数が速すぎてメモリアクセス要求48に対応するSRAMデータアレイ46内のデータ入力44にアクセスするのに適切な時間を確保できない場合に設けられてよい。
【００５２】
SRAMデータアレイ46内のデータ入力44にアクセスするとともにSRAMデータアレイ46によってビット線プリチャージ信号38を再アサートするのに必要な総時間よりも短いクロック周期を伴うクロック信号90周波数を実現することが望ましい場合もある。この点について、図12は、複数のクロックサイクルにわたる任意の自己タイミング自己リセット制御方式に基づくSRAMデータアレイ46によるワード線信号22のアサートの制御を含むアクセスイベント88に関する信号の例示的なタイミングを示すタイミング図126である。図12におけるSRAMデータアレイ46によるワード線信号22のアサートを制御するための図示の方式は、上述のタイミング例の各々において使用されてよい。任意の自己タイミング自己リセット制御方式では、SRAMデータアレイ46は、図5の任意の自己タイミングクロック回路100(図示せず)を使用して、事前設定されるかまたは場合によってはプログラムされた値に基づいてワード線信号22をアサート解除しビット線プリチャージ信号38を任意で再アサートする。任意の自己タイミング自己リセット制御方式は、任意の自己タイミングクロック回路100がSRAMデータアレイ46内のその後のメモリアクセス要求48を許容できるほど高速のリセットを行うことができない場合に実施されてよい。このことは、SRAMデータアレイ46によるアクセスが複数のクロックサイクルにわたって行われ、クロック周期が、メモリアクセス要求48に対応するSRAMデータアレイ46内のデータ入力44にアクセスするのに適切な時間を確保できるほど長くないタイミングシナリオを含んでよい。上述の自己クロッキング方式と同様に、SRAMデータアレイ46にアクセスし、またアクセスごとにビット線26および補ビット線28をプリチャージするのを可能にするのに十分な時間を確保すべきであることに留意されたい。しかし、任意の自己タイミング自己リセットクロック方式は、SRAMデータアレイ46がワード線信号22をアサート解除し、その後のメモリアクセス要求48に備えてビット線プリチャージ信号38を再アサートするときに任意の自己タイミングクロック回路100がそれ自体をリセットする方式である。任意の自己タイミングクロック回路100は、SRAMデータアレイ46によってリセットされるのではなく、それ自体をリセットする。
【００５３】
本明細書において開示する実施形態による、漏れ電力を低減させるためのデータアクセスの前のSRAM内のビット線のプリチャージ、ならびに関連システムおよび方法は、任意のプロセッサベースのデバイスに設けられてもまたは組み込まれてもよい。例として、限定されないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。
【００５４】
この点について、図13は、本明細書において開示するSRAM 42およびSRAM 42'内の漏れ電力を低減させるためにデータ入力アクセスの前にSRAMデータアレイをプリチャージするためのシステムおよび方法を使用できるプロセッサベースのシステム128の例を示す。この例では、プロセッサベースのシステム128は、1つまたは複数のプロセッサ132を各々が含む1つまたは複数のCPU 130を含む。CPU 130は、一時的に記憶されたデータへの高速アクセスのためにプロセッサ132に結合されたキャッシュメモリ134を有し得る。CPU130は、システムバス136に結合され、プロセッサベースのシステム128中に含まれるマスターデバイスとスレーブデバイスとを相互結合することができる。よく知られているように、CPU130は、システムバス136を介してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信する。たとえば、CPU130は、スレーブデバイスの一例として、メモリコントローラ138にバストランザクション要求を通信することができる。図13には示さないが、複数のシステムバス136を設けてもよく、各システムバス136は異なるファブリックを構成する。
【００５５】
他のマスターデバイスおよびスレーブデバイスをシステムバス136に接続することができる。図13に示すように、これらのデバイスは、例として、メモリシステム140、1つまたは複数の入力デバイス142、1つまたは複数の出力デバイス144、1つまたは複数のネットワークインターフェースデバイス146、ならびに1つまたは複数のディスプレイコントローラ148を含むことができる。入力デバイス142は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む任意のタイプの入力デバイスを含み得る。出力デバイス144は、限定はしないが、オーディオ、ビデオ、他の視覚的指示器などを含む、任意のタイプの出力デバイスを含み得る。ネットワークインターフェースデバイス146は、ネットワーク150との間のデータの交換を可能にするように構成された任意のデバイスとすることができる。ネットワーク150は、限定はしないが、ワイヤードネットワークまたはワイヤレスネットワーク、プライベートネットワークまたは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、およびインターネットを含む、任意のタイプのネットワークであってよい。ネットワークインターフェースデバイス146は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。メモリシステム140は、1つまたは複数のメモリユニット152(0〜N)を含むことができる。
【００５６】
CPU130はまた、システムバス136上でディスプレイコントローラ148にアクセスして、1つまたは複数のディスプレイ154に送られる情報を制御するようにも構成され得る。ディスプレイコントローラ148は、1つまたは複数のビデオプロセッサ156を介して表示されることになる情報をディスプレイ154に送り、ビデオプロセッサ156は、表示される情報を、ディスプレイ154に適したフォーマットとなるように処理する。ディスプレイ154は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
【００５７】
本明細書で開示する実施形態に関連して説明する種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子的なハードウェアとして、メモリまたは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイス、またはこれら両方の組合せによって実行される命令として、実現される場合があることは、当業者にはさらに理解されよう。本明細書で説明するマスターデバイスおよびスレーブデバイスは、例として、どの回路、ハードウェア構成要素、集積回路(IC)、またはICチップ内でも用いられ得る。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリとすることができ、所望の任意のタイプの情報を記憶するように構成され得る。この互換性を明確に示すために、上記では、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップは全般的に、それらの機能に関して説明されている。そのような機能がどのように実現されるかは、具体的な用途、設計選択、および/またはシステム全体に課される設計制約によって決まる。当業者は、説明される機能を具体的な用途ごとに種々の方法で実現することができるが、そのような実現の決定は、本開示の範囲からの逸脱を生じさせるものと解釈すべきではない。
【００５８】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装あるいは実行することができる。プロセッサはマイクロプロセッサとすることができるが、代替形態として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることもできる。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【００５９】
本明細書で開示する実施形態は、ハードウェアで具現化されてよく、ハードウェアに記憶される命令により具現化されてよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能ROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている任意の他の形態のコンピュータ可読媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読取り、そこに情報を書込みできるようにプロセッサに結合される。代わりに、記憶媒体は、プロセッサと一体化されてもよい。プロセッサおよび記憶媒体はASIC内に存在し得る。ASICは遠隔局に存在し得る。代替として、プロセッサおよび記憶媒体は、遠隔局、基地局、またはサーバの中に個別の構成要素として存在し得る。
【００６０】
本明細書の例示的な実施形態のいずれかで説明した動作ステップは、例および考察を提供するために説明したものであることにも留意されたい。説明した動作は、例示された順序以外の多くの異なる順序で実行されてもよい。さらに、単一の動作ステップで説明した動作は、実際には、いくつかの異なるステップで実行され得る。加えて、例示的な実施形態において論じた1つまたは複数の動作ステップは、組み合わされてもよい。フローチャート図において例示した動作ステップは、当業者に容易に明らかとなるような多くの異なる修正を受けてもよいことを、理解されたい。情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることも、当業者には理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【００６１】
本開示の前述の説明は、いかなる当業者も本開示を作成または使用することができるように提供されている。本開示への様々な修正が当業者には容易に明らかになり、本明細書で定義される一般原理は、本開示の趣旨および範囲を逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明される例および設計に限定されるものではなく、本明細書で開示される原理および新規の特徴に一致する最大の範囲を与えられるものである。
【符号の説明】
【００６２】
10  6-T SRAMビットセル
12  情報
18  アクセストランジスタ
22  ワード線信号
24  ワード線
26  ビット線
28  補ビット線
30  センス増幅器
32  入力ドライバ
34  電圧
36  補電圧
38  ビット線プリチャージ信号
42  SRAM
44  データ入力
46  SRAMデータアレイ
48  メモリアクセス要求
50  SRAMデータサブアレイ
52  第1のデータアクセスパス
54  第2のデータアクセスパス
56  メモリアクセス論理回路
58  データ入力アドレス
60  データインデックス
62  アレイ有効化信号
64  データ出力
66  プリチャージ回路
68  プリチャージインデックス
70  プリチャージ有効化信号
86  プリチャージイベント
88  アクセスイベント
90  クロック信号
92  タグアレイ
94  コンパレータ回路
96  タグ出力
97  第1の入力
100  任意の自己タイミングクロック回路
128  プロセッサベースのシステム
130  CPU
132  プロセッサ
134  キャッシュメモリ
136  システムバス
140  メモリシステム
142  入力デバイス
144  出力デバイス
146  ネットワークインターフェースデバイス
148  ディスプレイコントローラ
150  ネットワーク
154  ディスプレイ
156  ビデオプロセッサ
【図１】
0006005894.tif 000002
【図２】
0006005894.tif 000003
【図３】
0006005894.tif 000004
【図４】
0006005894.tif 000005
【図５】
0006005894.tif 000006
【図６】
0006005894.tif 000007
【図７】
0006005894.tif 000008
【図８】
0006005894.tif 000009
【図９】
0006005894.tif 000010
【図１０】
0006005894.tif 000011
【図１１】
0006005894.tif 000012
【図１２】
0006005894.tif 000013
【図１３】
0006005894.tif 000014