(57)【特許請求の範囲】
【請求項１】
シングルポート用ビットセルを用いたメモリアレイを備えた分割ワードライン方式の同期型のＳＲＡＭであって、
ＳＲＡＭ制御用の入力端子、データ入力端子、およびデータ出力端子を備えた２つのポート１およびポート２を有し、
メモリアレイの各行に設置されたワードラインは、１本のみ或いは２本同時に立ち上がることが可能であり、
ビットラインにはポート１およびポート２に対応する列ゲートが複数接続され、各ポートに対してセンスアンプとライトバッファ、更にそれらに接続されたデータ入出力回路を有し、
さらに、２つのトランスファーゲート、１つのトランジスタを有し、前記ワードラインとワード単位のビットラインを含む列のブロックに繋がる分割ワードラインとを接続させる分割ワードラインセレクタと、
前記２つのトランスファーゲートに反転信号を出力し、分割ワードラインとそれに繋がるワード単位のビットラインを含む列のブロックに対して、ポート１とポート２のそれぞれの列アドレスの入力に応じて、各ビットラインについて同一でない２ブロックを選択するビットラインセル選択信号を出力する分割ワードライン制御回路とを有し、
共通するメモリアレイから異なるアドレスに対して同時にアクセス可能であることを特徴とする半導体記憶装置。
【請求項２】
ポート１とポート２の列アドレスが一致した場合に、ポート１のみを動作させる回路を備えていることを特徴とする請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
従来、例えば特許文献１には、同一セルへの1サイクルでの読み出しと書き込みを可能にし、さらに、読み出しと書き込みの２ポート動作を読み出しに必要な１サイクルで同時に行う半導体メモリが開示されている。この半導体メモリでは、ＣＫ端子が1本で、ＣＫの立ち上がりで読み出し動作を行い、ＣＫ立ち下がりで書き込み動作を行うため、共通の1サイクルで読み書きを行っている。
【０００３】
また、特許文献２には、シングルポートのビットセルを持ったデュアルポートメモリの２つのクロックがほぼ同時に入った場合でも、どちらかを優先して立ち上げることができるアービトレーション回路を備えたパイプラインド・デュアル・ポート集積回路メモリ（ＳＲＡＭ）が開示されている。
【０００４】
また、特許文献３には、シングルポートメモリを外部回路によってデュアルポートメモリ化する疑似デュアルポートメモリが開示されている。
【０００５】
また、特許文献４には、複数のシングルポートメモリを外部回路によってデュアルポートメモリ化する疑似デュアルポートメモリが開示されている。
【０００６】
また、特許文献５には、シングルポートのＳＲＡＭであって、書き込み専用のアドレスデコーダと、読み出し専用のアドレスデコーダを持ち、書き込みと読み出しを同時に行うように構成された半導体記憶装置が開示されている。
【０００７】
また、特許文献６には、シングルポートのＳＲＡＭメモリセルを用いて、２ポートＳＲＡＭで実現されていた読み出または書き込みの２つの動作を同じサイクル中に行わせる半導体記憶装置が開示されている。
【０００８】
【特許文献１】特開２０００−１７３２７０号公報
【特許文献２】特開２０００−３０４６０号公報
【特許文献３】実開平５−２０１３９号公報
【特許文献４】実開平５−６６７５１号公報
【特許文献５】特開平１０−１１９６９号公報
【特許文献６】特開平１１−２９７０７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来から用いられているシングルポートＳＲＡＭは、当然のことながらポートが１つであるため、同時に異なるアドレスにアクセスすることはできない。
【００１０】
また、従来のデュアルポートＳＲＡＭの場合、同時に異なるアドレスにアクセスすることが可能になるが、シングルポート用のビットセル（例えば、図９参照）に比べてデュアルポート用のビットセル（例えば、図１０参照）はゲート数も多く、ワードラインも２本、ビットライン対も２組あり、これを用いたデュアルポートＳＲＡＭは面積が大きくなる。
【００１１】
本発明は前記事情に着目してなされたものであり、その目的とするところは、シングルポート用ビットセルを用いて異なるアドレスに同時にアクセスできる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１２】
前記課題を解決するために、請求項１に記載された発明は、シングルポート用ビットセルを用いたメモリアレイを備えた分割ワードライン方式の同期型の半導体記憶装置（ＳＲＡＭ）であって、ＳＲＡＭ制御用の入力端子、データ入力端子、および、データ出力端子を備えた２つのポート１およびポート２を有し、メモリアレイの各行に設置されたワードラインは、１本のみ或いは２本同時に立ち上がることが可能であり、ビットラインにはポート１およびポート２に対応する列ゲートが複数接続され、各ポートに対してセンスアンプとライトバッファ、更にそれらに接続されたデータ入出力回路を有し、さらに、２つのトランスファーゲート、１つのトランジスタを有し、前記ワードラインとワード単位のビットラインを含む列のブロックに繋がる分割ワードラインとを接続させる分割ワードラインセレクタと、前記２つのトランスファーゲートに反転信号を出力し、分割ワードラインとそれに繋がるワード単位のビットラインを含む列のブロックに対して、ポート１とポート２のそれぞれの列アドレスの入力に応じて、各ビットラインについて同一でない２ブロックを選択するビットラインセル選択信号を出力する分割ワードライン制御回路とを有し、共通するメモリアレイから異なるアドレスに対して同時にアクセス可能であることを特徴とする。
【００１３】
また、請求項２に記載された発明は、請求項１に記載された発明において、ポート１とポート２の列アドレスが一致した場合に、ポート１のみを動作させる回路を備えていることを特徴とする。
【発明の効果】
【００１４】
本発明の半導体記憶装置によれば、シングルポート用ビットセルを用いて異なるアドレスに同時にアクセスできる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら、本発明の一実施形態について説明する。図１に本発明の半導体記憶装置（SRAM）を示す。ここでは各ポートにCKを備えた同期型のSRAMで説明する。２つのポートのCKは非同期で構わない。また、簡単のため、16word×4bitの本発明の模式図を示している。
【００１６】
図１のSRAM１はクロック入力PXCK、アドレス入力PXADD、チップアクセス制御入力PXCEB、リード・ライト制御入力PXWEB、データ入力PXDI、データ出力PXDOの各端子を備えた２つのポートを持っている。なおここで、PXはポート１あるいはポート２を示すP1、P2を意味する。以下の説明も同様である。
【００１７】
メモリアレイ部はシングルポート用ビットセルSBCと分割ワードライン（DWL）セレクタで構成される。DWLセレクタに接続された分割ワードラインDWLにSBCが４個つながり、これが１word（４bit）の単位となる。また、DWLセレクタ1個とDWL1本およびSBC4個が一組になった回路が4行並ぶ。また、これらを含む点線で囲まれた部分を分割ワードライン（DWL）の列ブロックDBと呼ぶ。図１ではDBが4つ示されている。
【００１８】
以下に各回路の動作を説明する。内部制御回路２はSRAMの動作を制御する。どちらかのPXCEBがLであれば、該当するポートはイネーブルとなる。どちらかのPXCEBがHであれば、該当するポートはディスエーブルとなる。両方のPXCEBがLであれば両ポート共にイネーブルとなる。両方のPXCEBがHであればチップ全体がディスエーブルとなる。以下ではPXCEBが共にLの状態で説明する。
【００１９】
PXWEBがHであれば該当するポートはリードアクセス可能となる。このときPXCKがHになると、PXSEはHとなり該当するセンスアンプ１１，１３をイネーブルにする。PXCKがLのときはPXSEもLで、センスアンプ１１，１３はディスエーブルとなる。
【００２０】
PXWEBがLであれば該当するポートはライトアクセス可能となる。このときPXCKがHになると、PXWEはHとなり該当するライトバッファ１０、１２をイネーブルにする。PXCKがLのときはPXWEもLで、ライトバッファはディスエーブルとなる。
【００２１】
内部制御回路から出力しているPXINCKは、PXCK、PXCEBから作られる内部クロックである。内部制御回路以外の回路は、このPXINCKで制御される。
【００２２】
アドレス入力回路３、行デコーダ４および列デコーダ５を図２に示す。アドレス入力回路３では、各アドレス端子PXADDに対してアドレスラッチを接続する。このアドレスラッチは、PXINCKがHになったときのアドレスをラッチし、PXINCKがLになるまで保持する。各アドレスラッチの出力は、行デコーダ４、列デコーダ５に入力される。なお図１、図２では、PXADD[2]-PXADD[3]は行アドレスとなり行デコーダ４に入力され、PXADD[0]-PXADD[1]は列アドレスとなり列デコーダ５に入力される。行デコーダでは、P1ADD[2]-P1ADD[3]をアドレスラッチを介してP1AX[0]-P1AX[3]にデコードする。
【００２３】
P1AX[0]-P1AX[3]はP1INCKがHのときに、
（P1ADD[3], P1ADD[2]）＝（0,0）のとき  P1AX[0]＝H、
（P1ADD[3], P1ADD[2]）＝（0,1）のとき  P1AX[1]＝H、
（P1ADD[3], P1ADD[2]）＝（1,0）のとき  P1AX[2]＝H、
（P1ADD[3], P1ADD[2]）＝（1,1）のとき  P1AX[3]＝H、
となり、それ以外はLとなる。
【００２４】
また同様に、P2ADD[2]-P2ADD[3]をアドレスラッチを介してP2AX[0]-P2AX[3]にデコードする。
【００２５】
P2AX[0]-P2AX[3]はP2INCKがHのときに、
（P2ADD[3], P2ADD[2]）＝（0,0）のとき  P2AX[0]＝H、
（P2ADD[3], P2ADD[2]）＝（0,1）のとき  P2AX[1]＝H、
（P2ADD[3], P2ADD[2]）＝（1,0）のとき  P2AX[2]＝H、
（P2ADD[3], P2ADD[2]）＝（1,1）のとき  P2AX[3]＝H、
となり、それ以外はLとなる。
【００２６】
さらにP1AX[0]とP2AX[0]は２入力ORに入力されWL[0]を出力する。同様にP1AX[1]とP2AX[1]、P1AX[2]とP2AX[2]、P1AX[3]とP2AX[3]もそれぞれ２入力ORに入力され、それぞれWL[1]、WL[2]、WL[3]を出力する。
【００２７】
このOR回路は、P1AXとP2AXのそれぞれどれか１つがHになったとき、[ ]内の番号が一致していない場合には2本のWLを立ち上げ、[ ]内の番号が一致している場合には共通のWLを１本立ち上げる。
【００２８】
列デコーダでは、P1ADD[0]-P1ADD[1]をアドレスラッチを介してP1YG[0]-P1YG[3]にデコードする。
【００２９】
P1YG[0]-P1YG[3]はP1INCKがHのときに、
（P1ADD[1], P1ADD[0]）＝（0,0）のとき  P1YG[0]＝H、
（P1ADD[1], P1ADD[0]）＝（0,1）のとき  P1YG[1]＝H、
（P1ADD[1], P1ADD[0]）＝（1,0）のとき  P1YG[2]＝H、
（P1ADD[1], P1ADD[0]）＝（1,1）のとき  P1YG[3]＝H、
となり、それ以外はLとなる。
【００３０】
また同様に、P2ADD[0]-P2ADD[1]をアドレスラッチを介してP2YG[0]-P2YG[3]にデコードする。
【００３１】
P2YG[0]-P2YG[3]はP2INCKがHのときに、
（P2ADD[3], P2ADD[2]）＝（0,0）のとき  P2YG[0]＝H、
（P2ADD[3], P2ADD[2]）＝（0,1）のとき  P2YG[1]＝H、
（P2ADD[3], P2ADD[2]）＝（1,0）のとき  P2YG[2]＝H、
（P2ADD[3], P2ADD[2]）＝（1,1）のとき  P2YG[3]＝H、
となり、それ以外はLとなる。
【００３２】
P1YG[0]-P1YG[3]、P2YG[0]-P2YG[3]は、所定の列ゲートと分割ワードライン（DWL）制御回路に入力される。
【００３３】
列ゲートは、メモリアレイの1対のBL-BLBに対して1回路が接続される。列ゲートは、図３に示すように4個のトランスファーゲートと2個のインバータで構成される。BLとBLBにそれぞれ2個のトランスファーゲートが接続され、BLあるいはBLBに接続された2個のトランスファーゲートのうち、1個はポート１用、もう1個はポート２用の列ゲートとなる。
【００３４】
列デコーダから出力されたPXYGの信号により、トランスファーゲートのon、offを行う。P1YGがHになると、P1YGおよびその反転信号に接続されたトランスファーゲートがonになり、BLとP1DL、BLBとP1DLBが導通する。P2YGがHになると、P2YGおよびその反転信号に接続されたトランスファーゲートがonになり、BLとP2DL、BLBとP2DLBが導通する。PXYGがLの場合は、該当する各トランスファーゲートはoffする。
【００３５】
P1DLおよびP1DLBはポート１用センスアンプとライトバッファに接続され、P2DLおよびP2DLBはポート2用センスアンプとライトバッファに接続されBLと入出力回路１４，１５とのデータの受け渡しを行っている。
【００３６】
列ゲートは、分割ワードラインの列ブロックDB[0]-DB[3]に各4個設置されており、列デコーダからの出力PXYG[0]はDB[0]内のすべての列ゲートに接続されている。PXYG[1]-PXYG[3]は同様にそれぞれDB[1]-DB[3]のすべての列ゲートに接続される。
【００３７】
分割ワードライン（DWL）制御回路を図４に示す。分割ワードラインの列ブロックDBに各1個設置される。PXYGがHのときにPXYGAをHに、PXYGBをLにする。これらの信号は、分割ワードラインの立ち上げ、立ち下げを制御する信号である。また、PXYGが両方ともLの時には出力端子DBSELBがHとなり、PXYGのうちの1本がHの場合にはDBSELBはLとなる。この信号は、分割ワードラインの列ブロックDBを選択する信号である。なお、PXYGが2本ともHになると、ポート1側のアクセスアドレスとポート2側のアクセスアドレスに対するデータがBL-BLBでぶつかる場合があるため、列アドレスをユーザが制御して、PXYGが2本ともHにはならないようにする。
【００３８】
分割ワードライン（DWL）セレクタとそれにつながるシングルポートビットセル（SBC）を図５に示す。図１では、DWLセレクタはSBC4列に対して1列設置される。また図１では1本のWLに4個のDWLセレクタが接続される。DWLセレクタからは分割ワードライン（DWL）が1本接続し、DWLには4個のSBCが接続されている。SBCの詳細を図９に示す。
【００３９】
DWLセレクタはトランスファーゲート2個とNchトランジスタ1個で構成される。WLは2個のトランスファーゲートに接続され、それらの出力は同じDWLに接続されている。図４に示したようにトランスファーゲートに入力されているP1YGAとP1YGB、P2YGAとP2YGBはそれぞれ反転の関係である。P1YGAがH、P1YGBがLの場合、あるいはP2YGAがH、P2YGBがLの場合には、トランスファーゲートはonし、WLとDWLが接続される。このときは図４のP1YGあるいはP2YGのどちらかがHの場合であるから、DBSELBはLであり、図５のNchトランジスタはoffする。WLとDWLが接続されるため、WLがHならばDWLもH、WLがLならばDWLもLである。DWLがHの場合のみ、そこに接続されたSBCのアクセスゲートが開くため、SBCとBL-BLBの間でデータの受け渡しを行う。
【００４０】
なお先ほども述べたように、同じDWLの列ブロックDBを選択する信号P1YGとP2YGが同時に立ち上がらないように、ユーザが制御する。
【００４１】
PXYGAが共にL、PXYGBが共にHの場合は、トランスファーゲートは2個ともoffしているため、WLとDWLは遮断される。これは図４のP1YGとP2YGが共にLの場合であり、DBSELBはHになるため、図５のNchトランジスタがonし、DWLはLになる。DWLがLであるため、そこに接続されたSBCのアクセスゲートはoffし、SBCとBL-BLBの間は遮断される。
【００４２】
プリチャージ回路９を図６に示す。DBSELBがLのとき、つまり図４のP1YGあるいはP2YGのどちらかがHのとき、3個のPchトランジスタはoffする。DBSELBがHのとき、つまり図４のP1YGもP2YGもLのとき、3個のPchトランジスタはonし、BL-BLBをHにプリチャージする。DBSELBがLのときとは、DWLの列ブロックDBが選択されている場合であり、同じDB内のDWLが立ち上がり、SCBとBL-BLBとがデータの受け渡しを行うため、プリチャージを止める必要がある。このため3個のPchトランジスタをoffする。DBSELBがHのときは、同じDB内のDWLがすべてLのときであるため、BL-BLBをプリチャージするため、3個のPchトランジスタはonする。
上述したように、各ポート用の列ゲート６は、各ポート用のライトバッファ、センスアンプにつながり、それらがさらに各ポート用のデータ入出力回路１４，１５に接続している。
【００４３】
データ入出力回路１４，１５とライトバッファ１０，１２、センスアンプ１１，１３を図７に示す。
【００４４】
PXWEがHの場合には、入力ラッチからライトバッファ１０，１２へデータが送られ、ライトバッファ１０，１２が列ゲート６にデータを送る。PXSEがHの場合には、センスアンプから出力ラッチへデータが送られる。各信号がLの場合には、それに対応するライトバッファ、センスアンプはディスエーブルとなる。
【００４５】
以上のように、DWLの列ブロックDBを選択する信号P1YGとP2YGが同時に同じDBを選択することが無いように列アドレスを制御することによって、WLが１本あるいは２本同時に立ち上がっても、各DBで立ち上がるDWLは1本のみとなり、ポート１用とポート2用の列ゲートを用意することにより、一方のDBにある列ゲートはポート１側のみをonさせ、もう一方のDBにある列ゲートはポート2側のみonさせ、それぞれのポート用ゲートにそれぞれのデータラインを接続することで、同時に２つのアドレスにアクセスすることが可能となる。
【００４６】
図１では同期型の回路で説明したが、非同期型のSRAMでも、列アドレスが同じにならないように入力すれば、同時に異なるアドレスにアクセスすることが可能である。
【００４７】
ここまでの説明においては、DWLの列ブロックDBを選択する信号P1YGとP2YGが同時に同じDBを選択することが無いように列アドレスをユーザが制御することを条件としていたが、図２の列デコーダに、図８の回路を付加することにより、P1YGとP2YGが同じDBを選択した場合に、ポート１側のアクセスを優先させ、ポート２側を動作させないことが可能となる。
【００４８】
図８ではP1YG[0]とP2YG[0]に対してのみ図示しているが、[1]、[2]、[3]に対しても同じ回路を付加する。この回路は、P1YG[0]とP2YG[0]が共にHであった場合、P2YGQ[0]を強制的にLにする。P2YGQ[0]は、図2の出力P2YG[0]が図１内で入力されているP2YG[0]のかわりに入力される。P2YGQ[1]、P2YGQ[2]、P2YGQ[3]も同様である。P2YGQがLであるため、列ゲートもDWLセレクタもポート２側はonせず、このためポート１は、ポート2側のデータにぶつかること無くアクセスすることができる。
【００４９】
このように、以上の実施形態では、シングルポートのビットセルで２つのポートをもったSRAMを構成することにより、デュアルポート用ビットセルを用いたSRAMに比べて、トランジスタ数、ワードラインの本数、ビットライン対の本数を削減することができるため、アドレスのアクセスには制限はあるが、小さな面積でデュアルポートのメモリを構成することができる。また、シングルポートのメモリと比較すると、コントロール回路の面積増加分のみで、同じサイクルで２倍のデータにアクセス可能となる。
【００５０】
また、ポート１とポート２の列アドレスが同じ場合でも、ポート１のアクセスのみ通常通りに行えるため、列アドレスが同じにならないよう考慮する手間が減少するため、設計工期を短縮することが可能である。
【００５１】
以上のように、本発明では、図９のようなシングルポート用ビットセルを用いて異なるアドレスに同時にアクセスできるデュアルポートSRAMを提案している。図１０のようなビットセルを持ったデュアルポートSRAMに比べるとアドレスアクセスの自由度は減るが、面積的には小さくなり、シングルポートSRAMに比べると同じサイクルで２倍のデータアクセスが可能となる。
【００５２】
なお、以下に、本発明の効果を前述した特許文献１〜６と比較して説明する。本発明と特許文献１とを比較した場合、シングルポートのビットセルをもちいてデュアルポート化するという点で共通するが、特許文献１では読み出しと書き込みのタイミングは同じサイクルではあるがずらしている。本願発明は分割ワードラインを用いることで、異なる列アドレスに対して同時にアクセス可能である。
本発明と特許文献２とを比較した場合、シングルポートのビットセルをもちいてデュアルポート化するという点で共通するが、特許文献２はSRAMのクロック制御に関する発明であり、本発明はSRAMの分割ワードライン、デコーダ、列デコーダなどの構成に関するものである。
本発明と特許文献３とを比較した場合、シングルポートビットセルを用いてデュアルポート化したSRAMに関するため、特許文献３とは異なる。
本発明と特許文献４とを比較した場合、シングルポートビットセルを用いてデュアルポート化したSRAMに関するため、特許文献４とは異なる。
本発明と特許文献５とを比較した場合、書き込みと読み出しを同時に行うという点で類似するが、本発明では、異なる列アドレスである限り、同時書き込みも、同時読み出しも可能である。
本発明と特許文献６とを比較した場合、同時書込、同時読込、同時書込・読込が可能という点で類似するが、特許文献６は同一のワードライン上のアドレスが対象となる。本発明では、異なる列アドレスである限り異なるワードラインでも問題ない。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係る半導体記憶装置の回路図である。
【図２】アドレス入力回路、行デコーダ、列デコーダの回路図である。
【図３】列ゲートの回路図である。
【図４】分割ワードライン制御回路図である。
【図５】シングルポートビットセル（ＳＢＣ）の回路図である。
【図６】プリチャージ回路の回路図である。
【図７】ＰＸデータ入出力回路を示す図である。
【図８】列デコーダ付加回路を示す図である。
【図９】ＳＢＣの詳細を示す図である。
【図１０】ＤＢＣの詳細を示す図である。
【符号の説明】
【００５４】
１０、１２  ライトバッファ
１１、１３  センスアンプ
１４、１５  データ入出力回路
Ｐ１  ポート１
Ｐ２  ポート２
【図１】
0004673008.tif 000002
【図２】
0004673008.tif 000003
【図３】
0004673008.tif 000004
【図４】
0004673008.tif 000005
【図５】
0004673008.tif 000006
【図６】
0004673008.tif 000007
【図７】
0004673008.tif 000008
【図８】
0004673008.tif 000009
【図９】
0004673008.tif 000010
【図１０】
0004673008.tif 000011