特許第6230189号(P6230189)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フリースケール セミコンダクター インコーポレイテッドの特許一覧

特許6230189合致アドレスおよびデータ線の制御を備えるマルチポートメモリ
<>
  • 特許6230189-合致アドレスおよびデータ線の制御を備えるマルチポートメモリ 図000002
  • 特許6230189-合致アドレスおよびデータ線の制御を備えるマルチポートメモリ 図000003
  • 特許6230189-合致アドレスおよびデータ線の制御を備えるマルチポートメモリ 図000004
  • 特許6230189-合致アドレスおよびデータ線の制御を備えるマルチポートメモリ 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6230189
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】合致アドレスおよびデータ線の制御を備えるマルチポートメモリ
(51)【国際特許分類】
   G11C 11/418 20060101AFI20171106BHJP
   G11C 8/16 20060101ALI20171106BHJP
   G11C 7/10 20060101ALI20171106BHJP
【FI】
   G11C11/418 110
   G11C8/16
   G11C7/10 480
【請求項の数】20
【全頁数】22
(21)【出願番号】特願2013-267676(P2013-267676)
(22)【出願日】2013年12月25日
(65)【公開番号】特開2014-135111(P2014-135111A)
(43)【公開日】2014年7月24日
【審査請求日】2016年11月30日
(31)【優先権主張番号】13/740,862
(32)【優先日】2013年1月14日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】504199127
【氏名又は名称】エヌエックスピー ユーエスエイ インコーポレイテッド
【氏名又は名称原語表記】NXP USA,Inc.
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ペリー エイチ.ペリー
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特開平10−21687(JP,A)
【文献】 特開2005−346837(JP,A)
【文献】 特開平1−178193(JP,A)
【文献】 特開平1−296486(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 11/418
G11C 7/10
G11C 8/16
(57)【特許請求の範囲】
【請求項1】
第1のポートおよび第2のポートを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)であって、
複数のワード線のうちの第1のワード線および第2のワード線と、
複数のビット線対のうちの第1のビット線対、第2のビット線対、第3のビット線対、および第4のビット線対と、
前記複数のワード線および前記複数のビット線対に結合されているビットセルのアレイであって、該ビットセルのアレイは、第1のビットセルを含み、該第1のビットセルは、第1のストレージラッチを有し、該第1のストレージラッチにアクセスするための前記第1のワード線および前記第1のビット線対に結合されており、かつ前記第1のストレージラッチにアクセスするための前記第2のワード線および前記第2のビット線対に結合されている、前記ビットセルのアレイと、
前記ビットセルのアレイにアクセスするための第1の複数の読み出し/書き込みデータ線対のうちの第1の読み出し/書き込みデータ線対、および、前記ビットセルのアレイにアクセスするための第2の複数の読み出し/書き込みデータ線対のうちの第2の読み出し/書き込みデータ線対であって、
該第1の読み出し/書き込みデータ線対は、第1のスイッチングロジックを介して前記第1のビット線対に結合され、
該第2の読み出し/書き込みデータ線対は、第2のスイッチングロジックを介して前記第1のビット線対に結合され、第3のスイッチングロジックを介して前記第2のビット線対に結合されている、前記第1の読み出し/書き込みデータ線対および第2の読み出し/書き込みデータ線対と、
第1のアクセスアドレスの行アドレスが第2のアクセスアドレスの行アドレスに合致するか否かに基づいて行合致指示子を提供する行合致検出器と、
前記第1のアクセスアドレスの列アドレスが前記第2のアクセスアドレスの列アドレスに合致するか否かに基づいて列合致指示子を提供する列合致検出器と
を備え、前記行合致指示子が合致を示し、前記列合致指示子が合致を示さないのに応答して、前記第2のスイッチングロジックは、前記第2のアクセスアドレスの前記列アドレスから生成される第1の復号信号に基づいて、前記第2の読み出し/書き込みデータ線対を前記第1のビット線対と選択的に接続し、前記第3のスイッチングロジックは、前記第2の読み出し/書き込みデータ線対を前記第2のビット線対から分離する、マルチポートSRAM。
【請求項2】
前記行合致指示子が合致を示さないのに応答して、前記第3のスイッチングロジックは、前記第2のアクセスアドレスの前記列アドレスから生成される前記第1の復号信号に基づいて、前記第2の読み出し/書き込みデータ線対を前記第2のビット線対と選択的に接続する、請求項1に記載のマルチポートSRAM。
【請求項3】
前記行合致指示子が合致を示さないのに応答して、前記第2のスイッチングロジックは、前記第2の読み出し/書き込みデータ線対を前記第1のビット線対から分離する、請求項2に記載のマルチポートSRAM。
【請求項4】
前記第1のスイッチングロジックは、前記第1のアクセスアドレスの前記列アドレスから生成される第1の復号信号に基づいて、前記第1の読み出し/書き込みデータ線対を前記第1のビット線対と選択的に接続する、請求項3に記載のマルチポートSRAM。
【請求項5】
前記ビットセルのアレイは、第2のビットセルを含み、該第2のビットセルは、第2のストレージラッチを有し、該第2のストレージラッチにアクセスするための前記第1のワード線および前記第3のビット線対に結合され、かつ前記第2のストレージラッチにアクセスするための前記第2のワード線および前記第4のビット線対に結合され、
前記第1の読み出し/書き込みデータ線対は、第4のスイッチングロジックを介して前記第3のビット線対に結合され、前記第2の読み出し/書き込みデータ線対は、第5のスイッチングロジックを介して前記第3のビット線対に結合され、かつ第6のスイッチングロジックを介して前記第4のビット線対に結合され、
前記第4のスイッチングロジックは、前記第1のアクセスアドレスの前記列アドレスから生成される第2の復号信号に基づいて、前記第1の読み出し/書き込みデータ線対を前記第3のビット線対と選択的に接続し、
前記行合致指示子が合致を示し、前記列合致指示子が合致を示さないのに応答して、前記第5のスイッチングロジックは、前記第2のアクセスアドレスの前記列アドレスから生成される第2の復号信号に基づいて、前記第2の読み出し/書き込みデータ線対を前記第3のビット線対と選択的に接続し、前記第6のスイッチングロジックは、前記第2の読み出し/書き込みデータ線対を前記第4のビット線対から分離する、請求項1に記載のマルチポートSRAM。
【請求項6】
前記行合致指示子が合致を示さないのに応答して、前記第6のスイッチングロジックは、前記第2のアクセスアドレスの前記列アドレスから生成される前記第2の復号信号に基づいて、前記第2の読み出し/書き込みデータ線対を前記第4のビット線対と選択的に接続する、請求項5に記載のマルチポートSRAM。
【請求項7】
前記行合致指示子が合致を示さないのに応答して、前記第5のスイッチングロジックは、前記第2の読み出し/書き込みデータ線対を前記第3のビット線対から分離する、請求項6に記載のマルチポートSRAM。
【請求項8】
前記行合致指示子および前記列合致指示子の両方が合致を示しているのに応答して、前記第2の読み出し/書き込みデータ線対に結合されている読み出し/書き込み回路がディセーブルされる、請求項1に記載のマルチポートSRAM。
【請求項9】
前記第1のワード線が、前記第1のアクセスアドレスに基づいてアクティブ化され、かつ前記行合致指示子および前記列合致指示子の両方が合致を示している場合、
前記第1の読み出し/書き込みデータ線対は、前記第1のアクセスアドレスの前記列アドレスから生成される第1の復号信号に基づいて、前記第1のビットセルに選択的にアクセスし、
前記第2のワード線はディセーブルされる、請求項1に記載のマルチポートSRAM。
【請求項10】
前記第1のワード線が、前記第1のアクセスアドレスに基づいてアクティブ化され、
前記第1のアクセスアドレスの前記列アドレスから生成される前記第1の復号信号がアサートされており、かつ
前記行合致指示子および前記列合致指示子の両方が合致を示していることに応答して、
前記第1のアクセスアドレスおよび前記第2のアクセスアドレスが各々読み出しアクセスに対応する場合、前記第1の読み出し/書き込みデータ線対が、前記第1のビットセルから読み出しデータを提供し、該読み出しデータは、前記第1のポートおよび前記第2のポートの両方に提供されること、
前記第1のアクセスアドレスが書き込みアクセスに対応する場合、前記第1のポートが、前記第1の読み出し/書き込みデータ線対によって前記第1のビットセルに提供され、かつ読み出しデータとして前記第2のポートに提供される書き込みデータを受信すること、
前記第2のアクセスアドレスが書き込みアクセスに対応する場合、前記第1のポートが、前記第1の読み出し/書き込みデータ線対によって前記第1のビットセルに提供され、かつ読み出しデータとして前記第1のポートに提供される書き込みデータを受信すること
によってさらに特徴付けられる、請求項9に記載のマルチポートSRAM。
【請求項11】
前記第1のワード線を含む、前記複数のワード線の第1のサブセットに結合されている第1の行復号回路であって、前記第1の行復号回路は、前記第1のアクセスアドレスに基づいて、前記第1のサブセットのワード線をアクティブ化する、前記第1の行復号回路と、
前記第2のワード線を含む、前記複数のワード線の第2のサブセットに結合されている第2の行復号回路であって、前記第1のサブセットと前記第2のサブセットとは相互排他的である、前記第2の行復号回路と
をさらに備える、請求項1に記載のマルチポートSRAM。
【請求項12】
前記行合致指示子が合致を示さないとき、前記第2の行復号回路は、前記第2のアクセスアドレスに基づいて、前記第2のサブセットのワード線をアクティブ化し、
前記行合致指示子が合致を示すとき、前記第2の行復号回路がディセーブルされ、前記第2のワード線はディセーブルされる、請求項11に記載のマルチポートSRAM。
【請求項13】
前記行合致指示子が合致を示さないとき、前記第1の複数の読み出し/書き込みデータ線対は、前記第1のアクセスアドレスに応答して、前記ビットセルのアレイの第1のセットのビットセルにアクセスし、前記第2の複数の読み出し/書き込みデータ線対は、前記第2のアクセスアドレスに応答して、前記第1のセットのビットセルと相互排他的な前記ビットセルのアレイの第2のセットのビットセルにアクセスする、請求項1に記載のマルチポートSRAM。
【請求項14】
前記第1の複数の読み出し/書き込みデータ線対のアクセスは、前記第2の複数の読み出し/書き込みデータ線対のアクセスと同時に行われる、請求項13に記載のマルチポートSRAM。
【請求項15】
複数のワード線、複数のビット線対、ならびに前記複数のワード線および前記複数のビット線対に結合されている複数のビットセルを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)にアクセスするための方法であって、前記複数のビットセルの各々は、前記複数のビット線対の第1のビット線対および第2のビット線対ならびに前記複数のワード線の第1のワード線および第2のワード線に結合されており、該方法は、
第1のアクセスアドレスおよび第2のアクセスアドレスを前記マルチポートSRAMに提供すること、
前記第1のアクセスアドレスの行アドレスと前記第2のアクセスアドレスの行アドレスとの間の比較に基づいて行合致指示子を提供し、前記第1のアクセスアドレスの列アドレスと前記第2のアクセスアドレスの列アドレスとの間の比較に基づいて列合致指示子を提供すること、
前記行合致指示子が合致を示し、かつ前記列合致指示子が合致を示さない場合、
前記複数のビットセルの各ビットセルに対する前記第2のワード線を非アクティブ化すること、
前記第1のアクセスアドレスによって選択されている各ビットセルについて、前記第1のビット線対および前記第1のワード線を使用して前記第1のアクセスアドレスによって選択されている前記ビットセルにアクセスするために前記マルチポートSRAMの第1の読み出し/書き込みデータ線対を使用すること、
前記第2のアクセスアドレスによって選択されている各ビットセルについて、前記第1のビット線対および前記第1のワード線を使用して前記第2のアクセスアドレスによって選択されている前記ビットセルにアクセスするために前記マルチポートSRAMの第2の読み出し/書き込みデータ線対を使用すること、
前記第2の読み出し/書き込みデータ線対を、前記複数のビットセルの前記第2のビット線対から分離すること
を含む、方法。
【請求項16】
前記行合致指示子が合致を示さない場合、前記方法は、
前記第1のアクセスアドレスによって選択されている各ビットセルについて、前記第1のビット線対および前記第1のワード線を使用して前記第1のアクセスアドレスによって選択されている前記ビットセルに対する読み出しまたは書き込みアクセスを実行するために前記第1の読み出し/書き込みデータ線対を使用すること、
前記第2のアクセスアドレスによって選択されている各ビットセルについて、前記第2のビット線対および前記第2のワード線を使用して前記第2のアクセスアドレスによって選択されている前記ビットセルに対する読み出しまたは書き込みアクセスを実行するために前記第2の読み出し/書き込みデータ線対を使用すること
を含む、請求項15に記載の方法。
【請求項17】
前記行合致指示子および前記列合致指示子の両方が合致を示す場合に、前記方法は、
前記第1のアクセスアドレスおよび前記第2のアクセスアドレスが各々読み出しアクセスに対応する場合、前記第1の読み出し/書き込みデータ線対を使用して、前記第1のアクセスアドレスによって選択されている前記ビットセルからの読み出しデータにアクセスし、前記マルチポートSRAMの第1のポートおよび第2のポートの各々において前記読み出しデータを読み出しデータ出力として提供すること、
前記第1のアクセスアドレスが書き込みアクセスに対応する場合、前記第1のポートにおいて書き込みデータを受信し、前記受信された書き込みデータを前記第2のポートにおいて前記読み出しデータ出力として提供し、前記第1の読み出し/書き込みデータ線対を使用して、前記受信された書き込みデータを前記第1のアクセスアドレスによって選択されているビットセルに記憶すること、
前記第2のアクセスアドレスが書き込みアクセスに対応する場合、前記第1のポートにおいて書き込みデータを受信し、前記受信された書き込みデータを前記第1のポートにおいて前記読み出しデータ出力として提供し、前記第1の読み出し/書き込みデータ線対を使用して、前記受信された書き込みデータを前記第1のアクセスアドレスによって選択されているビットセルに記憶すること
を含む、請求項15に記載の方法。
【請求項18】
第1のアクセスアドレスを受信するための第1のポート、および第2のアクセスアドレスを受信するための第2のポートを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)であって、
前記第1のアクセスアドレスから導出される第1の行アドレスが前記第2のアクセスアドレスから導出される第2の行アドレスに合致するか否かに基づいて行合致指示子を提供する行合致検出器と、
前記第1のアクセスアドレスから導出される第1の列アドレスが前記第2のアクセスアドレスから導出される第2の列アドレスに合致するか否かに基づいて列合致指示子を提供する列合致検出器と、
第1のストレージラッチを有する第1のビットセルであって、該第1のストレージラッチにアクセスするための第1のワード線、第1の真ビット線、および第1の相補ビット線に結合されており、前記第1のストレージラッチにアクセスするための第2のワード線、第2の真ビット線、および第2の相補ビット線に結合されている、前記第1のビットセルと、
第2のストレージラッチを有する第2のビットセルであって、該第2のストレージラッチにアクセスするための前記第1のワード線、第3の真ビット線、および第3の相補ビット線に結合されており、前記第2のストレージラッチにアクセスするための前記第2のワード線、第4の真ビット線、および第4の相補ビット線に結合されている、前記第2のビットセルと、
第1のデータ線対であって、前記第1の真ビット線および前記第1の相補ビット線が、前記第1のアクセスアドレスから生成される第1の列復号信号に応答する第1のスイッチングロジックを介して該第1のデータ線対に結合されている、前記第1のデータ線対と、
第2のデータ線対であって、前記第1の真ビット線および前記第1の相補ビット線が、前記第2のアクセスアドレスから生成される第1の列復号信号、行合致指示子、および列合致指示子の第1の論理結合に応答する第2のスイッチングロジックを介して前記第1のデータ線対に結合され、前記第2の真ビット線および前記第2の相補ビット線が、前記第2のアクセスアドレスから生成される前記第1の列復号信号および前記行合致指示子の第2の論理結合に応答する第3のスイッチングロジックを介して該第2のデータ線対に結合されている、前記第2のデータ線対と
を備える、マルチポートSRAM。
【請求項19】
前記第2のアクセスアドレスから生成される前記第1の列復号信号がアサートされ、前記行合致指示子が合致を示し、かつ前記列合致指示子が合致を示さない場合、前記第2のスイッチングロジックは、前記第1の真ビット線および前記第1の相補ビット線を前記第2のデータ線対に接続し、そうでない場合は前記第1の真ビット線および前記第1の相補ビット線を前記第2のデータ線対から分離し、
前記第2のアクセスアドレスから生成される前記第1の列復号信号がアサートされ、かつ前記行合致指示子が合致を示さない場合、前記第3のスイッチングロジックは、前記第2の真ビット線および前記第2の相補ビット線を前記第2のデータ線対に接続し、そうでない場合は前記第2の真ビット線および前記第2の相補ビット線を前記第2のデータ線対から分離する、請求項18に記載のマルチポートSRAM。
【請求項20】
前記第1のスイッチングロジックは、前記第1のアクセスアドレスから生成される前記第1の列復号信号がアサートされるとき、前記第1の真ビット線および前記第1の相補ビット線を前記第1のデータ線対に接続し、前記第1のアクセスアドレスから生成される前記第1の列復号信号がアサートされないとき、前記第1の真ビット線および前記第1の相補ビット線を前記第1のデータ線対から分離する、請求項19に記載のマルチポートSRAM。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して半導体デバイスに関し、より具体的には、マルチポート半導体メモリデバイスに関する。
【背景技術】
【0002】
近年の半導体技術の発展とともに、高速読み出し/書き込み動作を可能にするよりサイズが小さくより容量の大きいメモリが開発されるようになってきている。さらに、複数の入力ポートおよび出力ポートを含むいわゆるマルチポートメモリが、種々のアドレスのデータの読み出し/書き込みに使用されるようになってきている。
【0003】
マルチポートメモリは、マルチコアプロセッサまたはプロセッサとバスとの間のインターフェースの場合のように、2つ以上のリソースに対してメモリセルの記憶素子へのアクセスを提供することによって、より一般的に使用されるようになってきている。マルチポートメモリに伴う問題の1つは、2つ以上のリソースに対してアクセスを提供するというこの態様をいかに調整するかということである。多くの場合、この能力は、待ち状態および/または調停を使用して達成される。この結果としてアクセス時間が予測不可能になる可能性があり、これは望ましいことではない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6473357号明細書
【特許文献2】米国特許第7940599号明細書
【特許文献3】米国特許第6181634号明細書
【特許文献4】米国特許第6625699号明細書
【特許文献5】米国特許第6816955号明細書
【特許文献6】米国特許第6845059号明細書
【特許文献7】米国特許第6873565号明細書
【特許文献8】米国特許第7054217号明細書
【特許文献9】米国特許第7206251号明細書
【特許文献10】米国特許第7533222号明細書
【特許文献11】米国特許第7573753号明細書
【特許文献12】米国特許第7808847号明細書
【特許文献13】米国特許第7894296号明細書
【非特許文献】
【0005】
【非特許文献1】PELLEYら、「多重化データを有するマルチポートレジスタファイル(Multi−PortRegister File with Multiplexed Data)」、米国特許出願第13/483764号、2012年5月30日出願
【非特許文献2】エンドウら、「集積マルチポートメモリのためのパイプライン化されたタイムシェアリングアクセス技術(Pipelined,Time−Sharing AccessTechnique for an Integrated Multiport Memory)」、IEEE Journal of Solid−StateCircuits、Vol.26、No.4、1991年4月、549−554ページ
【非特許文献3】JOHNSTONら、「単一パス接続コンポーネントアルゴリズムのFPGA実装(FPGAimplementation ofa Single Pass Connected ComponentsAlgorithm)」、4th IEEEInternational Symposiumon Electronic Design, Test &Applications、2008年5月、228−231ページ
【非特許文献4】NIIら、「同時コモン行アクセスの迂回と同期した超高密度2RWデュアルポート8T−SRAM(SynchronousUltra−High−Density 2RW Dual−Port 8T−SRAMwith Circumventionof SimultaneousCommon−Row−Access)」、IEEE Journal of Solid−StateCircuits,Vol.44,No.3、2009年3月、977−986ページ
【非特許文献5】PILOら、「1.4Gb/s/pinおよびDDR3−SRAMインタフェースを有する5.6nsランダムサイクル144Mb・DRAM(A5.6ns Random Cycle 144Mb DRAMwith 1.4Gb/s/pinand DDR3−SRAM Interface)」、ISSCC 2003/Session17/SRAM and DRAM/Paper 17.5、IEEE InternationalSolid−State CircuitsConference、2003年2月12日、11ページ
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、上述の問題のうちの1つ以上を改善するマルチポートメモリが必要とされている。
【課題を解決するための手段】
【0007】
本発明の第一の態様によれば、第1のポートおよび第2のポートを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)であって、複数のワード線のうちの第1のワード線および第2のワード線と、複数のビット線対のうちの第1のビット線対、第2のビット線対、第3のビット線対、および第4のビット線対と、前記複数のワード線および前記複数のビット線対に結合されているビットセルのアレイであって、該ビットセルのアレイは、第1のビットセルを含み、該第1のビットセルは、第1のストレージラッチを有し、該第1のストレージラッチにアクセスするための前記第1のワード線および前記第1のビット線対に結合されており、かつ前記第1のストレージラッチにアクセスするための前記第2のワード線および前記第2のビット線対に結合されている、前記ビットセルのアレイと、前記ビットセルのアレイにアクセスするための第1の複数の読み出し/書き込みデータ線対のうちの第1の読み出し/書き込みデータ線対、および、前記ビットセルのアレイにアクセスするための第2の複数の読み出し/書き込みデータ線対のうちの第2の読み出し/書き込みデータ線対であって、該第1の読み出し/書き込みデータ線対は、第1のスイッチングロジックを介して前記第1のビット線対に結合され、該第2の読み出し/書き込みデータ線対は、第2のスイッチングロジックを介して前記第1のビット線対に結合され、第3のスイッチングロジックを介して前記第2のビット線対に結合されている、前記第1の読み出し/書き込みデータ線対および第2の読み出し/書き込みデータ線対と、第1のアクセスアドレスの行アドレスが第2のアクセスアドレスの行アドレスに合致するか否かに基づいて行合致指示子を提供する行合致検出器と、前記第1のアクセスアドレスの列アドレスが前記第2のアクセスアドレスの列アドレスに合致するか否かに基づいて列合致指示子を提供する列合致検出器とを備え、前記行合致指示子が合致を示し、前記列合致指示子が合致を示さないのに応答して、前記第2のスイッチングロジックは、前記第2のアクセスアドレスの前記列アドレスから生成される第1の復号信号に基づいて、前記第2の読み出し/書き込みデータ線対を前記第1のビット線対と選択的に接続し、前記第3のスイッチングロジックは、前記第2の読み出し/書き込みデータ線対を前記第2のビット線対から分離する、マルチポートSRAMが提供される。
【0008】
本発明の第二の態様によれば、複数のワード線、複数のビット線対、ならびに前記複数のワード線および前記複数のビット線対に結合されている複数のビットセルを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)にアクセスするための方法であって、前記複数のビットセルの各々は、前記複数のビット線対の第1のビット線対および第2のビット線対ならびに前記複数のワード線の第1のワード線および第2のワード線に結合されており、該方法は、第1のアクセスアドレスおよび第2のアクセスアドレスを前記マルチポートSRAMに提供すること、前記第1のアクセスアドレスの行アドレスと前記第2のアクセスアドレスの行アドレスとの間の比較に基づいて行合致指示子を提供し、前記第1のアクセスアドレスの列アドレスと前記第2のアクセスアドレスの列アドレスとの間の比較に基づいて列合致指示子を提供すること、前記行合致指示子が合致を示し、かつ前記列合致指示子が合致を示さない場合、前記複数のビットセルの各ビットセルに対する前記第2のワード線を非アクティブ化すること、前記第1のアクセスアドレスによって選択されている各ビットセルについて、前記第1のビット線対および前記第1のワード線を使用して前記第1のアクセスアドレスによって選択されている前記ビットセルにアクセスするために前記マルチポートSRAMの第1の読み出し/書き込みデータ線対を使用すること、前記第2のアクセスアドレスによって選択されている各ビットセルについて、前記第1のビット線対および前記第1のワード線を使用して前記第2のアクセスアドレスによって選択されている前記ビットセルにアクセスするために前記マルチポートSRAMの第2の読み出し/書き込みデータ線対を使用すること、前記第2の読み出し/書き込みデータ線対を、前記複数のビットセルの前記第2のビット線対から分離することを含む、方法が提供される。
【0009】
本発明の第三の態様によれば、第1のアクセスアドレスを受信するための第1のポート、および第2のアクセスアドレスを受信するための第2のポートを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)であって、前記第1のアクセスアドレスから導出される第1の行アドレスが前記第2のアクセスアドレスから導出される第2の行アドレスに合致するか否かに基づいて行合致指示子を提供する行合致検出器と、前記第1のアクセスアドレスから導出される第1の列アドレスが前記第2のアクセスアドレスから導出される第2の列アドレスに合致するか否かに基づいて列合致指示子を提供する列合致検出器と、第1のストレージラッチを有する第1のビットセルであって、該第1のストレージラッチにアクセスするための第1のワード線、第1の真ビット線、および第1の相補ビット線に結合されており、前記第1のストレージラッチにアクセスするための第2のワード線、第2の真ビット線、および第2の相補ビット線に結合されている、前記第1のビットセルと、第2のストレージラッチを有する第2のビットセルであって、該第2のストレージラッチにアクセスするための前記第1のワード線、第3の真ビット線、および第3の相補ビット線に結合されており、前記第2のストレージラッチにアクセスするための前記第2のワード線、第4の真ビット線、および第4の相補ビット線に結合されている、前記第2のビットセルと、第1のデータ線対であって、前記第1の真ビット線および前記第1の相補ビット線が、前記第1のアクセスアドレスから生成される第1の列復号信号に応答する第1のスイッチングロジックを介して該第1のデータ線対に結合されている、前記第1のデータ線対と、第2のデータ線対であって、前記第1の真ビット線および前記第1の相補ビット線が、前記第2のアクセスアドレスから生成される第1の列復号信号、行合致指示子、および列合致指示子の第1の論理結合に応答する第2のスイッチングロジックを介して前記第1のデータ線対に結合され、前記第2の真ビット線および前記第2の相補ビット線が、前記第2のアクセスアドレスから生成される前記第1の列復号信号および前記行合致指示子の第2の論理結合に応答する第3のスイッチングロジックを介して該第2のデータ線対に結合されている、前記第2のデータ線対とを備える、マルチポートSRAMが提供される。
【図面の簡単な説明】
【0010】
図1】一実施形態に応じたマルチポートメモリの第1の部分のブロック図である。
図2図1のマルチポートメモリの第1の部分の一部分の組合せ回路、論理、およびブロック図である。
図3】一実施形態に応じた図1のマルチポートメモリの第2の部分のブロック図である。
図4図1のマルチポートメモリの第1の部分のメモリセルの回路図である。
【発明を実施するための形態】
【0011】
本開示は例として示されており、添付の図面によって限定されない。図面において、同様の参照符号は類似の要素を示す。図面内の要素は簡潔かつ明瞭にするために示されており、必ずしも原寸に比例して描かれてはいない。
【0012】
一態様において、1つのビットセルが2つのポートによって選択されるとき、一方のポートのビット線対は選択されたメモリセルのストレージノードから、およびそのデータ線対から分離されたままにされ、一方で他方のポートのビット線対は選択されたメモリセルのストレージノードに、ならびにそのデータ線対に、および上記一方のポートのデータ線対に結合される。また、上記一方のポートの選択されるワード線はディセーブルされたままにされ、他方のポートの選択されるワード線はイネーブルされる。従って、上記一方のポートのビット線対のキャパシタンスが選択されたビットセルに対するアクセスに悪影響を与えることが避けられ、一方で他方のポートのビット線対が必要とされるアクセスを提供する。このように、共通のビットセルに対する同時マルチポートアクセスに関連するビットセル安定性の問題が回避される。一方のポートのビット線対は列復号によって一方のポートのデータ線対に結合される。これは、図面および以下の記載を参照することによってより良好に理解される。
【0013】
図1には、アレイ12と、ポートA行デコーダ14と、ポートB行デコーダ16と、列回路18と、ポートA行アドレスバッファ20と、ポートB行アドレスバッファ22と、行合致検出器24と、ポートA列アドレスバッファ26と、ポートB列アドレスバッファ28と、列合致検出器45と、読み出し/書き込み回路100とを有するメモリ10が示されている。ポートA行デコーダ14は、行デコーダ30および行デコーダ32を備える。ポートB行デコーダ22は、行デコーダ34および行デコーダ36を備える。アレイ12はビットセル38、40、42、および44を備える。
【0014】
図4には、メモリモセル38、40、42、および44のようなアレイ12の他方のビットセルの例示である例示的なメモリセル89の回路図が示されている。スタティック・ランダム・アクセス・メモリ(SRAM)セルであるビットセル38は、ノード85および87に接続されているインバータ81および83と、この例ではNチャネルトランジスタであるトランジスタ88、90、92、および94とを備える。インバータ80は、ノード85に接続されている入力と、ノード87に接続されている出力とを有する。インバータ83は、ノード87に接続されている入力と、ノード85に接続されている出力とを有する。ノード85および87はメモリセル38のストレージノードである。トランジスタ88は、ノード85に接続されている第1の電流電極、ポートAワード線であるワード線WLAに接続されている制御電極、および、ポートAの相補ビット線であるビット線BLAbに接続されている第2の電流電極を有する。トランジスタ90は、ノード87に接続されている第1の電流電極、ワード線WLAに接続されている制御電極、および、ポートAの真ビット線であるビット線BLAに接続されている第2の電流電極を有する。トランジスタ92は、ノード85に接続されている第1の電流電極、ポートBのワード線であるワード線WLBに接続されている制御電極、および、ポートBの相補ビット線BLBbに接続されている第2の電流電極を有する。トランジスタ94は、ノード87に接続されている第1の電流電極、ワード線WLBに接続されている制御電極、および、ポートBの真ビット線BLBを有する。ノード85および87は、ノード85についてはトランジスタ88および92、ならびに、ノード87についてはトランジスタ90および94を通じてアクセスされるストレージノードである。インバータ81および83はともにストレージラッチとみなされてもよい。トランジスタ90および88は、メモリセル89がポートAによって選択されるとき、ストレージノードをポートAビット線対に結合するためにイネーブルされる。トランジスタ92および94は、メモリセル89がポートBによって選択されるときにイネーブルされる。メモリセル89がポートAおよびポートBの両方によって選択される場合、トランジスタ88および90がイネーブルされ、トランジスタ92および94はワード線WLBを選択解除することによってディセーブルされたままにされ、それによって、ビット線BLBbおよびBLBはストレージノード85および87から分離されたままにされる。この例において、ビット線は、ストレージノード85および87への書き込み、またはストレージノード85および87からの読み出しのいずれかに使用される。ワード線はストレージノードとビット線との間の結合をイネーブルするためのものである。トランジスタ88、90、92、および94の制御電極はイネーブル入力とみなされてもよく、第2の電流電極はアクセスノードとみなされてもよい。
【0015】
アレイ12は、図1においてメモリセル38、40、42、および44として示されている、メモリセルと称される場合がある4つよりも多いビットセルを含み、および従って、図示されているよりも多くのビット線対およびワード線を含む。メモリセル38および40は、ワード線WL0Aに接続されている第1のイネーブル入力およびワード線WL0Bに接続されている第2のイネーブル入力を有する。メモリセル38のポートAのアクセスノードは真ビット線BL0Aおよび相補ビット線BL0Abに接続されており、ポートBのアクセスノードは真ビット線BL0Bおよび相補ビット線BL0Bbに接続されている。メモリセル40のポートAのアクセスノードは真ビット線BL1Aおよび相補ビット線BL1Abに接続されており、ポートBのアクセスノードは真ビット線BL1Bおよび相補ビット線BL1Bbに接続されている。メモリセル42および44は、ワード線WL1Aに接続されている第1のイネーブル入力およびワード線WL1Bに接続されている第2のイネーブル入力を有する。メモリセル42のポートAのアクセスノードは真ビット線BL0Aおよび相補ビット線BL0Abに接続されており、ポートBのアクセスノードは真ビット線BL0Bおよび相補ビット線BL0Bbに接続されている。メモリセル44のポートAのアクセスノードは真ビット線BL1Aおよび相補ビット線BL1Abに接続されており、ポートBのアクセスノードは真ビット線BL1Bおよび相補ビット線BL1Bbに接続されている。ポートA行アドレスバッファ20はポートAに関する行アドレス信号の真信号および相補信号を提供する。ポートB行アドレスバッファ22はポートBに関する行アドレス信号の真信号および相補信号を提供する。行デコーダ30および32はポートAに関する真アドレス信号と相補アドレス信号との組合せに結合されている。行デコーダ30および32が論理ハイを出力するとき、それらはそれぞれワード線WL0AおよびWL1Aを選択する。行デコーダ34および36はポートBに関する真アドレス信号と相補アドレス信号との組合せに結合されている。行デコーダ34および36が論理ハイを出力するとき、それらはそれぞれワード線WL0BおよびWL1Bを選択する。行合致検出器24はアドレスバッファ20および22に結合されており、それらが同じアドレスを提供するときを検出し、ポートBに関連付けられている行デコーダ34および36に結合される行合致指示子MATCH Rの真信号および相補信号を提供する。ポートAおよびポートBの行アドレスが同じであるとき、これはポートAおよびポートBに関する選択されたワード線が同じ行であることを意味する。行アドレスが合致するとき、MATCH R信号は行デコーダ34および36を抑制し、結果としてワード線WL0BおよびWL1Bが非アクティブになる。その結果、ポートAビット線対(BL0A、BL0AbまたはBL1A、BL1Ab)のみがWL0A上のメモリセルまたは代替的にWL1A上のメモリセルによって選択され得る。対照的に、行アドレスの合致がない通常動作において、ワード線WL0A、WL1Aのうちの一方、およびワード線WL0B、WL1Bのうちの一方が、両方とも選択される。結果として、対応するポートの選択されたワード線に結合されている両方のポート内のビット線が、アクティブなワード線に結合されているメモリセルによってアクティブにされる。すなわち、通常動作においてはアレイ12内の両方のポートがアクティブであり、それによって、両方のポートのワード線およびビット線がアクティブにされる。列回路18はビット線BL0A、BL0Ab、BL0B、BLOBb、BL1A、BL1Ab、BL1B、およびBL1Bbに結合されており、これらのビット線の間で選択を行い、選択されたビット線においてデータを検知し、ポートA列アドレスバッファ26およびポートB列アドレスバッファ28によって提供される列アドレスに応答して、検知されたデータを、ポートAについてはグローバルデータ線GDLA に結合し、ポートBについてはGDLBに結合する。セルの同じ列に接続されている同じポートの真および相補ビット線がビット線対として参照される場合がある。たとえば、ビット線BL0AおよびBL0Abがビット線対を形成する。同様に、図2に示されているデータ線DLAおよびDLAbはデータ線対として参照される場合がある。
【0016】
図2には、列回路18がより詳細に示されている。列回路18は、トランジスタ52、54、56、58、60、62、64、66、68、70、72、および74と、ポートAの読み出し/書き込み(R/W)Aバッファ76と、ポートBのR/W Bバッファ78と、ANDゲート80、82、84、および86とを備える。R/W Aバッファ76およびR/W Bバッファ78を差し引いた回路18はスイッチングロジックとして参照される場合がある。信号CA0AおよびCA1AのポートA列アドレスを復号する結果として、および信号CA0BおよびCA1BのポートB列アドレスを復号する結果として信号CA0A、CA0B、CA1A、およびCA1Bが生じ、これらの信号は列アドレス信号または列復号信号として参照される場合がある。トランジスタ52は、ビット線BL0Aに接続されている第1の電流電極、ポートAの列アドレス信号CA0Aを受信するための制御電極、および、R/W Aバッファ76に結合されているポートAの真データ線DLAに結合されている第2の電流電極を有する。トランジスタ54は、ビット線BL0bに接続されている第1の電流電極、列アドレス信号CA0Aを受信するための制御電極、および、R/W Aバッファ76に結合されている相補データ線DLAbに結合されている第2の電流電極を有する。トランジスタ60は、ビット線BL0Bに接続されている第1の電流電極、ANDゲート80の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に結合されているポートBの真データ線DLBに結合されている第2の電流電極を有する。トランジスタ62は、ビット線BL0Bbに接続されている第1の電流電極、ANDゲート82の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に接続されているポートBの相補データ線DLBbに結合されている第2の電流電極を有する。トランジスタ60は、BL0Bに結合されている第1の電流電極、NANDゲート82の出力に結合されている制御電極、および、データ線DLBに結合されている第2の電流電極を有する。従って、行合致がなく列アドレスCA0bがアサートされるとき、トランジスタ60および62が導電性になり、それによって、ビット線BL0BおよびBL0Bbはそれぞれトランジスタ60および62を通じてデータ線DLBおよびDLBbに結合される。トランジスタ64は、ビット線BL1Aに接続されている第1の電流電極、ポートAの列アドレス信号CA1Aを受信するための制御電極、および、R/W Aバッファ76に結合されているポートAの真データ線DLAに結合されている第2の電流電極を有する。トランジスタ66は、ビット線BL1Abに接続されている第1の電流電極、列アドレス信号CA1Aを受信するための制御電極、および、R/W Aバッファ76に結合されている相補データ線DLAbに接続されている第2の電流電極を有する。トランジスタ72は、ビット線BL1Bに接続されている第1の電流電極、ANDゲート86の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に接続されているポートBの真データ線DLBに結合されている第2の電流電極を有する。トランジスタ74は、BL1Bbに結合されている第1の電流電極、NANDゲート86の出力に結合されている制御電極、および、データ線DLBbに結合されている第2の電流電極を有する。ANDゲート86は、ポートBの列アドレスCA1Bを受信するための第1の入力、および、行合致検出器24によってポートAおよびポートBの行アドレスが異なることを検出したときに提供される相補行合致指示子match Rbを受信するための第2の入力を有する。相補行合致指示子match Rbについて前述したように、合致が検出されなかった場合、相補行合致指示子match Rbは論理ハイであり、それによって、ポートBの列アドレス信号CA1Bがトランジスタ72および74の制御ゲートに通される。従って、列アドレスCA1Bがアサートされると、トランジスタ72および74が導電性になり、それによって、ビット線VL1BおよびBL1Bbはそれぞれトランジスタ72および74を通じてデータ線DLBおよびDLBbに結合される。
【0017】
トランジスタ56は、ポートAに対するものであるビット線BL0Aに接続されている第1の電流電極、ANDゲート80の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に接続されているポートBに対するものであるデータ線DLBに結合されている第2の電流電極を有する。トランジスタ58は、ポートAに対するものである相補ビット線BL0Abに接続されている第1の電流電極、ANDゲート80の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に接続されているポートBに対するものである相補データ線DLBbに結合されている第2の電流電極を有する。ANDゲート80は、ポートBに対するものである列アドレス信号CA0B、行合致指示子match R、および相補列合致指示子MATCH Cbを受信するための第1の入力を有する。ポートAおよびBに対する列アドレスが合致するとき、相補列合致指示子MATCH Cbは論理ローであり、従って列アドレス合致があるするとき、ANDゲート80はトランジスタ56および58を非導電性にする論理ロー出力を提供するようにされる。ポートAおよびBに対する行アドレスが合致しないとき、行合致指示子MATCH Rは論理ローであり、これもANDゲート80に論理ローを提供させる。従って、行アドレスが一致しないとき、ANDゲート80の出力は論理ローであり、トランジスタ56および58は非導電性である。他方、列合致がなく行合致があるとき、MATCH RおよびMATCH Cbは両方とも論理ハイであり、MATCH CBは両方ともハイであり、それによって、ANDゲート80の出力は列アドレス信号CA0Bに従う。従って、行合致があって列合致がない場合、ポートBのアクセスは、ポートB列アドレスによって選択されるものとしてのポートAビット線対によるものである。そのような場合、トランジスタ56および58は導電性であり、ポートAビット線BL0AおよびBL0Abの対をポートBデータ線DLBおよびDLBbに結合し、それによって、ポートB R/WB回路がポートAビット線対に対する書き込みまたはポートAビット線対からの読み出しを行うことができる。
【0018】
トランジスタ68は、ポートAに対するものであるビット線BL1Aに接続されている第1の電流電極、ANDゲート84の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に接続されているポートBに対するものであるデータ線DLBに結合されている第2の電流電極を有する。トランジスタ70は、ポートAに対するものである相補ビット線BL1Abに接続されている第1の電流電極、ANDゲート84の出力に接続されている制御電極、および、ポートBのR/W Bバッファ78に接続されているポートBに対するものである相補データ線DLBbに結合されている第2の電流電極を有する。ANDゲート84は、ポートBに対するものである列アドレス信号CA1B、行合致指示子match R、および相補列合致指示子MATCH Cbを受信するための第1の入力を有する。ANDゲート80と同様に、ポートAおよびBに対する列アドレスが合致するとき、相補列合致指示子MATCH Cbは論理ローであり、従って列アドレス合致があるするとき、ANDゲート84はトランジスタ68および70を非導電性にする論理ロー出力を提供するようにされる。ポートAおよびBに対する行アドレスが合致しないとき、行合致指示子MATCH Rは論理ローであり、これもANDゲート84に論理ローを提供させる。従って、行アドレスが一致しないとき、ANDゲート80の出力は論理ローであり、トランジスタ68および70は非導電性である。他方、列合致がなく行合致があるとき、MATCH RおよびMATCH Cbは両方とも論理ハイであり、それによって、ANDゲート80の出力は列アドレス信号CA0Bに従う。従って、行合致があって列合致がない場合、ポートBのアクセスは、ポートB列アドレスによって選択されるものとしてのポートAビット線を通じたものである。行合致があって列合致がないとき、ポートBデータ線対DLB、DLB0はポートAによってアクセスされデータ線対DLA、DLAbに結合されるビット線対とは異なるビット線対に結合される。その結果、ポートAの各アドレス指定されるビット線対は、1つのみのデータ線対、DLA、DLAbまたはDLB、DLBbのいずれかに結合される。前述のように、ポートBのビット線のすべては行アドレス合致条件下では接続切断される。
【0019】
図3には、ポートAの読み出し回路102、ポートAの書き込み回路104、ポートBの読み出し回路106、およびポートBの書き込み回路108を備える、それぞれ、ポートAおよびBに対するグローバルデータ線GDLAおよびGDLBに結合されている読み出し/書き込み回路100が示されている。読み出し回路102は、グローバルデータ線GDLAに結合されている入力、およびポートAに関して読み出されたデータを出力するための読み出し出力RDAを有する。書き込み回路104は、グローバルデータ線GDLAに結合されている出力、およびポートAに関して書き込まれるべきデータを受信するための書き込み入力WDAを有する。読み出し回路106は、グローバルデータ線GDLBに結合されている入力、およびポートBに関して読み出されたデータを出力するための読み出し出力RDBを有する。書き込み回路108は、グローバルデータ線GDLBに結合されている出力、およびポートAに関して書き込まれるべきデータを受信するための書き込み入力WDBを有する。読み出し回路102は、書き込み入力WDBに結合されている入力、match Rを受信するための入力、およびmatch Cを受信するための入力をさらに有する。書き込み回路104は、書き込み入力WDBに結合されている入力、match Rを受信するための入力、およびmatch Cを受信するための入力をさらに有する。読み出し回路106は、書き込み入力WDAに結合されている入力、match Rを受信するための入力、およびmatch Cを受信するための入力をさらに有する。
【0020】
ポートAおよびBに対する列アドレスが異なっている場合の読み出しについて、ビット線上に存在するデータは、それぞれポートAビット線およびポートBビット線から選択的にデータ線対DLAおよびDLAbならびにデータ線対DLBおよびDLBbに結合される。この選択はポートAについては列アドレス信号CA0AおよびCA1Aによって行われ、ポートBについては列アドレス信号Ca0BおよびCA1Bによって行われる。ポートA行アドレスによって選択された行デコーダがそのワード線をイネーブルし、ポートBアドレスによって選択された行デコーダがそのワード線をイネーブルする。ポートAおよびBに対する行アドレスが異なっているためMATCH Rはアサートされず、そのためいずれの行デコーダもmatch Rに起因してディセーブルされない。前述のように、図示されているよりも多くのメモリセルが存在し、同様に、より多くのビット線対およびワード線、ならびに、従って列選択および行選択のために対応する選択信号がある。本明細書は、列選択のためのCa0A、Ca1A、Ca0B、およびCa1Bならびに行選択のためのWL0A、WL1A、WL0B、およびWL1Bのような、図示されている信号に関係した選択および非選択に焦点を当てている。R/W Aバッファ76およびR/W Bバッファ78は各々、検知回路および書き込みドライバを含む。読み出しについて、R/W Aバッファ76およびR/W Bバッファ78は、それぞれデータ線対DLAおよびDLBbならびにデータ線対DLBおよびDLBb上に存在するデータを検知する。検知後、データはグローバルデータ線GDLAおよびGDLB上に提供される。書き込みについて、グローバルデータ線GDLAおよびGDLB上でデータが受信される。その後、データはR/W Aバッファ76およびR/W Bバッファ78によって、それぞれデータ線対DLAおよびDLAbならびにデータ線対DLBおよびDLBb上に書き込まれる。書き込みのために読み出しと同じようにビット線が選択される。この例において、選択は二者択一である。列アドレスに関連付けられるビット線対は、ポートAとポートBとで行アドレスが異なっている通常動作について選択されるビット線対である。ポートAについて、列アドレスCA0Aはビット線対BL0AおよびBL0Abに関連付けられ、列アドレスCA1Aはビット線対BL1AおよびBL1Abに関連付けられる。ポートBについて、列アドレスCA0Bはビット線対BL0BおよびBL0Bbに関連付けられ、列アドレスCA1Bはビット線対BL1BおよびBL1Bbに関連付けられる。書き込みについて、R/W Aバッファ76およびR/W Bバッファ78は、それぞれグローバルデータ線GDLAおよびGDLBから書き込まれるべきデータを受信する。R/W Aバッファ76は、受信されたデータをデータ線対DLAおよびDLAb上に書き込む。R/W Bバッファ78は、受信されたデータをデータ線対DLBおよびDLBb上に書き込む。選択された列がデータ線上のデータをそれらのビット線に結合する。たとえば、ビット線BL0AおよびBL0AbがポートAについて書き込まれるべきである場合、列アドレス信号CA0Aが論理ハイにおいてアサートされることによって、トランジスタ52および54が導電性にされる。同様に、ビット線BL1BおよびBL1BbがポートBについて書き込まれるべきである場合、列アドレス信号CA1Bがアサートされ、トランジスタ72および74が導電性にされてBL1BおよびBL1Bbの選択されたビット線対上にデータを提供する。
【0021】
行アドレスが合致し列アドレスが合致しない読み出しまたは書き込みの場合、MATCH Rは論理ハイであり、それによって、MATCH Rbは論理ローであり、これによってANDゲート82および86は論理ローにおいてアサート停止された出力を提供するようにされる。従って、たとえ列アドレス信号CA1bが論理ハイである場合であっても、トランジスタ72および74は非導電性であるが、一方でANDゲート84は、MATCH Rが論理ハイであり、MATCH Cbが論理ハイであることに起因して論理ハイ出力を提供する。MATCH Cの補数であるMATCH Cbは論理ハイであり、列合致が発生していないことを示す。ANDゲート84の出力が論理ハイであることによって、トランジスタ68および70が、ポートAビット線であるビット線対BL1AおよびBL1Abを、ポートBデータ線であるデータ線DLBおよびDLBbに結合する。このように、ポートB上で読み出されまたは書き込まれているビットセルは、ポートAビット線であるビット線対BL1AおよびBL1bを通じてポートB R/W Bバッファ78によって読み出されまたは書き込まれる。MATCH Rが論理ハイであることによって、選択されたポートB行デコーダがディセーブルされる。従って、たとえば、図1の行デコーダ30および34が両方とも選択される場合、行合致検出器がMATCH Rをアサートし、これはポートB行デコーダ34によって受信され、ポートBデコーダをディセーブルする。ポートB行デコーダがディセーブルされることによって、ポートBのいずれのワード線もイネーブルされず、その結果、選択された行に沿ったメモリセルはポートAビット線のみに結合され、それによって、選択された行に沿ったメモリセルはポートAビット線対のみのキャパシンタスを受け、ポートBビット線対のキャパシンタスは受けない。これは、書き込みまたは読み出しされているポートBデータが、しかしポートBビット線上には存在しないという効果を有する。このように、ポートBデータは、ポートBアドレスによって選択された列のポートBデータ線およびポートAビット線対線対に接続されているパストランジスタを通じてアクセスされる。ポートAは、ポートAアドレスによって選択される列のビット線対がポートAデータ線であるデータ線DLAおよびDLAbに結合されるという点において、通常どおりに動作する。
【0022】
ポートAおよびBに対する列アドレスならびにポートAおよびBに対する行アドレスの両方が同じである場合、ポートAおよびポートBの両方が同じメモリセルをアドレス指定する。読み出しおよび書き込みの両方について、ポートBビット線に対するアクセスがブロックされる。メモリセルに対する唯一のアクセスは、ポートAデータ線およびポートAビット線を通じたものである。ポートAまたはポートBのいずれかに対する書き込みは、書き込み回路104によってGDLAに対して、および読み出し/書き込み回路76によってデータ線対DLA、DLAbおよびビット線対BL0A、BL0AbまたはBL1A、Bl1Abを通じて選択されたメモリセルに対して達成される。R/W Bバッファ78は同じメモリセルをアドレス指定する両方のポートの場合において使用されない。R/W Aバッファ76、行デコーダ、ビット線、およびデータ線に関するポートA動作は、行または列アドレスが同じであるか、または異なるかに基づいて変化することはない。これらの場合のすべてにおいて、ポートAはポートAデータ線、ビット線、およびワード線を通じてメモリセルにアクセスする。行または列のいずれかの合致があるかないかにかかわらず、一方のポートは他方のポート読み出しまたは書き込みとは無関係に読み出されまたは書き込まれることができる。行もしくは列合致または合致なしに応じた各条件を上記で説明した。所与のメモリアクセスにおいて、一方のポートのみのビット線を通じて選択されたメモリセルが読み出されまたは書き込まれることになるが、両方ではなく、そのため論理的欠陥を引き起こす衝突は生じず、待ち状態も生じない。しかしながら、書き込みが読み出しビット線に結合されて読み出しデータに損害を与えるという周知の可能性は、当該技術分野において既知の設計技法を使用して対処されなければならない。
【0023】
図3の読み出し/書き込み回路100は、MATCH C、MATCH Rに応じて、かつポートAまたはポートBのいずれが書き込まれているかに応じて異なる方法で応答する。列アドレスもしくは行アドレスのいずれかが異なっているか、または両方が異なっている場合について、ポートAはグローバルデータ線GDLAを通じてR/W A回路76から読み出し、またはそれへと書き込み、ポートBはグローバルデータ線GDLBを通じてR/W A回路78から読み出し、またはそれへと書き込む。ポートA上での読み出しについて、読み出し回路A102は、グローバルデータ線GDLA上でデータを受信し、必要とされるバッファリングおよびタイミング制御を提供し、出力RDAをポートAの出力として提供する。ポートBについて同様に、読み出し回路B106は、ポートBに関して出力RDBを提供することによってグローバルデータ線GDLA上で提供されたデータに応答する。列アドレスが異なるが行アドレスが同じである場合、データは、ポートB列アドレスによって選択された列内にあるポートAビット線対からポートBデータ線対に結合される。従って、R/W Bバッファ78が、ポートBに関するデータを、行アドレスが異なる場合と同じようにグローバルデータ線GDLBに提供する。書き込みについて同様に、データは、書き込み回路A104によって書き込みデータWDAとして、および、書き込み回路B108によって書き込みデータWDBとして受信される。その後、このデータは、それぞれ書き込み回路A104および書き込み回路B108によって必要に応じてバッファリングおよびタイミング制御されてグローバルデータ線GDLAおよびGDLBに提供される。
【0024】
別の場合においては、行および列アドレスの両方が合致し、MATCH RおよびMATCH Cが論理ハイにアサートされ、これは、両方のポートが同じビットセルをアドレス指定していることを示す。書き込みの場合において、一方のポートのみが共通のメモリセルに対して書き込んでいてもよい。MATCH RおよびMATCH Cの両方がアサートされている、両方のポートによる書き込みの試行は論理的欠陥であり、書き込みは発生しない。加えて、書き込み衝突(WRITE CONFLICT)信号が不正な書き込み試行の通知としてアサートされる。行アドレスおよび列アドレスの両方が合致する場合において、両方のポートに関するすべての読み出しおよび書き込みは、グローバルデータ線GDLAを通じて図2のR/W A回路76から、および当該回路に対して行われる。ポートAまたはポートBのいずれかに関する書き込みは、ポートA書き込み回路A104を通じてグローバルデータ線GDLAに対して行われる。ポートBに関する書き込みデータWDBは、存在するとき、常に書き込み回路Aおよび書き込み回路Bの両方によって受信されるが、行および列アドレスが両方とも合致するか否かに応じて、2つの書き込み回路のうちの一方のみによって出力される。
【0025】
書き込み回路A104は通常書き込みデータWDAをグローバルデータ線GDLAに対して書き込むが、行および列アドレスの両方が同じである場合、ポートBが書き込んでいるときは、書き込み回路A104は書き込みデータWDBを書き込む。この場合、書き込み回路B108は非アクティブである。行アドレス合致および列アドレス合致があるとき、いずれかのポートからの書き込みデータは、グローバルデータ線からの読み出しデータの代わりに、読み出しポート読み出し出力レジスタに書き込まれる。たとえば、ポートBが書き込んでいるとき、書き込みデータWDBは、グローバルデータ線からの読み出しデータの代わりに、読み出し回路A102出力レジスタに書き込まれ、そのため、これは読み出しデータRDAとして出力されることができる。
【0026】
行アドレス合致および列アドレス合致がある読み出しについて、データはグローバルデータ線GDLAのみの上で受信され、読み出し回路A102および読み出し回路B106の両方によって読み出される。ポートAおよびポートBのアクセスは同じメモリセルに対するものであるため、データは一方のグローバルデータ線から入来するのみである必要がある。読み出し回路102および106は、データを、必要に応じてタイミング制御およびバッファリングされた、それぞれ読み出し信号RDAおよびRDBとして提供する。グローバルデータ線GDLBはこの読み出しの間、非アクティブのままである。読み出しはポートAビット線対上の選択されたメモリセル上でのみ行われる。この場合、データはポートAとポートBとで同じであるため、ビット線対をポートBデータ対に結合する必要はない。従って、ポートAの選択されたビット線対のみが、ただ1つのデータ線対DLA、DLAbに結合され、それによって、2つのビット線または2つのデータ線のキャパシンタスがメモリセルに結合されることが回避される。これは、読み出し中に特に重要であり、いずれの組合せの列および行アドレスが提供されるかにかかわらず読み出し時間を同じままにするという点で重要である。もう1つの利点は、最小化されたデータ経路を切り替えることによって消費される電力が最小限に抑えられることである。
【0027】
このように、マルチポートメモリにアクセスするための技法が、通常であれば2つのポートが同じ行に沿ってアクセスしているときに発生していた、キャパシンタスの付加の回避を達成することができることが示されている。同じ行に沿ってアクセスすると、複数のビット線が結果として同じメモリセルに結合されるということが容易に起こり得る。これによってキャパシンタスが付加され、特に読み出しが遅くなり得る。
【0028】
ここまでで、第1のポートおよび第2のポートを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)が開示されたことが諒解される。マルチポートSRAMは、複数のワード線のうちの第1のワード線および第2のワード線を含む。マルチポートSRAMは、複数のビット線対のうちの第1のビット線対、第2のビット線対、第3のビット線対、および第4のビット線対を含む。マルチポートSRAMは複数のワード線および複数のビット線対に結合されているビットセルのアレイであって、ビットセルのアレイは、第1のストレージラッチを有し、第1のストレージラッチにアクセスするための第1のワード線および第1のビット線対に結合されており、第1のストレージラッチにアクセスするための第2のワード線および第2のビット線対に結合されている第1のビットセルを含む、ビットセルのアレイと、ビットセルのアレイにアクセスするための第1の複数の読み出し/書き込みデータ線対のうちの第1の読み出し/書き込みデータ線対と、ビットセルのアレイにアクセスするための第2の複数の読み出し/書き込みデータ線対のうちの第2の読み出し/書き込みデータ線対とを含む。SRAMは、第1の読み出し/書き込みデータ線対が第1のスイッチングロジックを介して第1のビット線対に結合され、第2の読み出し/書き込みデータ線対が第2のスイッチングロジックを介して第1のビット線対に結合され、第3のスイッチングロジックを介して第2のビット線対に結合されることをさらに特徴とする。マルチポートSRAMは、第1のアクセスアドレスの行アドレスが第2のアクセスアドレスの行アドレスに合致するか否かに基づいて行合致指示子を提供する行合致検出器を含む。マルチポートSRAMは、第1のアクセスアドレスの列アドレスが第2のアクセスアドレスの列アドレスに合致するか否かに基づいて列合致指示子を提供する列合致検出器を含み、行合致指示子が合致を示し、列合致指示子が合致を示さないのに応答して、第2のスイッチングロジックは選択的に、第2のアクセスアドレスの列アドレスから生成される第1の復号信号に基づいて第2の読み出し/書き込みデータ線対を第1のビット線対と接続し、第3のスイッチングロジックは、第2の読み出し/書き込みデータ線対を第2のビット線対から分離する。マルチポートSRAMは、行合致指示子が合致を示さないのに応答して、第3のスイッチングロジックが選択的に、第2のアクセスアドレスの列アドレスから生成される第1の復号信号に基づいて第2の読み出し/書き込みデータ線対を第2のビット線対と接続することをさらに特徴としてもよい。マルチポートSRAMは、行合致指示子が合致を示さないのに応答して、第2のスイッチングロジックが第2の読み出し/書き込みデータ線対を第1のビット線対から分離することをさらに特徴としてもよい。マルチポートSRAMは、第1のスイッチングロジックが選択的に、第1のアクセスアドレスの列アドレスから生成される第1の復号信号に基づいて第1の読み出し/書き込みデータ線対を第1のビット線対と接続することをさらに特徴としてもよい。マルチポートSRAMは、ビットセルのアレイが、第2のビットセルであって、第2のストレージラッチを有し、第2のストレージラッチにアクセスするための第1のワード線および第3のビット線対に結合され、第2のストレージラッチにアクセスするための第2のワード線および第4のビット線対に結合される、第2のビットセルを含み、第1の読み出し/書き込みデータ線対が第4のスイッチングロジックを介して第3のビット線対に結合され、第2の読み出し/書き込みデータ線対が第5のスイッチングロジックを介して第3のビット線対に、および第6のスイッチングロジックを介して第4のビット線対に結合され、第4のスイッチングロジックは選択的に、第1のアクセスアドレスの列アドレスから生成される第2の復号信号に基づいて第1の読み出し/書き込みデータ線対を第3のビット線対と接続し、行合致指示子が合致を示し、列合致指示子が合致を示さないのに応答して、第5のスイッチングロジックは選択的に、第2のアクセスアドレスの列アドレスから生成される第2の復号信号に基づいて第2の読み出し/書き込みデータ線対を第3のビット線対と接続し、第6のスイッチングロジックは、第2の読み出し/書き込みデータ線対を第4のビット線対から分離することをさらに特徴としてもよい。マルチポートSRAMは、行合致指示子が合致を示さないのに応答して、第6のスイッチングロジックが選択的に、第2のアクセスアドレスの列アドレスから生成される第2の復号信号に基づいて第2の読み出し/書き込みデータ線対を第4のビット線対と接続することをさらに特徴としてもよい。マルチポートSRAMは、行合致指示子が合致を示さないのに応答して、第5のスイッチングロジックが第2の読み出し/書き込みデータ線対を第3のビット線対から分離することをさらに特徴としてもよい。マルチポートSRAMは、行合致指示子および列合致指示子の両方が合致を示しているのに応答して、第2の読み出し/書き込みデータ線対に結合されている読み出し/書き込み回路がディセーブルされることをさらに特徴としてもよい。マルチポートSRAMは、ことをさらに特徴としてもよい。マルチポートSRAMは、第1のアクセスアドレスに基づいて第1のワード線がアクティブ化され、かつ行合致指示子および列合致指示子の両方が合致を示している場合、第1の読み出し/書き込みデータ線対が選択的に、第1のアクセスアドレスの列アドレスから生成される第1の復号信号に基づいて第1のビットセルにアクセスし、第2のワード線がディセーブルされることをさらに特徴としてもよい。マルチポートSRAMは、第1のアクセスアドレスに基づいて第1のワード線がアクティブ化され、第1のアクセスアドレスの列アドレスから生成される第1の復号信号がアサートされており、行合致指示子および列合致指示子の両方が合致を示していることに応答して、マルチポートSRAMが、第1のアクセスアドレスおよび第2のアクセスアドレスが各々読み出しアクセスに対応する場合、第1の読み出し/書き込みデータ線対が第1のビットセルから読み出しデータを提供し、読み出しデータは第1のポートおよび第2のポートの両方に提供され、第1のアクセスアドレスが書き込みアクセスに対応する場合、第1のポートは、第1の読み出し/書き込みデータ線対によって第1のビットセルに提供され、読み出しデータとして第2のポートに提供される書き込みデータを受信し、第2のアクセスアドレスが書き込みアクセスに対応する場合、第1のポートは、第1の読み出し/書き込みデータ線対によって第1のビットセルに提供され、読み出しデータとして第1のポートに提供される書き込みデータを受信することによってさらに特徴付けられることをさらに特徴としてもよい。マルチポートSRAMは、第1のワード線を含む、複数のワード線の第1のサブセットに結合されている第1の行復号回路であって、第1の行復号回路は第1のアクセスアドレスに基づいて第1のサブセットのワード線をアクティブ化する、第1の行復号回路と、第2のワード線を含む、複数のワード線の第2のサブセットに結合されている第2の行復号回路であって、第1のサブセットと第2のサブセットとは相互排他的である、第2の行復号回路とをさらに含んでもよい。マルチポートSRAMは、行合致指示子が合致を示さないとき、第2の行復号回路は第2のアクセスアドレスに基づいて第2のサブセットのワード線をアクティブ化し、行合致指示子が合致を示すとき、第2の行復号回路がディセーブルされ、ここで第2のワード線はディセーブルされることをさらに特徴としてもよい。マルチポートSRAMは、行合致指示子が合致を示さないとき、第1の複数の読み出し/書き込みデータ線対が第1のアクセスアドレスに応答してビットセルのアレイの第1のセットのビットセルにアクセスし、第2の複数の読み出し/書き込みデータ線対が第2のアクセスアドレスに応答して、第1のセットのビットセルと相互排他的なビットセルのアレイの第2のセットのビットセルにアクセスすることをさらに特徴としてもよい。マルチポートSRAMは、第1の複数の読み出し/書き込みデータ線対のアクセスが第2の複数の読み出し/書き込みデータ線対のアクセスと同時に行われることをさらに特徴としてもよい。
【0029】
複数のワード線、複数のビット線対、ならびに複数のワード線および複数のビット線対に結合されている複数のビットセルを有するマルチポートSRAMにアクセスするための方法も開示され、複数のビットセルの各々は、複数のビット線対の第1のビット線対および第2のビット線対ならびに複数のワード線の第1のワード線および第2のワード線に結合されている。方法は、第1のアクセスアドレスおよび第2のアクセスアドレスをマルチポートSRAMに提供することを含む。方法は、行合致指示子が合致を示し、かつ列合致指示子が合致を示さない場合、複数のビットセルの各ビットセルに対する第2のワード線を非アクティブ化すること、第1のアクセスアドレスによって選択されている各ビットセルについて、第1のビット線対および第1のワード線を使用して第1のアクセスアドレスによって選択されているビットセルにアクセスするためにマルチポートSRAMの第1の読み出し/書き込みデータ線対を使用することをさらに含む。方法は、第1のアクセスアドレスによって選択されている各ビットセルについて、第1のビット線対および第1のワード線を使用して第1のアクセスアドレスによって選択されているビットセルにアクセスするためにマルチポートSRAMの第1の読み出し/書き込みデータ線対を使用すること、第2のアクセスアドレスによって選択されている各ビットセルについて、第1のビット線対および第1のワード線を使用して第2のアクセスアドレスによって選択されているビットセルにアクセスするためにマルチポートSRAMの第2の読み出し/書き込みデータ線対を使用すること、第2の読み出し/書き込みデータ線対を複数のビットセルの第2のビット線対から分離することをさらに含む。方法は、行合致指示子が合致を示さない場合、第1のアクセスアドレスによって選択されている各ビットセルについて、第1のビット線対および第1のワード線を使用して第1のアクセスアドレスによって選択されているビットセルに対する読み出しまたは書き込みアクセスを実行するために第1の読み出し/書き込みデータ線対を使用すること、第2のアクセスアドレスによって選択されている各ビットセルについて、第2のビット線対および第2のワード線を使用して第2のアクセスアドレスによって選択されているビットセルに対する読み出しまたは書き込みアクセスを実行するために第2の読み出し/書き込みデータ線対を使用することをさらに含む。方法は、行合致指示子および列合致指示子の両方が合致を示す場合に、第1のアクセスアドレスおよび第2のアクセスアドレスが各々読み出しアクセスに対応する場合、第1のアクセスアドレスによって選択されているビットセルからの読み出しデータにアクセスするために第1の読み出し/書き込みデータ線対を使用し、マルチポートSRAMの第1のポートおよび第2のポートの各々において読み出しデータを読み出しデータ出力として提供すること、第1のアクセスアドレスが書き込みアクセスに対応する場合、第1のポートにおいて書き込みデータを受信すること、受信された書き込みデータを第2のポートにおいて読み出しデータ出力として提供し、受信された書き込みデータを第1のアクセスアドレスによって選択されているビットセルに記憶するために第1の読み出し/書き込みデータ線対を使用すること、第2のアクセスアドレスが書き込みアクセスに対応する場合、第1のポートにおいて書き込みデータを受信し、受信された書き込みデータを第1のポートにおいて読み出しデータ出力として提供し、受信された書き込みデータを第1のアクセスアドレスによって選択されているビットセルに記憶するために第1の読み出し/書き込みデータ線対を使用することをさらに含む。
【0030】
第1のアクセスアドレスを受信するための第1のポート、および第2のアクセスアドレスを受信するための第2のポートを有するマルチポート・スタティック・ランダム・アクセス・メモリ(SRAM)であって、第1のアクセスアドレスから導出される第1の行アドレスが第2のアクセスアドレスから導出される第2の行アドレスに合致するか否かに基づいて行合致指示子を提供する行合致検出器を含む、マルチポートSRAMも開示される。マルチポートSRAMは、第1のアクセスアドレスから導出される第1の列アドレスが第2のアクセスアドレスから導出される第2の列アドレスに合致するか否かに基づいて列合致指示子を提供する列合致検出器をさらに含む。マルチポートSRAMは、第1のストレージラッチを有し、第1のストレージラッチにアクセスするための第1のワード線、第1の真ビット線、および第1の相補ビット線に結合されており、第1のストレージラッチにアクセスするための第2のワード線、第2の真ビット線、および第2の相補ビット線に結合されている、第1のビットセルをさらに含む。マルチポートSRAMは、第2のストレージラッチを有し、第2のストレージラッチにアクセスするための第1のワード線、第3の真ビット線、および第3の相補ビット線に結合されており、第2のストレージラッチにアクセスするための第2のワード線、第4の真ビット線、および第4の相補ビット線に結合されている、第2のビットセルをさらに含む。マルチポートSRAMは、第1のデータ線対をさらに含み、第1の真ビット線および第1の相補ビット線が、第1のアクセスアドレスから生成される第1の列復号信号に応答する第1のスイッチングロジックを介して第1のデータ線対に結合される。マルチポートSRAMは、第2のデータ線対をさらに含み、第1の真ビット線および第1の相補ビット線が、第2のアクセスアドレスから生成される第1の列復号信号、行合致指示子、および列合致指示子の第1の論理結合に応答する第2のスイッチングロジックを介して第1のデータ線対に結合され、第2の真ビット線および第2の相補ビット線が、第2のアクセスアドレスから生成される第1の列復号信号および行合致指示子の第2の論理結合に応答する第3のスイッチングロジックを介して第2のデータ線対に結合される。マルチポートSRAMは、第2のアクセスアドレスから生成される第1の列復号信号がアサートされ、行合致指示子が合致を示し、かつ列合致指示子が合致を示さないとき、第2のスイッチングロジックが第1の真ビット線および第1の相補ビット線を第2のデータ線対に接続し、そうでない場合は第1の真ビット線および第1の相補ビット線を第2のデータ線対から分離し、第2のアクセスアドレスから生成される第1の列復号信号がアサートされ、かつ行合致指示子が合致を示さないとき、第3のスイッチングロジックが第2の真ビット線および第2の相補ビット線を第2のデータ線対に接続し、そうでない場合は第2の真ビット線および第2の相補ビット線を第2のデータ線対から分離することをさらに特徴としてもよい。マルチポートSRAMは、第1のアクセスアドレスから生成される第1の列復号信号がアサートされるとき、第1のスイッチングロジックが第1の真ビット線および第1の相補ビット線を第1のデータ線対に接続し、第1のアクセスアドレスから生成される第1の列復号信号がアサートされないときは第1の真ビット線および第1の相補ビット線を第1のデータ線対から分離することをさらに特徴としてもよい。
【0031】
本開示を実装する装置は、大部分について、当業者に既知の電子コンポーネントおよび回路から成っているため、本開示の基礎となる概念の理解および評価のために、ならびに本開示の教示を分かりにくくせず当該教示から注意を逸らさせないために、回路の詳細は上記で例示されているように必要と考えられる範囲を超えては説明されない。
【0032】
本明細書において、具体的な実施形態を参照して本開示を説明したが、添付の特許請求の範囲に明記されているような本開示の範囲から逸脱することなくさまざまな改変および変更を為すことができる。たとえば、本発明は2つのポートのコンテキストにおいて説明されており、2つよりも多いポートがあるメモリアーキテクチャに適用されてもよい。従って、本明細書および図面は限定的な意味ではなく例示とみなされるべきであり、すべてのこのような改変が本開示の範囲内に含まれることが意図されている。本明細書において具体的な実施形態に関して記載されているいかなる利益、利点、または問題に対する解決策も、任意のまたはすべての請求項の重要な、必要とされる、または基本的な特徴または要素として解釈されるようには意図されていない。
【0033】
さらに、本明細書において使用される場合、「1つ」という用語は、1つまたは2つ以上として定義される。さらに、特許請求の範囲における「少なくとも1つの」および「1つ以上の」のような前置きの語句の使用は、不定冠詞「1つの」による別の請求項要素の導入が、このように導入された請求項要素を含む任意の特定の請求項を、たとえ同じ請求項が前置きの語句「1つ以上の」または「少なくとも1つの」および「1つの」のような不定冠詞を含む場合であっても、1つだけのこのような要素を含む開示に限定することを暗示するように解釈されるべきではない。同じことが、定冠詞の使用についても当てはまる。
【0034】
別途記載されない限り、「第1の」および「第2の」のような用語は、そのような用語が説明する要素間で適宜区別するように使用される。従って、これらの用語は必ずしも、このような要素の時間的なまたは他の優先順位付けを示すようには意図されていない。
図1
図2
図3
図4