(57)【要約】命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、上記入力信号に応答し、内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを持つ半導体集積回路装置を複数個用い、上記複数の半導体集積回路装置のうちの前段とされる半導体集積回路装置の出力端子と次段とされる半導体集積回路装置の入力端子との対応するもの同士を接続してデイジーチェーン構成としてデータ処理等のためのデータ転送を行う。
2004010315.tif 000002
【特許請求の範囲】
【請求項１】
命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、
上記入力信号に応答し、内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを備えてなることを特徴とする半導体集積回路装置。
【請求項２】
請求の範囲第１項において、
上記命令は、動作状態を指示するコマンドであり、
上記情報は、記憶すべきデータであり、
上記情報の所在位置は、アドレス信号であり、
上記タイミング信号は、クロックであり、
上記半導体集積回路装置は、上記クロックに同期して入力されたコマンド及びアドレス信号に対応して動作するメモリ回路を含むものであることを特徴とする半導体集積回路装置。
【請求項３】
請求の範囲第２項において、
上記メモリ回路は、自身に割り当てられたアドレスに対応した読み出し動作が指示されたときに、上記アドレスに従って読み出された記憶情報を入力端子の入力情報に置き換えて出力端子から出力するものであることを特徴とする半導体集積回路装置。
【請求項４】
請求の範囲第１項において、
上記出力端子から出力される命令、情報、情報の所在位置、タイミング信号は、内部で再生されたタイミング信号により再調整されるものであることを特徴とする半導体集積回路装置。
【請求項５】
請求の範囲第４項において、
上記再調整されるタイミング信号は、基準タイミング信号を受ける位相同期ループ回路で生成されるものであることを特徴とする半導体集積回路装置。
【請求項６】
請求の範囲第５項において、
上記基準タイミング信号は、外部から入力されるものであることを特徴とする半導体集積回路装置。
【請求項７】
命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、かかる入力信号に応答し、内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを備えた複数の半導体集積回路装置と、
上記半導体集積回路装置に対して、命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号を生成する信号生成回路とを備え、
前段とされる半導体集積回路装置の出力端子と次段とされる半導体集積回路装置の入力端子との対応するもの同士が接続され縦列形態にされ、
上記信号生成回路で生成された命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号は、上記縦列形態の初段とされる半導体集積回路装置の入力端子に供給され、
上記縦列形態の終段の半導体集積回路装置の出力端子の出力信号のうち、少なくとも情報に対応した信号が上記信号処理回路に伝えられるものであることを特徴とするデータ処理システム。
【請求項８】
請求の範囲第７項において、
上記命令は、動作状態を指示するコマンドであり、
上記情報は、記憶すべきデータであり、
上記情報の所在位置は、アドレス信号であり、
上記タイミング信号は、クロックであり、
上記複数の半導体集積回路装置の各々は、上記クロックに同期して入力されたコマンド及びアドレス信号に対応して動作するメモリ回路を含むものであることを特徴とするデータ処理システム。
【請求項９】
請求の範囲第８項において、
上記出力端子から出力されるコマンド、データ、アドレス及びタイミング信号は、内部で再生されたタイミング信号により再調整されるものであることを特徴とするメモリシステム。
【請求項１０】
コマンド、データ、アドレス、タイミング信号を含む入力信号がそれぞれ供給される入力端子と、
上記入力端子から供給された入力信号に対応した信号をそれぞれ出力させる出力端子とを含む半導体記憶装置の複数個を備え、
上記複数の半導体記憶装置のうち、前段とされる半導体記憶装置の出力端子と次段とされる半導体記憶装置の入力端子との対応するもの同士が接続されて縦列形態とされてなることを特徴とするメモリシステム。
【請求項１１】
請求の範囲第１０項において、
上記縦列形態の初段の半導体記憶装置の入力端子には、信号生成回路により形成されたコマンド、データ、アドレス、タイミング信号が供給され、
上記縦列形態の終段の半導体記憶装置の出力端子から出力される出力信号のうち、少なくともデータに対応した信号は、上記信号生成回路に伝えられるものであることを特徴とするメモリシステム。
【請求項１２】
請求の範囲第１１項において、
上記信号生成回路は、１つの半導体集積回路装置から構成されるメモリ制御装置であることを特徴とするメモリシステム。
【請求項１３】
請求の範囲第１２項において、
上記出力端子から出力されるコマンド、データ、アドレス及びタイミング信号は、内部で再生されたタイミング信号により再調整されるものであることを特徴とするメモリシステム。
【請求項１４】
請求の範囲第１３項において、
上記再調整されるタイミング信号は、基準タイミング信号を受ける位相同期ループ回路で生成されるものであることを特徴とするメモリシステム。
【請求項１５】
請求の範囲第１２項において、
上記メモリ制御装置により生成されたデータは、上記初段を構成する複数の半導体記憶装置の入力端子に振り分けられて供給され、
上記初段の複数の半導体記憶装置に対応して次段から終段まで複数の半導体記憶装置が設けられて、それぞれが一対一に対応して縦列接続されるものであることを特徴とするメモリシステム。
【請求項１６】
請求の範囲第１５項において、
上記信号生成回路で形成されたコマンド及びアドレスは、上記初段を構成する複数の半導体記憶装置の入力端子に共通に伝えられ、
上記初段の複数の半導体記憶装置の出力端子から終段の複数の半導体記憶装置の入力端子までの接続においては、上記コマンド及びアドレスが上記データに対応してそれぞれが一対一に接続されることを特徴とするメモリシステム。
【請求項１７】
請求の範囲第１５項において、
上記信号生成回路は、上記初段を構成する複数の半導体記憶装置の入力端子に対応した複数組のコマンド及びアドレスを生成し、上記初段を構成する複数の半導体記憶装置の入力端子に対して一対一に対応して伝えられ、
上記初段の複数の半導体記憶装置の出力端子から終段の複数の半導体記憶装置の入力端子までの接続においても、上記コマンド及びアドレスが上記データに対応してそれぞれが一対一に接続されることを特徴とするメモリシステム。
【請求項１８】
請求の範囲第１５項において、
上記複数の半導体記憶装置は、自身に割り当てられたアドレスに対応した読み出し動作が指示されたときに、上記アドレスに従って読み出された記憶情報を入力端子の入力情報に置き換えて出力端子から出力するものであることを特徴とするメモリシステム。
【請求項１９】
請求の範囲第１６項において、
上記縦列接続される前段の半導体記憶装置と後段の半導体記憶装置とは、共通の実装基板の表面と裏面に実装され、
スルーホールによって上記縦列形態に接続されるものであることを特徴とするメモリシステム。
【請求項２０】
請求の範囲第１０項において、
上記半導体記憶装置は、読み出し用バッファ回路を備え、
メモリセルから上記読み出し用バッファ回路に記憶情報を読み出して保持させる第１読み出しコマンドと、
上記読み出し用バッファ回路に保持された記憶情報を出力端子から出力させる第２読み出しコマンドを備えるものであることを特徴とするメモリシステム。
【請求項２１】
請求の範囲第２０項において、
上記半導体記憶装置は、書き込み用バッファ回路を備え、
書き込みコマンドは、外部端子から供給されたデータを上記書き込み用バッファに書き込み、上記書き込み用バッファに書き込まれたデータは、内部制御回路により自律的にメモリセルに書き込まれるものであることを特徴とするメモリシステム。
【請求項２２】
請求の範囲第１０項において、
データは、ｍ本の伝送線のうち、少なくともｎ本の伝送線が周期ごとにレベル遷移を行うものであることを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】  この発明は、半導体集積回路装置、データ処理システム及びメモリシステムに関し、主としてマイクロプロセッサとメモリ装置との間のデータ高速化技術に利用して有効な技術に関するものである。
【背景技術】  メモリコントローラとメモリ間の通信方式は、主として複数本の伝送線路（バス：Ｂｕｓ）を用い、さらに３個以上の装置が物理的に同一の伝送線路で通信を行うことが可能なシェアードバス（Ｓｈａｒｅｄ  Ｂｕｓ）方式が一般的に採用されている。シェアードバスは、１サイクルで複数のデータを通信するため、単位時間当たりの送受信データ量が大きい。さらに装置の数によらずバスは１つでよいため、システムに応じたメモリ量の変更やメモリの追加（増設）を容易にしている。シェアードバスの例として、ＪＥＤＥＣ  Ｓｔａｎｄａｒｄ  ７９，Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ（ＤＤＲ）ＳＤＲＡＭ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（文献１）が挙げられる。
金属酸化膜半導体トランジスタ（ＭＯＳ：Ｍｅｔａｌ  ＯｘｉｄｅＳｅｍｉｃｏｎｄｕｃｔｏｒ）のスケーリングにより、集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、特に中央演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の処理能力は劇的に増加してきた。しかし近年、ＣＰＵの処理能力の増加に割にコンピュータシステム全体の処理能力が増加しないという問題点がある。これは、ＣＰＵの処理能力に対して、相対的に主記憶（メモリ）の速度が遅くなりつつあることが原因の一つにあげられる。
特に、メモリコントローラとメモリ間インタフェースは、上記の通りシェアードバスを採用するため、通信速度の増加に伴い、データ線路間のタイミングのずれ（スキュー）が問題になってくる。また同一線路上に多数の装置が存在することで、装置間のタイミングの違い、装置数による伝送条件の変化、各装置が接続されている地点における信号の反射等の問題が発生する。それにより、特に高速なメモリコントローラ−メモリ間インタフェースでは、接続されるメモリの数（ＤＩＭＭ：Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅの枚数）に制限がつく、高価なＲｅｇｉｓｔｅｒｅｄ  ＤＩＭＭ使用を余儀なくされ、すべてのメモリスロットを使用するとエラーが発生するなど様々な問題点が起こっている。
この発明の目的は、高速なデータの伝達を可能とした半導体集積回路装置、データ処理システム及びメモリシステムを提供することにある。この発明の他の目的は、簡単な構成で高速なデータの伝達を可能とした半導体集積回路装置、データ処理システム及びメモリシステムを提供することある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【発明の開示】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、半導体集積回路装置において、命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、上記入力信号に応答し、内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを持つようにする。
命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、かかる入力信号に応答して内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを備えた半導体集積回路装置の複数個を用い、上記複数の半導体集積回路装置のうち、前段とされる半導体集積回路装置の出力端子と次段とされる半導体集積回路装置の入力端子との対応するもの同士が接続されて縦列形態とし、信号生成回路で形成された上記命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号を上記初段の半導体集積回路装置の入力端子に供給し、終段の半導体集積回路装置の出力端子からの信号を上記信号生成回路に供給してデータ処理システムを構成する。
コマンド、データ、アドレス、タイミング信号を含む入力信号がそれぞれ供給される入力端子と、上記入力端子から供給された入力信号に対応した信号をそれぞれ出力させる出力端子とを含む半導体記憶装置の複数個を用い、上記複数の半導体記憶装置のうち、前段とされる半導体記憶装置の出力端子と次段とされる半導体記憶装置の入力端子との対応するもの同士が接続されて縦列形態としてメモリシステムを構成する。
【図面の簡単な説明】  第１図は、本発明が適用されたメモリシステムの一実施例を示すブロック図であり、
第２図は、本願発明に係るデイジーチェーン接続におけるメモリコントローラとメモリとの接続方法の説明図であり、
第３図は、この発明に係るメモリチップおよびその信号線の説明図であり、
第４図は、この発明に係るメモリチップ間のコマンド／データの伝送方法の一例を説明するための波形図であり、
第５図は、この発明に係るメモリチップ間のコマンド／データの伝送方法の他の一例を説明するための波形図であり、
第６図は、この発明に係るメモリチップの一実施例を示すブロック図であり、
第７図は、第６図のメモリチップにおける入力信号の取り込み方法を説明するための波形図であり、
第８図は、第６図のメモリチップのバンク内部の一実施例を示すブロック図であり、
第９図は、第６図のメモリチップにおける読み出し動作を説明するための波形図であり、
第１０図は、第６図のメモリチップにおける書き込み動作を説明するための波形図であり、
第１１図は、この発明が適用されるＩＣのパッケージの等価回路図であり、
第１２図は、第１１図のＩＣの動作の一例を説明するための出力波形図であり、
第１３図は、この発明に係るメモリチップの符号変換説明図であり、
第１４図は、本発明によるデイジーチェーンメモリバスシステムを用いたコンピュータのマザーボードの一実施例のブロック図であり、
第１５図は、この発明に係るデイジーチェーンメモリバスシステムにおけるＤＩＭＭの一実施例を示す平面図であり、
第１６図は、この発明に係るＤＩＭＭソケットの断面図であり、
第１７図は、この発明に係るデイジーチェーンメモリバスシステムにおけるＤＩＭＭの他の一実施例を示す平面図であり、
第１８図は、この発明に係るデイジーチェーンメモリバスシステムにおけるＤＩＭＭの他の一実施例を示す平面図であり、
第１９図は、本発明に係るデイジーチェーンメモリバスシステムの他の一実施例を示すブロック図であり、
第２０図は、第１９図のメモリチップの一実施例を示すブロック図であり、
第２１図は、第１９図のメモリチップの動作の一例を説明するための波形図であり、
第２２図は、本発明に係るデイジーチェーンメモリバスシステムの他の一実施例を示すブロック図であり、
第２３図は、第２２図のメモリチップの一実施例を示すブロック図であり、
第２４図は、本発明に係るデイジーチェーンメモリバスシステムの他の一実施例を示すブロック図であり、
第２５図は、本発明に係るデイジーチェーンメモリバスシステムの更に他の一実施例を示すブロック図であり、
第２６図は、本発明に係るデイジーチェーンメモリバスシステムの更に他の一実施例を示すブロック図であり、
第２７図は、本発明に先立って検討されたシェアードバス接続におけるメモリコントローラとメモリの接続方法の説明図である。
【発明を実施するための最良の形態】  この発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
第１図には、本発明が適用されたメモリシステムの一実施例のブロック図が示されている。この実施例は、特に制限があるわけではないが、コンピュータシステムにおけるメモリサブシステムに向けられている。第１図において、１１０はメモリコントローラであり、１２０＿０〜１２０＿２はメモリモジュール（ＤＩＭＭ）であり、１３０はメモリチップであり、１４０はＤＩＭＭ情報ＲＯＭであり、１０１はクロック伝送線路であり、１０２はコマンド伝送線路であり、１０３はデータ伝送線路であり、１０４はターミネータであり、１０５＿０〜１０５＿２はＰＬＬ制御信号線であり、１０６はＤＩＭＭ情報バスである。
第１図において、クロック伝送路１０１、コマンド伝送路１０２、データ伝送路１０３の各伝送路は、各メモリチップ１３０に入力され、その後各メモリチップ１３０から出力されている。このように接続することで、メモリコントローラ１１０と直後のメモリチップ１３０とを接続するクロック伝送線路１０１とコマンド伝送線路１０２を除き、対応するもの同士においてすべて１対１の接続となっている。それにより、各伝送線路のタイミング条件が単純化され、さらに素子数の変化による伝送線路の条件変化も起こらず、伝送線路中で信号が反射を起こすことも防ぐことができる。
この時、システムクロックをデイジーチェーン接続しないとすれば、クロック−データ間のタイミングをチップ内で調整するか、もしくは最悪の場合でもデータ転送ができるように規格化しなければならない。本発明では、システムクロックまで含めてデイジーチェーン接続を行っており、すべて２つの素子間のタイミングとして定義される。また信号の伝送方向も一方のみであり、従来のシェアードバスのように双方向通信を行う場合と比較して読み出し／書き込みの切り替えを行う必要のないぶんタイミング条件等が緩和される。
ここで、従来のシェアードバス接続と、本発明のデイジーチェーン接続とを比較し、本発明の特徴を明らかにする。本願発明者において、先に検討されたシェアードバス接続におけるメモリコントローラとメモリの接続方法を第２７図に示し、本願発明に係るデイジーチェーン接続におけるメモリコントローラとメモリとの接続方法を第２図に示す。
第２図と第２７図において、それぞれ４個のメモリを接続した場合のデータ信号線の接続である。第２７図と第２図において、１１０＿ａ，１０＿ｂはそれぞれメモリコントローラ、１３０＿ａ，１３０＿ｂはメモリチップ、１０４はターミネータを示す。さらに、２０１は伝送線路の寄生容量、２０２はデータバスの分岐点（スタブ）、２０３は伝送線路における信号の反射、２０４，２０６は出力ドライバ、２０５，２０７は入力バッファを示す。
第２７図のシェアードバス接続の問題点として、まず駆動される負荷が大きくなるという点を挙げられる。シェアードバス接続では、双方向通信を行うため各メモリコントローラ１１０＿ａおよびメモリチップ１３０＿ａは、出力ドライバ２０４と入力バッファ２０５からなるトライステートバッファを持っている。第２７図の例において、各出力ドライバ２０４が駆動しなければならない総容量負荷Ｃａは、寄生容量２０１がＣｐ，出力ドライバ２０４の容量がＣｄａ，入力バッファの容量がＣｉａとすると、Ｃａ＝４×Ｃｐ＋５×Ｃｄａ＋５×Ｃｉａとなる。
この容量Ｃａの容量値は非常に大きく、大きな電流駆動力を必要とする。また通信速度が増すと、信号波形の立ち上がり時間／立下り時間を小さくしなければならないため、さらに大きな電流駆動力が必要となる。電流駆動力が大きくなると、出力ドライバ２０５のサイズが増し、Ｃｄａの値がさらに大きくなる傾向にある。そのため、高速な波形の立ち上がり／立下りを得ようとしても、電流駆動力の増加分が出力バッファ２０５の容量の増加により相殺され、思うように立ち上がり時間／立下り時間が小さくならない。
次に、信号波形の完全性（シグナルインテグリティ）の問題点を挙げる。シェアードバス接続では、１つのバス上に複数のチップが存在するため、バスに必ずスタブ２０２が存在する。バス配線に直接メモリを実装することで、見た目上スタブ２０２をなくすことは可能であるが、短いとは言ってもメモリのパッケージ自体がスタブ２０２となってしまうため、シェアードバスにスタブ２０２は必ず存在するといってよい。
このようなスタブ２０２が存在すると、信号が反射２０３を起こす。反射２０３の影響により信号波形が乱れ、信号伝達に支障をきたす。言うまでもないことであるが、通信速度が速くなればそれだけ反射の影響が大きくなる。バスに接続されている機器の個数が一定であるシステムの場合、線路インピーダンスを慎重に設計することで、信号反射を押さえることもできる。しかしメモリサブシステムの場合、ユーザーによるメモリの増設が可能であることという要求が強い。そのため、それぞれ固有の誤差を持つ様々な機器との接続を行う必要があり、信号反射を押さえることは困難である。
なお、バスのターミネータ１０４および、チップ入出力端子においても信号の反射は起こり得る。しかしチップ入出力端子では、スタブ２０２と比較してインピーダンス整合が取り易く、信号反射の影響は比較的少なくてすむ。これらの理由により、シェアードバス接続を用いて高速通信を行うことは非常に難しくなりつつある。
この発明に係るデイジーチェーン接続においては、第２図に示した通り、一つの出力ドライバ２０６が駆動しなければならない総負荷容量Ｃｂは、寄生容量２０１がＣｐ，出力ドライバ２０６の容量がＣｄｂ，入力バッファの容量がＣｉｂとすると、Ｃｂ＝Ｃｐ＋Ｃｄｂ＋Ｃｉｂとなる。
第２図の例において、Ｃｂの値はＣａと比較して、大体１／４程度になることは明らかである。更に、出力ドライバが駆動しなければならない総負荷容量が減少するためＣｄｂ＜Ｃｄａとなる。それにより、総負荷容量はさらに小さくすることができる。ゆえに、デイジーチェーン接続は、波形の立ち上がり／立下り時間を小さくすることが容易である。
さらに、デイジーチェーン接続では信号反射の問題も起きにくい。上でも述べた通り、チップの出力端子ではインピーダンス整合が取り易いため信号反射は起こりにくい。無論、チップの入力端子でもインピーダンス整合を取ることは可能である。さらに、インピーダンス整合を取らなくとも、出力端子側でインピーダンス整合が取れていれば、再び入力端子側に信号が反射してくることはないため、シグナルインテグリティを悪化させる要因とはならない。よって、デイジーチェーン接続ではシグナルインテグリティが良いと言うことができる。
このように、シェアードバス接続と比較してデイジーチェーン接続は高速通信を行うのに適した接続法式であると言える。またメモリ増設の容易さにおいても、シェアードバス接続では、バスに接続されたメモリの個数が増えるにしたがって、総負荷容量が大きくなる。またスタブが増えることで信号の反射が大きくなり、シグナルインテグリティが悪化する。一方、デイジーチェーン接続では、メモリの個数が増えても各信号線の条件は変化しないため、メモリ増設も容易である。
一般的なシステムでは、特にクロック信号は１つのチップから出力されたものを、他すべてのチップで共有するというアプローチをとることが多い。本発明におけるデイジーチェーンメモリバスシステムではクロック１０１まで、デイジーチェーン接続を行う。これは、タイミング条件の簡素化が目的である。すなわち、あらゆる信号には必ずタイミングのずれが存在するため、メモリサブシステム全体を規格化するに当たっては、このタイミングのずれも考慮に入れなければならない。
ここで、クロック供給と、コマンド，データの供給とを別系統とすると、クロック−データ，コマンド間のタイミングのずれを考慮する必要がある。このタイミングのずれは、ずれの大きさが動作中に大きく変化することも考慮に入れなければならない。このタイミング変化を許容できるようにするためには、コマンド，データの入力から出力までの遅延に、あらかじめマージンをとっておくか、もしくは、ヘッダやフッタにウェイトを挿入したり削除したりしてタイミング調整をできるようにする必要がある。
入力から出力への遅延にマージンを持たせておく方法は、有効であるが、マージン分の遅延が直列に接続されるメモリチップ１３０の個数分積み上がる。これにより、メモリコントローラが読み出し命令を発行した後、データを受け取るまでの遅延時間が大きくなってしまうという問題がある。また、上記ウェイトの挿入／削除はあらかじめ削除可能なウェイトを挿入しておく必要があり、バス効率が悪化する。上記ウェイトを削除したスロット（ｓｌｏｔ）から更に後ろのチップでウェイトを削除することを防ぐ必要があるなど、チップの構成が複雑化する。このようにクロックを別に供給するのは、様々な問題点があり実用的ではない。よって本発明ではクロック１０１も含めて、デイジーチェーン接続する。
第３図には、この発明に係るメモリチップ１３０およびその信号線が示されている。同図は、デイジーチェーンメモリバスシステムの信号の内容を説明するものである。各信号線におけるメモリチップ１３０への入出力を明確にするため、それぞれ、入力クロック１０１＿ｉ，出力クロック１０１＿ｏ，入力コマンド１０２＿ｉ，出力コマンド１０２＿ｏ，入力データ１０３＿ｉ，出力データ１０３＿ｏとする。特に制限するものではないが、この説明では、各クロック１０１は１ｂｉｔ，コマンド１０２は８ｂｉｔ，データ１０３は６ｂｉｔとする。
第４図には、この発明に係るメモリチップ１３０の動作の一例を説明するための波形図が示されている。メモリチップ１３０のすべての信号はスロットという単位で区切られる。クロック１０１は各チップにシステムクロックを供給するという役割のほか、上記のスロットを区切る役割をになう。コマンド１０２とデータ１０３は、スロット毎にＣ０〜Ｃ７及びＤ０〜Ｄ７のような８ワード（ｗｏｒｄ）と、その前後に挿入されたヘッダ（Ｈ：Ｈｅａｄｅｒ）とフッタ（Ｆ：Ｆｏｏｔｅｒ）とが含まれる。
第４図に示した通り、メモリチップに入力されたクロック１０１＿ｉ，コマンド１０２＿ｉ，データ１０３＿ｉはそれぞれ入力タイミングがずれている可能性がある。各チップ内部でそれぞれのタイミングを調整して外部へ出力する。そのことにより、デイジーチェーンメモリバスシステムのタイミング条件は、２チップ間（出力チップ−入力チップ）のみに限定される。
第４図及び第５図には、この発明に係るメモリチップ１３０間のコマンド／データの伝送方法の概略を説明するための波形図が示されている。言うまでもないことであるが、メモリチップ１３０へは、データのリード／ライト（読み出し／書き込み）を行う必要がある。コマンド伝送路１０２には、リード命令、ライト命令のほか、行アドレス，列アドレス，バンク指定等の内容が含まれている。これらコマンド情報は、メモリコントローラ１１０から、メモリチップ１３０へと一方的に送信される情報であるため、メモリチップ１３０側は受信するのみであるが、データはメモリチップ１３０から送信する場合がある。
データの送受信は、スロット（ｓｌｏｔ）単位で行われる。メモリコントローラ１１０からリード命令が発行されたとき、第５図の５０１に示した通り、メモリチップ１３０はスロットのデータ部をリードデータへ置き換える。すなわち、該スロットにおける入力データ１０３＿ｉはＤＡＴ１で示されるデータ集合であるのに対し、該スロットにおける出力データ１０３＿ｏはメモリ１０３からリードされたデータＲ０で示されるデータ集合に置き換わる。ライト動作時は、ライト命令によって示されたスロットから、データを書き込む（第５図の５０２参照）。これにより、メモリチップ１３０におけるデータのリード／ライトが可能になる。
なお、入力コマンド１０２＿ｉは、変更を加えず、出力コマンド１０２＿ｏへ出力される。リードデータへと置き換わらなかった入力データ１０３＿ｉも同じく出力データ１０３＿ｏへと出力される。なお、命令体系の詳細な説明については後述する。
第６図には、この発明に係るメモリチップの一実施例のブロック図が示されている。第６図において、６０１はメモリ内蔵のＰＬＬ回路であり、６０２はコマンドサンプリング回路であり、６０３はコマンドタイミング検出回路であり、６０４はコマンドラッチであり、６０５はデータサンプリング回路であり、６０６はデータタイミング検出回路であり、６０７はデータラッチであり、６０８はデータデコーダであり、６０９はデータエンコーダであり、６１０はコマンドデコーダであり、６１１はマルチプレクサであり、６１２はクロック生成回路であり、６１３はコマンドパラレル−シリアル変換回路であり、６１４はデータパラレル−シリアル変換回路であり、６１５（６１５＿０〜６１５＿７）はバンクＦＩＦＯであり、６１６（６１６＿０〜６１６＿７）はメモリアレイであり、６１７（６１７＿０〜６１７＿７）はバンクであり、６１８はモードレジスタであり、６２０はクロック選択回路である。
入力クロック１０１＿ｉはＰＬＬ回路６０１へ入力され、第７図（Ａ）で示されるような３０相クロック６５１（６５１［０］〜６５１［２９］）を生成する。生成された３０相クロック６５１によって、入力コマンド１０２＿ｉをコマンドサンプリング回路６０２によりサンプリングする。この時、入力コマンド１０２＿ｉと各クロックの位相は第７図（Ｂ）のような関係となる。第７図（Ｂ）において、０〜２９の数字はそれぞれクロック６５１［０］〜６５１［２９］の位相に対応している。
すなわち、各コマンドは、それぞれ位相がずれた３つのクロックでサンプリングし、合計２４０個のコマンドサンプル６５１（６５１［２９：０］［７：０］）を得る。ここで［２９：０］はサンプリングクロックを、［７：０］は１０２＿ｉのｂｉｔ選択を示す。コマンドサンプルを６５１［３ｎ］［７：０］，６５１［３ｎ＋１］［７：０］，６５１［３ｎ＋２］［７：０］の３つのグループに分ける。
すると、それぞれが各コマンドの前半，中央，後半のサンプルとなる。第７図（Ｂ）の例では、６５１［３ｎ］［７：０］が前半，６５１［３ｎ＋１］［７：０］が中央，６５１［３ｎ＋２］［７：０］が後半のサンプルである。ただし、前半，後半のサンプルはクロック１０１やコマンド１０２のジッタなどの影響により、安定したサンプリング結果が得られないため、中央のサンプルを選択し使用することが望ましい。
そこで、コマンドタイミング検出回路６０３が３つのグループのうち、どのグループが中央のサンプルであるかを判定する。さらに、コマンドラッチ６０４でヘッダとフッタを判定し、ヘッダとフッタを除いた符号化コマンド６５３（６５３［７：０］［７：０］）をラッチする。６５３［７：０］［７：０］において、前者の［７：０］は、前記第４図におけるＣ０〜Ｃ７を示し、後者の［７：０］は入力コマンド１０２＿ｉのｂｉｔ選択を示す。すなわちＣ０＝６５３［０］［７：０］である。
データの入力も、ほぼ同じ手順で行う。３０相クロック６５１で入力データ１０３＿ｉをデータサンプリング回路６０５でサンプリングし、１８０個のデータサンプル６５４（６５４［２９：０］［５：０］）を得る。データタイミング検出回路６０６で、中央のサンプルを判定する。さらにデータラッチ６０７でヘッダとフッタを判定し、符号化データ６５６（６５６［７：０］［５：０］）をラッチする。６５６［７：０］［５：０］において、［７：０］は第４図におけるＤ０〜Ｄ７を示し、［５：０］は入力データ１０３＿ｉのｂｉｔ選択を示す。すなわちＤ０＝６５６［０］［５：０］である。中央のサンプル及び、ヘッダとフッタの判定法は後述する。
特に制限するものではないが、本発明におけるデイジーチェーンメモリバスシステムでは高速データ通信を行うため、コマンド伝送線路１０２，データ伝送線路１０３上のコマンド／データは通信が容易になるように符号化されている。すなわち、これが第６図の符号化コマンド６５３であり、符号化データ６５６である。よって、入力されたデータをメモリアレイ６１６へ書き込む前に、符号化コマンド及び符号化データを復号しなければならない。
符号化コマンド６５３はコマンドデコーダ６１０で復号され、符号化データ６５６はデータデコーダ６０８で復号される。またメモリアレイ６１６から読み出されたデータは、データエンコーダ６０９で符号化される。入力されたコマンドに従って、各バンク６１７へデータを書き込んだりデータを読み出したりする。また、コマンドにはメモリチップ１３０の内部動作等を規定するモードレジスタセットがあり、その場合モードレジスタ６１８の内容を書きかえる。
また、クロック選択回路６２０は、クロック／コマンド／データ出力用に３０相クロック６５１から１０相クロック６６２を選択する。符号化コマンド６５３は、コマンドパラレル−シリアル変換回路６１３で１０相クロック６６２を用いてタイミングを調整して出力コマンド１０２＿ｏとして出力される。符号化データ６５６もしくは符号化読み出しデータ６６０は、マルチプレクサ６１１で選択された後、データパラレル−シリアル変換回路６１４で１０相クロック６６２を用いてタイミングを調整して出力データ１０３＿ｏとして出力される。
マルチプレクサ６１１は、読み出し動作時にメモリチップ１３０からデータを出力する場合、符号化データ６５６の代わりに、符号化読み出しデータ６６０を選択する。出力クロック１０１＿ｏは、クロックジェネレータ６１２で１０相クロック６６２を用いて生成される。この時、クロックジェネレータ６１２，コマンドパラレル−シリアル変換回路６１３，データパラレル−シリアル変換回路６１４の遅延時間を同じになるように設計すれば、出力クロック１０１＿ｏ、出力コマンド１０２＿ｏ、出力データ１０３＿ｏの位相が揃う。
次に、メモリチップ１３０における実際の読みだし／書き込み動作について説明する。第８図には、第６図のバンク６１７内部のブロック図が示されている。バンク６１７は大きく分けてＦＩＦＯ（ファーストイン−ファーストアウトメモリ）６１５とメモリアレイ６１６とに分かれる。このうち、メモリアレイ６１６は基本的なＤＲＡＭと同様な構成をしている。同図において、９０１は列アドレスＦＩＦＯであり、９０２はライトフラグＦＩＦＯであり、９０３はライトデータＦＩＦＯであり、９０４はリードデータＦＩＦＯであり、９０５は行アドレスデコーダであり、９０６は列アドレスデコーダであり、９０７はメモリセルであり、９０８はセンスアンプであり、９０９はメインアンプであり、９１０はライトバッファである。
メモリチップ１３０における読み出し動作を説明する。第９図に読み出し時の各信号の波形図が示されている。ここでは、メモリチップ１３０のバンク６１７＿４に対するリード命令が行われる。第９図のスロット０のコマンドＣＯＭ０において、バンク６１７＿４の行アドレス（ＲＯＷ０）指定、バンク６１７＿４の列アドレス（ＣＯＬ０）指定、リード命令Ｒ（ＷＦ０＝０）が行われる。次に、第９図のスロット１のコマンドＣＯＭ１において、バンク６１７＿４の列アドレス（ＣＯＬ１）指定、リード命令Ｒ（ＷＦ１＝０）が行われる。
入力コマンド１０２＿ｉは、コマンドデコーダ６１０で復号され、コマンド６５９として、バンク６１７＿４へ入力される。バンク６１７＿４中で、コマンド６５９は行アドレス９２０（ＲＯＷ０）、列アドレス（ＣＯＬ０）、ライトフラグへ（ＷＦ０）と分離される。第９図のコマンドＣＯＭ０では、行アドレスがバンク６１７＿４を指定しているため、行アドレスデコーダ９０５が直ちに動作し、選択されたワード線９２３を立ち上げる。
列アドレスもバンク６１７＿４を指定しているため、列アドレスＦＩＦＯ９０１へ格納され、ライトフラグＷＦ０はライトフラグＦＩＦＯ９０２へと格納される。この段階では列アドレスＦＩＦＯ９０１には列アドレスＣＯＬ０しか格納されていないため、列アドレスデコーダ９０６は列アドレスＣＯＬ０をデコードする。そして、次の命令ＣＯＭ１で指定された列アドレスＣＯＬ１は列アドレスＦＩＦＯ９０１へ入力され、ライトフラグＷＦ１はライトフラグＦＩＦＯ９０２へ入力される。
選択されたワード線９２３に接続されているメモリセル９０７はデータ線９２４とチャージシェアリングを起こし、データ線９２４に生じた微小なレベル変化は、センスアンプ９０８で増幅され、メモリセルの内容が読み出される。列アドレスＣＯＬ０のデコード結果にしたがって、メモリセル９０７の内容はメインＩ／Ｏ線９２５へ出力される。
ここで、ライトフラグＦＩＦＯ９０２から出力されているフラグはリード指定であるため、メインアンプ９０９はメインＩ／Ｏ線９２５の内容を増幅し、リードデータＦＩＦＯ９０４へ格納する。この段階で、列アドレスＦＩＦＯ９０１は列アドレスＣＯＬ０の内容を破棄し、次の列アドレスＣＯＬ１を列アドレスデコーダ９０６へ出力する。また、ライトフラグＦＩＦＯ９０２も同様にＷＦ０を破棄し、次のＷＦ１を出力する。列アドレスＣＯＬ１がデコードされ、メインＩ／Ｏ線にデータが出力されたところで、ＷＦ１がまたリード指定であるため、メインアンプ９０９はメインＩ／Ｏ線９２５の内容を増幅し、リードデータＦＩＦＯ９０４へ格納する。
第９図において、コマンドＣＯＭ０が指定されてから、リードデータＦＩＦＯ９０４にデータが格納されるまでの時間は、行アドレスが指定されてからｔＲＡＣ及び列アドレスが指定されてからｔＣＡＣというスペックで規定される。第９図の例では、行アドレスと列アドレスとを同時に指定したため、列アドレスを指定した後、ｔＲＡＣ後にリードデータＦＩＦＯにデータが格納される。
その後、第９図のスロット２のコマンドＣＯＭ２で、バンク６１７＿４に対するＦＩＦＯ出力命令（ＤＯＵＴ）が行われる。すると、メモリチップ１３０はＦＩＦＯ出力命令が行われた次のスロット３である、第９図のスロット３で、バンク６１７＿４のＲｅａｄデータＦＩＦＯ９０４の内容を出力する。第９図をみてわかる通り、スロット３出力時にはＲ０のデータがリードデータＦＩＦＯ９０４の出力に現れているため、第９図のスロット３における出力データ１０３＿ｏの内容はＲ０となる。
更に、第９図のスロット３のコマンドＣＯＭ３においてもまた、バンク６１７＿４に対するＦＩＦＯ出力命令（ＤＯＵＴ）が行われる。バンク６１７＿４のリードデータＦＩＦＯ９０４からは、第９図のスロット３の出力時にＲ０が出力されて、第９図のスロット４の出力時にはＲ１が出力されている。よって、次のスロットである第９図のスロット４の出力データ１０３＿ｏの内容は、Ｒ１に置き換わっている。
次に、書き込み動作の説明する。第１０図には、書き込み動作時の各信号の波形図を示す。ここでも書き込み動作と同様にバンク６１７＿４に対する書き込み動作が行われるとする。まず、第１０図のスロット０におけるコマンドＣＯＭ０で、バンク６１７＿４に対する行アドレス（ＲＯＷ０）指定、バンク６１７＿４に対する列アドレス（ＣＯＬ０）指定、ライト命令（ＷＦ０＝１）が行われる。
そして、コマンドＣＯＭ０のライト命令に対応するデータは、第１０図のスロット１のデータＤＡＴ１として入力される。また、第１０図のスロット１のコマンドＣ○Ｍ１では、バンク６１７＿４の列アドレス（ＣＯＬ１）指定、ライト命令（ＷＦ１＝１）が行われる。同様に第１０図のコマンドＣＯＭ１のライト命令に対応するデータは、第１０図のスロット２のデータＤＡＴ２として入力される。
読み出し動作時と同様、入力コマンド１０２＿ｉは、コマンドデコーダ６１０で復号され、コマンド６５９としてバンク６１７＿４へ入力される。バンク６１７＿４中で、コマンド６５９は行アドレス９２０（ＲＯＷ０），列アドレス（ＣＯＬ０）、ライトフラグへ（ＷＦ０）と分離される。
第１０図のコマンドＣＯＭ０では、行アドレスがバンク６１７＿４を指定しているため、行アドレスデコーダ９０５が直ちに動作し、選択されたワード線９２３を立ち上げる。また列アドレスもバンク６１７＿４を指定しているため、列アドレスＦＩＦＯ９０１へ格納され、ライトフラグＷＦ０はライトフラグＦＩＦＯ９０２へと格納される。
この段階では、列アドレスＦＩＦＯ９０１には列アドレスＣＯＬ０しか格納されていないため、列アドレスデコーダ９０６はＣＯＬ０をデコードする。そして、次のコマンドＣＯＭ１で指定された行アドレスＣＯＬ１は、列アドレスＦＩＦＯ９０１へ入力され、ライトフラグＷＦ１はライトフラグＦＩＦＯ９０２へ入力される。そして遅れて入力された第１０図のＤＡＴ１は、バンク６１７＿４のライトデータＦＩＦＯ９０３に格納され、次のＤＡＴ２もバンク６１７＿４のライトデータＦＩＦＯ９０３に格納される。
バンク６１７＿４において、行アドレスＲＯＷ０及び列アドレスＣＯＬ０のデコードが終了する。ここで、ライトフラグＦＩＦＯ９０２の出力は、ライト指定のため、ライトバッファ９１０が動作し、ライトデータＦＩＦＯ９０３から出力されているＤＡＴ１を、メモリセル９０７へ書き込む。メモリセル９０７への書き込みが終了した直後に、ライトデータＦＩＦＯ９０３はＤＡＴ１を破棄し、ライトフラグＦＩＦＯ９０２はＷＦ０を破棄し、列アドレスＦＩＦＯ９０１はＣＯＬ０を破棄する。
次に、列アドレスＦＩＦＯ９０１から出力される列アドレスＣＯＬ１が、列アドレスデコーダ９０６でデコードされる。そして、ライトフラグＦＩＦＯ９０２から出力されているＷＦ１は、ライト指定（ＷＦ１＝１）のため、メモリセル９０７への書き込み準備が出来次第、ライトデータＦＩＦＯ９０３からのデータＤＡＴ２をメモリセル９０７へと書き込む。第１０図では説明を簡略化するために、同じメモリセル９０７へと書き込むように図示してあるが、もちろん列アドレスＣＯＬ０とＣＯＬ１が別のアドレスを指示している場合、別のメモリセルへと書き込まれる。
メモリチップ１３０への読み出し／書き込み動作は以上のような手順で行われる。ここでは、行アドレス指定は１回のみ行ったが、別の行アドレスを指定する場合、該バンクにプリチャージ命令を発行した後行アドレスを指定することになる。または、プリチャージ命令を発行せずに行アドレスを指定することも可能だが、その場合はメモリチップ１３０内部で自動プリチャージがかかる分だけ、リードデータＦＩＦＯ９０４へのデータ出力や書き込み終了までの時間がかかる。
ここまでは、単一バンクへのアクセス手順を示したが、本実施例におけるメモリチップ１３０は８バンク構成になっており、各バンクは独立して動作できる。よって、あるバンクがアクティブであっても、別バンクがプリチャージしていれば、行アドレスを指定することができる（バンクインターリーブが可能）。バンクインターリーブを可能にすることで、バスの使用効率を上げることができる。
列アドレス指定及びデータ入出力においてＦＩＦＯを使用する理由は、ＤＲＡＭのアクセスの遅さに起因する。一般的に、ＤＲＡＭへ行アドレスを指定した後、列アドレスを指定し、データが出力されるまでには数十ｎｓの時間がかかる。この値は、半導体プロセスルールの進歩に伴って改善されるが、論理素子の動作速度の改善と比較して、その改善速度は非常にゆっくりしたものであることが知られている。故に、例えばマイクロプロセッサのような論理素子とＤＲＡＭとを組み合わせたシステムが、半導体プロセスルールの進歩に伴って進歩した場合、マイクロプロセッサの進歩にＤＲＡＭの進歩が追いつかず、システム全体の性能をＤＲＡＭが制限してしまうという問題がある。
そのため、例えばＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）では、バンクインターリーブの他に、ＣＡＳレイテンシィ（Ｌａｔｅｎｃｙ）ＣＬ指定によるバス制御が取り入れられている。すなわち、クロック信号に同期して列アドレスが指定されたのち、ＣＬ値で指定されたサイクル後にデータ出力が開始されるという方法である。これにより、行アドレスを変更せず列アドレスのみを変更して行くページモードアクセス時に、前の列アドレスのデータ出力が終了する前に、次の列アドレスを指定することができ、バス使用効率が改善される。
しかしこの方式では、ＣＬ値がすべてのメモリ素子でそろっていないとバスのコンフリクトが起こりやすいため、すべてのメモリ素子でＣＬ値を揃えることが一般的である。これは複数の性能のメモリを混載させた場合、最も性能が劣るメモリ素子に全体の性能が足を引っ張られることを示している。また、一般的なＳＤＲＡＭで使用されているクロック周波数は６６〜１３３ＭＨｚ程度であるため、ＣＬ値は２〜３と比較的小さな値である。しかし今後データレートがあがるに従い、ＣＬ値は増えていく傾向にある。ＣＬ値が増えていくとメモリコントローラ側の制御が煩雑になってしまう。
それに対して、本発明におけるＦＩＦＯを用いる方法では、まず列アドレス指定がきわめて自由に行われるということに特徴がある。列アドレスは行アドレスの処理が終わるまで列アドレスＦＩＦＯ９０１に格納されているため、メモリコントローラ１１０側では、行アドレス処理を考慮する必要が無い。さらに、ＦＩＦＯであるため、次の列アドレスも自由に投入することができる。
さらに、データ出力にもＦＩＦＯを用いるためＣＬ制御を行う必要はなく、データがＦＩＦＯに格納されるまでの時間のみを考慮に入れれば良い。また、ＣＬ制御をなくすことで性能が違うメモリを混載しても、高速なメモリは高速に読み出すことができる。データがＦＩＦＯに格納されるタイミングが一緒になる可能性はあるが、データ出力命令は１コマンドにつき１つであるため、メモリコントローラ１１０はコンフリクトの可能性を考慮する必要性が無い。
さらに、読み出し動作においてはＯＵＴ命令の１スロット後にデータが出力され、書き込み動作においては、ライト命令の１スロット後に、データが入力される。このようにすることにより、メモリコントローラ１１０は読み出しと書き込みのコンフリクトを容易に回避することができる。つまり、ライト命令とＯＵＴ命令を同時に発行しなければ、読み出し／書き込みのデータがコンフリクトを起こすことはない。
ただし、前記第１図において、データの流れる方向から見て上流のメモリチップ１３０にライト命令を発行し、下流のメモリチップ１３０にＯＵＴ命令を発行してもデータはコンフリクトを起こさない。逆に、上流のメモリチップ１３０にＯＵＴ命令を発行し、下流のメモリチップ１３０にライト命令を発行すると、メモリコントローラ１１０を介さずに、上流のメモリチップ１３０から出力されたデータが、下流のメモリチップ１３０へ転送される。これらの特性をうまく使用することで、バス効率の更なる向上をねらうことができる。
このように、列アドレス指定およびデータ入出力においてＦＩＦＯを使用することで、メモリコントローラ１１０はデータリードが必要になった時点で自由に列アドレスを投入し、ＦＩＦＯにデータの準備が出来次第、ＦＩＦＯ出力命令を発行すればよい。つまり、リード命令はメモリセルからＦＩＦＯまでのデータ読み出しを指示し、ＦＩＦＯ出力命令がデータ出力命令を指示するという階層的な読み出しとなる。つまり、第１読み出し動作ではメモリセルからＦＩＦＯまでの動作が実施され、第２読み出し動作ではＦＩＦＯから出力端子に出力されるまでの動作が実施される。また、データライトが必要になった時点で自由に列アドレスを投入し、直後にデータを出力すれば良い。このように本発明におけるデイジーチェーンメモリバスシステムでは、制御が簡潔でバス効率が高いシステムを構成することができる。
次に、コマンドの体系を説明する。特に制限するわけではないが例として、第３図を見てわかる通りコマンド伝送路１０２のバス幅は８ｂｉｔである。ただし、コマンドには伝送を容易にする符号化が行われているため実際には６ｂｉｔ分の情報を伝えることができる。また第４図を見てわかる通り、１つのスロット当たりの８ワードの伝送が行われるため、１つのスロット当たりのコマンドの情報量は６×８＝４８ｂｉｔである。特に制限するわけではないが、４８ｂｉｔの内訳は以下の通りである。
行アドレスチップセレクト（ＣＳＲ）            ：    ３ｂｉｔ
列アドレスチップセレクト（ＣＳＣ）            ：    ３ｂｉｔ
出力命令チップセレクト（ＣＳＯ）              ：    ３ｂｉｔ
行アドレスバンクセレクト（ＢＳＲ）            ：    ３ｂｉｔ
列アドレスバンクセレクト（ＢＳＣ）            ：    ３ｂｉｔ
出力命令バンクセレクト（ＢＳＯ）              ：    ３ｂｉｔ
命令（ＲＡＳ，ＣＡＳ，ＯＵＴ，ＷＲＩ、ＰＲＥ）：    ５ｂｉｔ
行アドレス（ＲＯＷ）                          ：  １２ｂｉｔ
列アドレス（ＣＯＬ）                          ：  １２ｂｉｔ
予約（Ｒｅｓｅｒｖｅｄ）                      ：    １ｂｉｔ
合計                                          ：  ４８ｂｉｔ
行アドレスＲＯＷ、列アドレスＣＯＬ、出力命令ＯＵＴは、それぞれまったく独立に命令を発行できるため、チップセレクトとバンクセレクトはすべて専用のｂｉｔが用意されている。命令は行アドレス指定（ＲＡＳ）、列アドレス指定（ＣＡＳ）、出力命令（ＯＵＴ）、ライト指定（ＷＲＩ）、プリチャージ（ＰＲＥ）にそれぞれ１ｂｉｔずつ割り当てる。
ＲＡＳ＝１の場合、行アドレスチップセレクトＣＳＲで選択されたメモリチップ１３０における行アドレスバンクセレクトＢＳＲで指定されたバンクの行アドレス（ＲＯＷ）が指定される。列アドレス（ＣＯＬ）についても同様である。ＯＵＴ＝１の場合、出力命令チップセレクトＣＳＯで選択されたメモリチップ１３０における出力命令バンクセレクトＢＳＯで指定されたバンクのリードデータＦＩＦＯ９０４からデータが出力される。
ライト指定（ＷＲＩ）は列アドレス指定（ＣＡＳ）と組み合わせて書き込み動作であることを示す。プリチャージには指定バンクプリチャージと、全バンクプリチャージの２種類の命令が用意される。さらに、ＲＡＳとＢＳＲの組み合わせで、オートリフレッシュ，セルフリフレッシュ，モードレジスタセットが指定される。
ＲＡＳ＝１，ＰＲＥ＝１，ＢＳＲ＝任意        ：  指定バンクプリチャージ
ＲＡＳ＝０，ＰＲＥ＝１，ＢＳＲ＝３’ｂ０００：  全バンクプリチャージ
ＲＡＳ＝０，ＰＲＥ＝１，ＢＳＲ＝３’ｂ００１：  オートリフレッシュ
ＲＡＳ＝０，ＰＲＥ＝１，ＢＳＲ＝３’ｂ０１０：  セルフリフレッシュ
ＲＡＳ＝０，ＰＲＥ＝１，ＢＳＲ＝３’ｂ１００：  モードレジスタセット
上記いずれの場合も、チップセレクトはＣＳＲで指定する。指定バンクプリチャージの場合は、ＢＳＲで指定されたバンクをプリチャージする。リードデータＦＩＦＯ９０４の内容は特に操作しない。リード／ライト命令の処理が完了していない場合は、リード／ライト処理を優先する。故に、列アドレスＦＩＦＯ９０１、ライトフラグＦＩＦＯ９０２、ライトデータＦＩＦＯ９０３の内容はプリチャージ時には存在しない。
全バンクプリチャージの場合、ＣＳＲで指定されたメモリチップ１３０の全バンクをプリチャージする。この時、リードデータＦＩＦＯ９０４の内容も同時にクリアする。リード／ライト命令の処理が完了していない場合は、リード／ライト処理を優先する。ただし全バンクプリチャージが発行された時点で、リードデータＦＩＦＯ９０４の内容は破棄されることになるため、リード処理は無視しても問題ない。全バンクプリチャージ命令は、主にスタートアップ時にメモリチップ１３０の動作を初期化するために使用する。
オートリフレッシュは、メモリチップ１３０内部のリフレッシュカウンタ（図示せず）で自動的に生成される列アドレスのリフレッシュを行う命令である。この場合、全バンク同時にリフレッシュを行う。リード／ライト命令の処理が完了していない場合は、リード／ライト処理を優先する。リードデータＦＩＦＯ９０４の内容は保持する。
セルフリフレッシュは、ＰＬＬ回路６０１、入出力回路、各デコーダ／エンコーダ等を停止し、メモリチップ１３０内部のリフレッシュタイマ及びリフレッシュカウンタで自動的にメモリ内容を保持するという命令である。デイジーチェーン接続を行っているため、基本的にデイジーチェーン接続の下流側からセルフリフレッシュ命令を与えないとバス動作が不定になる。セルフリフレッシュからの復帰はスタートアップ手順と同様である。
モードレジスタセットは、主にスタートアップ時にメモリチップ１３０にチップセレクト番号を割り振ったり、ドライバ回路の電流駆動力を指定したりするためにモードレジスタ６１８の内容を書きかえる。レジスタの内容は行アドレスＲＯＷで指定する。
特に制限するわけではないが、本実施例におけるデイジーチェーンメモリバスシステムの起動手順（スタートアップ）は以下のようなものが考えられる。スタートアップについて第１図をもとに説明する。デイジーチェーンメモリバスシステムは、各メモリがＰＬＬ回路６０１を内蔵しているため、一般的なＳＤＲＡＭより起動手順が複雑になる。
（１）メモリコントローラ１１０を起動し、メモリコントローラ１１０から出力されるクロック信号１０１が安定する。この時各ＰＬＬ制御信号１０５＿０〜１０５＿２は１を出力している。そして、ＤＩＭＭ情報バス１０６を通して、各ＤＩＭＭの情報をＤＩＭＭ情報ＲＯＭから取得する。
（２）ＰＬＬ制御信号１０５＿０を１→０へ立ち下げる。これによりＤＩＭＭ１２０＿０のメモリチップ１３０のモードレジスタ６１８がリセットされ、ＰＬＬ回路６０１がロックを開始する。なお、リセット直後のモードレジスタ６１８の内容は、チップ番号＝３’ｂ１１１（最下流），アドレス出力バッファ電流駆動力＝最大，データ出力バッファ電流駆動力＝最大である。
（３）ＤＩＭＭ１２０＿０のメモリチップ１３０中のＰＬＬ回路６０１がロックするまで待機した後、ＰＬＬ制御信号１０５＿０を１に戻す。その後、全バンクリフレッシュ命令を行い（ＣＳＲ＝３’ｂ１１１）、次にモードレジスタ６１８設定を行う。モードレジスタ６１８の内容はチップ番号＝３’ｂ０００（最上流），アドレス出力バッファ電流駆動力＝適宜、データ出力バッファ電流駆動力＝適宜である。出力バッファの電流駆動力は、マザーボードの設計に依存するため適宜とする。
（４）ＰＬＬ制御信号１０５＿１を１→０へ立ち下げる。これによりＤＩＭＭ１２０＿１のメモリチップ１３０のモードレジスタ６１８がリセットされ、ＰＬＬ回路６０１がロックを開始する。ＤＩＭＭ１２０＿１のメモリチップ１３０の動作は上記と同様である。
（５）ＤＩＭＭ１２０＿０のメモリチップ１３０中のＰＬＬ回路６０１がロックするまで待機した後、ＰＬＬ制御信号１０５＿１を１に戻す。その後、全バンクリフレッシュ命令を行い（ＣＳＲ＝３’ｂ１１１）、次にモードレジスタ設定を行う。モードレジスタ６１８の内容はチップ番号＝３’ｂ００１，アドレス出力バッファ電流駆動力＝適宜、データ出力バッファ電流駆動力＝適宜である。
（６）ＰＬＬ制御信号１０５＿２を１→０へ立ち下げる。これによりＤＩＭＭ１２０＿２のメモリチップ１３０のモードレジスタ６１８がリセットされ、ＰＬＬ回路６０１がロックを開始する。ＤＩＭＭ１２０＿２のメモリチップ１３０の動作は上記と同様である。
（７）ＤＩＭＭ１２０＿２のメモリチップ１３０中のＰＬＬ回路６０１がロックするまで待機した後、ＰＬＬ制御信号１０５＿２を１に戻す。その後、全バンクリフレッシュ命令を行い（ＣＳＲ＝３’ｂ１１１）、次にモードレジスタ設定を行う。モードレジスタの内容はチップ番号＝３’ｂ０１０、アドレス出力バッファ電流駆動力＝ゼロ（停止）、データ出力バッファ電流駆動力＝適宜である。最下流のアドレス出力は、ターミネータ１０４で終端されるため出力バッファが動作する必要はない。
（８）前記のように、全メモリチップ１３０が起動したら、リードデータをメモリコントローラ１１０が正しく受け取れるように、メモリバス全体のレイテンシを計測する。本発明におけるデイジーチェーンメモリバスシステムは、メモリチップ１３０内部のレイテンシのばらつきを許容できるため、ＯＵＴ命令が発行されてから、実際にデータをメモリコントローラ１１０で受け取るまでのレイテンシを測定する必要がある。これは、単純なテストパターンを使用するだけで良い。第１図の例ではデータ伝送路１０３は４系統用意してあるため、４系統を個別にレイテンシ制御を行う。
下流のＤＩＭＭ１２０上のメモリチップ１３０の入力クロック１０１＿ｉは、上流のＤＩＭＭ１２０上のメモリチップ１３０から出力される出力クロック１０１＿ｏであるため、上流のメモリチップ１３０に搭載されたＰＬＬ回路６０１が安定してから、下流のメモリチップ１３０に搭載されたＰＬＬ回路６０１を起動する。
また、モードレジスタリセット直後は、すべてのメモリチップ１３０がチップ番号＝３’ｂ１１１に設定されているため、上流のＤＩＭＭ１２０上のメモリチップ１３０がモードレジスタ設定を終えるまで、下流のＤＩＭＭ１２０上のメモリチップ１３０のリセットを解除してはならない。もし解除すれば、上流と下流のメモリが同じチップ番号（＝３’ｂ１１１）となり、チップセレクトのコンフリクトが引き起こされる。
前記の例ではチップセレクトを上流から順に設定する方式を示したが、チップセレクトのコンフリクトを回避するために、メモリチップ１３０内部で下流に出力するチップセレクト信号の内容をデクリメントすると言う方法も考えられる。すなわち、メモリチップ１３０自体は各チップセレクト信号＝３’ｂ０００の場合、自らが選択されたと判断し、モードセレクト信号に頼らない方法である。
例えばメモリコントローラ１１０がＣＳＲ＝３’ｂ００１を出力したとする。最上流のメモリチップ１３０は、ＣＳＲ＝３’ｂ００１を判定し、自分への命令ではないと判断する。そして、下流のメモリチップへ出力する前にＣＳＲ＝ＣＳＲ−１という演算を行い、ＣＳＲ＝３’ｂ０００を下流のメモリチップに出力する。
２番目のメモリチップ１３０はＣＳＲ＝３’ｂ０００を判定し、自分への命令であると判断し処理を行う。その後下流のメモリチップへ出力する前にＣＳＲ＝ＣＳＲ−１という演算を行い、ＣＳＲ＝３’ｂ１１１を下流のメモリチップに出力する。このようにすることにより、チップセレクト信号のモードレジスタ設定をしなくても、コンフリクトを起こすことはなくなる。
このように、ＤＩＭＭ１２０を上流から順に、ＰＬＬロック及びモードレジスタセットすることで、すべてのメモリチップ１３０に適切な設定を行うことができる。なお、ＤＩＭＭ１２０には表面だけにメモリチップ１３０が存在するシングルサイドＤＩＭＭと、両面にメモリチップ１３０が存在するデュアルサイドＤＩＭＭがある。第１図の実施例では説明の簡略化のため、シングルサイドＤＩＭＭで説明を行ったが、デュアルサイドＤＩＭＭの場合も上流側から設定する。また、各チップセレクト信号（ＣＳＲ，ＣＳＣ，ＣＳＯ）及びチップ番号は３ｂｉｔであるので、シングルサイドＤＩＭＭで８枚、デュアルサイドＤＩＭＭで４枚まで対応することができる。
第１図において、ＤＩＭＭ情報ＲＯＭ１４０にはＤＩＭＭの容量、シングル／デュアルサイドＤＩＭＭの区別、推奨電流駆動力設定、ｔＲＡＣ、ｔＣＡＣ等の情報が書き込まれている。
次に、この発明に係るデイジーチェーンメモリバスシステムにおけるコマンド／データの符号化について説明する。本発明は、特にこの符号化方式に制限されるわけではないが、例として符号化方式を説明する。デイジーチェーンメモリバスシステムはシェアードバスを使用しないことで、通信の高速化を行っているが、コマンド／データの符号化で更なる高速化を行う。
シェアードバスに限らず、伝送線を多ビット用いる、パラレル伝送方式は、伝送線を１本だけ用いるシリアル伝送方式と比較して、信号伝送の周波数を上げにくいといわれている。その原因の最も大きなものは、各伝送線の信号伝送タイミングのずれ（スキュー）である。このスキューが起こる原因は、いくつか考えられるが、大きな原因としては同時スイッチングノイズの影響が挙げられる。
一般的にパラレル伝送方式では、多ビットのデータを、ビット数と同数の伝送線にのせ、データ取り込み用のクロック信号（もしくはストローブ信号）を同時に伝送し、クロック信号に同期してデータを送受信する。そのため、データの変化が起こらない場合は、クロック信号のみが遷移し、逆にすべてのデータが逆転する場合は、クロック信号を含めすべての信号が遷移する。ゆえに、１６ｂｉｔパラレル伝送では、クロックのみ１ビットの遷移から、１７ビットの同時遷移まですべての可能性が起こり得る。
第１１図に示した通り、ＩＣのパッケージにおいて、各ピンには必ずインダクタンス成分１２０１が含まれる。信号遷移が起こり出力ドライバ１２０２に電流が流れると、このインダクタンス成分の影響でＩＣ本体に印可される電源電圧が減少する。電源電圧の減少により、出力ドライバ１２０２の電流駆動力は減少する。この時、第１２図に示した通り、１ビット（ｂｉｔ）のみ遷移した場合と、例えば１７ビット（ｂｉｔ）遷移した場合とでは、１７ビット同時に遷移した方が電流駆動力の減少が激しい。よって、１ビット遷移した場合と、１７ビット遷移した場合では１７ビット遷移した場合の方が、信号伝送の遅延時間が大きい。このずれがスキューとなって伝わる。
本発明のデイジーチェーンメモリバスシステムでは、アドレス伝送線１０２の８ビット、データ伝送線１０３の６ビットのうち、毎データ必ずアドレス伝送線１０２は４ビット，データ伝送線１０３は３ビット遷移するようにする。そして、伝送線のレベルではなく、直前のレベルと比較して伝送線が遷移したか／遷移しなかったかに情報を符号化する。そのように符号化を行った場合、１回に送ることができるコマンドとデータの場合の数は、８Ｃ４＝７０と６Ｃ３＝２０と表すことができる。
６ビットの場合の数は６４，４ｂビット場合の数は１６であるため、コマンド６ビット／ワード、アドレス４ビット／ワードを伝送することができる。
第１３図に実データと伝送線１０３の遷移の対応を示す。データの欄に示される実データに対し、トランスミッションコードが与えられる。トランスミッションコードが１であった場合、伝送線１０３のレベルは遷移し、トランスミッションコードが０であった場合、伝送線１０３のレベルは直前の値を保持する。アドレス伝送線１０２の場合も、Ｄａｔａの部分が４ビットから８ビットへ，トランスミッションコードの部分が６ビットから８ビットへと拡張されるだけで基本的には同様である。
第１３図には、データ無しにトランスミッションコードが割り当てられている。これは例えば、デイジーチェーンメモリバスシステムをグラフィックメモリに応用する場合有効である。グラフィックメモリの場合、ある一点に描画したいという場合が考えられる。しかし高速ＤＲＡＭでは高速データ転送を実現するため、バースト転送を行うため、描画したい点以外のメモリも書き換える必要がある。
従来は、リード−モディファイ−ライト（Ｒｅａｄ−Ｍｏｄｉｆｙ−Ｗｒｉｔｅ）で実現するか、データマスク機能で実現していた。ただ、前者は１回の動作で２回のメモリアクセスが必要なためバス効率が悪い。後者はメモリの制御が複雑になるという問題があった。本発明によるデイジーチェーンメモリバスシステムは、第１３図に示した通り、データ無し（Ｎｏ  Ｄａｔａ）が直接転送できるため、容易にデータマスクが実現できる。
この符号化方式では、一回符号化／復号に失敗すると、伝送線のレベルの間違いがその後回復せず、復号方式によってはコマンド、データが伝送されなくなってしまう可能性がある。そのため、本発明におけるデイジーチェーンメモリバスシステムでは第４図に示した通り、データをスロットという単位に切り分け、データ伝送の復帰点としている。
前記の通り、スロットの初めはＨ（Ｈｅａｄｅｒ）となっている。このＨは、伝送線のレベルがすべてＬｏレベルとなっている。このＨはコマンド，データの内容と異なり、伝送線の遷移ではなくレベルで定義される事に注意する。スロットの最初であるＨは全ｂｉｔがＬｏレベルであるため、Ｃ０では８ｂｉｔ中４ｂｉｔがＨｉレベル，Ｄ０は６ｂｉｔ中３ｂｉｔがＨｉレベルとなる。この関係を利用することで、容易にＨの位置を検出することができる。
Ｈの次には８ワードのコマンド，データ本体（Ｃ０〜Ｃ７，Ｄ０〜Ｄ７）が続く。このコマンド、データに前記の符号化が行われている。ここで、Ｃ７，Ｄ７における伝送線のレベルは、伝送されるコマンド、データの内容によって決定され、全ビットがハイレベルであることも考えられる。よって、Ｃ７，Ｄ７から直接Ｈ（全ビット＝ロウレベル）へと遷移させると、大きな同時スイッチングノイズが発生する可能性がある。これでは、符号化を行った意味が低下する。
そこで第４図に示した通り、Ｃ７，Ｄ７とＨの間にＦ（Ｆｏｏｔｅｒ）を定義する。このＦは、例えばコマンド伝送線１０２の上位４ビット（１０２［７：４］）及びデータ伝送線１０３の上位３ビット（１０３［５：３］）を無条件でロウレベルにし、コマンド伝送線１０２の下位４ビット（１０２［３：０］）及びデータ伝送線１０３の下位３ビット（１０３［２：０］）はＣ７，Ｄ７のレベルを保持する。
すると、Ｃ７からＦへの遷移は０〜４ビットとなり、Ｄ７からＦへの遷移は０〜３ビットとなる。符号化によって、伝送線の遷移数をデータパターンによらず一定にするという目的からは少し外れるが、遷移数が多くなるよりは、少なくなる方が同時スイッチングノイズ耐性が良くなるため、あまり問題にはならない。
それでもなお問題であるならば、Ｆを前記のような単純な方法で生成するのではなく、Ｃ７，Ｄ７のレベルから生成することで対応することができる。Ｈのレベルがすべてロウレベルであり、その後１ワード毎に、コマンド伝送線では４ビット、データ伝送線では３ビットの伝送線のレベル遷移が起こる。この事から、偶数回のデータ転送が行われた後は、コマンド伝送線、データ伝送線とも偶数ビットの伝送線がハイレベルである。
この事から、Ｃ７→Ｆ→Ｈの遷移において、必ず４ビットごとの伝送線の遷移が行われるようにＦの値を算出することが可能である。同様に、Ｄ７→Ｆ→Ｈの遷移において、必ず３ビットごとの伝送線の遷移が行われるように、Ｆの値を算出することも可能である。このように、Ｃ７，Ｄ７における伝送線のレベルから、Ｆの値を適宜算出することでＦ，Ｈも含め、１ワード毎の伝送線レベル遷移の数を常に一定に保つことができ、同時スイッチングノイズ耐性を更に改善することができる。
第１４図には、本発明によるデイジーチェーンメモリバスシステムを用いたコンピュータのマザーボード１５０１のブロック図が示されている。マザーボード１５０１上には、マイクロプロセッサ（ソケット）１５０２、メモリコントローラ１１０、周辺機器コントローラ１５０３、Ｉ／Ｏコントローラ１５０４、周辺機器ドータボード（スロット）１５０５、外部増設ポート１５０６、メモリサブシステム１５０７、グラフィックサブシステム（スロット）１５０８等が配置されている。
マザーボード１５０１は、マイクロプロセッサ１５０２から、マイクロプロセッサバス１５１１を通して、メモリコントローラ１１０へ接続されている。メモリコントローラ１１０は、メモリサブシステムをコントロールするための機器であり、メモリサブシステム１５０７の他、周辺機器コントローラ接続ポート１５１２を通して周辺機器コントローラ１５０３へ、グラフィックポート１５１５を通してグラフィックサブシステム１５０８へと接続される。
周辺機器コントローラ１５０３は、様々な周辺機器を接続するためのバスである、周辺機器バス１５１３をコントロールする。周辺機器バス１５１３には、コンピュータの様々なＩ／Ｏ機器をコントロールする、Ｉ／Ｏコントローラ１５０４をはじめとして、様々な周辺機器ドータボード１５０５が接続されている。第１４図では省略されているが、外部機器は外部増設コネクタ１５０６に接続され、信号は外部機器ポート１５１４を通して、Ｉ／Ｏコントローラ１５０４へ接続される。
第１図のデイジーチェーンメモリバスシステムは、メモリサブシステムに最適されたものである。第１４図においては、メモリサブシステム１５０７に応用されている。しかし、第１４図におけるマイクロプロセッサバス１５１１、周辺機器コントローラ接続ポート１５１２、周辺機器バス１５１３、外部機器ポート１５１４、グラフィックポート１５１５等相方向接続を行うバス／ポートに応用することも可能である。また、グラフィックサブシステム１５０８にもメモリが搭載されることが一般的であり、このグラフィックサブシステム１５０８のメモリバスにも、デイジーチェーンメモリバスシステムを応用することが可能である。
言うまでもない事ではあるが、本発明ではＤＩＭＭを用いてメモリを増設しているが、ＤＩＭＭを用いずに基盤に直接メモリを実装しても良い。また、チップ内部の伝送線に本発明を適用することも可能である。
第１４図にはコンピュータ用のマザーボードとしての応用例を挙げた。メモリサブシステムとして使用する場合、メモリチップ１３０をメモリサブシステムに接続するために、ＤＩＭＭ及び、ＤＩＭＭソケットのしくみが必要となる。シェアードバスの場合は、メモリはスタブを通して接続されるため、ＤＩＭＭ及びＤＩＭＭソケットの構造は比較的単純であった。
しかし、デイジーチェーンメモリバスシステムは、信号がメモリチップ１３０内部を通る構造となっているため、ＤＩＭＭソケット→ＤＩＭＭ１２０→ＤＩＭＭソケットという信号の流れとなる。ここで、ＤＩＭＭ１２０が挿入されていない状態では、信号が途中で切り離された状態となり、デイジーチェーンメモリバスシステムが機能しなくなる。一般的には、メモリチップ１３０が搭載されていない、ダミーのＤＩＭＭを挿入し、信号の接続を保つ。しかし、この方式はコストがかかる上、ダミーＤＩＭＭをユーザーが保存しなければならない等、使い勝手の面で問題が多い。
第１５図にデイジーチェーンメモリバスシステムにおけるＤＩＭＭ１２０の概略図を示す。なお、第１６図は概略図であるため、いろいろな信号線、電源、ＤＩＭＭ情報ＲＯＭ１４０、メモリチップ１３０の数等が省略されている。メモリチップ１３０はすべて同様の構造である。
第１５図の例では、メモリチップ１３０の右側に信号線の入力端子１０１＿ｉ，１０２＿ｉ，１０３＿ｉが配置され、左側に信号線の出力端子１０１＿ｏ，１０２＿ｏ，１０３＿ｏが配置されている。また、左右で同じ高さのピンは、同じ信号の入力と出力という対応になっている。このようにメモリチップ１３０のピンを配置することで、ＤＩＭＭ１２０上の配線を簡略化することができる。
すなわち、表面側（ｆｒｏｎｔ  ｓｉｄｅ）のメモリチップ１３０の出力端子と、裏面側（ｂａｃｋ  ｓｉｄｅ）のメモリの出力端子が近い位置に存在するため、この２端子を接続するために単純に基盤にスルーホール１６０２を用いれば最短距離で接続できる。言うまでもないことであるが、この位置関係で重要なのは、入力ピンと出力ピンが、メモリチップ１３０の反対側の位置にあるということで、この関係において、左右が右左になろうと上下になろうと下上になろうと、ピンの配置が完全に左右対称（上下対称）でなくとも問題ない。
その上で、ＤＩＭＭ１２０の信号配線パターン１６０１を表裏で左右対称にすることで、ＤＩＭＭ１２０の入力端子１６０３の信号線１０１＿ｉ，１０２＿ｉ，１０３＿ｉと、出力端子１６０４の信号線１０１＿ｏ，１０２＿ｏ，１０３＿ｏが同じ位置の表裏という関係となる。また言うまでもないことであるが、ここで重要なのは、ＤＩＭＭの端子１６０３と１６０４において、同じ信号が表裏の関係になることで、配線パターンの作り方に制限されるものではない。無論裏表の関係になるものは、信号線１０１，１０２，１０３であり、その他の信号線及び電源端子は関係ない。
前記のようなＤＩＭＭ１２０の構造を踏まえた上で、ＤＩＭＭソケットの構造例を第１６図に示す。第１６図はＤＩＭＭソケットの断面図であり、ＤＩＭＭ１２０が挿入された状態と、挿入されていない状態の２態が図示されている。まず、ＤＩＭＭ１２０が挿入された状態では、通常のＤＩＭＭと変わらず、ソケットの端子とＤＩＭＭ１２０の端子が接続されている。ＤＩＭＭ１２０が挿入されていない状態では左右の端子が短絡する。
ここで前記に記したＤＩＭＭ１２０の構造によると、ＤＩＭＭ１２０の端子は表裏が同一の信号の入出力である。よって、短絡することで、ＤＩＭＭ１２０が挿入されていない状態でも、信号の接続が途絶えず、デイジーチェーンメモリバスシステムを動作させることができる。第１６図の例では、ＤＩＭＭソケットにおける端子のばねの力を利用した単純なものであるが、動作を確実にするため、ＤＩＭＭ１２０固定用のレバー、ＤＩＭＭ１２０挿入時の力などを利用して機械的に端子を短絡させることも可能である。これらの構造により、ＤＩＭＭ１２０のコストや使い勝手も従来のＳＤＲＡＭとほぼ変わらないメモリシステムが構成できる。
ＤＩＭＭ１２０は基本的に次段への増設が可能であることを前提にしてきた。しかし、ＤＩＭＭ１２０は必ずしも次段への増設が必要であるとは限らない。例えば、携帯型コンピュータなどの場合、ＤＩＭＭスロットが１つしか搭載しておらず、メモリの増量は増設という形ではなくＤＩＭＭの交換という形態を取るものが多い。その場合、第１７図に示した通り、ターミネータ１０４をＤＩＭＭ１２０上に搭載することで、ＤＩＭＭからクロック信号出力１０１＿ｏ及びコマンド信号出力１０２＿ｏに対応した端子を省略できる。それにより、ＤＩＭＭソケットの面積縮小が可能になる。携帯型のコンピュータでは、あらゆる部品の実装面積を縮小することが求められており、増設のできないＤＩＭＭ１２０という選択肢もありえる。
もちろん、メモリチップ１３０の構造まで考えに入れれば、第１８図に示したように、クロック信号１０１＿ｏ及びコマンド信号１０２＿ｏが出力されないメモリチップ１３０＿１を使用して、第１７図と等価なＤＩＭＭ１２０を構成することができる。この場合、メモリチップ１３０において、出力端子が製造段階で機能しないようにされていてもよいが、モードレジスタ６１８もしくは外部ピン設定で、オンチップターミネーションを機能させたり出力バッファを停止させたりしても良い。言うまでもないが、第１７図、第１８図に示したＤＩＭＭ１２０の構造を用いても、増設可能なデイジーチェーンメモリバスシステムでは、最下流のＤＩＭＭ１２０として使用することができる。
第１９図には、本発明に係るデイジーチェーンメモリバスシステムの他の一実施例のブロック図が示されている。第１９図において、基本的な構成は、第１図の実施例とあまり変わらない。ただし、メモリチップ１５０にＰＬＬ回路を内蔵せず、外部ＰＬＬチップ１６０が設けられる。これにより、メモリチップ１５０のチップ面積と消費電力の低減を実現するものである。
デイジーチェーンの前段のＤＩＭＭ１２０もしくはメモリコントローラ１１０から出力されたクロック信号１０１は、一旦ＰＬＬチップ１６０へと入力され、そこから、ＤＩＭＭクロック１０１＿１として、ＤＩＭＭ１２０上の各メモリチップ１５０へとクロックが分配さる。また、次段のＤＩＭＭ１２０へクロック１０１が出力される。
この方式では、ＰＬＬチップ１６０における２つのクロック出力１０１＿１，１０１の位相差がメモリチップ１５０における入力クロック１０１＿１と出力コマンド１０２，データ１０３の位相差と同じであるように遅延量を設計することで、クロック伝送線１０１とコマンド伝送線１０２，データ伝送線１０３との位相差を小さくすることができる。もちろん、位相差を別の手段で吸収すること、もしくは吸収する必要が無い場合、特に遅延量を一致させなくとも良い。さらにクロック１０１とＤＩＭＭクロック１０１＿１とを同一の信号線としても問題なくなる。
第２０図には、前記第１９図のメモリチップ１５０の一実施例のブロック図が示されている。また、第２１図には、その動作の一例を説明するための波形図が示されている。第２０図において、２１０１はコマンド入力遷移検出回路であり、２１０２はコマンドラッチであり、２１０３はデータ入力遷移検出回路であり、２１０４はデータラッチであり、２１０５はコマンドパラレル−シリアル変換回路であり、２１０６はデータパラレル−シリアル変換回路である。第２１図では、コマンド１０２の入出力について説明するが、データ１０３の入出力についても同様の方法で処理することができる。
この実施例において、前記第１図の実施例と同様にデイジーチェーンメモリバスシステムにおいてコマンド１０２、データ１０３は各ワード毎に伝送線のレベル遷移が起こる。よって、信号線の遷移でタイミングを測定しコマンド入力１０２＿ｉ，データ入力１０３＿ｉをラッチすることができる。まず、コマンド入力遷移検出回路２１０１がコマンド入力１０２＿ｉのレベル遷移を検出し、１０相コマンドラッチクロック２１５１を生成する。このコマンドラッチクロックにしたがって、コマンドラッチ２１０２がコマンド入力１０２＿ｉをラッチする。そして、ＤＩＭＭクロック１０１＿１に同期して、コマンド出力回路２１０５がコマンド出力１０２＿ｏを出力する。
データ１０３においても、データ入力遷移検出回路２１０３でデータ入力１０３＿ｉのレベル遷移を検出し、生成された１０相データラッチクロック２１５２で、データラッチ２１０４がデータ入力１０３＿ｉをラッチする。そして、ＤＩＭＭクロック１０１＿１に同期して、データ出力回路２１０６がデータ出力１０３＿ｏを出力する。コマンド１０２、データ１０３が入力された後のメモリ１５０の動作は、前記第１図の実施例におけるメモリチップ１３０の動作と同様であるためここでは省略する。
前記第２０図の実施例において、ＰＬＬ回路を用いずにコマンド１０２，データ１０３を取り込む方法を示した。それを応用することで、第２２図のブロック図に示すような更に他の実施例が考えられる。前記の各実施例と違い、この実施例では、各メモリチップ１７０へ共通にクロック信号１０１が入力されているということである。第２３図に、第２２図の実施例におけるメモリチップ１７０のブロック図が示されている。メモリチップ１７０の動作は、第２０図の実施例におけるメモリチップ１５０と同様な動作を行うため詳細な説明は省く。
ただし、クロック１０１とコマンド１０２，データ１０３のタイミングが合っていないためメモリ内蔵ＤＬＬ２４０１でクロックのタイミングを変更してから、コマンド出力回路２４０５及びデータ出力回路２４０６を動作させる。内部クロック２４５１が１０相クロックではないため、コマンド出力回路２４０５及びデータ出力回路２４０６は第２実施例と違うものを採用している。
クロックタイミングを調整する回路として、前記の例ではＤＬＬ２４０１を採用した。そのため、クロック信号１０１は、コマンド１０２、データ１０３の転送レートと等しい周波数を持つかもしくは半分の周波数を持つことになる。もし、ＤＬＬの代わりにＰＬＬを採用すれば、クロック１０１はコマンド１０２、データ１０３の転送レートの１／Ｘという値を採用することができる。
これまでの各実施例では、メモリコントローラ１１０とメモリチップ１３０、１５０、１７０との信号をコマンド１０２とデータ１０３とに分けてきた。ここで、ライトデータをコマンド伝送線１０２上で転送すると第２４図のブロック図に示した実施例の形になる。このように構成とすることで、メモリコントローラ１１０のピン数を削減することができる。またリードデータとライトデータを同時に転送することで、バス効率を向上させることができる。最上流ＤＩＭＭ１２０＿０上のメモリチップ１３０の１０３＿ｉピンは使用しないため、マザーボード上で終端処理を行ってあるが、単純にＧＮＤへ接続しても良い。
ここまでの各実施例では、メモリを多段に接続することを前程として議論してきたが、メモリの応用には比較的小容量でデータ転送速度が高いことを要求するものがある。例えば高速マイクロプロセッサ用の外部キャッシュメモリや、グラフィックサブシステム用のメモリ等である。これらの応用例では、メモリを多段に接続する必要はない。このような応用では、メモリチップ１３０のクロック出力１０１＿ｏ及びコマンド出力１０２＿ｏのピンが不用である。
第２５図には、本発明のデイジーチェーンメモリバスシステムの更に他の一実施例のブロック図が示されている。第２５図の実施例は、これまでの実施例と違い、コマンド伝送線１０２がメモリコントローラ１１０に入力されている。これまでの実施例ではリードデータは、データ伝送線１０３を通してメモリコントローラ１１０に入力されていたが、第２５図の実施例では、データ伝送線１０３に加えて、不用になったコマンド伝送線１０２も使用する。
上記コマンド伝送線１０２にコマンドを出力するかデーダを出力するかは、モードレジスタを書き換えて対応する。ライトデータは、基本的にデータ伝送線１０３でメモリチップ１９０へ入力するが、コマンド伝送線１０２からもデータを送るようにしても良い。このように構成することで、メモリチップ１９０における読み出し動作時のバス効率が改善される。
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。前記の各実施例では、クロック伝送線１０１とコマンド伝送線１０２は、メモリコントローラ１１０から１組出力して、最上流のメモリに分配しており、これらの信号線は１対１で接続していなかった。この事で問題があれば、クロック伝送線１０１とコマンド伝送線１０２を必要な分メモリコントローラから出力しても良い。
また、第２６図に示した実施例のようにバスバッファ２７０１を利用して分配しても良い。この場合、データ伝送線もバスバッファ２７０１を通せば、クロック１０１、コマンド１０２、データ１０３のタイミングが一致する。なお言うまでもないことであるが、メモリ１個当たりのデータ入出力１０３は１組であったがこれが２組以上でも問題はない。この発明は、半導体集積回路装置及びデータ処理システム及びメモリシステムに広く利用することができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、以下の通りである。すなわち、１つの半導体集積回路装置において、命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、上記入力信号に応答し、内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを持つようにすることにより、デイジーチェーン構成で高速なデータの伝達を可能とした半導体集積回路装置を得ることができる。
命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号が供給される入力端子と、かかる入力信号に応答して内部回路で形成された信号又は上記入力端子から供給された信号を出力させる出力端子とを備えた半導体集積回路装置の複数個を用い、上記複数の半導体集積回路装置のうち前段とされる半導体集積回路装置の出力端子と次段とされる半導体集積回路装置の入力端子との対応するもの同士が接続されて縦列形態とし、信号生成回路で形成された上記命令、情報、情報の所在位置、タイミング信号のいずれかを含む入力信号を上記初段の半導体集積回路装置の入力端子に供給し、終段の半導体集積回路装置の出力端子からの信号を上記信号生成回路に供給することにより、デイジーチェーン構成を利用した高速なデータの伝達を可能としたデータ処理システムを得ることができる。
コマンド、データ、アドレス、タイミング信号を含む入力信号がそれぞれ供給される入力端子と、上記入力端子から供給された入力信号に対応した信号をそれぞれ出力させる出力端子とを含む半導体記憶装置の複数個を用い、上記複数の半導体記憶装置のうち、前段とされる半導体記憶装置の出力端子と次段とされる半導体記憶装置の入力端子との対応するもの同士が接続されて縦列形態とすることにより、デイジーチェーン構成を利用した高速なデータの伝達を可能としたメモリシステムを得ることができる。
【図１】
2004010315.tif 000003
【図２】
2004010315.tif 000004
【図３】
2004010315.tif 000005
【図４】
2004010315.tif 000006
【図５】
2004010315.tif 000007
【図６】
2004010315.tif 000008
【図７】
2004010315.tif 000009
【図８】
2004010315.tif 000010
【図９】
2004010315.tif 000011
【図１０】
2004010315.tif 000012
【図１１】
2004010315.tif 000013
【図１２】
2004010315.tif 000014
【図１３】
2004010315.tif 000015
【図１４】
2004010315.tif 000016
【図１５】
2004010315.tif 000017
【図１６】
2004010315.tif 000018
【図１７】
2004010315.tif 000019
【図１８】
2004010315.tif 000020
【図１９】
2004010315.tif 000021
【図２０】
2004010315.tif 000022
【図２１】
2004010315.tif 000023
【図２２】
2004010315.tif 000024
【図２３】
2004010315.tif 000025
【図２４】
2004010315.tif 000026
【図２５】
2004010315.tif 000027
【図２６】
2004010315.tif 000028
【図２７】
2004010315.tif 000029
【国際調査報告】
2004010315.tif 000030
2004010315.tif 000031
2004010315.tif 000032
2004010315.tif 000033
2004010315.tif 000034
2004010315.tif 000035
2004010315.tif 000036
2004010315.tif 000037
2004010315.tif 000038