以下、本発明の実施形態を図面を用いて説明する。
図1は、本発明に関連するマルチポートメモリの第1の実施形態を示している。マルチポートメモリMは、シリコン基板上にCMOSプロセスを使用して形成されている。
マルチポートメモリMは、2つの入出力ポートPORT-A、PORT-B、これ等ポートPORT-A、PORT-Bに信号を入出力する入出力回路10、および複数のメモリブロックMBを有している。メモリブロックMBは、DRAMのメモリコア(メモリセル、センスアンプ列SA等を有する)、および図示しない制御回路・デコーダ等を有している。メモリセルは、データ信号の値に応じた電荷を蓄えるキャパシタを有している。メモリコアは、ポートPORT-AまたはポートPORT-Bを介して供給される行アドレス信号に応じていずれかが選択される。一つのメモリコア内のセンスアンプ列SAの全センスアンプは、メモリコアの選択に応答して同時に活性化される。すなわち、後述するアクティブコマンドACTに応じてメモリコアが活性化され、メモリコア内の全てのメモリセル領域が選択される。読み出しデータまたは書き込みデータは、センスアンプの活性化後に供給される列アドレス信号に応じて所定のメモリセルに読み書きされる。
図2は、マルチポートメモリMの入出力回路10およびメモリブロックMBの詳細を示している。図中の太線で示した信号線は、複数本で構成されている。入出力回路10は、入出力ポートPORT-A、PORT-Bにそれぞれ対応して、モードレジスタ12a、12b、クロックバッファ14a、14b、データの入出力バッファ16a、16b、アドレスバッファ/レジスタ18a、18b、コマンドバッファ20a、20bおよびビジーバッファ22a、22bを有している。モードレジスタ12a、12bは、マルチポートメモリMの動作モードを外部から設定するためのレジスタである。
クロックバッファ14a、アドレスバッファ/レジスタ18a、およびコマンドバッファ20aは、外部から供給されるクロック信号CLKA、アドレス信号ADDA、コマンド信号CMDAをメモリブロックMBに伝えている。入出力バッファ16aは、データ信号DQAをメモリブロックMBに入出力している。ビジーバッファ22aは、ビジー信号/BSYAを外部に出力している。クロックバッファ14b、アドレスバッファ/レジスタ18b、およびコマンドバッファ20bは、外部から供給されるクロック信号CLKB、アドレス信号ADDB、コマンド信号CMDBをメモリブロックMBに伝えている。入出力バッファ16bは、データ信号DQBをメモリブロックMBに入出力している。ビジーバッファ22bは、ビジー信号/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の立ち上がりエッジに同期して供給される。このように、マルチポートメモリMは、入出力ポートPORT-A、PORT-Bからそれぞれ専用のクロック信号CLKA、CLKBを受け、これ等クロック信号CLKA、CLKBに同期して動作する。
メモリブロックMBは、入出力ポートPORT-A、PORT-Bに対応して、それぞれクロックバッファ24a、24b、コマンドラッチ26a、26b、データラッチ28a、28b、行アドレスラッチ30a、30b、行アドレスバッファ31a、31b、および列アドレスラッチ32a、32bを有している。メモリブロックMBは、入出力ポートPORT-A、PORT-Bに共通に、調停回路34、制御信号ラッチ36、列アドレスカウンタ38、およびメモリコア40を有している。メモリコア40は、クロックに同期してコマンド信号RAS、CAS、WE、行アドレス信号RA、列アドレス信号CAを取り込むSDRAM(Synchronous DRAM)タイプのメモリコアである。
入出力ポートPORT-Aに対応するモードレジスタ12a、クロックバッファ24a、コマンドラッチ26a、データラッチ28a、行アドレスバッファ31a、列アドレスラッチ32aは、調停回路34から出力されるイネーブル信号/ENAの活性化時に動作する。入出力ポートPORT-Bに対応するモードレジスタ12b、クロックバッファ24b、コマンドラッチ26b、データラッチ28b、行アドレスバッファ31b、列アドレスラッチ32bは、調停回路34から出力されるイネーブル信号/ENBの活性化時に動作する。
すなわち、イネーブル信号/ENAの活性化時に、クロックバッファ24aは、クロック信号CLKAをメモリコア40のクロック端子CLKに出力し、コマンドラッチ26aは、ラッチしたコマンド信号CMDAを制御信号ラッチ36に出力し、行アドレスバッファ31aは、ラッチした行アドレス信号RA(例えば、上位アドレスに対応する)をメモリコア40の行アドレス端子RAに出力し、列アドレスラッチ32aは、ラッチした列アドレス信号CA(例えば、下位アドレスに対応する)を列アドレスカウンタ38に出力し、データラッチ28aは、メモリコア40のデータ入出力端子DQおよび入出力バッファ16aにデータ信号を入出力する。
同様に、イネーブル信号/ENBの活性化時に、クロックバッファ24bは、クロック信号CLKBをメモリコア40のクロック端子CLKに出力し、コマンドラッチ26bは、ラッチしたコマンド信号CMDBを制御信号ラッチ36に出力し、行アドレスバッファ31bは、ラッチした行アドレス信号RAをメモリコア40の行アドレス端子RAに出力し、列アドレスラッチ32bは、ラッチした列アドレス信号CAを列アドレスカウンタ38に出力し、データラッチ28bは、メモリコア40のデータ入出力端子DQおよび入出力バッファ16bにデータ信号を入出力する。
制御信号ラッチ36は、受けたコマンド信号CMDA、CMDBに応じてメモリコア40を動作させるための行アドレスストローブ信号RAS、列アドレスストローブ信号CAS、およびライトイネーブル信号WEを生成し、生成した信号をメモリコア40に出力する。また、制御信号ラッチ36は、読み出し動作および書き込み動作を示す読み書きコマンド信号RWCMDを調停回路34に出力する。
列アドレスカウンタ38は、モードレジスタ12a、12bからのバースト長の情報、およびアドレス信号ADDA、ADDBに応じて列アドレス信号CAを生成し、メモリコア40に出力する。調停回路34は、アドレス比較回路42および調停制御回路44を有している。アドレス比較回路42は、入出力ポートPORT-A、PORT-Bから供給されるアドレス信号ADDA、ADDBのうち行アドレス信号RAを比較し、これ等信号の先着を判断する。調停制御回路44は、アドレス比較回路42の比較結果に応じて、ビジー信号/BSYA、/BSYBおよび内部回路を動作させるためのイネーブル信号/ENA、/ENBを生成する。
図3は、アドレス比較回路42の詳細を示している。アドレス比較回路42は、2つのアドレス一致回路42aおよびアドレスの先着を判断する比較器42bを有している。アドレス一致回路42aは、アドレス信号ADDA、ADDBのうち行アドレス信号RAの各ビットを比較する複数のEOR回路42c、およびEOR回路42cにそれぞれ対応する複数のnMOSトランジスタ42dを有している。nMOSトランジスタ42dは、ゲートをEOR回路42cの出力に接続し、ソースを接地し、ドレインを互いに接続している。各EOR回路42cは、入出力ポートPORT-A、PORT-Bの行アドレス信号RAのビット値が一致したとき、低レベルを出力し、行アドレス信号RAのビット値が一致しないとき、高レベルを出力する。nMOSトランジスタ42dは、EOR回路42cからの低レベルを受けてオフし、高レベルを受けてオンする。すなわち、アドレス一致回路42aから出力される一致信号/COIN1、/COIN2は、行アドレス信号RAの全ビットが一致したときにフローティングになり、行アドレス信号が1ビットでも異なるときに低レベルになる。2つのアドレス一致回路42aは、図1に示したメモリブロックMBにおける図の上側の端および下側の端(入出力回路10側)にそれぞれ配置されている。アドレス一致回路42aを入出力回路10に近接して配置することで、アドレス信号ADDA、ADDBのアドレス一致回路42aまでの伝搬遅延時間を短くできる。この結果、アドレス信号ADDA、ADDBを早いタイミングで比較でき、高速動作が可能になる。比較器42bは、一致信号/COIN1、/COIN2およびクロック信号CLKA、CLKBを受け、先着信号/FSTA、/FSTBを出力する。
図4は、比較器42bの詳細を示している。比較器42bは、クロック信号CLKA、CLKBの立ち上がりエッジに同期して、それぞれ正のパルスPLSA、PLSBを生成するパルス発生器42e、およびパルスPLSA、PLSBを入力端子で受けるフリップフロップ42fを有している。比較器42bは、パルスPLSA、PLSBを出力するインバータの入力でそれぞれ一致信号/COIN1、/COIN2を受けている。比較器42b内でパルスを生成するNANDゲートは、その素子サイズを小さくして形成されている。このため、NANDゲートが出力する信号と一致信号/COIN1、/COIN2とが衝突したとき、一致信号/COIN1、/COIN2が優先される。フリップフロップ42fは、パルスPLSAを受けたときに先着信号/FSTAを低レベルにし、パルスPLSBを受けたときに先着信号/FSTBを低レベルにする。
図5は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号が一致したときの比較器42bの動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一である。図3に示したアドレス一致回路42aは、行アドレス信号RAが一致したとき、一致信号/COIN1、/COIN2をいずれもフローティング(Hi-Z)にする。このため、クロック信号CLKA、CLKBの立ち上がりエッジに同期してそれぞれパルスPLSA、PLSBが生成される(図5(a))。図4に示したフリップフロップ42fは、先に受けたパルスPLSAに応答して先着信号/FSTAを活性化する(図5(b))。後に受けたパルスPLSBに応答する先着信号/FSTBは、先着信号/FSTAの非活性化後に活性化される(図5(c))。
図6は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致しないときの比較器42bの動作を示している。この例においても、クロック信号CLKA、CLKBの周期は同一である。アドレス一致回路42aは、行アドレス信号RAが1ビットでも一致しない場合、一致信号/COIN1、/COIN2をいずれも低レベルにする(図6(a))。このため、図4に示したパルス発生器42eは、クロック信号CLKA、CLKBにかかわらずパルスPLSA、PLSBを強制的に低レベルにする(図6(b))。この結果、先着信号/FSTA、/FSTBは、高レベルに保持される(図6(c))。
図7は、クロック信号CLKA、CLKBの周期が異なる場合、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致したときの比較器42bの動作を示している。この例では、クロック信号CLKBの周期は、クロック信号CLKAの周期の2倍に設定されている。行アドレス信号RAは、クロック信号CLKA、CLKBの立ち上がりエッジに同期してそれぞれ取り込まれる。図中、実線の行アドレス信号RAは、入出力ポートPORT-A、PORT-Bを介して供給された信号を示し、破線の行アドレス信号RAは、図2に示した行アドレスラッチ30a、30bにラッチされた信号を示している。
行アドレス信号RAが一致したとき、一致信号/COIN1、/COIN2は、図5と同様にいずれもフローティング(Hi-Z)になる。一致信号/COIN1、/COIN2がフローティングになることで、図4に示したパルス発生器42eが有効になり、クロック信号CLKA、CLKBの立ち上がりエッジに同期してそれぞれパルスPLSA、PLSBおよび先着信号/FSTA、/FSTBが生成される。
図8は、図2に示した調停回路34における調停制御回路44を示している。調停制御回路44は、入出力ポートPORT-A、PORT-Bにそれぞれ対応して、制御回路44a、44bを有している。制御回路44aは、リセット信号RESETA、遅延クロック信号DCLKA、アクティブコマンド信号ACTA、先着信号/FSTA、およびビジー信号/BSYAを受け、イネーブル信号/ENAおよびビジー信号/BSYBを出力している。制御回路44bは、リセット信号RESETB、遅延クロック信号DCLKB、アクティブコマンド信号ACTB、先着信号/FSTB、およびビジー信号/BSYBを受け、イネーブル信号/ENBおよびビジー信号/BSYAを出力している。
リセット信号RESETA、RESETBは、入出力ポートPORT-A、PORT-Bに対応する読み出し動作および書き込み動作が完了したときにそれぞれ所定の期間活性化される。遅延クロック信号DCLKA、DCLKBは、クロック信号CLKA、CLKBを遅延させた信号である。アクティブコマンド信号ACTA、ACTBは、入出力ポートPORT-A、PORT-BにアクティブコマンドACTが供給されたとき活性化される。
図9は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号が一致したときの調停制御回路44の動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一である。クロック信号CLKAに同期してアクティブコマンドACTが供給され、その直後にクロック信号CLKBに同期してアクティブコマンドACTが供給される。
制御回路44aは、遅延クロック信号DCLKAの立ち上がりエッジに同期して低レベルの先着信号/FSTAを取り込み、ビジー信号/BSYBを活性化する(図9(a))。制御回路44aは、アクティブコマンド信号ACTAの活性化およびビジー信号/BSYAの非活性化を受け、イネーブル信号/ENAを活性化する(図9(b))。制御回路44bは、遅延クロック信号DCLKBの立ち上がりエッジに同期して高レベルの先着信号/FSTBを取り込むため、ビジー信号/BSYAは活性化されない(図9(c))。制御回路44bは、アクティブコマンド信号ACTBの活性化を受けるが、ビジー信号/BSYBが活性化されているため、イネーブル信号/ENBを活性化しない(図9(d))。
イネーブル信号/ENAの活性化により、入出力ポートPORT-Aに供給された信号が、メモリコア40に伝達される。メモリコア40は、活性化され、入出力ポートPORT-Aを介して供給される読み出しコマンドRDに応じて読み出し動作を実行する。読み出し動作の完了後、制御回路44aは、リセット信号RESETAの活性化を受け、イネーブル信号/ENAおよびビジー信号/BSYBを非活性化する(図9(e))。
次に、上述したマルチポートメモリMの動作を説明する。
図10は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致したときの動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一であり、クロック信号CLKAの位相は、クロック信号CLKBの位相より若干進んでいる。入出力ポートPORT-A、PORT-Bにおけるバースト長は、モードレジスタ12a、12bによってともに"4"に設定されている。バースト長は、1回の書き込み動作または読み出し動作で入出力されるデータの数である。
入出力ポートPORT-Aは、クロック信号CLKAの立ち上がりエッジに同期してアクティブコマンドACT(コマンド信号CMDA)および行アドレス信号RA(アドレス信号ADDA)を受ける(図10(a))。入出力ポートPORT-Bは、入出力ポートPORT-Aによる信号の受信直後に、クロック信号CLKBの立ち上がりエッジに同期してアクティブコマンドACT(コマンド信号CMDB)および行アドレス信号RA(アドレス信号ADDB)を受ける(図10(b))。ここで、コマンド信号CMDA、CMDB、アドレス信号ADDA、ADDBは、クロック信号CLKA、CLKBの立ち上がりエッジに対してそれぞれ所定のセットアップ時間tSだけ前に確定される(タイミング仕様)。
ポートPORT-Bに供給された行アドレス信号RAは、ポートPORT-Aに供給された行アドレス信号RAと同じため、図5に示したように、先着信号/FSTA、/FSTBが順次生成される。調停制御回路44は、図9で説明したように、先着信号/FSTA、/FSTBに応じてイネーブル信号/ENAおよびビジー信号/BSYBを活性化する(図10(c)、(d))。このように、アドレス信号の先着は、セットアップ時間tS内に供給された行アドレス信号RAを使用して、位相の早いクロック信号(この例ではCLKA)の立ち上がりエッジで判断される。この後、イネーブル信号/ENAの活性化により、行アドレス信号RAに対応するメモリコア40が動作する(図10(e))。
入出力ポートPORT-Bに接続されたCPU等のコントローラは、ビジー信号/BSYBを受けてマルチポートメモリMに供給したアクティブコマンドACTが無効であると判断する。入出力ポートPORT-Aは、次のクロック信号CLKAの立ち上がりエッジに同期して読み出しコマンドRD(コマンド信号CMDA)および列アドレス信号CA(アドレス信号ADDA)を受ける(図10(f))。入出力ポートPORT-Bは、次のクロック信号CLKBの立ち上がりエッジに同期して読み出しコマンドRD(コマンド信号CMDB)および列アドレス信号CA(アドレス信号ADDB)を受ける(図10(g))。読み出しコマンドRD(または書き込みコマンドWR)は、アクティブコマンドACTの供給後、次のクロック信号CLKA、CLKBに同期して供給される(タイミング仕様)。なお、入出力ポートPORT-Bに接続されたコントローラは、ビジー信号/BSYBに応じて読み出しコマンドRDおよび列アドレス信号CAを出力しない場合もある。
メモリブロックMBは、入出力ポートPORT-Aに供給された列アドレス信号CAに対応するメモリセルから読み出したデータを、データ信号DQA(Q0-Q3)として順次出力する(図10(h))。データ信号DQAは、読み出しコマンドRDの受け付けから2クロック後に出力される。メモリコア40は、バースト長(=4)に対応する数のデータ信号DQAを出力した後、プリチャージ動作を実行し(図10(i))、メモリサイクルを完了する。イネーブル信号/ENAは、読み出し動作の完了に応答して非活性化される(図10(j))。ここで、プリチャージ動作は、メモリセルに入出力するデータを伝えるビット線を所定の電位にチャージし、行アドレスに関係する回路を非活性化する動作である。すなわち、プリチャージ動作は、メモリ動作の都度自動的に実行される。プリチャージ動作のタイミングは、モードレジスタに保持された入出力ポートPORT-A、PORT-Bのバースト長のうち、大きい方に依存して設定される。この実施形態では、バースト長が"4"の場合、メモリサイクル(読み出し動作および書き込み動作に要する期間)は、4クロックサイクルに固定される。すなわち、読み出し動作および書き込み動作は、アクティブコマンドの受け付けから常に所定の時間後に終了する。
データQ1を出力するクロック信号CLKAに同期して、入出力ポートPORT-Aに次のアクティブコマンドACTが供給される(図10(k))。このとき、コマンド信号CMDBは、入出力ポートPORT-Bに供給されないため、図3に示したアドレス比較回路42での行アドレス信号RAの比較は不一致になる。このため、ビジー信号/BSYA、/BSYBは活性化されず、イネーブル信号/ENAのみ活性化される(図10(l))。先着信号/FSTA、/FSTBは、図6に示したように高レベルに保持される。
そして、上述と同様に入出力ポートPORT-Aに供給される行アドレス信号RAに応じてメモリコア40が動作する(図10(m))。メモリブロックMBは、次のクロック信号CLKAに同期して供給される読み出しコマンドRDおよび列アドレス信号CAに応じて、データ信号DQA(Q0-Q3)を順次出力する(図10(n))。入出力ポートPORT-Aに対応するメモリコア40の動作が完了した後、アクティブコマンドACTおよび読み出しコマンドRDが入出力ポートPORT-Bに順次供給される(図10(o))。このとき、コマンド信号CMDAは、入出力ポートPORT-Aに供給されないため、入出力ポートPORT-Bに対応してメモリコア40が動作し、データ信号DQBが出力される(図10(p))。
なお、特に図示していないが、メモリセルのキャパシタに電荷を再書き込みするリフレッシュ動作は、リフレッシュするメモリコア40を指定する行アドレス信号RAと、リフレッシュコマンドとが、クロック信号の立ち上がりエッジに同期して供給されることで実行される。リフレッシュは、入出力ポートPORT-A、PORT-Bのいずれからも要求できる。このように、リフレッシュ動作は、外部から供給されるアドレス信号に応じてメモリコア40単位で実行される。
図11は、クロック信号CLKA、CLKBの周期は同一で、クロック信号CLKAの位相がクロック信号CLKBの位相より半クロック以上進んでいるときの動作を示している。マルチポートメモリMに供給されるコマンド信号CMDA、CMDBおよびアドレス信号ADDA、ADDBの値は、図10と同じである。この例では、アクティブコマンドACTおよび行アドレス信号RAが入出力ポートPORT-Aに供給されたとき(図11(a))、コマンド信号CMDBおよびアドレス信号ADDBは、まだ入出力ポートPORT-Bに供給されていない。このため、イネーブル信号/ENAが活性化され(図11(b))、入出力ポートPORT-Aに対応してメモリコア40が動作する(図11(c))。この後、アクティブコマンドACTと、入出力ポートPORT-Aと同じ行アドレス信号RAとが、入出力ポートPORT-Bに供給される(図11(d))。
図8に示した制御回路44bは、先着信号/FSTAの活性化およびイネーブル信号/ENAの活性化に応じて、ビジー信号/BSYBを活性化する(図11(e))。入出力ポートPORT-Bに接続されたCPU等のコントローラは、ビジー信号/BSYBを受けてマルチポートメモリMに供給したアクティブコマンドACTが無効であると判断する。この後の動作は、上述した図10と同一である。
図12は、入出力ポートPORT-A、PORT-Bにほぼ同時に供給された行アドレス信号RAが互いに異なるときの動作を示している。クロック信号CLKA、CLKBの周期は同一であり、クロック信号CLKAの位相がクロック信号CLKBの位相より若干進んでいる。バースト長は、モードレジスタ12により、入出力ポートPORT-A、PORT-Bともに"4"に設定されている。
行アドレス信号RAが異なる場合、動作するメモリコア40が異なるため、図4に示した比較器42bは、先着信号/FSTA、/FSTBをともに非活性化する。すなわち、アドレスの調停動作は実行されない。調停制御回路44は、先着信号/FSTA、/FSTBの非活性化およびアクティブコマンド信号ACTA、ACTBの活性化を受け、イネーブル信号/ENA、/ENBを活性化する(図12(a)、(b))。このため、入出力ポートPORT-Aに供給されたアクティブコマンドACTおよび行アドレス信号RAに応じて、所定のメモリコア40が動作し(図12(c))、入出力ポートPORT-Bに供給されたアクティブコマンドACTおよび行アドレス信号RAに応じて、別のメモリコア40が動作する(図12(d))。すなわち、入出力ポートPORT-A、PORT-Bは、それぞれ独立に動作する。行アドレス信号RAが互いに異なるため、ビジー信号/BSYA、/BSYBはいずれも活性化されない。
以上、この実施形態では、同一のメモリコア40を示す行アドレス信号RAをそれぞれクロック信号CLKA、CLKBに同期して入出力ポートPORT-A、PORT-Bで受けたとき、先に受けた行アドレス信号RAに応じてメモリコア40を動作した。すなわち、クロック同期式のマルチポートメモリMを構成できる。
調停回路34は、行アドレス信号RAを比較するだけでよいため、簡易に構成できる。この結果、マルチポートメモリMのチップサイズを小さくできる。各入出力ポートPORT-A、PORT-Bがそれぞれクロック端子CLKA、CLKBを有しているため、入出力ポートPORT-A、PORT-B毎にクロック信号CLKA、CLKBの周波数を設定できる。すなわち、マルチポートメモリMに様々な動作周波数の複数のコントローラを接続できる。
クロック信号CLKA、CLKBの立ち上がりエッジより前に確定する行アドレス信号RAを使用してアドレスの先着を判断した。すなわち、アドレス信号のセットアップ時間tSを利用してアドレスの先着を判断した。このため、メモリコア40が動作を開始する前に優先させる入出力ポートを決定することができ、メモリ動作を高速に実行できる。アドレス信号の先着を位相の早いクロック信号CLKA(またはCLKB)の立ち上がりエッジで判断することで、より高速にメモリ動作を実行できる。
調停回路34において、アドレス比較回路42で行アドレス信号RAを比較し、調停制御回路44でアクティブコマンドACTを取り込んだクロック信号CLKA、CLKBに同期してアドレスの一致判定をした。このように、行アドレス信号RAは、常に所定のタイミング(クロック信号のエッジ)で比較されるため、メモリ動作に関係しないアドレス信号によるメモリコア40の誤動作を防止できる。
図13は、本発明に関連するマルチポートメモリおよびマルチポートメモリの制御方法の第2の実施形態を示している。第1の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、一つのメモリブロックMB(図の太枠)が、第1の実施形態の4分の1に大きさで形成されている。すなわち、同時に活性化されるセンスアンプの数は、第1の実施形態の4分の1になる。メモリブロックMBの大きさ以外は、第1の実施形態と同じである。図13のマルチポートメモリMは、同時に動作するセンスアンプの数が少ないため、メモリ動作時の消費電力が低減される。この実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、消費電力を低減できる。
図14は、本発明に関連するマルチポートメモリおよびマルチポートメモリの制御方法の第3の実施形態を示している。第1の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
この実施形態では、各メモリブロックMBにおいて、データラッチ28とメモリコア40との間に、データ信号DQA、DQBを一時蓄えるデータレジスタ46a、46b(バッファ)がそれぞれ配置されている。データレジスタ46a、46bは、入出力ポートPORT-A、PORT-Bのいずれかに対応して動作する。また、調停回路34の調停制御回路48が第1の実施形態の調停制御回路44と相違している。調停制御回路48は、ビジー信号/BSYA、/BSYBを出力せず、入出力回路10には、ビジーバッファは形成されていない。その他の構成は、第1の実施形態とほぼ同一である。すなわち、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKB、アドレス信号ADDA、ADDB、コマンド信号CMDA、CMDB、およびデータ信号DQA、DQBは、それぞれクロック端子、アドレス端子、コマンド端子、およびデータ入出力端子を介して伝達される。メモリブロックMBは、DRAMのメモリコア40、および図示しない制御回路・デコーダ等を有している。メモリセルは、データ信号の値に応じた電荷を蓄えるキャパシタを有している。
このマルチポートメモリMは、後述するように、同じ行アドレス信号RAに対するメモリ動作の要求を、入出力ポートPORT-A、PORT-Bで同時に受けたときも、両方の入出力ポートPORT-A、PORT-Bに対してメモリ動作を実行できる。このため、第1の実施形態のように、ビジー信号/BSYA、/BSYBを外部に出力する必要はない。
各入出力ポートPORT-A、PORT-Bにおいて、アクティブコマンドACTの供給間隔(タイミング仕様)は、メモリコア40の動作期間の2倍以上の期間に設定されている。同じ入出力ポートPORT-A(またはPORT-B)において、アクティブコマンドACTの供給間隔が、上記期間より小さいとき、供給されたアクティブコマンドACTは、無効にされる。異なる入出力ポートにそれぞれ供給されたアクティブコマンドACTの供給間隔は、制限されていない。
読み出しコマンドRDおよび書き込みコマンドWRは、第1の実施形態と同様に、アクティブコマンドACTを受けた次のクロック信号に同期して供給される。メモリコア40は、動作後に自動的にプリチャージされる。この実施形態では、例えば、クロック信号CLKA、CLKBの周期tCLKは10ns、バースト長BLは"4"、データレイテンシDLは"4"に設定されている。データレイテンシDLは、読み出しコマンドRDが供給された後、データが出力されるまでのクロック数である。バースト長BLおよびデータレイテンシDLは、モードレジスタ12a、12bに設定される。
図15は、調停制御回路48の詳細を示している。調停制御回路48は、第1の実施形態の制御回路44a、44bに制御回路48a、48bを付加して構成されている。入出力ポートPORT-Aに対応する制御回路48aは、リセット信号RESETA、リバース信号RVS、および制御回路44aからイネーブル信号/ENA0、ビジー信号/BSYBを受け、イネーブル信号/ENAを出力する。入出力ポートPORT-Bに対応する制御回路48bは、リセット信号RESETB、リバース信号RVS、および制御回路44bからイネーブル信号/ENB0、ビジー信号/BSYAを受け、イネーブル信号/ENBを出力する。イネーブル信号/ENA0、/ENB0は、第1の実施形態のイネーブル信号/ENA、/ENBと同じタイミングで生成される信号である。
図16は、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号が一致したときの調停制御回路48の動作を示している。この例では、クロック信号CLKA、CLKBの周期は同一である。クロック信号CLKAに同期して入出力ポートPORT-AにアクティブコマンドACTが供給され、その直後にクロック信号CLKBに同期して入出力ポートPORT-BにアクティブコマンドACTが供給される。入出力ポートPORT-Aに接続されたコントローラは、書き込み動作を要求し、入出力ポートPORT-Bに接続されたコントローラは、読み出し動作を要求する。
制御回路44a、44bの動作は、上述した第1の実施形態(図9)とほぼ同一である。制御回路44aは、遅延クロック信号DCLKAの立ち上がりエッジに同期して低レベルの先着信号/FSTAを取り込み、ビジー信号/BSYBを活性化する(図16(a))。制御回路44bは、遅延クロック信号DCLKBの立ち上がりエッジに同期して高レベルの先着信号/FSTBを取り込むため、ビジー信号/BSYAは活性化されない(図16(b))。制御回路48aは、ビジー信号/BSYBの活性化およびリバース信号RVSの低レベルに応答してイネーブル信号/ENAを活性化する(図16(c))。制御回路48bは、ビジー信号/BSYAの非活性化およびリバース信号RVSの低レベルに応答してイネーブル信号/ENBを非活性化する(図16(d))。
次のクロック信号CLKA、CLKBに同期して、それぞれ書き込みコマンドWR、読み出しコマンドRDが供給される(図16(e))。書き込みコマンドWRおよび読み出しコマンドRDを受けて、リバース信号RVSを生成する制御回路(図示せず)は、リバース信号RVSを活性化する(図16(f))。制御回路48a、48bは、リバース信号RVSの活性化に応答してイネーブル信号/ENA、/ENBのレベルを入れ換える(図16(g))。そして、入出力ポートPORT-Bに対する読み出し動作が先に実行される(図16(h))。読み出し動作の完了後、リセット信号RESETBは活性化され、リバース信号RVSは非活性化される(図16(i))。制御回路48a、48bは、リバース信号RVSの非活性化に応答してイネーブル信号/ENA、/ENBのレベルを元に戻す(図16(j))。そして、イネーブル信号/ENAの活性化に応じて入出力ポートPORT-Aに対する読み出し動作が実行される(図16(k))。
読み出し動作の完了後、リセット信号RESETAは活性化され(図16(l))、ビジー信号/BSYBは非活性化される(図16(m))。制御回路48aは、ビジー信号BSYBの非活性化に応じてイネーブル信号/ENAを非活性化する(図16(n))。このように、この実施形態では、行アドレス信号RAが同一、かつ先着したコマンドが書き込み動作を要求し、後着したコマンドが読み出し動作を要求する場合に、読み出し動作を先に実行するようにメモリコア40が制御される。マルチポートメモリを含むDRAM等のメモリLSIでは、書き込み動作は、書き込みデータを受けた後にメモリコアを動作することで実行され、読み出し動作は、まずメモリコアを動作した後に読み出しデータを出力することで実行される。このため、通常、書き込み動作の後に読み出し動作を実行すると、動作サイクルの合計は長くなってしまう。この実施形態では、書き込み動作と読み出し動作とが競合したときに、読み出し動作を先に実行することで、動作サイクルの合計を短縮でき、データ信号を伝達するデータバスの使用効率を向上できる。
次に、第3の実施形態のマルチポートメモリMの動作を説明する。
図17は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。クロック信号CLKAの位相は、クロック信号CLKBの位相より若干進んでいる。すなわち、入出力ポートPORT-AへのアクティブコマンドACTの供給は、入出力ポートPORT-BへのアクティブコマンドACTの供給より若干早い。
まず、入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される(図17(a))。メモリセルから読み出されたデータは、一方のデータレジスタ46a(または46b)に保持される。次に、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じて読み出し動作READBが実行される(図17(b))。入出力ポートPORT-Bに対する読み出し動作READBは、調停回路34の制御により読み出し動作READAの完了後に実行される(図17(c))。読み出し動作READBに伴いメモリセルから読み出されたデータは、他方のデータレジスタ46b(または46a)に保持される(図17(d))。このように、アクティブコマンドACTおよび同一の行アドレス信号RAが、入出力ポートPORT-A、PORT-Bにほぼ同時に供給されたときも、それぞれの入出力ポートPORT-A、PORT-Bに対応して読み出し動作(または書き込み動作)が順次実行される。メモリコア40は、読み出し動作READA、READBを実行した後、それぞれ自動的にプリチャージ動作を実行し、メモリサイクルを完了する。
入出力ポートPORT-Aに対応するレジスタ46aに保持された読み出しデータは、読み出しコマンドRDを受けた後、図の5番目-8番目のクロック信号CLKAに同期して順次出力データQ0-Q3として出力される(図17(e))。入出力ポートPORT-Bに対応するレジスタ46に保持された読み出しデータは、読み出しコマンドRDを受けた後、図の5番目-8番目のクロック信号CLKBに同期して順次出力データQ0-Q3として出力される(図17(f))。
入出力ポートPORT-A、PORT-Bともに、アクティブコマンドACTから4クロック後に次のアクティブコマンドACTを受け、再び読み出し動作READAおよび読み出し動作READBを実行する(図17(g)、(h))。アクティブコマンドACTが4クロック毎に供給されることで、読み出しデータを絶え間なく出力できる(ギャップレスリード)。また、アクティブコマンドACTを4クロック毎に受けることでランダムアクセス動作が可能になる。
図18は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。まず、アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される(図18(a))。メモリセルから読み出されたデータは、一方のデータレジスタ46aに保持される(図18(b))。次に、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じて読み出し動作READAとは別のメモリコア40の読み出し動作READBが実行される(図18(c))。すなわち、読み出し動作READAと読み出し動作READBとは、独立に実行される。読み出し動作READBによりメモリセルから読み出されたデータは、他方のデータレジスタ46bに保持される(図18(d))。
レジスタ46aに保持された読み出しデータは、読み出しコマンドRDを受けた後、図の5番目-8番目のクロック信号CLKAに同期して順次出力データQ0-Q3として出力される(図18(e))。入出力ポートPORT-Bに対応するレジスタ46に保持された読み出しデータは、読み出しコマンドRDを受けた後、図の5番目-8番目のクロック信号CLKBに同期して順次出力データQ0-Q3として出力される(図18(f))。入出力ポートPORT-A、PORT-Bともに、アクティブコマンドACTから4クロック後に次のアクティブコマンドACTを受け、再び読み出し動作READAおよび読み出し動作READBを実行する(図18(g)、(h))。
図19は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、書き込み動作が実行される状態を示している。入出力ポートPORT-A、PORT-Bにおいて、アクティブコマンドACTを受けた次のクロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期して書き込みコマンドWR、列アドレス信号CAおよび最初の書き込みデータQ0、Q0が供給される(図19(a)、(b))。この後、クロック信号CLKA、CLKBに同期して書き込みデータQ1-Q3、Q1-Q3が供給される(図19(c)、(d))。
書き込みデータQ0-Q3、Q0-Q3は、それぞれ異なるデータレジスタ46a、46bに保持される(図19(e)、(f))。アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、書き込みデータQ3を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される(図19(g))。入出力ポートPORT-Bに対応する書き込み動作WRITEBは、書き込み動作WRITEAに完了後に実行される(図19(h))。書き込み動作WRITEA、WRITEBにより、データレジスタ46a、46bにそれぞれ保持された書き込みデータQ0-Q3、Q0-Q3が列アドレス信号CAに対応するメモリセルに書き込まれ、書き込み動作が完了する。書き込み動作においても、アクティブコマンドACTが4クロック毎に供給されることで、書き込みデータは、絶え間なく受信可能である(ギャップレスライト)。
図20は、入出力ポートPORT-Aに対して、書き込み動作および読み出し動作が順次実行され、入出力ポートPORT-Bに対して、入出力ポートPORT-Aの書き込み動作と同一の行アドレス信号RAの書き込み動作、および入出力ポートPORT-Aの読み出し動作と同一の行アドレス信号RAの書き込み動作が連続して実行される状態を示している。最初の書き込み動作のタイミングは、図17と同一のため、説明を省略する。
入出力ポートPORT-Bにおいて、図17と同じタイミングで2番目の書き込み動作に対応するアクティブコマンドACTが供給される(図20(a))。入出力ポートPORT-Aにコマンド信号CMDAが供給されていないため、書き込み動作WRITEBは、書き込みデータQ0-Q3を受けた後すぐに実行される(図20(b))。入出力ポートPORT-Aにおいて、図の7番目のクロック信号CLKAに同期して次のアクティブコマンドACTが供給される(図20(c))。特に図示していないが、このとき、入出力ポートPORT-Bに対するイネーブル信号/ENBが活性化されている。このため、読み出し動作READAは、書き込み動作WRITEBの後に実行される(図20(d))。マルチポートメモリMは、コマンドを受けた順に書き込み動作WRITEBおよび読み出し動作READAを実行するため、書き込み動作前のメモリセルデータが誤って読み出されることはない。
なお、入出力ポートPORT-Aが、入出力ポートPORT-B対応するデータレジスタ46bに保持されているデータを読み出しデータとして出力することで、入出力ポートPORT-Aの読み出し動作READAを入出力ポートPORT-Bの書き込み動作WRITEBより先に実行することが可能になる。
図21は、入出力ポートPORT-Aに対して、書き込み動作および読み出し動作が順次実行され、入出力ポートPORT-Bに対して、入出力ポートPORT-Aの書き込み動作と同一の行アドレス信号RAの読み出し動作、および入出力ポートPORT-Aの読み出し動作と同一の行アドレス信号RAの書き込み動作が連続して実行される状態を示している。入出力ポートPORT-Aに対する最初の書き込み動作および入出力ポートPORT-Bに対する最初の読み出し動作のタイミングは、それぞれ図19に示した書き込み動作および図18に示した読み出し動作のタイミングと同じである。
入出力ポートPORT-Aにおいて、図の7番目および8番目のクロック信号CLKAに同期してアクティブコマンドACTおよび読み出しコマンドRDが供給される(図21(a))。このとき、入出力ポートPORT-BにアクティブコマンドACTは、供給されていないため、入出力ポートPORT-Aに対する読み出し動作READAが実行される(図21(b))。次に、入出力ポートPORT-Bにおいて、図の8番目および9番目のクロック信号CLKBに同期して次のアクティブコマンドACTおよび書き込みコマンドWRが供給される(図21(c))。そして、データQ0-Q3を受けた後に入出力ポートPORT-Bに対する書き込み動作(図示せず)が実行される。
図22は、クロック信号CLKA、CLKBの周期が異なる場合、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが一致したときの動作を示している。この例では、クロック信号CLKBの周期は、クロック信号CLKAの周期の2倍に設定されている。
入出力ポートPORT-Aにおいて、アクティブコマンドACTおよび読み出しコマンドRDが、4クロック毎に供給され、図17と同様に読み出し動作が実行される。入出力ポートPORT-Bにおいても、アクティブコマンドACTおよび読み出しコマンドRDが、4クロック毎に供給される。入出力ポートPORT-Bにおける最初のアクティブコマンドACTの供給は、入出力ポートPORT-Aにおける最初のアクティブコマンドACTの供給より遅い(図22(a))。このため、図17と同様に、読み出し動作READBは、読み出し動作READAの後に実行される(図22(b))。入出力ポートPORT-Bにおける次のアクティブコマンドACTに伴う読み出し動作READBは、2つの読み出し動作READAの間に実行される(図22(c))。
この実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、各入出力ポートPORT-A、PORT-Bにおいて、アクティブコマンドACTの供給間隔(タイミング仕様)を、メモリコア40の動作期間の2倍以上に設定した。このため、入出力ポートPORT-A、PORT-Bに供給された行アドレス信号RAが同一の場合にも、それぞれのポートについて必ず読み出し動作および書き込み動作を実行できる。したがって、マルチポートメモリMを制御するコントローラは、マルチポートメモリMのビジー状態を認識しなくてよい。この結果、これ等コントローラの制御(ハードウエア、ソフトウエア)が容易になる。
図23は、本発明のマルチポートメモリおよびマルチポートメモリの制御方法の第4の実施形態を示している。第1および第3の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、上述した第3の実施形態のデータレジスタ46a、46bの代わりに、ページバッファ50a、50bが配置されている。ページバッファ50a、50bは、入出力ポートPORT-A、PORT-Bの少なくとも一方に対応して動作する。その他の構成は、第3の実施形態とほぼ同一である。
ページバッファ50a、50bは、それぞれメモリコア40内の行アドレス信号RAにより選択される全てのメモリセルのデータを保持するラッチを有している。読み出し動作および書き込み動作の開始時に、選択されたメモリコア40のメモリセルに保持されているデータが、ページバッファ50a(または50b)に読み出される。そして、読み出し動作では、ページバッファ50aにラッチされたデータが、列アドレス信号CAに応じてデータ信号として出力される。書き込み動作では、まず、データ信号が、列アドレス信号CAに応じてページバッファ50aに書き込まれる。その後、書き込み動作の完了時にページバッファ50aのデータがメモリセルに書き込まれる。
以下、第4の実施形態のマルチポートメモリMの動作を説明する。
図24は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。クロック信号CLKAの位相は、クロック信号CLKBの位相より若干進んでいる。すなわち、入出力ポートPORT-AへのアクティブコマンドACTの供給は、入出力ポートPORT-BへのアクティブコマンドACTの供給より若干早い。
まず、入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される(図24(a))。読み出し動作READAにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ50a(または50b)に保持される(図24(b))。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた読み出し動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
次に、入出力ポートPORT-Aにおいて、図の1番目および5番目のクロック信号CLKAに同期して読み出しコマンドRDが供給される(図24(c)、(d))。ページバッファ50aに保持されたデータは、各読み出しコマンドRDを受けた後、図の5番目-12番目のクロック信号CLKAに同期して順次出力データQ0-Q7として出力される(図24(e))。すなわち、ページ読み出し動作が実行される。
同様に、入出力ポートPORT-Bにおいて、図の1番目および5番目のクロック信号CLKBに同期して読み出しコマンドRDが供給される(図24(f)、(g))。ページバッファ50aに保持されたデータは、各読み出しコマンドRDを受けた後、図の5番目-12番目のクロック信号CLKBに同期して順次出力データQ0-Q7として出力される(図24(h))。このように、行アドレス信号RAが同一の場合、一つのページバッファ50a(または50b)が、入出力ポートPORT-A、PORT-Bで共用される。
入出力ポートPORT-A、PORT-Bともに、アクティブコマンドACTから8クロック後に次のアクティブコマンドACTを受ける(図24(i)、(j))。行アドレス信号RAが同一のため、読み出し動作READAのみが実行される(図24(k))。入出力ポートPORT-Bに対する読み出し動作READBは実行されない。読み出しコマンドRDが4クロック毎に供給されることで、読み出しデータを絶え間なく出力できる(ギャップレスリード)。
図25は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給され、読み出し動作が実行される状態を示している。入出力ポートPORT-Aに対する読み出し動作のタイミングは、図24と同一である。まず、アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、アクティブコマンドACTに応じて読み出し動作READAが実行される(図25(a))。メモリコア40の行アドレス信号RAにより選択される全メモリセルから読み出されたデータは、一方のページバッファ50aに保持される(図25(b))。
次に、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じて読み出し動作READAとは別のメモリコア40の読み出し動作READBが実行される(図25(c))。読み出し動作READBによりメモリコア40の行アドレス信号RAにより選択される全メモリセルから読み出されたデータは、他方のページバッファ50bに保持される(図25(d))。この後、上述した図24と同様に、読み出し動作が実行される。このように、行アドレス信号RAが異なる場合、読み出し動作READAと読み出し動作READBとは、独立に実行され、読み出されたデータは、それぞれ異なるページバッファ50a、50bに保持される。
図26は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給されて書き込み動作が実行され、さらにアクティブコマンドACTおよび異なる行アドレス信号RAが供給されて書き込み動作が実行される状態を示している。
まず、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび同一の行アドレス信号RAが供給される。図23に示した調停回路34は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、メモリセルからページバッファ50a(または50b)にデータを転送するために読み出し動作READAを実行する(図26(a))。
読み出し動作READAにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ50a(または50b)に保持される(図26(b))。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた読み出し動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
次に、入出力ポートPORT-Aにおいて、図の1番目および5番目のクロック信号CLKAに同期して書き込みコマンドWR、列アドレス信号CAが供給される(図26(c)、(d))。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ50aに書き込まれる(図26(e))。すなわち、ページ書き込み動作が実行される。
入出力ポートPORT-Bにおいて、図の1番目および5番目のクロック信号CLKBに同期して書き込みコマンドWR、列アドレス信号CAが供給される(図26(f)、(g))。クロック信号CLKBに同期して順次供給された書き込みデータQ0-Q7は、共通のページバッファ50aに書き込まれる(図26(h))。このように、書き込み動作においても、行アドレス信号RAが同一の場合、一つのページバッファ50a(または50b)が、入出力ポートPORT-A、PORT-Bで共用される。
アクティブコマンドACTを先に受けた入出力ポートPORT-Aにおいて、書き込みデータQ7を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される(図26(i))。入出力ポートPORT-Bに対応する書き込み動作WRITEBは、書き込み動作WRITEAに完了後に実行される(図26(j))。次に、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給される。図23に示した調停回路34は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READA、READBを順次実行する(図26(k)、(l))。読み出し動作READAにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ50a(または50b)に保持される(図26(m))。読み出し動作READBにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、他方のページバッファ50b(または50a)に保持される(図26(n))。
入出力ポートPORT-Aにおいて、図の13番目および17番目のクロック信号CLKAに同期して書き込みコマンドWR、列アドレス信号CAが供給される(図26(o)、(p))。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ50aに書き込まれる(図26(q))。同様に、入出力ポートPORT-Bにおいて、図の13番目および17番目のクロック信号CLKBに同期して書き込みコマンドWR、列アドレス信号CAが供給される(図26(r)、(s))。クロック信号CLKBに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ48bに書き込まれる(図26(t))。このように、行アドレス信号RAが異なる場合、ページバッファ50a、50bが使用される。
次に、アクティブコマンドACTおよび行アドレス信号RAを先に受けた入出力ポートPORT-Aにおいて、書き込みデータQ7を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される(図26(u))。入出力ポートPORT-Bに対応する書き込み動作WRITEBは、書き込み動作WRITEAに完了後に実行される(図26(v))。書き込み動作WRITEA、WRITEBにより、ページバッファ50a、50bにそれぞれ保持された書き込みデータQ0-Q7が列アドレス信号CAに対応するメモリセルに書き込まれ、書き込み動作が完了する。
図27は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給されて書き込み動作が実行され、さらにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、入出力ポートPORT-Aにおいて読み出し動作が実行され、入出力ポートPORT-Bにおいて書き込み動作が実行される状態を示している。最初の書き込み動作のタイミングは、図26と同一のため、説明を省略する。
入出力ポートPORT-A、PORT-Bにおいて、図の12番目のクロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび同一の行アドレス信号RAが供給される(図27(a)、(b))。図23に示した調停回路34は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READAを実行する(図27(c))。読み出し動作READAにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ50a(または50b)に保持される(図27(d))。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた書き込み動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
次に、入出力ポートPORT-Aにおいて、図の13番目および17番目のクロック信号CLKAに同期して読み出しコマンドRDが供給される(図27(e)、(f))。ページバッファ50aに保持されたデータは、各読み出しコマンドRDを受けた後、図の17番目-24番目のクロック信号CLKAに同期して順次出力データQ0-Q7として出力される(図27(g))。
入出力ポートPORT-Bにおいて、図の13番目および17番目のクロック信号CLKBに同期して書き込みコマンドWRが供給される(図27(h)、(i))。クロック信号CLKBに同期して順次供給される書き込みデータQ0-Q7は、共通のページバッファ50aに書き込まれる(図27(j))。次に、入出力ポートPORT-Bにおいて、書き込みデータQ7を取り込んだクロック信号CLKBに同期して書き込み動作WRITEBが実行される(図27(k))。
図28は、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給され、それぞれ書き込み動作および読み出し動作が実行され、さらにアクティブコマンドACTおよび異なる行アドレス信号RAが供給され、それぞれ書き込み動作および読み出し動作が実行される状態を示している。
まず、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび同一の行アドレス信号RAが供給される(図28(a)、(b))。調停回路34は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READAを実行する(図28(c))。読み出し動作READAにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ50a(または50b)に保持される(図28(d))。一方、入出力ポートPORT-Bにおいて、アクティブコマンドACTに応じた読み出し動作は、行アドレス信号RAが入出力ポートPORT-Aに供給された信号と同一であるため実行されない。
次に、入出力ポートPORT-Aにおいて、図の1番目および5番目のクロック信号CLKAに同期して書き込みコマンドWRが供給される(図28(e)、(f))。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ50aに書き込まれる(図28(g))。入出力ポートPORT-Bにおいて、図の1番目および5番目のクロック信号CLKBに同期して読み出しコマンドRDが供給される(図28(h)、(i))。ページバッファ50aに保持されたデータは、各読み出しコマンドRDを受けた後、図の5番目-12番目のクロック信号CLKBに同期して順次出力データQ0-Q7として出力される(図28(j))。そして、入出力ポートPORT-Aにおいて、書き込みデータQ7を取り込んだクロック信号CLKAに同期して書き込み動作WRITEAが実行される(図28(k))。
次に、入出力ポートPORT-A、PORT-Bにおいて、クロック信号CLKA、CLKBの立ち上がりエッジにそれぞれ同期してアクティブコマンドACTおよび互いに異なる行アドレス信号RAが供給される(図28(l)、(m))。調停回路34は、アクティブコマンドACTが入出力ポートPORT-Aに先に供給されたと判断し、読み出し動作READA、READBを順次実行する(図28(n)、(o))。読み出し動作READAにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、一方のページバッファ50a(または50b)に保持される(図28(p))。読み出し動作READBにより選択されたメモリコア40の行アドレス信号RAにより選択される全メモリセルからデータが読み出され、読み出されたデータは、他方のページバッファ50b(または50a)に保持される(図28(q))。
入出力ポートPORT-Aにおいて、図の13番目および17番目のクロック信号CLKAに同期して書き込みコマンドWRが供給される(図28(r)、(s))。クロック信号CLKAに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ50aに書き込まれる(図28(t))。同様に、入出力ポートPORT-Bにおいて、図の13番目および17番目のクロック信号CLKBに同期して書き込みコマンドWRが供給される(図28(u)、(v))。クロック信号CLKBに同期して順次供給された書き込みデータQ0-Q7は、ページバッファ50bに書き込まれる(図28(w))。
この実施形態においても、上述した第3の実施形態と同様の効果を得ることができる。さらに、この実施形態では、データラッチ28とメモリコア40との間に、メモリコア40の行アドレス信号RAにより選択される全メモリセルに対するデータを一時蓄えるページバッファ50a、50bを配置した。このため、マルチポートメモリMにおいて、ページ読み出し動作およびページ書き込み動作を実行できる。
入出力ポートPORT-A、PORT-Bに同一の行アドレス信号RAが供給されたときに、一つのページバッファ50aを共有した。このため、メモリセルに書き込まれるべきデータが上書きされ、破壊されることを防止できる。入出力ポートPORT-A、PORT-Bに同一の行アドレス信号RAが供給されたときに、一方のポートのみに対応して読み出し動作を実行した。このため、両ポートに対してそれぞれ読み出し動作を実行する場合に比べ、動作時の消費電力を低減できる。
ページバッファ50a、50bを使用することで、マルチポートメモリMを制御するコントローラは、ページ動作を実行する場合にもマルチポートメモリMのビジー状態を認識する必要はない。この結果、これ等コントローラの制御(ハードウエア、ソフトウエア)が容易になる。
図29は、本発明のマルチポートメモリおよびマルチポートメモリの制御方法の第5の実施形態におけるマルチポートメモリMの動作を示している。第4の実施形態と同一要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、通常のバースト動作用の読み出しコマンドRD、書き込みコマンドWRと、ページ動作用の読み出しコマンドPRD、書き込みコマンドPWRとを有している。マルチポートメモリMの回路構成は、第4の実施形態とほぼ同一である。
図29では、まず、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給される(図29(a)、(b))。次のクロック信号CLKA、CLKBに同期して読み出しコマンドPRDが供給され(図29(c)、(d))、ページ読み出し動作が実行される(図29(e))。ページ読み出し動作のタイミングは、上述した図24と同一であるため、詳細な説明を省略する。
この後、入出力ポートPORT-A、PORT-BにアクティブコマンドACTおよび同一の行アドレス信号RAが供給される(図29(f)、(g))。次のクロック信号CLKA、CLKBに同期して読み出しコマンドRDが供給される(図29(h)、(i))。入出力ポートPORT-A、PORT-Bに対応してそれぞれ読み出し動作READA、READBが順次実行される(図29(j)、(k))。すなわち、通常の読み出し動作(バースト読み出し動作)が実行される。
この実施形態においても、上述した第4の実施形態と同様の効果を得ることができる。さらに、この実施形態では、マルチポートメモリMは、ページ動作用のコマンドPRD、PWRと、通常動作用のコマンドRD、WRとを有しているため、供給するコマンド信号に応じてページ動作だけでなく、通常動作を実行できる。
なお、上述した実施形態では、本発明をアドレス信号を時分割で入力するアドレスマルチプレクス方式のマルチポートメモリに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をアドレス信号を一度に入力するアドレスノンマルチプレクス方式のマルチポートメモリに適用してもよい。
上述した実施形態では、本発明を2つの入出力ポートPORT-A、PORT-Bを有するマルチポートメモリMに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を4つの入出力ポートを有するマルチポートメモリに適用してもよい。この場合、アクティブコマンドACTの供給間隔(タイミング仕様)は、メモリコアの動作期間の4倍以上に設定される。
上述した実施形態では、本発明をシンクロナスDRAMのメモリコアを有するマルチポートメモリに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をシンクロナスSRAMのメモリコアを有するマルチポートメモリに適用してもよい。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1) メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備え、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号に応じて前記メモリコアを動作させることを特徴とするマルチポートメモリ。
(付記2) 付記1記載のマルチポートメモリにおいて、
前記アドレス信号は、このアドレス信号を取り込む前記クロック信号のエッジより所定のセットアップ時間だけ前に確定され、
前記制御回路は、前記クロック信号の前記エッジより前に確定する前記アドレス信号を使用して前記アドレス信号の先着を判断することを特徴とするマルチポートメモリ。
(付記3) 付記2記載のマルチポートメモリにおいて、
前記制御回路は、両方の前記入出力ポートで受ける前記クロック信号の前記エッジのうち、先に受けた前記クロック信号の前記エッジに同期して、前記アドレス信号の先着を判断することを特徴とするマルチポートメモリ。
(付記4) 付記1記載のマルチポートメモリにおいて、
前記入出力ポートは、他の前記入出力ポートから先に供給された前記アドレス信号に応じて前記メモリコアが動作することを示すビジー信号を出力するビジー端子をそれぞれ備えていることを特徴とするマルチポートメモリ。
(付記5) 付記1記載のマルチポートメモリにおいて、
前記メモリコアは、前記アドレス信号の供給に伴い同時に動作するセンスアンプの領域に対応して割り当てられていることを特徴とするマルチポートメモリ。
(付記6) 付記1記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備えていることを特徴とするマルチポートメモリ。
(付記7) 付記6記載のマルチポートメモリにおいて、
前記読み出し動作および前記書き込み動作時に、前記コマンド端子は、前記メモリコアの所定のメモリ領域を活性化するアクティブコマンドと、前記メモリ領域に対する読み出しおよび書き込みのいずれかを示す動作コマンドとを順次受けることを特徴とするマルチポートメモリ。
(付記8) 付記7記載のマルチポートメモリにおいて、
前記アドレス端子は、前記アクティブコマンドおよび前記動作コマンドにそれぞれ対応して、前記メモリコア内の所定の領域を選択するための前記アドレス信号、および前記領域内の所定の前記メモリセルを選択するための前記アドレス信号を順次受けることを特徴とするマルチポートメモリ。
(付記9) 付記7記載のマルチポートメモリにおいて、
前記動作コマンドは、前記アクティブコマンドの供給から常に所定のクロック数後に供給されることを特徴とするマルチポートメモリ。
(付記10) 付記1記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号の値に応じた電荷を蓄えるキャパシタを有することを特徴とするマルチポートメモリ。
(付記11) 付記10記載のマルチポートメモリにおいて、
前記キャパシタに前記電荷を再書き込みするリフレッシュ動作は、前記入出力ポートのいずれかに供給される前記アドレス信号をリフレッシュアドレス信号として実行されることを特徴とするマルチポートメモリ。
(付記12) 付記10記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号を入出力するビット線に接続され、
前記ビット線を所定の電圧にリセットするプリチャージ動作は、読み出し動作および書き込み動作の後、自動的に実行されることを特徴とするマルチポートメモリ。
(付記13) 付記12記載のマルチポートメモリにおいて、
前記読み出し動作および前記書き込み動作は、前記アクティブコマンドの受け付けから常に所定の期間後に終了することを特徴とするマルチポートメモリ。
(付記14) メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備え、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号から順次前記メモリコアを動作させることを特徴とするマルチポートメモリ。
(付記15) 付記14記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備え、
前記各入出力ポートにおいて、前記メモリコアを活性化させるコマンド信号は、前記読み出し動作および前記書き込み動作に必要な前記メモリコアの動作期間の2倍以上の供給間隔で供給されることを特徴とするマルチポートメモリ。
(付記16) 付記15記載のマルチポートメモリにおいて、
前記各入出力ポートにおいて前記コマンド信号が前記供給間隔を空けずに供給されたとき、供給された前記コマンド信号は無効にされることを特徴とするマルチポートメモリ。
(付記17) 付記15記載のマルチポートメモリにおいて、
異なる前記入出力ポートにおいては、前記コマンド信号の供給間隔が前記動作期間の2倍未満のときにも、供給された前記コマンド信号は受け付けられることを特徴とするマルチポートメモリ。
(付記18) 付記14記載のマルチポートメモリにおいて、
複数個の前記メモリセルに対応するのデータを保持するバッファを備え、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリ。
(付記19) 付記14記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備えていることを特徴とするマルチポートメモリ。
(付記20) 付記19記載のマルチポートメモリにおいて、
前記読み出し動作および前記書き込み動作時に、前記コマンド端子は、前記メモリコアの所定のメモリ領域を活性化するアクティブコマンドと、前記メモリ領域に対する読み出しおよび書き込みのいずれかを示す動作コマンドとを順次受けることを特徴とするマルチポートメモリ。
(付記21) 付記20記載のマルチポートメモリにおいて、
前記アドレス端子は、前記アクティブコマンドおよび前記動作コマンドにそれぞれ対応して、前記メモリコア内の所定の領域を選択するための前記アドレス信号、および前記領域内の所定の前記メモリセルを選択するための前記アドレス信号を順次受けることを特徴とするマルチポートメモリ。
(付記22) 付記14記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号の値に応じた電荷を蓄えるキャパシタを有することを特徴とするマルチポートメモリ。
(付記23) 付記22記載のマルチポートメモリにおいて、
前記メモリセルは、前記データ信号を入出力するビット線に接続され、
前記ビット線を所定の電圧にリセットするプリチャージ動作は、読み出し動作および書き込み動作の後、自動的に実行されることを特徴とするマルチポートメモリ。
(付記24) メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路と、
複数個の前記メモリセルに対応するデータを保持するバッファとを備え、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリ。
(付記25) 付記24記載のマルチポートメモリにおいて、
読み出し動作の開始時に、所定のビット数の前記データが、前記メモリセルから前記バッファに一度に転送され、
個々の前記アドレス信号に対応する前記データは、前記バッファから読み出させることを特徴とするマルチポートメモリ。
(付記26) 付記24記載のマルチポートメモリにおいて、
書き込み動作の開始時に、所定のビット数の前記データが、前記メモリセルから前記バッファに一度に転送され、
個々の前記アドレス信号に対応する前記データは、前記バッファに書き込まれ、
前記書き込み動作の終了時に、前記バッファに保持されている前記データが、前記メモリセルに一度に書き込まれることを特徴とするマルチポートメモリ。
(付記27) 付記24記載のマルチポートメモリにおいて、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号のみに応じて前記メモリコアを動作させることを特徴とするマルチポートメモリ。
(付記28) 付記24記載のマルチポートメモリにおいて、
前記入出力ポートは、前記メモリコアの動作を制御するコマンド信号を前記クロック信号に同期して受けるコマンド端子をそれぞれ備え、
前記コマンド信号が示す動作コマンドは、
前記バッファを使用して前記読み出し動作および前記書き込み動作を実行するページ動作コマンドと、
前記バッファを使用せず前記読み出し動作および前記書き込み動作を実行する通常動作コマンドとを含むことを特徴とするマルチポートメモリ
(付記29) 付記28記載のマルチポートメモリにおいて、
前記メモリコアは、読み出し動作および書き込み動作時に活性化される複数のワード線を有し、
前記通常動作コマンドは、同一の前記ワード線に接続され、かつアドレスの連続する複数の前記メモリセルに対応するデータを順次アクセスするバースト動作を含むことを特徴とするマルチポートメモリ。
(付記30) メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備えたマルチポートメモリの制御方法であって、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号に応じて前記メモリコアを動作させることを特徴とするマルチポートメモリの制御方法。
(付記31) 付記30記載のマルチポートメモリの制御方法において、
前記アドレス信号は、このアドレス信号を取り込む前記クロック信号のエッジより所定のセットアップ時間だけ前に確定され、
前記制御回路は、前記クロック信号の前記エッジより前に確定する前記アドレス信号を使用して前記アドレス信号の先着を判断することを特徴とするマルチポートメモリの制御方法。
(付記32) 付記31記載のマルチポートメモリの制御方法において、
前記制御回路は、両方の前記入出力ポートで受ける前記クロック信号の前記エッジのうち、先に受けた前記クロック信号の前記エッジに同期して、前記アドレス信号の先着を判断することを特徴とするマルチポートメモリの制御方法。
(付記33) 付記30記載のマルチポートメモリの制御方法において、
前記メモリコアが先に受けた他の前記入出力ポートからの前記アドレス信号に応じて動作することを示すビジー信号を出力することを特徴とするマルチポートメモリの制御方法。
(付記34) メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路とを備えたマルチポートメモリの制御方法であって、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号から順次前記メモリコアを動作させることを特徴とするマルチポートメモリの制御方法。
(付記35) 付記34記載のマルチポートメモリの制御方法において、
前記各入出力ポートにおいて、前記メモリコアを活性化させるコマンド信号を、前記読み出し動作および前記書き込み動作に必要な前記メモリコアの動作期間の2倍以上の間隔で受けることを特徴とするマルチポートメモリの制御方法。
(付記36) 付記35記載のマルチポートメモリの制御方法において、
前記各入出力ポートにおいて前記コマンド信号の供給間隔が前記動作期間の2倍未満のときに、供給された前記コマンド信号を無効にすることを特徴とするマルチポートメモリの制御方法。
(付記37) メモリセルを有する複数のメモリコアと、
クロック信号を受けるクロック端子、前記メモリセルを選択するために前記クロック信号に同期して供給されるアドレス信号を受けるアドレス端子、およびデータ信号を入出力するデータ入出力端子をそれぞれ有する複数の入出力ポートと、
前記メモリコアにそれぞれ対応し、前記入出力ポートから供給される前記アドレス信号のいずれかを選択し、選択したアドレス信号に応じて前記メモリセルをアクセスする制御回路と、
複数個の前記メモリセルに対応するデータを保持するバッファとを備えたマルチポートメモリの制御方法であって、
前記メモリセルに対して読み書きされる前記データは、前記バッファを介して前記データ入出力端子および前記メモリセルに伝達されることを特徴とするマルチポートメモリの制御方法。
(付記38) 付記37記載のマルチポートメモリの制御方法において、
読み出し動作の開始時に、所定のビット数の前記データを、前記メモリセルから前記バッファに一度に転送し、
個々の前記アドレス信号に対応する前記データを、前記バッファから読み出すことを特徴とするマルチポートメモリの制御方法。
(付記39) 付記37記載のマルチポートメモリの制御方法において、
書き込み動作の開始時に、所定のビット数の前記データを、前記メモリセルから前記バッファに一度に転送し、
個々の前記アドレス信号に対応する前記データを、前記バッファに書き込み、
前記書き込み動作の終了時に、前記バッファに保持されている前記データを、前記メモリセルに一度に書き込むことを特徴とするマルチポートメモリの制御方法。
(付記40) 付記37記載のマルチポートメモリの制御方法において、
前記制御回路は、同一の前記メモリコアを示す前記アドレス信号を複数の前記入出力ポートで受けたとき、先に受けた前記アドレス信号のみに応じて前記メモリコアを動作させることを特徴とするマルチポートメモリの制御方法。
付記4、付記6〜付記13、付記19〜付記23のマルチポートメモリでは、メモリコアの動作の要求をコマンド信号で受けてもよい。このとき、コマンド信号は、クロック信号に同期して入出力ポートのコマンド端子に供給される。コマンド信号は、メモリブロックの所定のメモリ領域を活性化するアクティブコマンドと、このメモリ領域に対する読み出しまたは書き込みを示す動作コマンドとに分けて順次供給されてもよい。同様に、アドレス信号も時分割で順次供給されてもよい。動作コマンドをアクティブコマンドの供給から常に所定のクロック数後に供給される仕様にすることで、読み出しサイクル時間および書き込みサイクル時間を一定にできる。
メモリブロックのメモリセルをDRAMで構成した場合、リフレッシュ動作が必要になる。このとき、リフレッシュ動作は、入出力ポートのいずれかに供給されるアドレス信号をリフレッシュアドレスとして実行される。このため、マルチポートメモリ内に形成するリフレッシュの制御回路を最小限にでき、チップサイズを小さくできる。
メモリセルに接続されたビット線を所定の電圧にリセットするプリチャージ動作を、読み出し動作または書き込み動作の後自動的に実行することで、読み出し動作および書き込み動作を動作の開始から所定の期間で常に終了できる。すなわち、読み出しサイクル時間および書き込みサイクル時間を一定にできる。
また、各入出力ポートにビジー信号を出力するビジー端子を形成してもよい。ビジー信号は、入出力ポートに供給されたアドレス信号と同じアドレス信号が、他の入出力ポートに供給され、他の入出力ポートに対するメモリ動作が実行されたときに出力される。このため、マルチポートメモリに接続されたコントローラは、要求した動作が実行されなかったことを容易に認識できる。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。