(57)【特許請求の範囲】
【請求項１】
スタティックランダムアクセスメモリ(SRAM)アレイ中でクローバ電流を防ぐ方法であって、
前記SRAMアレイの第1のビットセルに対する同時読取りおよび書込み動作を検出するステップであって、前記第1のビットセルが、少なくとも第1および第2の読取りビット線を通して少なくとも第1および第2の交差結合ビット線キーパーに結合された、検出するステップと、
前記第1のビットセルに対する前記読取り動作を抑制するステップと、
前記SRAMアレイの第2のビットセルに対するダミー読取り動作を実行するステップであって、前記第2のビットセルが、前記第1および第2の読取りビット線を通して少なくとも前記第1および第2の交差結合ビット線キーパーに結合された、実行するステップと
を含む方法。
【請求項２】
前記ダミー読取り動作を実行するステップが、少なくとも前記第1および第2の交差結合ビット線キーパーが準安定状態に入るのを防ぐ、請求項1に記載の方法。
【請求項３】
前記ダミー読取り動作を実行するステップが、少なくとも前記第1および第2の読取りビット線が浮動状態となることを防ぐ、請求項1に記載の方法。
【請求項４】
前記第1のビットセルに対する前記書込み動作を進めることを許可するステップを含む、請求項1に記載の方法。
【請求項５】
前記第1のビットセルに対する前記読取り動作に関するビット線放電電流が、前記第2のビットセルに対する前記ダミー読取り動作にリダイレクトされる、請求項1に記載の方法。
【請求項６】
前記第1のビットセルが前記第2のビットセルに隣接する、請求項1に記載の方法。
【請求項７】
スタティックランダムアクセスメモリ(SRAM)アレイであって、
少なくとも第1および第2の読取りビット線を通して少なくとも第1および第2の交差結合ビット線キーパーに結合された第1のビットセルと、
少なくとも前記第1および第2の読取りビット線を通して少なくとも前記第1および第2の交差結合ビット線キーパーに結合された第2のビットセルと、
前記第1のビットセルに対する同時読取りおよび書込み動作を検出するように構成された検出論理と、
前記第1のビットセルに対する同時読取りおよび書込み動作が検出された場合、前記第1のビットセルに対する前記読取り動作を抑制するように構成された抑制論理と、
前記第2のビットセルに対するダミー読取り動作を実行するように構成された読取り論理と
を含むスタティックランダムアクセスメモリ(SRAM)アレイ。
【請求項８】
前記検出論理、前記抑制論理、および前記読取り論理が、少なくとも前記第1および第2の交差結合ビット線キーパーが準安定状態に入るのを防ぐようにさらに構成された、請求項7に記載のSRAMアレイ。
【請求項９】
前記検出論理、前記抑制論理、および前記読取り論理が、少なくとも前記第1および第2の読取りビット線が浮動状態となることを防ぐようにさらに構成された、請求項7に記載のSRAMアレイ。
【請求項１０】
前記検出論理、前記抑制論理、および前記読取り論理が、前記第1のビットセルに対する前記読取り動作に関するビット線放電電流を前記第2のビットセルに関する前記ダミー読取り動作にリダイレクトするようにさらに構成された、請求項7に記載のSRAMアレイ。
【請求項１１】
前記第1のビットセルに対する前記書込み動作を実行するように構成された書込み論理をさらに含む、請求項7に記載のSRAMアレイ。
【請求項１２】
前記第1のビットセルが前記第2のビットセルに隣接する、請求項7に記載のSRAMアレイ。
【請求項１３】
スタティックランダムアクセスメモリ(SRAM)アレイであって、
少なくとも第1および第2の読取りビット線を通して少なくとも第1および第2の交差結合ビット線キーパーに結合された第1のビットセルと、
少なくとも前記第1および第2の読取りビット線を通して少なくとも前記第1および第2の交差結合ビット線キーパーに結合された第2のビットセルと
を含むスタティックランダムアクセスメモリ(SRAM)アレイと、
前記第1のビットセルに対する同時読取りおよび書込み動作を検出するための手段と、
前記第1のビットセルに対する前記読取り動作を抑制するための手段と、
前記第2のビットセルに対するダミー読取り動作を実行するための手段と
を含むシステム。
【請求項１４】
少なくとも前記第1および第2の交差結合ビット線キーパーが準安定状態に入るのを防ぐための手段を含む、請求項13に記載のシステム。
【請求項１５】
少なくとも前記第1および第2の読取りビット線が浮動状態となることを防ぐための手段を含む、請求項13に記載のシステム。
【請求項１６】
前記第1のビットセルに対する前記書込み動作を進めることを許可するための手段を含む、請求項13に記載のシステム。
【請求項１７】
前記第1のビットセルに関連した前記読取り動作に関するビット線放電電流を前記第2のビットセルに関する前記ダミー読取り動作にリダイレクトするための手段を含む、請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条に基づく優先権の主張
本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、2012年10月31日に出願された「DUMMY READ TO PREVENT CROWBAR CURRENT DURING READ-WRITE COLLISIONS IN MEMORY ARRAYS WITH CROSS-COUPLED KEEPERS」と題する米国仮出願第61/720,420号の優先権を主張する。
【０００２】
開示する実施形態は、メモリアレイ中でクローバ電流を管理し、防げることを対象とする。より詳細には、例示的な実施形態は、ダミー読取り動作を実行することによって、交差結合ビット線キーパーを含むスタティックランダムアクセスメモリ(SRAM)などのメモリアレイ中で読取り書込み衝突から生じるクローバ電流を防げることを対象とする。
【背景技術】
【０００３】
いくつかのプロセッサは、サイクルごとに処理される命令の数を増加するために、キャッシュなどのメモリ構造上で同時読取りおよび書込み動作を実行することを許可し得る。しかしながら、同時読取りおよび書込み動作が、同じキャッシュラインなどの同じメモリエントリ上にスケジュールされたとき、障害が生じ得る。これらの障害は、機能的なエラーを生じ得るだけでなく、メモリ構造に重大な損傷を生じ得る、クローバ電流などの有害な状態にもつながり得る。具体的には、スタティックランダムアクセスメモリ(SRAM)などのメモリ構造の場合、同じSRAMビットセルに対する読出しおよび書込みドライバが有効にされるとき、交差結合ビット線キーパーなどの読取り/書込み回路は、対向する電流によって混乱され得、それによって、有害なクローバ電流を生じ、交差結合ビット線キーパーを準安定状態に駆動し得る。
【０００４】
上記のシナリオの例示を、図1Aに関して与える。図1Aでは、従来の全差動SRAMアレイ100が示されている。SRAMアレイ100は、当技術分野で知られているように、各々が10個のトランジスタ(10T)SRAMセルとして構成されたビットセル102i、102jなどを含む。書込みワード線WWL104iおよびWWL104jは、対応するビットセル102iおよび102jに対する書込み動作のために有効にされる(すなわち、高電圧レベルまたは論理状態に駆動される)。書き込まれるべきデータは、相補書込みビット線WBL114aおよびWBLB114bによって供給される。同様に、読取りワード線RWL106iおよびRWL106jは、対応するビットセル102iおよび102jに対する読取り動作のために有効にされ、読取りデータは、相補読取りビット線RBL116aおよびRBLB116b上の対応するビットセルの中から読み取られる。トランジスタ110a〜bは、SRAMアレイ100にプリチャージクロック110を与えるために使用される。交差結合ビット線キーパー108aおよび108bは、ビットセルに対する動作を加速するために与えられる。たとえば、タグ比較などの動作中にビットセルのより速い読取りを有効にするために、臨界経路における遅延を緩和するために交差結合ビット線キーパー108a〜bが与えられる。しかしながら、WWL104iとRWL106iの両方を有効にすることによって同じビットセル、たとえば、ビットセル102iに対して同時読取りおよび書込み動作を行うことが許可されるとき、交差結合ビット線キーパー108a〜bが準安定状態に駆動され、相補読取りビット線RBL116aおよびRBLB116bが浮動させられる。これは、ダウンストリーム論理112a〜b中を流れるのに有害な、望ましくないクローバ(または短絡回路)電流を作り出す。ダウンストリーム論理112a〜bは、SRAMアレイ100の内部または外部にあり得る任意の論理、回路、またはバスを含むことができ、クローバ電流から生じ得る頻繁な、潜在的に回復不可能な損傷からダウンストリーム論理112a〜bを保護することが重要である。
【０００５】
同じビットセルに対する同時または衝突読取りおよび書込み動作から生じるクローバ電流を防げるための既存の技法は、読取り動作または書込み動作のうちの1つが行われるのを防げることを含む。書込みバッファがない場合、書込み動作を防げることができないか、またはさもなければ、書き込まれることになっていたデータを永続的に失う恐れがある。したがって、従来の技法では、WWL104iおよびRWL106iが競合する可能性があるとき、たとえば、読取りワード線RWL106iが有効にされるか、または高状態に駆動されるのを抑制することによって、読取り動作が防げられる。しかしながら、RWL106iが有効にされるのを妨げると、相補ビット線RBL116aおよびRBLB116bが浮動することになるので、単にそのようにすることはできない。相補ビット線RBL116aおよびRBLB116bは、読取回路がアクティブ化されるとき相補論理状態に評価される必要があるので、それらを浮動させることは、やはりクローバ電流を生じ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記で説明した問題を回避する代替手法は、問題がある同時読取り書込み状況をかなり前に検出し、たとえば、ソフトウェアフィックスを実装することによって問題を回避することを含む。たとえば、メモリ構造に関連するプロセッサ上で実行される命令は、読取り書込み衝突障害を回避するために並べ替えられ得る。しかしながら、プログラマーは、物理メモリロケーションの十分な可視性を有し得ず、および/または読取り/書込み動作がリアルタイムアプリケーションに対して実行するときそれらの制御が欠如し得るので、ソフトウェアにおけるそのような検出および衝突防止は実現可能でないか、実際的でない。さらに、このレベルでのソフトウェア介入は、高性能処理アプリケーションを著しく減速させ得る。複数のプロセッサが同じメモリ構造を共有するとき、問題はさらに複雑になる。既存の手法は、しばしば、読取り書込み衝突が起こり得る状況を処理しようとして、専用書込みバッファなど、高価で非効率的なソリューションに依拠する。さらに、これらの手法が読取り書込み障害または衝突を処理する全般的エリアに存在する範囲で、当技術分野で、ビットセルに対する読取りおよび書込みワード線が同時に有効にされるとき、状況がSRAMアレイなどのメモリ構造中で起こるときクローバ電流が生じるのを効果的に防げることが継続的に必要とされている。
【課題を解決するための手段】
【０００７】
例示的な実施形態は、交差結合ビット線キーパーを採用するメモリアレイ中でクローバ電流を管理することを対象とする。たとえば、いくつかの実施形態は、交差結合ビット線キーパーを利用するメモリアレイ中でのメモリエントリの読取り書込み衝突の場合にクローバ電流を防げるためにダミー読取りを実装することを対象とする。
【０００８】
たとえば、例示的な実施形態は、交差結合ビット線キーパーを含むスタティックランダムアクセスメモリ(SRAM)アレイ中でクローバ電流を防げる方法であって、SRAMアレイの第1のエントリに対する同時読取りおよび書込み動作を検出するステップと、第1のエントリに対する読取り動作を抑制するステップと、SRAMアレイの第2のエントリに対するダミー読取り動作を実行するステップであって、第1および第2のエントリが、交差結合ビット線キーパーに結合された、実行するステップとを含む方法を対象とする。
【０００９】
別の例示的な実施形態は、第1のビットセルと、第2のビットセルと、第1のビットセルと第2のビットセルとに結合された交差結合ビット線キーパーとを含むスタティックランダムアクセスメモリ(SRAM)アレイを対象とする。検出論理は、第1のビットセルに対する同時読取りおよび書込み動作を検出するように構成され、抑制論理は、第1のビットセルに対する同時読取りおよび書込み動作が検出された場合、第1のビットセルに対する読取り動作を抑制するように構成される。さらに、読取り論理は、第2のビットセルに対するダミー読取り動作を実行するように構成される。
【００１０】
また別の例示的な実施形態は、第1のエントリおよび第2のエントリと、第1のエントリと第2のエントリとに結合された交差結合ビット線キーパーと、第1のエントリに対する同時読取りおよび書込み動作を検出するための手段と、第1のエントリに対する読取り動作を抑制するための手段と、第2のエントリに対するダミー読取り動作を実行するための手段とを含むスタティックランダムアクセスメモリ(SRAM)アレイ含むシステムを対象とする。
【００１１】
別の例示的な実施形態は、プロセッサによって実行されたとき、プロセッサに、交差結合ビット線キーパーを含むスタティックランダムアクセスメモリ(SRAM)アレイ中でクローバ電流を防げるための動作を実行させるコードを含む非一時的コンピュータ可読記憶媒体であって、SRAMアレイの第1のエントリに対する同時読取りおよび書込み動作を検出するためのコードと、第1のエントリに対する読取り動作を抑制するためのコードと、SRAMアレイの第2のエントリに対するダミー読取り動作を実行するためのコードであって、第1および第2のエントリが、交差結合ビット線キーパーに結合された、実行するためのコードとを含む非一時的コンピュータ可読記憶媒体を対象とする。
【００１２】
添付の図面は、本発明の実施形態に関する説明において助けとなるように提示されており、本発明の限定ではなく、実施形態の例示のみのために提供されている。
【図面の簡単な説明】
【００１３】
【図１Ａ】交差結合ビット線キーパーをもつ従来のSRAMアレイである。
【図１Ｂ】図1の従来のSRAMアレイ中で読取り書込み衝突に対応するタイミング図である。
【図２】交差結合ビット線キーパーをもつ例示的なSRAMアレイおよびクローバ電流を防げるための例示的な障害管理論理である。
【図３】図2の例示的なSRAMアレイに対応するタイミング図である。
【図４Ａ】クローバ電流を検出し、防げるように構成された、図2の障害管理論理の詳細な図である。
【図４Ｂ】クローバ電流を検出し、防げるように構成された、図2の障害管理論理の詳細な図である。
【図４Ｃ】クローバ電流を検出し、防げるように構成された、図2の障害管理論理の詳細な図である。
【図４Ｄ】クローバ電流を検出し、防げるように構成された、図2の障害管理論理の詳細な図である。
【図５】例示的なSRAMアレイ中でクローバ電流を検出し、防げる方法に対応するフローチャートである。
【図６】例示的なSRAMアレイ中でクローバ電流の検出および防止のために構成されたワイヤレス通信デバイスの例示的な実装形態を示す図である。
【発明を実施するための形態】
【００１４】
本発明の特定の実施形態を対象とする以下の説明および関連する図面において、本発明の態様が開示される。本発明の範囲から逸脱することなく、代替の実施形態が考案され得る。加えて、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素は詳細に説明されないか、または省略される。
【００１５】
「例示的な」という言葉は、例、事例、または例示として機能することを意味するように本明細書で使用される。「例示的な」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００１６】
本明細書で使用する用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定するものではない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、本明細書で使用すると、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが理解されよう。
【００１７】
さらに、多くの実施形態について、たとえばコンピューティングデバイスの要素によって実行されるべき、一連の動作に関して説明する。本明細書で説明される様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることを認識されよう。加えて、本明細書で説明されるこれらの一連の動作は、実行されると、関連するプロセッサに本明細書で説明される機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で完全に具現化されるものと見なされ得る。したがって、本発明の様々な態様は、特許請求される主題の範囲内にすべて入ることが企図されているいくつかの異なる形式で具現化され得る。さらに、本明細書で説明される実施形態ごとに、任意のそのような実施形態の対応する形式は、本明細書では、たとえば、説明されるアクションを実行する「ように構成された論理」として説明されることがある。
【００１８】
例示的な実施形態は、同時読取りおよび書込み動作が同じビットセルに対して試みられる状況中に、SRAMアレイなどの全差動アレイ中でクローバ電流が生じるのを防げるためのシステムおよび方法を対象とする。図1Bを参照すると、上記で説明した図1Aの従来のSRAMアレイ100に関係するタイミング図に関してこの状況が示されている。図示のように、プリチャージクロック110の位相または持続時間Tc中に、読取りアドレスバス106と書込みアドレスバス104の両方上で駆動されるビットセル102iに対応する同じアドレス「i」に従って、RWL106iとWWL104iの両方は高である。この状況により、相補ビット線RBL116aおよびRBLB116bが浮動されるか、または未定義状態に遷移されることになり、それにより、図1Aのダウンストリーム論理112a〜b中をクローバ電流が流れることになる。
【００１９】
例示的な実施形態は、たとえば、問題がある時間期間Tc中にビットセル102jに対応するRWL106jが低にとどまることを利用することによって、従来のSRAMアレイ100の上記で説明した問題を回避するように構成され得る。より具体的には、交差結合ビット線キーパーを実装するSRAMアレイなどのメモリアレイに関して、例示的な実施形態は、代替ビットセルまたはメモリエントリ上でダミー読取りを実行することによってビットセルまたはメモリエントリ上での読取り書込み衝突を回避するように構成され得る。本明細書で説明するように、「読取り書込み衝突」は、キャッシュラインまたはワード線またはビットセルなどの同じメモリエントリに対する同時スケジュール読出しおよび書込み動作に関係する。概して、実施形態について、ビットセル上での読取り書込み衝突に関して論じることにし、当業者は、本実施形態の範囲から逸脱することなく開示する技法を任意のメモリエントリに拡張することが可能である。
【００２０】
図2を参照すると、例示的なSRAMアレイ200が示されている。いくつかの態様では、SRAMアレイ200は、図1Aの従来のSRAMアレイ100と同様である。ただし、SRAMアレイ100の同様の構成要素に加えて、SRAMアレイ200は、例示的な技法によって読取り書込み衝突を検出し、クローバ電流を抑制するように構成された、障害マネージャ218として示された障害管理論理を含む。完全性のために、SRAMアレイ100とSRAMアレイ200との間の同様の態様を最初に列挙することにし、SRAMアレイ200中での読取り書込み衝突検出およびクローバ電流抑制に関係する追加の構成要素および他の例示的な態様についての詳細な説明を以下のセクションで与えることにする。
【００２１】
図1Aと同様に、図2中で、SRAMアレイ200は、1つの非限定的な構成では、各々が10個のトランジスタ(10T)SRAMセルとして構成されたビットセル202i、202jなどを含む。実施形態が、本開示の範囲から逸脱することなくSRAMセルの他の構成に容易に拡張され得ることが理解されよう。書込みワード線WWL204iおよびWWL204jは、対応するビットセル202iおよび202jに対する書込み動作のために有効にされる(すなわち、高電圧レベルまたは論理状態に駆動される)。書き込まれるべきデータは、相補書込みビット線WBL214aおよびWBLB214bによって供給される。同様に、読取りワード線RWL206iおよびRWL206jは、対応するビットセル202iおよび202jに対する読取り動作のために有効にされ、読取りデータは、相補読取りビット線RBL216aおよびRBLB216b上の対応するビットセルの中から読み取られる。トランジスタ210a〜bは、SRAMアレイ200にプリチャージクロック210を与えるために使用される。交差結合ビット線キーパー208aおよび208bは、ビットセルに対する動作を加速するために与えられる。たとえば、タグ比較などの動作中にビットセルのより速い読取りを有効にするために、交差結合ビット線キーパー208a〜bは、臨界経路における遅延を緩和するために与えられる。前述のように、例示的な障害マネージャ218がない場合、WWL204iとRWL206iの両方を有効にすることによって同じビットセル、たとえば、ビットセル202iに対して同時読取りおよび書込み動作を行うことが許可された場合、交差結合ビット線キーパー208a〜bが準安定状態に駆動され得、相補読取りビット線RBL216aとRBLB216bとが浮動され得、これにより、ダウンストリーム論理212a〜b中を流れるのに有害な、望ましくないクローバ(または短絡回路)電流を作り出し得る。しかしながら、障害マネージャ218の実装形態は、他の例示的な態様とともに、同じビットセルに対する読取り書込み衝突または同時読取りおよび書込み動作を検出し、読取り動作を抑制し、書込み動作を進めることを許可することによって上記のシナリオが発生するのを防げる。さらに、以下で説明するように、別のビットセルに対してダミー読取り動作を実行する。
【００２２】
図3を参照すると、たとえば、図2の例示的なSRAMアレイ200に対応する例示的なタイミング図が示されている。図3に示すように、SRAMアレイ200に対して、より詳細には、プリチャージクロック210の位相Tcにおいて図1Bのタイミング図と同様の状況が生じ得る。ここで、読取りアドレスバス206と書込みアドレスバス204とは(たとえば、ビットセル202iなどのビットセルに対応する)同じアドレス「i」を指し得、これは、位相Tc中に読取りおよび書込みワード線RWL206iおよびWWL204iの両方が同時に高になることを潜在的に可能にし得る。しかしながら、代替的に、RWL206iの代わりに(たとえば、ビットセル202jなどのビットセルに対応する)アドレス「j」の読取りワード線RWL206jを有効にすることによって例示的な技法はそれが起こるのを防げることができる。一例では、障害マネージャ218は、アドレス「i」の第1のエントリに対する同時読取りおよび書込み動作に基づいて衝突を検出し、読取りビット線RBL216aおよびRBLB216bの浮動状態をなくすための対応する回路/論理を含むことができる。障害マネージャ218は、異なる読取りワード線を有効にし、アドレス「j」の第2のエントリにビット線放電電流をリダイレクトすることによって読取りビット線RBL216aおよびRBLB216bからのビット線放電電流がクローバ電流をもたらすのを防げるようにさらに構成され得る。したがって、代わりにアドレス「j」の第2のエントリにおいてダミー読取りを実行するために、読取りワード線RWL206iが抑制され、RWL206jに対応する読取りワード線が有効にされる。したがって、これで、問題がある状況を避けることができるようになり、アドレスiに対して書込み動作を邪魔されずに進めながら、ダミー読取り動作がアドレスjで実行され得る。したがって、対応する相補読取りビット線RBL216aおよびRBLB216bは、図示のように相補論理状態に評価されるようになり、クローバ電流は生成されないようになる。
【００２３】
例示的な実施形態では、関係する読取回路またはソースから代替シンク(たとえば、RWL206j)にビット線放電電流(すなわち、読取りビット線RBL216aおよび/またはRBLB216bからの元々意図した読取り動作に関係する電流)をリダイレクトするために、RWL206iが有効にされるのが抑制されるだけでなく、代替読取りワード線RWL206jも有効にされることが理解されよう。元の読取りを抑制し、ダミー読取りを実行するこの組合せがクローバ電流を防げるために必要になる。読取り書込み障害を処理するための従来の手法では、元の読取りおよび書込みワード線がやはり有効にされ得るか、または関係する電流をリダイレクトするのに好適なチャネルがないことがあるので、クローバ電流がやはり生じ得る。したがって、例示的な実施形態は、競合または読取り書込み障害を単に解決することを超え、クローバ電流を防げることをも保証する。
【００２４】
したがって、SRAMアレイ200では、エントリ、たとえば、第1のエントリについて読取り書込み衝突が検出されたとき、第1のエントリへの書込みを邪魔されずに進めることが許可され得る。しかしながら、障害マネージャ218は、読取り書込み衝突が検出されたとき、代替の第2の読取りワード線が有効にされるように、第1のエントリの読取りワード線論理を変更し得る。有効にされたか、アクティブ高にある第2の読取りワード線は、準安定状態に入ることなしに交差結合ビット線キーパー208a〜bを通常動作状態に保持し、それによって、相補ビット線が浮動し、望ましくないクローバ電流を生じるのを防げることができる。いくつかの実施形態では、第2の読取りワード線は、第1の読取りワード線のように順次エントリに隣接するか、またはそれに対応し得る。いくつかの実施形態では、第2の読取りワード線は、第1のエントリのワード線とは異なるワード線中の任意のエントリに対応することができる。上記の実施形態のうちのどの1つが選定されるかにかかわらず、少なくとも1つの読取りワード線がアクティブ化され、交差結合ビット線キーパーが通常状態に保持されるので、クローバ電流をなくすことができる。このようにして第2の読取りワード線をアクティブ化することは、ダミー読取りに対応し、相応して、ダミー読取りから重要な読取りデータが取得されない。
【００２５】
次に図4A〜図4Dを参照すると、障害マネージャ218の例示的な実装態様が示されている。図示のように、障害マネージャ218は、例示的なSRAMアレイ200の構成を取得するために、アレイ設計への大きな改変なしに、SRAMアレイ100など、通常ならば従来のSRAMアレイ設計に容易に導入または追加され得る。したがって、例示的な技法は、大きい設計改変なしに、低コストで既存のメモリアレイ中に導入され得る。さらに、障害マネージャ218はスタンドアロン論理として示されているが、その中の機能はまた、本開示の範囲から逸脱することなく例示的なSRAMアレイ200に関する読取り書込み回路あるいは任意の他の論理または機能ブロックに容易に統合され得ることをも理解されよう。また、障害マネージャ218は、単に読取りワード線RWL206iおよび206jに影響を及ぼすように示されているが、明快のために、図2の概略図の中から障害マネージャ218に関係する入力および出力など多くの他の接続が外されていることに留意されよう。ただし、図4A〜図4Dを参照すると、当業者には、障害マネージャ218に関係する例示的な入力および出力などの様々な接続が明らかになろう。
【００２６】
したがって、より詳細に、図4Aに、例示的なSRAMアレイ200の行またはアドレス「i」の書込み動作に関係する障害マネージャ218中の論理を示す。write decode314iおよびwrite enable324は、たとえば、アドレス「i」の例示的なビットセルまたはメモリエントリ(たとえば、ビットセル202i)に書き込むことに関係する入力である。いくつかの実装形態では、書込みデコーダ(図示せず)が、書込みアドレスをアドレス「i」として復号するとき、write decode314iは、アクティブになるか、高論理状態になり、このようにして生成されたwrite decode314iは、(図示の)write enable324と論理的に論理積をとられることになる。write enable324と論理的に論理積をとられるwrite decode314iの真の出力および相補出力は、それぞれ、write304iおよびwrite_n304_niとして生成される。言い換えれば、図4Aによって実装される書込み論理は、write_n304ni=〜(write enable324&write_decode314i)およびwrite304i=(write enable324&write_decode314i)という論理関数によって表され得る。詳細に示していないが、図4Aによって実装される書込み論理は、書込みワード線WWL204iを有効または無効にするために使用され得る。
【００２７】
同様に、図4Bに示すように、アドレス「j」の例示的なビットセル(たとえば、ビットセル202j)であるwrite enable324と論理的に論理積をとられる書込み論理のwrite_decode314jは、真の出力および相補出力write304jおよびwrite_n304njを生成する。言い換えれば、図4B中の書込み論理は、write_n304nj=〜(write enable324&write_decode314j)およびwrite304j=(write enable324&write_decode314j)という論理関数によって表され得る。もう一度、詳細に示していないが、図4Bによって実装される書込み論理は、書込みワード線WWL204jを有効または無効にするために使用され得る。
【００２８】
書込み動作と同様に、図4C〜図4Dは、それぞれ、アドレス「i」および「j」(たとえば、ビットセル202iおよび202j)の読取り動作に対応する障害マネージャ218中の論理を表す。読取りデコーダ(図示せず)は、信号read decode316iおよび316jを生成する。図示の実施形態では、アクティブ高になるread clock310が読取り動作のイネーブル信号として使用され得るように、read clock310は読取りイネーブルの機能を含む。図4Cに、アドレス「i」に対応する読取りワード線RWL206iが、アドレス「i」のビットセルに読取り書込み衝突があるときは有効にされないか、またはアクティブ高に遷移しないが、一方、アドレス「j」上に読取り書込み衝突がある場合は有効にされ得ることを保証するように構成された論理を示す。上記の機能を実装するために、たとえば、read_clock310&(read decode316i&write_n304ni)を実装することによって、RWL206iは、アドレス「i」上で読取り書込み衝突がない場合に有効にされ得る。さらに、検出論理は、たとえば、read_clock310&(read decode316j&write304j)を実装することによって、アドレス「j」のビットセルまたはエントリに対する同時読取りおよび書込み動作を検出するように構成され得る。相応して、アドレス「j」について、同時読取りおよび書込み動作が検出された場合、抑制論理(たとえば、read_clock310&(read decode316j&write_n304_nj)、図4D参照)は、アドレス「j」のビットセルまたはエントリに対する読取り動作を抑制することができる。したがって、読取り論理は、図4Cの回路に従って、たとえば、RWL206i=read_clock310&((read decode316i&write_n304ni)|(read decode316j&write304j))という、組み合わされて示される関数を実装することによって、アドレス「i」の代替のまたは第2のビットセルまたはエントリに対するダミー読取り動作を実装するように構成され得る。
【００２９】
図4Dにおいて、アドレス「j」の読取りおよび書込み衝突について、関係する、ある意味では、逆の動作を示し、ここにおいて、アドレス「j」に対応する読取りワード線RWL206jは、アドレス「j」のビットセル(たとえば、ビットセル202j)の読取り書込み衝突があるときは有効にされないか、またはアクティブ高に遷移しないが、一方、アドレス「i」上に読取り書込み衝突がある場合は有効にされ得る。上記の機能を実装するために、RWL206jは、たとえば、read_clock310&(read decode316j&write_n304nj)を実装することによって、アドレス「j」上で読取り書込み衝突がない場合に有効にされ得る。さらに、検出論理は、たとえば、read_clock310&(read decode316i&write304i)を実装することによって、アドレス「i」のビットセルまたはエントリに対する同時読取りおよび書込み動作を検出するように構成され得る。相応して、アドレス「i」について、同時読取りおよび書込み動作が検出された場合、抑制論理(たとえば、read_clock310&(read decode316i&write_n304_ni)、図4C参照)は、アドレス「i」のビットセルまたはエントリに対する読取り動作を抑制することができる。したがって、読取り論理は、図4Dの回路に従って、たとえば、RWL206j=read_clock310&((read decode316j&write_n304nj)|(read decode316i&write304i))という、組み合わされて示される関数を実装することによって、アドレス「j」の代替のまたは第2のビットセルまたはエントリに対するダミー読取り動作を実装するように構成され得る。
【００３０】
ただし、上記で説明した図4C〜図4D中の図示された逆の関係は、いくつかの実施形態のみに関するもので、必要な特徴ではないことを念頭に置かれたい。代替実施形態では、読取り書込み衝突がアドレス「j」上で発生するとき、たとえば、SRAMアレイ200のまた別のアドレス「x」(図示せず)に対応する異なる読取りワード線がアクティブ高に駆動され得る。したがって、RWL206jは、アドレス「i」上での読取り書込み衝突のために有効にされ得、RWL206x(図示せず)は、アドレス「j」上での読取り書込み衝突のために有効にされ得、以下同様である。したがって、概して、SRAMアレイ200は、(たとえば、アドレス「i」に)第1のエントリ/ビットセルと(たとえば、アドレス「j」に)第2のエントリ/ビットセルとを含むことができ、ここにおいて、交差結合ビット線キーパーは、第1のビットセルと第2のビットセルとに結合される。検出論理(たとえば、図4C〜図4D)は、第1のビットセルに対する同時読取りおよび書込み動作を検出するように構成され得、抑制論理(たとえば、図4C〜図4D)は、第1のビットセルに対する同時読取りおよび書込み動作が検出された場合、第1のビットセルに対する読取り動作を抑制するように構成され得る。さらに、図4C〜図4Dに示すように、読取り論理は、第2のビットセルに対するダミー読取り動作を実行するように構成され得る。さらに、図4A〜図4Bに示すように、書込み論理は、第1のビットセルに対する書込み動作を実行するように構成され得る。さらに、上記の説明から理解されるように、例示的な技法を示すために、特定の行またはアドレス中の例示的なビットセルへの言及がなされる。しかしながら、開示する技法は、メモリアレイ中の特定の行またはワード線またはアドレス中に存在し得るビットセルまたはメモリエントリの数によって制限されず、概して、任意の数の対応するビットセルまたはメモリエントリをもつ任意の行サイズに拡張され得ることを当業者は認識されよう。したがって、いくつかの態様では互換的に使用されるビットセル/メモリエントリおよび行/ワード線/アドレスという用語を参照しながら様々な技法について説明した。
【００３１】
概して、SRAMアレイ200が、2N個のエントリまたは2N個のアドレスをもつ行を含む場合、読取り書込み衝突論理は、N個のペアの第1および第2の読取りワード線(たとえば、図示の例では1つのペアに対応するRWL206iおよびRWL206j)中に実装され得る。
【００３２】
実施形態は、本明細書で開示するプロセス、機能および/またはアルゴリズムを実行するための様々な方法を含むことが諒解されよう。たとえば、図5に示すように、実施形態は、交差結合ビット線キーパー(たとえば、208a〜b)を含むスタティックランダムアクセスメモリ(SRAM)アレイ(たとえば、SRAMアレイ200)中でクローバ電流を防げる方法を含み、本方法は、SRAMアレイの第1のエントリ(たとえば、ビットセル202i)に対する同時読取りおよび書込み動作を検出するステップ(たとえばアドレス「i」に対応する検出論理)-ブロック502と、第1のエントリに対する読取り動作を抑制するステップ(たとえば、アドレス「i」に対応する抑制論理)-ブロック504と、SRAMアレイの第2のエントリ(たとえば、アドレス「j」のビットセル202j)に対してダミー読取り動作(たとえば、アドレス「j」に対応する読取り論理)を実行するステップであって、第1および第2のエントリが交差結合ビット線キーパーに結合される、実行するステップ-ブロック506とを含む。
【００３３】
次に図6を参照すると、ワイヤレス通信デバイスとして構成されたデバイス600の実施形態が示されている。図示のように、デバイス600は、デジタル信号プロセッサ(DSP)664を含む。DSP664は、例示的な実施形態に従って構成された例示的なSRAMアレイ200を含み得るメモリ632に結合され得る(この図には示されていないが、いくつかの実施形態では、SRAMアレイ200は、DSP664の一部であるか、またはDSP664に組み込まれ得る)。ディスプレイコントローラ626は、DSP664およびディスプレイ628に結合され得る。コーダ/デコーダ(コーデック)634(たとえば、オーディオおよび/または音声コーデック)は、DSP664に結合され得る。(モデムを含み得る)ワイヤレスコントローラ640などの他の構成要素も示されている。スピーカー636およびマイクロフォン638は、コーデック634に結合され得る。図6は、ワイヤレスコントローラ640がワイヤレスアンテナ642に結合され得ることも示している。特定の実施形態では、DSP664、ディスプレイコントローラ626、メモリ632、コーデック634、およびワイヤレスコントローラ640は、システムインパッケージデバイスまたはシステムオンチップデバイス622に含まれる。
【００３４】
特定の実施形態では、入力デバイス630および電源644は、システムオンチップデバイス622に結合される。さらに、ある特定の実施形態では、図6に示すように、ディスプレイ628、入力デバイス630、スピーカー636、マイクロフォン638、ワイヤレスアンテナ642、および電源644は、システムオンチップデバイス622の外部にある。ただし、ディスプレイ628、入力デバイス630、スピーカー636、マイクロフォン638、ワイヤレスアンテナ642、および電源644の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス622の構成要素に結合され得る。
【００３５】
一実施形態では、DSP664および/またはメモリ632は、図6に示す1つまたは複数の残りの構成要素と併せて、図5のブロック502〜ブロック506で説明した方法に従って、交差結合ビット線キーパーを含み、メモリ632中に含まれる例示的なSRAMアレイ中でクローバ電流を検出し、防げるために、障害マネージャ218などの論理または手段を含むことができる。たとえば、DSP664および/またはメモリ632は、図4A〜図4Dに示した障害マネージャ218の論理と同様の論理を含むことができ、したがって、SRAMアレイの第1のエントリに対する同時読取りおよび書込み動作を検出することと、第1のエントリに対する読取り動作を抑制することと、メモリアレイの第2のエントリに対してダミー読取り動作を実行することであって、第1および第2のエントリが交差結合ビット線キーパーに結合される、実行することとを行うことができる。
【００３６】
図6はワイヤレス通信デバイスを示しているが、DSP664およびメモリ632がセットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、またはコンピュータにも統合され得ることに留意されたい。プロセッサ(たとえば、DSP664)も、そのようなデバイスに統合され得る。さらに、そのようなデバイスも、半導体ダイに統合され得る。
【００３７】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００３８】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００３９】
本明細書で開示された実施形態と関連して説明された方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
【００４０】
したがって、本発明の一実施形態は、メモリアレイ中で読取り書込み衝突中にクローバ電流を防げるためのダミー読取りを実装するための方法を実施するコンピュータ可読媒体を含むことができる。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
【００４１】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正が行われ得ることに留意されたい。本明細書に記載された本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは、任意の特定の順序で実行される必要はない。さらに、本発明の要素は、単数形で記載または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が考えられる。
【符号の説明】
【００４２】
100  全差動SRAMアレイ、SRAMアレイ
102i〜j  ビットセル
104  書込みアドレスバス
104i〜j  書込みワード線WWL
106  読取りアドレスバス
106i〜j  読取りワード線RWL
108a〜b  交差結合ビット線キーパー
110  プリチャージクロック
110a〜b  トランジスタ
112a〜b  ダウンストリーム論理
114a  相補書込みビット線WBL
114b  WBLB
116a  相補読取りビット線RBL
116b  RBLB
200  SRAMアレイ
202i〜j  ビットセル
204  書込みアドレスバス
204i〜j  書込みワード線WWL
206  読取りアドレスバス
206i〜j  読取りワード線RWL
206x  RWL
208a〜b  交差結合ビット線キーパー
210  プリチャージクロック
210a〜b  トランジスタ
212a〜b  ダウンストリーム論理
214a  相補書込みビット線WBL
214b  WBLB
216a  相補読取りビット線RBL
216b  RBLB
218  障害マネージャ
218  障害マネージャ
304_ni〜nj  write_n
304i〜j  write
310  read clock
314i〜j  write decode
316i〜j  read decode
324  write enable
600  デバイス
622  システムオンチップデバイス
626  ディスプレイコントローラ
628  ディスプレイ
630  入力デバイス
632  メモリ
634  コーダ/デコーダ(コーデック)
636  スピーカー
638  マイクロフォン
640  ワイヤレスコントローラ
642  ワイヤレスアンテナ
644  電源
664  デジタル信号プロセッサ(DSP)
【図１Ａ】
0005856360.tif 000002
【図１Ｂ】
0005856360.tif 000003
【図２】
0005856360.tif 000004
【図３】
0005856360.tif 000005
【図４Ａ】
0005856360.tif 000006
【図４Ｂ】
0005856360.tif 000007
【図４Ｃ】
0005856360.tif 000008
【図４Ｄ】
0005856360.tif 000009
【図５】
0005856360.tif 000010
【図６】
0005856360.tif 000011