JP5130754B2 - 半導体集積回路及びメモリシステム - Google Patents

半導体集積回路及びメモリシステム Download PDF

Info

Publication number
JP5130754B2
JP5130754B2 JP2007066995A JP2007066995A JP5130754B2 JP 5130754 B2 JP5130754 B2 JP 5130754B2 JP 2007066995 A JP2007066995 A JP 2007066995A JP 2007066995 A JP2007066995 A JP 2007066995A JP 5130754 B2 JP5130754 B2 JP 5130754B2
Authority
JP
Japan
Prior art keywords
memory
edge
master
data
clock signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007066995A
Other languages
English (en)
Other versions
JP2008226135A (ja
Inventor
雅己 金杉
功一 黒岩
誠 村主
耕二 野添
国光 板敷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007066995A priority Critical patent/JP5130754B2/ja
Priority to US12/049,551 priority patent/US8074096B2/en
Publication of JP2008226135A publication Critical patent/JP2008226135A/ja
Application granted granted Critical
Publication of JP5130754B2 publication Critical patent/JP5130754B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

本発明は、一般にメモリシステム及びメモリシステムで使用される半導体集積回路に関し、詳しくは複数のマスタがメモリを共用するメモリシステム及びそのメモリシステムで使用される半導体集積回路に関する。
プロセッサを含むシステムLSIのチップには、SDRAM(Synchronous DRAM)やFLASHメモリのチップを接続し、この外部メモリチップをメインメモリとして用いる。この際、システムの動作を高速化するために、立ち下り/立ち上がりの両方のクロックエッジで出力するDDR(Double Data Rate)やDDR2のSDRAMを用いる構成が主流となっている。
プロセッサがプログラムを実行する場合、上記のような外部チップのメモリ領域をプログラム実行領域として使用するのではなく、キャッシュやチップオンメモリ等のシステムLSIチップ内のメモリを実行領域として使用するのが、従来の典型的な構成であった。システムLSIチップ内のメモリは、例えばSRAM(Static RAM)で構成されており、高速でアクセスすることが可能である。
しかし近年、実行するプログラムのサイズや処理対象のデータの大容量化に伴って、システムLSIチップ内のメモリの容量では、プログラムを実行するための領域として不十分となる場合が多くなっている。そのような場合には、上記のような外部メモリチップのメモリ領域を、プログラム実行領域として直接に使用することになる。
また近年、システムオンチップとして、複数のプロセッサが1つのチップに搭載される場合がある。このような場合、LSIの端子数に制限があるため、また実装面積及び部品数を削減するために、システムLSIの外部に接続するメモリを複数のプロセッサで共用する構成がしばしば用いられる。
複数のマスタ(複数のプロセッサ)でメモリを共有する場合、マスタ間でアクセス競合が発生するという問題がある。外部メモリとして使用するSDRAMやFLASHメモリの場合、1アクセスに対するレイテンシが大きい。例えばSDRAMの場合、バンクアクティブから最初のデータが出力されるまでには、4〜5クロックサイクルの時間を必要とする。従ってシングルアクセスではなく、可能な限りバーストアクセスを用いてデータを読み書きすることが望ましい。しかしバースト動作の場合、連続してデータを入出力するために、アクセス開始からデータ入出力終了まで長い時間がかかり、その間、アクセス中でない他のマスタはアクセスを待つ必要がある。これによりアクセスのレイテンシが増大し、プロセッサの処理性能が低下してしまう。
特開2003−15953号公報
以上を鑑みて、本発明は、複数のマスタで外部メモリを共用する構成において、外部メモリに対するアクセス競合が発生した場合のレイテンシの増加を抑えることが可能なメモリシステム及び半導体集積回路を提供することを目的とする。
クロック信号に同期して動作するメモリに接続可能な半導体集積回路は、制御バスを介して該メモリに接続するための制御端子と、データバスを介して該メモリと接続するためのデータ端子と、該制御端子及び該データ端子に接続されるメモリコントローラと、該メモリコントローラに接続される第1のマスタ及び第2のマスタとを含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御端子に送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データ端子から入出力するよう構成され、該メモリは該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する複数のメモリを含み、該複数のメモリは全体のアドレス空間の中で、それぞれ対応する別個のアドレス空間に割り当てられ、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが別のアドレス空間内にあるときには、該メモリコントローラは、立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行し、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが両方とも同一のアドレス空間内にあるときには、該メモリコントローラは、調停動作により、該第1のマスタからのアクセスと該第2のマスタからのアクセスとの何れか一方を優先して実行することを特徴とする。
またメモリシステムは、クロック信号に同期して動作するメモリと、該メモリに接続される制御バスと、該メモリに接続されるデータバスと、該制御バス及び該データバスに接続されるメモリコントローラと、該メモリコントローラに接続される第1のマスタ及び第2のマスタとを含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御バスに送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データバスに対して入出力するよう構成され、該メモリは該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する複数のメモリを含み、該複数のメモリは全体のアドレス空間の中で、それぞれ対応する別個のアドレス空間に割り当てられ、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが別のアドレス空間内にあるときには、該メモリコントローラは、立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行し、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが両方とも同一のアドレス空間内にあるときには、該メモリコントローラは、調停動作により、該第1のマスタからのアクセスと該第2のマスタからのアクセスとの何れか一方を優先して実行することを特徴とする。
本発明の少なくとも1つの実施例によれば、一方のマスタからのメモリアクセスに対応する制御信号を立ち上がりエッジに同期させ、他方のマスタからのメモリアクセスに対応する制御信号を立ち下がりエッジに同期させる。また一方のメモリアクセスに対応するデータ信号を立ち上がりエッジに同期させ、他方のメモリアクセスに対応するデータ信号を立ち下がりエッジに同期させる。これにより、同時(より正確には時分割多重)に2つのマスタからのメモリアクセスを処理して、データ入出力を並行して実行することが可能になる。従って、複数のマスタで外部メモリを共用する構成において、外部メモリに対するアクセス競合が発生した場合のレイテンシの増加を抑えることが可能となる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図1は、本発明によるメモリシステムの構成及び動作原理を説明するための図である。図1において、メモリシステム10は、クロック信号に同期して動作する同期メモリ11と、同期メモリ11に接続される制御バス12と、同期メモリ11に接続されるデータバス13と、制御バス12及びデータバス13に接続されるメモリコントローラ14と、メモリコントローラ14に接続される第1のマスタ15及び第2のマスタ16を含む。メモリコントローラ14と第1のマスタ15との間及びメモリコントローラ14と第2のマスタ16との間は、図示されるように別個の信号経路により接続されてもよいし、或いは共通のバスで接続されてもよい。即ち、第1のマスタ15と第2のマスタ16とが共通の1つのバスに接続され、このバスがメモリコントローラ14に接続される構成でもよい。
メモリコントローラ14は、クロック信号CLKの立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、第1のマスタ15によるメモリアクセスに対応する制御信号及び第2のマスタ16によるメモリアクセスに対応する制御信号を第1のエッジ及び第2のエッジにそれぞれ同期して制御バス12に送出する。図1に示される例では、第1のエッジが立ち上がりエッジであり、制御バス12上を伝搬するメモリアクセス制御信号17において、第1のマスタ15に対応するメモリアクセス制御信号Aがクロック信号CLKの立ち上がりエッジに同期している。また第2のエッジが立ち下がりエッジであり、制御バス12上を伝搬するメモリアクセス制御信号17において、第2のマスタ16に対応するメモリアクセス制御信号Bがクロック信号CLKの立ち下りエッジに同期している。なおここで言うメモリアクセス制御信号とは、/RAS、/CAS、/WE等の狭義のメモリアクセス制御信号だけでなく、アドレス信号も含むものとする。
メモリコントローラ14は更に、第1のマスタ15の入出力データ19及び第2のマスタの入出力データ20を上記第1のエッジ及び第2のエッジにそれぞれ同期してデータバス13に対して入出力する。図1に示される例では、第1のエッジが立ち上がりエッジであり、データバス13上を伝搬するデータ信号18において、第1のマスタ15に対応するデータ信号Aがクロック信号CLKの立ち上がりエッジに同期している。また第2のエッジが立ち下がりエッジであり、データバス13上を伝搬するデータ信号18において、第2のマスタ16に対応するデータ信号Bがクロック信号CLKの立ち下りエッジに同期している。
この構成において、同期メモリ11は、クロック信号CLKの立ち上がりエッジと立ち下がりエッジとの両方のエッジに同期してメモリアクセス制御信号の入力及びデータ信号の入出力を行うことになる。この際、立ち上がりエッジに対応するメモリアクセス制御信号と立ち下がりエッジに対応するメモリアクセス制御信号とは、互いに独立であり、それぞれ異なるマスタからのメモリアクセスに対応する信号である。また立ち上がりエッジに対応するデータ信号と立ち下がりエッジに対応するデータ信号とは、互いに独立であり、それぞれ異なるマスタからのメモリアクセスに対応する信号である。
図2は、図1のメモリシステム10のメモリ読み出し動作を説明するためのタイミングチャートである。(a)乃至(e)は図1のメモリシステム10に示される各信号に対応し、それぞれクロック信号CLK、第1のマスタのアクセス信号、第2のマスタのアクセス信号、メモリアクセス制御信号17、及びメモリデータ出力18である。ここで第1のマスタのアクセス信号は、第1のマスタ15がメモリアクセスを行う際に、第1のマスタ15からメモリコントローラ14に供給されるアクセス信号である。また第2のマスタのアクセス信号は、第2のマスタ16がメモリアクセスを行う際に、第2のマスタ16からメモリコントローラ14に供給されるアクセス信号である。なお(a)乃至(e)においては、第1のマスタ15に対応する各信号をAで表記し、第2のマスタ16に対応する各信号をBで表記してある。
図2(b)に示すように、第1のマスタ15からのアクセス信号Aと第2のマスタ16からのアクセス信号Bとが同一のクロックタイミング(図2(a)のクロック信号CLKの第1のクロックサイクル)で発行される。これらアクセス信号は、アクセス先のアドレス及びアクセスの種類(読み出し/書き込み)を示す情報を含む。
図1のメモリコントローラ14は、アクセス信号Aのアドレスとアクセス信号Bのアドレスとに応じて、第1のマスタ15及び第2のマスタ16を立ち上がりエッジ及び立ち下りエッジの何れに割り当てるかを決定する。図2に示す例では、第1のマスタ15が立ち上がりエッジに割り当てられ、第2のマスタ16が立ち下がりエッジに割り当てられる。その結果、図2(d)に示すように、第1のマスタ15に対応するメモリアクセス制御信号Aと第2のマスタ16に対応するメモリアクセス制御信号Bとが、それぞれクロック信号CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。これらのメモリアクセス制御信号A及びBは、図1に示すメモリアクセス制御信号17に対応する。
メモリアクセス制御信号の入力に応答して、同期メモリ11は所定のレイテンシの後にデータを出力する。図2の例では、図2(e)に示されるように、メモリアクセス制御信号のアサートから4サイクル後に読み出しデータがデータバス13に現れている。読み出しデータにおいて、第1のマスタ15に対応するメモリデータ出力Aはクロック信号CLKの立ち上がりエッジに同期しており、第2のマスタ16に対応するメモリデータ出力Bはクロック信号CLKの立ち下がりエッジに同期している。これらメモリデータ出力は、図1に示すデータ信号18に対応する。図2(e)の例では、データ読み出しはバースト長が4のバースト読み出しとなっている。
図2(f)乃至(g)は、比較対象として従来のメモリシステムの各信号を示すものであり、それぞれメモリアクセス制御信号及びメモリデータ出力である。図2(f)及び(g)に示すように、バースト長が4のバースト読み出しの場合、第1のマスタからのメモリアクセスに対応するデータAのバースト読み出しが完了するまでは、第2のマスタからのメモリアクセスに対応するデータBのバースト読み出しを開始することができない。従って、バースト読み出しの長さに対応する期間、メモリアクセスが遅延することになる。
それに対して図2(a)乃至(e)に示される図1のメモリシステム10の動作においては、立ち上がりエッジと立ち下がりエッジとにそれぞれ別のマスタからのメモリアクセスを割り当てて、一方のメモリアクセスに対応する制御信号を立ち上がりエッジに同期させ、他方のメモリアクセスに対応する制御信号を立ち下がりエッジに同期させる。また一方のメモリアクセスに対応するデータ信号を立ち上がりエッジに同期させ、他方のメモリアクセスに対応するデータ信号を立ち下がりエッジに同期させる。これにより、同時(より正確には時分割多重)に2つのマスタからのメモリアクセスを処理して、データ入出力を並行して実行することが可能になる。従って、メモリアクセスが競合した場合でも、両方のメモリアクセスを待ち時間なく処理することが可能となる。
図3は、本発明によるメモリシステムの第1の実施例の構成の一例を示す図である。図3において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。
図3において、メモリシステム30は、SDR(Single Data Rate)型のSDRAMであるSDR−SDRAM11A及びSDR−SDRAM11Bと、SDR−SDRAM11A及びSDR−SDRAM11Bに接続される制御バス12と、SDR−SDRAM11A及びSDR−SDRAM11Bに接続されるデータバス13と、SDR−SDRAM11A及びSDR−SDRAM11Bに接続されるクロック信号線31と、制御バス12、データバス13、及びクロック信号線31に接続されるメモリコントローラ14と、メモリコントローラ14に接続される第1のマスタ15及び第2のマスタ16と、ゲート回路32と、ゲート回路33と、インバータ34とを含む。
図3の第1の実施例においては、図1の同期メモリ11がSDR−SDRAM11A及びSDR−SDRAM11Bとして実現されている。SDR−SDRAM11A及びSDR−SDRAM11Bは、クロック信号の立ち上がりエッジ及び立ち下がりエッジの何れか一方にのみ同期して動作するメモリである。以下の説明では、SDR−SDRAM11A及びSDR−SDRAM11Bの双方ともに、入力クロック信号の立ち上がりエッジにのみ同期して動作するものとして説明する。しかし、クロック信号の立ち下がりエッジにのみ同期して動作するとしても同様である。
SDR−SDRAM11A及びSDR−SDRAM11Bにおいて、/CSはチップイネーブル信号、ADDはアドレス信号、/RASはローアドレスストローブ信号、/CASはコラムアドレスストローブ信号、/WEはライトイネーブル信号、DQMはバイトマスク信号、DQは入出力データ信号、CKは入力クロック信号である。
メモリコントローラ14は、クロック信号線31を介して正相状態のクロック信号CLKをSDR−SDRAM11Aに供給するとともに、クロック信号線31及びインバータ34を介して逆相状態のクロック信号/CLKをSDR−SDRAM11Bに供給する。これによりSDR−SDRAM11Aは、メモリコントローラ14が送出するクロック信号CLKの立ち上がりエッジに同期して動作する。またSDR−SDRAM11Bは、SDR−SDRAM11Aが同期するエッジとは逆側のエッジ、即ちメモリコントローラ14が送出するクロック信号CLKの立ち下がりエッジに同期して動作することになる。
ゲート回路32は、データバス13とSDR−SDRAM11Aとの間に結合され、SDR−SDRAM11Aに供給されるクロック信号CLKのHIGH及びLOWに応じてデータバス13とSDR−SDRAM11Aとの電気的接続を確立又は遮断する。具体的には、ゲート回路32は、SDR−SDRAM11Aに入力されるクロック信号CLKがHIGHの時に導通してデータバス13とSDR−SDRAM11Aとを電気的に接続し、SDR−SDRAM11Aに入力されるクロック信号CLKがLOWの時に非導通となりデータバス13とSDR−SDRAM11Aとを電気的に遮断する。
ゲート回路33は、データバス13とSDR−SDRAM11Bとの間に結合され、SDR−SDRAM11Bに供給されるクロック信号のHIGH及びLOWに応じてデータバス13とSDR−SDRAM11Bとの電気的接続を確立又は遮断する。具体的には、ゲート回路33は、SDR−SDRAM11Bに入力される反転クロック信号/CLKがHIGHの時に導通してデータバス13とSDR−SDRAM11Bとを電気的に接続し、SDR−SDRAM11Bに入力される反転クロック信号/CLKがLOWの時に非導通となりデータバス13とSDR−SDRAM11Bとを電気的に遮断する。
これにより、データバス13を、クロック信号CLKの立ち上がりエッジに対応する期間(クロック信号CLKのHIGH期間)にはSDR−SDRAM11Aに電気的に接続し、クロック信号CLKの立ち下がりエッジに対応する期間(クロック信号CLKのLOW期間)にはSDR−SDRAM11Bに電気的に接続することになる。従って、データバス13上において、SDR−SDRAM11Aに対するデータ入出力(データ読み書き)動作をクロック信号CLKの立ち上がりエッジに同期して実行し、SDR−SDRAM11Bに対するデータ入出力(データ読み書き)動作をクロック信号CLKの立ち下がりエッジに同期して実行することが可能となる。
図3の構成において、SDR−SDRAM11Aは、全体のアドレス空間の第1の半分に対応するアドレス空間に割り当てられ、SDR−SDRAM11Bは、全体のアドレス空間の第2の半分に対応するアドレス空間に割り当てられてよい。なおこの場合、第1のマスタ15のアクセス先と第2のマスタ16のアクセス先との一方が第1の半分のアドレス空間内にあり他方が第2の半分のアドレス空間内にあるときには、メモリコントローラ14は、上記のように立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行することができる。しかし、第1のマスタ15のアクセス先と第2のマスタ16のアクセス先とが両方とも同一の半分のアドレス空間内にあるときには、メモリコントローラ14は、調停動作により、第1のマスタ15からのアクセスと第2のマスタ16からのアクセスとの何れか一方を優先して実行することになる。
また図3の構成において、変形例として、SDR−SDRAM11AとSDR−SDRAM11Bとを、同一のアドレス空間に重複する形で割り当ててもよい。この場合、第1のマスタ15が例えばSDR−SDRAM11Aを占有して使用し、第2のマスタ16がSDR−SDRAM11Bを占有して使用する構成になり、メモリを共有する構成ではなくなる。しかしこの場合でも、端子数及び信号線数の削減という意味で有利な効果を得ることができる。
図4は、図3のメモリシステム30の読み出し動作について説明するためのタイムチャートである。図4において(a)乃至(g)は、それぞれクロック信号CLK、反転クロック信号/CLK、メモリに入力されるコマンドCommand、データバス13上の読み出しデータDQ、SDR−SDRAM11Aの読み出しデータDQ(A)、SDR−SDRAM11Bの読み出しデータDQ(B)、及びバイトマスク信号DQMを示す。ここでコマンドCommandは、図3に示す/CS、/RAS、/CAS、及び/WEの信号の組み合わせにより定義される。
まず図4(c)に示すように、第1のマスタ15に対応するアクティベーションコマンドACT−Aと第2のマスタ16に対応するアクティベーションコマンドACT−Bとが、それぞれクロック信号CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。その後更に、第1のマスタ15に対応するリードコマンドREAD−Aと第2のマスタ16に対応するリードコマンドREAD−Bとが、それぞれクロック信号CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。
アクティベーションコマンドACT−A及びリードコマンドREAD−Aの入力に応答して、SDR−SDRAM11Aは所定のレイテンシの後にデータを出力する。図4の例では、図4(e)にDQ(A)として示されるように、アクティベーションコマンドACT−Aの入力から4サイクル後に読み出しデータが現れている。この読み出しデータQA1乃至QA4は、バースト長4のバースト読み出しの場合に対応し、クロック信号CLKの立ち上がりエッジに同期している。
またアクティベーションコマンドACT−B及びリードコマンドREAD−Bの入力に応答して、SDR−SDRAM11Bは所定のレイテンシの後にデータを出力する。図4の例では、図4(f)にDQ(B)として示されるように、アクティベーションコマンドACT−Bの入力から4サイクル後に読み出しデータが現れている。この読み出しデータQB1乃至QB4は、バースト長4のバースト読み出しの場合に対応し、クロック信号CLKの立ち下がりエッジに同期している。
図4に示す例では、バイトマスク信号DQMによるマスク動作も同時に示してある。クロック信号CLKの立ち上がりエッジでDQMがHIGHにアサートされると、所定のタイミング後(この例では2クロックサイクル後)のSDR−SDRAM11Aの読み出しデータがマスクされる。同様に、クロック信号CLKの立ち下がりエッジでDQMがHIGHにアサートされると、所定のタイミング後(この例では2クロックサイクル後)のSDR−SDRAM11Bの読み出しデータがマスクされる。
こうしてSDR−SDRAM11A及びSDR−SDRAM11Bから読み出されたデータ信号が時分割多重され、図4(d)にDQとして示すように、データバス13上にデータ信号として現れる。図3のメモリコントローラ14は、データバス13上のデータ信号のうち第1のマスタ15に対応するデータ信号QA1、QA3、QA4を第1のマスタ15に供給し、第2のマスタ16に対応するデータ信号QB1、QB2、QB4を第2のマスタ16に供給する。
図5は、図3のメモリシステム30の書き込み動作について説明するためのタイムチャートである。図5において(a)乃至(e)は、それぞれクロック信号CLK、反転クロック信号/CLK、メモリに入力されるコマンドCommand、データバス13上の書き込みデータDQ、及びバイトマスク信号DQMを示す。ここでコマンドCommandは、図3に示す/CS、/RAS、/CAS、及び/WEの信号の組み合わせにより定義される。
まず図5(c)に示すように、第1のマスタ15に対応するアクティベーションコマンドACT−Aと第2のマスタ16に対応するアクティベーションコマンドACT−Bとが、それぞれクロック信号CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。その後更に、第1のマスタ15に対応するライトコマンドWRITE−Aと第2のマスタ16に対応するライトコマンドWRITE−Bとが、それぞれクロック信号CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。
またライトコマンドWRITE−Aをアサートするのと同時に、メモリコントローラ14は、SDR−SDRAM11Aへの書き込みデータをデータバス13に出力する。この書き込みデータQA1乃至QA4は、バースト長4のバースト書き込みの場合に対応し、クロック信号CLKの立ち上がりエッジに同期している。同様に、ライトコマンドWRITE−Bをアサートするのと同時に、メモリコントローラ14は、SDR−SDRAM11Bへの書き込みデータをデータバス13に出力する。この書き込みデータQB1乃至QB4は、バースト長4のバースト書き込みの場合に対応し、クロック信号CLKの立ち下がりエッジに同期している。
図5に示す例では、バイトマスク信号DQMによるマスク動作も同時に示してある。クロック信号CLKの立ち上がりエッジでDQMがHIGHにアサートされると、そのタイミングのSDR−SDRAM11Aへの書き込みデータがマスクされる。同様に、クロック信号CLKの立ち下がりエッジでDQMがHIGHにアサートされると、そのタイミングのSDR−SDRAM11Bへの書き込みデータがマスクされる。
図6は、本発明によるメモリシステムの第2の実施例の構成の一例を示す図である。図6において、図1及び図3と同一の構成要素は同一の番号で参照し、その説明は省略する。
図6において、メモリシステム40は、SDR(Single Data Rate)型のSDRAMであるSDR−SDRAM11A、SDR−SDRAM11B、SDR−SDRAM11C、及びSDR−SDRAM11Dと、SDR−SDRAM11A乃至SDR−SDRAM11Dに接続される制御バス12と、SDR−SDRAM11A乃至SDR−SDRAM11Dに接続されるデータバス13と、SDR−SDRAM11A乃至SDR−SDRAM11Dに接続されるクロック信号線31A乃至31Dと、制御バス12、データバス13、及びクロック信号線31A乃至31Dに接続されるメモリコントローラ14Aと、メモリコントローラ14Aに接続される第1のマスタ15及び第2のマスタ16と、ゲート回路32、33、35、及び36とを含む。
図6の第2の実施例においては、図1の同期メモリ11がSDR−SDRAM11A乃至SDR−SDRAM11Dとして実現されている。SDR−SDRAM11A乃至SDR−SDRAM11Dは、クロック信号の立ち上がりエッジ及び立ち下がりエッジの何れか一方にのみ同期して動作するメモリである。以下の説明では、SDR−SDRAM11A乃至SDR−SDRAM11Dは全て、入力クロック信号の立ち上がりエッジにのみ同期して動作するものとして説明する。しかし、クロック信号の立ち下がりエッジにのみ同期して動作するとしても同様である。
メモリコントローラ14Aは、クロック出力切換論理回路41、インバータ42、及びセレクタ43乃至46を含む。セレクタ43乃至46の各々には、クロック信号CLKとインバータ42により反転された反転クロック信号/CLKとが入力される。セレクタ43乃至46の各々は、クロック出力切換論理回路41からの制御信号に応じて、クロック信号CLKと反転クロック信号/CLKとの何れか指定された一方を選択して出力する。何れのクロックも指定されない場合には、セレクタ43乃至46の各々は、その出力をHIGH又はLOWの固定状態にする。
クロック信号線31A乃至31Dを介して、正相状態のクロック信号CLK又は反転クロック信号/CLKが、SDR−SDRAM11A乃至11Dに供給される。これによりSDR−SDRAM11A乃至11Dの各々は、メモリコントローラ14から供給されるクロック信号の立ち上がりエッジに同期して動作する。SDR−SDRAM11A乃至11Dの各々がクロック信号CLKの立ち上がりエッジに同期して動作するか立ち下がりエッジに同期して動作するかは、セレクタ43乃至46が何れのクロック信号を選択して出力するかに依存する。
ゲート回路32、33、35、及び36の各々は、対応するSDR−SDRAMに供給されるクロック信号のHIGH及びLOWに応じてデータバス13と当該SDR−SDRAMとの電気的接続を確立又は遮断する。具体的には、ゲート回路は、SDR−SDRAMに入力されるクロック信号がHIGHの時に導通してデータバス13とSDR−SDRAMとを電気的に接続し、SDR−SDRAMに入力されるクロック信号がLOWの時に非導通となりデータバス13とSDR−SDRAMとを電気的に遮断する。
上記構成によれば、メモリコントローラ14は、4つのSDR−SDRAM11A乃至11Dのうちで選択した1つにクロック信号CLKを供給して、この選択SDR−SDRAMを、クロック信号CLKのHIGH期間にデータバス13に電気的に接続し、クロック信号CLKのLOW期間にはデータバス13から切り離すことができる。またメモリコントローラ14は、4つのSDR−SDRAM11A乃至11Dのうちで選択した1つに反転クロック信号/CLKを供給して、この選択SDR−SDRAMを、クロック信号CLKのLOW期間にデータバス13に電気的に接続し、クロック信号CLKのHIGH期間にはデータバス13から切り離すことができる。またメモリコントローラ14は、残りの2つのSDR−SDRAMについては、クロック信号をHIGH又はLOW固定とすることにより動作させない。従って、データバス13上において、選択された第1のSDR−SDRAMに対するデータ入出力(データ読み書き)動作をクロック信号CLKの立ち上がりエッジに同期して実行し、選択された第2のSDR−SDRAMに対するデータ入出力(データ読み書き)動作をクロック信号CLKの立ち下がりエッジに同期して実行することが可能となる。
図6の構成において、4つのSDR−SDRAM11A乃至11Dは、全体のアドレス空間の中で、それぞれ対応する1/4のアドレス空間に割り当てられてよい。この場合、第1のマスタ15のアクセス先と第2のマスタ16のアクセス先との一方が何れかの1/4のアドレス空間内にあり他方が別の1/4のアドレス空間内にあるときには、メモリコントローラ14は、上記のように立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行することができる。しかし、第1のマスタ15のアクセス先と第2のマスタ16のアクセス先とが両方とも同一の1/4のアドレス空間内にあるときには、メモリコントローラ14は、調停動作により、第1のマスタ15からのアクセスと第2のマスタ16からのアクセスとの何れか一方を優先して実行することになる。図3の構成の場合と比較して、図6の構成では独立したメモリの数がより多いので、調停動作により第1のマスタ15と第2のマスタ16との何れか一方を優先することが必要になる確率を小さくすることができる。
図7は、図6のメモリシステム40の読み出し動作について説明するためのタイムチャートである。図7において(a)乃至(g)は、それぞれSDR−SDRAM11Aへのクロック信号SDRAMA−CLK、SDR−SDRAM11Bへのクロック信号SDRAMB−CLK、SDR−SDRAM11Cへのクロック信号SDRAMC−CLK、SDR−SDRAM11Dへのクロック信号SDRAMD−CLK、メモリに入力されるコマンドCommand、データバス13上の読み出しデータDQ、SDR−SDRAM11Aの読み出しデータDQ(A)、SDR−SDRAM11Bの読み出しデータDQ(B)、SDR−SDRAM11Cの読み出しデータDQ(C)、SDR−SDRAM11Dの読み出しデータDQ(D)を示す。ここでコマンドCommandは、制御バス12から供給される制御信号の組み合わせにより定義される。
図7(a)乃至(d)に示されるように、最初の状態では、SDRAMA−CLKは正相のクロック信号、SDRAMB−CLKは反転クロック信号、SDRAMC−CLKはHIGH固定、SDRAMD−CLKはHIGH固定に設定されている。この状態で、図7(e)に示すように、第1のマスタ15に対応するアクティベーションコマンドACT−Aと第2のマスタ16に対応するアクティベーションコマンドACT−Bとが、それぞれクロック信号SDRAMA−CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。その後更に、第1のマスタ15に対応するリードコマンドREAD−Aと第2のマスタ16に対応するリードコマンドREAD−Bとが、それぞれクロック信号SDRAMA−CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。
アクティベーションコマンドACT−A及びリードコマンドREAD−Aの入力に応答して、SDR−SDRAM11Aは所定のレイテンシの後にデータを出力する。図7の例では、図7(g)にDQ(A)として示されるように、アクティベーションコマンドACT−Aの入力から4サイクル後に読み出しデータが現れている。この読み出しデータQA1は、クロック信号SDRAMA−CLKの立ち上がりエッジに同期している。
またアクティベーションコマンドACT−B及びリードコマンドREAD−Bの入力に応答して、SDR−SDRAM11Bは所定のレイテンシの後にデータを出力する。図7の例では、図7(h)にDQ(B)として示されるように、アクティベーションコマンドACT−Bの入力から4サイクル後に読み出しデータが現れている。この読み出しデータQB1は、クロック信号SDRAMB−CLKの立ち上がりエッジ(SDRAMA−CLKの立ち下がりエッジ)に同期している。
こうしてSDR−SDRAM11A及びSDR−SDRAM11Bから読み出されたデータ信号が時分割多重され、図7(f)にDQとして示すように、データバス13上にデータ信号として現れる。図6のメモリコントローラ14は、データバス13上のデータ信号のうち第1のマスタ15に対応するデータ信号QA1を第1のマスタ15に供給し、第2のマスタ16に対応するデータ信号QB1を第2のマスタ16に供給する。
その後、図7(a)乃至(d)に示されるように、SDRAMA−CLKはHIGH固定、SDRAMB−CLKはHIGH固定、SDRAMC−CLKは正相のクロック信号、SDRAMD−CLKは反転クロック信号に設定される。この状態で、図7(e)に示すように、第1のマスタ15に対応するアクティベーションコマンドACT−Cと第2のマスタ16に対応するアクティベーションコマンドACT−Dとが、それぞれクロック信号SDRAMC−CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。その後更に、第1のマスタ15に対応するリードコマンドREAD−Cと第2のマスタ16に対応するリードコマンドREAD−Dとが、それぞれクロック信号SDRAMC−CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、メモリコントローラ14から制御バス12に出力される。
アクティベーションコマンドACT−C及びリードコマンドREAD−Cの入力に応答して、SDR−SDRAM11Cは所定のレイテンシの後にデータを出力する。図7の例では、図7(i)にDQ(C)として示されるように、アクティベーションコマンドACT−Cの入力から4サイクル後に読み出しデータが現れている。この読み出しデータQC1は、クロック信号SDRAMC−CLKの立ち上がりエッジに同期している。
またアクティベーションコマンドACT−D及びリードコマンドREAD−Dの入力に応答して、SDR−SDRAM11Dは所定のレイテンシの後にデータを出力する。図7の例では、図7(j)にDQ(D)として示されるように、アクティベーションコマンドACT−Dの入力から4サイクル後に読み出しデータが現れている。この読み出しデータQD1は、クロック信号SDRAMD−CLKの立ち上がりエッジ(SDRAMC−CLKの立ち下がりエッジ)に同期している。
こうしてSDR−SDRAM11C及びSDR−SDRAM11Dから読み出されたデータ信号が時分割多重され、図7(f)にDQとして示すように、データバス13上にデータ信号として現れる。図6のメモリコントローラ14は、データバス13上のデータ信号のうち第1のマスタ15に対応するデータ信号QC1を第1のマスタ15に供給し、第2のマスタ16に対応するデータ信号QD1を第2のマスタ16に供給する。
なお図6の構成において、ゲート回路32、33、35、及び36については、それぞれ対応するクロック信号により導通/非導通を制御するとしたが、それぞれ対応する制御信号をクロック信号とは独立した信号としてメモリコントローラ14Aから供給して、これらの制御信号により導通/非導通を制御する構成としてよい。このような構成の場合、図7に示すように非選択のメモリに対してクロック信号をHIGH又はLOWに固定して停止する必要はなく、クロック信号をメモリに供給しながら、上記制御信号によりデータバスを当該メモリから自由に切り離すことが可能となる。データアクセスの対象となる選択メモリについては、上記制御信号をクロック信号と同期してHIGH及びLOWに変化させることで、図7に示す選択メモリと同様に動作させることができる。
図8は、図3に示すメモリコントローラ14の構成の一例を示す図である。なお図6に示すメモリコントローラ14Aは、図8に示すメモリコントローラ14に、図6に示す回路ユニット47を付加することにより構成することができる。
図8に示すメモリコントローラ14は、競合制御ユニット50、マトリクススイッチ51、SDRAMコントローラ52、SDRAMコントローラ53、セレクタ54、セレクタ55、セレクタ56、及び入出力バッファ57を含む。SDRAMコントローラ52は立ち上がりエッジに同期した処理の動作を制御するコントローラであり、SDRAMコントローラ53は立ち下がりエッジに同期した処理の動作を制御するコントローラである。セレクタ54、セレクタ55、及びセレクタ56が、クロック信号CLKのHIGH及びLOWに応じて、2つの入力から1つを選択して出力端子に出力することで、SDRAMコントローラ52及びSDRAMコントローラ53のそれぞれ立ち上がりエッジ及び立ち下がりエッジに同期した制御信号及びデータ信号を送受信することができる。
競合制御ユニット50は、第1のマスタ15からのメモリアクセスのアドレスと第2のマスタ16からのメモリアクセスのアドレスとに応じて、第1のマスタ15と第2のマスタ16との何れが立ち上がりエッジ側に割り当てられ、何れが立ち下がりエッジ側に割り当てられるのかを決定する。
マトリクススイッチ51は、競合制御ユニット50による上記決定の結果を示すスイッチ制御信号に応じて、第1のマスタ15を立ち上がりエッジ及び立ち下りエッジの一方に割り当てるとともに、第2のマスタ16を立ち上がりエッジ及び立ち下りエッジの他方に割り当てるように、内部マトリクスの信号経路を切り換える。これにより、第1のマスタ15がSDRAMコントローラ52又はSDRAMコントローラ53の何れか一方に接続され、第2のマスタ16が他方のSDRAMコントローラに接続される。
なおSDRAMコントローラ52がコントロールするメモリ(図3のSDR−SDRAM11A)は、全体のアドレス空間の第1の半分に対応するアドレス空間に割り当てられ、SDRAMコントローラ53がコントロールするメモリ(図3のSDR−SDRAM11B)は、全体のアドレス空間の第2の半分に対応するアドレス空間に割り当てられてよい。第1のマスタ15のアクセス先と第2のマスタ16のアクセス先との一方が第1の半分のアドレス空間内にあり他方が第2の半分のアドレス空間内にあるときには、競合制御ユニット50は、上記のように、第1のマスタ15及び第2のマスタ16を立ち上がりエッジ及び立ち下がりエッジに割り当てる。しかし、第1のマスタ15のアクセス先と第2のマスタ16のアクセス先とが両方とも同一の半分のアドレス空間内にあるときには、競合制御ユニット50は、調停動作により、第1のマスタ15からのアクセスと第2のマスタ16からのアクセスとの何れか一方を優先して、アクセス先に対応するSDRAMコントローラに割り当てることになる。
図9は、本発明によるメモリシステムの第3の実施例の構成の一例を示す図である。図9において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。
図9のメモリシステム30においては、図1の同期メモリ11が1チップのSDRAM11Eとして実現されている。SDRAM11Eは、クロック信号の立ち上がりエッジ及び立ち下がりエッジの両方に同期して動作するメモリである。
SDRAM11Eは、クロックバッファ61、コマンドバッファ62、アドレスバッファ63、データバッファ64、ゲート回路65、ゲート回路66、SDR−SDRAMブロック67、及びSDR−SDRAMブロック68を含む。
クロックバッファ61は、クロック信号線69を介してメモリコントローラ14から供給されるクロック信号CLKを受信し、正相のクロック信号CLK1と逆相(反転)のクロック信号/CLK1とを出力する。クロック信号CLK1はSDR−SDRAMブロック67に供給され、クロック信号/CLK1はSDR−SDRAMブロック68に供給される。SDR−SDRAMブロック67及びSDR−SDRAMブロック68は、立ち上がりエッジ及び立ち下がりエッジの何れか一方のエッジに同期して動作するメモリブロックであり、以下の説明では立ち上がりエッジに同期して動作するものとして説明する。しかし、立ち下がりエッジに同期して動作するものとしても同様である。
コマンドバッファ62は、制御バス12を介して制御信号を受信して、SDR−SDRAMブロック67及びSDR−SDRAMブロック68に、制御信号に応じたコマンドを並列に供給する。アドレスバッファ63は、制御バス12を介してアドレス信号を受信して、SDR−SDRAMブロック67及びSDR−SDRAMブロック68にアドレス信号を並列に供給する。
データバッファ64は、データバス13と、SDR−SDRAMブロック67及びSDR−SDRAMブロック68との間に設けられ、データバス13に対するデータ入出力を行う。ゲート回路65は、データバッファ64とSDR−SDRAMブロック67との間に結合されクロック信号CLK1のHIGH及びLOWに応じてデータバッファ64とSDR−SDRAMブロック67との電気的接続を確立又は遮断する。またゲート回路66は、データバッファ64とSDR−SDRAMブロック68との間に結合されクロック信号/CLK1のHIGH及びLOWに応じてデータバッファ64とSDR−SDRAMブロック68との電気的接続を確立又は遮断する。
以上のように、立ち上がりエッジに同期して動作するSDR−SDRAMブロック67及びSDR−SDRAMブロック68に対して、1つのクロックバッファ61、1つのコマンドバッファ62、1つのアドレスバッファ63、及び1つのデータバッファ64を設け、ゲート回路65及びゲート回路66によりデータバッファ64と各SDR−SDRAMブロック67及び68との間の電気的結合を制御する。これにより、クロック信号CLKの立ち上がりエッジ及び立ち下がりエッジに同期して、それぞれ独立なメモリアクセス動作を実行可能なSDRAM11Eを提供することができる。読み出し及び書き込み動作については、SDR−SDRAM11Aの代わりにSDR−SDRAMブロック67が用いられ、SDR−SDRAM11Bの代わりにSDR−SDRAMブロック68が用いられることを除いて、図3に示す構成の動作と同様であるので説明を省略する。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
なお本発明は、以下の内容を含むものである。
(付記1)
クロック信号に同期して動作するメモリに接続可能な半導体集積回路であって、
制御バスを介して該メモリに接続するための制御端子と、
データバスを介して該メモリと接続するためのデータ端子と、
該制御端子及び該データ端子に接続されるメモリコントローラと、
該メモリコントローラに接続される第1のマスタ及び第2のマスタと、
を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御端子に送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データ端子から入出力するよう構成されることを特徴とする半導体集積回路。
(付記2)
該メモリコントローラは、該第1のエッジと該第2のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを切換可能に構成されることを特徴とする付記1記載の半導体集積回路。
(付記3)
該メモリコントローラは、
該第1のマスタからのメモリアクセスのアドレスと該第2のマスタからのメモリアクセスのアドレスとに応じて該第1のエッジと該第2のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第1のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第2のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を含むことを特徴とする付記1記載の半導体集積回路。
(付記4)
クロック信号に同期して動作するメモリと、
該メモリに接続される制御バスと、
該メモリに接続されるデータバスと、
該制御バス及び該データバスに接続されるメモリコントローラと、
該メモリコントローラに接続される第1のマスタ及び第2のマスタと、
を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御バスに送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データバスに対して入出力するよう構成されることを特徴とするメモリシステム。
(付記5)
該メモリコントローラは、該第1のエッジと該第2のエッジとの何れが該立ち上がりエッジであり何れが第立ち下りエッジであるかを切換可能に構成されることを特徴とする付記4記載のメモリシステム。
(付記6)
該メモリコントローラは、
該第1のマスタからのメモリアクセスのアドレスと該第2のマスタからのメモリアクセスのアドレスとに応じて該第1のエッジと該第2のエッジとの何れを該立ち上がりエッジとし何れを第立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第1のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第2のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を含むことを特徴とする付記4記載のメモリシステム。
(付記7)
該メモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第1のメモリ及び第2のメモリと、
正相状態の該クロック信号を該第1のメモリに第1のクロックとして供給するとともに逆相状態の該クロック信号を該第2のメモリに第2のクロックとして供給する信号供給回路と、
該データバスと該第1のメモリとの間に結合され該第1のクロックのHIGH及びLOWに応じて該データバスと該第1のメモリとの電気的接続を確立又は遮断するゲートと、
該データバスと該第2のメモリとの間に結合され該第2のクロックのHIGH及びLOWに応じて該データバスと該第1のメモリとの電気的接続を確立又は遮断するゲートと、
を含むことを特徴とする付記4記載のメモリシステム。
(付記8)
該第1のメモリと該第2のメモリとは同一のアドレス空間に割り当てられていることを特徴とする付記7記載のメモリシステム。
(付記9)
該メモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第3のメモリと、
正相状態の該クロック信号又は逆相状態の該クロック信号の何れか選択した一方を該第3のメモリに第3のクロックとして供給する信号供給回路と、
該データバスと該第3のメモリとの間に結合され該第3のクロックのHIGH及びLOWに応じて該データバスと該第3のメモリとの電気的接続を確立又は遮断するゲートと、
を更に含むことを特徴とする付記4記載のメモリシステム。
(付記10)
該メモリは、
該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第1のメモリ回路及び第2のメモリ回路と、
該制御バスからの制御信号を受信して第1のメモリ回路及び第2のメモリ回路にコマンドを並列に供給する1つのコマンドバッファと、
該データバスと、該第1のメモリ回路及び第2のメモリ回路との間に設けられたデータ入出力のための1つのデータバッファと、
該メモリコントローラから該クロック信号を受信し、正相状態の該クロック信号を該第1のメモリ回路に第1のクロックとして供給するとともに逆相状態の該クロック信号を該第2のメモリ回路に第2のクロックとして供給する信号供給回路と
該データバッファと該第1のメモリ回路との間に結合され該第1のクロックのHIGH及びLOWに応じて該データバッファと該第1のメモリ回路との電気的接続を確立又は遮断するゲートと、
該データバッファと該第2のメモリ回路との間に結合され該第2のクロックのHIGH及びLOWに応じて該データバッファと該第1のメモリ回路との電気的接続を確立又は遮断するゲートと、
を含むことを特徴とする付記4記載のメモリシステム。
(付記11)
クロック信号に同期して動作するメモリ並びに第1のマスタ及び第2のマスタに接続可能なメモリコントローラであって、
制御バスを介して該メモリに接続するための制御端子と、
データバスを介して該メモリと接続するためのデータ端子と
を含み、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御端子に送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データ端子から入出力するよう構成されることを特徴とするメモリコントローラ。
(付記12)
該第1のエッジと該第2のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを切換可能に構成されることを特徴とする付記11記載のメモリコントローラ。
(付記13)
該第1のマスタからのメモリアクセスのアドレスと該第2のマスタからのメモリアクセスのアドレスとに応じて該第1のエッジと該第2のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定する競合制御ユニットと、
該競合制御ユニットの決定結果に応じて該第1のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第2のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
を更に含むことを特徴とする付記11記載のメモリコントローラ。
(付記14)
クロック信号に同期して動作するメモリに制御バス及びデータバスを介して接続されるメモリコントローラを制御するメモリコントローラ制御方法であって、
該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、第1のマスタによるメモリアクセスに対応する制御信号及び第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御バスに該メモリコントローラから送出させ、
該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データバスを介して該メモリコントローラに入出力させる
各段階を含むことを特徴とするメモリコントローラ制御方法。
(付記15)
該第1のエッジと該第2のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを該メモリコントローラに切換可能に制御させることを特徴とする付記14記載のメモリコントローラ制御方法。
(付記16)
該第1のマスタからのメモリアクセスのアドレスと該第2のマスタからのメモリアクセスのアドレスとに応じて該第1のエッジと該第2のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定し、
該決定の結果に応じて該第1のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第2のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる
各段階を更に含むことを特徴とする付記14記載のメモリコントローラ制御方法。
本発明によるメモリシステムの構成及び動作原理を説明するための図である。 図1のメモリシステムのメモリ読み出し動作を説明するためのタイミングチャートである。 本発明によるメモリシステムの第1の実施例の構成の一例を示す図である。 図3のメモリシステムの読み出し動作について説明するためのタイムチャートである。 図3のメモリシステムの書き込み動作について説明するためのタイムチャートである。 本発明によるメモリシステムの第2の実施例の構成の一例を示す図である。 図6のメモリシステムの読み出し動作について説明するためのタイムチャートである。 図3に示すメモリコントローラの構成の一例を示す図である。 本発明によるメモリシステムの第3の実施例の構成の一例を示す図である。
符号の説明
10 メモリシステム
11 同期メモリ
12 制御バス
13 データバス
14 メモリコントローラ
15 第1のマスタ
16 第2のマスタ
32 ゲート回路
33 ゲート回路
34 インバータ
35 ゲート回路
36 ゲート回路
41 ロック出力切換論理回路
42 インバータ
43〜46 セレクタ

Claims (9)

  1. クロック信号に同期して動作するメモリに接続可能な半導体集積回路であって、
    制御バスを介して該メモリに接続するための制御端子と、
    データバスを介して該メモリと接続するためのデータ端子と、
    該制御端子及び該データ端子に接続されるメモリコントローラと、
    該メモリコントローラに接続される第1のマスタ及び第2のマスタと、
    を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御端子に送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データ端子から入出力するよう構成され
    該メモリは該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する複数のメモリであり、該複数のメモリは全体のアドレス空間の中で、それぞれ対応する別個のアドレス空間に割り当てられ、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが別のアドレス空間内にあるときには、該メモリコントローラは、立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行し、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが両方とも同一のアドレス空間内にあるときには、該メモリコントローラは、調停動作により、該第1のマスタからのアクセスと該第2のマスタからのアクセスとの何れか一方を優先して実行する
    ことを特徴とする半導体集積回路。
  2. 該メモリコントローラは、該第1のエッジと該第2のエッジとの何れが該立ち上がりエッジであり何れが該立ち下りエッジであるかを切換可能に構成されることを特徴とする請求項1記載の半導体集積回路。
  3. 該メモリコントローラは、
    該第1のマスタからのメモリアクセスのアドレスと該第2のマスタからのメモリアクセスのアドレスとに応じて該第1のエッジと該第2のエッジとの何れを該立ち上がりエッジとし何れを該立ち下りエッジとするかを決定する競合制御ユニットと、
    該競合制御ユニットの決定結果に応じて該第1のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第2のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
    を含むことを特徴とする請求項1記載の半導体集積回路。
  4. クロック信号に同期して動作するメモリと、
    該メモリに接続される制御バスと、
    該メモリに接続されるデータバスと、
    該制御バス及び該データバスに接続されるメモリコントローラと、
    該メモリコントローラに接続される第1のマスタ及び第2のマスタと、
    を含み、該メモリコントローラは、該クロック信号の立ち上がりエッジ及び立ち下りエッジの何れか一方を第1のエッジとするとともに他方を第2のエッジとし、該第1のマスタによるメモリアクセスに対応する制御信号及び該第2のマスタによるメモリアクセスに対応する制御信号を該第1のエッジ及び該第2のエッジにそれぞれ同期して該制御バスに送出し、該第1のマスタの入出力データ及び該第2のマスタの入出力データを該第1のエッジ及び該第2のエッジにそれぞれ同期して該データバスに対して入出力するよう構成され
    該メモリは該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する複数のメモリを含み、該複数のメモリは全体のアドレス空間の中で、それぞれ対応する別個のアドレス空間に割り当てられ、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが別のアドレス空間内にあるときには、該メモリコントローラは、立ち上がりエッジと立ち下がりエッジとを同時に使用してデータ読み書き動作を実行し、該第1のマスタのアクセス先と該第2のマスタのアクセス先とが両方とも同一のアドレス空間内にあるときには、該メモリコントローラは、調停動作により、該第1のマスタからのアクセスと該第2のマスタからのアクセスとの何れか一方を優先して実行する
    ことを特徴とするメモリシステム。
  5. 該メモリコントローラは、該第1のエッジと該第2のエッジとの何れが該立ち上がりエッジであり何れが第立ち下りエッジであるかを切換可能に構成されることを特徴とする請求項4記載のメモリシステム。
  6. 該メモリコントローラは、
    該第1のマスタからのメモリアクセスのアドレスと該第2のマスタからのメモリアクセスのアドレスとに応じて該第1のエッジと該第2のエッジとの何れを該立ち上がりエッジとし何れを第立ち下りエッジとするかを決定する競合制御ユニットと、
    該競合制御ユニットの決定結果に応じて該第1のマスタを該立ち上がりエッジ及び該立ち下りエッジの一方に割り当てるとともに、該第2のマスタを該立ち上がりエッジ及び該立ち下りエッジの他方に割り当てる切換ユニットと
    を含むことを特徴とする請求項4記載のメモリシステム。
  7. 複数のメモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第1のメモリ及び第2のメモリと、
    正相状態の該クロック信号を該第1のメモリに第1のクロックとして供給するとともに逆相状態の該クロック信号を該第2のメモリに第2のクロックとして供給する信号供給回路と、
    該データバスと該第1のメモリとの間に結合され該第1のクロックのHIGH及びLOWに応じて該データバスと該第1のメモリとの電気的接続を確立又は遮断するゲートと、
    該データバスと該第2のメモリとの間に結合され該第2のクロックのHIGH及びLOWに応じて該データバスと該第1のメモリとの電気的接続を確立又は遮断するゲートと、
    を含むことを特徴とする請求項4記載のメモリシステム。
  8. 複数のメモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第3のメモリと、
    正相状態の該クロック信号又は逆相状態の該クロック信号の何れか選択した一方を該第3のメモリに第3のクロックとして供給する信号供給回路と、
    該データバスと該第3のメモリとの間に結合され該第3のクロックのHIGH及びLOWに応じて該データバスと該第3のメモリとの電気的接続を確立又は遮断するゲートと、
    を更に含むことを特徴とする請求項記載のメモリシステム。
  9. 該メモリは、
    該複数のメモリとして該立ち上がりエッジ及び該立ち下がりエッジの何れか一方の同一のエッジに同期して動作する第1のメモリ回路及び第2のメモリ回路と、
    該制御バスからの制御信号を受信して第1のメモリ回路及び第2のメモリ回路にコマンドを並列に供給する1つのコマンドバッファと、
    該データバスと、該第1のメモリ回路及び第2のメモリ回路との間に設けられたデータ入出力のための1つのデータバッファと、
    該メモリコントローラから該クロック信号を受信し、正相状態の該クロック信号を該第1のメモリ回路に第1のクロックとして供給するとともに逆相状態の該クロック信号を該第2のメモリ回路に第2のクロックとして供給する信号供給回路と
    該データバッファと該第1のメモリ回路との間に結合され該第1のクロックのHIGH及びLOWに応じて該データバッファと該第1のメモリ回路との電気的接続を確立又は遮断するゲートと、
    該データバッファと該第2のメモリ回路との間に結合され該第2のクロックのHIGH及びLOWに応じて該データバッファと該第1のメモリ回路との電気的接続を確立又は遮断するゲートと、
    を含むことを特徴とする請求項4記載のメモリシステム。
JP2007066995A 2007-03-15 2007-03-15 半導体集積回路及びメモリシステム Expired - Fee Related JP5130754B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007066995A JP5130754B2 (ja) 2007-03-15 2007-03-15 半導体集積回路及びメモリシステム
US12/049,551 US8074096B2 (en) 2007-03-15 2008-03-17 Semiconductor integrated circuit, memory system, memory controller and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007066995A JP5130754B2 (ja) 2007-03-15 2007-03-15 半導体集積回路及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2008226135A JP2008226135A (ja) 2008-09-25
JP5130754B2 true JP5130754B2 (ja) 2013-01-30

Family

ID=39763891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007066995A Expired - Fee Related JP5130754B2 (ja) 2007-03-15 2007-03-15 半導体集積回路及びメモリシステム

Country Status (2)

Country Link
US (1) US8074096B2 (ja)
JP (1) JP5130754B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607090B2 (en) * 2010-03-03 2013-12-10 Marvell International Ltd. Selective shorting for clock grid during a controlling portion of a clock signal
US10459855B2 (en) 2016-07-01 2019-10-29 Intel Corporation Load reduced nonvolatile memory interface

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3896418A (en) * 1971-08-31 1975-07-22 Texas Instruments Inc Synchronous multi-processor system utilizing a single external memory unit
GB9418753D0 (en) * 1994-09-16 1994-11-02 Ionica L3 Limited Process circuitry
US6108758A (en) * 1997-08-29 2000-08-22 Intel Corporation Multiple masters in a memory control system
US6457075B1 (en) * 1999-05-17 2002-09-24 Koninkijke Philips Electronics N.V. Synchronous memory system with automatic burst mode switching as a function of the selected bus master
JP4834362B2 (ja) * 2005-09-16 2011-12-14 パナソニック株式会社 メモリ制御装置。
JP2003015953A (ja) 2001-06-28 2003-01-17 Toshiba Corp 半導体記憶装置
JP2003216488A (ja) * 2002-01-28 2003-07-31 Nikon Corp データ処理装置およびこれを備えたデジタルカメラ並びに記録媒体
US6892281B2 (en) * 2002-10-03 2005-05-10 Intel Corporation Apparatus, method, and system for reducing latency of memory devices
US6912609B2 (en) * 2002-12-24 2005-06-28 Lsi Logic Corporation Four-phase handshake arbitration
JP2004206637A (ja) * 2002-12-26 2004-07-22 Matsushita Electric Ind Co Ltd メモリ回路
US7917673B2 (en) * 2003-09-20 2011-03-29 Samsung Electronics Co., Ltd. Communication device and method having a shared local memory
KR101247247B1 (ko) * 2005-11-30 2013-03-25 삼성전자주식회사 클락 신호의 출력을 제어할 수 있는 컨트롤러 및 상기 컨트롤러를 구비하는 시스템

Also Published As

Publication number Publication date
US20080229135A1 (en) 2008-09-18
US8074096B2 (en) 2011-12-06
JP2008226135A (ja) 2008-09-25

Similar Documents

Publication Publication Date Title
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US7426607B2 (en) Memory system and method of operating memory system
JP2006228194A (ja) 内部メモリデバイス間の直接的データ移動が可能な複合メモリチップおよびデータ移動方法
JP6710219B2 (ja) 統合プロセッサを備えたdram回路
US7962670B2 (en) Pin multiplexing
US8433835B2 (en) Information processing system and control method thereof
JP4527643B2 (ja) メモリ装置及びメモリ装置の動作方法
KR20020029760A (ko) 집적 회로 시스템
JP2009004032A (ja) 半導体メモリ装置、半導体メモリ装置の動作方法
JP2007048281A (ja) 非多重型メモリコントローラと多重型のメモリとをインタフェーシングするためのラッパ回路及び方法
US20060236007A1 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
JP2009004033A (ja) 半導体メモリ装置、半導体メモリ装置の動作方法
US20050182908A1 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
US8180990B2 (en) Integrated circuit including a plurality of master circuits transmitting access requests to an external device and integrated circuit system including first and second interated circuits each including a plurality of master circuits transmitting access requests
JP5130754B2 (ja) 半導体集積回路及びメモリシステム
US7898880B2 (en) Dual port memory device, memory device and method of operating the dual port memory device
JP2004127305A (ja) メモリ制御装置
JP2007018161A (ja) メモリ制御装置
JP2008251060A (ja) 半導体記憶装置
EP1156421B1 (en) CPU system with high-speed peripheral LSI circuit
JP2013089030A (ja) 情報処理システム、制御システム及び半導体装置
US9128511B2 (en) Semiconductor device and operation method thereof
KR100813133B1 (ko) 듀얼 포트 메모리 장치, 이를 가지는 메모리 시스템 및듀얼 포트 메모리 장치의 공유 메모리 영역의 적응적사용방법
JP6725970B2 (ja) マルチプロセッサシステム
JP3563340B2 (ja) メモリコントローラ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5130754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees