(57)【特許請求の範囲】
【請求項１】
それぞれ複数の１ポートメモリセルを含む複数のバンクと１ポートとＮポートとの変換を行うポート変換回路とをそれぞれ含む複数の第１階層モジュールと、
クロック信号を発生するクロック生成回路と、
外部のポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部のポートからの入力または出力、入力されるポートブロック信号の外部への出力を行うレジスタ回路と、
レジスタ回路からアドレス信号を受け取って、バンクへのアクセスの競合が起こる場合にポートブロック信号を発生するアクセス競合回避回路と、
レジスタ回路と複数のバンクの間に配置され、レジスタ回路からリード／ライト信号とアドレス信号を受け取り、レジスタ回路または複数のバンクからデータ信号を受け取り、アドレス信号を基にバンク列選択信号を生成してバンクに出力し、かつ、レジスタ回路からアドレス信号を受け取り、アドレス信号を基にバンク行選択信号を生成してバンクに出力するバンク行および列選択回路とからなり、
前記のポート変換回路は、アクセス競合回避回路からポートブロック信号を入力し、ポートブロック信号が入力されない場合に、バンク列選択信号とバンク行選択信号を基に当該バンクを活性化し、かつ、クロック生成回路により生成されるクロック信号を基に当該バンク内の制御クロック信号を生成し出力する
同期バンク型メモリ。
【請求項２】
スタティックＣＭＯＳ回路で構成され、
前記のポート変換回路は、アドレスを選択するアクティブアドレス選択回路と、データを選択するアクティブデータ選択回路と、アクティブアドレス選択回路とアクティブデータ選択回路とを制御するバンクアクセス制御回路とからなり、
バンクアクセス制御回路は、当該バンクのリード／ライト信号、行・列選択信号およびポートブロック信号から、アドレススイッチ許可信号とアクティブアドレス選択回路のビットラインのためのプリチャージ制御信号とを生成して、アクティブアドレス選択回路に送り、また、当該バンクのリードアクセス許可信号とライトアクセス許可信号、及び、アクティブデータ選択回路のビットラインのためのプリチャージ制御信号を生成して、アクティブデータ選択回路に送り、また、クロック生成回路からのクロック信号を基に当該バンク内の制御クロック信号を生成することを特徴とする請求項１に記載された同期バンク型メモリ。
【請求項３】
ダイナミックＣＭＯＳ回路を含み、アクセス競合回路及びポート変換回路は前記のクロック信号を入力して、アクセス競合回路及びポート変換回路内のダイナミック回路と、ダイナミック回路がプリチャージ期間に入ったときに出力データを保持するラッチ回路を制御することを特徴とする請求項１に記載された同期バンク型メモリ。
【請求項４】
前記のポート変換回路は、
アドレスを選択するアクティブアドレス選択回路と、データを選択するアクティブデータ選択回路とアクティブアドレス選択回路とアクティブデータ選択回路とを制御するバンクアクセス制御回路とからなり、
前記のバンクアクセス制御回路は、当該バンクのリード／ライト信号、行・列選択信号およびポートブロック信号から、アドレススイッチ許可信号とアクティブアドレス選択回路のビットラインのためのプリチャージ制御信号とを生成して、アクティブアドレス選択回路に送り、また、当該バンクの読み出し許可信号と書き込み許可信号、及び、アクティブデータ選択回路のビットラインのためのプリチャージ制御信号を生成して、アクティブデータ選択回路に送り、また、クロック生成回路からのクロック信号を基に当該バンク内の制御クロック信号を生成することを特徴とする請求項３に記載された同期バンク型メモリ。
【請求項５】
前記のアクティブアドレス選択回路は、アドレス信号を当該バンクに出力するゲートとして、ＮＭＯＳトランスミッションゲートを用いることを特徴とする請求項４に記載された同期バンク型メモリ。
【請求項６】
アクティブデータ選択回路は、データ信号を当該バンクに出力するゲートとして、ＮＭＯＳトランスミッションゲートを用いることを特徴とする請求項４に記載された同期バンク型メモリ。
【請求項７】
前記のアクセス競合回避回路は、ダイナミックＣＭＯＳ回路により構成したマルチインプットＥＸＮＯＲ回路を含み、このＥＸＮＯＲ回路は、各ポートからのアドレス信号及びその反転信号を入力し、ｉ番目のポートとｊ番目のポートのアドレスが競合しているか否かを示す信号を生成することを特徴とする請求項３に記載された同期バンク型メモリ。
【請求項８】
前記のアクセス競合回避回路は、ｉ番目のポートとｊ番目のポートのアドレスが競合しているか否かを示す信号とポート非活性化信号とのＯＲ演算回路と、そのすべてのＯＲ演算結果のＡＮＤ演算回路と、ＡＮＤ演算結果をポートブロック信号として出力する出力回路を備えることを特徴とする請求項３に記載された同期バンク型メモリ。
【請求項９】
前記のアクセス競合回避回路は、ポート番号の小さいポートにアクセスの優先権を与える回路と、ポート番号の大きいポートにアクセスの優先権を与える回路と、そのいずれかを選択してポートブロック信号を出力する選択回路とを備えることを特徴とする請求項３に記載された同期バンク型メモリ。
【請求項１０】
それぞれ複数の１ポートメモリセルを含む複数のバンクと、
クロックを発生するクロック生成回路と、
外部のポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部のポートからの入力または出力、入力されるポートブロック信号の外部への出力を行うレジスタ回路と、
レジスタ回路からアドレス信号を受け取って、バンクへのアクセスの競合が起こる場合にポートブロック信号を発生するアクセス競合回避回路と、
レジスタ回路と複数のバンクの間に配置され、複数のポートに接続されるラインと各バンクからの信号ラインとの交点であるクロスポイントでスイッチングを行い、レジスタ回路からリード／ライト信号とアドレス信号を受け取り、レジスタ回路または複数のバンクからデータ信号を受け取るクロスバスイッチングネットワークとからなり、
前記のクロスバスイッチングネットワークにおいて、１つの信号ラインに接続される複数のクロスポイントからなるクロスポイント群は、１ポートとＮポートとの変換を行うポート変換回路として動作し、このポート変換回路は、アクセス競合回避回路からポートブロック信号を入力し、アクセス競合回避回路からポートブロック信号が入力されない場合に、アドレス信号を基に当該クロスポイントを活性化し、かつ、クロック生成回路からのクロック信号を基に制御クロック信号を生成し当該クロスポイントに対応するバンクに出力する
同期バンク型メモリ。
【請求項１１】
それぞれ複数の１ポートメモリセルを含む複数のバンクと、
クロック信号を発生するクロック生成回路と、
外部のポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部のポートからの入力または出力、入力されるポートブロック信号の外部への出力を行うレジスタ回路と、
レジスタ回路からアドレス信号を受け取って、バンクへのアクセスの競合が起こる場合にポートブロック信号を発生するアクセス競合回避回路と、
レジスタ回路からアドレス信号を受け取り、アドレス信号を基にバンク選択信号を生成するバンク選択回路と、
複数のクラスタに分けられている前記の複数のバンクについて、レジスタ回路と複数のクラスタとの間にそれぞれ配置される複数のクロスバスイッチングネットワークと、
複数のクロスバスイッチングネットワークのいずれかと各バンクとの間に配置され、１ポートとＮポートとの変換を行うポート変換回路とを備え、
各クロスバスイッチングネットワークは、複数のポートに接続されるラインと、当該クロスバスイッチングネットワークに接続されるクラスタに属するバンクからの信号ラインとの交点であるクロスポイントでスイッチングを行い、レジスタ回路からリード／ライト信号とアドレス信号を受け取り、レジスタ回路または複数のバンクからデータ信号を受け取り、
前記のポート変換回路は、アクセス競合回避回路からポートブロック信号を入力し、アクセス競合回避回路からポートブロック信号が入力されない場合に、アドレス信号を基に当該クロスポイントを活性化し、かつ、クロック生成回路からのクロック信号を基に当該クロスポイントに接続されるバンク内の制御クロック信号を生成し当該バンクに出力する
同期バンク型メモリ。
【請求項１２】
それぞれ複数の１ポートメモリセルを含む複数のバンクと、
クロック信号を発生するクロック生成回路と、
外部のポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部のポートからの入力または出力、入力されるポートブロック信号の外部への出力を行うレジスタ回路と、
レジスタ回路からアドレス信号を受け取って、バンクへのアクセスの競合が起こる場合にポートブロック信号を発生するアクセス競合回避回路と、
レジスタ回路と複数のバンクの間に配置され、レジスタ回路からリード／ライト信号とアドレス信号を受け取り、アドレス信号を基にバンク選択信号を生成するネットワーク回路と、
バンクごとに設けられる、１ポートとＮポートとの変換を行うポート変換回路であって、アクセス競合回避回路からポートブロック信号を入力し、アクセス競合回避回路からのポートブロック信号がない場合に、ネットワーク回路で生成されたバンク選択信号により選択されたバンクを活性化し、かつ、クロック生成回路からのクロック信号を基に当該バンク内の制御クロック信号を生成し当該バンクに出力するポート変換回路と、
からなる同期バンク型メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同期バンク型メモリの構成に関するものである。
【０００２】
【従来の技術】
同期型多ポートメモリは、複数のポートからの読出し・書込み要求を並列に処理する。多ポートメモリには、面積増加の問題やアクセス競合回避の問題がある。バンク型多ポートメモリでは、バンクと呼ばれる多数の１ポートメモリセルを配置し、各ポートとつなぐ。１ポートメモリセルを用いるため、Ｎポートメモリセルを用いる方式に比べて面積が小さくできる。バンク型多ポートメモリには、クロスバ型アーキテクチャと階層構造型アーキテクチャ（ＨＭＡ)がある。クロスバ型多ポートメモリでは、各バンクと各ポートとの間にクロスバスイッチを介在させる。ＨＭＡ型メモリでは、各バンクの中に１ポートとＮポートの変換回路を設け、マトリクス状に配置されている複数のバンクの中のいずれかのバンクにアクセスするための行・列選択回路を設け、行・列選択回路と並列に動作するアクセス競合回避回路を設ける。
【０００３】
【非特許文献１】
H. J. Mattausch, Koji Kishi and Takayuki Gyohten, "Area-efficient multi-port SRAMs for on-chip data-storage with high random-access bandwidth and large storage capacity," IEICE Transactions on Electronics, Vol. E84-C, No. 3, p. 410, 2001
【非特許文献２】
H. J. Mattausch, "Hierarchical architecture for area-efficient integrated N-port memories with latency-free multi-gigabit per second access bandwidth," IEE Electronics Letters, Vol. 35, No. 17, pp. 1441-1443, 1999
【非特許文献３】
C. L. Seitz, "The cosmic cube," Commun. ACM, Vol. 28, No. 1, pp. 22-33, 1985
【非特許文献４】
N. Omori and H. J. Mattausch, "Compact central arbiters for memories with multiple read/write ports," IEE Electronics Letters, Vol. 37、pp. 811-813, 2001
【０００４】
【発明が解決しようとする課題】
同期バンク型多ポートメモリでは、アクセスタイムを最小化するために、ビットラインを適切な電圧にプリチャージする操作とセンスアンプ回路が通常用いられる。ここで、実際のメモリアクセスとビットラインのプリチャージとは、異なるクロックフェーズで行われていた。たとえば、図１の（ａ）に示すように、クロックck＝１のときに、メモリアクセスを行い、ck＝０のときにプリチャージを行う。したがって、プリチャージ時間と実際のメモリアクセス時間との和がメモリアクセスのクロックサイクル時間（メモリアクセスサイクル時間）となり、実際のアクセス時間よりも長くなってしまう。しかし、原理的には、メモリアクセスサイクル時間は、メモリアクセス時間と同等まで短縮できることが望ましい。
【０００５】
この発明の目的は、同期バンク型メモリにおいて、メモリアクセスサイクル時間を短縮することである。
【０００６】
【課題を解決するための手段】
本発明に係る第１の同期バンク型メモリは、一般の同期バンク型多ポートメモリであり、それぞれ複数の１ポートメモリセルを含む複数のバンクと、内部クロック信号を発生するクロック生成回路と、外部のポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部のポートからの入力または出力、入力されるポートブロック信号の外部への出力を行うレジスタ・バッファ回路と、レジスタ・バッファ回路からアドレス信号を受け取って、バンクへのアクセスの競合が起こる場合にポートブロック信号を発生するアクセス競合回避回路と、レジスタ・バッファ回路と複数のバンクの間に配置され、レジスタ・バッファ回路からリード／ライト信号とアドレス信号を受け取り、アクセス競合回避回路からのポートブロック信号がない場合に、バンク選択信号を生成して選択されたバンクを活性化し、かつ、クロック生成回路からの内部クロック信号をバンクに出力するスイッチングネットワーク回路とからなる。この同期バンク型メモリは、前記の第１から第３の同期バンク型メモリを含む。
【０００７】
同期バンク型多ポートメモリがＨＭＡ型多ポートメモリである場合、同期バンク型メモリは、前記の複数のバンクと１ポートとＮポートとの変換を行うポート変換回路とをそれぞれ含む複数の第１階層モジュールと、前記のクロック生成回路と、前記のレジスタ・バッファ回路と、レジスタ・バッファ回路からアドレス信号を受け取って、前記のアクセス競合回避回路と、レジスタ・バッファ回路と複数のバンクの間に配置され、レジスタ・バッファ回路からリード／ライト信号とアドレス信号を受け取り、レジスタ・バッファ回路または複数のバンクからデータ信号を受け取り、アドレス信号を基にバンク列選択信号を生成してバンクに出力し、かつ、クロック生成回路からの内部クロック信号を選択されたバンクに出力するバンク列選択回路と、レジスタ回路からアドレス信号を受け取り、アドレス信号を基にバンク行選択信号を生成してバンクに出力するバンク行選択回路とからなる。前記のポート変換回路は、アクセス競合回避回路からのポートブロック信号がない場合に、バンク列選択信号とバンク行選択信号を基にバンクを活性化する。
【０００８】
同期バンク型多ポートメモリがクロスバ型多ポートメモリである場合、同期バンク型メモリは、前記の複数のバンクと、前記のクロック生成回路と、前記のレジスタ回路と、前記のアクセス競合回避回路と、レジスタ回路と複数のバンクの間に配置され、複数のポートに接続されるラインと各バンクからの信号ラインとの交点であるクロスポイントでスイッチングを行うクロスバスイッチングネットワークであって、レジスタ・バッファ回路からリード／ライト信号とアドレス信号を受け取り、レジスタ・バッファ回路または複数のバンクからデータ信号を受け取り、アクセス競合回避回路からのポートブロック信号がない場合に、アドレス信号を基にクロスポイントを活性化し、かつ、クロック生成回路からの内部クロック信号をバンクに出力するクロスバスイッチングネットワークとからなる。
【０００９】
同期バンク型多ポートメモリが分散クロスバ型多ポートメモリである場合、同期バンク型メモリは、前記の複数のバンクと、前記のクロック生成回路と、前記のレジスタ・バッファ回路と、前記のアクセス競合回避回路と、複数のクラスタに分けられている前記の複数のバンクについて、レジスタ・バッファ回路と複数のクラスタとの間にそれぞれ配置される複数のクロスバスイッチングネットワークとからなる。各クロスバスイッチングネットワークは、複数のポートに接続されるラインと１つのクラスタに属するバンクからの信号ラインとの交点であるクロスポイントでスイッチングを行う複数のクロスバスイッチングネットワークであって、レジスタ・バッファ回路からリード／ライト信号とアドレス信号を受け取り、レジスタ・バッファ回路または複数のバンクからデータ信号を受け取り、アクセス競合回避回路からのポートブロック信号がない場合に、アドレス信号を基にクロスポイントを活性化し、かつ、クロック生成回路からの制御クロック信号をバンクに出力する。
【００１０】
本発明に係る第２の同期バンク型メモリは、一般の同期型１ポートメモリであり、それぞれ複数の１ポートメモリセルを含む複数のバンクと、内部クロックを発生するクロック生成回路と、外部の１つのポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部の１つのポートからの入力または出力を行うレジスタ・バッファ回路と、レジスタ・バッファ回路と複数のバンクの間に配置され、レジスタ回路からリード／ライト信号とアドレス信号を受け取り、バンク選択信号を生成して選択されたバンクを活性化し、かつ、クロック生成回路からの内部クロック信号をバンクに出力するスイッチングネットワーク回路とからなる。このスイッチングネットワーク回路は、クロスバ型、分散クロスバ型、ＨＭＡ型などの種々の態様で構成できる。
【００１１】
本発明に係る同期バンク型メモリへの第１のアクセス方法は、同期バンク型多ポートメモリへのアクセス方法である。ここで、１つのクロックサイクルが開始されると、レジスタ・バッファ回路はスイッチングネットワーク回路にリード／ライト信号とアドレス信号を出力し、アクセス競合回路にアドレス信号を出力し、スイッチングネットワーク回路は、アクセス競合回避回路からのポートブロック信号がない場合にバンク選択信号を生成し、バンク選択信号が生成されると、選択されたバンクはプリチャージを行う。また、クロック生成回路は、内部クロック信号を発生し、前記の選択されたブロックは、クロック生成回路から内部クロック信号を受け取ると、バンク内のメモリセルへのアクセスを行い、データ読み出しの場合は、さらにポートへのデータ転送を行う。
【００１２】
本発明に係る同期バンク型メモリへの第２のアクセス方法は、同期バンク型１ポートメモリへのアクセス方法である。ここで、１つのクロックサイクルが開始されると、レジスタ・バッファ回路はスイッチングネットワーク回路にリード／ライト信号とアドレス信号を出力し、ネットワーク回路は、バンク選択信号を生成し、バンク選択信号が生成されると、選択されたバンクはプリチャージを行う。また、クロック生成回路は、メモリ内部のクロック信号を発生し、前記の選択されたブロックは、クロック生成回路から内部クロック信号を受け取ると、バンク内のメモリセルへのアクセスを行い、データ読み出しの場合は、さらにポートへのデータ転送を行う。
なお、この発明の以上に説明した構成要素は、可能な限り組み合わせることができる。
【００１３】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施の形態を説明する。なお、図面において、同じ参照記号は同一または同等のものを示す。
【００１４】
（Ａ）同期バンク型メモリの新アクセス手法．
同期バンク型多ポートメモリでは、バンクと呼ばれる多数の１ポートメモリセルを配置し、複数のポートに接続する。アクセスタイムを最小化するために、バンク内でビットラインを適切な電圧にプリチャージする操作とセンスアンプ回路が通常用いられる。
【００１５】
本発明による同期バンク型メモリのアクセス手法では、１つのクロックサイクルが開始されると、図１の（ｂ）に示すとおり、クロックサイクルの前半（クロックck＝１）において、読み出しまたは書き込みの処理におけるバンク内のワードラインドライバの直前までのアクセスと、バンクのプリチャージを同時に行う。すなわち、バンク型メモリのビットラインを適切な電圧にプリチャージするプリチャージ期間に、メモリアクセス時間の一部を同時オーバラップさせる。クロックサイクルの後半（クロックck＝０）では、バンク内でワードラインを動作させて、それ以降のアクセス（バンク内での下位アクセス）を行う。プリチャージ期間に、メモリアクセス時間の一部をオーバラップさせて行うので、メモリのアクセスサイクル時間を実効的に短縮できる。したがって、アクセスサイクル時間を短くできる。このアクセス手法は、クロックと同期して動作するすべてのバンク型メモリ（同期バンク型メモリ）に対して適用できる。なお、ここでは、バンク内での下位アクセスは、クロックサイクルの後半に行っているが、それよりアクセスを遅らせた方がよい場合もありうる。したがって、より一般的には、クロックサイクルの開始を基に適当なタイミングで内部クロック信号を生成してバンクのアクセスを行えばよい。（この意味で、後で説明する種々の実施の形態では、内部クロック生成器は反転クロック信号ckqを生成しているが、内部クロック信号は反転クロック信号ckqに限られない。）
【００１６】
まず、バンク型多ポートメモリへの応用について述べる。図２は、バンク型多ポートメモリの概念を示す。バンク型多ポートメモリは、１ポートバンク１００を用いた複数のバンク構造体と複数のバンク構造体と多ポートを接続するスイッチングネットワーク１０２からなる。
【００１７】
複数の１ポートメモリバンク１００は、マトリクス状に配置される。各１ポートバンク１００は、通常の１ポートメモリセル（ＤＲＡＭとＳＲＡＭのいずれをも含む）からなるバンクであり、２次元に配列された複数の１ポートメモリセル領域と、１つの１ポートメモリセルを選択するための列選択回路・読み出し／書き込み回路と行選択回路を備え、ワードラインドライバや１ポートメモリセル領域のセンスアンプ回路が含まれる。１つの１ポートメモリセルに１本のワードラインと１対のビットラインが接続される。１ポートバンク１００に下位アドレス（１ポートメモリセルのアドレス）とデータが入力されると、該当するメモリセルが選択され、読み出し／書き込み信号に従って読み出し／書き込みが行われる。
【００１８】
レジスタ及びバッファ回路１０４は、クロックサイクルが開始されると、外部の複数のポートからアドレス信号A、データ信号D、リード／ライト信号R/Wを受け取り、ポートブロック信号PBを外部に送る。スイッチングネットワーク１０２には、１ポートとＮポートとの変換を行うポート変換回路（アドレスとデータ）や、上位アドレス信号を基にバンクを選択するバンクデコーダが備えられる。スイッチングネットワーク１０２は、レジスタ及びバッファ回路１０４から受け取った信号を基にバンク選択信号Sを生成し、アドレス信号A、リード／ライト信号R/W、バンク選択信号Sを１ポートバンク１００に送り、リード／ライト信号R/Wに従ってデータDをバンク１００から読み出しまたはバンク１００に書き込む。さらに、アクセス競合回避回路１０６が、レジスタ・バッファ回路１０４からのアクセス情報を基に、アクセス競合が発生すると判断するとポートブロック信号PBを発生し、スイッチングネットワーク１０２とレジスタ・バッファ回路１０４に送る。また、内部クロック生成器１０８が内部クロック信号として外部クロックckの反転信号ckqを生成し、クロック信号ckをレジスタ・バッファ回路１０４に供給し、クロック信号ck, ckqを各バンク１０４に供給する。（この明細書において"q"は負論理信号を表す）
【００１９】
スイッチングネットワーク１０２の構成には様々なものがあり、大きく分けて、アクセスの競合がバンク以外では起こらない完全閉塞網型と、アクセスの競合がバンク以外の部分で起こる可能性のある非閉塞網型があるが、本発明のアクセス手法はそのどちらにも適用可能である。階層型多ポートメモリとクロスバ型多ポートメモリの２つのバンク型多ポートメモリアーキテクチャに適用可能であるほか、分散クロスバの場合や、クロスバ以外の結合網で構成されている場合にも適用可能である。これらの具体例については後で説明する。
【００２０】
図３は、図２に示した一般的なバンク型メモリにおける読み出しと書き込みのアクセスを示す。バンクのプリチャージと同時にバンクのアクセス競合回避及びポート／バンク選択を行うことにより、アクセス時間の一部を隠蔽することが可能となる。これにより、メモリアクセスサイクル時間を短縮できる。
【００２１】
読み出しの場合、クロックサイクルの前半（ck＝１）で、スイッチングネットワーク１０２でのバンク選択とバンク１００の中でのデコードとバンク１００のプリチャージを行う。すなわち、レジスタ・バッファ回路１０４への入力信号がスイッチングネットワーク１０２とアクセス競合回避回路１０６に並列に送られ、スイッチングネットワーク１０２内でバンクデコードと１ポートとＮポートの間の１：Ｎ変換（アドレス）が行われ、さらに、バンク１００内でデコーダが動作する。
【００２２】
次に、クロックサイクルの後半（ck＝０）でバンク１００内のアクセス（読み出し）とポートへのデータ転送を行う。バンク１００内で、クロックckqによってワードラインドライバとビットラインセレクタによりワードラインを動作させ、１ポートセル領域でセンスアンプ回路を動作させる。メモリセルから読み出されたデータは、スイッチングネットワーク１０２内のポート変換回路（データ）、データバス、レジスタ・バッファ回路１０４内の出力回路を経て出力される。
【００２３】
書き込みの場合、クロック信号が供給されると、クロックサイクルの前半（ck＝１）で、読み出しの場合と同様に、スイッチングネットワーク１０２でのバンク選択とバンク１００の中でのデコードとバンク１００のプリチャージを行うが、これと並行して、書き込まれるデータが、レジスタ・バッファ回路１０４からスイッチングネットワーク１０２内での１ポートとＮポート変換回路（データ）をとおり、バンク１００に送られる。
【００２４】
次に、クロックサイクルの後半（ck＝０）で、バンク１００内で、ワードラインドライバを動作させてバンク１００内のアクセス（書き込み）を行う。ここで、データドライバを動作させて、１ポートセル領域でデータを書き込む。
【００２５】
なお、以上ではバンク型多ポートメモリについて述べたが、バンク型の１ポートメモリは、図２において、スイッチングネットワークにポート変換機能を持たないものと考えることができる。したがって、本発明のアクセス手法は、バンク型１ポートメモリにも適用可能である。もちろん、バンク型１ポートメモリの場合には、アクセス競合回避回路１０６も不要となる。したがって、一般的なバンク型１ポートメモリは、それぞれ複数の１ポートメモリセルを含む複数のバンクを備えているのは多ポートメモリと同様であり、レジスタ回路は、クロック生成回路が生成した内部クロック信号が入力されると、外部のポートからのリード／ライト信号とアドレス信号の入力、データ信号の外部のポートからの入力または出力を行う。ネットワーク回路は、レジスタ回路と複数のバンクの間に配置され、レジスタ回路からリード／ライト信号とアドレス信号を受け取り、バンク選択信号を生成して選択されたバンクを活性化し、かつ、クロック生成回路からのクロック信号をバンクに出力する。
【００２６】
（Ｂ）同期式階層型多ポートメモリ（ＨＭＡメモリ）への適用．
階層型多ポートメモリ（Hierarchical Multi-port memory Architecture : ＨＭＡ）は、閉塞網を用いたバンク型多ポートメモリである（非特許文献１）。図５は、スタティックＣＭＯＳ回路によるＨＭＡメモリの構成を示す。ＨＭＡメモリは、第１階層モジュール２００、バンク列選択回路２０６、バンク行選択回路２０８及びアクセス競合回避回路２１０で構成される。第１階層モジュール２００とは、１ポートとＮポートの変換回路（１：Ｎ変換回路）２０２を１ポートバンク２０４とともにモジュール化したものである。１ポートバンク２０４は、図１の１ポートバンク１００と同様に、２次元に配列された複数の１ポートメモリセル領域と、１つの１ポートメモリセルを選択するための列選択回路・読み出し／書き込み回路と行選択回路を備え、ワードラインドライバや１ポートメモリセル領域のセンスアンプ回路が含まれる。複数の第１階層モジュール２００がマトリクス状に配置される。バンク列選択回路２０６とバンク行選択回路２０８は、それぞれ、列方向と行方向にバンクを選択する信号CS, RSを発生する。さらに、内部クロック生成器２１２とレジスタ・バッファ回路２１４が設けられる。内部クロック生成器２１２は、グローバルクロックから内部クロックck, ckqを生成し、レジスタ・バッファ回路２１４、アクセス競合回避回路２１０及び第１階層モジュール２００に供給する。レジスタ・バッファ回路２１４は、外部のポート（ポート番号ｎ＝１，２，・・・，Ｎ）から、アドレス信号A、データ信号D、リード／ライト信号R/Wを受け取ってバンク列選択回路２０６に送り、また、アクセス競合回避回路２１０に、アドレス信号Ａのうちのバンクアドレスを示す部分（上位アドレス）を送る。また、レジスタ及びバッファ回路２１２は、リード／ライト信号R/Wを各々の第１階層モジュール２００にも送る。
【００２７】
バンク行選択回路２０８とバンク列選択回路２０６がそれぞれ生成するバンク行選択信号RSnとバンク列選択信号CSnは、各ポートから入力されたアドレスの中の、バンクのアドレスを示す上位部分（m2ビット）をデコードした信号であり、RSnとCSnとがともに選択されたバンク２０４が、そのポートｎのデータDnがアクセスするバンクとなる。データDnはリード／ライト信号R/Wに従ってバンクから読み出されまたはバンクに書き込まれる。（ここでｎはポート番号を表わす。）
【００２８】
同一サイクルの同一バンクへのアクセスは１ポートに限られる。そのため、同時に同一のバンクへ複数ポートからアクセスがなされた場合は、アクセス競合が起こる。アクセス競合回避回路２１０は、各ポートのバンクアドレスを比較し、競合が起きる場合にポートブロッキング信号PBnをレジスタ及びバッファ回路２１２を介して外部に送る。
【００２９】
バンク列選択回路２０６の内部では、列ごとに、データを転送するバッファを分割している（Dn(1), Dn(2), ... , Dn(C)）。これにより、Dn上のゲート／配線容量が減り、高速化が期待できる。さらに、選択されたバンク列のドライバのみを動作させることにより低消費電力化にも高い効果がある。
【００３０】
このＨＭＡメモリの構成の特徴は、アクセス競合回避回路２１０の出力PBｎが１ポートとＮポートの変換回路２０２に入力されていることであり、また、１ポートとＮポートの変換回路２０２にクロックの反転信号ckqが入力されていることである。アクセス競合回避回路２１０の出力PBｎが１ポートとＮポートの変換回路２０２に入力されることにより、バンク選択とアクセス競合処理が並列に処理可能となり、高速動作に効果がある。また、クロックの反転信号ckqからバンク内信号CKintを生成し、選択されたバンクのデコーダのみを動作させることにより、低消費電力化にも高い効果がある。
【００３１】
図４は、ＨＭＡメモリにおける本発明のアクセス手法を用いた場合の読み出しと書き込みのアクセスを示す。アクセス競合回避処理、及び、バンクとポートの選択をバンクのプリチャージを同時にオーバラップさせて行うことにより、多ポートメモリのアクセス時間の一部を隠蔽している。これによりメモリアクセスサイクル時間を短縮できる。
【００３２】
読み出しの場合、クロック信号が供給されると、クロックサイクルの前半（ck＝１）で、バンク列選択回路２０６でのバンク選択と第１階層モジュール２００内のデコードと１ポートバンク２０４のプリチャージを行う。すなわち、レジスタ・バッファ回路１０４への入力信号がバンク列選択回路２０６とアクセス競合回避回路２１０に並列に送られ、バンク列選択回路２０６でのバンクデコードと１ポートとＮポートの変換回路２０２でのポート変換（アドレス）が行われ、さらに、１ポートバンク２０４内でデコーダが動作する。
【００３３】
次に、クロックサイクルの後半（ck＝０）で１ポートバンク２０４内のアクセス（読み出し）とポートへのデータ転送を行う。１ポートバンク２０４内で、ワードラインドライバとビットラインセレクタによりワードラインを動作させ、センスアンプ回路を動作させる。メモリセルから読み出されたデータは、１ポートとＮポートの変換回路（データ）２０２、データバス、バンク行選択回路２０６、レジスタ及びバッファ回路２１２内の出力回路を経て出力される。
【００３４】
書き込みの場合、クロック信号が供給されると、クロックサイクルの前半（ck＝１）で、読み出しの場合と同様に、バンク列選択回路２０６でのバンク選択と１ポートバンク２０４の中でのデコードと１ポートバンク２０４のプリチャージを行うが、これと並行して、書きこまれるデータが、レジスタ及びバッファ回路２１２、バンク列選択回路２０６、１ポートとＮポートの変換回路（データ）２０２を通り、１ポートバンク２０４に送られる。
【００３５】
次に、クロックサイクルの後半（ck＝０）で１ポートバンク２０４内のアクセス（書き込み）を行う。すなわち、１ポートバンク２０４内で、データドライバを動作させて、１ポートセル領域でデータを書き込む。
【００３６】
次に、１ポートとＮポートの間の変換を行う１ポートとＮポートの変換回路２０２について説明する。１ポートとＮポートの変換回路２０２は、図６に示すように、アドレスをスイッチングするアクティブアドレス選択回路２０２０と、データをスイッチングするアクティブデータ選択回路２０２２、及び、それらの制御を行うバンクアクセス制御（Bank Enable）回路２０２４からなる。バンクアクセス制御（Bank Enable）回路には、クロックの反転信号ckqとポートブロック信号PBｎが入力される。
【００３７】
図７に示すバンクアクセス制御回路２０２４では、各ポートのリード／ライト信号R/Wn、行・列選択信号RSn、CSnおよびポートブロック信号PBnから、アドレススイッチ許可信号SAn、アクティブアドレス選択回路のビットラインのためのプリチャージ制御信号SApreを生成して、アクティブアドレス選択回路２０２０に送り、また、各ポートのリードアクセス許可信号SRnとライトアクセス許可信号SWn、及び、アクティブデータ選択回路のビットラインのためのプリチャージ制御信号SWpreを生成して、アクティブデータ選択回路２０２２に送り、また、バンク内の読み出し許可信号Rintと書き込み許可信号Wint、及び、バンク内の制御クロック信号CKintを生成する。この回路の特徴は、各種信号の生成にポートブロック信号PBnを考慮していることや、クロックの反転信号ckqを基にバンク内の制御クロック信号CKintを生成することである。
【００３８】
アドレススイッチ許可信号SAnは、行・列選択信号RSn、CSnおよびポートブロック信号PBnがいずれも“１”であるときに出力され、アクティブアドレス選択回路、アクティブデータ選択回路、バンク内のビットラインデコーダ、ワードラインデコーダ及びリード／ライトユニットを活性化させる。それ以外の場合は、SAｎ＝“０”となり、バンク内のすべての回路は待機状態となる。また、プリチャージ制御信号SApreは、いずれかのバンクが選択されたとき（信号RSn，CSnがともに“１”になるとき）に出力される。
【００３９】
各ポートのリードアクセス許可信号SRnとライトアクセス許可信号SWnは、いずれかのバンク２０４が選択されたときに、リード／ライト信号R/Wnに従って出力される。ビットラインのためのプリチャージ制御信号SWpreは、いずれかのバンク２０４が選択されたときに出力される。
【００４０】
また、バンク内の制御クロック信号CKintは、いずれかのバンク２０４が選択されたときに出力されるクロックの反転信号ckqである。また、バンク内の読み出し許可信号Rintと書き込み許可信号Wintは、いずれかのリードアクセス許可信号SRnまたはライトアクセス許可信号SWnとバンク内の制御クロック信号CKintが出力されるときに、出力される。アクセス競合回避回路２１０の出力PBｎが１ポートとＮポートの変換回路２０２に入力されることにより、バンク選択とアクセス競合処理が並列に処理可能となり、高速動作に効果がある。また、クロックの反転信号ckqからバンク内信号CKintを生成し、選択されたバンクのデコーダのみを動作させることにより、低消費電力化にも高い効果がある。
【００４１】
図８に示すアクティブアドレス選択回路２０２０は、アドレススイッチ許可信号SAnによりアクセスが許可されたポートｎのアドレスAnを、バンク内のワードラインデコーダとビットラインデコーダに転送する。アクティブアドレス選択回路２０２０は、グローバル配線（第２階層）からバンクへ転送する信号をアドレススイッチ許可信号SAnにより制御するスイッチ回路として小面積のＮＭＯＳトランスミッションゲートを用いている。これにより、グローバル配線の負荷容量を減少させることが可能となり、回路の高速化・低消費電力化に対して高い効果が得られる。また、バンク側に、プリチャージ回路として、直列に接続された２個のインバータと、プリチャージ制御信号SApreにより動作する伝送ゲートが設けられる。
【００４２】
図９に示すアクティブデータ選択回路２０２２も、同様に、各ポートのリードアクセス許可信号SRnとライトアクセス許可信号SWnを用い、バンク内のデータ信号線Dint,outまたはDint,inにアクセスが許可されたポートのデータ線Dnを接続する。入力（データ書き込み）側の場合、ライトアクセス許可信号SWnに従って、小面積のＮＭＯＳトランスミッションゲートを動作させる。さらに、バンク内のデータ信号線Dint,inの側（書き込みデータ側）に、プリチャージ回路として、直列に接続された２個のインバータと、プリチャージ制御信号SWpreにより動作する伝送ゲートが設けられる。出力（データ読み出し）側の場合、ライトアクセス許可信号SWnに従って、トライステートバッファを動作させて、バンク内のデータ信号線Dint,outをポートのデータ線Dnに接続する。このように、データ書き込み部分とデータ読み出し部分とが分離されている。
【００４３】
図１０は、ダイナミックＣＭＯＳ回路を用いた同期ＨＭＡメモリを示す。ダイナミックＣＭＯＳ回路は、同期回路を高速に動作させるために、高性能を求められる回路に用いられている技術である。スタティックＣＭＯＳによる回路（図５）との相違点は、アクセス競合回避回路３１０やバンク内のポート変換回路３０２にグローバルクロック信号ckが入力されており、そのクロック信号により、ダイナミック回路やラッチ回路を制御している点である。
【００４４】
ダイナミックＣＭＯＳ回路によるＨＭＡメモリは、図５に示したスタティックＣＭＯＳ回路によるＨＭＡメモリの構成と同様に、第１階層モジュール３００、列バンク選択回路３０６、行バンク選択回路３０８及びアクセス競合回避回路３１０で構成される。第１階層モジュール３００とは、１ポートとＮポートの変換回路（１：Ｎ変換回路）３０２を１ポートバンク３０４とともにモジュール化したものである。複数の第１階層モジュール３００がマトリクス状に配置される。列バンク選択回路３０６と行バンク選択回路３０８は、それぞれ列方向と行方向にバンクを選択する。さらに、内部クロック生成器３１２とレジスタ・バッファ回路３１４が設けられる。内部クロック生成器３１２は、グローバルクロックから内部クロックck, ckqを生成し、レジスタ・バッファ回路３１４、アクセス競合回避回路３１０及び第１階層モジュール３００に供給する。レジスタ・バッファ回路３１４は、外部から、アドレス信号A、データ信号D、リード・ライト信号R/Wを受け取って列バンク選択回路３０６に送り、また、アクセス競合回避回路３１０に、アドレス信号Aのうちのバンクアドレスを示す部分（上位アドレス）を送る。また、レジスタ・バッファ回路３１２は、リード／ライト信号R/Wを各々の第１階層モジュール３００にも送る。第１階層モジュール３００のバンク３０４内は、１ポートバンク領域のワードラインドライバ、ビットラインセレクタ、センスアンプ回路、１ポートメモリセルを含む。行バンク選択回路３０８と列バンク選択回路３０６がそれぞれ生成するバンク行選択信号RSnとバンク列選択信号CSnは、各ポートから入力されたアドレスの中の、バンクのアドレスを示す部分（m2ビット）をデコードした信号であり、RSnとCSnとがともに選択されたバンク３０４が、そのポートｎのデータDnがアクセスするバンクとなる。データDnはリード／ライト信号R/Wに従ってバンクから読み出されまたはバンクに書き込まれる。
【００４５】
図１１は、１ポートとＮポートの変換回路３０２を示す。１ポートとＮポートの変換回路３０２は、アドレスをスイッチングするアクティブアドレス選択回路３０２０と、データをスイッチングするアクティブデータ選択回路３０２２、及び、それらの制御を行うバンクアクセス制御（Bank Enable）回路３０２４からなる。スタティックＣＭＯＳによる１ポートとＮポートの変換回路との相違点は、ダイナミック回路やラッチ回路を制御するためにグローバルクロック信号ckが入力されることである。バンクアクセス制御（Bank Enable）回路３０２４には、クロックの反転信号ckqとポートブロック信号PBｎのほかに、クロック信号ckが入力される。また、アクティブアドレス選択回路３０２０とアクティブデータ選択回路３０２２には、クロック信号ckが入力される。
【００４６】
図１２に示すバンクアクセス制御回路３０２４では、図７に示すバンクアクセス制御回路２０２４と同様に、各ポートのリード／ライト信号R/Wn、行・列選択信号RSn、CSn、ポートブロック信号PBnから、アドレススイッチ許可信号SAn、アクティブアドレス選択回路のビットラインのためのプリチャージ制御信号SApreを生成して、アクティブアドレス選択回路３０２０に送り、また、各ポートのリードアクセス許可信号SRnとライトアクセス許可信号SWn、及び、アクティブデータ選択回路のビットラインのためのプリチャージ制御信号SWpreを生成して、アクティブデータ選択回路３０２２に送り、また、バンク内の読み出し許可信号Rintと書き込み許可信号Wint、及び、バンク内の制御クロック信号CKintを生成する。ダイナミック回路として、バンク内の読み出し許可信号Rintと書き込み許可信号Wintを生成する回路に使用されているダイナミックＯＲゲートのような、多入力ゲートに用いると特に効果的である。
【００４７】
図１３に示すアクティブアドレス選択回路３０２０は、図８に示すアクティブアドレス選択回路２０２０と同様に、アドレススイッチ許可信号SAnによりアクセスが許可されたポートのアドレスを転送する。アクティブアドレス選択回路３０２０は、グローバル配線（第２階層）からバンクへ転送する信号を制御するスイッチ回路として小面積のＮＭＯＳトランスミッションゲートを用いている。これにより、グローバル配線の負荷容量を減少させることが可能となり、回路の高速化・低消費電力化に対して高い効果が得られる。また、バンク側に、プリチャージ回路として、直列に接続された２個のインバータと、プリチャージ制御信号SApreにより動作する伝送ゲートが設けられる。
【００４８】
図１４に示すアクティブデータ選択回路３０２２も、同様に、各ポートのリードアクセス許可信号SRnとライトアクセス許可信号SWnを用い、バンク内のデータ信号線Dint,outまたはDint,inにアクセスが許可されたポートのデータ線を接続する。１ポートメモリへデータを送る回路と、列選択回路へデータを送る回路とが分離されている。アクティブデータ選択回路３０２２は、アクティブアドレス選択回路３０２０と同様に、グローバル配線（第２階層）からバンクへ転送する信号を制御するスイッチ回路として小面積のＮＭＯＳトランスミッションゲートを用いている。そして、書き込みデータ側に、外部クロックckで制御されるプリチャージ回路とラッチ回路が設けられる。
【００４９】
これらの回路の図７〜図９に示す回路との１つの相違点はラッチ回路を用いることであるが、ラッチ回路は、信号ckで動作し、ダイナミック回路がプリチャージ期間に入った際、出力データを保持する。そのため、ラッチ回路の位置はダイナミック回路を使用する箇所により制限を受けること（ラッチ回路以降にダイナミック回路は使用不可）以外は、ある程度の融通性がある。このラッチ回路の位置により、メモリのプリチャージ期間にオーバラップさせることのできる処理が決定する。ただし、ラッチ回路の数と電力消費はトレードオフの関係にある。
【００５０】
（Ｃ）同期式クロスバ型多ポートメモリへの適用．
図２に示す多ポートメモリにおいて、スイッチングネットワーク１０２にクロスバスイッチングネットワークを用いたものをクロスバ型多ポートメモリという。クロスバスイッチングネットワークは、閉塞網であり、アクセスの競合はバンク以外では起こらない。
【００５１】
図１５は、クロスバ型多ポートメモリの構成を示す。複数の１ポートバンク４００がクロスバスイッチングネットワーク４０２を介してＮ個のポートのいずれかに接続される。クロスバスイッチングネットワーク４０２におけるクロスポイント４０４は、ポートとバンク４００のスイッチングを行う回路であり、各バンクに対してポート数分必要である。また、１つの１ポートバンク４００に対応する複数のクロスポイントをまとめた部分４０６は、ＨＭＡメモリの１ポートとＮポートの変換回路と同様に、１ポートとＮポートの変換を行っている。なお、図示しないが、図４に示した多ポートメモリの場合と同様に、バッファ、衝突処理回路及び内部クロック生成回路が設けられ、同様の動作をする。
【００５２】
図１６に示す例では、クロスポイント４０４は、トライステートインバータ、制御回路及びバンクデコーダからなる。トライステートインバータは、バンクアドレス、書き込み許可信号及びポートブロック信号を基に生成される活性化信号EN、ENqに応じて、アドレス、データ及び書き込み許可信号を通す。
【００５３】
図１７は、図１５に示したクロスバ型多ポートメモリにおいて、本発明のアクセス方式を適用した場合の読出しと書込みアクセスを詳細に示す。バンク４００のプリチャージ期間にアクセス競合処理、及び、バンクとポートの選択をオーバラップさせることにより、メモリアクセスサイクル時間の短縮が可能となる。
【００５４】
読み出しの場合、クロックサイクルの前半（ck＝１）で、クロスバスイッチングネットワーク４０２でのバンク選択とバンク４００の中でのデコードとバンク４００のプリチャージを行う。すなわち、レジスタ及びバッファ回路への入力信号がスイッチングネットワーク４０２とアクセス競合回避回路１０６に並列に送られ、スイッチングネットワーク４０２内でバンクデコードとクロスポイントでの１ポートとＮポートの変換（アドレス）が行われ、さらに、バンク１００内でデコーダが動作する。
【００５５】
クロスバ型多ポートメモリやＨＭＡ以外の同期バンク型多ポートメモリにも、ＨＭＡと同様にダイナミックＣＭＯＳ回路が利用できる。図１８は、その場合のメモリのブロック図を示す。図１８に示すメモリにおいて、１ポートバンク５００、スイッチングネットワーク５０２、レジスタ・バッファ回路５０４、アクセス競合回避回路５０６、内部クロック生成器５０８は、それぞれ、図２に示すメモリの対応回路と同様に動作し、図２との違いは、クロスバスイッチにダイナミックＣＭＯＳ回路を利用するために、スイッチングネットワークにクロック信号ｃｋが入力されている点のみである。
【００５６】
書き込みの場合、クロック信号が供給されると、クロックサイクルの前半（ck＝１）で、読み出しの場合と同様に、スイッチングネットワーク４０２でのバンク選択とバンク４００の中でのデコードとバンク４００のプリチャージを行うが、これと並行して、書き込まれるデータが、レジスタ及びバッファ回路４０４からスイッチングネットワーク４０２内でのクロスポイント（データ）をとおり、バンク４００に送られる。
【００５７】
次に、クロックサイクルの後半（ck＝０）でバンク４００内のアクセス（書き込み）を行う。すなわち、バンク４００内で、データドライバを動作させて、１ポートメモリセル領域でデータを書き込む。
【００５８】
クロスバ型多ポートメモリやＨＭＡ以外の同期バンク型多ポートメモリにも、ＨＭＡと同様にダイナミックＣＭＯＳ回路が利用できる。図１８は、その場合のメモリのブロック図を示す。図２との違いは、クロスバスイッチにダイナミックＣＭＯＳ回路を利用するために、スイッチングネットワークにクロック信号ckが入力されている点のみである。図１８に示すメモリにおいて、１ポートバンク５００、スイッチングネットワーク５０２、レジスタ・バッファ回路５０４、アクセス競合回避回路５０６、内部クロック生成器５０８は、それぞれ、図２に示すメモリの対応回路と同様に動作し、図２との違いは、クロスバスイッチにダイナミックＣＭＯＳ回路を利用するために、スイッチングネットワークにクロック信号ckが入力されている点のみである。
【００５９】
クロスバ型多ポートメモリにおけるクロスポイントは、先に述べた通り、バンク毎にみると、ＨＭＡの１ポートとＮポートの回路と等しいために、ＨＭＡメモリで用いた図６〜図９の１：Ｎ変換回路、及び、図１１〜図１４の１：Ｎ変換回路をほとんどそのまま利用できる。しかしその場合には、バンク側には、その入出力信号の送受信を行うための付加回路が必要となる。図１９と図２０は、それぞれ、クロスポイントにスタティックＣＭＯＳを用いた場合とダイナミックＣＭＯＳを用いた場合の付加回路を示す。図２０の回路について、ＨＭＡと同様にラッチ回路の位置はある程度の融通性があり、また、そのラッチ回路の位置により、プリチャージ期間にオーバラップさせて行う処理が決まる。（なお、１ポートＨＭＡメモリの場合は、信号CS，RSのＡＮＤ出力を信号Sの代わりに出力すればよい。）
【００６０】
（Ｄ）同期分散クロスバ型多ポートメモリへの適用．
分散クロスバ型多ポートメモリは、クロスバ構造多ポートメモリのクロスバを、バンクのクラスタ毎に分割したものである。このクラスタをバンク単位まで分割すると、ＨＭＡと等しい構造となる。そのため、分散クロスバ型は、クロスバ型とＨＭＡ型の中間の多ポートメモリを表現する構造であるといえる。
【００６１】
図２１と図２２に、それぞれ、スタティックＣＭＯＳ回路とダイナミックＣＭＯＳ回路を用いた分散クロスバ型多ポートメモリの構成を示す。図２１と図２２の例では、クラスタを列毎のバンクで分割している。また、図２１と図２２中のクロスバスイッチングネットワークの回路には、クロスバ型多ポートメモリとほぼ同じ回路を利用できる。
【００６２】
図２１に示すスタティックＣＭＯＳ回路を用いた分散クロスバ型多ポートメモリは、１ポートバンク６００、複数のクロスバネットワーク６０２、バンク選択回路６０４及びアクセス競合回避回路６０６で構成される。複数のバンクが列ごとに分割され、クロスバスイッチングネットワーク６０２に接続される。バンク選択回路６０４の出力信号RSnは、それぞれ対応するクロスバスイッチングネットワーク６０２に入力される。さらに、内部クロック生成器６０８とレジスタ・バッファ回路６１０が設けられる。内部クロック生成器６０８は、グローバルクロックから内部クロックckqを生成し、各バンク６００に供給する。レジスタ・バッファ回路６１０は、外部から、アドレス信号A、データ信号D、リード／ライト信号R/Wを受け取ってクロスバスイッチングネットワーク６０２に送り、また、アクセス競合回避回路６０６に、アドレス信号Aのうちのバンクアドレスを示す部分（上位アドレス）を送る。また、レジスタ・バッファ回路６１０は、リード／ライト信号R/Wｎを対応するクロスバスイッチングネットワーク６０２に送る。バンク２００内は、１ポートバンク領域のワードラインドライバ、ビットラインセレクタ、センスアンプ回路、１ポートメモリセルを含む。データDnはリード／ライト信号R/Wに従ってバンクから読み出されまたはバンクに書き込まれる。
【００６３】
図２２に示すダイナミックＣＭＯＳ回路を用いた分散クロスバ型多ポートメモリにおいて、１ポートバンク７００、複数のクロスバスイッチングネットワーク７０２、バンク選択回路７０４及びアクセス競合回避回路７０６、内部クロック生成器７０８とレジスタ・バッファ回路７１０は、図２１に示すスタッティックＣＭＯＳ回路を用いた分散クロスバ型多ポートメモリの対応回路と同様な構成を備えるが、ダイナミックＣＭＯＳ回路を用いるため、クロックckが１ポートバンク７００と各クロスバスイッチングネットワーク７０２に入力される。
【００６４】
図２１と図２２に示した分散クロスバ型多ポートメモリでは、バンクの２次元配列に対し、複数のクロスバスイッチングネットワークが配置される。１つのクロスバスイッチングネットワーク６０２、７０２が１列のバンク６００、７００に接続されていて、バンク選択回路６０４、７０４が、クロスバスイッチングネットワーク６０２、７０２に選択信号を出力する。しかし、より一般的には、２次元以上のクラスタ配列も可能である。たとえば、１つのクロスバスイッチングネットワーク６０２、７０２と１列のバンク６００、７００について、ＨＭＡメモリと同様に、１：Ｎ変換回路を各バンクに設けて２段階でデコードしてもよい。これにより、配線の容易なレイアウトが実現できる。さらに多段階でデコードすることもでき、その場合トランジスタの数を減らせる。
【００６５】
（Ｅ）アクセス競合回避回路とワードラインデコーダのダイナミックＣＭＯＳ回路化とラッチ回路．
ここでは、全ての同期バンク型多ポートメモリに利用可能な、ダイナミックＣＭＯＳ回路を利用したアクセス競合回避回路とワードラインデコーダについて述べる。同期バンク型多ポートメモリでは、従来のスタティックＣＭＯＳ回路によるワードラインデコーダやアクセス競合回避回路（非特許文献３参照）を用いることもできる。
【００６６】
図２３に示すように、アクセス競合回避回路は、すべてのポート同士の組み合わせに対してアドレスの比較を行い、ｉ番目のポートとｊ番目のポートがアクセスしたメモリのアドレスが競合していることを示すアクセス競合検知信号Ci, jを生成するアクセス競合検知回路と、Ci, jからi番目のポートをブロッキングする信号PBiを生成するアクセス制御回路で構成される。なお、ポートブロック信号PBiは、競合が起こった時、PBi = "０"となるように設計している。
【００６７】
図２４と図２５は、今回新たに発明したダイナミックＣＭＯＳ回路によるアクセス競合回避回路を示す。これらは、回路構成が単純であり、ポート数の拡張性にも優れ、小面積かつ高速動作を実現する。
【００６８】
図２４のアクセス競合検知回路は、ダイナミックＣＭＯＳ回路により構成したマルチインプットＥＸＮＯＲを採用している。入力アドレス信号Aiの反転信号Aqiは、バンクセレクタのデコーダ部で既に生成されている信号であるため、Aqiの生成はオーバヘッドにはならない。出力信号Ci,jは、入力信号Ai=Ajのときに“０”となり、その他の場合に“１”となる。
【００６９】
また、図２５のアクセス制御回路は、常にポート番号iの小さい方にアクセスの優先権を与えるＰＩＨ (Port-Importance-Hierarchy)アルゴリズム（非特許文献３参照）を用いた場合に用いる。この回路において、Ci, jとポート非活性化信号 PEqｉとのＯＲ演算と、そのすべてのＯＲ演算結果のＡＮＤ演算を同時に行っている。PEqｉを用いることにより、実際にはアクセスが行われていないポートによるアクセス競合の発生を防ぐ。このPEqｉによる制御は、従来型のスタティックＣＭＯＳ回路でも、Ci, jとPEqｉのＡＮＤ演算の結果をアクセス制御回路の入力信号とすることで実現できる。
【００７０】
図２６には、フェアアルゴリズム（非特許文献３参照）を採用した場合のアクセス制御回路を示している。フェアアルゴリズムには、ＰＩＨアルゴリズムによるアクセス制御回路を、ポート番号の小さいポートにアクセスの優先権を与えるものと、ポート番号の大きなポートにアクセスの優先権を与えるものの２種類が用意されており、その出力をセレクタにより選択する。そのため、図２５で用いた、アクセス競合検知回路の出力信号Ci, jとポート非活性化信号PEqｉとのＯＲ演算と、そのすべてのＯＲ演算結果に対してＡＮＤ演算を行う回路はそのまま利用可能である。
【００７１】
ポート変換回路にスタティックＣＭＯＳ回路を用い、アクセス競合回避回路にダイナミックＣＭＯＳ回路を用いる場合には、評価期間の出力信号PBiをラッチする必要がある。そのため、この場合には、PBiの出力ノードにラッチ回路を付加する必要がある。
【００７２】
また、図２７と図２８は、本発明で使用するバンク内のワードラインデコーダの例を示す。図２７は１段のＮＯＲゲートで、図２８はそれを多段（２段）で構成したものである。後者では多段構成によりトランジスタ数を減少できる。図２７、図２８ともに、バンクのプリチャージ期間には、出力は"０"となるように設計している。
【００７３】
図２９は、ダイナミックＣＭＯＳ回路を用いた場合に必要なラッチ回路の構成例を示す。ここで、（ａ）はスタティックＣＭＯＳ回路によるラッチ回路であり、（ｂ）と（ｃ）は、ストレージノードの電荷を利用したダイナミックラッチ回路である。
【００７４】
なお、当業者に容易に理解されるように、この発明の以上に説明した種々の実施形態における構成要素は、種々の種類の同期バンク型メモリについて可能な限り組み合わせることができる。
【００７５】
【発明の効果】
各種の同期バンク型メモリ（ＨＭＡメモリ、クロスバ型メモリ、分散クロスバ型メモリなど）において、多ポートメモリの場合も１ポートメモリの場合も、メモリアクセスサイクル時間を短縮できる。
【図面の簡単な説明】
【図１】  バンク型メモリへのアクセスを説明するための図
【図２】  多ポートのバンク型メモリの概念を示す図
【図３】  一般的なバンク型メモリにおける読み出しと書きこみのアクセスを示す図
【図４】  ＨＭＡメモリにおける本発明のアクセス手法を用いた場合の読み出しと書き込みのアクセスを示す図
【図５】  スタティックＣＭＯＳ回路によるＨＭＡメモリの概念を示す図
【図６】  スタティックＣＭＯＳ回路による１ポートとＮポートの変換回路図
【図７】  スタティックＣＭＯＳ回路によるバンクアクセス制御回路の回路図
【図８】  スタティックＣＭＯＳ回路によるアクティブアドレス選択回路の回路図
【図９】  スタティックＣＭＯＳ回路によるアクティブデータ選択回路の回路図
【図１０】  ダイナミックＣＭＯＳ回路によるＨＭＡの概念を示す図
【図１１】  ダイナミックＣＭＯＳ回路による１ポートとＮポートの変換回路図
【図１２】  ダイナミックＣＭＯＳ回路によるバンクアクセス制御回路の回路図
【図１３】  ダイナミックＣＭＯＳ回路によるアクティブアドレス選択回路の回路図
【図１４】  ダイナミックＣＭＯＳ回路によるアクティブデータ選択回路の回路図
【図１５】  クロスバ型多ポートメモリの概念を示す図
【図１６】  クロスポイントの図
【図１７】  クロスバ型多ポートメモリの場合の読出と書き込みのアクセスを示す図
【図１８】  ダイナミックＣＭＯＳ回路による同期バンク型多ポートメモリＨＭＡの概念を示す図
【図１９】  クロスバスイッチにスタティックＣＭＯＳ回路を用いた場合のバンク側付加回路の図
【図２０】  クロスバスイッチにダイナミックＣＭＯＳ回路を用いた場合のバンク側付加回路の図
【図２１】  スタティックＣＭＯＳ回路による同期分散クロスバ型多ポートメモリの構成を示す図
【図２２】  ダイナミックＣＭＯＳ回路による同期分散クロスバ型多ポートメモリの構成を示す図
【図２３】  アクセス競合回避回路の図
【図２４】  ダイナミックＣＭＯＳ回路によるアクセス競合回避回路の図
【図２５】  ダイナミックＣＭＯＳ回路によるアクセス競合回避回路の図
【図２６】  フェアアルゴリズムを採用した場合のアクセス制御回路の図
【図２７】  バンク内のＮＯＲ型１段ワードラインデコーダの図
【図２８】  バンク内のＮＡＮＤ型２段ワードラインデコーダの図
【図２９】  ダイナミックＣＭＯＳ回路を用いた場合に必要なラッチの回路図
【符号の説明】
１００  １ポートバンク、    １０２  スイッチングネットワーク１０２、  １０４  レジスタ・バッファ回路、    １０６  アクセス競合回避回路、    １０８  内部クロック生成器、    ２００  第１階層モジュール、    ２０６  バンク列選択回路、    ２０８  バンク行選択回路、    ２１０  アクセス競合回避回路、    ２１４  内部クロック生成器、    ３００  第１階層モジュール、    ３０２  １：Ｎ変換回路、    ３０４  １ポートバンク、    ３０６  列バンク選択回路、    ３０８  行バンク選択回路、    ３１０  アクセス競合回避回路、    ３１４  内部クロック生成器、    ４００  １ポートバンク、    ４０２  クロスバスイッチングネットワーク、    ４０４  クロスポイント、  ４０６  １つの１ポートバンクに対応する複数のクロスポイントをまとめた部分、    ５００  １ポートバンク、    ５０２  スイッチングネットワーク、  ５０４  レジスタ・バッファ回路、    ５０６  アクセス競合回避回路、    ５０８  内部クロック生成器、    ６００  １ポートバンク、    ６０２  クロスバスイッチングネットワーク、    ６０４  バンク選択回路、    ６０６  アクセス競合回避回路、    ６０８  内部クロック生成器。
【図１】
0004256210.tif 000002
【図２】
0004256210.tif 000003
【図３】
0004256210.tif 000004
【図４】
0004256210.tif 000005
【図５】
0004256210.tif 000006
【図６】
0004256210.tif 000007
【図７】
0004256210.tif 000008
【図８】
0004256210.tif 000009
【図９】
0004256210.tif 000010
【図１０】
0004256210.tif 000011
【図１１】
0004256210.tif 000012
【図１２】
0004256210.tif 000013
【図１３】
0004256210.tif 000014
【図１４】
0004256210.tif 000015
【図１５】
0004256210.tif 000016
【図１６】
0004256210.tif 000017
【図１７】
0004256210.tif 000018
【図１８】
0004256210.tif 000019
【図１９】
0004256210.tif 000020
【図２０】
0004256210.tif 000021
【図２１】
0004256210.tif 000022
【図２２】
0004256210.tif 000023
【図２３】
0004256210.tif 000024
【図２４】
0004256210.tif 000025
【図２５】
0004256210.tif 000026
【図２６】
0004256210.tif 000027
【図２７】
0004256210.tif 000028
【図２８】
0004256210.tif 000029
【図２９】
0004256210.tif 000030