(57)【要約】  各々、一対の記憶部で構成される複数のメモリセルと、前記複数のメモリセルの行を指定する複数の書き込みワード線と、前記複数のメモリセルの行を指定する複数の読み出しワード線対と、前記一対の記憶部への書き込みの際に、前記一対の記憶部に共通な前記書き込みワード線を駆動する書き込みローデコーダと、前記記憶部からの読み出しの際に、前記記憶部に接続される前記読み出しワード線を駆動する読み出しローデコーダと、前記一対の記憶部への書き込みの際に、前記一対の記憶部を指定し、前記書き込みワード線とによって共通に指定された前記一対の記憶部の双方に、それぞれ入力されるデータをそれぞれ書き込む複数の書き込みビット線対と、前記記憶部からの読み出しの際に、前記記憶部を指定し、前記読み出しワード線とによって共通に指定された前記記憶部から、データを読み出す（１本でも良い）読み出しビット線とを有する。
2007074517.tif 000002
【特許請求の範囲】
【請求項１】
共通の書き込みワード線に並列に接続される第１及び第２のフリップフロップ回路と、
前記第１のフリップフロップ回路に接続され、前記書き込みワード線に供給される書き込み制御信号により導通されて第１の書き込み信号を前記第１のフリップフロップ回路に供給する第１の書き込み制御回路と、
前記第２のフリップフロップ回路に接続され、前記書き込みワード線に供給される書き込み制御信号により導通されて第２の書き込み信号を前記第２のフリップフロップ回路に供給する第２の書き込み制御回路と、を有することを特徴とするメモリ回路。
【請求項２】
前記メモリ回路はさらに、
前記第１のフリップフロップ回路に接続され、第１の読み出しワード線に供給される第１の読み出し制御信号により導通され、前記第１のフリップフロップ回路からの読み出し信号の読み出し制御を行う第１の読み出し制御回路と、
前記第２のフリップフロップ回路の接続され、第２の読み出しワード線に供給される第２の読み出し制御信号により導通され、前記第２のフリップフロップ回路からの読み出し信号の読み出し制御を行う第２の読み出し制御回路と、を有することを特徴とする請求項１記載のメモリ回路。
【請求項３】
前記書き込み制御回路はそれぞれ、
前記フリップフロップ回路に接続され、前記書き込みワード線に供給される書き込み制御信号により導通されて第１の書き込み信号を前記フリップフロップ回路に供給する第１の書き込み制御スイッチング素子と、
前記フリップフロップ回路に接続され、前記書き込みワード線に供給される書き込み制御信号により導通されて前記書き込み信号の反転信号を前記フリップフロップ回路に供給する第２の書き込み制御スイッチング素子と、から構成され、
前記読み出し制御回路はそれぞれ、
前記第１のフリップフロップ回路に接続され、第１の読み出しワード線に供給される第１の読み出し制御信号により導通され、前記第１のフリップフロップ回路からの読み出し信号の読み出し制御を行う第１の読み出し制御スイッチング素子と、
前記第２のフリップフロップ回路の接続され、第２の読み出しワード線に供給される第２の読み出し制御信号により導通され、前記第２のフリップフロップ回路からの前記読み出し信号の反転信号の読み出し制御を行う第２の読み出し制御スイッチング素子と、から構成されることを特徴とする請求項２記載のメモリ回路。
【請求項４】
前記メモリ回路は、さらに上位アドレス用書き込みデコーダ及び下位アドレス用書き込みデコーダと上位アドレス用読み出しデコーダ及び下位アドレス用読み出しデコーダとを有し、
前記第１及び前記第２の書き込み制御信号は前記上位アドレス用書き込みデコーダにより制御され、
前記第１及び前記第２の書き込み信号は前記下位アドレス用書き込みデコーダにより制御され、
前記読み出し制御信号は前記上位アドレス用読み出しデコーダにより制御され、
前記読み出し信号は前記下位アドレス用読み出しデコーダにより制御されることを特徴とする請求項２記載のメモリ回路。
【請求項５】
書き込み制御信号が接続される上位アドレス用書き込みデコーダと、
書き込み信号が接続される下位アドレス用書き込みデコーダと、
読み出し制御信号が接続される上位アドレス用読み出しデコーダと、
読み出し信号が接続される下位アドレス用読み出しデコーダと、
第１のフリップフロップ回路及び第１の前記書き込み信号との間の導通を第１の前記書き込み制御信号により制御を行う第１の書き込み制御回路と、
第２のフリップフロップ回路及び第２の前記書き込み信号との間の導通を第２の前記書き込み制御信号により制御を行う第２の書き込み制御回路と、
前記第１のフリップフロップ回路及び前記読み出し信号との間の導通を前記読み出し制御信号により制御を行う第１の読み出し制御回路と、
前記第２のフリップフロップ回路及び前記読み出し信号との間の導通を前記読み出し制御信号により制御を行う第２の読み出し制御回路とを有するバッファ手段と演算処理手段とを備えることを特徴とする情報処理装置。
【請求項６】
第１のフリップフロップ回路に接続され、書き込みワード線に供給される書き込み制御信号により導通されて第１の書き込み信号を前記第１のフリップフロップ回路に供給する第１の書き込みを行うステップと、
第２のフリップフロップ回路に接続され、前記書き込みワード線に供給される書き込み制御信号により導通されて第２の書き込み信号を前記第２のフリップフロップ回路に供給する第２の書き込みを行うステップと、
前記第１のフリップフロップ回路に接続され、第１の読み出しワード線に供給される第１の読み出し制御信号により導通され、前記第１のフリップフロップ回路からの読み出し信号の読み出し制御を行う第１の読み出しを行うステップと、
前記第２のフリップフロップ回路の接続され、第２の読み出しワード線に供給される第２の読み出し制御信号により導通され、前記第２のフリップフロップ回路からの読み出し信号の読み出し制御を行う第２の読み出しを行うステップとを有することを特徴とするメモリ回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの転送速度、もしくは、入力データ幅と出力データ幅の異なるMetal Oxide Semiconductor（金属酸化物半導体：以下、MOS）により構成されるSRAM回路、及び、これを用いたバッファ回路に関し、特に、SRAM回路の小型化と高速化に関する。
【背景技術】
【０００２】
通常のSRAM（Static Random
Access Memory）回路は１リード／ライトで、リードポートとライトポートが同一である。ここで、ポートは、読み出し、もしくは、書き込みを行う入出力インタフェースのことであり、アドレスを格納するレジスタやアドレスをデコードするデコーダ、アドレスの位置を指定するビット線、及び、ワード線を指す。１リード／ライトの場合、書き込み、及び、読み出しは同時に行うことができない。また、読み出し、及び、書き込みの際に、共通のアドレスデコーダを用いて、書き込み、もしくは、読み出しの位置を決定する。そのため、書き込みと読み出しに用いられるアドレスのビット数は同一である。【０００３】
これに対して、複数のポートを有するSRAM回路が提案されている（例えば、非特許文献１参照）。【０００４】
複数のポートを有するSRAM回路の一例である１リード／２ライトのSRAM回路は、一つのリードポート、及び、２つのライトポートを有している。この回路においては、アドレスデコーダは、読み出しのために一つと、書き込みのために二つが用意される。【０００５】
図７は、従来の１リード／２ライトのSRAM回路の構成図である。【０００６】
読み出しの際は、まず、読み出し位置を示す読み出しアドレスが、読み出しアドレスレジスタRARに格納される。格納された読み出しアドレスは、読み出しカラムデコーダRCDC、及び、読み出しローデコーダRRDCに供給される。読み出しカラムデコーダRCDC、及び、読み出しローデコーダRRDCは、それぞれ、メモリアレイ300における読み出し位置である行と列を指定する。指定された位置のメモリセルのデータは、OR回路400を通じて出力される。【０００７】
また、１リード／２ライトのSRAM回路に対する書き込みの際は、まず、２つの書き込み位置をそれぞれ示す２つの書き込みアドレスが書き込みアドレスレジスタWAR1、及び、WAR2に格納される。書き込みアドレスレジスタWAR1に格納された書き込みアドレスは、書き込みカラムデコーダWCDC1、及び、書き込みローデコーダWRDC1に供給される。書き込みアドレスレジスタWAR2に格納された書き込みアドレスは、書き込みカラムデコーダWCDC2、及び、書き込みローデコーダWRDC2に供給される。２つの書き込みカラムデコーダ、及び、２つの書き込みローデコーダは、それぞれ、メモリアレイ300上の書き込み位置である行と列をそれぞれ指定する。指定された位置の２つのメモリセルには、書き込みデータレジスタWDR1、及び、WDR2に格納される書き込みデータが、書き込みカラムデコーダWCDC1、及び、WCDC2を介して書き込まれる。【０００８】
図８は、従来の１リード／２ライトのSRAM回路に用いられるSRAMセルの構成図である。従来の１リード／２ライトのSRAMセルは、PチャネルMOSトランジスタとNチャネルMOSトランジスタ、ビット線、及び、ワード線から構成されている。【０００９】
PチャネルMOSトランジスタ101とNチャネルMOSトランジスタ102は、並列に接続され、インバータ回路を構成している。また同様に、PチャネルMOSトランジスタ103とNチャネルMOSトランジスタ104は、並列に接続され、インバータ回路を構成している。これらの4つのトランジスタにより2つのインバータ回路のループによるフリップフロップ回路が構成され、１ビットの情報が保持される。【００１０】
ゲートが読み出しワード線+RWLに接続されるNチャネルMOSトランジスタ105は、読み出しビット線+RBLと、インバータ回路を構成するトランジスタ101と102のゲート側のノードとを接続する。また、ゲートが書き込みワード線+WWL0に接続されるNチャネルMOSトランジスタ106は、書き込みビット線+WBL0と、インバータ回路を構成するトランジスタ101と102のゲート側のノードとを接続する。さらに、ゲートが書き込みワード線+WWL1に接続されるNチャネルMOSトランジスタ107は、書き込みビット線+WBL1と、インバータ回路を構成するトランジスタ101と102のゲート側のノードとを接続する。【００１１】
ゲートが読み出しワード線+RWLに接続されるNチャネルMOSトランジスタ108は、読み出しビット線-RBLと、インバータ回路を構成するトランジスタ103と104のゲート側のノードとを接続する。また、ゲートが書き込みワード線-WWL0に接続されるNチャネルMOSトランジスタ109は、書き込みビット線-WBL0と、インバータ回路を構成するトランジスタ103と104のゲート側のノードとを接続する。さらに、ゲートが書き込みワード線+WWL1に接続されるNチャネルMOSトランジスタ110は、書き込みビット線-WBL1と、インバータ回路を構成するトランジスタ103と104のゲート側のノードとを接続する。【００１２】
このSRAMセルに対して書き込みを行う場合には、まず、書き込みローデコーダWRDC1によって指定された書き込みワード線+WWL0がHigh状態（以下H）になる。これにより、NチャネルMOSトランジスタ106と109が導通する。次に、書き込みデータレジスタWDR1に格納された記憶したいデータが、書き込みコラムデコーダWCDC1によって指定された書き込みビット線+WBL0から入力される。同時に、書き込みビット線-WBL0からは、書き込みビット線+WBL0とは逆の状態が入力される。【００１３】
記憶したいデータがHである場合には、NチャネルMOSトランジスタ102とPチャネルMOSトランジスタ103は導通し、インバータ回路を構成するトランジスタ101と102のゲート側のノードはHに固定され、同じくインバータ回路を構成するトランジスタ103と104のゲート側のノードはLow状態（以下L）に固定される。【００１４】
さらに、このSRAMセルに対して別の系統のポートを用いて同時に書き込みを行うことが可能である。その場合、まず、書き込みローデコーダWRDC2によって指定されたワード線+WWL1をHにする。これにより、NチャネルMOSトランジスタ107と110が導通する。次に、書き込みデータレジスタWDR2に格納された記憶したいデータが、書き込みカラムデコーダWCDC2によって指定されたビット線+WBL1から入力される。同時に、ビット線-WBL1からは、ビット線+WBL1とは逆の状態が入力される。【００１５】
記憶したいデータがLである場合には、NチャネルMOSトランジスタ104とPチャネルMOSトランジスタ101は導通し、インバータ回路を構成するトランジスタ101と102のゲート側のノードはLに固定され、同じくインバータ回路を構成するトランジスタ103と104のゲート側のノードはHに固定される。２つの系統を用いて、別々のセルに同時に書き込みを行うことによって、書き込みの速度を上げることが可能である。また、２つの系統が同一の位置に同時に書き込みを行うことを禁止するためのハードウェアが必要である。【００１６】
このSRAMセルからデータの読み出しを行う場合には、まず、読み出しローデコーダRRDCによるデコードの結果選択された読み出しワード線+RWLがHになる。これにより、NチャネルMOSトランジスタ105と108が導通する。そして、フリップフロップ回路のループの一部となるインバータ回路を構成するトランジスタ101と102のゲート側に記憶されたデータが、読み出しカラムデコーダRCDCによって指定された読み出しビット線+RBLから出力される。同時に、読み出しビット線-RBLからは、当該インバータ回路により読み出しビット線+RBLの状態が反転されることにより、読み出しビット線+RBLとは逆の状態が出力される。【００１７】
このような１リード／２ライトのSRAM回路は、ライトポートの数がリードポートの数の２倍あるため、入力されるデータと出力されるデータのデータ幅が異なる、または、２つの系統を用いて、別々のセルに同時に書き込みを行うことにより、データ書き込みの速度を見かけ上２倍に向上させることができ、データの書き込みと読み出しの速度が異なるバッファ回路として用いられる。【００１８】
図９は、１リード／２ライトのSRAM回路の使用例を示す図である。中央演算装置（以下CPU）100は、演算によって得られたデータD1を、１リード／２ライトのSRAM回路101aに対して出力する。CPU100は、高速演算を行うため、得られたデータを即座に出力し、別の演算を始めることが求められる。【００１９】
そこで、１リード／２ライトのSRAM回路101aは、２つの書き込みポートを用いてデータを受信し、１つの読み出しポートでデータD2を出力する。従って、読み出しポート数は書き込みポート数の１／２であるため、みかけ上のデータD2の読み出しに係る転送速度は、データD1の書き込みに係る転送速度の１／２となる。【００２０】
さらに、１リード／２ライトのSRAM回路101bは、１リード／２ライトのSRAM回路101aからの出力であるデータD2を受け取り、２つの書き込みポートによって書き込みを行う。書き込まれたデータD2は、１つの読み出しポートによって読み出され、データD3として出力される。従って、読み出しポート数は書き込みポート数の１／２であるため、みかけ上のデータD3の読み出しに係る転送速度は、データD2の書き込みに係る転送速度の１／２となる。
よって、データD3の読み出しにかかる転送速度は、データD1の書き込みにかかる転送速度の１／４になる。【００２１】
このようにして、CPUから出力されるデータは、徐々に転送速度を低下させる。CPUから出力されるデータD1は、頻繁に出力されるわけではないため、データD1を受け取る処理をできる限り高速に行った後は、速度を低下させてよい。このようにして、CPUは、データD3の後段に続く速度の遅いメモリ回路の処理の終了を待つことなくデータを出力するという一種の突き放し処理を行うことができる。
【非特許文献１】「ＣＭＯＳ  ＶＬＳＩ設計の原理  システムの視点から」Niel H. E. Weste、Kamran Eshraghi 著、  丸善株式会社発行、  310頁、1988年
【発明の開示】
【発明が解決しようとする課題】
【００２２】
しかしながら、従来の１リード／２ライトのSRAM回路では、書き込みのポートを二つ用意して２倍の速度で書き込みを行っているため、読み出しアドレスのレジスタが１つと、書き込みアドレスのレジスタが２つ必要であった。また、同様に、読み出しアドレスのデコーダが１つと、書き込みアドレスのデコーダが２つ必要であった。これらの回路が重複して設置されるため、従来の１リード／２ライトのSRAM回路は、サイズを小さくすることが困難であった。
また、１リード／２ライトのSRAM回路においては、多数のワード線やトランジスタが用いられ、メモリセルサイズが大きくなる。そのため、ビット線やワード線が長くなり、抵抗及び配線容量が大きくなる。抵抗及び配線容量が大きくなれば、トランジスタを駆動する駆動電流が小さくなるため（配線容量が大きくなれば、トランジスタで駆動しなければならない負荷が増えるため）、１リード／２ライトのSRAM回路においては高速化を行うことが困難であった。【００２３】
そこで、本発明の目的は、メモリセルのサイズが小さな１リード／２ライトのSRAM回路を提供することにある。【００２４】
さらに、本発明の目的は、メモリセルのサイズが小さく、高速動作が可能な１リード／２ライトのSRAM回路を提供することにある。【００２５】
また、本発明の他の目的は、メモリセルのサイズが小さなSRAM回路を用いたバッファ回路を提供することにある。【００２６】
さらに、本発明の他の目的は、メモリセルのサイズが小さく、高速動作が可能なSRAM回路を用いたバッファ回路を提供することにある。
【課題を解決するための手段】
【００２７】
上記課題を解決するため、本発明の第一の側面によるSRAM回路は、各々、一対の記憶部で構成される複数のメモリセルと、前記複数のメモリセルの行を指定する複数の書き込みワード線と、前記複数のメモリセルの行を指定する複数の読み出しワード線対と、前記一対の記憶部への書き込みの際に、前記一対の記憶部に共通な前記書き込みワード線を駆動する書き込みローデコーダと、  前記記憶部からの読み出しの際に、前記記憶部に接続される前記読み出しワード線を駆動する読み出しローデコーダと、前記一対の記憶部への書き込みの際に、前記一対の記憶部を指定し、前記書き込みワード線とによって共通に指定された前記一対の記憶部の双方に、それぞれ入力されるデータをそれぞれ書き込む複数の書き込みビット線対と、前記記憶部からの読み出しの際に、前記記憶部を指定し、前記読み出しワード線とによって共通に指定された前記記憶部から、データを読み出す（1本でも良い。以下同。）読み出しビット線とを有することを特徴とする。【００２８】
上記発明の第一の側面において、好ましい実施例では、さらに、書き込みカラムデコーダを有し、  前記書き込みカラムデコーダは、入力される書き込みアドレスの末尾のビットに基づいて、書き込みを行う書き込みビット線を前記書き込みビット線対から選択することを特徴とする。【００２９】
上記発明の第一の側面において、好ましい実施例では、前記読み出しローデコーダは、入力される読み出しアドレスの末尾のビットに基づいて、読み出しを行う読み出しワード線を前記読み出しワード線対から選択することを特徴とする。【００３０】
上記発明の第一の側面において、さらに好ましい実施例では、前記書き込みカラムデコーダは、前記一対の書き込みビット線を同時に駆動し、前記一対の記憶部に対するデータの書き込みを同時に行うことを特徴とする。【００３１】
上記発明の第一の側面において、さらに好ましい実施例では、さらに、第一、及び、第二の書き込みトランジスタを有し、前記第一の書き込みトランジスタは、ゲート側に前記書き込みワード線が接続され、ゲートへの信号の供給に基づいて、前記書き込みビット線対の一方と前記一対の記憶部の一方とを接続し、  前記第二の書き込みトランジスタは、ゲート側に前記書き込みワード線が接続され、ゲートへの信号の供給に基づいて、前記書き込みビット線対の他方と前記一対の記憶部の他方とを接続することを特徴とする。【００３２】
上記発明の第一の側面において、さらに好ましい実施例では、さらに、第一、及び、第二の読み出しトランジスタを有し、前記第一の読み出しトランジスタは、ゲート側に前記読み出しワード線対の一方が接続され、ゲートへの信号の供給に基づいて、前記読み出しビット線と前記一対の記憶部の一方とを接続し、  前記第二の読み出しトランジスタは、ゲート側に前記読み出しワード線対の他方が接続され、ゲートへの信号の供給に基づいて、前記読み出しビット線と前記一対の記憶部の他方とを接続することを特徴とする。【００３３】
上記発明の第一の側面において、さらに好ましい実施例では、前記一対の記憶部への書き込みの際に、前記書き込みワード線によって指定された全ての前記メモリセルは、前記書き込みビット線対によって指定され、指定された全ての前記一対の記憶部に対して、同時に書き込みが行われることを特徴とする。【００３４】
上記発明の第一の側面において、さらに好ましい実施例では、前記記憶部からの読み出しの際に、前記読み出しワード線によって指定された全ての前記メモリセルは、前記読み出しビット線によって指定され、指定された全ての前記記憶部から、同時に読み出しが行われることを特徴とする。【００３５】
また、上記発明の第二の側面によるバッファ回路は、各々、一対の記憶部で構成される複数のメモリセルと、前記複数のメモリセルの行を指定する複数の書き込みワード線と、前記複数のメモリセルの行を指定する複数の読み出しワード線対と、前記一対の記憶部への書き込みの際に、前記一対の記憶部に共通な前記書き込みワード線を駆動する書き込みローデコーダと、前記記憶部からの読み出しの際に、前記記憶部に接続される前記読み出しワード線を駆動する読み出しローデコーダと、前記一対の記憶部への書き込みの際に、前記一対の記憶部を指定し、前記書き込みワード線とによって共通に指定された前記一対の記憶部の双方に、それぞれ入力されるデータをそれぞれ書き込む複数の書き込みビット線対と、前記記憶部からの読み出しの際に、前記記憶部を指定し、前記読み出しワード線とによって共通に指定された前記記憶部から、データを読み出す複数の読み出しビット線とを有するSRAM回路を複数備え、前記SRAM回路の前記読み出しビット線と、他の前記SRAM回路の前記書き込みビット線対の一方とが互いに接続されることを特徴とする。
【発明の効果】
【００３６】
本発明のSRAM回路は、２ビットの情報に対して共通の書き込みワード線を用いてアクセスことにより、処理の高速化とメモリサイズの小型化を実現することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明を適用したSRAMセルの構成図である。
【図２】本発明の第一の実施形態におけるSRAM回路の構成図である。
【図３】本発明のSRAMをバッファ回路に適用する例である。
【図４】CPU100の演算結果を保持するレジスタ102の構成図である。
【図５】バッファ回路に適用される本発明のSRAM回路である。
【図６】バッファ回路に適用される本発明のSRAM回路101bである。
【図７】従来の１リード／２ライトのSRAM回路の構成図である。
【図８】従来の１リード／２ライトのSRAM回路に用いられるSRAMセルの構成図である。
【図９】１リード／２ライトのSRAM回路の使用例を示す図である。
【発明を実施するための最良の形態】
【００３８】
以下、図面に従って本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。【００３９】
図１は、本発明の一実施形態を適用したSRAMセルの構成図である。本実施形態によるSRAMセルは、１ビットを記憶する記憶部219と220とを一対含み、４つのPチャネルMOSトランジスタ、12個のNチャネルMOSトランジスタで構成される。また、SRAMセルに含まれる一対の記憶部は、６本のビット線、及び、３本のワード線を介してアクセスされる。そして、読み出しを行うポートが１つであるのに対して、書き込みは２つのポートを用いて行われる。【００４０】
PチャネルMOSトランジスタ201とNチャネルMOSトランジスタ202は、並列に接続されている。また同様に、トランジスタ203と204、211と212、及び、213と214が並列に接続されている。これらの８つのトランジスタで一対の記憶部219と220とを構成するため、図１のSRAMセルには２ビットの情報が保持される。【００４１】
ゲートが読み出しワード線+RWL1に接続されるNチャネルMOSトランジスタ205は、読み出しビット線+RBLと、インバータ回路を構成するトランジスタ201と202のゲート側のノードとを接続する。また、同様にゲートが読み出しワード線+RWL1に接続されるNチャネルMOSトランジスタ207は、読み出しビット線-RBLと、同じくインバータ回路を構成するトランジスタ203と204のゲート側のノードとを接続する。さらに、ゲートが読み出しワード線+RWL0に接続されるNチャネルMOSトランジスタ216は、読み出しビット線+RBLと、インバータ回路を構成するトランジスタ211と212のゲート側のノードとを接続する。また、同様にゲートが読み出しワード線+RWL0に接続されるNチャネルMOSトランジスタ218は、読み出しビット線-RBLと、同じくインバータ回路を構成するトランジスタ213と214のゲート側のノードとを接続する。ゲートが書き込みワード線+WWLに接続されるNチャネルMOSトランジスタ206、208、216、及び、218は、各々、書き込みビット線+WBL1、-WBL1、+WBL0、-WBL0と接続される。【００４２】
このSRAMセルに対して書き込みを行う場合には、まず、書き込みワード線+WWLをHにする。これにより、NチャネルMOSトランジスタ206、208、215、及び、217が導通する。次に、記憶したいデータが、書き込みビット線+WBL0、及び、+WBL1から入力される。同時に、書き込みビット線-WBL0からは、書き込みビット線+WBL0とは逆の状態が入力され、書き込みビット線-WBL1からは書き込みビット線+WBL1とは逆の状態が入力される。【００４３】
書き込みビット線+WBL1からNチャネルMOSトランジスタ206を介して入力されたデータは、インバータ回路を構成するトランジスタ201と202のゲート側に保持される。また、書き込みビット線+WBL0からNチャネルMOSトランジスタ215を介して入力されたデータは、インバータ回路を構成するトランジスタ211と212のゲート側に保持される。【００４４】
インバータ回路を構成するトランジスタ201と202のゲート側のノードに記憶したいデータがHである場合には、NチャネルMOSトランジスタ202とPチャネルMOSトランジスタ203は導通し、インバータ回路を構成するトランジスタ201と202のゲート側のノードはHに固定され、同じくインバータ回路を構成するトランジスタ203と204のゲート側のノードはLに固定される。【００４５】
インバータ回路を構成するトランジスタ201と202のゲート側のノードにデータを記憶するのと同時に、さらに、別の系統のポートを用いて同じくインバータ回路を構成するトランジスタ211と212のゲート側のノードに書き込みを行うことが可能である。その場合、書き込みワード線+WWLがHになったタイミングで、記憶したいデータを、書き込みビット線+WBL0から入力する。インバータ回路を構成するトランジスタ211と212のゲート側のノードに記憶したいデータがLである場合には、NチャネルMOSトランジスタ214とPチャネルMOSトランジスタ211は導通し、当該インバータ回路を構成するトランジスタ211と212のゲート側のノードはLに固定され、同じくインバータ回路を構成するトランジスタ213と214のゲート側のノードはHに固定される。【００４６】
このSRAMセルからデータの読み出しを行う場合には、まず、読み出しワード線+RWL1をHにする。これにより、NチャネルMOSトランジスタ205と207が導通する。そして、インバータ回路を構成するトランジスタ201と202のゲート側のノードに記憶されたデータが、読み出しビット線+RBLから出力される。同時に、読み出しビット線-RBLからは、読み出しビット線+RBLとは逆の状態が出力される。【００４７】
その後、読み出しワード線+RWL0をHにする。これにより、NチャネルMOSトランジスタ216と218が導通する。そして、インバータ回路を構成するトランジスタ211と212のゲート側のノードに記憶されたデータが、読み出しビット線+RBLから出力される。同時に、読み出しビット線-RBLからは、当該読み出しビット線+RBLとは逆の状態が出力される。【００４８】
図１に表される本実施形態によるSRAMセルは、図８に表される従来のSRAMセルの2倍の情報を保持する。しかし、図８に表される従来のSRAMセルは、10個のトランジスタ、３本のワード線、及び、６本のビット線で構成されるのに対して、本実施形態によるSRAMセルは16個のトランジスタ、３本のワード線、及び、６本のビット線で構成されている。本実施形態によるSRAMセルは、従来の回路の２倍の情報を保持するため、2ビット単位の容量で比較した場合において、20個のトランジスタ、６本のワード線、及び、12本のビット線で構成される従来のSRAMセルに比べてトランジスタ4個とワード線３本、及び、ビット線６本を節約することが可能である。従って、本発明を用いることにより従来例と比較して、単位記憶容量当たりのトランジスタやワード線等の物理量を削減することが可能となる。【００４９】
このようなトランジスタやワード線及びビット線の削減により、SRAM回路の小型化を行うことができる。また、単位記憶容量当たりの物理量を削減することに伴うSRAM回路の小型化によってワード線やビット線の線長が短くなり、ワード線やビット線の抵抗値も低下するため、トランジスタを駆動する駆動電流を大きくすることができる。さらに、駆動電流が大きくなると、トランジスタの動作が高速化し、SRAM回路自体の高速化が可能となる。【００５０】
図２は、本発明の第一の実施形態におけるSRAM回路の構成図である。【００５１】
本発明のSRAMセルで構成されるメモリアレイ200から読み出しを行う際には、まず、読み出しアドレスレジスタRARに読み出しを行うアドレスを示すビット列が格納される。格納されたビット列の最下位を除く下位ビット（カラムアドレス）に基づいて、読み出しカラムデコーダRCDCは、対応する読み出しビット線を駆動する。同時に、格納されたビット列の上位ビット（ローアドレス）、及び、最下位ビット（選択ビット）221に基づいて、読み出しローデコーダRRDCは、対応する読み出しワード線を駆動する。最下位ビット221は、図１における読み出しワード線＋RWL1、及び、＋RWL0のうちのどちらを駆動するかを決定するために用いられる選択ビットである。最下位ビットが０の場合（偶数アドレスの場合）、読み出しワード線＋RWL0が駆動され、最下位ビットが１の場合（奇数アドレスの場合）、読み出しワード線＋RWL1が駆動される。【００５２】
当該ビット線、及び、ワード線の駆動により、図1におけるトランジスタ205、207、216又は218が導通され、所望のメモリセルに記憶されたデータへのリードアクセスを可能にする。読み出しアドレスレジスタRARに格納されたビット列に基づいてアクセスされたメモリアレイ200内のデータは、メモリアレイ200に接続される全てのビット線の論理和（OR論理演算）をとることによって出力される。【００５３】
また、本発明のSRAMセルで構成されるメモリアレイ200に対して書き込みを行う際には、まず、書き込みアドレスレジスタWARに書き込みを行うアドレスを示すビット列が格納される。この時、読み出しに使用されていたアドレスのビット数がNであるとすれば、書き込みに使用されるアドレスのビット数はN-1となる。なぜなら、読み出しに使用されるアドレスの最下位ビットである選択ビットが１の場合（奇数アドレスの場合）と０の場合（偶数アドレスの場合）は、データが同一のセルに格納でき、同一のセルに対して奇数アドレスに対するデータと偶数アドレスに対するデータとを同時に書き込みを行うからである。【００５４】
最下位ビットに該当する選択ビットを除いた書き込みアドレスレジスタWARに書き込みを行うアドレスを示すN-1桁のビット列が格納されると、書き込みカラムデコーダWCDCは、格納されたビット列の下位ビット（カラムアドレス）に基づいて、当該カラムアドレスのデコードを行い書き込みビット線を駆動する。書き込みローデコーダWRDCは、格納されたビット列の上位ビット（ローアドレス）に基づいて、当該ローアドレスのデコードを行い書き込みワード線＋WWLを駆動する。尚、ビット線の駆動の際に、書き込み位置のアドレスの最下位ビットが０（偶数アドレス）であるデータWD0と、書き込み位置のアドレスの最下位ビットが１（奇数アドレス）であるデータWD1とが、図１における書き込みビット線＋WBL0、及び、＋WBL1を駆動する信号と論理積（AND論理演算）をとり、セル内に書き込まれる。例えば、本実施形態における図1のSRAMセルにおいて、偶数アドレスと奇数アドレスにそれぞれ、データWD0とデータWD1とを同時に書き込む場合を例に説明する。このSRAMセルに対して書き込みを行う場合には、まず、書き込みワード線+WWLをHにする。これにより、NチャネルMOSトランジスタ206、208、215、及び、217が導通する。次に、データWD0が偶数アドレスに対応する書き込みビット線+WBL0、及び、データWD1が奇数アドレスに対応する書き込みビット線+WBL1から入力される。ここで、データWD0が０の場合には、書き込みビット線+WBL0を駆動する信号の値１との論理積（AND論理演算）の結果である０が+WBL0から入力され，データWD0が１の場合には、書き込みビット線+WBL0を駆動する信号の値１との論理積（AND論理演算）の結果である１が+WBL0から入力される。同様に、データWD1が０の場合には、書き込みビット線+WBL1を駆動する信号の値１との論理積（AND論理演算）の結果である０が+WBL1から入力され，データWD1が１の場合には、書き込みビット線+WBL1を駆動する信号の値１との論理積（AND論理演算）の結果である１が+WBL1から入力される。同時に、書き込みビット線-WBL0からは、書き込みビット線+WBL0とは逆の状態が入力され、書き込みビット線-WBL1からは書き込みビット線+WBL1とは逆の状態が入力される。【００５５】
書き込みビット線+WBL1からNチャネルMOSトランジスタ206を介して入力されたデータは、インバータ回路を構成するトランジスタ201と202のゲート側に保持される。また、書き込みビット線+WBL0からNチャネルMOSトランジスタ215を介して入力されたデータは、インバータ回路を構成するトランジスタ211と212のゲート側に保持される。【００５６】
このような構成にすることにより、従来の１リード／２ライトのSRAM回路においては書き込みアドレスレジスタWAR、書き込みカラムデコーダWCDC、書き込みローデコーダWRDC、及び、書き込みデータレジスタWDRがそれぞれ２つ必要であったのに対し、本実施形態ののSRAM回路においてはそれぞれ１つずつで機能させることができる。さらに書き込みカラムデコーダWCDCは、偶数アドレスまたは奇数アドレスの選択を行う選択ビットに該当する最下位ビットが不要となることにより小型で高速になる。このように、メモリアレイの周辺回路を簡略化することにより、SRAM回路を小型化することが可能となる。【００５７】
また、従来の１リード／２ライトのSRAM回路においては、書き込み系統が２系統存在したため、２系統が同一の位置に書き込みを行うことを禁止する排他制御のためのハードウェアが必要であった。しかし、本実施形態のSRAM回路においては、同時に同じ位置に書き込みを行うことがないため、このような排他制御のためのハードウェアも省略し、小型化することが可能である。【００５８】
次に、本発明の第二の実施形態について説明する。【００５９】
図３は、SRAM回路をバッファ回路に適用する例である。CPU100の演算結果はレジスタ102に格納される。ここでレジスタ102は64ビットのデータ長であり、上位の32ビットデータを格納する上位ビット部102xと、下位の32ビットデータを格納する下位ビット部102yとを仮想的に含むものとする。【００６０】
また、レジスタ102に一時的に保持されたデータはCPU100が次の演算を開始するために、即座にバッファ回路101aに格納されなければならない。【００６１】
バッファ回路として使用される本実施形態のSRAM回路101aのデータ幅は32ビット長であるが、1つのセルに対して2ビットの情報を格納することができる本実施形態の回路構成によりレジスタ102の上位ビット部102x、及び、下位ビット部102yの２系統から、同時に書き込みを行うことが可能である。【００６２】
まず、書き込みローデコーダWRDCaは、SRAM回路101aの奇数アドレスに対応するアドレス１部101a_1xと偶数アドレスに対応するアドレス０部101a_1yを同時に指定するために、両者の間にある書き込みワード線WLa_1を駆動する。レジスタ102の上位ビット部102xの32ビット長データは、SRAM回路101aのアドレス1部101a_1xに書き込まれる。また、レジスタ102の下位ビット部102yの32ビット長データは、SRAM回路101aのアドレス0部101a_1yに書き込まれる。【００６３】
ここで、上記で説明しSRAM回路の奇数アドレスに対応するアドレス1部と偶数アドレスに対応するアドレス0部への同時書き込みの動作を行うために、レジスタ102とSRAM回路101aがどのように接続されているかを説明する。【００６４】
図４は、CPU100の演算結果を保持するレジスタ102の内部構成図である。また、図５は、バッファ回路に適用される本実施形態のSRAM回路101aである。レジスタ102は、それぞれ、図1で示したようにPチャネルMOSトランジスタ（図1における202、204、212及び214）とNチャネルMOSトランジスタ（図1における201、203、211及び213）が並列に接続されたインバータ回路のループにより構成される64個のフリップフロップF00からF63で構成されている。又、64個のフリップフロップF00からF63のうち、フリップフロップF0からF31がレジスタ102の上位ビット部102xに割当てられ、フリップF32からF63がレジスタ102の下位ビット部102yに割当てられる。64個のフリップフロップには、それぞれ、フリップフロップが保持する内容をリセットするクリア信号CRとフリップフロップを駆動するクロック信号CLKが入力する。また、64個のフリップフロップF00からF63には、CPU100の演算結果であるビットD0からD63がデータ入力として接続される。【００６５】
フリップフロップF00からF63は、ビットD0からD63から入力されたデータを、クリア信号CRが入力されるまで、出力信号OUT0からOUT63として出力する。つまり、CPU100による演算結果は、クリア信号CRの入力までレジスタ102に保持される。【００６６】
レジスタ102からの出力信号OUT0からOUT63は、図５においてそれぞれフリップフロップCL00からCL31を構成する本実施形態のSRAM回路101aの書き込みビット線＋WBL0、及び、＋WBL1に入力される。また、レジスタ102からの出力信号OUT0からOUT63の反転信号は、図５においてそれぞれフリップフロップCL00からCL31を構成する本実施形態のSRAM回路101aの書き込みビット線−WBL0、及び、−WBL1に入力する。【００６７】
さらに詳細に説明すると、レジスタ102の上位ビット部102xにあたるフリップフロップF00からF31の出力信号OUT0からOUT31は、図５における書き込みビット線＋WBL1_00から＋WBL1_31に各々入力される。また、フリップフロップF00からF31の出力信号OUT0からOUT31の反転信号は、同様に図５における書き込みビット線−WBL1_00から−WBL1_31に入力される。【００６８】
そして、レジスタ102の下位ビット部102yにあたるフリップフロップF32からF63の出力信号OUT32からOUT63は、同様に図５における書き込みビット線＋WBL0_00から＋WBL0_31に入力される。また、フリップフロップF32からF63の出力信号OUT32からOUT63の反転信号は、同様に図５における書き込みビット線−WBL0_00から−WBL0_31に入力される。【００６９】
上記で説明した書き込みビット線へのデータの入力と同時に、図３における書き込みローデコーダWRDCaは、ローアドレスのデコード結果に基づいて図５におけるワード線＋WWLを駆動する。ワード線＋WWLによって指定されるメモリセルCL00からCL31に対して、書き込みビット線＋WBL1_00から＋WBL1_31から入力された信号は、書き込みアドレスが奇数アドレスである場合に対応するアドレス１部101a_1xに記憶され、書き込みビット線＋WBL0_00から＋WBL0_31に入力した信号は、書き込みアドレスが偶数アドレスである場合に対応するアドレス０部101a_1yに記憶される。【００７０】
次に、図３におけるSRAM回路101aからデータを読み出し、さらに、SRAM回路101bに対して書き込みを行う場合について説明する。【００７１】
まず、図３における読み出しローデコーダRRDCaは、ローアドレスのデコード結果に基づいてSRAM回路101aからの読み出しを行う行を指定する。図３の場合、４つの行101a_1x、101a_1y、101a_2x及び101a_2yの中から選択が行われる。ここでは、図５において奇数アドレスに対応するアドレス１部101a_1xに対応する読み出しワード線+RWLを駆動するものとする。そして、書き込みローデコーダWRDCbは、書き込みを行うべきSRAM回路101b内の行を選択する。ここでは、SRAM回路101bのアドレス１部101b_1xとアドレス０部101b_1yを同時に指定するために、図５において両者の間にある書き込みワード線+WWLを駆動するものとする。【００７２】
SRAM回路101a内の奇数アドレスに対応するアドレス１部101a_1xの16ビット長の上位データは、SRAM回路101bの奇数アドレスに対応するアドレス1部101b_1xに書き込まれる。また、SRAM回路101a内の奇数アドレスに対応するアドレス１部101a_1xの16ビット長の下位データは、SRAM回路101b内の偶数アドレスに対応するアドレス0部101b_1yに書き込まれる。【００７３】
ここで、上記で説明した動作を行うために、SRAM回路101aと101bとがどのように接続されているかを説明する。【００７４】
図６は、バッファ回路に適用されるSRAM回路101bである。図５におけるSRAM回路101aからの出力を行う読み出しビット線＋RBL_00から＋RBL_31は、それぞれ、図６における書き込みビット線＋WBL1_00から+WBL1_15、及び、＋WBL0_00から+WBL0_15に入力される。【００７５】
さらに詳細に説明すると、図３におけるSRAM回路101aからの出力である16ビット長の上位データを出力する読み出しビット線＋RBL_00から＋RBL_15は、図６における書き込みビット線＋WBL1_00から＋WBL1_15に入力される。そして、図３におけるSRAM回路101aからの出力である16ビット長の下位データを出力する読み出しビット線＋RBL_16から＋RBL_31は、図６における書き込みビット線＋WBL0_00から＋WBL0_15に入力される。【００７６】
また、図３におけるSRAM回路101aからの出力である16ビット長の上位データの反転信号を出力する読み出しビット線−RBL_00から−RBL_15は、図６における書き込みビット線−WBL1_00から−WBL1_15に入力される。そして、図３におけるSRAM回路101aからの出力である16ビット長の下位データの反転信号を出力する読み出しビット線−RBL_16から−RBL_31は、図６における書き込みビット線−WBL0_00から−WBL0_15に入力される。【００７７】
書き込みビット線へのデータの入力と同時に、図３における書き込みローデコーダWRDCbは、ローアドレスのデコード結果に基づいて図６におけるワード線＋WWLを駆動する。ワード線＋WWLによって指定されるメモリセルCL00からCL15に対して、書き込みビット線＋WBL1_00から＋WBL1_15から入力された信号は、書き込みアドレスが奇数アドレスである場合に対応するアドレス１部101b_1xに記憶され、書き込みビット線＋WBL0_00から＋WBL0_15に入力した信号は、書き込みアドレスが偶数アドレスである場合に対応するアドレス０部101b_1yに記憶される。【００７８】
このように、上記で説明したバッファ回路は、本実施形態のSRAM回路を用いたメモリセルにより構成されるため、トランジスタやワード線等の削減により、回路の小型化を行うことができる。また、小型化によってワード線やビット線が短くなり、ワード線やビット線の抵抗値も低下するため、トランジスタを駆動する駆動電流を大きくすることができる。駆動電流が大きくなると、トランジスタの動作が高速化し、SRAM回路自体の高速化が可能となる。【００７９】
また、２つ必要であった書き込みローデコーダを一つ省略することにより、SRAM回路を小型化することが可能である。
【図１】
2007074517.tif 000003
【図２】
2007074517.tif 000004
【図３】
2007074517.tif 000005
【図４】
2007074517.tif 000006
【図５】
2007074517.tif 000007
【図６】
2007074517.tif 000008
【図７】
2007074517.tif 000009
【図８】
2007074517.tif 000010
【図９】
2007074517.tif 000011
【国際調査報告】
2007074517.tif 000012
2007074517.tif 000013