(57)【要約】【課題】本発明は、外部メモリに対するアクセス競合が発生した場合のレイテンシの増加を抑えることが可能な半導体集積回路を提供することを目的とする。【解決手段】半導体集積回路は、メモリと接続するための制御端子及びデータ端子に接続されるメモリコントローラと、メモリコントローラに接続される第１のマスタ及び第２のマスタとを含み、メモリコントローラは、クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、第１のマスタによるメモリアクセスに対応する制御信号及び第２のマスタによるメモリアクセスに対応する制御信号を第１のエッジ及び第２のエッジにそれぞれ同期して制御端子に送出し、第１のマスタの入出力データ及び第２のマスタの入出力データを第１のエッジ及び第２のエッジにそれぞれ同期してデータ端子から入出力するよう構成されることを特徴とする。【選択図】図１
2008226135.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に同期して動作するメモリに接続可能な半導体集積回路であって、
制御バスを介して該メモリに接続するための制御端子と、
データバスを介して該メモリと接続するためのデータ端子と、
該制御端子及び該データ端子に接続されるメモリコントローラと、
該メモリコントローラに接続される第１のマスタ及び第２のマスタと、
を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御端子に送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データ端子から入出力するよう構成されることを特徴とする半導体集積回路。
【請求項２】
該メモリコントローラは、該第１のエッジと該第２のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを切換可能に構成されることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
該メモリコントローラは、
該第１のマスタからのメモリアクセスのアドレスと該第２のマスタからのメモリアクセスのアドレスとに応じて該第１のエッジと該第２のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第１のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第２のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を含むことを特徴とする請求項１記載の半導体集積回路。
【請求項４】
クロック信号に同期して動作するメモリと、
該メモリに接続される制御バスと、
該メモリに接続されるデータバスと、
該制御バス及び該データバスに接続されるメモリコントローラと、
該メモリコントローラに接続される第１のマスタ及び第２のマスタと、
を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御バスに送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データバスに対して入出力するよう構成されることを特徴とするメモリシステム。
【請求項５】
該メモリコントローラは、該第１のエッジと該第２のエッジとの何れが該立ち上がりエッジであり何れが第立ち下りエッジであるかを切換可能に構成されることを特徴とする請求項４記載のメモリシステム。
【請求項６】
該メモリコントローラは、
該第１のマスタからのメモリアクセスのアドレスと該第２のマスタからのメモリアクセスのアドレスとに応じて該第１のエッジと該第２のエッジとの何れを該立ち上がりエッジとし何れを第立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第１のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第２のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を含むことを特徴とする請求項４記載のメモリシステム。
【請求項７】
該メモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第１のメモリ及び第２のメモリと、
正相状態の該クロック信号を該第１のメモリに第１のクロックとして供給するとともに逆相状態の該クロック信号を該第２のメモリに第２のクロックとして供給する信号供給回路と、
該データバスと該第１のメモリとの間に結合され該第１のクロックのＨＩＧＨ及びＬＯＷに応じて該データバスと該第１のメモリとの電気的接続を確立又は遮断するゲートと、
該データバスと該第２のメモリとの間に結合され該第２のクロックのＨＩＧＨ及びＬＯＷに応じて該データバスと該第１のメモリとの電気的接続を確立又は遮断するゲートと、
を含むことを特徴とする請求項４記載のメモリシステム。
【請求項８】
該第１のメモリと該第２のメモリとは同一のアドレス空間に割り当てられていることを特徴とする請求項７記載のメモリシステム。
【請求項９】
該メモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第３のメモリと、
正相状態の該クロック信号又は逆相状態の該クロック信号の何れか選択した一方を該第３のメモリに第３のクロックとして供給する信号供給回路と、
該データバスと該第３のメモリとの間に結合され該第３のクロックのＨＩＧＨ及びＬＯＷに応じて該データバスと該第３のメモリとの電気的接続を確立又は遮断するゲートと、
を更に含むことを特徴とする請求項４記載のメモリシステム。
【請求項１０】
該メモリは、
該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第１のメモリ回路及び第２のメモリ回路と、
該制御バスからの制御信号を受信して第１のメモリ回路及び第２のメモリ回路にコマンドを並列に供給する１つのコマンドバッファと、
該データバスと、該第１のメモリ回路及び第２のメモリ回路との間に設けられたデータ入出力のための１つのデータバッファと、
該メモリコントローラから該クロック信号を受信し、正相状態の該クロック信号を該第１のメモリ回路に第１のクロックとして供給するとともに逆相状態の該クロック信号を該第２のメモリ回路に第２のクロックとして供給する信号供給回路と
該データバッファと該第１のメモリ回路との間に結合され該第１のクロックのＨＩＧＨ及びＬＯＷに応じて該データバッファと該第１のメモリ回路との電気的接続を確立又は遮断するゲートと、
該データバッファと該第２のメモリ回路との間に結合され該第２のクロックのＨＩＧＨ及びＬＯＷに応じて該データバッファと該第１のメモリ回路との電気的接続を確立又は遮断するゲートと、
を含むことを特徴とする請求項４記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にメモリシステム及びメモリシステムで使用される半導体集積回路に関し、詳しくは複数のマスタがメモリを共用するメモリシステム及びそのメモリシステムで使用される半導体集積回路に関する。
【背景技術】
【０００２】
プロセッサを含むシステムＬＳＩのチップには、ＳＤＲＡＭ（Synchronous DRAM）やＦＬＡＳＨメモリのチップを接続し、この外部メモリチップをメインメモリとして用いる。この際、システムの動作を高速化するために、立ち下り／立ち上がりの両方のクロックエッジで出力するＤＤＲ（Double Data Rate）やＤＤＲ２のＳＤＲＡＭを用いる構成が主流となっている。
【０００３】
プロセッサがプログラムを実行する場合、上記のような外部チップのメモリ領域をプログラム実行領域として使用するのではなく、キャッシュやチップオンメモリ等のシステムＬＳＩチップ内のメモリを実行領域として使用するのが、従来の典型的な構成であった。システムＬＳＩチップ内のメモリは、例えばＳＲＡＭ（Static RAM）で構成されており、高速でアクセスすることが可能である。
【０００４】
しかし近年、実行するプログラムのサイズや処理対象のデータの大容量化に伴って、システムＬＳＩチップ内のメモリの容量では、プログラムを実行するための領域として不十分となる場合が多くなっている。そのような場合には、上記のような外部メモリチップのメモリ領域を、プログラム実行領域として直接に使用することになる。
【０００５】
また近年、システムオンチップとして、複数のプロセッサが１つのチップに搭載される場合がある。このような場合、ＬＳＩの端子数に制限があるため、また実装面積及び部品数を削減するために、システムＬＳＩの外部に接続するメモリを複数のプロセッサで共用する構成がしばしば用いられる。
【０００６】
複数のマスタ（複数のプロセッサ）でメモリを共有する場合、マスタ間でアクセス競合が発生するという問題がある。外部メモリとして使用するＳＤＲＡＭやＦＬＡＳＨメモリの場合、１アクセスに対するレイテンシが大きい。例えばＳＤＲＡＭの場合、バンクアクティブから最初のデータが出力されるまでには、４〜５クロックサイクルの時間を必要とする。従ってシングルアクセスではなく、可能な限りバーストアクセスを用いてデータを読み書きすることが望ましい。しかしバースト動作の場合、連続してデータを入出力するために、アクセス開始からデータ入出力終了まで長い時間がかかり、その間、アクセス中でない他のマスタはアクセスを待つ必要がある。これによりアクセスのレイテンシが増大し、プロセッサの処理性能が低下してしまう。
【特許文献１】特開２００３−１５９５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上を鑑みて、本発明は、複数のマスタで外部メモリを共用する構成において、外部メモリに対するアクセス競合が発生した場合のレイテンシの増加を抑えることが可能なメモリシステム及び半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
クロック信号に同期して動作するメモリに接続可能な半導体集積回路は、制御バスを介して該メモリに接続するための制御端子と、データバスを介して該メモリと接続するためのデータ端子と、該制御端子及び該データ端子に接続されるメモリコントローラと、該メモリコントローラに接続される第１のマスタ及び第２のマスタとを含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御端子に送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データ端子から入出力するよう構成されることを特徴とする。
【０００９】
またメモリシステムは、クロック信号に同期して動作するメモリと、該メモリに接続される制御バスと、該メモリに接続されるデータバスと、該制御バス及び該データバスに接続されるメモリコントローラと、該メモリコントローラに接続される第１のマスタ及び第２のマスタとを含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御バスに送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データバスに対して入出力するよう構成されることを特徴とする。
【発明の効果】
【００１０】
本発明の少なくとも１つの実施例によれば、一方のマスタからのメモリアクセスに対応する制御信号を立ち上がりエッジに同期させ、他方のマスタからのメモリアクセスに対応する制御信号を立ち下がりエッジに同期させる。また一方のメモリアクセスに対応するデータ信号を立ち上がりエッジに同期させ、他方のメモリアクセスに対応するデータ信号を立ち下がりエッジに同期させる。これにより、同時（より正確には時分割多重）に２つのマスタからのメモリアクセスを処理して、データ入出力を並行して実行することが可能になる。従って、複数のマスタで外部メモリを共用する構成において、外部メモリに対するアクセス競合が発生した場合のレイテンシの増加を抑えることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１２】
図１は、本発明によるメモリシステムの構成及び動作原理を説明するための図である。図１において、メモリシステム１０は、クロック信号に同期して動作する同期メモリ１１と、同期メモリ１１に接続される制御バス１２と、同期メモリ１１に接続されるデータバス１３と、制御バス１２及びデータバス１３に接続されるメモリコントローラ１４と、メモリコントローラ１４に接続される第１のマスタ１５及び第２のマスタ１６を含む。メモリコントローラ１４と第１のマスタ１５との間及びメモリコントローラ１４と第２のマスタ１６との間は、図示されるように別個の信号経路により接続されてもよいし、或いは共通のバスで接続されてもよい。即ち、第１のマスタ１５と第２のマスタ１６とが共通の１つのバスに接続され、このバスがメモリコントローラ１４に接続される構成でもよい。
【００１３】
メモリコントローラ１４は、クロック信号ＣＬＫの立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、第１のマスタ１５によるメモリアクセスに対応する制御信号及び第２のマスタ１６によるメモリアクセスに対応する制御信号を第１のエッジ及び第２のエッジにそれぞれ同期して制御バス１２に送出する。図１に示される例では、第１のエッジが立ち上がりエッジであり、制御バス１２上を伝搬するメモリアクセス制御信号１７において、第１のマスタ１５に対応するメモリアクセス制御信号Ａがクロック信号ＣＬＫの立ち上がりエッジに同期している。また第２のエッジが立ち下がりエッジであり、制御バス１２上を伝搬するメモリアクセス制御信号１７において、第２のマスタ１６に対応するメモリアクセス制御信号Ｂがクロック信号ＣＬＫの立ち下りエッジに同期している。なおここで言うメモリアクセス制御信号とは、／ＲＡＳ、／ＣＡＳ、／ＷＥ等の狭義のメモリアクセス制御信号だけでなく、アドレス信号も含むものとする。
【００１４】
メモリコントローラ１４は更に、第１のマスタ１５の入出力データ１９及び第２のマスタの入出力データ２０を上記第１のエッジ及び第２のエッジにそれぞれ同期してデータバス１３に対して入出力する。図１に示される例では、第１のエッジが立ち上がりエッジであり、データバス１３上を伝搬するデータ信号１８において、第１のマスタ１５に対応するデータ信号Ａがクロック信号ＣＬＫの立ち上がりエッジに同期している。また第２のエッジが立ち下がりエッジであり、データバス１３上を伝搬するデータ信号１８において、第２のマスタ１６に対応するデータ信号Ｂがクロック信号ＣＬＫの立ち下りエッジに同期している。
【００１５】
この構成において、同期メモリ１１は、クロック信号ＣＬＫの立ち上がりエッジと立ち下がりエッジとの両方のエッジに同期してメモリアクセス制御信号の入力及びデータ信号の入出力を行うことになる。この際、立ち上がりエッジに対応するメモリアクセス制御信号と立ち下がりエッジに対応するメモリアクセス制御信号とは、互いに独立であり、それぞれ異なるマスタからのメモリアクセスに対応する信号である。また立ち上がりエッジに対応するデータ信号と立ち下がりエッジに対応するデータ信号とは、互いに独立であり、それぞれ異なるマスタからのメモリアクセスに対応する信号である。
【００１６】
図２は、図１のメモリシステム１０のメモリ読み出し動作を説明するためのタイミングチャートである。（ａ）乃至（ｅ）は図１のメモリシステム１０に示される各信号に対応し、それぞれクロック信号ＣＬＫ、第１のマスタのアクセス信号、第２のマスタのアクセス信号、メモリアクセス制御信号１７、及びメモリデータ出力１８である。ここで第１のマスタのアクセス信号は、第１のマスタ１５がメモリアクセスを行う際に、第１のマスタ１５からメモリコントローラ１４に供給されるアクセス信号である。また第２のマスタのアクセス信号は、第２のマスタ１６がメモリアクセスを行う際に、第２のマスタ１６からメモリコントローラ１４に供給されるアクセス信号である。なお（ａ）乃至（ｅ）においては、第１のマスタ１５に対応する各信号をＡで表記し、第２のマスタ１６に対応する各信号をＢで表記してある。
【００１７】
図２（ｂ）に示すように、第１のマスタ１５からのアクセス信号Ａと第２のマスタ１６からのアクセス信号Ｂとが同一のクロックタイミング（図２（ａ）のクロック信号ＣＬＫの第１のクロックサイクル）で発行される。これらアクセス信号は、アクセス先のアドレス及びアクセスの種類（読み出し／書き込み）を示す情報を含む。
【００１８】
図１のメモリコントローラ１４は、アクセス信号Ａのアドレスとアクセス信号Ｂのアドレスとに応じて、第１のマスタ１５及び第２のマスタ１６を立ち上がりエッジ及び立ち下りエッジの何れに割り当てるかを決定する。図２に示す例では、第１のマスタ１５が立ち上がりエッジに割り当てられ、第２のマスタ１６が立ち下がりエッジに割り当てられる。その結果、図２（ｄ）に示すように、第１のマスタ１５に対応するメモリアクセス制御信号Ａと第２のマスタ１６に対応するメモリアクセス制御信号Ｂとが、それぞれクロック信号ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。これらのメモリアクセス制御信号Ａ及びＢは、図１に示すメモリアクセス制御信号１７に対応する。
【００１９】
メモリアクセス制御信号の入力に応答して、同期メモリ１１は所定のレイテンシの後にデータを出力する。図２の例では、図２（ｅ）に示されるように、メモリアクセス制御信号のアサートから４サイクル後に読み出しデータがデータバス１３に現れている。読み出しデータにおいて、第１のマスタ１５に対応するメモリデータ出力Ａはクロック信号ＣＬＫの立ち上がりエッジに同期しており、第２のマスタ１６に対応するメモリデータ出力Ｂはクロック信号ＣＬＫの立ち下がりエッジに同期している。これらメモリデータ出力は、図１に示すデータ信号１８に対応する。図２（ｅ）の例では、データ読み出しはバースト長が４のバースト読み出しとなっている。
【００２０】
図２（ｆ）乃至（ｇ）は、比較対象として従来のメモリシステムの各信号を示すものであり、それぞれメモリアクセス制御信号及びメモリデータ出力である。図２（ｆ）及び（ｇ）に示すように、バースト長が４のバースト読み出しの場合、第１のマスタからのメモリアクセスに対応するデータＡのバースト読み出しが完了するまでは、第２のマスタからのメモリアクセスに対応するデータＢのバースト読み出しを開始することができない。従って、バースト読み出しの長さに対応する期間、メモリアクセスが遅延することになる。
【００２１】
それに対して図２（ａ）乃至（ｅ）に示される図１のメモリシステム１０の動作においては、立ち上がりエッジと立ち下がりエッジとにそれぞれ別のマスタからのメモリアクセスを割り当てて、一方のメモリアクセスに対応する制御信号を立ち上がりエッジに同期させ、他方のメモリアクセスに対応する制御信号を立ち下がりエッジに同期させる。また一方のメモリアクセスに対応するデータ信号を立ち上がりエッジに同期させ、他方のメモリアクセスに対応するデータ信号を立ち下がりエッジに同期させる。これにより、同時（より正確には時分割多重）に２つのマスタからのメモリアクセスを処理して、データ入出力を並行して実行することが可能になる。従って、メモリアクセスが競合した場合でも、両方のメモリアクセスを待ち時間なく処理することが可能となる。
【００２２】
図３は、本発明によるメモリシステムの第１の実施例の構成の一例を示す図である。図３において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００２３】
図３において、メモリシステム３０は、ＳＤＲ（Single Data Rate）型のＳＤＲＡＭであるＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂと、ＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂに接続される制御バス１２と、ＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂに接続されるデータバス１３と、ＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂに接続されるクロック信号線３１と、制御バス１２、データバス１３、及びクロック信号線３１に接続されるメモリコントローラ１４と、メモリコントローラ１４に接続される第１のマスタ１５及び第２のマスタ１６と、ゲート回路３２と、ゲート回路３３と、インバータ３４とを含む。
【００２４】
図３の第１の実施例においては、図１の同期メモリ１１がＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂとして実現されている。ＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂは、クロック信号の立ち上がりエッジ及び立ち下がりエッジの何れか一方にのみ同期して動作するメモリである。以下の説明では、ＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂの双方ともに、入力クロック信号の立ち上がりエッジにのみ同期して動作するものとして説明する。しかし、クロック信号の立ち下がりエッジにのみ同期して動作するとしても同様である。
【００２５】
ＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂにおいて、／ＣＳはチップイネーブル信号、ＡＤＤはアドレス信号、／ＲＡＳはローアドレスストローブ信号、／ＣＡＳはコラムアドレスストローブ信号、／ＷＥはライトイネーブル信号、ＤＱＭはバイトマスク信号、ＤＱは入出力データ信号、ＣＫは入力クロック信号である。
【００２６】
メモリコントローラ１４は、クロック信号線３１を介して正相状態のクロック信号ＣＬＫをＳＤＲ−ＳＤＲＡＭ１１Ａに供給するとともに、クロック信号線３１及びインバータ３４を介して逆相状態のクロック信号／ＣＬＫをＳＤＲ−ＳＤＲＡＭ１１Ｂに供給する。これによりＳＤＲ−ＳＤＲＡＭ１１Ａは、メモリコントローラ１４が送出するクロック信号ＣＬＫの立ち上がりエッジに同期して動作する。またＳＤＲ−ＳＤＲＡＭ１１Ｂは、ＳＤＲ−ＳＤＲＡＭ１１Ａが同期するエッジとは逆側のエッジ、即ちメモリコントローラ１４が送出するクロック信号ＣＬＫの立ち下がりエッジに同期して動作することになる。
【００２７】
ゲート回路３２は、データバス１３とＳＤＲ−ＳＤＲＡＭ１１Ａとの間に結合され、ＳＤＲ−ＳＤＲＡＭ１１Ａに供給されるクロック信号ＣＬＫのＨＩＧＨ及びＬＯＷに応じてデータバス１３とＳＤＲ−ＳＤＲＡＭ１１Ａとの電気的接続を確立又は遮断する。具体的には、ゲート回路３２は、ＳＤＲ−ＳＤＲＡＭ１１Ａに入力されるクロック信号ＣＬＫがＨＩＧＨの時に導通してデータバス１３とＳＤＲ−ＳＤＲＡＭ１１Ａとを電気的に接続し、ＳＤＲ−ＳＤＲＡＭ１１Ａに入力されるクロック信号ＣＬＫがＬＯＷの時に非導通となりデータバス１３とＳＤＲ−ＳＤＲＡＭ１１Ａとを電気的に遮断する。
【００２８】
ゲート回路３３は、データバス１３とＳＤＲ−ＳＤＲＡＭ１１Ｂとの間に結合され、ＳＤＲ−ＳＤＲＡＭ１１Ｂに供給されるクロック信号のＨＩＧＨ及びＬＯＷに応じてデータバス１３とＳＤＲ−ＳＤＲＡＭ１１Ｂとの電気的接続を確立又は遮断する。具体的には、ゲート回路３３は、ＳＤＲ−ＳＤＲＡＭ１１Ｂに入力される反転クロック信号／ＣＬＫがＨＩＧＨの時に導通してデータバス１３とＳＤＲ−ＳＤＲＡＭ１１Ｂとを電気的に接続し、ＳＤＲ−ＳＤＲＡＭ１１Ｂに入力される反転クロック信号／ＣＬＫがＬＯＷの時に非導通となりデータバス１３とＳＤＲ−ＳＤＲＡＭ１１Ｂとを電気的に遮断する。
【００２９】
これにより、データバス１３を、クロック信号ＣＬＫの立ち上がりエッジに対応する期間（クロック信号ＣＬＫのＨＩＧＨ期間）にはＳＤＲ−ＳＤＲＡＭ１１Ａに電気的に接続し、クロック信号ＣＬＫの立ち下がりエッジに対応する期間（クロック信号ＣＬＫのＬＯＷ期間）にはＳＤＲ−ＳＤＲＡＭ１１Ｂに電気的に接続することになる。従って、データバス１３上において、ＳＤＲ−ＳＤＲＡＭ１１Ａに対するデータ入出力（データ読み書き）動作をクロック信号ＣＬＫの立ち上がりエッジに同期して実行し、ＳＤＲ−ＳＤＲＡＭ１１Ｂに対するデータ入出力（データ読み書き）動作をクロック信号ＣＬＫの立ち下がりエッジに同期して実行することが可能となる。
【００３０】
図３の構成において、ＳＤＲ−ＳＤＲＡＭ１１Ａは、全体のアドレス空間の第１の半分に対応するアドレス空間に割り当てられ、ＳＤＲ−ＳＤＲＡＭ１１Ｂは、全体のアドレス空間の第２の半分に対応するアドレス空間に割り当てられてよい。なおこの場合、第１のマスタ１５のアクセス先と第２のマスタ１６のアクセス先との一方が第１の半分のアドレス空間内にあり他方が第２の半分のアドレス空間内にあるときには、メモリコントローラ１４は、上記のように立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行することができる。しかし、第１のマスタ１５のアクセス先と第２のマスタ１６のアクセス先とが両方とも同一の半分のアドレス空間内にあるときには、メモリコントローラ１４は、調停動作により、第１のマスタ１５からのアクセスと第２のマスタ１６からのアクセスとの何れか一方を優先して実行することになる。
【００３１】
また図３の構成において、変形例として、ＳＤＲ−ＳＤＲＡＭ１１ＡとＳＤＲ−ＳＤＲＡＭ１１Ｂとを、同一のアドレス空間に重複する形で割り当ててもよい。この場合、第１のマスタ１５が例えばＳＤＲ−ＳＤＲＡＭ１１Ａを占有して使用し、第２のマスタ１６がＳＤＲ−ＳＤＲＡＭ１１Ｂを占有して使用する構成になり、メモリを共有する構成ではなくなる。しかしこの場合でも、端子数及び信号線数の削減という意味で有利な効果を得ることができる。
【００３２】
図４は、図３のメモリシステム３０の読み出し動作について説明するためのタイムチャートである。図４において（ａ）乃至（ｇ）は、それぞれクロック信号ＣＬＫ、反転クロック信号／ＣＬＫ、メモリに入力されるコマンドＣｏｍｍａｎｄ、データバス１３上の読み出しデータＤＱ、ＳＤＲ−ＳＤＲＡＭ１１Ａの読み出しデータＤＱ（Ａ）、ＳＤＲ−ＳＤＲＡＭ１１Ｂの読み出しデータＤＱ（Ｂ）、及びバイトマスク信号ＤＱＭを示す。ここでコマンドＣｏｍｍａｎｄは、図３に示す／ＣＳ、／ＲＡＳ、／ＣＡＳ、及び／ＷＥの信号の組み合わせにより定義される。
【００３３】
まず図４（ｃ）に示すように、第１のマスタ１５に対応するアクティベーションコマンドＡＣＴ−Ａと第２のマスタ１６に対応するアクティベーションコマンドＡＣＴ−Ｂとが、それぞれクロック信号ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。その後更に、第１のマスタ１５に対応するリードコマンドＲＥＡＤ−Ａと第２のマスタ１６に対応するリードコマンドＲＥＡＤ−Ｂとが、それぞれクロック信号ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。
【００３４】
アクティベーションコマンドＡＣＴ−Ａ及びリードコマンドＲＥＡＤ−Ａの入力に応答して、ＳＤＲ−ＳＤＲＡＭ１１Ａは所定のレイテンシの後にデータを出力する。図４の例では、図４（ｅ）にＤＱ（Ａ）として示されるように、アクティベーションコマンドＡＣＴ−Ａの入力から４サイクル後に読み出しデータが現れている。この読み出しデータＱＡ１乃至ＱＡ４は、バースト長４のバースト読み出しの場合に対応し、クロック信号ＣＬＫの立ち上がりエッジに同期している。
【００３５】
またアクティベーションコマンドＡＣＴ−Ｂ及びリードコマンドＲＥＡＤ−Ｂの入力に応答して、ＳＤＲ−ＳＤＲＡＭ１１Ｂは所定のレイテンシの後にデータを出力する。図４の例では、図４（ｆ）にＤＱ（Ｂ）として示されるように、アクティベーションコマンドＡＣＴ−Ｂの入力から４サイクル後に読み出しデータが現れている。この読み出しデータＱＢ１乃至ＱＢ４は、バースト長４のバースト読み出しの場合に対応し、クロック信号ＣＬＫの立ち下がりエッジに同期している。
【００３６】
図４に示す例では、バイトマスク信号ＤＱＭによるマスク動作も同時に示してある。クロック信号ＣＬＫの立ち上がりエッジでＤＱＭがＨＩＧＨにアサートされると、所定のタイミング後（この例では２クロックサイクル後）のＳＤＲ−ＳＤＲＡＭ１１Ａの読み出しデータがマスクされる。同様に、クロック信号ＣＬＫの立ち下がりエッジでＤＱＭがＨＩＧＨにアサートされると、所定のタイミング後（この例では２クロックサイクル後）のＳＤＲ−ＳＤＲＡＭ１１Ｂの読み出しデータがマスクされる。
【００３７】
こうしてＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂから読み出されたデータ信号が時分割多重され、図４（ｄ）にＤＱとして示すように、データバス１３上にデータ信号として現れる。図３のメモリコントローラ１４は、データバス１３上のデータ信号のうち第１のマスタ１５に対応するデータ信号ＱＡ１、ＱＡ３、ＱＡ４を第１のマスタ１５に供給し、第２のマスタ１６に対応するデータ信号ＱＢ１、ＱＢ２、ＱＢ４を第２のマスタ１６に供給する。
【００３８】
図５は、図３のメモリシステム３０の書き込み動作について説明するためのタイムチャートである。図５において（ａ）乃至（ｅ）は、それぞれクロック信号ＣＬＫ、反転クロック信号／ＣＬＫ、メモリに入力されるコマンドＣｏｍｍａｎｄ、データバス１３上の書き込みデータＤＱ、及びバイトマスク信号ＤＱＭを示す。ここでコマンドＣｏｍｍａｎｄは、図３に示す／ＣＳ、／ＲＡＳ、／ＣＡＳ、及び／ＷＥの信号の組み合わせにより定義される。
【００３９】
まず図５（ｃ）に示すように、第１のマスタ１５に対応するアクティベーションコマンドＡＣＴ−Ａと第２のマスタ１６に対応するアクティベーションコマンドＡＣＴ−Ｂとが、それぞれクロック信号ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。その後更に、第１のマスタ１５に対応するライトコマンドＷＲＩＴＥ−Ａと第２のマスタ１６に対応するライトコマンドＷＲＩＴＥ−Ｂとが、それぞれクロック信号ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。
【００４０】
またライトコマンドＷＲＩＴＥ−Ａをアサートするのと同時に、メモリコントローラ１４は、ＳＤＲ−ＳＤＲＡＭ１１Ａへの書き込みデータをデータバス１３に出力する。この書き込みデータＱＡ１乃至ＱＡ４は、バースト長４のバースト書き込みの場合に対応し、クロック信号ＣＬＫの立ち上がりエッジに同期している。同様に、ライトコマンドＷＲＩＴＥ−Ｂをアサートするのと同時に、メモリコントローラ１４は、ＳＤＲ−ＳＤＲＡＭ１１Ｂへの書き込みデータをデータバス１３に出力する。この書き込みデータＱＢ１乃至ＱＢ４は、バースト長４のバースト書き込みの場合に対応し、クロック信号ＣＬＫの立ち下がりエッジに同期している。
【００４１】
図５に示す例では、バイトマスク信号ＤＱＭによるマスク動作も同時に示してある。クロック信号ＣＬＫの立ち上がりエッジでＤＱＭがＨＩＧＨにアサートされると、そのタイミングのＳＤＲ−ＳＤＲＡＭ１１Ａへの書き込みデータがマスクされる。同様に、クロック信号ＣＬＫの立ち下がりエッジでＤＱＭがＨＩＧＨにアサートされると、そのタイミングのＳＤＲ−ＳＤＲＡＭ１１Ｂへの書き込みデータがマスクされる。
【００４２】
図６は、本発明によるメモリシステムの第２の実施例の構成の一例を示す図である。図６において、図１及び図３と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００４３】
図６において、メモリシステム４０は、ＳＤＲ（Single Data Rate）型のＳＤＲＡＭであるＳＤＲ−ＳＤＲＡＭ１１Ａ、ＳＤＲ−ＳＤＲＡＭ１１Ｂ、ＳＤＲ−ＳＤＲＡＭ１１Ｃ、及びＳＤＲ−ＳＤＲＡＭ１１Ｄと、ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至ＳＤＲ−ＳＤＲＡＭ１１Ｄに接続される制御バス１２と、ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至ＳＤＲ−ＳＤＲＡＭ１１Ｄに接続されるデータバス１３と、ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至ＳＤＲ−ＳＤＲＡＭ１１Ｄに接続されるクロック信号線３１Ａ乃至３１Ｄと、制御バス１２、データバス１３、及びクロック信号線３１Ａ乃至３１Ｄに接続されるメモリコントローラ１４Ａと、メモリコントローラ１４Ａに接続される第１のマスタ１５及び第２のマスタ１６と、ゲート回路３２、３３、３５、及び３６とを含む。
【００４４】
図６の第２の実施例においては、図１の同期メモリ１１がＳＤＲ−ＳＤＲＡＭ１１Ａ乃至ＳＤＲ−ＳＤＲＡＭ１１Ｄとして実現されている。ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至ＳＤＲ−ＳＤＲＡＭ１１Ｄは、クロック信号の立ち上がりエッジ及び立ち下がりエッジの何れか一方にのみ同期して動作するメモリである。以下の説明では、ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至ＳＤＲ−ＳＤＲＡＭ１１Ｄは全て、入力クロック信号の立ち上がりエッジにのみ同期して動作するものとして説明する。しかし、クロック信号の立ち下がりエッジにのみ同期して動作するとしても同様である。
【００４５】
メモリコントローラ１４Ａは、クロック出力切換論理回路４１、インバータ４２、及びセレクタ４３乃至４６を含む。セレクタ４３乃至４６の各々には、クロック信号ＣＬＫとインバータ４２により反転された反転クロック信号／ＣＬＫとが入力される。セレクタ４３乃至４６の各々は、クロック出力切換論理回路４１からの制御信号に応じて、クロック信号ＣＬＫと反転クロック信号／ＣＬＫとの何れか指定された一方を選択して出力する。何れのクロックも指定されない場合には、セレクタ４３乃至４６の各々は、その出力をＨＩＧＨ又はＬＯＷの固定状態にする。
【００４６】
クロック信号線３１Ａ乃至３１Ｄを介して、正相状態のクロック信号ＣＬＫ又は反転クロック信号／ＣＬＫが、ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至１１Ｄに供給される。これによりＳＤＲ−ＳＤＲＡＭ１１Ａ乃至１１Ｄの各々は、メモリコントローラ１４から供給されるクロック信号の立ち上がりエッジに同期して動作する。ＳＤＲ−ＳＤＲＡＭ１１Ａ乃至１１Ｄの各々がクロック信号ＣＬＫの立ち上がりエッジに同期して動作するか立ち下がりエッジに同期して動作するかは、セレクタ４３乃至４６が何れのクロック信号を選択して出力するかに依存する。
【００４７】
ゲート回路３２、３３、３５、及び３６の各々は、対応するＳＤＲ−ＳＤＲＡＭに供給されるクロック信号のＨＩＧＨ及びＬＯＷに応じてデータバス１３と当該ＳＤＲ−ＳＤＲＡＭとの電気的接続を確立又は遮断する。具体的には、ゲート回路は、ＳＤＲ−ＳＤＲＡＭに入力されるクロック信号がＨＩＧＨの時に導通してデータバス１３とＳＤＲ−ＳＤＲＡＭとを電気的に接続し、ＳＤＲ−ＳＤＲＡＭに入力されるクロック信号がＬＯＷの時に非導通となりデータバス１３とＳＤＲ−ＳＤＲＡＭとを電気的に遮断する。
【００４８】
上記構成によれば、メモリコントローラ１４は、４つのＳＤＲ−ＳＤＲＡＭ１１Ａ乃至１１Ｄのうちで選択した１つにクロック信号ＣＬＫを供給して、この選択ＳＤＲ−ＳＤＲＡＭを、クロック信号ＣＬＫのＨＩＧＨ期間にデータバス１３に電気的に接続し、クロック信号ＣＬＫのＬＯＷ期間にはデータバス１３から切り離すことができる。またメモリコントローラ１４は、４つのＳＤＲ−ＳＤＲＡＭ１１Ａ乃至１１Ｄのうちで選択した１つに反転クロック信号／ＣＬＫを供給して、この選択ＳＤＲ−ＳＤＲＡＭを、クロック信号ＣＬＫのＬＯＷ期間にデータバス１３に電気的に接続し、クロック信号ＣＬＫのＨＩＧＨ期間にはデータバス１３から切り離すことができる。またメモリコントローラ１４は、残りの２つのＳＤＲ−ＳＤＲＡＭについては、クロック信号をＨＩＧＨ又はＬＯＷ固定とすることにより動作させない。従って、データバス１３上において、選択された第１のＳＤＲ−ＳＤＲＡＭに対するデータ入出力（データ読み書き）動作をクロック信号ＣＬＫの立ち上がりエッジに同期して実行し、選択された第２のＳＤＲ−ＳＤＲＡＭに対するデータ入出力（データ読み書き）動作をクロック信号ＣＬＫの立ち下がりエッジに同期して実行することが可能となる。
【００４９】
図６の構成において、４つのＳＤＲ−ＳＤＲＡＭ１１Ａ乃至１１Ｄは、全体のアドレス空間の中で、それぞれ対応する１／４のアドレス空間に割り当てられてよい。この場合、第１のマスタ１５のアクセス先と第２のマスタ１６のアクセス先との一方が何れかの１／４のアドレス空間内にあり他方が別の１／４のアドレス空間内にあるときには、メモリコントローラ１４は、上記のように立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行することができる。しかし、第１のマスタ１５のアクセス先と第２のマスタ１６のアクセス先とが両方とも同一の１／４のアドレス空間内にあるときには、メモリコントローラ１４は、調停動作により、第１のマスタ１５からのアクセスと第２のマスタ１６からのアクセスとの何れか一方を優先して実行することになる。図３の構成の場合と比較して、図６の構成では独立したメモリの数がより多いので、調停動作により第１のマスタ１５と第２のマスタ１６との何れか一方を優先することが必要になる確率を小さくすることができる。
【００５０】
図７は、図６のメモリシステム４０の読み出し動作について説明するためのタイムチャートである。図７において（ａ）乃至（ｇ）は、それぞれＳＤＲ−ＳＤＲＡＭ１１Ａへのクロック信号ＳＤＲＡＭＡ−ＣＬＫ、ＳＤＲ−ＳＤＲＡＭ１１Ｂへのクロック信号ＳＤＲＡＭＢ−ＣＬＫ、ＳＤＲ−ＳＤＲＡＭ１１Ｃへのクロック信号ＳＤＲＡＭＣ−ＣＬＫ、ＳＤＲ−ＳＤＲＡＭ１１Ｄへのクロック信号ＳＤＲＡＭＤ−ＣＬＫ、メモリに入力されるコマンドＣｏｍｍａｎｄ、データバス１３上の読み出しデータＤＱ、ＳＤＲ−ＳＤＲＡＭ１１Ａの読み出しデータＤＱ（Ａ）、ＳＤＲ−ＳＤＲＡＭ１１Ｂの読み出しデータＤＱ（Ｂ）、ＳＤＲ−ＳＤＲＡＭ１１Ｃの読み出しデータＤＱ（Ｃ）、ＳＤＲ−ＳＤＲＡＭ１１Ｄの読み出しデータＤＱ（Ｄ）を示す。ここでコマンドＣｏｍｍａｎｄは、制御バス１２から供給される制御信号の組み合わせにより定義される。
【００５１】
図７（ａ）乃至（ｄ）に示されるように、最初の状態では、ＳＤＲＡＭＡ−ＣＬＫは正相のクロック信号、ＳＤＲＡＭＢ−ＣＬＫは反転クロック信号、ＳＤＲＡＭＣ−ＣＬＫはＨＩＧＨ固定、ＳＤＲＡＭＤ−ＣＬＫはＨＩＧＨ固定に設定されている。この状態で、図７（ｅ）に示すように、第１のマスタ１５に対応するアクティベーションコマンドＡＣＴ−Ａと第２のマスタ１６に対応するアクティベーションコマンドＡＣＴ−Ｂとが、それぞれクロック信号ＳＤＲＡＭＡ−ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。その後更に、第１のマスタ１５に対応するリードコマンドＲＥＡＤ−Ａと第２のマスタ１６に対応するリードコマンドＲＥＡＤ−Ｂとが、それぞれクロック信号ＳＤＲＡＭＡ−ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。
【００５２】
アクティベーションコマンドＡＣＴ−Ａ及びリードコマンドＲＥＡＤ−Ａの入力に応答して、ＳＤＲ−ＳＤＲＡＭ１１Ａは所定のレイテンシの後にデータを出力する。図７の例では、図７（ｇ）にＤＱ（Ａ）として示されるように、アクティベーションコマンドＡＣＴ−Ａの入力から４サイクル後に読み出しデータが現れている。この読み出しデータＱＡ１は、クロック信号ＳＤＲＡＭＡ−ＣＬＫの立ち上がりエッジに同期している。
【００５３】
またアクティベーションコマンドＡＣＴ−Ｂ及びリードコマンドＲＥＡＤ−Ｂの入力に応答して、ＳＤＲ−ＳＤＲＡＭ１１Ｂは所定のレイテンシの後にデータを出力する。図７の例では、図７（ｈ）にＤＱ（Ｂ）として示されるように、アクティベーションコマンドＡＣＴ−Ｂの入力から４サイクル後に読み出しデータが現れている。この読み出しデータＱＢ１は、クロック信号ＳＤＲＡＭＢ−ＣＬＫの立ち上がりエッジ（ＳＤＲＡＭＡ−ＣＬＫの立ち下がりエッジ）に同期している。
【００５４】
こうしてＳＤＲ−ＳＤＲＡＭ１１Ａ及びＳＤＲ−ＳＤＲＡＭ１１Ｂから読み出されたデータ信号が時分割多重され、図７（ｆ）にＤＱとして示すように、データバス１３上にデータ信号として現れる。図６のメモリコントローラ１４は、データバス１３上のデータ信号のうち第１のマスタ１５に対応するデータ信号ＱＡ１を第１のマスタ１５に供給し、第２のマスタ１６に対応するデータ信号ＱＢ１を第２のマスタ１６に供給する。
【００５５】
その後、図７（ａ）乃至（ｄ）に示されるように、ＳＤＲＡＭＡ−ＣＬＫはＨＩＧＨ固定、ＳＤＲＡＭＢ−ＣＬＫはＨＩＧＨ固定、ＳＤＲＡＭＣ−ＣＬＫは正相のクロック信号、ＳＤＲＡＭＤ−ＣＬＫは反転クロック信号に設定される。この状態で、図７（ｅ）に示すように、第１のマスタ１５に対応するアクティベーションコマンドＡＣＴ−Ｃと第２のマスタ１６に対応するアクティベーションコマンドＡＣＴ−Ｄとが、それぞれクロック信号ＳＤＲＡＭＣ−ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。その後更に、第１のマスタ１５に対応するリードコマンドＲＥＡＤ−Ｃと第２のマスタ１６に対応するリードコマンドＲＥＡＤ−Ｄとが、それぞれクロック信号ＳＤＲＡＭＣ−ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ１４から制御バス１２に出力される。
【００５６】
アクティベーションコマンドＡＣＴ−Ｃ及びリードコマンドＲＥＡＤ−Ｃの入力に応答して、ＳＤＲ−ＳＤＲＡＭ１１Ｃは所定のレイテンシの後にデータを出力する。図７の例では、図７（ｉ）にＤＱ（Ｃ）として示されるように、アクティベーションコマンドＡＣＴ−Ｃの入力から４サイクル後に読み出しデータが現れている。この読み出しデータＱＣ１は、クロック信号ＳＤＲＡＭＣ−ＣＬＫの立ち上がりエッジに同期している。
【００５７】
またアクティベーションコマンドＡＣＴ−Ｄ及びリードコマンドＲＥＡＤ−Ｄの入力に応答して、ＳＤＲ−ＳＤＲＡＭ１１Ｄは所定のレイテンシの後にデータを出力する。図７の例では、図７（ｊ）にＤＱ（Ｄ）として示されるように、アクティベーションコマンドＡＣＴ−Ｄの入力から４サイクル後に読み出しデータが現れている。この読み出しデータＱＤ１は、クロック信号ＳＤＲＡＭＤ−ＣＬＫの立ち上がりエッジ（ＳＤＲＡＭＣ−ＣＬＫの立ち下がりエッジ）に同期している。
【００５８】
こうしてＳＤＲ−ＳＤＲＡＭ１１Ｃ及びＳＤＲ−ＳＤＲＡＭ１１Ｄから読み出されたデータ信号が時分割多重され、図７（ｆ）にＤＱとして示すように、データバス１３上にデータ信号として現れる。図６のメモリコントローラ１４は、データバス１３上のデータ信号のうち第１のマスタ１５に対応するデータ信号ＱＣ１を第１のマスタ１５に供給し、第２のマスタ１６に対応するデータ信号ＱＤ１を第２のマスタ１６に供給する。
【００５９】
なお図６の構成において、ゲート回路３２、３３、３５、及び３６については、それぞれ対応するクロック信号により導通／非導通を制御するとしたが、それぞれ対応する制御信号をクロック信号とは独立した信号としてメモリコントローラ１４Ａから供給して、これらの制御信号により導通／非導通を制御する構成としてよい。このような構成の場合、図７に示すように非選択のメモリに対してクロック信号をＨＩＧＨ又はＬＯＷに固定して停止する必要はなく、クロック信号をメモリに供給しながら、上記制御信号によりデータバスを当該メモリから自由に切り離すことが可能となる。データアクセスの対象となる選択メモリについては、上記制御信号をクロック信号と同期してＨＩＧＨ及びＬＯＷに変化させることで、図７に示す選択メモリと同様に動作させることができる。
【００６０】
図８は、図３に示すメモリコントローラ１４の構成の一例を示す図である。なお図６に示すメモリコントローラ１４Ａは、図８に示すメモリコントローラ１４に、図６に示す回路ユニット４７を付加することにより構成することができる。
【００６１】
図８に示すメモリコントローラ１４は、競合制御ユニット５０、マトリクススイッチ５１、ＳＤＲＡＭコントローラ５２、ＳＤＲＡＭコントローラ５３、セレクタ５４、セレクタ５５、セレクタ５６、及び入出力バッファ５７を含む。ＳＤＲＡＭコントローラ５２は立ち上がりエッジに同期した処理の動作を制御するコントローラであり、ＳＤＲＡＭコントローラ５３は立ち下がりエッジに同期した処理の動作を制御するコントローラである。セレクタ５４、セレクタ５５、及びセレクタ５６が、クロック信号ＣＬＫのＨＩＧＨ及びＬＯＷに応じて、２つの入力から１つを選択して出力端子に出力することで、ＳＤＲＡＭコントローラ５２及びＳＤＲＡＭコントローラ５３のそれぞれ立ち上がりエッジ及び立ち下がりエッジに同期した制御信号及びデータ信号を送受信することができる。
【００６２】
競合制御ユニット５０は、第１のマスタ１５からのメモリアクセスのアドレスと第２のマスタ１６からのメモリアクセスのアドレスとに応じて、第１のマスタ１５と第２のマスタ１６との何れが立ち上がりエッジ側に割り当てられ、何れが立ち下がりエッジ側に割り当てられるのかを決定する。
【００６３】
マトリクススイッチ５１は、競合制御ユニット５０による上記決定の結果を示すスイッチ制御信号に応じて、第１のマスタ１５を立ち上がりエッジ及び立ち下りエッジの一方に割り当てるとともに、第２のマスタ１６を立ち上がりエッジ及び立ち下りエッジの他方に割り当てるように、内部マトリクスの信号経路を切り換える。これにより、第１のマスタ１５がＳＤＲＡＭコントローラ５２又はＳＤＲＡＭコントローラ５３の何れか一方に接続され、第２のマスタ１６が他方のＳＤＲＡＭコントローラに接続される。
【００６４】
なおＳＤＲＡＭコントローラ５２がコントロールするメモリ（図３のＳＤＲ−ＳＤＲＡＭ１１Ａ）は、全体のアドレス空間の第１の半分に対応するアドレス空間に割り当てられ、ＳＤＲＡＭコントローラ５３がコントロールするメモリ（図３のＳＤＲ−ＳＤＲＡＭ１１Ｂ）は、全体のアドレス空間の第２の半分に対応するアドレス空間に割り当てられてよい。第１のマスタ１５のアクセス先と第２のマスタ１６のアクセス先との一方が第１の半分のアドレス空間内にあり他方が第２の半分のアドレス空間内にあるときには、競合制御ユニット５０は、上記のように、第１のマスタ１５及び第２のマスタ１６を立ち上がりエッジ及び立ち下がりエッジに割り当てる。しかし、第１のマスタ１５のアクセス先と第２のマスタ１６のアクセス先とが両方とも同一の半分のアドレス空間内にあるときには、競合制御ユニット５０は、調停動作により、第１のマスタ１５からのアクセスと第２のマスタ１６からのアクセスとの何れか一方を優先して、アクセス先に対応するＳＤＲＡＭコントローラに割り当てることになる。
【００６５】
図９は、本発明によるメモリシステムの第３の実施例の構成の一例を示す図である。図９において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００６６】
図９のメモリシステム３０においては、図１の同期メモリ１１が１チップのＳＤＲＡＭ１１Ｅとして実現されている。ＳＤＲＡＭ１１Ｅは、クロック信号の立ち上がりエッジ及び立ち下がりエッジの両方に同期して動作するメモリである。
【００６７】
ＳＤＲＡＭ１１Ｅは、クロックバッファ６１、コマンドバッファ６２、アドレスバッファ６３、データバッファ６４、ゲート回路６５、ゲート回路６６、ＳＤＲ−ＳＤＲＡＭブロック６７、及びＳＤＲ−ＳＤＲＡＭブロック６８を含む。
【００６８】
クロックバッファ６１は、クロック信号線６９を介してメモリコントローラ１４から供給されるクロック信号ＣＬＫを受信し、正相のクロック信号ＣＬＫ１と逆相（反転）のクロック信号／ＣＬＫ１とを出力する。クロック信号ＣＬＫ１はＳＤＲ−ＳＤＲＡＭブロック６７に供給され、クロック信号／ＣＬＫ１はＳＤＲ−ＳＤＲＡＭブロック６８に供給される。ＳＤＲ−ＳＤＲＡＭブロック６７及びＳＤＲ−ＳＤＲＡＭブロック６８は、立ち上がりエッジ及び立ち下がりエッジの何れか一方のエッジに同期して動作するメモリブロックであり、以下の説明では立ち上がりエッジに同期して動作するものとして説明する。しかし、立ち下がりエッジに同期して動作するものとしても同様である。
【００６９】
コマンドバッファ６２は、制御バス１２を介して制御信号を受信して、ＳＤＲ−ＳＤＲＡＭブロック６７及びＳＤＲ−ＳＤＲＡＭブロック６８に、制御信号に応じたコマンドを並列に供給する。アドレスバッファ６３は、制御バス１２を介してアドレス信号を受信して、ＳＤＲ−ＳＤＲＡＭブロック６７及びＳＤＲ−ＳＤＲＡＭブロック６８にアドレス信号を並列に供給する。
【００７０】
データバッファ６４は、データバス１３と、ＳＤＲ−ＳＤＲＡＭブロック６７及びＳＤＲ−ＳＤＲＡＭブロック６８との間に設けられ、データバス１３に対するデータ入出力を行う。ゲート回路６５は、データバッファ６４とＳＤＲ−ＳＤＲＡＭブロック６７との間に結合されクロック信号ＣＬＫ１のＨＩＧＨ及びＬＯＷに応じてデータバッファ６４とＳＤＲ−ＳＤＲＡＭブロック６７との電気的接続を確立又は遮断する。またゲート回路６６は、データバッファ６４とＳＤＲ−ＳＤＲＡＭブロック６８との間に結合されクロック信号／ＣＬＫ１のＨＩＧＨ及びＬＯＷに応じてデータバッファ６４とＳＤＲ−ＳＤＲＡＭブロック６８との電気的接続を確立又は遮断する。
【００７１】
以上のように、立ち上がりエッジに同期して動作するＳＤＲ−ＳＤＲＡＭブロック６７及びＳＤＲ−ＳＤＲＡＭブロック６８に対して、１つのクロックバッファ６１、１つのコマンドバッファ６２、１つのアドレスバッファ６３、及び１つのデータバッファ６４を設け、ゲート回路６５及びゲート回路６６によりデータバッファ６４と各ＳＤＲ−ＳＤＲＡＭブロック６７及び６８との間の電気的結合を制御する。これにより、クロック信号ＣＬＫの立ち上がりエッジ及び立ち下がりエッジに同期して、それぞれ独立なメモリアクセス動作を実行可能なＳＤＲＡＭ１１Ｅを提供することができる。読み出し及び書き込み動作については、ＳＤＲ−ＳＤＲＡＭ１１Ａの代わりにＳＤＲ−ＳＤＲＡＭブロック６７が用いられ、ＳＤＲ−ＳＤＲＡＭ１１Ｂの代わりにＳＤＲ−ＳＤＲＡＭブロック６８が用いられることを除いて、図３に示す構成の動作と同様であるので説明を省略する。
【００７２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【００７３】
なお本発明は、以下の内容を含むものである。
（付記１）
クロック信号に同期して動作するメモリに接続可能な半導体集積回路であって、
制御バスを介して該メモリに接続するための制御端子と、
データバスを介して該メモリと接続するためのデータ端子と、
該制御端子及び該データ端子に接続されるメモリコントローラと、
該メモリコントローラに接続される第１のマスタ及び第２のマスタと、
を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御端子に送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データ端子から入出力するよう構成されることを特徴とする半導体集積回路。
（付記２）
該メモリコントローラは、該第１のエッジと該第２のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを切換可能に構成されることを特徴とする付記１記載の半導体集積回路。
（付記３）
該メモリコントローラは、
該第１のマスタからのメモリアクセスのアドレスと該第２のマスタからのメモリアクセスのアドレスとに応じて該第１のエッジと該第２のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第１のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第２のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を含むことを特徴とする付記１記載の半導体集積回路。
（付記４）
クロック信号に同期して動作するメモリと、
該メモリに接続される制御バスと、
該メモリに接続されるデータバスと、
該制御バス及び該データバスに接続されるメモリコントローラと、
該メモリコントローラに接続される第１のマスタ及び第２のマスタと、
を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御バスに送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データバスに対して入出力するよう構成されることを特徴とするメモリシステム。
（付記５）
該メモリコントローラは、該第１のエッジと該第２のエッジとの何れが該立ち上がりエッジであり何れが第立ち下りエッジであるかを切換可能に構成されることを特徴とする付記４記載のメモリシステム。
（付記６）
該メモリコントローラは、
該第１のマスタからのメモリアクセスのアドレスと該第２のマスタからのメモリアクセスのアドレスとに応じて該第１のエッジと該第２のエッジとの何れを該立ち上がりエッジとし何れを第立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第１のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第２のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を含むことを特徴とする付記４記載のメモリシステム。
（付記７）
該メモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第１のメモリ及び第２のメモリと、
正相状態の該クロック信号を該第１のメモリに第１のクロックとして供給するとともに逆相状態の該クロック信号を該第２のメモリに第２のクロックとして供給する信号供給回路と、
該データバスと該第１のメモリとの間に結合され該第１のクロックのＨＩＧＨ及びＬＯＷに応じて該データバスと該第１のメモリとの電気的接続を確立又は遮断するゲートと、
該データバスと該第２のメモリとの間に結合され該第２のクロックのＨＩＧＨ及びＬＯＷに応じて該データバスと該第１のメモリとの電気的接続を確立又は遮断するゲートと、
を含むことを特徴とする付記４記載のメモリシステム。
（付記８）
該第１のメモリと該第２のメモリとは同一のアドレス空間に割り当てられていることを特徴とする付記７記載のメモリシステム。
（付記９）
該メモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第３のメモリと、
正相状態の該クロック信号又は逆相状態の該クロック信号の何れか選択した一方を該第３のメモリに第３のクロックとして供給する信号供給回路と、
該データバスと該第３のメモリとの間に結合され該第３のクロックのＨＩＧＨ及びＬＯＷに応じて該データバスと該第３のメモリとの電気的接続を確立又は遮断するゲートと、
を更に含むことを特徴とする付記４記載のメモリシステム。
（付記１０）
該メモリは、
該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第１のメモリ回路及び第２のメモリ回路と、
該制御バスからの制御信号を受信して第１のメモリ回路及び第２のメモリ回路にコマンドを並列に供給する１つのコマンドバッファと、
該データバスと、該第１のメモリ回路及び第２のメモリ回路との間に設けられたデータ入出力のための１つのデータバッファと、
該メモリコントローラから該クロック信号を受信し、正相状態の該クロック信号を該第１のメモリ回路に第１のクロックとして供給するとともに逆相状態の該クロック信号を該第２のメモリ回路に第２のクロックとして供給する信号供給回路と
該データバッファと該第１のメモリ回路との間に結合され該第１のクロックのＨＩＧＨ及びＬＯＷに応じて該データバッファと該第１のメモリ回路との電気的接続を確立又は遮断するゲートと、
該データバッファと該第２のメモリ回路との間に結合され該第２のクロックのＨＩＧＨ及びＬＯＷに応じて該データバッファと該第１のメモリ回路との電気的接続を確立又は遮断するゲートと、
を含むことを特徴とする付記４記載のメモリシステム。
（付記１１）
クロック信号に同期して動作するメモリ並びに第１のマスタ及び第２のマスタに接続可能なメモリコントローラであって、
制御バスを介して該メモリに接続するための制御端子と、
データバスを介して該メモリと接続するためのデータ端子と
を含み、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、該第１のマスタによるメモリアクセスに対応する制御信号及び該第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御端子に送出し、該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データ端子から入出力するよう構成されることを特徴とするメモリコントローラ。
（付記１２）
該第１のエッジと該第２のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを切換可能に構成されることを特徴とする付記１１記載のメモリコントローラ。
（付記１３）
該第１のマスタからのメモリアクセスのアドレスと該第２のマスタからのメモリアクセスのアドレスとに応じて該第１のエッジと該第２のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第１のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第２のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を更に含むことを特徴とする付記１１記載のメモリコントローラ。
（付記１４）
クロック信号に同期して動作するメモリに制御バス及びデータバスを介して接続されるメモリコントローラを制御するメモリコントローラ制御方法であって、
該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第１のエッジとするとともに他方を第２のエッジとし、第１のマスタによるメモリアクセスに対応する制御信号及び第２のマスタによるメモリアクセスに対応する制御信号を該第１のエッジ及び該第２のエッジにそれぞれ同期して該制御バスに該メモリコントローラから送出させ、
該第１のマスタの入出力データ及び該第２のマスタの入出力データを該第１のエッジ及び該第２のエッジにそれぞれ同期して該データバスを介して該メモリコントローラに入出力させる
各段階を含むことを特徴とするメモリコントローラ制御方法。
（付記１５）
該第１のエッジと該第２のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを該メモリコントローラに切換可能に制御させることを特徴とする付記１４記載のメモリコントローラ制御方法。
（付記１６）
該第１のマスタからのメモリアクセスのアドレスと該第２のマスタからのメモリアクセスのアドレスとに応じて該第１のエッジと該第２のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定し、
該決定の結果に応じて該第１のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第２のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる
各段階を更に含むことを特徴とする付記１４記載のメモリコントローラ制御方法。
【図面の簡単な説明】
【００７４】
【図１】本発明によるメモリシステムの構成及び動作原理を説明するための図である。
【図２】図１のメモリシステムのメモリ読み出し動作を説明するためのタイミングチャートである。
【図３】本発明によるメモリシステムの第１の実施例の構成の一例を示す図である。
【図４】図３のメモリシステムの読み出し動作について説明するためのタイムチャートである。
【図５】図３のメモリシステムの書き込み動作について説明するためのタイムチャートである。
【図６】本発明によるメモリシステムの第２の実施例の構成の一例を示す図である。
【図７】図６のメモリシステムの読み出し動作について説明するためのタイムチャートである。
【図８】図３に示すメモリコントローラの構成の一例を示す図である。
【図９】本発明によるメモリシステムの第３の実施例の構成の一例を示す図である。
【符号の説明】
【００７５】
１０  メモリシステム
１１  同期メモリ
１２  制御バス
１３  データバス
１４  メモリコントローラ
１５  第１のマスタ
１６  第２のマスタ
３２  ゲート回路
３３  ゲート回路
３４  インバータ
３５  ゲート回路
３６  ゲート回路
４１  ロック出力切換論理回路
４２  インバータ
４３〜４６  セレクタ
【図１】
2008226135.tif 000003
【図２】
2008226135.tif 000004
【図３】
2008226135.tif 000005
【図４】
2008226135.tif 000006
【図５】
2008226135.tif 000007
【図６】
2008226135.tif 000008
【図７】
2008226135.tif 000009
【図８】
2008226135.tif 000010
【図９】
2008226135.tif 000011