(57)【要約】【課題】  マルチポートメモリのページ動作を容易に実行する。【解決手段】  マルチポートメモリは、メモリセルを有する複数のメモリコアと、クロック信号を受けるクロック端子、メモリセルを選択するためにクロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、メモリコアにそれぞれ対応し、入出力ポートから供給されるアドレス信号のいずれかを選択し、選択したアドレス信号に応じてメモリセルをアクセスする制御回路と、複数個のメモリセルに対応するデータを保持するバッファとを有する。メモリセルに対して読み書きされるデータは、バッファを介してデータ入出力端子およびメモリセルに伝達される。【選択図】    図２３
2011023110.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路と、
複数個の前記メモリセルに対応するデータを保持するバッファとを備え、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリ。
【請求項２】
請求項１記載のマルチポートメモリにおいて、
読み出し動作の開始時に、所定のビット数の前記データが、前記メモリセルから前記バッファに一度に転送され、
個々の前記アドレス信号に対応する前記データは、前記バッファから読み出させることを特徴とするマルチポートメモリ。
【請求項３】
請求項１記載のマルチポートメモリにおいて、
書き込み動作の開始時に、所定のビット数の前記データが、前記メモリセルから前記バッファに一度に転送され、
個々の前記アドレス信号に対応する前記データは、前記バッファに書き込まれ、
前記書き込み動作の終了時に、前記バッファに保持されている前記データが、前記メモリセルに一度に書き込まれることを特徴とするマルチポートメモリ。
【請求項４】
メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路と、
前記メモリコアの複数の前記メモリセルに対応する所定のビット数のデータを保持するバッファとを備えたマルチポートメモリの制御方法であって、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のランダムアクセスポートを有するマルチポートメモリに関する。本発明は、特に、記憶素子としてDRAMのメモリセルを有するマルチポートメモリに関する。
【背景技術】
【０００２】
マルチポートメモリは、入出力端子を２セット以上有しており（複数の入出力ポートを有する）、各入出力ポートが独立して信号を受け、受けた信号に対応するメモリ動作を実行する。読み出し動作および書き込み動作は、通常のメモリと異なり、同時に実行可能である。例えば、システム中に複数のバスが存在し、複数のコントローラ（CPU等）がそれぞれのバスを使用する場合に、マルチポートメモリの入出力ポートをそれぞれのバスに接続することで、専用の制御ロジック（FIFOロジック等）を使用することなく、システムを構成できる。
【０００３】
また、マルチポートメモリは、画像メモリ（一般には、デュアルポートメモリ）としても開発されている。画像メモリは、任意のメモリセルにアクセス可能なランダムアクセスポートと、表示装置側にデータを入出力可能なシリアルアクセスポートとを有している。
【０００４】
この種のマルチポートメモリは、記憶素子領域にSRAMまたはDRAMのメモリコアを採用している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３０４６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来、異なるクロック信号を複数の入出力ポートでそれぞれ受け、これ等クロック信号に同期して一つの記憶素子領域をランダムアクセスするマルチポートメモリは、提案されていない。すなわち、この種のクロック同期式のマルチポートメモリの詳細な回路およびその制御方法は、未だ明らかではない。
【０００７】
また、従来のマルチポートメモリ（特にデュアルポートメモリ）は、入出力ポート毎にビット線およびセンスアンプ等を有している。このため、メモリコアのレイアウトサイズが大きくなり、マルチポートメモリのチップサイズが大きくなるという問題があった。
【課題を解決するための手段】
【０００８】
本発明の一形態では、マルチポートメモリは、メモリセルを有する複数のメモリコアと、クロック信号を受けるクロック端子、メモリセルを選択するためにクロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、メモリコアにそれぞれ対応し、入出力ポートから供給されるアドレス信号のいずれかを選択し、選択したアドレス信号に応じてメモリセルをアクセスする制御回路と、複数個のメモリセルに対応するデータを保持するバッファとを備え、メモリセルに対して読み書きされるデータは、バッファを介してデータ入出力端子およびメモリセルに伝達される。
【発明の効果】
【０００９】
本発明のマルチポートメモリでは、ページ動作を容易に実行できる。マルチポートメモリを接続するコントローラは、ページ動作をする場合にも、マルチポートメモリのビジー状態を認識する必要がない。
【図面の簡単な説明】
【００１０】
【図１】本発明に関連するマルチポートメモリの第１の実施形態を示す全体構成図である。
【図２】図１の主要部を示すブロック図である。
【図３】図２のアドレス比較回路を示す回路図である。
【図４】図３の比較器を示す回路図である。
【図５】図３の比較器の動作を示すタイミング図である。
【図６】図３の比較器の別の動作を示すタイミング図である。
【図７】図３の比較器の別の動作を示すタイミング図である。
【図８】図２の調停制御回路を示すブロック図である。
【図９】図２の調停制御回路の動作を示すタイミング図である。
【図１０】第１の実施形態におけるマルチポートメモリの動作を示すタイミング図である。
【図１１】第１の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図１２】第１の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図１３】本発明に関連する第２の実施形態を示す全体構成図である。
【図１４】本発明に関連する第３の実施形態の主要部を示すブロック図である。
【図１５】図１４の調停制御回路を示すブロック図である。
【図１６】図１４の調停制御回路の動作を示すタイミング図である。
【図１７】第３の実施形態におけるマルチポートメモリの動作を示すタイミング図である。
【図１８】第３の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図１９】第３の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２０】第３の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２１】第３の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２２】第３の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２３】本発明の第４の実施形態の主要部を示すブロック図である。
【図２４】第４の実施形態におけるマルチポートメモリの動作を示すタイミング図である。
【図２５】第４の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２６】第４の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２７】第４の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２８】第４の実施形態におけるマルチポートメモリの別の動作を示すタイミング図である。
【図２９】本発明の第５の実施形態におけるマルチポートメモリの動作を示すタイミング図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面を用いて説明する。
【００１２】
図１は、本発明に関連するマルチポートメモリの第１の実施形態を示している。マルチポートメモリＭは、シリコン基板上にCMOSプロセスを使用して形成されている。
【００１３】
マルチポートメモリＭは、２つの入出力ポートPORT-A、PORT-B、これ等ポートPORT-A、PORT-Bに信号を入出力する入出力回路１０、および複数のメモリブロックMBを有している。メモリブロックMBは、DRAMのメモリコア（メモリセル、センスアンプ列SA等を有する）、および図示しない制御回路・デコーダ等を有している。メモリセルは、データ信号の値に応じた電荷を蓄えるキャパシタを有している。メモリコアは、ポートPORT-AまたはポートPORT-Bを介して供給される行アドレス信号に応じていずれかが選択される。一つのメモリコア内のセンスアンプ列SAの全センスアンプは、メモリコアの選択に応答して同時に活性化される。すなわち、後述するアクティブコマンドACTに応じてメモリコアが活性化され、メモリコア内の全てのメモリセル領域が選択される。読み出しデータまたは書き込みデータは、センスアンプの活性化後に供給される列アドレス信号に応じて所定のメモリセルに読み書きされる。
【００１４】
図２は、マルチポートメモリＭの入出力回路１０およびメモリブロックMBの詳細を示している。図中の太線で示した信号線は、複数本で構成されている。入出力回路１０は、入出力ポートPORT-A、PORT-Bにそれぞれ対応して、モードレジスタ１２ａ、１２ｂ、クロックバッファ１４ａ、１４ｂ、データの入出力バッファ１６ａ、１６ｂ、アドレスバッファ／レジスタ１８ａ、１８ｂ、コマンドバッファ２０ａ、２０ｂおよびビジーバッファ２２ａ、２２ｂを有している。モードレジスタ１２ａ、１２ｂは、マルチポートメモリＭの動作モードを外部から設定するためのレジスタである。
【００１５】
クロックバッファ１４ａ、アドレスバッファ／レジスタ１８ａ、およびコマンドバッファ２０ａは、外部から供給されるクロック信号CLKA、アドレス信号ADDA、コマンド信号CMDAをメモリブロックMBに伝えている。入出力バッファ１６ａは、データ信号DQAをメモリブロックMBに入出力している。ビジーバッファ２２ａは、ビジー信号/BSYAを外部に出力している。クロックバッファ１４ｂ、アドレスバッファ／レジスタ１８ｂ、およびコマンドバッファ２０ｂは、外部から供給されるクロック信号CLKB、アドレス信号ADDB、コマンド信号CMDBをメモリブロックMBに伝えている。入出力バッファ１６ｂは、データ信号DQBをメモリブロックMBに入出力している。ビジーバッファ２２ｂは、ビジー信号/BSYBを外部に出力している。クロック信号CLKA、CLKB、アドレス信号ADDA、ADDB、コマンド信号CMDA、CMDB、データ信号DQA、DQB、およびビジー信号/BSYA、/BSYBは、それぞれクロック端子、アドレス端子、コマンド端子、データ入出力端子、およびビジー端子を介して伝達される。メモリコアの動作を制御するコマンド信号CMDA、CMDBとして、アクティブコマンドACTおよび動作コマンド（読み出しコマンドRD、書き込みコマンドWR）等が供給される。
【００１６】
アドレス信号ADDA、ADDBは、行アドレス信号RAと列アドレス信号CAとに分けて供給される。入出力ポートPORT-Aにおいて、行アドレス信号RA、列アドレス信号CA、およびコマンド信号CMDAは、クロック信号CLKAの立ち上がりエッジに同期して供給される。入出力ポートPORT-Bにおいて、行アドレス信号RA、列アドレス信号CA、およびコマンド信号CMDBは、クロック信号CLKBの立ち上がりエッジに同期して供給される。このように、マルチポートメモリＭは、入出力ポートPORT-A、PORT-Bからそれぞれ専用のクロック信号CLKA、CLKBを受け、これ等クロック信号CLKA、CLKBに同期して動作する。
【００１７】
メモリブロックMBは、入出力ポートPORT-A、PORT-Bに対応して、それぞれクロックバッファ２４ａ、２４ｂ、コマンドラッチ２６ａ、２６ｂ、データラッチ２８ａ、２８ｂ、行アドレスラッチ３０ａ、３０ｂ、行アドレスバッファ３１ａ、３１ｂ、および列アドレスラッチ３２ａ、３２ｂを有している。メモリブロックMBは、入出力ポートPORT-A、PORT-Bに共通に、調停回路３４、制御信号ラッチ３６、列アドレスカウンタ３８、およびメモリコア４０を有している。メモリコア４０は、クロックに同期してコマンド信号RAS、CAS、WE、行アドレス信号RA、列アドレス信号CAを取り込むSDRAM（Synchronous DRAM）タイプのメモリコアである。
【００１８】
入出力ポートPORT-Aに対応するモードレジスタ１２ａ、クロックバッファ２４ａ、コマンドラッチ２６ａ、データラッチ２８ａ、行アドレスバッファ３１ａ、列アドレスラッチ３２ａは、調停回路３４から出力されるイネーブル信号/ENAの活性化時に動作する。入出力ポートPORT-Bに対応するモードレジスタ１２ｂ、クロックバッファ２４ｂ、コマンドラッチ２６ｂ、データラッチ２８ｂ、行アドレスバッファ３１ｂ、列アドレスラッチ３２ｂは、調停回路３４から出力されるイネーブル信号/ENBの活性化時に動作する。
【００１９】
すなわち、イネーブル信号/ENAの活性化時に、クロックバッファ２４ａは、クロック信号CLKAをメモリコア４０のクロック端子CLKに出力し、コマンドラッチ２６ａは、ラッチしたコマンド信号CMDAを制御信号ラッチ３６に出力し、行アドレスバッファ３１ａは、ラッチした行アドレス信号RA（例えば、上位アドレスに対応する）をメモリコア４０の行アドレス端子RAに出力し、列アドレスラッチ３２ａは、ラッチした列アドレス信号CA（例えば、下位アドレスに対応する）を列アドレスカウンタ３８に出力し、データラッチ２８ａは、メモリコア４０のデータ入出力端子DQおよび入出力バッファ１６ａにデータ信号を入出力する。
【００２０】
同様に、イネーブル信号/ENBの活性化時に、クロックバッファ２４ｂは、クロック信号CLKBをメモリコア４０のクロック端子CLKに出力し、コマンドラッチ２６ｂは、ラッチしたコマンド信号CMDBを制御信号ラッチ３６に出力し、行アドレスバッファ３１ｂは、ラッチした行アドレス信号RAをメモリコア４０の行アドレス端子RAに出力し、列アドレスラッチ３２ｂは、ラッチした列アドレス信号CAを列アドレスカウンタ３８に出力し、データラッチ２８ｂは、メモリコア４０のデータ入出力端子DQおよび入出力バッファ１６ｂにデータ信号を入出力する。
【００２１】
制御信号ラッチ３６は、受けたコマンド信号CMDA、CMDBに応じてメモリコア４０を動作させるための行アドレスストローブ信号RAS、列アドレスストローブ信号CAS、およびライトイネーブル信号WEを生成し、生成した信号をメモリコア４０に出力する。また、制御信号ラッチ３６は、読み出し動作および書き込み動作を示す読み書きコマンド信号RWCMDを調停回路３４に出力する。
【００２２】
列アドレスカウンタ３８は、モードレジスタ１２ａ、１２ｂからのバースト長の情報、およびアドレス信号ADDA、ADDBに応じて列アドレス信号CAを生成し、メモリコア４０に出力する。調停回路３４は、アドレス比較回路４２および調停制御回路４４を有している。アドレス比較回路４２は、入出力ポートPORT-A、PORT-Bから供給されるアドレス信号ADDA、ADDBのうち行アドレス信号RAを比較し、これ等信号の先着を判断する。調停制御回路４４は、アドレス比較回路４２の比較結果に応じて、ビジー信号/BSYA、/BSYBおよび内部回路を動作させるためのイネーブル信号/ENA、/ENBを生成する。
【００２３】
図３は、アドレス比較回路４２の詳細を示している。アドレス比較回路４２は、２つのアドレス一致回路４２ａおよびアドレスの先着を判断する比較器４２ｂを有している。アドレス一致回路４２ａは、アドレス信号ADDA、ADDBのうち行アドレス信号RAの各ビットを比較する複数のEOR回路４２ｃ、およびEOR回路４２ｃにそれぞれ対応する複数のnMOSトランジスタ４２ｄを有している。nMOSトランジスタ４２ｄは、ゲートをEOR回路４２ｃの出力に接続し、ソースを接地し、ドレインを互いに接続している。各EOR回路４２ｃは、入出力ポートPORT-A、PORT-Bの行アドレス信号RAのビット値が一致したとき、低レベルを出力し、行アドレス信号RAのビット値が一致しないとき、高レベルを出力する。nMOSトランジスタ４２ｄは、EOR回路４２ｃからの低レベルを受けてオフし、高レベルを受けてオンする。すなわち、アドレス一致回路４２ａから出力される一致信号/COIN1、/COIN2は、行アドレス信号RAの全ビットが一致したときにフローティングになり、行アドレス信号が１ビットでも異なるときに低レベルになる。２つのアドレス一致回路４２ａは、図１に示したメモリブロックMBにおける図の上側の端および下側の端（入出力回路１０側）にそれぞれ配置されている。アドレス一致回路４２ａを入出力回路１０に近接して配置することで、アドレス信号ADDA、ADDBのアドレス一致回路４２ａまでの伝搬遅延時間を短くできる。この結果、アドレス信号ADDA、ADDBを早いタイミングで比較でき、高速動作が可能になる。比較器４２ｂは、一致信号/COIN1、/COIN2およびクロック信号CLKA、CLKBを受け、先着信号/FSTA、/FSTBを出力する。
【００２４】
図４は、比較器４２ｂの詳細を示している。比較器４２ｂは、クロック信号CLKA、CLKBの立ち上がりエッジに同期して、それぞれ正のパルスPLSA、PLSBを生成するパルス発生器４２ｅ、およびパルスPLSA、PLSBを入力端子で受けるフリップフロップ４２ｆを有している。比較器４２ｂは、パルスPLSA、PLSBを出力するインバータの入力でそれぞれ一致信号/COIN1、/COIN2を受けている。比較器４２ｂ内でパルスを生成するNANDゲートは、その素子サイズを小さくして形成されている。このため、NANDゲートが出力する信号と一致信号/COIN1、/COIN2とが衝突したとき、一致信号/COIN1、/COIN2が優先される。フリップフロップ４２ｆは、パルスPLSAを受けたときに先着信号/FSTAを低レベルにし、パルスPLSBを受けたときに先着信号/FSTBを低レベルにする。
【００２５】
図５は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号が一致したときの比較器４２ｂの動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一である。図３に示したアドレス一致回路４２ａは、行アドレス信号RAが一致したとき、一致信号/COIN1、/COIN2をいずれもフローティング（Hi-Z）にする。このため、クロック信号CLKA、CLKBの立ち上がりエッジに同期してそれぞれパルスPLSA、PLSBが生成される（図５（ａ））。図４に示したフリップフロップ４２ｆは、先に受けたパルスPLSAに応答して先着信号/FSTAを活性化する（図５（ｂ））。後に受けたパルスPLSBに応答する先着信号/FSTBは、先着信号/FSTAの非活性化後に活性化される（図５（ｃ））。
【００２６】
図６は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致しないときの比較器４２ｂの動作を示している。この例においても、クロック信号CLKA、CLKBの周期は同一である。アドレス一致回路４２ａは、行アドレス信号RAが１ビットでも一致しない場合、一致信号/COIN1、/COIN2をいずれも低レベルにする（図６（ａ））。このため、図４に示したパルス発生器４２ｅは、クロック信号CLKA、CLKBにかかわらずパルスPLSA、PLSBを強制的に低レベルにする（図６（ｂ））。この結果、先着信号/FSTA、/FSTBは、高レベルに保持される（図６（ｃ））。
【００２７】
図７は、クロック信号CLKA、CLKBの周期が異なる場合、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致したときの比較器４２ｂの動作を示している。この例では、クロック信号CLKBの周期は、クロック信号CLKAの周期の２倍に設定されている。行アドレス信号RAは、クロック信号CLKA、CLKBの立ち上がりエッジに同期してそれぞれ取り込まれる。図中、実線の行アドレス信号RAは、入出力ポートPORT-A、PORT-Bを介して供給された信号を示し、破線の行アドレス信号RAは、図２に示した行アドレスラッチ３０ａ、３０ｂにラッチされた信号を示している。
【００２８】
行アドレス信号RAが一致したとき、一致信号/COIN1、/COIN2は、図５と同様にいずれもフローティング（Hi-Z）になる。一致信号/COIN1、/COIN2がフローティングになることで、図４に示したパルス発生器４２ｅが有効になり、クロック信号CLKA、CLKBの立ち上がりエッジに同期してそれぞれパルスPLSA、PLSBおよび先着信号/FSTA、/FSTBが生成される。
【００２９】
図８は、図２に示した調停回路３４における調停制御回路４４を示している。調停制御回路４４は、入出力ポートPORT-A、PORT-Bにそれぞれ対応して、制御回路４４ａ、４４ｂを有している。制御回路４４ａは、リセット信号RESETA、遅延クロック信号DCLKA、アクティブコマンド信号ACTA、先着信号/FSTA、およびビジー信号/BSYAを受け、イネーブル信号/ENAおよびビジー信号/BSYBを出力している。制御回路４４ｂは、リセット信号RESETB、遅延クロック信号DCLKB、アクティブコマンド信号ACTB、先着信号/FSTB、およびビジー信号/BSYBを受け、イネーブル信号/ENBおよびビジー信号/BSYAを出力している。
【００３０】
リセット信号RESETA、RESETBは、入出力ポートPORT-A、PORT-Bに対応する読み出し動作および書き込み動作が完了したときにそれぞれ所定の期間活性化される。遅延クロック信号DCLKA、DCLKBは、クロック信号CLKA、CLKBを遅延させた信号である。アクティブコマンド信号ACTA、ACTBは、入出力ポートPORT-A、PORT-BにアクティブコマンドACTが供給されたとき活性化される。
【００３１】
図９は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号が一致したときの調停制御回路４４の動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一である。クロック信号CLKAに同期してアクティブコマンドACTが供給され、その直後にクロック信号CLKBに同期してアクティブコマンドACTが供給される。
【００３２】
制御回路４４ａは、遅延クロック信号DCLKAの立ち上がりエッジに同期して低レベルの先着信号/FSTAを取り込み、ビジー信号/BSYBを活性化する（図９（ａ））。制御回路４４ａは、アクティブコマンド信号ACTAの活性化およびビジー信号/BSYAの非活性化を受け、イネーブル信号/ENAを活性化する（図９（ｂ））。制御回路４４ｂは、遅延クロック信号DCLKBの立ち上がりエッジに同期して高レベルの先着信号/FSTBを取り込むため、ビジー信号/BSYAは活性化されない（図９（ｃ））。制御回路４４ｂは、アクティブコマンド信号ACTBの活性化を受けるが、ビジー信号/BSYBが活性化されているため、イネーブル信号/ENBを活性化しない（図９（ｄ））。
【００３３】
イネーブル信号/ENAの活性化により、入出力ポートPORT-Aに供給された信号が、メモリコア４０に伝達される。メモリコア４０は、活性化され、入出力ポートPORT-Aを介して供給される読み出しコマンドRDに応じて読み出し動作を実行する。読み出し動作の完了後、制御回路４４ａは、リセット信号RESETAの活性化を受け、イネーブル信号/ENAおよびビジー信号/BSYBを非活性化する（図９（ｅ））。
【００３４】
次に、上述したマルチポートメモリＭの動作を説明する。
【００３５】
図１０は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致したときの動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一であり、クロック信号CLKAの位相は、クロック信号CLKBの位相より若干進んでいる。入出力ポートPORT-A、PORT-Bにおけるバースト長は、モードレジスタ１２ａ、１２ｂによってともに"４"に設定されている。バースト長は、１回の書き込み動作または読み出し動作で入出力されるデータの数である。
【００３６】
入出力ポートPORT-Aは、クロック信号CLKAの立ち上がりエッジに同期してアクティブコマンドACT（コマンド信号CMDA）および行アドレス信号RA（アドレス信号ADDA）を受ける（図１０（ａ））。入出力ポートPORT-Bは、入出力ポートPORT-Aによる信号の受信直後に、クロック信号CLKBの立ち上がりエッジに同期してアクティブコマンドACT（コマンド信号CMDB）および行アドレス信号RA（アドレス信号ADDB）を受ける（図１０（ｂ））。ここで、コマンド信号CMDA、CMDB、アドレス信号ADDA、ADDBは、クロック信号CLKA、CLKBの立ち上がりエッジに対してそれぞれ所定のセットアップ時間tSだけ前に確定される（タイミング仕様）。
【００３７】
ポートPORT-Bに供給された行アドレス信号RAは、ポートPORT-Aに供給された行アドレス信号RAと同じため、図５に示したように、先着信号/FSTA、/FSTBが順次生成される。調停制御回路４４は、図９で説明したように、先着信号/FSTA、/FSTBに応じてイネーブル信号/ENAおよびビジー信号/BSYBを活性化する（図１０（ｃ）、（ｄ））。このように、アドレス信号の先着は、セットアップ時間tS内に供給された行アドレス信号RAを使用して、位相の早いクロック信号（この例ではCLKA）の立ち上がりエッジで判断される。この後、イネーブル信号/ENAの活性化により、行アドレス信号RAに対応するメモリコア４０が動作する（図１０（ｅ））。
【００３８】
入出力ポートPORT-Bに接続されたCPU等のコントローラは、ビジー信号/BSYBを受けてマルチポートメモリＭに供給したアクティブコマンドACTが無効であると判断する。入出力ポートPORT-Aは、次のクロック信号CLKAの立ち上がりエッジに同期して読み出しコマンドRD（コマンド信号CMDA）および列アドレス信号CA（アドレス信号ADDA）を受ける（図１０（ｆ））。入出力ポートPORT-Bは、次のクロック信号CLKBの立ち上がりエッジに同期して読み出しコマンドRD（コマンド信号CMDB）および列アドレス信号CA（アドレス信号ADDB）を受ける（図１０（ｇ））。読み出しコマンドRD（または書き込みコマンドWR）は、アクティブコマンドACTの供給後、次のクロック信号CLKA、CLKBに同期して供給される（タイミング仕様）。なお、入出力ポートPORT-Bに接続されたコントローラは、ビジー信号/BSYBに応じて読み出しコマンドRDおよび列アドレス信号CAを出力しない場合もある。
【００３９】
メモリブロックMBは、入出力ポートPORT-Aに供給された列アドレス信号CAに対応するメモリセルから読み出したデータを、データ信号DQA（Q0-Q3）として順次出力する（図１０（ｈ））。データ信号DQAは、読み出しコマンドRDの受け付けから２クロック後に出力される。メモリコア４０は、バースト長（＝４）に対応する数のデータ信号DQAを出力した後、プリチャージ動作を実行し（図１０（ｉ））、メモリサイクルを完了する。イネーブル信号/ENAは、読み出し動作の完了に応答して非活性化される（図１０（ｊ））。ここで、プリチャージ動作は、メモリセルに入出力するデータを伝えるビット線を所定の電位にチャージし、行アドレスに関係する回路を非活性化する動作である。すなわち、プリチャージ動作は、メモリ動作の都度自動的に実行される。プリチャージ動作のタイミングは、モードレジスタに保持された入出力ポートPORT-A、PORT-Bのバースト長のうち、大きい方に依存して設定される。この実施形態では、バースト長が"4"の場合、メモリサイクル（読み出し動作および書き込み動作に要する期間）は、４クロックサイクルに固定される。すなわち、読み出し動作および書き込み動作は、アクティブコマンドの受け付けから常に所定の時間後に終了する。
【００４０】
データQ1を出力するクロック信号CLKAに同期して、入出力ポートPORT-Aに次のアクティブコマンドACTが供給される（図１０（ｋ））。このとき、コマンド信号CMDBは、入出力ポートPORT-Bに供給されないため、図３に示したアドレス比較回路４２での行アドレス信号RAの比較は不一致になる。このため、ビジー信号/BSYA、/BSYBは活性化されず、イネーブル信号/ENAのみ活性化される（図１０（ｌ））。先着信号/FSTA、/FSTBは、図６に示したように高レベルに保持される。
【００４１】
そして、上述と同様に入出力ポートPORT-Aに供給される行アドレス信号RAに応じてメモリコア４０が動作する（図１０（ｍ））。メモリブロックMBは、次のクロック信号CLKAに同期して供給される読み出しコマンドRDおよび列アドレス信号CAに応じて、データ信号DQA（Q0-Q3）を順次出力する（図１０（ｎ））。入出力ポートPORT-Aに対応するメモリコア４０の動作が完了した後、アクティブコマンドACTおよび読み出しコマンドRDが入出力ポートPORT-Bに順次供給される（図１０（ｏ））。このとき、コマンド信号CMDAは、入出力ポートPORT-Aに供給されないため、入出力ポートPORT-Bに対応してメモリコア４０が動作し、データ信号DQBが出力される（図１０（ｐ））。
【００４２】
なお、特に図示していないが、メモリセルのキャパシタに電荷を再書き込みするリフレッシュ動作は、リフレッシュするメモリコア４０を指定する行アドレス信号RAと、リフレッシュコマンドとが、クロック信号の立ち上がりエッジに同期して供給されることで実行される。リフレッシュは、入出力ポートPORT-A、PORT-Bのいずれからも要求できる。このように、リフレッシュ動作は、外部から供給されるアドレス信号に応じてメモリコア４０単位で実行される。
【００４３】
図１１は、クロック信号CLKA、CLKBの周期は同一で、クロック信号CLKAの位相がクロック信号CLKBの位相より半クロック以上進んでいるときの動作を示している。マルチポートメモリＭに供給されるコマンド信号CMDA、CMDBおよびアドレス信号ADDA、ADDBの値は、図１０と同じである。この例では、アクティブコマンドACTおよび行アドレス信号RAが入出力ポートPORT-Aに供給されたとき（図１１（ａ））、コマンド信号CMDBおよびアドレス信号ADDBは、まだ入出力ポートPORT-Bに供給されていない。このため、イネーブル信号/ENAが活性化され（図１１（ｂ））、入出力ポートPORT-Aに対応してメモリコア４０が動作する（図１１（ｃ））。この後、アクティブコマンドACTと、入出力ポートPORT-Aと同じ行アドレス信号RAとが、入出力ポートPORT-Bに供給される（図１１（ｄ））。
【００４４】
図８に示した制御回路４４ｂは、先着信号/FSTAの活性化およびイネーブル信号/ENAの活性化に応じて、ビジー信号/BSYBを活性化する（図１１（ｅ））。入出力ポートPORT-Bに接続されたCPU等のコントローラは、ビジー信号/BSYBを受けてマルチポートメモリＭに供給したアクティブコマンドACTが無効であると判断する。この後の動作は、上述した図１０と同一である。
【００４５】
図１２は、入出力ポートPORT-A、PORT-Bにほぼ同時に供給された行アドレス信号RAが互いに異なるときの動作を示している。クロック信号CLKA、CLKBの周期は同一であり、クロック信号CLKAの位相がクロック信号CLKBの位相より若干進んでいる。バースト長は、モードレジスタ１２により、入出力ポートPORT-A、PORT-Bともに"４"に設定されている。
【００４６】
行アドレス信号RAが異なる場合、動作するメモリコア４０が異なるため、図４に示した比較器４２ｂは、先着信号/FSTA、/FSTBをともに非活性化する。すなわち、アドレスの調停動作は実行されない。調停制御回路４４は、先着信号/FSTA、/FSTBの非活性化およびアクティブコマンド信号ACTA、ACTBの活性化を受け、イネーブル信号/ENA、/ENBを活性化する（図１２（ａ）、（ｂ））。このため、入出力ポートPORT-Aに供給されたアクティブコマンドACTおよび行アドレス信号RAに応じて、所定のメモリコア４０が動作し（図１２（ｃ））、入出力ポートPORT-Bに供給されたアクティブコマンドACTおよび行アドレス信号RAに応じて、別のメモリコア４０が動作する（図１２（ｄ））。すなわち、入出力ポートPORT-A、PORT-Bは、それぞれ独立に動作する。行アドレス信号RAが互いに異なるため、ビジー信号/BSYA、/BSYBはいずれも活性化されない。
【００４７】
以上、この実施形態では、同一のメモリコア４０を示す行アドレス信号RAをそれぞれクロック信号CLKA、CLKBに同期して入出力ポートPORT-A、PORT-Bで受けたとき、先に受けた行アドレス信号RAに応じてメモリコア４０を動作した。すなわち、クロック同期式のマルチポートメモリＭを構成できる。
【００４８】
調停回路３４は、行アドレス信号RAを比較するだけでよいため、簡易に構成できる。この結果、マルチポートメモリＭのチップサイズを小さくできる。各入出力ポートPORT-A、PORT-Bがそれぞれクロック端子CLKA、CLKBを有しているため、入出力ポートPORT-A、PORT-B毎にクロック信号CLKA、CLKBの周波数を設定できる。すなわち、マルチポートメモリＭに様々な動作周波数の複数のコントローラを接続できる。
【００４９】
クロック信号CLKA、CLKBの立ち上がりエッジより前に確定する行アドレス信号RAを使用してアドレスの先着を判断した。すなわち、アドレス信号のセットアップ時間tSを利用してアドレスの先着を判断した。このため、メモリコア４０が動作を開始する前に優先させる入出力ポートを決定することができ、メモリ動作を高速に実行できる。アドレス信号の先着を位相の早いクロック信号CLKA（またはCLKB）の立ち上がりエッジで判断することで、より高速にメモリ動作を実行できる。
【００５０】
調停回路３４において、アドレス比較回路４２で行アドレス信号RAを比較し、調停制御回路４４でアクティブコマンドACTを取り込んだクロック信号CLKA、CLKBに同期してアドレスの一致判定をした。このように、行アドレス信号RAは、常に所定のタイミング（クロック信号のエッジ）で比較されるため、メモリ動作に関係しないアドレス信号によるメモリコア４０の誤動作を防止できる。
【００５１】
図１３は、本発明に関連するマルチポートメモリおよびマルチポートメモリの制御方法の第２の実施形態を示している。第１の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、一つのメモリブロックMB（図の太枠）が、第１の実施形態の４分の１に大きさで形成されている。すなわち、同時に活性化されるセンスアンプの数は、第１の実施形態の４分の１になる。メモリブロックMBの大きさ以外は、第１の実施形態と同じである。図１３のマルチポートメモリＭは、同時に動作するセンスアンプの数が少ないため、メモリ動作時の消費電力が低減される。この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、消費電力を低減できる。
【００５２】
図１４は、本発明に関連するマルチポートメモリおよびマルチポートメモリの制御方法の第３の実施形態を示している。第１の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００５３】
この実施形態では、各メモリブロックMBにおいて、データラッチ２８とメモリコア４０との間に、データ信号DQA、DQBを一時蓄えるデータレジスタ４６ａ、４６ｂ（バッファ）がそれぞれ配置されている。データレジスタ４６ａ、４６ｂは、入出力ポートPORT-A、PORT-Bのいずれかに対応して動作する。また、調停回路３４の調停制御回路４８が第１の実施形態の調停制御回路４４と相違している。調停制御回路４８は、ビジー信号/BSYA、/BSYBを出力せず、入出力回路１０には、ビジーバッファは形成されていない。その他の構成は、第１の実施形態とほぼ同一である。すなわち、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKB、アドレス信号ADDA、ADDB、コマンド信号CMDA、CMDB、およびデータ信号DQA、DQBは、それぞれクロック端子、アドレス端子、コマンド端子、およびデータ入出力端子を介して伝達される。メモリブロックMBは、DRAMのメモリコア４０、および図示しない制御回路・デコーダ等を有している。メモリセルは、データ信号の値に応じた電荷を蓄えるキャパシタを有している。
【００５４】
このマルチポートメモリＭは、後述するように、同じ行アドレス信号RAに対するメモリ動作の要求を、入出力ポートPORT-A、PORT-Bで同時に受けたときも、両方の入出力ポートPORT-A、PORT-Bに対してメモリ動作を実行できる。このため、第１の実施形態のように、ビジー信号/BSYA、/BSYBを外部に出力する必要はない。
【００５５】
各入出力ポートPORT-A、PORT-Bにおいて、アクティブコマンドACTの供給間隔（タイミング仕様）は、メモリコア４０の動作期間の２倍以上の期間に設定されている。同じ入出力ポートPORT-A（またはPORT-B）において、アクティブコマンドACTの供給間隔が、上記期間より小さいとき、供給されたアクティブコマンドACTは、無効にされる。異なる入出力ポートにそれぞれ供給されたアクティブコマンドACTの供給間隔は、制限されていない。
【００５６】
読み出しコマンドRDおよび書き込みコマンドWRは、第１の実施形態と同様に、アクティブコマンドACTを受けた次のクロック信号に同期して供給される。メモリコア４０は、動作後に自動的にプリチャージされる。この実施形態では、例えば、クロック信号CLKA、CLKBの周期tCLKは10ns、バースト長BLは"４"、データレイテンシDLは"4"に設定されている。データレイテンシDLは、読み出しコマンドRDが供給された後、データが出力されるまでのクロック数である。バースト長BLおよびデータレイテンシDLは、モードレジスタ１２ａ、１２ｂに設定される。
【００５７】
図１５は、調停制御回路４８の詳細を示している。調停制御回路４８は、第１の実施形態の制御回路４４ａ、４４ｂに制御回路４８ａ、４８ｂを付加して構成されている。入出力ポートPORT-Aに対応する制御回路４８ａは、リセット信号RESETA、リバース信号RVS、および制御回路４４ａからイネーブル信号/ENA0、ビジー信号/BSYBを受け、イネーブル信号/ENAを出力する。入出力ポートPORT-Bに対応する制御回路４８ｂは、リセット信号RESETB、リバース信号RVS、および制御回路４４ｂからイネーブル信号/ENB0、ビジー信号/BSYAを受け、イネーブル信号/ENBを出力する。イネーブル信号/ENA0、/ENB0は、第１の実施形態のイネーブル信号/ENA、/ENBと同じタイミングで生成される信号である。
【００５８】
図１６は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号が一致したときの調停制御回路４８の動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一である。クロック信号CLKAに同期して入出力ポートPORT-AにアクティブコマンドACTが供給され、その直後にクロック信号CLKBに同期して入出力ポートPORT-BにアクティブコマンドACTが供給される。入出力ポートPORT-Aに接続されたコントローラは、書き込み動作を要求し、入出力ポートPORT-Bに接続されたコントローラは、読み出し動作を要求する。
【００５９】
制御回路４４ａ、４４ｂの動作は、上述した第１の実施形態（図９）とほぼ同一である。制御回路４４ａは、遅延クロック信号DCLKAの立ち上がりエッジに同期して低レベルの先着信号/FSTAを取り込み、ビジー信号/BSYBを活性化する（図１６（ａ））。制御回路４４ｂは、遅延クロック信号DCLKBの立ち上がりエッジに同期して高レベルの先着信号/FSTBを取り込むため、ビジー信号/BSYAは活性化されない（図１６（ｂ））。制御回路４８ａは、ビジー信号/BSYBの活性化およびリバース信号RVSの低レベルに応答してイネーブル信号/ENAを活性化する（図１６（ｃ））。制御回路４８ｂは、ビジー信号/BSYAの非活性化およびリバース信号RVSの低レベルに応答してイネーブル信号/ENBを非活性化する（図１６（ｄ））。
【００６０】
次のクロック信号CLKA、CLKBに同期して、それぞれ書き込みコマンドWR、読み出しコマンドRDが供給される（図１６（ｅ））。書き込みコマンドWRおよび読み出しコマンドRDを受けて、リバース信号RVSを生成する制御回路（図示せず）は、リバース信号RVSを活性化する（図１６（ｆ））。制御回路４８ａ、４８ｂは、リバース信号RVSの活性化に応答してイネーブル信号/ENA、/ENBのレベルを入れ換える（図１６（ｇ））。そして、入出力ポートPORT-Bに対する読み出し動作が先に実行される（図１６（ｈ））。読み出し動作の完了後、リセット信号RESETBは活性化され、リバース信号RVSは非活性化される（図１６（ｉ））。制御回路４８ａ、４８ｂは、リバース信号RVSの非活性化に応答してイネーブル信号/ENA、/ENBのレベルを元に戻す（図１６（ｊ））。そして、イネーブル信号/ENAの活性化に応じて入出力ポートPORT-Aに対する読み出し動作が実行される（図１６（ｋ））。
【００６１】
読み出し動作の完了後、リセット信号RESETAは活性化され（図１６（ｌ））、ビジー信号/BSYBは非活性化される（図１６（ｍ））。制御回路４８ａは、ビジー信号BSYBの非活性化に応じてイネーブル信号/ENAを非活性化する（図１６（ｎ））。このように、この実施形態では、行アドレス信号RAが同一、かつ先着したコマンドが書き込み動作を要求し、後着したコマンドが読み出し動作を要求する場合に、読み出し動作を先に実行するようにメモリコア４０が制御される。マルチポートメモリを含むDRAM等のメモリLSIでは、書き込み動作は、書き込みデータを受けた後にメモリコアを動作することで実行され、読み出し動作は、まずメモリコアを動作した後に読み出しデータを出力することで実行される。このため、通常、書き込み動作の後に読み出し動作を実行すると、動作サイクルの合計は長くなってしまう。この実施形態では、書き込み動作と読み出し動作とが競合したときに、読み出し動作を先に実行することで、動作サイクルの合計を短縮でき、データ信号を伝達するデータバスの使用効率を向上できる。
【００６２】
次に、第３の実施形態のマルチポートメモリＭの動作を説明する。
【００６３】
図１７は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。クロック信号CLKAの位相は、クロック信号CLKBの位相より若干進んでいる。すなわち、入出力ポートPORT-AへのアクティブコマンドACTの供給は、入出力ポートPORT-BへのアクティブコマンドACTの供給より若干早い。
【００６４】
まず、入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される（図１７（ａ））。メモリセルから読み出されたデータは、一方のデータレジスタ４６ａ（または４６ｂ）に保持される。次に、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じて読み出し動作READBが実行される（図１７（ｂ））。入出力ポートPORT-Bに対する読み出し動作READBは、調停回路３４の制御により読み出し動作READAの完了後に実行される（図１７（ｃ））。読み出し動作READBに伴いメモリセルから読み出されたデータは、他方のデータレジスタ４６ｂ（または４６ａ）に保持される（図１７（ｄ））。このように、アクティブコマンドACTおよび同一の行アドレス信号RAが、入出力ポートPORT-A、PORT-Bにほぼ同時に供給されたときも、それぞれの入出力ポートPORT-A、PORT-Bに対応して読み出し動作（または書き込み動作）が順次実行される。メモリコア４０は、読み出し動作READA、READBを実行した後、それぞれ自動的にプリチャージ動作を実行し、メモリサイクルを完了する。
【００６５】
入出力ポートPORT-Aに対応するレジスタ４６ａに保持された読み出しデータは、読み出しコマンドRDを受けた後、図の５番目-８番目のクロック信号CLKAに同期して順次出力データQ0-Q3として出力される（図１７（ｅ））。入出力ポートPORT-Bに対応するレジスタ４６に保持された読み出しデータは、読み出しコマンドRDを受けた後、図の５番目-８番目のクロック信号CLKBに同期して順次出力データQ0-Q3として出力される（図１７（ｆ））。
【００６６】
入出力ポートPORT-A、PORT-Bともに、アクティブコマンドACTから４クロック後に次のアクティブコマンドACTを受け、再び読み出し動作READAおよび読み出し動作READBを実行する（図１７（ｇ）、（ｈ））。アクティブコマンドACTが４クロック毎に供給されることで、読み出しデータを絶え間なく出力できる（ギャップレスリード）。また、アクティブコマンドACTを４クロック毎に受けることでランダムアクセス動作が可能になる。
【００６７】
図１８は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。まず、アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される（図１８（ａ））。メモリセルから読み出されたデータは、一方のデータレジスタ４６ａに保持される（図１８（ｂ））。次に、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じて読み出し動作READAとは別のメモリコア４０の読み出し動作READBが実行される（図１８（ｃ））。すなわち、読み出し動作READAと読み出し動作READBとは、独立に実行される。読み出し動作READBによりメモリセルから読み出されたデータは、他方のデータレジスタ４６ｂに保持される（図１８（ｄ））。
【００６８】
レジスタ４６ａに保持された読み出しデータは、読み出しコマンドRDを受けた後、図の５番目-８番目のクロック信号CLKAに同期して順次出力データQ0-Q3として出力される（図１８（ｅ））。入出力ポートPORT-Bに対応するレジスタ４６に保持された読み出しデータは、読み出しコマンドRDを受けた後、図の５番目-８番目のクロック信号CLKBに同期して順次出力データQ0-Q3として出力される（図１８（ｆ））。入出力ポートPORT-A、PORT-Bともに、アクティブコマンドACTから４クロック後に次のアクティブコマンドACTを受け、再び読み出し動作READAおよび読み出し動作READBを実行する（図１８（ｇ）、（ｈ））。
【００６９】
図１９は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、書き込み動作が実行される状態を示している。入出力ポートPORT-A、PORT-Bにおいて、アクティブコマンドACTを受けた次のクロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期して書き込みコマンドWR、列アドレス信号CAおよび最初の書き込みデータQ0、Q0が供給される（図１９（ａ）、（ｂ））。この後、クロック信号CLKA、CLKBに同期して書き込みデータQ1-Q3、Q1-Q3が供給される（図１９（ｃ）、（ｄ））。
【００７０】
書き込みデータQ0-Q3、Q0-Q3は、それぞれ異なるデータレジスタ４６ａ、４６ｂに保持される（図１９（ｅ）、（ｆ））。アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、書き込みデータQ3を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される（図１９（ｇ））。入出力ポートPORT-Bに対応する書き込み動作WRITEBは、書き込み動作WRITEAに完了後に実行される（図１９（ｈ））。書き込み動作WRITEA、WRITEBにより、データレジスタ４６ａ、４６ｂにそれぞれ保持された書き込みデータQ0-Q3、Q0-Q3が列アドレス信号CAに対応するメモリセルに書き込まれ、書き込み動作が完了する。書き込み動作においても、アクティブコマンドACTが４クロック毎に供給されることで、書き込みデータは、絶え間なく受信可能である（ギャップレスライト）。
【００７１】
図２０は、入出力ポートPORT-Aに対して、書き込み動作および読み出し動作が順次実行され、入出力ポートPORT-Bに対して、入出力ポートPORT-Aの書き込み動作と同一の行アドレス信号RAの書き込み動作、および入出力ポートPORT-Aの読み出し動作と同一の行アドレス信号RAの書き込み動作が連続して実行される状態を示している。最初の書き込み動作のタイミングは、図１７と同一のため、説明を省略する。
【００７２】
入出力ポートPORT-Bにおいて、図１７と同じタイミングで２番目の書き込み動作に対応するアクティブコマンドACTが供給される（図２０（ａ））。入出力ポートPORT-Aにコマンド信号CMDAが供給されていないため、書き込み動作WRITEBは、書き込みデータQ0-Q3を受けた後すぐに実行される（図２０（ｂ））。入出力ポートPORT-Aにおいて、図の７番目のクロック信号CLKAに同期して次のアクティブコマンドACTが供給される（図２０（ｃ））。特に図示していないが、このとき、入出力ポートPORT-Bに対するイネーブル信号/ENBが活性化されている。このため、読み出し動作READAは、書き込み動作WRITEBの後に実行される（図２０（ｄ））。マルチポートメモリＭは、コマンドを受けた順に書き込み動作WRITEBおよび読み出し動作READAを実行するため、書き込み動作前のメモリセルデータが誤って読み出されることはない。
【００７３】
なお、入出力ポートPORT-Aが、入出力ポートPORT-B対応するデータレジスタ４６ｂに保持されているデータを読み出しデータとして出力することで、入出力ポートPORT-Aの読み出し動作READAを入出力ポートPORT-Bの書き込み動作WRITEBより先に実行することが可能になる。
【００７４】
図２１は、入出力ポートPORT-Aに対して、書き込み動作および読み出し動作が順次実行され、入出力ポートPORT-Bに対して、入出力ポートPORT-Aの書き込み動作と同一の行アドレス信号RAの読み出し動作、および入出力ポートPORT-Aの読み出し動作と同一の行アドレス信号RAの書き込み動作が連続して実行される状態を示している。入出力ポートPORT-Aに対する最初の書き込み動作および入出力ポートPORT-Bに対する最初の読み出し動作のタイミングは、それぞれ図１９に示した書き込み動作および図１８に示した読み出し動作のタイミングと同じである。
【００７５】
入出力ポートPORT-Aにおいて、図の７番目および８番目のクロック信号CLKAに同期してアクティブコマンドACTおよび読み出しコマンドRDが供給される（図２１（ａ））。このとき、入出力ポートPORT-BにアクティブコマンドACTは、供給されていないため、入出力ポートPORT-Aに対する読み出し動作READAが実行される（図２１（ｂ））。次に、入出力ポートPORT-Bにおいて、図の８番目および９番目のクロック信号CLKBに同期して次のアクティブコマンドACTおよび書き込みコマンドWRが供給される（図２１（ｃ））。そして、データQ0-Q3を受けた後に入出力ポートPORT-Bに対する書き込み動作（図示せず）が実行される。
【００７６】
図２２は、クロック信号CLKA、CLKBの周期が異なる場合、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致したときの動作を示している。この例では、クロック信号CLKBの周期は、クロック信号CLKAの周期の２倍に設定されている。
【００７７】
入出力ポートPORT-Aにおいて、アクティブコマンドACTおよび読み出しコマンドRDが、４クロック毎に供給され、図１７と同様に読み出し動作が実行される。入出力ポートPORT-Bにおいても、アクティブコマンドACTおよび読み出しコマンドRDが、４クロック毎に供給される。入出力ポートPORT-Bにおける最初のアクティブコマンドACTの供給は、入出力ポートPORT-Aにおける最初のアクティブコマンドACTの供給より遅い（図２２（ａ））。このため、図１７と同様に、読み出し動作READBは、読み出し動作READAの後に実行される（図２２（ｂ））。入出力ポートPORT-Bにおける次のアクティブコマンドACTに伴う読み出し動作READBは、２つの読み出し動作READAの間に実行される（図２２（ｃ））。
【００７８】
この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、各入出力ポートPORT-A、PORT-Bにおいて、アクティブコマンドACTの供給間隔（タイミング仕様）を、メモリコア４０の動作期間の２倍以上に設定した。このため、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが同一の場合にも、それぞれのポートについて必ず読み出し動作および書き込み動作を実行できる。したがって、マルチポートメモリＭを制御するコントローラは、マルチポートメモリＭのビジー状態を認識しなくてよい。この結果、これ等コントローラの制御（ハードウエア、ソフトウエア）が容易になる。
【００７９】
図２３は、本発明のマルチポートメモリおよびマルチポートメモリの制御方法の第４の実施形態を示している。第１および第３の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、上述した第３の実施形態のデータレジスタ４６ａ、４６ｂの代わりに、ページバッファ５０ａ、５０ｂが配置されている。ページバッファ５０ａ、５０ｂは、入出力ポートPORT-A、PORT-Bの少なくとも一方に対応して動作する。その他の構成は、第３の実施形態とほぼ同一である。
【００８０】
ページバッファ５０ａ、５０ｂは、それぞれメモリコア４０内の全てのメモリセルのデータを保持するラッチを有している。読み出し動作および書き込み動作の開始時に、選択されたメモリコア４０のメモリセルに保持されているデータが、ページバッファ５０ａ（または５０ｂ）に読み出される。そして、読み出し動作では、ページバッファ５０ａにラッチされたデータが、列アドレス信号CAに応じてデータ信号として出力される。書き込み動作では、まず、データ信号が、列アドレス信号CAに応じてページバッファ５０ａに書き込まれる。その後、書き込み動作の完了時にページバッファ５０ａのデータがメモリセルに書き込まれる。
【００８１】
以下、第４の実施形態のマルチポートメモリＭの動作を説明する。
【００８２】
図２４は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。クロック信号CLKAの位相は、クロック信号CLKBの位相より若干進んでいる。すなわち、入出力ポートPORT-AへのアクティブコマンドACTの供給は、入出力ポートPORT-BへのアクティブコマンドACTの供給より若干早い。
【００８３】
まず、入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される（図２４（ａ））。読み出し動作READAにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ５０ａ（または５０ｂ）に保持される（図２４（ｂ））。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた読み出し動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
【００８４】
次に、入出力ポートPORT-Aにおいて、図の１番目および５番目のクロック信号CLKAに同期して読み出しコマンドRDが供給される（図２４（ｃ）、（ｄ））。ページバッファ５０ａに保持されたデータは、各読み出しコマンドRDを受けた後、図の５番目-１２番目のクロック信号CLKAに同期して順次出力データQ0-Q7として出力される（図２４（ｅ））。すなわち、ページ読み出し動作が実行される。
【００８５】
同様に、入出力ポートPORT-Bにおいて、図の１番目および５番目のクロック信号CLKBに同期して読み出しコマンドRDが供給される（図２４（ｆ）、（ｇ））。ページバッファ５０ａに保持されたデータは、各読み出しコマンドRDを受けた後、図の５番目-１２番目のクロック信号CLKBに同期して順次出力データQ0-Q7として出力される（図２４（ｈ））。このように、行アドレス信号RAが同一の場合、一つのページバッファ５０ａ（または５０ｂ）が、入出力ポートPORT-A、PORT-Bで共用される。
【００８６】
入出力ポートPORT-A、PORT-Bともに、アクティブコマンドACTから８クロック後に次のアクティブコマンドACTを受ける（図２４（ｉ）、（ｊ））。行アドレス信号RAが同一のため、読み出し動作READAのみが実行される（図２４（ｋ））。入出力ポートPORT-Bに対する読み出し動作READBは実行されない。読み出しコマンドRDが４クロック毎に供給されることで、読み出しデータを絶え間なく出力できる（ギャップレスリード）。
【００８７】
図２５は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。入出力ポートPORT-Aに対する読み出し動作のタイミングは、図２４と同一である。まず、アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される（図２５（ａ））。メモリコア４０の全メモリセルから読み出されたデータは、一方のページバッファ５０ａに保持される（図２５（ｂ））。
【００８８】
次に、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じて読み出し動作READAとは別のメモリコア４０の読み出し動作READBが実行される（図２５（ｃ））。読み出し動作READBによりメモリコア４０の全メモリセルから読み出されたデータは、他方のページバッファ５０ｂに保持される（図２５（ｄ））。この後、上述した図２４と同様に、読み出し動作が実行される。このように、行アドレス信号RAが異なる場合、読み出し動作READAと読み出し動作READBとは、独立に実行され、読み出されたデータは、それぞれ異なるページバッファ５０ａ、５０ｂに保持される。
【００８９】
図２６は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給されて書き込み動作が実行され、さらにアクティブコマンドACTおよび異なる行アドレス信号RAが供給されて書き込み動作が実行される状態を示している。
【００９０】
まず、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび同一の行アドレス信号RAが供給される。図２３に示した調停回路３４は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、メモリセルからページバッファ５０ａ（または５０ｂ）にデータを転送するために読み出し動作READAを実行する（図２６（ａ））。
【００９１】
読み出し動作READAにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ５０ａ（または５０ｂ）に保持される（図２６（ｂ））。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた読み出し動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
【００９２】
次に、入出力ポートPORT-Aにおいて、図の１番目および５番目のクロック信号CLKAに同期して書き込みコマンドWR、列アドレス信号CAが供給される（図２６（ｃ）、（ｄ））。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ５０ａに書き込まれる（図２６（ｅ））。すなわち、ページ書き込み動作が実行される。
【００９３】
入出力ポートPORT-Bにおいて、図の１番目および５番目のクロック信号CLKBに同期して書き込みコマンドWR、列アドレス信号CAが供給される（図２６（ｆ）、（ｇ））。クロック信号CLKBに同期して順次供給された書き込みデータQ0-Q7は、共通のページバッファ５０ａに書き込まれる（図２６（ｈ））。このように、書き込み動作においても、行アドレス信号RAが同一の場合、一つのページバッファ５０ａ（または５０ｂ）が、入出力ポートPORT-A、PORT-Bで共用される。
【００９４】
アクティブコマンドACTを先に受けた入出力ポートPORT-Aにおいて、書き込みデータQ7を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される（図２６（ｉ））。入出力ポートPORT-Bに対応する書き込み動作WRITEBは、書き込み動作WRITEAに完了後に実行される（図２６（ｊ））。次に、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給される。図２３に示した調停回路３４は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READA、READBを順次実行する（図２６（ｋ）、（ｌ））。読み出し動作READAにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ５０ａ（または５０ｂ）に保持される（図２６（ｍ））。読み出し動作READBにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、他方のページバッファ５０ｂ（または５０ａ）に保持される（図２６（ｎ））。
【００９５】
入出力ポートPORT-Aにおいて、図の１３番目および１７番目のクロック信号CLKAに同期して書き込みコマンドWR、列アドレス信号CAが供給される（図２６（ｏ）、（ｐ））。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ５０ａに書き込まれる（図２６（ｑ））。同様に、入出力ポートPORT-Bにおいて、図の１３番目および１７番目のクロック信号CLKBに同期して書き込みコマンドWR、列アドレス信号CAが供給される（図２６（ｒ）、（ｓ））。クロック信号CLKBに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ４８ｂに書き込まれる（図２６（ｔ））。このように、行アドレス信号RAが異なる場合、ページバッファ５０ａ、５０ｂが使用される。
【００９６】
次に、アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、書き込みデータQ7を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される（図２６（ｕ））。入出力ポートPORT-Bに対応する書き込み動作WRITEBは、書き込み動作WRITEAに完了後に実行される（図２６（ｖ））。書き込み動作WRITEA、WRITEBにより、ページバッファ５０ａ、５０ｂにそれぞれ保持された書き込みデータQ0-Q7が列アドレス信号CAに対応するメモリセルに書き込まれ、書き込み動作が完了する。
【００９７】
図２７は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給されて書き込み動作が実行され、さらにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、入出力ポートPORT-Aにおいて読み出し動作が実行され、入出力ポートPORT-Bにおいて書き込み動作が実行される状態を示している。最初の書き込み動作のタイミングは、図２６と同一のため、説明を省略する。
【００９８】
入出力ポートPORT-A、PORT-Bにおいて、図の１２番目のクロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび同一の行アドレス信号RAが供給される（図２７（ａ）、（ｂ））。図２３に示した調停回路３４は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READAを実行する（図２７（ｃ））。読み出し動作READAにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ５０ａ（または５０ｂ）に保持される（図２７（ｄ））。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた書き込み動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
【００９９】
次に、入出力ポートPORT-Aにおいて、図の１３番目および１７番目のクロック信号CLKAに同期して読み出しコマンドRDが供給される（図２７（ｅ）、（ｆ））。ページバッファ５０ａに保持されたデータは、各読み出しコマンドRDを受けた後、図の１７番目-２４番目のクロック信号CLKAに同期して順次出力データQ0-Q7として出力される（図２７（ｇ））。
【０１００】
入出力ポートPORT-Bにおいて、図の１３番目および１７番目のクロック信号CLKBに同期して書き込みコマンドWRが供給される（図２７（ｈ）、（ｉ））。クロック信号CLKBに同期して順次供給される書き込みデータQ0-Q7は、共通のページバッファ５０ａに書き込まれる（図２７（ｊ））。次に、入出力ポートPORT-Bにおいて、書き込みデータQ7を取り込んだクロック信号CLKBに同期して書き込み動作WRITEBが実行される（図２７（ｋ））。
【０１０１】
図２８は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、それぞれ書き込み動作および読み出し動作が実行され、さらにアクティブコマンドACTおよび異なる行アドレス信号RAが供給され、それぞれ書き込み動作および読み出し動作が実行される状態を示している。
【０１０２】
まず、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび同一の行アドレス信号RAが供給される（図２８（ａ）、（ｂ））。調停回路３４は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READAを実行する（図２８（ｃ））。読み出し動作READAにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ５０ａ（または５０ｂ）に保持される（図２８（ｄ））。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた読み出し動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
【０１０３】
次に、入出力ポートPORT-Aにおいて、図の１番目および５番目のクロック信号CLKAに同期して書き込みコマンドWRが供給される（図２８（ｅ）、（ｆ））。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ５０ａに書き込まれる（図２８（ｇ））。入出力ポートPORT-Bにおいて、図の１番目および５番目のクロック信号CLKBに同期して読み出しコマンドRDが供給される（図２８（ｈ）、（ｉ））。ページバッファ５０ａに保持されたデータは、各読み出しコマンドRDを受けた後、図の５番目-１２番目のクロック信号CLKBに同期して順次出力データQ0-Q7として出力される（図２８（ｊ））。そして、入出力ポートPORT-Aにおいて、書き込みデータQ7を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される（図２８（ｋ））。
【０１０４】
次に、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給される（図２８（ｌ）、（ｍ））。調停回路３４は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READA、READBを順次実行する（図２８（ｎ）、（ｏ））。読み出し動作READAにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ５０ａ（または５０ｂ）に保持される（図２８（ｐ））。読み出し動作READBにより選択されたメモリコア４０の全メモリセルからデータが読み出され、読み出されたデータは、他方のページバッファ５０ｂ（または５０ａ）に保持される（図２８（ｑ））。
【０１０５】
入出力ポートPORT-Aにおいて、図の１３番目および１７番目のクロック信号CLKAに同期して書き込みコマンドWRが供給される（図２８（ｒ）、（ｓ））。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ５０ａに書き込まれる（図２８（ｔ））。同様に、入出力ポートPORT-Bにおいて、図の１３番目および１７番目のクロック信号CLKBに同期して書き込みコマンドWRが供給される（図２８（ｕ）、（ｖ））。クロック信号CLKBに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ５０ｂに書き込まれる（図２８（ｗ））。
【０１０６】
この実施形態においても、上述した第３の実施形態と同様の効果を得ることができる。さらに、この実施形態では、データラッチ２８とメモリコア４０との間に、メモリコア４０の全メモリセルに対するデータを一時蓄えるページバッファ５０ａ、５０ｂを配置した。このため、マルチポートメモリＭにおいて、ページ読み出し動作およびページ書き込み動作を実行できる。
【０１０７】
入出力ポートPORT-A、PORT-Bに同一の行アドレス信号RAが供給されたときに、一つのページバッファ５０ａを共有した。このため、メモリセルに書き込まれるべきデータが上書きされ、破壊されることを防止できる。入出力ポートPORT-A、PORT-Bに同一の行アドレス信号RAが供給されたときに、一方のポートのみに対応して読み出し動作を実行した。このため、両ポートに対してそれぞれ読み出し動作を実行する場合に比べ、動作時の消費電力を低減できる。
【０１０８】
ページバッファ５０ａ、５０ｂを使用することで、マルチポートメモリＭを制御するコントローラは、ページ動作を実行する場合にもマルチポートメモリＭのビジー状態を認識する必要はない。この結果、これ等コントローラの制御（ハードウエア、ソフトウエア）が容易になる。
【０１０９】
図２９は、本発明のマルチポートメモリおよびマルチポートメモリの制御方法の第５の実施形態におけるマルチポートメモリＭの動作を示している。第４の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、通常のバースト動作用の読み出しコマンドRD、書き込みコマンドWRと、ページ動作用の読み出しコマンドPRD、書き込みコマンドPWRとを有している。マルチポートメモリＭの回路構成は、第４の実施形態とほぼ同一である。
【０１１０】
図２９では、まず、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給される（図２９（ａ）、（ｂ））。次のクロック信号CLKA、CLKBに同期して読み出しコマンドPRDが供給され（図２９（ｃ）、（ｄ））、ページ読み出し動作が実行される（図２９（ｅ））。ページ読み出し動作のタイミングは、上述した図２４と同一であるため、詳細な説明を省略する。
【０１１１】
この後、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給される（図２９（ｆ）、（ｇ））。次のクロック信号CLKA、CLKBに同期して読み出しコマンドRDが供給される（図２９（ｈ）、（ｉ））。入出力ポートPORT-A、PORT-Bに対応してそれぞれ読み出し動作READA、READBが順次実行される（図２９（ｊ）、（ｋ））。すなわち、通常の読み出し動作（バースト読み出し動作）が実行される。
【０１１２】
この実施形態においても、上述した第４の実施形態と同様の効果を得ることができる。さらに、この実施形態では、マルチポートメモリＭは、ページ動作用のコマンドPRD、PWRと、通常動作用のコマンドRD、WRとを有しているため、供給するコマンド信号に応じてページ動作だけでなく、通常動作を実行できる。
【０１１３】
なお、上述した実施形態では、本発明をアドレス信号を時分割で入力するアドレスマルチプレクス方式のマルチポートメモリに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をアドレス信号を一度に入力するアドレスノンマルチプレクス方式のマルチポートメモリに適用してもよい。
【０１１４】
上述した実施形態では、本発明を２つの入出力ポートPORT-A、PORT-Bを有するマルチポートメモリＭに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を４つの入出力ポートを有するマルチポートメモリに適用してもよい。この場合、アクティブコマンドACTの供給間隔（タイミング仕様）は、メモリコアの動作期間の４倍以上に設定される。
【０１１５】
上述した実施形態では、本発明をシンクロナスDRAMのメモリコアを有するマルチポートメモリに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をシンクロナスSRAMのメモリコアを有するマルチポートメモリに適用してもよい。
【０１１６】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）  メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備え、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号に応じて前記メモリコアを動作させることを特徴とするマルチポートメモリ。
（付記２）  付記１記載のマルチポートメモリにおいて、
前記アドレス信号は、このアドレス信号を取り込む前記クロック信号のエッジより所定のセットアップ時間だけ前に確定され、
前記制御回路は、前記クロック信号の前記エッジより前に確定する前記アドレス信号を使用して前記アドレス信号の先着を判断することを特徴とするマルチポートメモリ。
（付記３）  付記２記載のマルチポートメモリにおいて、
前記制御回路は、両方の前記入出力ポートで受ける前記クロック信号の前記エッジのうち、先に受けた前記クロック信号の前記エッジに同期して、前記アドレス信号の先着を判断することを特徴とするマルチポートメモリ。
（付記４）  付記１記載のマルチポートメモリにおいて、
前記入出力ポートは、他の前記入出力ポートから先に供給された前記アドレス信号に応じて前記メモリコアが動作することを示すビジー信号を出力するビジー端子をそれぞれ備えていることを特徴とするマルチポートメモリ。
（付記５）  付記１記載のマルチポートメモリにおいて、
前記メモリコアは、前記アドレス信号の供給に伴い同時に動作するセンスアンプの領域に対応して割り当てられていることを特徴とするマルチポートメモリ。
（付記６）  付記１記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備えていることを特徴とするマルチポートメモリ。
（付記７）  付記６記載のマルチポートメモリにおいて、
前記読み出し動作および前記書き込み動作時に、前記コマンド端子は、前記メモリコアの所定のメモリ領域を活性化するアクティブコマンドと、前記メモリ領域に対する読み出しおよび書き込みのいずれかを示す動作コマンドとを順次受けることを特徴とするマルチポートメモリ。
（付記８）  付記７記載のマルチポートメモリにおいて、
前記アドレス端子は、前記アクティブコマンドおよび前記動作コマンドにそれぞれ対応して、前記メモリコア内の所定の領域を選択するための前記アドレス信号、および前記領域内の所定の前記メモリセルを選択するための前記アドレス信号を順次受けることを特徴とするマルチポートメモリ。
（付記９）  付記７記載のマルチポートメモリにおいて、
前記動作コマンドは、前記アクティブコマンドの供給から常に所定のクロック数後に供給されることを特徴とするマルチポートメモリ。
（付記１０）  付記１記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号の値に応じた電荷を蓄えるキャパシタを有することを特徴とするマルチポートメモリ。
（付記１１）  付記１０記載のマルチポートメモリにおいて、
前記キャパシタに前記電荷を再書き込みするリフレッシュ動作は、前記入出力ポートのいずれかに供給される前記アドレス信号をリフレッシュアドレス信号として実行されることを特徴とするマルチポートメモリ。
（付記１２）  付記１０記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号を入出力するビット線に接続され、
前記ビット線を所定の電圧にリセットするプリチャージ動作は、読み出し動作および書き込み動作の後、自動的に実行されることを特徴とするマルチポートメモリ。
（付記１３）  付記１２記載のマルチポートメモリにおいて、
前記読み出し動作および前記書き込み動作は、前記アクティブコマンドの受け付けから常に所定の期間後に終了することを特徴とするマルチポートメモリ。
（付記１４）  メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備え、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号から順次前記メモリコアを動作させることを特徴とするマルチポートメモリ。
（付記１５）  付記１４記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備え、
前記各入出力ポートにおいて、前記メモリコアを活性化させるコマンド信号は、前記読み出し動作および前記書き込み動作に必要な前記メモリコアの動作期間の２倍以上の供給間隔で供給されることを特徴とするマルチポートメモリ。
（付記１６）  付記１５記載のマルチポートメモリにおいて、
前記各入出力ポートにおいて前記コマンド信号が前記供給間隔を空けずに供給されたとき、供給された前記コマンド信号は無効にされることを特徴とするマルチポートメモリ。
（付記１７）  付記１５記載のマルチポートメモリにおいて、
異なる前記入出力ポートにおいては、前記コマンド信号の供給間隔が前記動作期間の２倍未満のときにも、供給された前記コマンド信号は受け付けられることを特徴とするマルチポートメモリ。
（付記１８）  付記１４記載のマルチポートメモリにおいて、
複数個の前記メモリセルに対応するのデータを保持するバッファを備え、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリ。
（付記１９）  付記１４記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備えていることを特徴とするマルチポートメモリ。
（付記２０）  付記１９記載のマルチポートメモリにおいて、
前記読み出し動作および前記書き込み動作時に、前記コマンド端子は、前記メモリコアの所定のメモリ領域を活性化するアクティブコマンドと、前記メモリ領域に対する読み出しおよび書き込みのいずれかを示す動作コマンドとを順次受けることを特徴とするマルチポートメモリ。
（付記２１）  付記２０記載のマルチポートメモリにおいて、
前記アドレス端子は、前記アクティブコマンドおよび前記動作コマンドにそれぞれ対応して、前記メモリコア内の所定の領域を選択するための前記アドレス信号、および前記領域内の所定の前記メモリセルを選択するための前記アドレス信号を順次受けることを特徴とするマルチポートメモリ。
（付記２２）  付記１４記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号の値に応じた電荷を蓄えるキャパシタを有することを特徴とするマルチポートメモリ。
（付記２３）  付記２２記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号を入出力するビット線に接続され、
前記ビット線を所定の電圧にリセットするプリチャージ動作は、読み出し動作および書き込み動作の後、自動的に実行されることを特徴とするマルチポートメモリ。
（付記２４）  メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路と、
複数個の前記メモリセルに対応するデータを保持するバッファとを備え、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリ。
（付記２５）  付記２４記載のマルチポートメモリにおいて、
読み出し動作の開始時に、所定のビット数の前記データが、前記メモリセルから前記バッファに一度に転送され、
個々の前記アドレス信号に対応する前記データは、前記バッファから読み出させることを特徴とするマルチポートメモリ。
（付記２６）  付記２４記載のマルチポートメモリにおいて、
書き込み動作の開始時に、所定のビット数の前記データが、前記メモリセルから前記バッファに一度に転送され、
個々の前記アドレス信号に対応する前記データは、前記バッファに書き込まれ、
前記書き込み動作の終了時に、前記バッファに保持されている前記データが、前記メモリセルに一度に書き込まれることを特徴とするマルチポートメモリ。
（付記２７）  付記２４記載のマルチポートメモリにおいて、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号のみに応じて前記メモリコアを動作させることを特徴とするマルチポートメモリ。
（付記２８）  付記２４記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備え、
前記コマンド信号が示す動作コマンドは、
前記バッファを使用して前記読み出し動作および前記書き込み動作を実行するページ動作コマンドと、
前記バッファを使用せず前記読み出し動作および前記書き込み動作を実行する通常動作コマンドとを含むことを特徴とするマルチポートメモリ
（付記２９）  付記２８記載のマルチポートメモリにおいて、
前記メモリコアは、読み出し動作および書き込み動作時に活性化される複数のワード線を有し、
前記通常動作コマンドは、同一の前記ワード線に接続され、かつアドレスの連続する複数の前記メモリセルに対応するデータを順次アクセスするバースト動作を含むことを特徴とするマルチポートメモリ。
（付記３０）  メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備えたマルチポートメモリの制御方法であって、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号に応じて前記メモリコアを動作させることを特徴とするマルチポートメモリの制御方法。
（付記３１）  付記３０記載のマルチポートメモリの制御方法において、
前記アドレス信号は、このアドレス信号を取り込む前記クロック信号のエッジより所定のセットアップ時間だけ前に確定され、
前記制御回路は、前記クロック信号の前記エッジより前に確定する前記アドレス信号を使用して前記アドレス信号の先着を判断することを特徴とするマルチポートメモリの制御方法。
（付記３２）  付記３１記載のマルチポートメモリの制御方法において、
前記制御回路は、両方の前記入出力ポートで受ける前記クロック信号の前記エッジのうち、先に受けた前記クロック信号の前記エッジに同期して、前記アドレス信号の先着を判断することを特徴とするマルチポートメモリの制御方法。
（付記３３）  付記３０記載のマルチポートメモリの制御方法において、
前記メモリコアが先に受けた他の前記入出力ポートからの前記アドレス信号に応じて動作することを示すビジー信号を出力することを特徴とするマルチポートメモリの制御方法。
（付記３４）  メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備えたマルチポートメモリの制御方法であって、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号から順次前記メモリコアを動作させることを特徴とするマルチポートメモリの制御方法。
（付記３５）  付記３４記載のマルチポートメモリの制御方法において、
前記各入出力ポートにおいて、前記メモリコアを活性化させるコマンド信号を、前記読み出し動作および前記書き込み動作に必要な前記メモリコアの動作期間の２倍以上の間隔で受けることを特徴とするマルチポートメモリの制御方法。
（付記３６）  付記３５記載のマルチポートメモリの制御方法において、
前記各入出力ポートにおいて前記コマンド信号の供給間隔が前記動作期間の２倍未満のときに、供給された前記コマンド信号を無効にすることを特徴とするマルチポートメモリの制御方法。
（付記３７）  メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路と、
複数個の前記メモリセルに対応するデータを保持するバッファとを備えたマルチポートメモリの制御方法であって、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリの制御方法。
（付記３８）  付記３７記載のマルチポートメモリの制御方法において、
読み出し動作の開始時に、所定のビット数の前記データを、前記メモリセルから前記バッファに一度に転送し、
個々の前記アドレス信号に対応する前記データを、前記バッファから読み出すことを特徴とするマルチポートメモリの制御方法。
（付記３９）  付記３７記載のマルチポートメモリの制御方法において、
書き込み動作の開始時に、所定のビット数の前記データを、前記メモリセルから前記バッファに一度に転送し、
個々の前記アドレス信号に対応する前記データを、前記バッファに書き込み、
前記書き込み動作の終了時に、前記バッファに保持されている前記データを、前記メモリセルに一度に書き込むことを特徴とするマルチポートメモリの制御方法。
（付記４０）  付記３７記載のマルチポートメモリの制御方法において、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号のみに応じて前記メモリコアを動作させることを特徴とするマルチポートメモリの制御方法。
【０１１７】
付記４、付記６〜付記１３、付記１９〜付記２３のマルチポートメモリでは、メモリコアの動作の要求をコマンド信号で受けてもよい。このとき、コマンド信号は、クロック信号に同期して入出力ポートのコマンド端子に供給される。コマンド信号は、メモリブロックの所定のメモリ領域を活性化するアクティブコマンドと、このメモリ領域に対する読み出しまたは書き込みを示す動作コマンドとに分けて順次供給されてもよい。同様に、アドレス信号も時分割で順次供給されてもよい。動作コマンドをアクティブコマンドの供給から常に所定のクロック数後に供給される仕様にすることで、読み出しサイクル時間および書き込みサイクル時間を一定にできる。
【０１１８】
メモリブロックのメモリセルをDRAMで構成した場合、リフレッシュ動作が必要になる。このとき、リフレッシュ動作は、入出力ポートのいずれかに供給されるアドレス信号をリフレッシュアドレスとして実行される。このため、マルチポートメモリ内に形成するリフレッシュの制御回路を最小限にでき、チップサイズを小さくできる。
【０１１９】
メモリセルに接続されたビット線を所定の電圧にリセットするプリチャージ動作を、読み出し動作または書き込み動作の後自動的に実行することで、読み出し動作および書き込み動作を動作の開始から所定の期間で常に終了できる。すなわち、読み出しサイクル時間および書き込みサイクル時間を一定にできる。
【０１２０】
また、各入出力ポートにビジー信号を出力するビジー端子を形成してもよい。ビジー信号は、入出力ポートに供給されたアドレス信号と同じアドレス信号が、他の入出力ポートに供給され、他の入出力ポートに対するメモリ動作が実行されたときに出力される。このため、マルチポートメモリに接続されたコントローラは、要求した動作が実行されなかったことを容易に認識できる。
【０１２１】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【符号の説明】
【０１２２】
１０  入出力回路
１２ａ、１２ｂ  モードレジスタ
１４ａ、１４ｂ  クロックバッファ
１６ａ、１６ｂ  データの入出力バッファ
１８ａ、１８ｂ  アドレスバッファ／レジスタ
２０ａ、２０ｂ  コマンドバッファ
２２ａ、２２ｂ  ビジーバッファ
２４ａ、２４ｂ  クロックバッファ
２６ａ、２６ｂ  コマンドラッチ
２８ａ、２８ｂ  データラッチ
３０ａ、３０ｂ  行アドレスラッチ
３１ａ、３１ｂ  行アドレスバッファ
３２ａ、３２ｂ  列アドレスラッチ
３４  調停回路
３６  制御信号ラッチ
３８  列アドレスカウンタ
４０  メモリコア
４２  アドレス比較回路
４２ａ  アドレス一致回路
４２ｂ  比較器
４２ｃ  EOR回路
４２ｄ  nMOSトランジスタ
４２ｅ  パルス発生器
４２ｆ  フリップフロップ
４４  調停制御回路
４４ａ、４４ｂ  制御回路
４６ａ、４６ｂ  データレジスタ
４８  調停制御回路
４８ａ、４８ｂ  制御回路
５０ａ、５０ｂ  ページバッファ
ADDA、ADDB  アドレス信号
/BSYA、/BSYB  ビジー信号
CA  列アドレス信号
CLKA、CLKB  クロック信号
CMDA、CMDB  コマンド信号
/COIN1、/COIN2  一致信号
DCLKA、DCLKB  遅延クロック信号
DQA、DQB  データ信号
/ENA、/ENB  イネーブル信号
/FSTA、/FSTB  先着信号
Ｍ  マルチポートメモリ
MB  メモリブロック
PLSA、PLSB  パルス
PRD  読み出しコマンド
PWR  書き込みコマンド
RA  行アドレス信号
RESETA、RESETB  リセット信号
PORT-A、PORT-B  入出力ポート
RVS  リバース信号
RWCMD  読み書きコマンド信号
SA  センスアンプ列
【図１】
2011023110.tif 000003
【図２】
2011023110.tif 000004
【図３】
2011023110.tif 000005
【図４】
2011023110.tif 000006
【図５】
2011023110.tif 000007
【図６】
2011023110.tif 000008
【図７】
2011023110.tif 000009
【図８】
2011023110.tif 000010
【図９】
2011023110.tif 000011
【図１０】
2011023110.tif 000012
【図１１】
2011023110.tif 000013
【図１２】
2011023110.tif 000014
【図１３】
2011023110.tif 000015
【図１４】
2011023110.tif 000016
【図１５】
2011023110.tif 000017
【図１６】
2011023110.tif 000018
【図１７】
2011023110.tif 000019
【図１８】
2011023110.tif 000020
【図１９】
2011023110.tif 000021
【図２０】
2011023110.tif 000022
【図２１】
2011023110.tif 000023
【図２２】
2011023110.tif 000024
【図２３】
2011023110.tif 000025
【図２４】
2011023110.tif 000026
【図２５】
2011023110.tif 000027
【図２６】
2011023110.tif 000028
【図２７】
2011023110.tif 000029
【図２８】
2011023110.tif 000030
【図２９】
2011023110.tif 000031