(57)【特許請求の範囲】
【請求項１】
各々第１及び第２ポートワード線と第１及び第２ポートビット線対とを有する複数のメモリセルを複数の行及び複数の列に２次元配列してなるメモリセルアレイと、
前記メモリセルアレイの複数の行のうち第１ポートロウアドレスに応じて選択した行のメモリセルの前記第１ポートワード線を駆動するための第１ロウデコーダと、
前記メモリセルアレイの複数の行のうち第２ポートロウアドレスに応じて選択した行のメモリセルの前記第２ポートワード線を駆動するための第２ロウデコーダと、
前記第１ポートロウアドレスと前記第２ポートロウアドレスとの一致又は不一致を検出し、両ロウアドレスの不一致を検出した場合には前記第１及び第２ロウデコーダの双方を動作させ、両ロウアドレスの一致を検出した場合には前記第１ロウデコーダのみを動作させるように前記第１及び第２ロウデコーダを制御するロウアドレス比較回路と、
前記メモリセルアレイの各列のメモリセルの前記第１ポートビット線対及び前記第２ポートビット線対と、前記メモリセルアレイの各列に共通の第１ポートデータ線対及び第２ポートデータ線対との間に介在したカラムスイッチとを備えた半導体記憶装置であって、
前記カラムスイッチは、
第１及び第２ポートカラムアドレスと、前記第１ポートロウアドレスと前記第２ポートロウアドレスとの一致又は不一致の結果とに応じて、
前記第１ポートビット線対を構成するビット線を、前記第１ポートデータ線対を構成するデータ線に接続するか否かを切り替える第１のスイッチ回路と、
前記第２ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第２のスイッチ回路と、
前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第３のスイッチ回路とを備え、
前記第１のスイッチ回路は、前記第１ポートビット線対が前記第１ポートカラムアドレスによって指定された場合に、前記第１ポートビット線対を構成するビット線を、前記第１ポートデータ線対を構成するデータ線に接続し、
前記第２のスイッチ回路は、前記第２ポートビット線対が前記第２ポートカラムアドレスによって指定され、かつ前記第１ポートロウアドレスと前記第２ポートロウアドレスとの不一致が検出された場合に、前記第２ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続し、
前記第３のスイッチ回路は、前記第２ポートビット線対が前記第２ポートカラムアドレスによって指定され、かつ前記第１ポートロウアドレスと前記第２ポートロウアドレスとの一致が検出された場合に、前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続し、
前記第２ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間、及び前記第１ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間に介在するスイッチ回路の段数はいずれも１段であることを特徴とする半導体記憶装置。
【請求項２】
請求項１記載の半導体記憶装置において、
前記ロウアドレス比較回路は、前記第１ポートロウアドレスと前記第２ポートロウアドレスとの一致を検出した場合には前記第２ロウデコーダへのワード線クロック信号の供給を停止することにより当該第２ロウデコーダの動作を停止させることを特徴とする半導体記憶装置。
【請求項３】
マルチポート型の半導体記憶装置であって、
第１及び第２ポートカラムアドレスと、第１及び第２ポートロウアドレスとに応じて、
第１ポートビット線対を構成するビット線を、第１ポートデータ線対を構成するデータ線に接続するか否かを切り替える第１のスイッチ回路と、
第２ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第２のスイッチ回路と、
前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第３のスイッチ回路とを備え、
前記第１のスイッチ回路は、前記第１ポートビット線対が前記第１ポートカラムアドレスによって指定された場合に、前記第１ポートビット線対を構成するビット線を、前記第１ポートデータ線対を構成するデータ線に接続し、
前記第２のスイッチ回路は、前記第２ポートビット線対が前記第２ポートカラムアドレスによって指定され、かつ前記第１ポートロウアドレスと前記第２ポートロウアドレスとが一致しない場合に、前記第２ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続し、
前記第３のスイッチ回路は、前記第２ポートビット線対が前記第２ポートカラムアドレスによって指定され、かつ前記第１ポートロウアドレスと前記第２ポートロウアドレスとが一致する場合に、前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続し、
前記第２ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間、及び前記第１ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間に介在するスイッチ回路の段数はいずれも１段であることを特徴とする半導体記憶装置。
【請求項４】
マルチポート型の半導体記憶装置であって、
第１のカラムデコード信号、第２のカラムデコード信号、及び第１又は第２の値をとりうる第１の制御信号に応じて、
第１ポートビット線対を構成するビット線を、第１ポートデータ線対を構成するデータ線に接続するか否かを切り替える第１のスイッチ回路と、
第２ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第２のスイッチ回路と、
前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第３のスイッチ回路とを備え、
前記第１のスイッチ回路は、前記第１のカラムデコード信号が指定された場合に、前記第１ポートビット線対を構成するビット線を、前記第１ポートデータ線対を構成するデータ線に接続し、
前記第２のスイッチ回路は、前記第２のカラムデコード信号が指定され、かつ前記第１の制御信号が前記第１の値をとる場合に、前記第２ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続し、
前記第３のスイッチ回路は、前記第２のカラムデコード信号が指定され、かつ前記第１の制御信号が前記第２の値をとる場合に、前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続し、
前記第２ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間、及び前記第１ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間に介在するスイッチ回路の段数はいずれも１段であることを特徴とする半導体記憶装置。
【請求項５】
マルチポート型の半導体記憶装置であって、
第１のカラムデコード信号、第２のカラムデコード信号及び第１の制御信号を入力とするカラムスイッチ回路を備え、
前記カラムスイッチ回路は、
前記第２のカラムデコード信号及び前記第１の制御信号を入力し、前記第２のカラムデコード信号と前記第１の制御信号との論理積である第２の制御信号、及び前記第２のカラムデコード信号の論理否定値と前記第１の制御信号との論理積である第３の制御信号を出力する論理回路と、
前記第１の制御信号によって、第１ポートビット線対を構成するビット線を、第１ポートデータ線対を構成するデータ線に接続するか否かを切り替える第１のスイッチ回路と、
前記第２の制御信号によって、第２ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第２のスイッチ回路と、
前記第３の制御信号によって、前記第１ポートビット線対を構成するビット線を、前記第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第３のスイッチ回路とを備え、
前記第２ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間、及び前記第１ポートビット線対を構成するビット線と前記第２ポートデータ線対を構成するデータ線との間に介在するスイッチ回路の段数はいずれも１段であることを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチポート型の半導体記憶装置に関するものである。
【背景技術】
【０００２】
ＳＲＡＭ（static random access memory）は、高速アクセスを実現できる点でマイクロプロセッサ用のキャッシュメモリ等に適している。特に２ポートＳＲＡＭは、２つのポートを独立かつ同時に動作させることができるので高速動作に適している。
【０００３】
ある従来技術に係る２ポートＳＲＡＭでは、第１及び第２ポート入出力回路の外側にセレクタを設け、同一メモリセルに対してデータの読み出し要求が重複してかけられた場合に、第１ポートでデータの読み出しを行わせ、第１ポートの読み出しデータを前記セレクタにより第２ポートからも出力させるようにすることで、データ読み出し速度の低下や誤動作を防止する（特許文献１参照）。
【特許文献１】特開平１０−２１６８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、カラムアドレスを如何に取り扱うべきかが不明であった。すなわち、２ポートＳＲＡＭメモリセルアレイの同一行中の異なる列のメモリセルに対してデータの読み出し要求が同時にかけられた場合、両ポートの正しいデータ出力を保証できないという課題があった。
【０００５】
本発明の目的は、マルチポート型の半導体記憶装置において、データ読み出し速度の低下や誤動作を防止しつつ、常に正しいデータ出力を保証することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る半導体記憶装置は、各々第１及び第２ポートワード線と第１及び第２ポートビット線対とを有する複数のメモリセルを複数の行及び複数の列に２次元配列してなるメモリセルアレイと、当該メモリセルアレイの複数の行のうち第１ポートロウアドレスに応じて選択した行のメモリセルの第１ポートワード線を駆動するための第１ロウデコーダと、前記メモリセルアレイの複数の行のうち第２ポートロウアドレスに応じて選択した行のメモリセルの第２ポートワード線を駆動するための第２ロウデコーダと、第１ポートロウアドレスと第２ポートロウアドレスとの一致又は不一致を検出し、両ロウアドレスの不一致を検出した場合には第１及び第２ロウデコーダの双方を動作させ、両ロウアドレスの一致を検出した場合には第１ロウデコーダのみを動作させるように第１及び第２ロウデコーダを制御するロウアドレス比較回路と、メモリセルアレイの各列のメモリセルの第１ポートビット線対及び第２ポートビット線対とメモリセルアレイの各列に共通の第１ポートデータ線対及び第２ポートデータ線対との間に介在したカラムスイッチとを備えた構成を採用したものである。ここに、カラムスイッチは、第１及び第２ポートカラムアドレスと、第１ポートロウアドレスと第２ポートロウアドレスとの一致又は不一致の結果とに応じて、第１ポートビット線対を構成するビット線を、第１ポートデータ線対を構成するデータ線に接続するか否かを切り替える第１のスイッチ回路と、第２ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第２のスイッチ回路と、第１ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続するか否かを切り替える第３のスイッチ回路とを備える。第１のスイッチ回路は、第１ポートビット線対が第１ポートカラムアドレスによって指定された場合に、第１ポートビット線対を構成するビット線を、第１ポートデータ線対を構成するデータ線に接続する。第２のスイッチ回路は、第２ポートビット線対が第２ポートカラムアドレスによって指定され、かつ第１ポートロウアドレスと第２ポートロウアドレスとの不一致が検出された場合に、第２ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続する。第３のスイッチ回路は、第２ポートビット線対が第２ポートカラムアドレスによって指定され、かつ第１ポートロウアドレスと第２ポートロウアドレスとの一致が検出された場合に、第１ポートビット線対を構成するビット線を、第２ポートデータ線対を構成するデータ線に接続する。しかも、第２ポートビット線対を構成するビット線と第２ポートデータ線対を構成するデータ線との間、及び第１ポートビット線対を構成するビット線と第２ポートデータ線対を構成するデータ線との間に介在するスイッチ回路の段数はいずれも１段である。
【発明の効果】
【０００７】
本発明によれば、第１ポートロウアドレスと第２ポートロウアドレスとの一致が検出された場合には、選択された行の第１ポートワード線及び第２ポートワード線のうちの前者のみが駆動されるので、前記従来技術と同様にデータ読み出し速度の低下や誤動作を防止することができる。しかも、第１ポートロウアドレスと第２ポートロウアドレスとの一致が検出された場合には、メモリセルアレイの複数の列のうち第１ポートカラムアドレスに応じて選択した列のメモリセルの第１ポートビット線対を第１ポートデータ線対に、メモリセルアレイの複数の列のうち第２ポートカラムアドレスに応じて選択した列のメモリセルの第１ポートビット線対を第２ポートデータ線対にそれぞれカラムスイッチが接続するので、同一行中の異なる列のメモリセルに対してデータの読み出し要求が同時にかけられた場合でも、両ポートの正しいデータ出力を保証できる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
【０００９】
図１は、本発明に係る半導体記憶装置の一実施形態である２ポートＳＲＡＭの構成例を示している。図１において、１０はメモリセルアレイ、２０はコントロール回路、３０はロウアドレス比較回路、４０はＡポートロウデコーダ、５０はＢポートロウデコーダ、６０はカラムスイッチ、７０はセンスアンプ回路、７５はデータ出力バッファ、８０はデータ入力バッファ、８５は書き込み回路である。ここでは説明の簡略化のため、メモリセルアレイ１０は４個のメモリセル１１〜１４を２行２列に２次元配列してなるものとする。
【００１０】
メモリセルアレイ１０において、第１行かつ第１列のメモリセル（Ｍ００）１１は、いずれもロウアドレス０で指定されるＡポートワード線ＷＬＡ０及びＢポートワード線ＷＬＢ０と、いずれもカラムアドレス０で指定されるＡポートビット線対ＰＢＬＡ０及びＢポートビット線対ＰＢＬＢ０とを有する。第１行かつ第２列のメモリセル（Ｍ０１）１２は、前記Ａポートワード線ＷＬＡ０及びＢポートワード線ＷＬＢ０を第１行かつ第１列のメモリセル（Ｍ００）１１と共有するとともに、いずれもカラムアドレス１で指定されるＡポートビット線対ＰＢＬＡ１及びＢポートビット線対ＰＢＬＢ１を有する。第２行かつ第１列のメモリセル（Ｍ１０）１３は、いずれもロウアドレス１で指定されるＡポートワード線ＷＬＡ１及びＢポートワード線ＷＬＢ１を有するとともに、前記Ａポートビット線対ＰＢＬＡ０及びＢポートビット線対ＰＢＬＢ０を第１行かつ第１列のメモリセル（Ｍ００）１１と共有する。第２行かつ第２列のメモリセル（Ｍ１１）１４は、前記Ａポートワード線ＷＬＡ１及びＢポートワード線ＷＬＢ１を第２行かつ第１列のメモリセル（Ｍ１０）１３と共有し、かつ前記Ａポートビット線対ＰＢＬＡ１及びＢポートビット線対ＰＢＬＢ１を第１行かつ第２列のメモリセル（Ｍ０１）１２と共有する。つまり、Ａ及びＢの両ポートの各々において、第１行かつ第１列のメモリセル（Ｍ００）１１は２ビットアドレス００で、第１行かつ第２列のメモリセル（Ｍ０１）１２は２ビットアドレス０１で、第２行かつ第１列のメモリセル（Ｍ１０）１３は２ビットアドレス１０で、第２行かつ第２列のメモリセル（Ｍ１１）１４は２ビットアドレス１１でそれぞれ指定可能である。
【００１１】
Ａポートロウデコーダ４０は、Ａポートロウアドレス０で指定されるＡポートワード線ＷＬＡ０と、Ａポートロウアドレス１で指定されるＡポートワード線ＷＬＡ１とのいずれかを駆動することができる。またＢポートロウデコーダ５０は、Ｂポートロウアドレス０で指定されるＢポートワード線ＷＬＢ０と、Ｂポートロウアドレス１で指定されるＢポートワード線ＷＬＢ１とのいずれかを駆動することができる。
【００１２】
コントロール回路２０は、Ａポートアドレス入力信号ＡＤＡと、Ｂポートアドレス入力信号ＡＤＢと、クロック信号ＣＬＫと、ライトイネーブル信号ＷＥとを受け取り、Ａポートロウアドレス信号ＲＡＡと、Ｂポートロウアドレス信号ＲＡＢと、ワード線クロック信号ＷＬＣＫとをロウアドレス比較回路３０へ、Ａポートカラムデコード信号ＣＡ０，ＣＡ１と、Ｂポートカラムデコード信号ＣＢ０，ＣＢ１とをカラムスイッチ６０へ、センスアンプイネーブル信号ＳＡＥをセンスアンプ回路７０へ、書き込みスイッチ信号ＢＳＷを書き込み回路８５へそれぞれ供給する回路である。
【００１３】
Ａポートアドレス入力信号ＡＤＡ（２ビット）は、コントロール回路２０の内部でロウアドレス信号ＲＡＡ（ＡＤＡの上位１ビット）とカラムアドレス信号（ＡＤＡの下位１ビット）とに分けられる。Ａポートカラムデコード信号ＣＡ０，ＣＡ１は、当該カラムアドレス信号のデコード結果を表している。つまり、Ａポートの指定カラムアドレスが０ならばＣＡ０＝１かつＣＡ１＝０であり、Ａポートの指定カラムアドレスが１ならばＣＡ０＝０かつＣＡ１＝１である。
【００１４】
Ｂポートアドレス入力信号ＡＤＢ（２ビット）は、同様にコントロール回路２０の内部でロウアドレス信号ＲＡＢ（ＡＤＢの上位１ビット）とカラムアドレス信号（ＡＤＢの下位１ビット）とに分けられる。Ｂポートカラムデコード信号ＣＢ０，ＣＢ１は、当該カラムアドレス信号のデコード結果を表している。つまり、Ｂポートの指定カラムアドレスが０ならばＣＢ０＝１かつＣＢ１＝０であり、Ｂポートの指定カラムアドレスが１ならばＣＢ０＝０かつＣＢ１＝１である。
【００１５】
ロウアドレス比較回路３０は、Ａポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとを比較し、その一致又は不一致を検出して、ロウアドレス不一致信号ＲＸＯＲを生成する。ＲＡＡ＝ＲＡＢならばＲＸＯＲ＝０であり、そうでなければＲＸＯＲ＝１である。生成されたロウアドレス不一致信号ＲＸＯＲは、カラムスイッチ６０へ供給される。また、ロウアドレス比較回路３０は、Ａポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの不一致を検出した場合（ＲＸＯＲ＝１）には、Ａポートロウデコーダ４０を動作させるように、Ａポートロウアドレス信号ＲＡＡと、Ａポートワード線クロック信号ＷＬＣＫＡとをＡポートロウデコーダ４０へ供給するとともに、Ｂポートロウデコーダ５０を動作させるように、Ｂポートロウアドレス信号ＲＡＢと、Ｂポートワード線クロック信号ＷＬＣＫＢとをＢポートロウデコーダ５０へ供給する。これに応答して、Ａポートロウデコーダ４０は、Ａポートロウアドレス信号ＲＡＡに応じて選択した行のメモリセルのＡポートワード線（すなわちＷＬＡ０又はＷＬＡ１）を駆動する。またＢポートロウデコーダ５０は、Ｂポートロウアドレス信号ＲＡＢに応じて選択した行のメモリセルのＢポートワード線（すなわちＷＬＢ０又はＷＬＢ１）を駆動する。一方、Ａポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの一致が検出された場合（ＲＸＯＲ＝０）には、ロウアドレス比較回路３０は、Ａポートロウデコーダ４０を動作させるように、Ａポートロウアドレス信号ＲＡＡと、Ａポートワード線クロック信号ＷＬＣＫＡとをＡポートロウデコーダ４０へ供給しつつ、Ｂポートロウデコーダ５０の動作を停止させるように、当該Ｂポートロウデコーダ５０へのＢポートワード線クロック信号ＷＬＣＫＢの供給を停止する。
【００１６】
カラムスイッチ６０は、メモリセルアレイ１０の各列のメモリセルのＡポートビット線対ＰＢＬＡ０，ＰＢＬＡ１及びＢポートビット線対ＰＢＬＢ０，ＰＢＬＢ１と、当該メモリセルアレイ１０の各列に共通のＡポートデータ線対ＰＤＬＡ及びＢポートデータ線対ＰＤＬＢとの間に介在している。そして、このカラムスイッチ６０は、ロウアドレス比較回路３０によりＡポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの不一致が検出された場合（ＲＸＯＲ＝１）には、メモリセルアレイ１０の複数の列のうちＡポートカラムデコード信号ＣＡ０，ＣＡ１に応じて選択した列のメモリセルのＡポートビット線対（ＰＢＬＡ０又はＰＢＬＡ１）をＡポートデータ線対ＰＤＬＡに、メモリセルアレイ１０の複数の列のうちＢポートカラムデコード信号ＣＢ０，ＣＢ１に応じて選択した列のメモリセルのＢポートビット線対（ＰＢＬＢ０又はＰＢＬＢ１）をＢポートデータ線対ＰＤＬＢにそれぞれ接続する機能を有する。またカラムスイッチ６０は、ロウアドレス比較回路３０によりＡポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの一致が検出された場合（ＲＸＯＲ＝０）には、メモリセルアレイ１０の複数の列のうちＡポートカラムデコード信号ＣＡ０，ＣＡ１に応じて選択した列のメモリセルのＡポートビット線対（ＰＢＬＡ０又はＰＢＬＡ１）をＡポートデータ線対ＰＤＬＡに、メモリセルアレイ１０の複数の列のうちＢポートカラムデコード信号ＣＢ０，ＣＢ１に応じて選択した列のメモリセルのＡポートビット線対（ＰＢＬＡ０又はＰＢＬＡ１）をＢポートデータ線対ＰＤＬＢにそれぞれ接続する機能を更に有する。
【００１７】
センスアンプ回路７０は、センスアンプイネーブル信号ＳＡＥによって起動されたとき、Ａポートデータ線対ＰＤＬＡ及びＢポートデータ線対ＰＤＬＢの各々の電位差を増幅する。データ出力バッファ７５は、センスアンプ回路７０による増幅の結果を表すＡポート出力データ信号ＤＯＡ及びＢポート出力データ信号ＤＯＢを外部へ供給する。一方、データ入力バッファ８０は、外部からＡポート入力データ信号ＤＩＡ及びＢポート入力データ信号ＤＩＢの供給を受ける。書き込み回路８５は、ライトイネーブル信号ＷＥが活性化された場合の書き込みスイッチ信号ＢＳＷに応答して、データ入力バッファ８０の出力をＡポートデータ線対ＰＤＬＡ及びＢポートデータ線対ＰＤＬＢへ接続する。
【００１８】
図２は、メモリセルアレイ１０中の１つのメモリセル１１の内部構成例を示している。他のメモリセル１２，１３，１４の内部構成も同様である。図２によれば、メモリセル１１は、第１ドライブトランジスタ（ＮチャネルＭＯＳトランジスタ）ＭＤ１と第１負荷トランジスタ（ＰチャネルＭＯＳトランジスタ）ＭＬ１とで構成された第１インバータと、第２ドライブトランジスタ（ＮチャネルＭＯＳトランジスタ）ＭＤ２と第２負荷トランジスタ（ＰチャネルＭＯＳトランジスタ）ＭＬ２とで構成された第２インバータとを有し、第１インバータの出力（第１記憶ノードＮ１）が第２インバータの入力に、第２インバータの出力（第２記憶ノードＮ２）が第１インバータの入力にそれぞれ接続されている。第１記憶ノードＮ１は、第１のＡポートアクセストランジスタ（ＮチャネルＭＯＳトランジスタ）ＭＡ１Ａを介してＡポート非反転ビット線ＢＬＡ０に、第１のＢポートアクセストランジスタ（ＮチャネルＭＯＳトランジスタ）ＭＡ１Ｂを介してＢポート非反転ビット線ＢＬＢ０にそれぞれ接続されている。また、第２記憶ノードＮ２は、第２のＡポートアクセストランジスタ（ＮチャネルＭＯＳトランジスタ）ＭＡ２Ａを介してＡポート反転ビット線ＮＢＬＡ０に、第２のＢポートアクセストランジスタ（ＮチャネルＭＯＳトランジスタ）ＭＡ２Ｂを介してＢポート反転ビット線ＮＢＬＢ０にそれぞれ接続されている。Ａポート非反転ビット線ＢＬＡ０及びＡポート反転ビット線ＮＢＬＡ０は前記Ａポートビット線対ＰＢＬＡ０を、Ｂポート非反転ビット線ＢＬＢ０及びＢポート反転ビット線ＮＢＬＢ０は前記Ｂポートビット線対ＰＢＬＢ０をそれぞれ構成する。更に、第１及び第２のＡポートアクセストランジスタＭＡ１Ａ，ＭＡ２Ａの各々のゲートはＡポートワード線ＷＬＡ０に、第１及び第２のＢポートアクセストランジスタＭＡ１Ｂ，ＭＡ２Ｂの各々のゲートはＢポートワード線ＷＬＢ０にそれぞれ接続されている。前述のとおり、当該メモリセル１１のＡポートワード線ＷＬＡ０とＢポートワード線ＷＬＢ０とが同時に駆動されることはないので、４個のアクセストランジスタＭＡ１Ａ，ＭＡ２Ａ，ＭＡ１Ｂ，ＭＡ２Ｂに対して２個のドライブトランジスタＭＤ１，ＭＤ２のサイズをあまり大きくしなくとも、十分なスタティックノイズマージンを確保することができる。なお、ＶＤＤは電源電圧、ＧＮＤはグラウンドである。
【００１９】
図３は、図１中のロウアドレス比較回路３０の内部構成例を示している。図３において、３１はＥＸＯＲ（排他的論理和）回路、３２，３３はＮＡＮＤ回路、３４〜３９はインバータである。ＥＸＯＲ回路３１は、Ａポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとを入力して、ロウアドレス不一致信号ＲＸＯＲを生成する。前述のとおり、ＲＡＡ＝ＲＡＢならばＲＸＯＲ＝０（“Ｌ”レベル）であり、そうでなければＲＸＯＲ＝１（“Ｈ”レベル）である。ＮＡＮＤ回路３３は、ワード線クロック信号ＷＬＣＫとロウアドレス不一致信号ＲＸＯＲとを入力し、インバータ３９を介してＢポートワード線クロック信号ＷＬＣＫＢを供給する。Ａポートワード線クロック信号ＷＬＣＫＡの論理は、ワード線クロック信号ＷＬＣＫと同じである。
【００２０】
図３によれば、ＲＸＯＲ＝０の場合、つまりロウアドレス比較回路３０によりＡポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの一致が検出された場合には、ロウアドレス比較回路３０からＡポートワード線クロック信号ＷＬＣＫＡが供給されてＡポートロウデコーダ４０が動作するので、Ａポートロウアドレス信号ＲＡＡに応じて選択された行のメモリセルのＡポートワード線（すなわちＷＬＡ０又はＷＬＡ１）が駆動される一方、ロウアドレス比較回路３０からのＢポートワード線クロック信号ＷＬＣＫＢの供給が停止してＢポートロウデコーダ５０の動作が停止するので、いずれのＢポートワード線ＷＬＢ０，ＷＬＢ１も駆動されない。
【００２１】
図４は、図１中のカラムスイッチ６０の内部構成例を示している。図４において、Ａ０，Ａ１は第１及び第２のＡポートスイッチ、Ｂ０，Ｂ１は第１及び第２のＢポートスイッチ、Ｓ０，Ｓ１は第１及び第２のポート間スイッチ、６１はインバータ、６２〜６５はＡＮＤ回路である。６個のスイッチＡ０，Ａ１，Ｂ０，Ｂ１，Ｓ０，Ｓ１の各々は、例えば２個のＣＭＯＳトランスファゲートと１個の制御用インバータとで構成できる。
【００２２】
第１のＡポートスイッチＡ０は、カラムアドレス０で指定されるＡポートビット線対ＰＢＬＡ０とＡポートデータ線対ＰＤＬＡとの間に介在し、ＣＡ０＝１のときにオンする。第２のＡポートスイッチＡ１は、カラムアドレス１で指定されるＡポートビット線対ＰＢＬＡ１とＡポートデータ線対ＰＤＬＡとの間に介在し、ＣＡ１＝１のときにオンする。第１のＢポートスイッチＢ０は、カラムアドレス０で指定されるＢポートビット線対ＰＢＬＢ０とＢポートデータ線対ＰＤＬＢとの間に介在し、ＲＸＯＲ＝１かつＣＢ０＝１のときにオンする。第２のＢポートスイッチＢ１は、カラムアドレス１で指定されるＢポートビット線対ＰＢＬＢ１とＢポートデータ線対ＰＤＬＢとの間に介在し、ＲＸＯＲ＝１かつＣＢ１＝１のときにオンする。第１のポート間スイッチＳ０は、カラムアドレス０で指定されるＡポートビット線対ＰＢＬＡ０とＢポートデータ線対ＰＤＬＢとの間に介在し、ＲＸＯＲ＝０かつＣＢ０＝１のときにオンする。第２のポート間スイッチＳ１は、カラムアドレス１で指定されるＡポートビット線対ＰＢＬＡ１とＢポートデータ線対ＰＤＬＢとの間に介在し、ＲＸＯＲ＝０かつＣＢ１＝１のときにオンする。なお、これら６個のスイッチＡ０，Ａ１，Ｂ０，Ｂ１，Ｓ０，Ｓ１のオン・オフ制御方式は、メモリセルアレイ１０からのデータ読み出し時と、同メモリセルアレイ１０へのデータ書き込み時とで異なることはない。
【００２３】
図４のカラムスイッチ６０によれば、ＲＸＯＲ＝１の場合、つまりロウアドレス比較回路３０によりＡポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの不一致が検出された場合には、第１及び第２のポート間スイッチＳ０，Ｓ１がいずれもオフする。そして、第１及び第２のＡポートスイッチＡ０，Ａ１のオン・オフはＡポートカラムデコード信号ＣＡ０，ＣＡ１により、また第１及び第２のＢポートスイッチＢ０，Ｂ１のオン・オフはＢポートカラムデコード信号ＣＢ０，ＣＢ１によりそれぞれ制御される。したがって、ＡポートとＢポートとを互いに独立かつ同時に動作させることができる。
【００２４】
一方、ＲＸＯＲ＝０の場合、つまりロウアドレス比較回路３０によりＡポートロウアドレス信号ＲＡＡとＢポートロウアドレス信号ＲＡＢとの一致が検出された場合には、第１及び第２のＢポートスイッチＢ０，Ｂ１がいずれもオフする。そして、Ａポートカラムデコード信号ＣＡ０，ＣＡ１とＢポートカラムデコード信号ＣＢ０，ＣＢ１との組み合わせに応じて、第１及び第２のＡポートスイッチＡ０，Ａ１並びに第１及び第２のポート間スイッチＳ０，Ｓ１が、次の（ａ）〜（ｄ）に示すような動作をする。
【００２５】
（ａ）  ＣＡ０＝１かつＣＢ０＝１の場合
これは、Ａ及びＢの両ポートについて、例えば、第１行かつ第１列のメモリセル（Ｍ００）１１に対してデータの読み出し要求が重複してかけられたことを意味する。この場合には、第１のＡポートスイッチＡ０及び第１のポート間スイッチＳ０がオンし、第２のＡポートスイッチＡ１及び第２のポート間スイッチＳ１がオフする。この結果、第１行かつ第１列のメモリセル（Ｍ００）１１からカラムアドレス０で指定されるＡポートビット線対ＰＢＬＡ０へ読み出されたデータが第１のＡポートスイッチＡ０を介してＡポートデータ線対ＰＤＬＡへ伝達されるとともに、Ａポートビット線対ＰＢＬＡ０上の同じデータが第１のポート間スイッチＳ０を介してＢポートデータ線対ＰＤＬＢへ伝達される。
【００２６】
（ｂ）  ＣＡ１＝１かつＣＢ１＝１の場合
これは、Ａ及びＢの両ポートについて、例えば、第１行かつ第２列のメモリセル（Ｍ０１）１２に対してデータの読み出し要求が重複してかけられたことを意味する。この場合には、第２のＡポートスイッチＡ１及び第２のポート間スイッチＳ１がオンし、第１のＡポートスイッチＡ０及び第１のポート間スイッチＳ０がオフする。この結果、第１行かつ第２列のメモリセル（Ｍ０１）１２からカラムアドレス１で指定されるＡポートビット線対ＰＢＬＡ１へ読み出されたデータが第２のＡポートスイッチＡ１を介してＡポートデータ線対ＰＤＬＡへ伝達されるとともに、Ａポートビット線対ＰＢＬＡ１上の同じデータが第２のポート間スイッチＳ１を介してＢポートデータ線対ＰＤＬＢへ伝達される。
【００２７】
（ｃ）  ＣＡ０＝１かつＣＢ１＝１の場合
これは、例えば、Ａポートについては第１行かつ第１列のメモリセル（Ｍ００）１１に対して、Ｂポートについては第１行かつ第２列のメモリセル（Ｍ０１）１２に対してそれぞれデータの読み出し要求がかけられたことを意味する。この場合には、第１のＡポートスイッチＡ０及び第２のポート間スイッチＳ１がオンし、第２のＡポートスイッチＡ１及び第１のポート間スイッチＳ０がオフする。この結果、第１行かつ第１列のメモリセル（Ｍ００）１１からカラムアドレス０で指定されるＡポートビット線対ＰＢＬＡ０へ読み出されたデータが第１のＡポートスイッチＡ０を介してＡポートデータ線対ＰＤＬＡへ伝達されるとともに、第１行かつ第２列のメモリセル（Ｍ０１）１２からカラムアドレス１で指定されるＡポートビット線対ＰＢＬＡ１へ読み出されたデータが第２のポート間スイッチＳ１を介してＢポートデータ線対ＰＤＬＢへ伝達される。つまり、Ａ及びＢの両ポートについて正しい出力データ信号ＤＯＡ，ＤＯＢが得られる。
【００２８】
（ｄ）  ＣＡ１＝１かつＣＢ０＝１の場合
これは、例えば、Ａポートについては第１行かつ第２列のメモリセル（Ｍ０１）１２に対して、Ｂポートについては第１行かつ第１列のメモリセル（Ｍ００）１１に対してそれぞれデータの読み出し要求がかけられたことを意味する。この場合には、第２のＡポートスイッチＡ１及び第１のポート間スイッチＳ０がオンし、第１のＡポートスイッチＡ０及び第２のポート間スイッチＳ１がオフする。この結果、第１行かつ第２列のメモリセル（Ｍ０１）１２からカラムアドレス１で指定されるＡポートビット線対ＰＢＬＡ１へ読み出されたデータが第１のＡポートスイッチＡ１を介してＡポートデータ線対ＰＤＬＡへ伝達されるとともに、第１行かつ第１列のメモリセル（Ｍ００）１１からカラムアドレス０で指定されるＡポートビット線対ＰＢＬＡ０へ読み出されたデータが第１のポート間スイッチＳ０を介してＢポートデータ線対ＰＤＬＢへ伝達される。つまり、Ａ及びＢの両ポートについて正しい出力データ信号ＤＯＡ，ＤＯＢが得られる。
【００２９】
なお、メモリセルアレイ１０を構成するメモリセルの行数及び列数がそれぞれ４以上であっても、本発明は適用可能である。行数が４以上であれば、Ａポートロウアドレス信号とＢポートロウアドレス信号とがそれぞれ２ビット以上となるのに応じて、図３中のＥＸＯＲ回路３１の入力ビット数を増やせばよい。また、列数が４以上であれば、Ａポートカラムデコード信号とＢポートカラムデコード信号との数がそれぞれ４以上となるのに応じて、図４中のＡポートスイッチＡ０，Ａ１、ＢポートスイッチＢ０，Ｂ１及びポート間スイッチＳ０，Ｓ１の数をそれぞれ４以上に増やし、かつＡＮＤ回路６２〜６５の個数を増やせばよい。
【００３０】
メモリセルアレイ１０の各列のメモリセルのＡポートビット線対ＰＢＬＡ０，ＰＢＬＡ１及びＢポートビット線対ＰＢＬＢ０，ＰＢＬＢ１にそれぞれセンスアンプを配置することとしてもよい。ただし、図１に示すようにメモリセルアレイ１０の各列に共通のＡポートデータ線対ＰＤＬＡ及びＢポートデータ線対ＰＤＬＢにそれぞれセンスアンプを配置する構成の方が、センスアンプ回路７０の規模を縮小できる。
【００３１】
また、３以上のポートを持つマルチポート型半導体記憶装置にも本発明は適用可能である。例えばＡ、Ｂ及びＣの３つのポートを持つ３ポートＳＲＡＭの場合には、Ａポートロウアドレス信号とＢポートロウアドレス信号との比較結果に加えて、Ｂポートロウアドレス信号とＣポートロウアドレス信号との比較結果と、Ｃポートロウアドレス信号とＡポートロウアドレス信号との比較結果とを利用することとすればよい。
【産業上の利用可能性】
【００３２】
以上説明してきたとおり、本発明に係る半導体記憶装置は、データ読み出し速度の低下や誤動作を防止しつつ、常に正しいデータ出力を保証することができて、マイクロプロセッサ用のキャッシュメモリ等として有用である。
【図面の簡単な説明】
【００３３】
【図１】本発明に係る半導体記憶装置の一実施形態である２ポートＳＲＡＭの構成例を示すブロック図である。
【図２】図１中のメモリセルアレイを構成する１つのメモリセルの詳細を示す回路図である。
【図３】図１中のロウアドレス比較回路の詳細を示す回路図である。
【図４】図１中のカラムスイッチの詳細を示す回路図である。
【符号の説明】
【００３４】
１０  メモリセルアレイ
１１〜１４  メモリセル
２０  コントロール回路
３０  ロウアドレス比較回路
３１  ＥＸＯＲ回路
３２，３３  ＮＡＮＤ回路
３４〜３９  インバータ
４０  Ａポートロウデコーダ
５０  Ｂポートロウデコーダ
６０  カラムスイッチ
６１  インバータ
６２〜６５  ＡＮＤ回路
７０  センスアンプ回路
７５  データ出力バッファ
８０  データ入力バッファ
８５  書き込み回路
Ａ０，Ａ１  Ａポートスイッチ
ＡＤＡ  Ａポートアドレス入力信号
ＡＤＢ  Ｂポートアドレス入力信号
Ｂ０，Ｂ１  Ｂポートスイッチ
ＢＬＡ０  Ａポート非反転ビット線
ＢＬＢ０  Ｂポート非反転ビット線
ＢＳＷ  書き込みスイッチ信号
ＣＡ０，ＣＡ１  Ａポートカラムデコード信号
ＣＢ０，ＣＢ１  Ｂポートカラムデコード信号
ＣＬＫ  クロック信号
ＤＩＡ  Ａポート入力データ信号
ＤＩＢ  Ｂポート入力データ信号
ＤＯＡ  Ａポート出力データ信号
ＤＯＢ  Ｂポート出力データ信号
ＧＮＤ  グラウンド
ＭＡ１Ａ，ＭＡ２Ａ  Ａポートアクセストランジスタ
ＭＡ１Ｂ，ＭＡ２Ｂ  Ｂポートアクセストランジスタ
ＭＤ１，ＭＤ２  ドライブトランジスタ
ＭＬ１，ＭＬ２  負荷トランジスタ
Ｎ１，Ｎ２  記憶ノード
ＮＢＬＡ０  Ａポート反転ビット線
ＮＢＬＢ０  Ｂポート反転ビット線
ＰＢＬＡ０，ＰＢＬＡ１  Ａポートビット線対
ＰＢＬＢ０，ＰＢＬＢ１  Ｂポートビット線対
ＰＤＬＡ  Ａポートデータ線対
ＰＤＬＢ  Ｂポートデータ線対
ＲＡＡ  Ａポートロウアドレス信号
ＲＡＢ  Ｂポートロウアドレス信号
ＲＸＯＲ  ロウアドレス不一致信号
Ｓ０，Ｓ１  ポート間スイッチ
ＳＡＥ  センスアンプイネーブル信号
ＶＤＤ  電源電圧
ＷＥ  ライトイネーブル信号
ＷＬＡ０，ＷＬＡ１  Ａポートワード線
ＷＬＢ０，ＷＬＢ１  Ｂポートワード線
ＷＬＣＫ  ワード線クロック信号
ＷＬＣＫＡ  Ａポートワード線クロック信号
ＷＬＣＫＢ  Ｂポートワード線クロック信号
【図１】
0004662532.tif 000002
【図２】
0004662532.tif 000003
【図３】
0004662532.tif 000004
【図４】
0004662532.tif 000005