(57)【特許請求の範囲】
【請求項１】
互いに独立したｍ個（ｍ≧２）の入出力ポートと、
互いに独立したｎ個（ｎ≧２）のメモリバンクと、
前記ｍ個の入出力ポートと前記ｎ個のメモリバンクとの間のコマンド及びアドレス並びに入出力データの信号経路を任意に設定可能な経路切り替え回路と、
を備え、
前記経路切り替え回路は、前記ｎ個のメモリバンクのうち任意に選択したメモリバンクに対して、前記ｍ個の入出力ポートのうち任意に選択したｐ個（１≦ｐ≦ｍ）の入出力ポートを割り当てるように構成され、
さらに、前記任意に選択したメモリバンクの入出力データビット幅構成を、入出力ポートが１個（ｐ＝１）の場合の入出力データビット幅を基本として、そのｐ倍（１≦ｐ≦ｍ）に設定変更するためのバンクデータビット幅切り替え回路を備えることを特徴とするマルチポートメモリ。
【請求項２】
前記経路切り替え回路は、前記ｍ個の入出力ポートと前記ｎ個のメモリバンクとの間のコマンド及びアドレス並びに入出力データの信号経路を任意に設定可能なクロスバースイッチ群で構成されたことを特徴とする請求項１に記載のマルチポートメモリ。
【請求項３】
前記経路切り替え回路において前記メモリバンクと前記選択されたｐ個の入出力ポートとの間の信号経路の設定を行なうための経路切り替え信号を生成すると共に、前記選択されたｐ個の入出力ポートを統合するためのＤＱ統合信号を生成する経路制御回路を、備え、
前記メモリバンクとｐ個の入出力ポートとの間の信号経路の設定と、前記入出力データビット幅構成のｐ倍への設定変更とを、同時または略同時に行なうように構成されたことを特徴とする請求項１に記載のマルチポートメモリ。
【請求項４】
前記経路制御回路で生成される前記経路切り替え信号と前記ＤＱ統合信号とが、外部から入力されるコマンドによって制御可能に構成されたことを特徴とする請求項３に記載のマルチポートメモリ。
【請求項５】
複数のＣＰＵコアからなるマルチコアプロセッサと、複数の入出力ポートを有するマルチポートメモリとを有するコンピュータシステムであって、
前記マルチポートメモリは、
互いに独立したｍ個（ｍ≧２）の入出力ポートと、
互いに独立したｎ個（ｎ≧２）のメモリバンクと、
前記ｍ個の入出力ポートと前記ｎ個のメモリバンクとの間のコマンド及びアドレス並びに入出力データの信号経路を任意に設定可能な経路切り替え回路と、
を備え、
前記経路切り替え回路は、前記ｎ個のメモリバンクのうち任意に選択したメモリバンクに対して、前記ｍ個の入出力ポートのうち任意に選択したｐ個（１≦ｐ≦ｍ）の入出力ポートを割り当てるように構成され、
前記経路切り替え回路におけるメモリバンクに対する入出力ポートの割り当て処理が、前記マルチコアプロセッサにより制御可能に構成され、
さらに、前記任意に選択したメモリバンクの入出力データビット幅構成を、入出力ポートが１個（ｐ＝１）の場合の入出力データビット幅を基本として、そのｐ倍（１≦ｐ≦ｍ）に設定変更するためのバンクデータビット幅切り替え回路を備えることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の入出力ポートを有するマルチポートメモリに関し、特に、データ転送が行われていない入出力ポートのデータ信号線をデータ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させることができるマルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステムに関する。
【背景技術】
【０００２】
マルチポートかつマルチバンク構成をもつＤＲＡＭ、並びにその制御方式が従来から知られている。
【０００３】
例えば、従来技術の半導体記憶装置がある（特許文献１を参照）。この特許文献１の半導体記憶装置には、それぞれデータを記憶可能な複数のメモリバンクと、それぞれデータの入出力を可能とする複数の入出力ポートを設け、上記複数の入出力ポートを、互いに異なるバスによって上記メモリバンクに結合させるマルチポートＲＡＭが開示されている。
【０００４】
また、従来技術の半導体メモリ及び情報処理装置がある（特許文献２を参照）。この特許文献２の半導体メモリ及び情報処理装置には、メモリセルが配列されたメモリセル領域と、メモリセル領域内の行の選択を行う行選択回路と、メモリセル領域内の列の選択を行う列選択回路とを有するｍ個のバンクと、ｎ個のポートを有し、これらｎ個のポートから任意のｎ個のバンクを独立かつ同時にアクセスすることが出来るマルチポート回路を備えたＳＤＲＡＭが開示されている。ここでｍ≧ｎである。
【０００５】
また、従来技術の半導体記憶装置がある（特許文献３を参照）。この特許文献３の半導体記憶装置には、各々がコマンドを受信する複数Ｎ個の外部ポートと、それら外部ポートにそれぞれ対応した複数Ｎ組のバスと、それら複数Ｎ組のバスに接続される複数のメモリブロックと、それら複数Ｎ個の外部ポートからそれぞれ入力される複数のコマンドがアクセスするアドレスを比較するアドレス比較回路と、そのアドレス比較により同一のメモリブロックに対するアクセスをそのアドレス比較回路が検出すると、同一のメモリブロックにアクセスするコマンドのうち何れを実行し何れを実行しないかを決定する裁定回路を含むマルチポートＤＲＡＭが開示されている。
【０００６】
また、従来技術のメモリ制御回路がある（例えば、特許文献４を参照）。この特許文献４のメモリ制御回路には、独立にアクセス可能な複数のメモリと接続される複数のポートと、複数のマスタからのそれぞれのメモリアクセス要求アドレスの所定ビットである分配ビットによってアクセスするポートを振り分けるセレクタと、ポートごとに接続されたそれらのセレクタにより振り分けられた複数のマスタのメモリアクセス要求を調停する調停手段と、ポートごとに接続されたその調停手段により決定されたマスタのメモリアクセス要求の内容に従いメモリにアクセスするための信号を制御するアクセス手段とを有するＳＤＲＡＭ制御回路が開示されている。
【０００７】
また、従来技術の半導体記憶装置がある（特許文献５を参照）。この特許文献５の半導体記憶装置には、揮発性メモリセルからなり複数のバンクを含むセルアレイと、そのセルアレイに対して各々が独立したアドレスにアクセス可能な複数の外部ポートと、それら複数の外部ポート間でのアクセスの順番を決定するアービトレーション回路と、それら複数の外部ポートのあるポートから上記セルアレイの１つのバンクに対してアクセス要求がなされた時にその１つのバンクがコア動作実行中である場合にそのアクセス要求をしたポートにビジー信号を出力する制御回路を含むＤＲＡＭ型のマルチポートメモリが開示されている。
【０００８】
また、従来技術のマルチポートランダムアクセスメモリがある（特許文献６を参照）。この特許文献６のマルチポートランダムアクセスメモリには、複数のメモリバンク、複数のバス及び選択機構を備え、その選択機構は、複数のメモリバンク内にある全てのメモリバンク、及び複数のバス内にある全てのバスに接続され、複数のメモリバンクの何れかのメモリバンクを選択して、複数のバスの中から何れかのバスに接続することができるマルチポートＲＡＭシステムが開示されている。
【０００９】
また、従来技術の可変的アクセス経路を有するマルチポート半導体メモリ装置及びその方法がある（特許文献７を参照）。この特許文献７のマルチポート半導体メモリ装置には、互いに異なった複数個の入出力ポートと、互いに異なった複数個のメモリ領域に分割されたメモリアレイと、それらメモリ領域のそれぞれが上記入出力ポートのうち少なくとも１つ以上の入出力ポートを通じてそれぞれアクセスされるように上記メモリ領域と上記入出力ポートの間のアクセス経路を可変的に制御する選択制御とを備えるマルチポート半導体メモリが開示されている。
【００１０】
また、従来技術のマルチポート内部キャッシュＤＲＡＭがある（特許文献８を参照）。この特許文献８のマルチポート内部キャッシュＤＲＡＭには、マルチポート内部ＤＲＡＭキャッシュアレイを含み、複数のシステムＩ／Ｏリソースが、アレイの各ユニットにおいて対応するＤＲＡＭコアに接続された共通の内部データバスを介して接続され、送信元となる１つのシステムＩ／Ｏリソースが内部ＤＲＡＭキャッシュアレイにメッセージを書き込み、次にこのメッセージを受信することが必要とされている全てのシステムＩ／Ｏリソースに対してこのメッセージを読み出して同時に送信するマルチポートＤＲＡＭが開示されている。
【００１１】
しかしながら、特許文献１〜８に開示されているマルチポートかつマルチバンク構成をもつＤＲＡＭ、及びその制御方式やシステムでは、複数個のＣＰＵコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、ある入出力ポートのデータ転送が行われていない期間に、別のポートのデータ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていない入出力ポートのデータ信号線をデータ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させる機能を実現することができないという問題がある。
【００１２】
一方、従来技術の多重ポート内部キャッシュダイナミックランダムアクセスメモリシステムがある（特許文献９を参照）。この特許文献９の多重ポート内部キャッシュダイナミックランダムアクセスメモリシステムには、パラレルポートを有する主コントローラ、及び共通バスインタフェースに互いに接続されてアクセスするＤＲＡＭを有するシステムで使用され、マルチポート内部キャッシュＤＲＡＭを含み、この内部キャッシュＤＲＡＭは分離した外部Ｉ／Ｏリソース及び内部ＤＲＡＭメモリ間で対応するバッファを介して互いに接続される複数の独立した直列データインタフェースからなり、スイッチングモジュールが直列インタフェースとバッファの間に挿入され、さらにスイッチングモジュール論理が直列インタフェースとバッファの間の経路をダイナミックに経路付けするように主バスコントローラから制御されるとともに、外部Ｉ／Ｏリソースに対応して上記直列インタフェースを１乃至複数個を統合して入出力ポートを構成し、外部Ｉ／Ｏリソースの種類に応じて統合する上記直列インタフェースの個数を変更可能なマルチポートＤＲＡＭシステムが開示されている。
【００１３】
しかしながら、特許文献９に開示されている技術は、外部Ｉ／Ｏリソースの種類に応じて統合する上記直列インタフェースの個数はシステムごとに固定されるため、複数個のＣＰＵコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、ある入出力ポートのデータ転送が行われていない期間に、別のポートのデータ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていない入出力ポートのデータ信号線をデータ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させる機能を実現することができないという問題がある。
【００１４】
また、従来技術のランダムアクセス半導体メモリー装置がある（特許文献１０を参照）。この特許文献１０のランダムアクセス半導体メモリー装置には、データ入出力端子毎に独立した書き込み・読み出し制御回路を設け、複数のデータ入出力端子の一部を使ったデータの部分読み出しや、複数のデータ入出力端子の一部を使ったデータの読み出しと他の一部を使った書き込みの同時実行を可能とするランダムアクセスメモリが開示されている。しかしながら特許文献１０の技術では、複数個のＣＰＵコアに対して、複数個の入出力ポートを介してアクセスするという概念が提示されていないという問題がある。
【００１５】
また、従来技術のマルチポートＲＡＭ用の拡張可能なデータ幅を有するＳＡＭがある（特許文献１１を参照）。この特許文献１１のＳＡＭには、データ幅を調整可能なＳＡＭ部を持ったマルチポートメモリが開示されている。しかしながら、特許文献１１の技術はＳＡＭ部とＲＡＭ部のデータ幅を調整するものであり、複数の入出力ポート間でデータ転送能力を調整することはできないという問題がある。
【００１６】
また、従来技術の半導体集積回路装置がある（特許文献１２を参照）。この特許文献１２には、複数個のＤＲＡＭバンクとＳＲＡＭアレイを集積したキャッシュ付きＤＲＡＭ技術が開示されている。しかしながら特許文献１２の技術は、ＳＲＡＭ部の入出力線は２組あるが、チップ外部とのデータ転送を行うポートは１組しかなく、複数個のバンクと複数個の入出力ポート間でデータ転送能力を調整することはできないという問題がある。
【特許文献１】特開平８−２２１３１９号公報
【特許文献２】特開２０００−２１５６５９号公報
【特許文献３】特開２００２−１９７８５８号公報
【特許文献４】特開２００３−２６３３６３号公報
【特許文献５】特開２００３−２７２３７８号公報
【特許文献６】特開２００５−３４６７１５号公報
【特許文献７】特開２００７−１７２８１１号公報
【特許文献８】特表２００１−５１１５５９号公報
【特許文献９】特表２０００−５０１５２４号公報
【特許文献１０】特開平５−３４２８５６号公報
【特許文献１１】特表平１０−５１１２０８号公報
【特許文献１２】特開２０００−２４３０７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
前述の如く、従来技術のマルチポートかつマルチバンク構成をもつＤＲＡＭにおいては、複数個のＣＰＵコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、ある入出力ポートのデータ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていない入出力ポートのデータ信号線を、データ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させることができなかった。
【００１８】
本発明は、斯かる実情に鑑みなされたものであり、本発明の目的は、複数の入出力ポートを有するマルチポートメモリにおいて、データ転送が行われていない入出力ポートのデータ信号線をデータ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させることができるマルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明は上記課題を解決するためになされたものであり、本発明のマルチポートメモリは、互いに独立したｍ個（ｍ≧２）の入出力ポートと、互いに独立したｎ個（ｎ≧２）のメモリバンクと、前記ｍ個の入出力ポートと前記ｎ個のメモリバンクとの間のコマンド及びアドレス並びに入出力データの信号経路を任意に設定可能な経路切り替え回路と、を備え、前記経路切り替え回路は、前記ｎ個のメモリバンクのうち任意に選択したメモリバンクに対して、前記ｍ個の入出力ポートのうち任意に選択したｐ個（１≦ｐ≦ｍ）の入出力ポートを割り当てるように構成されたことを特徴とする。
上記構成からなる本発明のマルチポートメモリでは、複数の入出力ポートと、複数のメモリバンクとの間のコマンド、アドレス、および入出力データの信号経路を任意に設定可能な経路切り替え回路を設け、選択したメモリバンクに対して、任意に選択した複数個の入出力ポートを割り当てるようにする。
これにより、複数のメモリバンクと複数の入出力ポートとを有するマルチポートメモリにおいて、選択したメモリバンクに対して複数個の入出力ポートを割り当てることができ、あるポートの入出力データ転送が行われていない期間に、別のポートの入出力データ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていないポートの入出力データピンをデータ転送能力が限界を超えたポートのＤＱピンに統合してデータ入出力ビット幅を増やすことができる。このように、転送が行われていない入出力ポートのデータ信号線を、データ転送能力が限界を超えた入出力ポートのデータ信号線に統合することにより、動的にデータ転送能力を向上させることができる。
【００２０】
また、本発明のマルチポートメモリは、前記経路切り替え回路は、前記ｍ個の入出力ポートと前記ｎ個のメモリバンクとの間のコマンド及びアドレス並びに入出力データの信号経路を任意に設定可能なクロスバースイッチ群で構成されたことを特徴とする。
上記構成からなる本発明のマルチポートメモリでは、経路切り替え回路におけるコマンド、アドレス、および入出力データの信号経路の設定をクロスバースイッチ群で行なうようにしたので、これにより、信号経路の設定を簡易な構成により容易に行える。
【００２１】
また、本発明のマルチポートメモリは、前記任意に選択したメモリバンクの入出力データビット幅構成を、入出力ポートが１個（ｐ＝１）の場合の入出力データビット幅を基本として、そのｐ倍（１≦ｐ≦ｍ）に設定変更するためのバンクデータビット幅切り替え回路を備えることを特徴とする。
上記構成からなる本発明のマルチポートメモリでは、任意に選択したメモリバンクの入出力データビット幅構成を、１個の入出力ポートのビット幅を基本として、そのｐ倍（１≦ｐ≦ｍ）に設定することができるバンクデータビット幅切り替え回路を設けるようにしたので、これにより、メモリバンクにおいて動的にデータ転送能力を向上させることができる。
【００２２】
また、本発明のマルチポートメモリは、前記経路切り替え回路において前記メモリバンクと前記選択されたｐ個の入出力ポートとの間の信号経路の設定を行なうための経路切り替え信号を生成すると共に、前記選択されたｐ個の入出力ポートを統合するためのＤＱ統合信号を生成する経路制御回路を、備え、前記メモリバンクとｐ個の入出力ポートとの間の信号経路の設定と、前記入出力データビット幅構成のｐ倍への設定変更とを、同時または略同時に行なうように構成されたことを特徴とする。
上記構成からなる本発明のマルチポートメモリでは、メモリバンクと入出力ポートとの間の経路設定と、メモリバンクにおける入出力データビット幅構成の設定変更とをほぼ同時に行なうようにしたので、これにより、転送が行われていない入出力ポートのデータ信号線を、データ転送能力が限界を超えた入出力ポートのデータ信号線に動的に統合することができる。
【００２３】
また、本発明のマルチポートメモリは、前記経路制御回路で生成される前記経路切り替え信号と前記ＤＱ統合信号とが、外部から入力されるコマンドによって制御可能に構成されたことを特徴とする。
上記構成からなる本発明のマルチポートメモリでは、経路切り替え信号とＤＱ統合信号とを、外部から入力されるコマンドによって制御できるようにしたので、これにより、マルチポートメモリを外部から制御して、動的にデータ転送能力を向上させることができる。
【００２４】
また、本発明のコンピュータシステムは、複数のＣＰＵコアからなるマルチコアプロセッサと、複数の入出力ポートを有するマルチポートメモリとを有するコンピュータシステムであって、前記マルチポートメモリは、互いに独立したｍ個（ｍ≧２）の入出力ポートと、互いに独立したｎ個（ｎ≧２）のメモリバンクと、前記ｍ個の入出力ポートと前記ｎ個のメモリバンクとの間のコマンド及びアドレス並びに入出力データの信号経路を任意に設定可能な経路切り替え回路と、を備え、前記経路切り替え回路は、前記ｎ個のメモリバンクのうち任意に選択したメモリバンクに対して、前記ｍ個の入出力ポートのうち任意に選択したｐ個（１≦ｐ≦ｍ）の入出力ポートを割り当てるように構成され、前記経路切り替え回路におけるメモリバンクに対する入出力ポートの割り当て処理が、前記マルチコアプロセッサにより制御可能に構成されたことを特徴とする
上記構成からなる本発明のコンピュータシステムでは、上述のマルチポートメモリと、複数のＣＰＵコアからなるマルチコアプロセッサとを有し、マルチポートメモリ内のメモリバンクに対する入出力ポートの割り当て処理が、マルチコアプロセッサにより制御可能に構成される。
これにより、各ＣＰＵのメモリアクセスバンド幅の要求量と、他のＣＰＵのメモリアクセス空き期間とに応じて、任意の１個のＣＰＵコアと任意の１個のバンクに対するデータ入出力信号のビット幅を、例えば、８ビット、１６ビット、又は３２ビット幅と動的に変更することができる。
【発明の効果】
【００２５】
本発明によるマルチポートメモリにおいては、ある入出力ポートのデータ転送が行われていない期間に、別のポートのデータ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていない入出力ポートのデータ信号線をデータ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させることができる。このため、マルチコアプロセッサを用いるシステムにおいて、メモリとのデータ転送時間がボトルネックとなりにくくなり、システムの性能を向上させることができる。
【発明を実施するための最良の形態】
【００２６】
［概要］
本発明は、１個のプロセッサに複数個のＣＰＵコアを搭載したマルチコアプロセッサを含むシステムに適用して有効なマルチポートかつマルチバンク構成を持つランダムアクセスメモリ（ＲＡＭ）等のマルチポートメモリに関する。
【００２７】
本発明によるマルチポートメモリにおいては、複数個のＣＰＵコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、あるポートの入出力データ転送が行われていない期間に、別のポートの入出力データ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていないポートの入出力データピンをデータ転送能力が限界を超えたポートのＤＱピン（入出力ピン）に統合してデータ入出力ビット幅を増やすことで、動的にデータ転送能力を向上させる機能を実現する。
【００２８】
具体的には、複数個の入出力ポートと複数個のメモリバンクとの間の信号経路を任意に設定するクロスバースイッチを含む経路切り替え回路と、外部からのコマンドに応じてアクセス対象のメモリバンクの入出力データビット幅構成を変えるデータビット幅切り替え回路と、クロスバースイッチの接続経路を動的に変更する経路制御回路とを備える。
【００２９】
以下、本発明の実施の形態を添付図面を参照して説明する。なお、以下の説明では、「メモリバンク」を、単に「バンク」とも呼ぶ。
【００３０】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係わるマルチポートメモリの全体構成を示すブロック図である。図１に示すマルチポートメモリは、メモリアレイ４個からなる４バンク構成であり、各バンク１、２、３、４にはメモリセルを選択するためのロウデコーダ、カラムデコーダが配置されている。また図示しないクロック及びタイミング制御回路、データ読み出し・書き込み回路等もメモリバンク毎に独立して配置されるので、各バンクは互いに独立に動作可能である。
【００３１】
各バンク１、２、３、４は２５６Ｍビットのメモリセルを含み、後述するようにデータ入出力信号のビット幅が８ビット、１６ビット及び３２ビットに切り替え可能に制御される。これに対応して、各バンク１、２、３、４の構成は３２Ｍワードｘ８ビット、１６Ｍワードｘ１６ビット及び８Ｍワードｘ３２ビットとなる。
【００３２】
各バンク１、２、３、４のロウデコーダにはロウアドレスＸＡ０〜ＸＡ１３が供給され、カラムデコーダにはカラムアドレスＹＡ０〜ＹＡ１０が供給される。また図示しないバンクアドレスによって４個のバンク１、２、３、４の内、１個のバンクが選択される。後述するようにデータ入出力信号のビット幅が変更される時には、カラムアドレスの上位ビット１ビット又は２ビットがドントケアとされる。
【００３３】
本発明のマルチポートメモリは、さらに入出力ポートとして、ポートＡ、ポートＢ、ポートＣ、およびポートＤの４個の入出力ポートを持ち、それぞれのポートを通して外部からコマンド信号、アドレス信号が入力され、外部とのデータの入出力が行われる。
【００３４】
ここで、外部とのデータの入出力ビット幅はポート毎に８ビットとされる。各入出力ポートＡ、Ｂ、Ｃ、Ｄからは４組の内部コマンド信号Ｃｍｄ、アドレス信号Ａｄｒ、データ信号Ｄａｔａの信号バスが経路切り替え回路１１を経由して、任意のバンク１、２、３、４に切り替え可能に接続される。
【００３５】
一方、経路切り替え回路１１には各ポートに対応するコマンド信号Ｃｍｄと、アドレス信号Ａｄｒと、データ信号Ｄａｔａとが入力され、コマンド信号Ｃｍｄに基づいて各入出力ポートＡ、Ｂ、Ｃ、Ｄと各バンク１、２、３、４との間の経路が、経路制御回路１２から出力される経路切り替え信号Ｋｃによって動的に設定される。
【００３６】
またコマンド信号Ｃｍｄによって後述するＤＱ統合モードが選択されると、経路制御回路１２からＤＱ統合信号ＤＱを経路切り替え回路１１に対して出力し、要求されたＤＱ統合モードが実現されるように経路切り替え回路１１の接続状態を切り替える。
【００３７】
さらに、２個以上の入出力ポートから同じバンクに対するアクセスが同時に発生した場合には、調停信号Ａｒｂを調停回路１３に対して出力し、調停回路１３は予め定められた調停ポリシーに従って、各入出力ポートＡ、Ｂ、Ｃ、Ｄに対してポート制御信号Ｐｃｎｔを出力し、各入出力ポートＡ、Ｂ、Ｃ、Ｄの動作を調停するとともに、外部のアクセス要求元に対してビジー信号を出力する。
【００３８】
図２は、図１における経路切り替え回路１１の具体的な構成を示す図である。４個のバンク１、２、３、４と４個のポートＡ、Ｂ、Ｃ、Ｄとの間の信号経路は、経路切り替え信号Ｋｃによって制御されるクロスバースイッチ５１〜５３、６１〜６３、７１〜７３、８１〜８３により任意にかつ再構成可能に設定される。また、ＤＱ統合信号ＤＱが各バンク１、２、３、４と、データバスに接続される４個所のクロスバースイッチ５１、６１、７１、８１と、各入出力ポートＡ、Ｂ、Ｃ、Ｄに入力され、後述するＤＱ統合モードを実現する。
【００３９】
図３は、図２の各バンク１、２、３、４内に設けられる回路であり、バンク１、２、３、４のデータ入出力ビット幅を切り替える回路の詳細な構成を示す図である。
【００４０】
図３に示す、データ入出力ビット幅切り替え回路は、４層の回路で構成され、各層ごとに、カラムアドレスＹＡ９系に対応するデータ信号線切替回路２１、２２、２３、２４と、カラムアドレスＹＡ１０系に対応するデータ信号線切替回路３１、３２とが設けられている。各データ信号線切替回路２１、２２、２３、２４には、メモリセルアレイからそれぞれに対応する２ビットのデータ信号線が入力され、各切替回路３１、３２には、データ信号線切替回路２１〜２４を通して、２ビットのデータ信号線が入力される。
【００４１】
ナンドゲートＮＡ１には、カラムアドレスＹＡ９とＤＱ統合信号Ｓ１６が入力され、ＤＱ統合信号Ｓ１６はインバータＮ１の入力信号となる。ナンドゲートＮＡ２には、カラムアドレスＹＡ１０とＤＱ統合信号Ｓ８が入力され、ＤＱ統合信号Ｓ８はインバータＮ２の入力信号となる。
【００４２】
また、図３の右側の表に、ＤＱ統合信号Ｓ１６、Ｓ８の真理値表が示される。この表中のｘ３２は、メモリセルアレイに対して３２ビット幅のデータ信号線を選択することを意味し、表中のｘ１６は、１６ビット幅のデータ信号線を選択することを意味し、表中のｘ８は、８ビット幅のデータ信号線を選択することを意味している。例えば、ＤＱ統合を行わない通常の動作モード時には、Ｓ８およびＳ１６は共にハイレベル‘Ｈｉｇｈ（Ｈ）’に制御される。
【００４３】
また、各データ信号線切替回路２１〜２４は、４つのＮＭＯＳトランジスタＱ１、Ｑ２、Ｑ３、Ｑ４とインバータＩ１とで構成される。トランジスタＱ１、Ｑ２のそれぞれのドレインは対応するデータ信号線に接続される。また、トランジスタＱ１およびＱ２のゲートはナンドゲートＮＡ１の出力に共通接続されると共に、インバータＩ１の入力に接続される。
【００４４】
トランジスタＱ１のソースは、データ信号線切替回路３１に対する出力信号となると共に、トランジスタＱ４のソースに接続される。トランジスタＱ４のゲートはインバータＩ１の出力に接続され、トランジスタＱ４のドレインはトランジスタＱ２のドレインに接続される。トランジスタＱ３はトランジスタＱ２のソースにドレインが接続され、ゲートがインバータＮ１の出力に接続されると共に、ソースが外部入出力データ信号線（図中の下側の入出力データ信号線）に接続される。
【００４５】
一方、データ信号線切替回路３１、３２も、４つのＮＭＯＳトランジスタＱ１１、Ｑ１２、Ｑ１３、Ｑ１４とインバータＩ１１とで構成される。トランジスタＱ１１、Ｑ１２のドレインは、それぞれに対応する切替回路２１〜２４内のトランジスタＱ１のソースに接続される。また、トランジスタＱ１１およびＱ１２のゲートはナンドゲートＮＡ２の出力に共通接続されると共に、インバータＩ１１の入力に接続される。
【００４６】
トランジスタＱ１１のソースは、外部入出力データ信号線に接続されると共に、トランジスタＱ１４のソースに接続される。トランジスタＱ１４のゲートはインバータＩ１１の出力に接続され、トランジスタＱ１４のドレインはトランジスタＱ１２のドレインに接続される。トランジスタＱ１３はトランジスタＱ１２のソースにドレインが接続され、ゲートがインバータＮ２の出力に接続されると共に、ソースが外部入出力データ信号線に接続される。
【００４７】
前述のように、図３中の信号Ｓ１６及びＳ８はＤＱ統合信号であり、ＤＱ統合を行わない通常の動作モード時には、Ｓ８およびＳ１６は共にハイレベルに制御される。
【００４８】
そして、例えば、カラムアドレスＹＡ９およびＹＡ１０がＬｏｗの場合、ナンドゲートＮＡ１、ＮＡ２の出力はＨｉｇｈとなり、切替回路２１、切替回路２２および切替回路３１のＱ１およびＱ１１がオン、Ｑ３、Ｑ４、Ｑ１３およびＱ１４がオフし、切替回路２３、切替回路２４および切替回路３２のＱ１およびＱ１１がオン、Ｑ３、Ｑ４、Ｑ１３およびＱ１４がオフすることにより、図中の符号ａで示す８ビットのデータ信号線が選択される。また、ＹＡ９がＨｉｇｈ、ＹＡ１０がＬｏｗの場合は、図中の符号ｂで示す８ビットのデータ信号線が選択される。また、ＹＡ９がＬｏｗ、ＹＡ１０がＨｉｇｈの場合は、図中の符号ｃで示す８ビットのデータ信号線が選択される。また、ＹＡ９がＨｉｇｈ、ＹＡ１０がＨｉｇｈの場合は、図中の符号ｄで示す８ビットのデータ信号線が選択される。
【００４９】
このように、カラムアドレスＹＡ９とＹＡ１０によって、８Ｍワードｘ３２ビット構成のメモリセルアレイに対応する３２ビット幅のデータ入出力信号線のうち１／４の８ビットが選択される。選択されるデータ入出力信号線は、図３の下側のｘ８と書かれた符号の右側に○印で示されている。
【００５０】
一方、２個の入出力ポートのＤＱを統合するＤＱ統合モード時には、Ｓ１６がハイ、Ｓ８がロウに制御される。この結果カラムアドレスＹＡ１０がドントケアとされ、ＹＡ９によって８Ｍワードｘ３２ビット構成のメモリセルアレイに対応する３２ビット幅のデータ入出力信号線のうち１／２の１６ビットが選択される。選択されるデータ入出力信号線は、図３のｘ１６と書かれた右側に○印で示されている。
【００５１】
さらに、４個の入出力ポートのＤＱを統合するＤＱ統合モード時には、Ｓ１６、Ｓ８が共にロウに制御される。この結果カラムアドレスＹＡ９とＹＡ１０が共にドントケアとされ、８Ｍワードｘ３２ビット構成のメモリセルアレイに対応する３２ビット幅のデータ入出力信号線が全て選択される。選択されるデータ入出力信号線は、図３のｘ１６と書かれた右側に○印で示されている。
【００５２】
図４は、図２の経路切り替え回路１１において、通常動作モード時における４個のバンク１、２、３、４と４個の入出力ポートＡ、Ｂ、Ｃ、Ｄとの間のアドレス、コマンド、データバスの接続状態を示す。ここではクロスバースイッチ５１〜５３、６１〜６３、７１〜７３、８１〜８３を示す箱の中にある黒丸で示された接点が接続されている状態を示す。この例では経路切り替え信号Ｋｃに制御され、クロスバースイッチ５１〜５３によりポートＡがバンク１と接続される。また、クロスバースイッチ６１〜６３により、ポートＢがバンク２と接続され、クロスバースイッチ７１〜７３によりポートＣがバンク３と接続され、クロスバースイッチ８１〜８３により、ポートＤがバンク４と接続されている。
【００５３】
また、図３で説明したとおり、各バンクのデータ入出力信号バスは実質的に８ビット幅となる。これに対応して各ポートＡ、Ｂ、Ｃ、Ｄのデータ入出力ビット幅も８ビットとなる。
【００５４】
図５は、図２の経路切り替え回路１１において、ＤＱ統合モードの例として、ポートＡとバンク１からなる系が、ポートＡとポートＢのＤＱピンを使用する場合の、４個のバンク１、２、３、４と４個の入出力ポートＡ、Ｂ、Ｃ、Ｄとの間のアドレス、コマンド、データバスの接続状態を示す。
【００５５】
この場合、図３で説明したとおり、バンク１のデータ入出力信号バスは実質的に１６ビット幅となる。この１６ビット幅の入出力データ信号線はＤＱ統合信号を受けた左上のクロスバースイッチ５１によりデータバスＡとデータバスＢにそれぞれ８ビット幅で分割されて接続される。この結果、バンク１の１６ビット幅のデータ入出力信号は、ポートＡの８ビット幅のＤＱピンとポートＢの８ビット幅のＤＱピンに分割されて接続される。
【００５６】
ここで、各ポートに入力されるＤＱ統合信号ＤＱは、ＤＱピンが統合されたポート（この例ではポートＢ）のデータ入出力タイミングが、ＤＱピンを統合したポート（この例ではポートＡ）のデータ入出力タイミングと同期するようにポートＢを制御する。なお、図５の接続状態においては、バンク３とポートＣ及びバンク４とポートＤからなる系は、夫々これとは独立にアクセスを行うことが可能である。
【００５７】
図６は、図２の経路切り替え回路１１において、ＤＱ統合モードの例として、ポートＡとバンク１からなる系がポートＡ〜ポートＤのＤＱピンを使用する場合の、４個のバンク１、２、３、４と４個の入出力ポートＡ、Ｂ、Ｃ、Ｄとの間のアドレス、コマンド、データバスの接続状態を示す。この場合、図３で説明したとおり、バンク１のデータ入出力信号バスは実質的に３２ビット幅となる。
【００５８】
この３２ビット幅の入出力データ信号線はＤＱ統合信号を受けた左上のクロスバースイッチ５１により、データバスＡ〜データバスＤにそれぞれ８ビット幅で分割されて接続される。この結果、バンク１の３２ビット幅のデータ入出力信号は、ポートＡの８ビット幅のＤＱピン、ポートＢの８ビット幅のＤＱピン、ポートＣの８ビット幅のＤＱピン、ポートＤの８ビット幅のＤＱピンに分割されて接続される。
【００５９】
ここで、各ポートに入力されるＤＱ統合信号ＤＱは、ＤＱピンが統合されたポート（この例ではポートＢ〜Ｄ）のデータ入出力タイミングが、ＤＱピンを統合したポート（この例ではポートＡ）のデータ入出力タイミングと同期するようにポートＢ〜Ｄを制御する。なお、図６の接続状態においては、ポートＡ以外のポートからバンク１以外のバンクに対するアクセスを行うことはできない。
【００６０】
図７は、図２の経路切り替え回路１１において、ＤＱ統合モードの例として、ポートＡとバンク１からなる系が、ポートＡとポートＢのＤＱピンを使用し、ポートＣとバンク３からなる系がポートＣとポートＤのＤＱピンを使用する場合の、４個のバンク１、２、３、４と４個の入出力ポートＡ、Ｂ、Ｃ、Ｄとの間のアドレス、コマンド、データバスの接続状態を示す。
【００６１】
この場合、図３で説明したとおり、バンク１のデータ入出力信号バスは実質的に１６ビット幅となり、またバンク３のデータ入出力信号バスも実質的に１６ビット幅となる。この各々の１６ビット幅の入出力データ信号線は、ＤＱ統合信号を受けたデータバス上の左端のクロスバースイッチ５１と右から２番目のクロスバースイッチ７１により、バンク１はデータバスＡとＢに、バンク３はデータバスＣとＤに、それぞれ８ビット幅で分割されて接続される。この結果、バンク１の１６ビット幅のデータ入出力信号は、ポートＡの８ビット幅のＤＱピンとポートＢの８ビット幅のＤＱピンに分割されて接続され、バンク３の１６ビット幅のデータ入出力信号は、ポートＣの８ビット幅のＤＱピンとポートＤの８ビット幅のＤＱピンに分割されて接続される。
【００６２】
ここで、各ポートに入力されるＤＱ統合信号ＤＱは、ＤＱピンが統合されたポート（この例ではポートＢとＤ）のデータ入出力タイミングが、ＤＱピンを統合したポート（この例ではポートＡとＣ）のデータ入出力タイミングに同期するようにポートＢとＤをそれぞれ制御する。
【００６３】
［第２の実施の形態］
図８は、４個のＣＰＵコアを持つマルチコアプロセッサ１００と本発明によるマルチポートメモリ１１０からなるコンピュータシステムの構成例を示す図である。
【００６４】
図８において、マルチコアプロセッサ１００は、コア（１）１０１、コア（２）１０２、コア（３）１０３、およびコア（４）１０４の４個のＣＰＵコアを有している。また、外部回路とのインタフェースとなるＩ／Ｏ１０５と、外部記憶装置制御ブロック１０６と、オンチップメモリ１０７とを有している。
【００６５】
図８に示すコンピュータシステムにおいて、マルチポートメモリ１１０はマルチコアプロセッサ１００に対する外部記憶装置となっており、プロセッサチップの外部記憶装置制御ブロック１０６がマルチポートメモリ１１０を制御する。例えば、外部記憶装置制御ブロック１０６はマルチコアプロセッサの４個のＣＰＵコア（１）〜（４）をマルチポートメモリ１１０の４個のポートに夫々割り付けることが出来る。そして、各ＣＰＵのメモリアクセスバンド幅の要求量と他のＣＰＵのメモリアクセス空き期間に応じて、任意の１個のＣＰＵコアと任意の１個のバンクに対してデータ入出力信号のビット幅を、例えば、８ビット、１６ビット、又は３２ビット幅に動的に変更することが出来る。これにより、マルチコアプロセッサを用いるシステムにおいて、メモリとのデータ転送時間がボトルネックとなりにくくなり、システムの性能を向上させることが出来る。
【００６６】
以上、説明したように本発明のマルチポートメモリにおいては、複数個のＣＰＵコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、ある入出力ポートのデータ転送が行われていない期間に、別のポートのデータ転送負荷がデータ転送能力の限界を超えた場合に、転送が行われていない入出力ポートのデータ信号線をデータ転送能力が限界を超えた入出力ポートのデータ信号線に統合して、動的にデータ転送能力を向上させることができる。このため、マルチコアプロセッサを用いるシステムにおいて、メモリとのデータ転送時間がボトルネックとなりにくくなり、システムの性能を向上させることが出来る。
【００６７】
以上、本発明の実施の形態について説明したが、本発明のマルチポートメモリ、およびコンピュータシステムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００６８】
【図１】本発明の第１の実施の形態に係わるマルチポートメモリの構成を示す図である。
【図２】経路切り替え回路の構成例を示す図である。
【図３】バンクのデータビット幅切り替え回路の構成例を示す図である。
【図４】通常状態の信号経路を示す図である。
【図５】ポートＡがポートＡとＢのＤＱピン使用時の信号経路を示す図である。
【図６】ポートＡがポートＡ〜ＤのＤＱピン使用時の信号経路を示す図である。
【図７】ポートＡがポートＡとＢ、ポートＣがポートＣとＤのＤＱピン使用時の信号経路を示す図である。
【図８】本発明の第２の実施の形態に係わるマルチコアプロセッサとマルチポートメモリを有するコンピュータシステムの構成を示す図である。
【符号の説明】
【００６９】
１、２、３、４・・・メモリバンク、１１・・・経路切り替え回路、１２・・・経路制御回路、３・・・調停回路、２１〜２４、３１、３２・・・データ信号線切替回路、５１〜５３・・・クロスバースイッチ、６１〜６３・・・クロスバースイッチ、７１-７３・・・クロスバースイッチ、８１〜８３・・・クロスバースイッチ、１００・・・マルチコアプロセッサ、１０１〜１０４・・・ＣＰＵコア（１）〜（４）、１０５・・・Ｉ／Ｏ、１０６・・・外部記憶装置制御ブロック、１０７・・・オンチップメモリ、１１０・・・マルチポートメモリ、Ａ〜Ｄ・・・ポート、Ａｄｒ・・・アドレス信号、Ｃｍｄ・・・コマンド信号、Ｄａｔａ・・・データ信号、ＤＱ・・・ＤＱ統合信号、Ｋｃ・・・経路切替信号
【図１】
0005599969.tif 000002
【図２】
0005599969.tif 000003
【図３】
0005599969.tif 000004
【図４】
0005599969.tif 000005
【図５】
0005599969.tif 000006
【図６】
0005599969.tif 000007
【図７】
0005599969.tif 000008
【図８】
0005599969.tif 000009