半導体集積回路装置、 データ処理システム及びメモリシステム
技術分野
この発明は、 半導体集積回路装置、 デ一夕処理システム及びメモリシ ステムに関し、 主としてマイクロプロセッサとメモリ装置との間のデー 夕高速化技術に利用して有効な技術に関するものである。
明 田
背景技術
メモリコントローラとメモリ間の通信方式は、 主として複数本の伝送 線路 (バス : B u s ) を用い、 さらに 3個以上の装置が物理的に同一の 伝送線路で通信を行うことが可能なシェア一ドバス (S h a r e d B u s ) 方式が一般的に採用されている。 シェアードバスは、 1サイクル で複数のデータを通信するため、 単位時間当たりの送受信データ量が大 きい。 さらに装置の数によらずバスは 1つでよいため、 システムに応じ たメモリ量の変更やメモリの追加 (増設) を容易にしている。 シェア一 ドバスの例として、 JEDEC Standard 79, Double Data Rate (DDR) SDRA M Specification (文献 1 ) が挙げられる。
金属酸化膜半導体トランジスタ(MOS: Metal Ox ideSemi conductor)のス ケーリングにより、 集積回路(IC: Integrated Circui t) 、 特に中央演算 処理装置 (CPU: Central Processing Unit) の処理能力は劇的に増加して きた。 しかし近年、 C P Uの処理能力の増加に割にコンピュータシステ ム全体の処理能力が増加しないという問題点がある。 これは、 C P Uの 処理能力に対して、 相対的に主記憶 (メモリ) の速度が遅くなりつつあ ることが原因の一つにあげられる。
特に、 メモリコントローラとメモリ間ィン夕フェースは、 上記の通り シェアードバスを採用するため、 通信速度の増加に伴い、 データ線路間 のタイミングのずれ (スキュー) が問題になってくる。 また同一線路上 に多数の装置が存在することで、 装置間のタイミングの違い、 装置数に よる伝送条件の変化、 各装置が接続されている地点における信号の反射 等の問題が発生する。 それにより、特に高速なメモリコントローラーメ モリ間インタフヱ一スでは、 接続されるメモリの数 (DI匪: Dual Inl ine Memory Module の枚数) に制限がつく、 高価な R e g i s t e r e d D I MM使用を余儀なくされ、 すべてのメモリスロットを使用するとェ ラ一が発生するなど様々な問題点が起こっている。
この発明の目的は、高速なデ一夕の伝達を可能とした半導体集積回路 装置、 データ処理システム及びメモリシステムを提供することにある。 この発明の他の目的は、簡単な構成で高速なデータの伝達を可能とした 半導体集積回路装置、 データ処理システム及びメモリシステムを提供す るこ,とある。 この発明の前記ならびにそのほかの目的と新規な特徴は、 本明細書の記述および添付図面から明らかになるであろう。 発明の開示
本願において開示される発明のうち代表的なものの概要を簡単に説明 すれば、下記の通りである。 すなわち、 半導体集積回路装置において、 命令、 情報、 情報の所在位置、 タイミング信号のいずれかを含む入力信 号が供給される入力端子と、上記入力信号に応答し、 内部回路で形成さ れた信号又は上記入力端子から供給された信号を出力させる出力端子と を持つようにする。
命令、 情報、 情報の所在位置、 夕イミング信号のいずれかを含む入力 信号が供給される入力端子と、 かかる入力信号に応答して内部回路で形
成された信号又は上記入力端子から供給された信号を出力させる出力端 子とを備えた半導体集積回路装置の複数個を用い、 上記複数の半導体集 積回路装置のうち、前段とされる半導体集積回路装置の出力端子と次段 とされる半導体集積回路装置の入力端子との対応するもの同士が接続さ れて縦列形態とし、信号生成回路で形成された上記命令、 情報、 情報の 所在位置、 タイミング信号のいずれかを含む入力信号を上記初段の半導 体集積回路装置の入力端子に供給し、 終段の半導体集積回路装置の出力 端子からの信号を上記信号生成回路に供給してデータ処理システムを構 成する。
コマンド、 データ、 ァドレス、 夕イミング信号を含む入力信号がそれ ぞれ供給される入力端子と、上記入力端子から供給された入力信号に対 応した信号をそれぞれ出力させる出力端子とを含む半導体記憶装置の複 数個を用い、上記複数の半導体記憶装置のうち、前段とされる半導体記 憶装置の出力端子と次段とされる半導体記憶装置の入力端子との対応す るもの同士が接続されて縦列形態としてメモリシステムを構成する。 図面の簡単な説明
第 1図は、 本発明が適用されたメモリシステムの一実施例を示すプロ ック図であり、
第 2図は、 本願、発明に係るデイジ一チヱ一ン接続におけるメモリコン トローラとメモリとの接続方法の説明図であり、
第 3図は、 この発明に係るメモリチップおよびその信号線の説明図で あり、
第 4図は、 この発明に係るメモリチップ間のコマンド /デー夕の伝送 方法の一例を説明するための波形図であり、
第 5図は、 この発明に係るメモリチップ間のコマンド /デ一夕の伝送
方法の他の一例を説明するための波形図であり、
第 6図は、 この発明に係るメモリチップのー実施例を示すプロック図 であり、
第 7図は、 第 6図のメモリチップにおける入力信号の取り込み方法を 説明するための波形図であり、
第 8図は、 第 6図のメモリチップのバンク内部の一実施例を示すブロ ック図であり、
第 9図は、 第 6図のメモリチップにおける読み出し動作を説明するた めの波形図であり、
第 1 0図は、 第 6図のメモリチップにおける書き込み動作を説明する ための波形図であり、
第 1 1図は、 この発明が適用される I Cのパッケージの等価回路図で あり、 '
第 1 2図は、 第 1 1図の I Cの動作の一例を説明するための出力波形 図であり、
第 1 3図は、 この発明に係るメモリチップの符号変換説明図であり、 第 1 4図は、本発明によるデイジ一チヱーンメモリバスシステムを用 いたコンピュータのマザ一ボードのー実施例のブロック図であり、 第 1 5図は、 この発明に係るディジーチヱ一ンメモリバスシステムに おける D I M Mの一実施例を示す平面図であり、
第 1 6図は、 この発明に係る D I MMソケットの断面図であり、 第 1 7図は、 この発明に係るデイジ一チヱ一ンメモリバスシステムに おける D I MMの他の一実施例を示す平面図であり、
第 1 8図は、 この発明に係るディジーチェ一'ンメモリバスシステムに おける D I MMの他の一実施例を示す平面図であり、
第 1 9図は、 本発明に係るデイジ一チヱ一ンメモリバスシステムの他
の一実施例を示すプロック図であり、
第 2 0図は、 第 1 9図のメモリチップのー実施例を示すプロック図で あり、
第 2 1図は、 第 1 9図のメモリチップの動作の一例を説明するための 波形図であり、
第 2 2図は、 本発明に係るデイジ一チェーンメモリバスシステムの他 の一実施例を示すブロック図であり、
第 2 3図は、 第 2 2図のメモリチップのー実施例を示すプロック図で あり、
第 2 4図は、 本発明に係るデイジ一チヱ一ンメモリバスシステムの他 の一実施例を示すプロック図であり、
第 2 5図は、 本発明に係るデイジ一チェーンメモリバスシステムの更 に他の一実施例を示すブロック図であり、 '
第 2 6図は、 本発明に係るディジーチェーンメモリバスシステムの更 に他の一実施例を示すプロック図であり、
第 2 7図は、 本発明に先立って検討されたシェア一ドバス接続におけ るメモリコントローラとメモリの接続方法の説明図である。 発明を実施するための最良の形態
この発明をより詳細に説述するために、添付の図面に従ってこれを説 明する。
第 1図には、 本発明が適用されたメモリシステムの一実施例のプロッ ク図が示されている。 この実施例は、 特に制限があるわけではないが、 コンピュー夕システムにおけるメモリサブシステムに向けられている。 第 1図において、 1 1 0はメモリコントローラであり、 1 2 0— 0〜1 2 0 2はメモリモジュール (D I MM) であり、 1 3 0はメモリチッ
プであり、 1 4 0は D I M M情報 R O Mであり、 1 0 1はクロック伝送 線路であり、 1 0 2はコマンド伝送線路であり、 1 0 3はデータ伝送線 路であり、 1 0 4はターミネータであり、 1 0 5— 0〜 1 0 5— 2は P L L制御信号線であり、 1 0 6は D I M M情報バスである。
第 1図において、 クロック伝送路 1 0 1、 コマンド伝送路 1 0 2、 デ —夕伝送路 1 0 3の各伝送路は、 各メモリチップ 1 3 0に入力され、 そ の後各メモリチップ 1 3 0から出力されている。 このように接続するこ とで、 メモリコントローラ 1 1 0と直後のメモ'リチップ 1 3 0とを接続 するクロック伝送線路 1 0 1とコマンド伝送線路 1 0 1を除き、 対応す るもの同士においてすベて 1対 1の接続となっている。 それにより、 各 伝送線路のタイミング条件が単純化され、 さらに素子数の変化による伝 送線路の条件変化も起こらず、 伝送線路中で信号が反射を起こすことも 防ぐことができる。
この時、 システムクロックをデイジ一チェ一ン接続しないとすれば、 クロック一データ間のタイミングをチップ内で調整するか、 もしくは最 悪の場合でもデー夕転送ができるように規格化しなければならない。 本 発明では、 システムクロックまで含めてデイジ一チェ一ン接続を行って おり、 すべて 2つの素子間のタイミングとして定義される。 また信号の 伝送方向も一方のみであり、 従来のシェア一ド'バスのように双方向通信 を行う場合と比較して読み出し/書き込みの切り替えを行う必要のない ぶんタイミング条件等が緩和される。
ここで、 従来のシェア一ドバス接続と、 本発明のデイジ一チヱーン接 続とを比較し、 本発明の特徴を明らかにする。 本願発明者において、 先 に検討されたシヱァ一ドバス接続におけるメモリコントローラとメモリ の接続方法を第 2 7図に示し、 本願発明に係るデイジ一チェーン接続に おけるメモリコントローラとメモリとの接続方法を第 2図に示す。
第 2図と第 2 7図において、 それぞれ 4個のメモリを接続した場合の データ信号線の接続である。 第 2 7図と第 2図において、 1 1 0— a, 1 0—bはそれぞれメモリコントローラ、 1 3 0— a, 1 3 0— bはメ モリチップ、 1 0 4はターミネータを示す。 さらに、 2 0 1は伝送線路 の寄生容量、 2 0 2はデータバスの分岐点 (スタブ) 、 2 0 3は伝送線 路における信号の反射、 2 0 4 , 2 0 6は出力ドライバ、 2 0 5, 2 0 7は入力バッファを示す。
第 2 7図のシヱァ一ドバス接続の問題点として、 まず駆動される負荷 が大きくなるという点を挙げられる。 シヱァ一ドバス接続では、 双方向 通信を行うため各メモリコントローラ 1 1 0 _ aおよびメモリチップ 1 3 0— aは、 出力ドライバ 2 0 4と入力バッファ 2 0 5からなるトライ ステートバッファを持っている。 第 2 7図の例において、 各出力ドライ ノ 2 0 4が駆動しなければならない総容量負荷 C aは、 寄生容量 2 0 1 が C p , 出力ドライバ 2 0 4の容量が C d a, 入力バッファの容量が C i aとすると、 C a = 4 x C p + 5 X C d a + 5 X C i aとなる。 この容量 C aの容量値は非常に大きく、 大きな電流駆動力を必要とす る。 また通信速度が増すと、 信号波形の立ち上がり時間 Z立下り時間を 小さくしなければならないため、 さらに大きな'電流駆動力が必要となる 。 電流駆動力が大きくなると、 出力ドライバ 2 0 5のサイズが増し、 C d aの値がさらに大きくなる傾向にある。 そのため、 高速な波形の立ち 上がり/立下りを得ようとしても、 電流駆動力の増加分が出力バッファ 2 0 5の容量の増加により相殺され、 思うように立ち上がり時間/立下 り時間が小さくならない。
次に、 信号波形の完全性 (シグナルインテグリティ) の問題点を挙げ る。 シヱァ一ドバス接続では、 1つのバス上に複数のチップが存在する ため、 バスに必ずスタブ 2 0 2が存在する。 バス配線に直接メモリを実
装することで、 見た目上スタブ 2 0 2をなくすことは可能であるが、 短 いとは言ってもメモリのパッケージ自体がスタブ 2 0 2となってしまう ため、 シェア一ドバスにスタブ 2 0 2は必ず存在するといつてよい。 このようなスタブ 2 0 2力存在すると、 信号が反射 2 0 3を起こす。 反射 2 0 3の影響により信号波形が乱れ、 信号伝達に支障をきたす。 言 うまでもないことであるが、 通信速度が速くなればそれだけ反射の影響 が大きくなる。 バスに接続されている機器の個数が一定であるシステム の場合、 線路インピーダンスを慎重に設計することで、 信号反射を押さ えることもできる。 しかしメモリサブシステムの場合、 ユーザ一による メモリの増設が可能であることという要求が強い。 そのため、 それぞれ 固有の誤差を持つ様々な機器との接続を行う必要があり、 信号反射を押 さえることは困難である。
なお、 バスのタ一ミネ一夕 1 0 4および、 チップ入出力端子において も信号の反射は起こり得る。 しかしチップ入出力端子では、 スタブ 2 0 2と比較してィンピーダンス整合が取り易く、 信号反射の影響は比較的 少なくてすむ。 これらの理由により、 シヱァ一ドバス接続を用いて高速 通信を行うことは非常に難しくなりつつある。
この発明に係るディジーチヱーン接続においては、 第 2図に示した通 り、 一つの出力ドライバ 2 0 6が駆動しなければならない総負荷容量 C bは、 寄生容量 2 0 1が C p, 出力ドライバ 2 0 6の容量が C d b, 入 力バッファの容量が C i bとすると、 C b = C'p + C d b + C i bとな る。
第 2図の例において、 C bの値は C aと比較して、 大体 1 / 4程度に なることは明らかである。 更に、 出力ドライバが駆動しなければならな い総負荷容量が減少するため C d bく C d aとなる。 それにより、 総負 荷容量はさらに小さくすることができる。 ゆえに、 ディジーチヱーン接
続は、 波形の立ち上がり/立下り時間を小さくすることが容易である。 さらに、 デイジ一チヱーン接続では信号反射の問題も起きにくレ、。 上 でも述べた通り、 チップの出力端子ではィンピ一ダンス整合が取り易い ため信号反射は起こりにくい。 無論、 チップの入力端子でもインピーダ ンス整合を取ることは可能である。 さらに、 インピーダンス整合を取ら なくとも、 出力端子側でインピーダンス整合が取れていれば、 再び入力 端子側に信号が反射してくることはないため、 シグナルィンテグリティ を悪化させる要因とはならない。 よって、 ディジーチェーン接続ではシ グナルインテグリティが良いと言うことができる。
このように、 シヱァ一ドバス接続と比較してディジーチェーン接続は 高速通信を行うのに適した接続法式であると言える。 またメモリ増設の 容易さにおいても、 シェア一ドバス接続では、 バスに接続されたメモリ の個数が増えるにしたがって、 総負荷容量が大きくなる。 またスタブが 増えることで信号の反射が大きくなり、 シグナルインテグリティが悪化 する。 一方、 ディジーチヱ一ン接続では、 メモリの個数が増えても各信 号線の条件は変化しないため、 メモリ増設も容易である。
一般的なシステムでは、 特にクロック信号は 1つのチップから出力さ れたものを、 他すベてのチップで共有するというアプローチをとること が多い。 本発明におけるディジーチエーンメモリバスシステムではク口 ック 1 0 1まで、 ディジーチヱーン接続を行う。 これは、 タイミング条 件の簡素化が目的である。 すなわち、 あらゆる信号には必ずタイミング のずれが存在するため、 メモリサブシステム全体を規格化するに当たつ ては、 このタイミングのずれも考慮に入れなければならない。
ここで、 クロック供給と、 コマンド, デ一ダの供給とを別系統とする と、 クロック一データ, コマンド間のタイミングのずれを考慮する必要 がある。 このタイミングのずれは、 ずれの大きさが動作中に大きく変化
することも考慮に入れなければならない。 このタイミング変化を許容で きるようにするためには、 コマンド, データの入力から出力までの遅延 に、 あらかじめマ一ジンをとつておくか、 もしくは、 ヘッダゃフッ夕に ゥヱイトを揷入したり削除したりしてタイミング調整をできるようにす る必要がある。 '
入力から出力への遅延にマージンを持たせておく方法は、 有効である が、 マージン分の遅延が直列に接続されるメモリチップ 1 3 0の個数分 積み上がる。 これにより、 メモリコントローラが読み出し命令を発行し た後、 デ一夕を受け取るまでの遅延時間が大きくなつてしまうという問 題がある。 また、上記ゥヱイ トの揷入/削除はあらかじめ削除可能なゥ エイ トを揷入しておく必要があり、 バス効率が悪化する。 上記ウェイ ト を削除したスロット (s l o t ) から更に後ろのチップでゥヱイ トを削 除することを防ぐ必要があるなど、 チップの構成が複雑化する。 このよ うにクロックを別に供給するのは、 様々な問題点があり実用的ではない 。 よって本発明ではクロック 1 0 1も含めて、 ディジーチェーン接続す る。 '
第 3図には、 この発明に係るメモリチップ 1 3 0およびその信号線が 示されている。 同図は、 デイジ一チェーンメモリバスシステムの信号の 内容を説明するものである。 各信号線におけるメモリチップ 1 3 0への 入出力を明確にするため、 それぞれ、 入力クロック 1 0 1一 i, 出カク ロック 1 0 l— o, 入力コマンド 1 0 2一 i, 出力コマンド 1 0 2— 0 , 入力データ 1 0 3— i, 出力データ 1 0 3— 0とする。 特に制限する ものではないが、 この説明では、 各クロック 1 0 1は 1 b i t , コマン ド 1 0 2は 8 b i t , データ 1 0 3は 6 b i tとする。
第 4図には、 この発明に係るメモリチップ 1 3 0の動作の一例を説明 するための波形図が示されている。 メモリチップ 1 3 0のすベての信号
はスロットという単位で区切られる。 クロック 1 0 1は各チップにシス テムクロックを供給するという役割のほか、 上記のスロッ トを区切る役 割をになう。 コマンド 1 0 2とデ一夕 1 0 3は、 スロット每に C 0〜C 7及び D 0〜D 7のような 8ワード (wo r d) と、 その前後に挿入さ れたへッダ (H : He a d e r) とフッ夕 (F : F o o t e r) とが含 まれる。
第 4図に示した通り、 メモリチップに入力されたクロック 1 0 1— i , コマンド 1 0 2— i, データ 1 0 3— iはそ.れぞれ入力夕ィミングが ずれている可能性がある。 各チップ内部でそれぞれのタイミングを調整 して外部へ出力する。 そのことにより、 ディジーチヱ一ンメモリバスシ ステムのタイミング条件は、 2チップ間 (出力チップ一入力チップ) の みに限定される。
第 4図及び第 5図には、 この発明に係るメモリチップ 1 3 0間のコマ ンド /デー夕の伝送方法の概略を説明するための波形図が示されている 。 言うまでもないことであるが、 メモリチップ 1 3 0へは、 データのリ —ド /ライ 卜 (読み出し/書き込み) を行う必要がある。 コマンド伝送 路 1 0 2には、 リード命令、 ライト命令のほか、 ί亍アドレス, 列ァドレ ス, バンク指定等の内容が含まれている。 これらコマンド情報は、 メモ リコントローラ 1 1 0から、 メモリチップ 1 3.0へと一方的に送信され る情報であるため、 メモリチップ 1 3 0側は受信するのみであるが、 デ 一夕はメモリチップ 1 3 0から送信する場合がある。
データの送受信は、 スロッ ト (s l o t) 単位で行われる。 メモリコ ントローラ 1 1 0からリード命令が発行されたとき、 第 5図の 5 0 1に 示した通り、 メモリチップ 1 3 0はスロッ トのデータ部をリードデ一夕 へ置き換える。 すなわち、 該スロッ トにおける入力データ 1 0 3— iは DAT 1で示されるデータ集合であるのに対し、 該スロッ トにおける出
力データ 1 03— 0はメモリ 1 0 3からリードされたデータ R0で示さ れるデータ集合に置き換わる。 ライト動作時は、 ライト命令によって示 されたスロットから、 データを書き込む (第 5図の 502参照) 。 これ により、 メモリチッフ Ί 30におけるデータのリード/ライトが可能に なる。
なお、 入力コマンド 1 02— iは、 変更を加えず、 出力コマンド 1 0 2— 0へ出力される。 リードデータへと置き換わらなかった入力データ 1 03— iも同じく出力データ 1 03— 0へと出力される。 なお、 命令 体系の詳細な説明については後述する。
第 6図には、 この発明に係るメモリチップのー実施例のプロック図が 示されている。 第 6図において、 60 1はメモ.リ内蔵の PL L回路であ り、 6 02はコマンドサンプリング回路であり、 603はコマンドタイ ミング検出回路であり、 604はコマンドラッチであり、 605はデ一 夕サンプリング回路であり、 606はデー夕タイミング検出回路であり 、 607はデータラッチであり、 608はデータデコーダであり、 60 9はデ一タエンコーダであり、 6 1 0はコマンドデコ一ダであり、 6 1 1はマルチプレクサであり、 6 1 2はクロック生成回路であり、 6 1 3 はコマンドパラレル一シリアル変換回路であり、 6 1 4はデ一タパラレ ルーシリアル変換回路であり、 6 1 5 (6 1 5— 0〜6 1 5— 7) はバ ンク F I FOであり、 6 1 6 ( 6 1 6_0〜 6 1 6一 7 ) はメモリァレ ィであり、 6 1 7 (6 1 7— 0〜6 1 7— 7) はバンクであり、 6 1 8 はモ一ドレジス夕であり、 620はクロック選択回路である。
入力クロック 1 0 1— iは PLL回路 60 1へ入力され、 第 7図 (A ) で示されるような 30相クロック 6 5 1 ( 6 5 1 [0] 〜65 1 [2 9 ] ) を生成する。 生成された 30相クロック 6 5 1によって、 入力コ マンド 1 02 iをコマンドサンプリング回路 60 2によりサンプリン
グする。 この時、 入力コマンド 1 02— iと各クロックの位相は第 7図 (B) のような関係となる。 第 7図 (B) において、 0〜29の数字は それぞれクロック 6 5 1 [0] 〜6 5 1 [2 9] の位相に対応している すなわち、 各コマンドは、 それぞれ位相がずれた 3つのクロックでサ ンプリングし、 合計 240個のコマンドサンプル 6 5 1 ( 6 5 1 [2 9 : 0] [7 : 0] ) を得る。 ここで [2 9 : 0] はサンプリングクロッ クを、 [ 7 : 0 ] は 1 02— iの b i t選択を示す。 コマンドサンプル を 6 5 1 [ 3 n] [7 : 0] , 6 5 1 [3 n+ 1 ] [7 : 0] , 6 5 1 [ 3 n+ 2 ] [ 7 : 0 ] の 3つのグループに分ける。
すると、 それぞれが各コマンドの前半, 中央, 後半のサンプルとなる 。 第 7図 (B) の例では、 65 1 [3 n] [7 : 0] が前半, 6 5 1 [ 3 n+ 1 ] [7 : 0] が中央, 6 5 1 [3 n+ 2] [7 : 0] が後半の サンプルである。 ただし、 前半, 後半のサンプルはクロック 1 0 1ゃコ マンド 1 02のジッ夕などの影響により、 安定したサンプリング結果が 得られないため、 中央のサンプルを選択し使用することが望ましい。 そこで、 コマンドタイミング検出回路 60 3力 3つのグループのうち 、 どのグループが中央のサンプルであるかを判定する。 さらに、 コマン ドラツチ 604でへッダとフッ夕を判定し、 へッダとフッ夕を除いた符 号化コマンド 6 53 ( 6 53 [7 : 0] [7 : 0] ) をラッチする。 6 53 [7 : 0] [7 : 0] において、 前者の [ 7 : 0 ] は、 前記第 4図 における C 0〜C 7を示し、 後者の [7 : 0] は入力コマンド 1 01一 iの b i t選択を示す。 すなわち C O = 6 5 3 [0] [7 : 0] である デー夕の入力も、 ほぼ同じ手順で ί亍う。 3 0相クロック 65 1で入力 データ 1 0 3 iをデータサンプリング回路 60 5でサンプリングし、
1 80個のデータサンプル 6 54 ( 6 54 [29 : 0] [5 : 0] ) を 得る。 データタイミング検出回路 606で、 中央のサンプルを判定する 。 さらにデータラッチ 607でヘッダとフッタを判定し、 符号化データ 6 56 ( 6 56 [7 : 0] [5 : 0] ) をラッチする。 656 [7 : 0 ] [ 5 : 0] において、 [7 : 0] は第 4図における D 0〜D 7を示し 、 [5 : 0] は入力データ 1 03一 iの b i t選択を示す。 すなわち D 0 = 656 [0] [5 : 0] である。 中央のサンプル及び、 ヘッダとフ ッ夕の判定法は後述する。
特に制限するものではないが、 本発明におけるディジーチヱーンメモ リバスシステムでは高速データ通信を行うため、 コマンド伝送線路 1 0
2 , データ伝送線路 1 03上のコマンド/データは通信が容易になるよ うに符号化されている。 すなわち、 これが第 6図の符号ィ匕コマンド 6 5 3であり、 符号化データ 6 56である。 よって、 入力されたデータをメ モリアレイ 6 1 6へ書き込む前に、 符号化コマンド及び符号化データを 復号しなければならない。
符号化コマンド 6 53はコマンドデコーダ 6 1 0で復号され、 符号化 データ 6 5 6はデータデコーダ 608で復号される。 またメモリアレイ 6 1 6から読み出されたデータは、 デ一夕エンコーダ 609で符号化さ れる。 入力されたコマンドに従って、 各バンク 6 1 7へデータを書き込 んだりデータを読み出したりする。 また、 コマンドにはメモリチップ 1
30の内部動作等を規定するモードレジス夕セットがあり、 その場合モ —ドレジス夕 6 1 8の内容を書きかえる。
また、 クロック選択回路 6 20は、 クロック/コマンド/データ出力 用に 30相クロック 65 1から 1 0相クロック 662を選択する。 符号 化コマンド 6 53は、 コマンドパラレル一シリアル変換回路 6 1 3で 1 0相クロック 66 2を用いてタイミングを調整して出力コマンド 1 0 2
— oとして出力される。 符号化デ一夕 6 5 6もしくは符号化読み出しデ ータ 6 6 0は、 マルチプレクサ 6 1 1で選択された後、 データパラレル 一シリアル変換回路 6 1 4で 1 0相クロック 6 6 2を用いてタイミング を調整して出力データ 1 0 3— 0として出力される。
マルチプレクサ 6 1 1は、 読み出し動作時にメモリチップ 1 3 0から データを出力する場合、 符号化データ 6 5 6の代わりに、 符号化読み出 しデータ 6 6 0を選択する。 出力クロック 1 0 1—0は、 クロックジェ ネレ一タ 6 1 2で 1 0相クロック 6 6 2を用いて生成される。 この時、 クロックジェネレータ 6 1 2, コマンドパラレル一シリアル変換回路 6 1 3, データパラレル一シリアル変換回路 6 1 4の遅延時間を同じにな るように設計すれば、 出力クロック 1 0 1一 0、 出力コマンド 1 0 2— o、 出力データ 1 0 3 _ oの位相が揃う。
次に、 メモリチップ 1 3 0における実際の読みだし/書き込み動作に ついて説明する。 第 8図には、 第 6図のバンク 6 1 7内部のブロック図 が示されている。 バンク 6 1 7は大きく分けて F I F 0 (ファーストイ ンーファーストアウトメモリ) 6 1 5とメモリアレイ 6 1 6とに分かれ る。 このうち、 メモリアレイ 6 1 6は基本的な D R AMと同様な構成を している。 同図において、 9 0 1は列アドレス F I F 0であり、 9 0 2 はライ トフラグ F I F 0であり、 9 0 3はライ 卜データ F I F 0であり 、 9 0 4はリードデータ F I F Oであり、 9 0 5は行アドレスデコーダ であり、 9 0 6は列ァドレスデコーダであり、 9 0 7はメモリセルであ り、 9 0 8はセンスアンプであり、 9 0 9はメインアンプであり、 9 1 0はライトバッファである。
メモリチップ 1 3 0における読み出し動作を説明する。 第 9図に読み 出し時の各信号の波形図が示されている。 ここでは、 メモリチップ 1 3 0のバンク 6 1 7 4に対するリ一ド命令が行われる。 第 9図のスロッ
卜 0のコマンド C〇M0において、 ノ ンク 6 1 7— 4の行ァドレス (R OW0)指定、 バンク 6 1 7一 4の列ァドレス (COL O) 指定、 リー ド命令 R (WF 0 = 0) が行われる。 次に、 第 9図のスロット 1のコマ ンド COM 1において、 ノ ンク 6 1 7— 4の列ァドレス (COL 1 ) 指 定、 リ一ド命令 R (WF 1 = 0) が行われる。
入力コマンド 102一 iは、 コマンドデコーダ 6 1 0で復号され、 コ マンド 6 59として、 バンク 6 1 7— 4へ入力される。 バンク 6 1 7一 4中で、 コマンド 6 59は行ァドレス 920 (R OW 0 ) 、 列ァドレス (COL O) 、 ライトフラグへ (WF 0) と分離される。 第 9図のコマ ンド COM 0では、 行アドレスがバンク 6 1 7— 4を指定しているため 、 行アドレスデコーダ 90 5が直ちに動作し、 選択されたワード線 9 2 3を立ち上げる。
列ァドレスもバンク 6 1 7— 4を指定しているため、 列アドレス F I FO 90 1へ格納され、 ライトフラグ WF 0はライトフラグ F I FO 9 02へと格納される。 この段階では列アドレス F I FO 9 0 1には列ァ ドレス COL Oしか格納されていないため、 列アドレスデコーダ 906 は列アドレス COL 0をデコードする。 そして、 次の命令 COM 1で指 定された列ァドレス CO L 1は列ァドレス F I F 090 1へ入力され、 ライ トフラグ WF 1はライ トフラグ F I F〇 902へ入力される。 選択されたワード線 9 2 3に接続されているメモリセル 907はデー 夕線 9 24とチャージシヱァリングを起こし、 データ線 9 24に生じた 微小なレベル変化は、 センスアンプ 908で増幅され、 メモリセルの内 容が読み出される。 列ァドレス COL 0のデコード結果にしたがって、 メモリセル 907の内容はメイン I /0線 92' 5へ出力される。
ここで、 ライトフラグ F I FO 902から出力されているフラグはリ ード指定であるため、 メインアンプ 909はメイン I /〇線 92 5の内
容を増幅し、 リードデータ F I FO 904へ格納する。 この段階で、 列 アドレス F I F〇 90 1は列ァドレス C 0 L 0の内容を破棄し、 次の列 アドレス C〇L 1を列アドレスデコーダ 906へ出力する。 また、 ライ トフラグ F I F 0902も同様に WF 0を破棄し、 次の WF 1を出力す る。 列アドレス CO L 1がデコードされ、 メイン IZO線にデータが出 力されたところで、 WF 1がまたリード ί旨定であるため、 メインアンプ 90 9はメイン I /0線 9 2 5の内容を増幅し、 リードデータ F I FO 904へ格納する。
第 9図において、 コマンド COM 0が指定されてから、 リードデータ F I FO 904にデータが格納されるまでの時間は、 行ァドレスが指定 されてから t R AC及び列ァドレスが指定されてから t C ACというス ペックで規定される。 第 9図の例では、 行ァドレスと列ァドレスとを同 時に指定したため、 列ァドレスを指定した後、 t R A C後にリ一ドデー 夕 F I FOにデータが格納される。
その後、 第 9図のスロッ ト 2のコマンド COM 2で、 バンク 6 1 7— 4に対する F I FO出力命令 (DOUT) が われる。 すると、 メモリ チップ 1 30は F I F 0出力命令が行われた次のスロット 3である、 第 9図のスロット 3で、 ノ ンク 6 1 7— 4の Re adデ一夕 F I FO 90 4の内容を出力する。 第 9図をみてわかる通り、 スロット 3出力時には R 0のデータがリードデータ F I FO 904の出力に現れているため、 第 9図のスロット 3における出力データ 1 03— 0の'内容は R 0となる 更に、 第 9図のスロッ ト 3のコマンド COM 3においてもまた、 ノ ン ク 6 1 7— 4に対する F I FO出力命令 (DOUT) が行われる。 バン ク 6 1 7— 4のリードデータ F I F 0904力、らは、 第 9図のスロット 3の出力時に R 0が出力されて、 第 9図のスロット 4の出力時には R 1
が出力されている。 よって、 次のスロットである第 9図のスロット 4の 出力データ 1 0 3— 0の内容は、 R 1に置き換わっている。
次に、 書き込み動作の説明する。 第 1 0図には、 書き込み動作時の各 信号の波形図を示す。 ここでも書き込み動作と同様にバンク 6 1 7— 4 に対する書き込み動作が行われるとする。 まず、 第 1 0図のスロット 0 におけるコマンド COM 0で、 バンク 6 1 7— 4に対する行アドレス ( ROW0) 指定、 バンク 6 1 7— 4に対する列ァドレス (COL O) 指 定、 ライ 卜命令 (WF 0 = 1 ) が行われる。 '
そして、 コマンド COM 0のライ卜命令に対応するデータは、 第 1 0 図のスロッ ト 1のデ一夕 DAT 1として入力される。 また、 第 1 0図の スロット 1のコマンド COM 1では、 バンク 6 1 7— 4の列ァドレス ( COL 1 ) 指定、 ライト命令 (WF 1 = 1 ) が行われる。 同様に第 1 0 図のコマンド COM 1のライト命令に対応するデータは、 第 1 0図のス ロット 2のデ一夕 DAT 2として入力される。
読み出し動作時と同様、 入力コマンド 1 0 2— iは、 コマンドデコー ダ 6 1 0で復号され、 コマンド 6 59としてバンク 6 1 7— 4へ入力さ れる。 バンク 6 1 7— 4中で、 コマンド 6 5 9は行ァドレス 9 2 0 (R OW0) , 列ァドレス (COL 0) 、 ライトフラグへ (WF 0) と分離 される。 '
第 1 0図のコマンド COM 0では、 行ァドレスがバンク 6 1 7— 4を 指定しているため、 行アドレスデコーダ 9 0 5が直ちに動作し、 選択さ れたワード線 9 2 3を立ち上げる。 また列ァドレスもバンク 6 1 7— 4 を指定しているため、 列ァドレス F I FO 9 0 1へ格納され、 ライトフ ラグ WF 0はライトフラグ F I FO 9 0 2へと格納される。
この段階では、 列ァドレス F I FO 9 0 1には列ァドレス COL 0し か格納されていないため、 列ァドレスデコーダ 9 0 6は COL Oをデコ
一ドする。 そして、 次のコマンド C 0 M 1で指定された行ァドレス C 0 L 1は、 列ァドレス F I FO 90 1へ入力され、 ライ トフラグ WF 1は ライ トフラグ F I F〇 902へ入力される。 そして遅れて入力された第 1 0図の DAT 1は、 バンク 6 1 7— 4のライ トデータ F I FO 9 0 3 に格納され、 次の DAT 2もバンク 6 1 7— 4のライトデータ F I F 0 90 3に格納される。
ノ ノク 6 1 7— 4において、 行アドレス ROW 0及び列アドレス CO L 0のデコードが終了する。 ここで、 ライトフラグ F I FO 902の出 力は、 ライト指定のため、 ライトバッファ 9 1 0が動作し、 ライトデ一 夕 F I FO 90 3から出力されている DAT 1を、 メモリセル 90 7へ 書き込む。 メモリセル 907への書き込みが終了した直後に、 ライ トデ ータ F I FO 903は DAT 1を破棄し、 ライ トフラグ F I F 090 2 は WF 0を破棄し、 列アドレス F I F〇 90 1は COL 0を破棄する。 次に、 列ァドレス F I FO 90 1から出力される列ァドレス CO L 1 が、 列アドレスデコーダ 906でデコードされる。 そして、 ライ 卜フラ グ F I FO 902から出力されている WF 1は、 ライト指定 (WF 1 = 1 ) のため、 メモリセル 907への書き込み準備が出来次第、 ライ トデ 一夕 F I FO 903からのデータ DAT 2をメモリセル 907へと書き 込む。 第 1 0図では説明を簡略化するために、 同じメモリセル 907へ と書き込むように図示してあるが、 もちろん列アドレス COL 0と CO L 1が別のアドレスを指示している場合、 別のメモリセルへと書き込ま れる。 '
メモリチップ 1 30への読み出し/書き込み動作は以上のような手順 で行われる。 ここでは、 行ァドレス指定は 1回のみ行つたが、 別の行ァ ドレスを指定する場合、 該バンクにプリチヤ一ジ命令を発行した後行ァ ドレスを指定することになる。 または、 プリチャージ命令を発行せずに
行アドレスを指定することも可能だが、 その場合はメモリチップ 1 3 0 内部で自動プリチャージがかかる分だけ、 リードデータ F I F O 9 0 4 へのデータ出力や書き込み終了までの時間がかかる。
ここまでは、 単一バンクへのアクセス手順を示したが、 本実施例にお けるメモリチップ 1 3 0は 8バンク構成になつており、 各バンクは独立 して動作できる。 よって、 あるバンクがアクティブであっても、 別バン クがプリチャージしていれば、行アドレスを指定することができる (バ ンクイン夕ーリ一ブが可能) 。 ノ ンクイン夕ーリ一ブを可能にすること で、 バスの使用効率を上げることができる。
列ァドレス指定及びデータ入出力において F I F 0を使用する理由は 、 D RAMのアクセスの遅さに起因する。 一般的に、 D RAMへ行アド レスを指定した後、 列アドレスを指定し、 データが出力されるまでには 数十 n sの時間がかかる。 この値は、 半導体プロセスルールの進歩に伴 つて改善されるが、 論理素子の動作速度の改善と比較して、 その改善速 度は非常にゆつくりしたものであることが知られている。 故に、 例えば マイクロプロセッサのような論理素子と D R A Mとを組み合わせたシス テムが、 半導体プロセスルールの進歩に伴って進歩した場合、 マイクロ プロセッザの進歩に D R A Mの進歩が追いつかず、 システム全体の性能 を D R A Mが制限してしまうという問題がある。
そのため、 例えば S D RAM ( S y n c h r 0 n 0 u s D RAM) では、 バンクインターリーブの他に、 C A Sレイテンシィ ( L a t e n c y ) C L指定によるバス制御が取り入れられている。 すなわち、 クロ ック信号に同期して列ァドレスが指定されたのち、 C L値で指定された サイクル後にデータ出力が開始されるという方法である。 これにより、 行ァドレスを変更せず列ァドレスのみを変更して行くページモードアク セス時に、 前の列アドレスのデータ出力が終了する前に、 次の列ァドレ
スを指定することができ、 バス使用効率が改善される。
しかしこの方式では、 C L値がすべてのメモリ素子でそろっていない とバスのコンフリク卜が起こりやすいため、 すべてのメモリ素子で C L 値を揃えることが一般的である。 これは複数の性能のメモリを混載させ た場合、 最も性能が劣るメモリ素子に全体の性能が足を引っ張られるこ とを示している。 また、 一般的な S D RAMで使用されているクロック 周波数は 6 6〜 1 3 3 MH z程度であるため、 C L値は 2〜 3と比較的 小さな値である。 しかし今後データレートがあがるに従い、 C L値は増 えていく傾向にある。 C L値が増えていくとメモリコント口一ラ側の制 御が煩、雑になってしまう。
それに対して、 本発明における F I F Oを用いる方法では、 まず列ァ ドレス指定がきわめて自由に行われるということに特徴がある。 列ァド レスは行ァドレスの処理が終わるまで列ァドレス F I F 0 9 0 1に格納 されているため、 メモリコントローラ 1 1 0仴 ijでは、 行アドレス処理を 考慮する必要が無い。 さらに、 F I F 0であるため、 次の列ァドレスも 自由に投入することができる。
さらに、 データ出力にも F I F Oを用いるため C L制御を行う必要は なく、 データが F I F◦に格納されるまでの時間のみを考慮に入れれば 良い。 また、 C L制御をなくすことで性能が違うメモリを?昆載しても、 高速なメモリは高速に読み出すことができる。 データが F I F Oに格納 されるタイミングがー緒になる可能性はあるが、 データ出力命令は 1コ マンドにっき 1つであるため、 メモリコントローラ 1 1 0はコンフリク 卜の可能性を考慮する必要性が無い。
さらに、 読み出し動作においては O U T命令の 1スロッ ト後にデ一夕 が出力され、 書き込み動作においては、 ライト命令の 1スロッ ト後に、 データが入力される。 このようにすることにより、 メモリコントローラ
1 1 0は読み出しと書き込みのコンフリク トを容易に回避することがで きる。 つまり、 ライ ト命令と O UT命令を同時に発行しなければ、 読み 出し/書き込みのデータがコンフリクトを起こすことはない。
ただし、 前記第 1図において、 データの流れる方向から見て上流のメ モリチップ 1 3 0にライ 卜命令を発行し、 下流のメモリチップ 1 3 0に O U T命令を発行してもデータはコンフリクトを起こさない。 逆に、 上 流のメモリチップ 1 3 0に 0 U T命令を発行し、 下流のメモリチップ 1 3 0にライト命令を発行すると、 メモリコントローラ 1 1 0を介さずに 、 上流のメモリチップ 1 3 0から出力されたデータが、 下流のメモリチ ップ 1 3 0へ転送される。 これらの特性をうまく使用することで、 バス 効率の更なる向上をねらうことができる。
このように、 列アドレス指定およびデータ入出力において F I F Oを 使用することで、 メモリコントローラ 1 1 0はデータリ一ドが必要にな つた時点で自由に列ァドレスを投入し、 F I F Oにデータの準備が出来 次第、 F I F O出力命令を発行すればよい。 つまり、 リード命令はメモ リセルから F I F Oまでのデ一夕読み出しを指示し、 F I F O出力命令 がデータ出力命令を指示するという階層的な読み出しとなる。 つまり、 第 1読み出し動作ではメモリセルから F I F Oまでの動作が実施され、 第 2読み出し動作では F I F Oから出力端子に出力されるまでの動作が 実施される。 また、 データライトが必要になつ.た時点で自由に列ァドレ スを投入し、 直後にデータを出力すれば良い。 このように本発明におけ るディジ一チヱ一ンメモリバスシステムでは、 制御が簡潔でバス効率が 高いシステムを構成することができる。
次に、 コマンドの体系を説明する。 特に制限するわけではないが例と して、 第 3図を見てわかる通りコマンド伝送路 1 0 2のバス幅は 8 b i tである。 ただし、 コマンドには伝送を容易にする符号ィ匕が行われてい
2003/008973 るため実際には 6 b i t分の情報を伝えること'ができる。 また第 4図を 見てわかる通り、 1つのスロット当たりの 8ワードの伝送が行われるた め、 1つのスロット当たりのコマンドの情報量は 6x 8 = 48b i tで ある。 特に制限するわけではないが、 48b i tの内訳は以下の通りで ある。
行アドレスチップセレク ト (C SR) : 3b i t
列ァドレスチップセレク 卜 (CSC) : 3b i t
出力命令チップセレク ト (C SO) : 3b i t
行アドレスバンクセレク ト (BSR) : 3b i t
列ァドレスバンクセレクト (BSC) : 3 b i t
出力命令バンクセレク ト (B SO) : 3b i t
命令 (RAS, CAS, OUT, WR I , PRE) : 5 b i t
行ァドレス (ROW) : 1 b i t
列ァドレス (COL) : 1 2 b i t
予約 (Re s e rved) : l b i t
合計 : 48b i t
行アドレス ROW、 列アドレス COL、 出力命令 OUTは、 それぞれ まったく独立に命令を発行できるため、 チップセレクトとバンクセレク 卜はすべて専用の b i tが用意されている。 命令は行アドレス指定 (R AS) 、 列ァドレス指定(CAS) 、 出力命令 (OUT) 、 ライト指定 (WR I ) 、 プリチャージ (PRE) にそれぞれ 1 b i tずつ割り当て る。
RAS= 1の場合、 行ァドレスチップセレ久ト C SRで選択されたメ モリチップ 1 30における行アドレスバンクセレクト BSRで指定され たバンクの行アドレス (ROW) が指定される。 列アドレス (COL) についても同様である。 OUT=lの場合、 出力命令チップセレクト C
S〇で選択されたメモリチップ 1 30における出力命令バンクセレクト B S 0で指定されたバンクのリードデータ F I F 0904からデータが 出力される。
ライト指定 (WR I ) は列ァドレス指定 (CAS) と組み合わせて書 き込み動作であることを示す。 プリチヤ一ジには指定ノくンクプリチヤ一 ジと、 全バンクプリチャージの 2種類の命令が用意される。 さらに、 R A Sと B S Rの組み合わせで、 ォ一トリフレッシュ, セルフリフレツシ ュ, モードレジスタセッ トが指定される。
RAS= 1 , PRE= 1, BSR=任意 : 指定バンクプリチ ヤージ
RAS = 0 PRE= 1 , BSR-3' b O O O : 全バンクプリチヤ
、、、
—ン
RAS = 0 PRE= 1 , BSR=3' b 00 1 : ォ一トリフレツシ ュ
RAS = 0 , PRE= 1 , B SR- 3 ' b 0 1.0 : セルフリフレツシ ュ
RAS = 0 , PRE- 1 , B SR= 3' b 1 00 : モードレジスタセ ッ卜
上記いずれの場合も、 チップセレクトは CSRで指定する。 指定バン クブリチヤ一ジの場合は、 B S Rで指定されたバンクをプリチャージす る。 リードデ一夕 F I F〇 904の内容は特に操作しない。 リード/ラ ィト命令の処理が完了していない場合は、 リード/ライ ト処理を優先す る。 故に、 列ァドレス F I FO 90 1、 ライトフラグ F I FO 902、 ライトデータ F I FO 903の内容はプリチャージ時には存在しない。 全バンクプリチャージの場合、 CSRで指定されたメモリチップ 1 3 0の全バンクをプリチャージする。 この時、 リ一ドデータ F I FO 90
4の内容も同時にクリアする。 リード/ライ ト命令の処理が完了してい ない場合は、 リード/ライ ト処理を優先する。 ただし全バンクプリチヤ —ジが発行された時点で、 リードデータ F I F 0 9 0 4の内容は破棄さ れることになるため、 リード処理は無視しても問題ない。 全バンクプリ チャージ命令は、 主にスタートアップ時にメモリチップ 1 3 0の動作を 初期化するために使用する。
オートリフレッシュは、 メモリチップ 1 3 0.内部のリフレッシュカウ ンタ (図示せず) で自動的に生成される列アドレスのリフレッシュを行 う命令である。 この場合、 全ノ ンク同時にリフレッシュを行う。 リード /ライ 卜命令の処理が完了していない場合は、 リード/ライト処理を優 先する。 リ―ドデ一夕 F I F O 9 0 4の内容は保持する。
セルフリフレッシュは、 P L L回路 6 0 1、 入出力回路、 各デコーダ /ェンコーダ等を停止し、 メモリチップ 1 3 0内部のリフレッシュタイ マ及びリフレッシュカウンタで自動的にメモリ内容を保持するという命 令である。 デイジ一チェーン接続を行っているため、 基本的にディジー チェーン接続の下流側からセルフリフレツシュ命令を与えないとバス動 作が不定になる。 セルフリフレッシュからの復帰はスタートアップ手順 と同様である。 ,
モードレジスタセッ トは、 主にスタートアツプ時にメモリチップ 1 3 0にチップセレク ト番号を割り振ったり、 ドライバ回路の電流駆動力を 指定したりするためにモードレジスタ 6 1 8の内容を書きかえる。 レジ ス夕の内容は行ァドレス R OWで指定する。
特に制限するわけではないが、 本実施例におけるディジーチェーンメ モリバスシステムの起動手順(スタートアップ) は以下のようなものが 考えられる。 スタートアップについて第 1図をもとに説明する。 デイジ 一チェーンメモリバスシステムは、 各メモリが P L L回路 6 0 1を内蔵
しているため、 一般的な SDRAMより起動手順が複雑になる。
(.1 ) メモリコントローラ 1 1 0を起動し、 メモリコントローラ 1 1 0 から出力されるクロック信号 1 0 1が安定する。 この時各 PL L制御信 号 1 0 5— 0〜 1 0 5— 2は 1を出力している。 そして、 D I MM情報 バス 1 0 6を通して、 各 D I MMの情報を D I MM情報 ROMから取得 する。
(2) PLL制御信号 1 05_0を 1→0へ立ち下げる。 これにより D I MM 1 0— 0のメモリチップ 1 3 0のモードレジス夕 6 1 8がリセ ットされ、 PLL回路 60 1がロックを開始する。 なお、 リセット直後 のモードレジス夕 6 1 8の内容は、 チップ番号 =3, b i l l (最下流 ) , アドレス出力バッファ電流駆動力 =最大, データ出力バッファ電流 駆動力 =最大である。
(3) D I MM 1 20_0のメモリチップ 1 30中の PL L回路 60 1 がロックするまで待機した後、 PLL制御信号 1 05— 0を 1に戻す。 その後、 全バンクリフレッシュ命令を行い ( C S R = 3 ' b i l l) . 次にモードレジス夕 6 1 8設定を ί亍ぅ。 モードレジス夕 6 1 8の内容は チップ番号 =3' b 000 (最上流) , アドレス出力バッファ電流駆動 力 =適宜、 データ出力バッファ電流駆動力 =適宜である。 出力バッファ の電流駆動力は、 マザ一ボードの設計に依存するため適宜とする。
(4) PLL制御信号 105— 1を 1→0へ立ち下げる。 これにより D I MM 1 0一 1のメモリチップ 1 30のモードレジスタ 6 1 8がリセ ッ卜され、 PLL回路 60 1がロックを開始する。 D I MM 1 20—1 のメモリチップ 1 30の動作は上記と同様である。
(5) D I MM 1 20— 0のメモリチップ 1 30中の PL L回路 60 1 がロックするまで待機した後、 PLL制御信号 1 05— 1を 1に戻す。 その後、 全バンクリフレッシュ命令を行い (C SR= 3, b 1 1 1 ) 、
次にモードレジスタ設定を行う。 モードレジスタ 6 1 8の内容はチップ 番号 = 3' b 00 1, アドレス出力バッファ電流駆動力-適宜、 データ 出力バッファ電流駆動力 ==適宜である。
(6) PLL制御信号 1 0 5_2を 1— 0へ立ち下げる。 これにより D I MM 1 20— 2のメモリチップ 1 3 0のモードレジス夕 6 1 8がリセ ットされ、 PLL回路 60 1がロックを開始する。 D I MM 1 20— 2 のメモリチップ 1 30の動作は上記と同様である。
(7) D I MM 1 20— 2のメモリチップ 1 30中の PL L回路 60 1 が口ックするまで待機した後、 P L L制御信号 1 05— 2を 1に戻す。 その後、 全バンクリフレッシュ命令を行い (CSR=3' b i l l ) . 次にモ一ドレジス夕設定を ί う。 モードレジスタの内容はチップ番号 = 3' b 0 1 0、 アドレス出力バッファ電流駆動力 =ゼロ (停止) 、 デー タ出力バッファ電流駆動力 =適宜である。 最下流のアドレス出力は、 夕 一ミネータ 1 04で終端されるため出力バッファが動作する必要はない
(8)前記のように、 全メモリチップ 1 30が起動したら、 リードデ一 夕をメモリコントローラ 1 1 0が正しく受け取れるように、 メモリバス 全体のレイテンシを計測する。 本発明におけるデイジ一チェーンメモリ バ'スシステムは、 メモリチッフ。 1 30内部のレイテンシのばらつきを許 容できるため、 OUT命令が発行されてから、 実際にデータをメモリコ ントロ一ラ 1 1 0で受け取るまでのレイテンシを測定する必要がある。 これは、 単純なテストパターンを使用するだけで良い。 第 1図の例では データ伝送路 1 03は 4系統用意してあるため、 4系統を個別にレイテ ンシ制卸を; f亍ぅ。
下流の D I MM 1 20上のメモリチップ 1 30の入力クロック 1 0 1 iは、 上流の D I MM 1 20上のメモリチップ 1 30から出力される
出力クロック 1 0 1—0であるため、 上流のメモリチップ 1 30に搭載 された PLL回路 60 1が安定してから、 下流のメモリチップ 1 30に 搭載された PL L回路 60 1を起動する。
また、 モードレジス夕リセッ ト直後は、 すべてのメモリチップ 1 30 がチップ番号- 3' b i l lに設定されているため、 上流の D I MM 1 20上のメモリチップ 1 3 0がモードレジスタ設定を終えるまで、 下流 の D I MM 1 20上のメモリチップ 1 3 Qのリセットを解除してはなら ない。 もし解除すれば、 上流と下流のメモリが同じチップ番号 (= 3, b 1 1 1 ) となり、 チップセレクトのコンフリク卜が引き起こされる。 前記の例ではチップセレクトを上流から順に設定する方式を示したが 、 チップセレクトのコンフリクトを回避するために、 メモリチップ 1 3 0内部で下流に出力するチップセレクト信号の内容をデクリメン卜する と言う方法も考えられる。 すなわち、 メモリチップ 1 30自体は各チッ プセレクト信号 =3, b 000の場合、 自ら力選択されたと判断し、 モ ードセレクト信号に頼らない方法である。
例えばメモリコントローラ 1 1 0が C S R= 3 ' b 00 1を出力した とする。 最上流のメモリチップ 1 30は、 CS'R= 3, b 00 1を判定 し、 自分への命令ではないと判断する。 そして、 下流のメモリチップへ 出力する前に C SR = CSR— 1という演算を行い、 C SR=3' b 0 00を下流のメモリチップに出力する。
2番目のメモリチップ 1 30は CSR=3, b 000を半 U定し、 自分 への命令であると判断し処理を行う。 その後下流のメモリチップへ出力 する前に C SR = C SR— 1という演算を行い、 C SR= 3' b i l l を下流のメモリチップに出力する。 このようにすることにより、 チップ セレクト信号のモードレジス夕設定をしなくても、 コンフリクトを起こ すことはなくなる。
このように、 D I MM 1 2 0を上流から順に、 P L Lロック及びモー ドレジス夕セッ 卜することで、 すべてのメモリチップ 1 3 0に適切な設 定を行うことができる。 なお、 D I MM 1 2 0には表面だけにメモリチ ップ 1 3 0が存在するシングルサイド D I MMと、 両面にメモリチップ 1 3 0が存在するデュアルサイド D I MMがある。 第 1図の実施例では 説明の簡略化のため、 シングルサイ ド D I MMで説明を行ったが、 デュ アルサイ ド D I MMの場合も上流側から設定する。 また、 各チップセレ クト信号 (C S R, C S C , C S〇) 及びチップ番号は 3 b i tである ので、 シングルサイド D I MMで 8枚、 デュア'ルサイ ド D I MMで 4枚 まで対応することができる。
第 1図において、 D I MM情報 R O M 1 4 0には D I MMの容量、 シ ングル /デュアルサイ ド D I MMの区別、 推奨電流駆動力設定、 t RA C t C A C等の情報が書き込まれている。
次に、 この発明に係るデイジ一チヱ一ンメモリバスシステムにおける コマンド /データの符号化について説明する。 本発明は、 特にこの符号 化方式に制限されるわけではないが、 例として符号化方式を説明する。 ディジーチェーンメモリバスシステムはシェアードバスを使用しないこ とで、 通信の高速化を行っているが、 コマンド /データの符号化で更な る高速ィ匕を ί亍ぅ。
シヱァ一ドバスに限らず、 伝送線を多ビッ 卜用いる、 パラレル伝送方 式は、 伝送線を 1本だけ用いるシリアル伝送方式と比較して、 信号伝送 の周波数を上げにくいといわれている。 その原因の最も大きなものは、 各伝送線の信号伝送タイミングのずれ (スキュー) である。 このスキュ 一が起こる原因は、 いくつか考えられるが、 大きな原因としては同時ス イッチングノィズの影響が挙げられる。
一般的にパラレル伝送方式では、 多ビッ卜のデータを、 ビット数と同
数の伝送線にのせ、 データ取り込み用のクロッ'ク信号 (もしくはスト口 ーブ信号) を同時に伝送し、 クロック信号に同期してデータを送受信す る。 そのため、 データの変化が起こらない場合は、 クロック信号のみが 遷移し、 逆にすベてのデータが逆転する場合は、 クロック信号を含めす ベての信号が遷移する。 ゆえに、 1 6 b i tパラレル伝送では、 クロッ クのみ 1 ビッ 卜の遷移から、 1 7ビッ 卜の同時遷移まですべての可能性 が起こり得る。
第 1 1図に示した通り、 I Cのパッケージにおいて、 各ピンには必ず ィンダクタンス成分 1 2 0 1が含まれる。 信号遷移が起こり出力ドライ バ 1 2 0 2に電流が流れると、 このィンダク夕ンス成分の影響で I C本 体に印可される電源電圧が減少する。 電源電圧の減少により、 出力ドラ イノ 1 2 0 2の電流駆動力は減少する。 この時、 第 1 2図に示した通り 、 1 ビッ ト (b i t ) のみ遷移した場合と、 例えば 1 7ビッ ト (b i t ) 遷移した場合とでは、 1 7ビット同時に遷移した方が電流駆動力の減 少が激しい。 よって、 1 ビッ ト遷移した場合と、 1 7ビッ ト遷移した場 合では 1 7ビッ ト遷移した場合の方が、 信号伝送の遅延時間が大きい。 このずれがスキユーとなつて伝わる。
本発明のデイジ一チェーンメモリバスシステムでは、 ァドレス伝送線 1 0 2の 8ビット、 データ伝送線 1 0 3の 6ビットのうち、 每デ一夕必 ずァドレス伝送線 1 0 2は 4ビット, データ伝送線 1 0 3は 3ビット遷 移するようにする。 そして、 伝送線のレベルではなく、 直前のレベルと 比較して伝送線が遷移したか/遷移しなかったかに情報を符号化する。 そのように符号化を行つた場合、 1回に送るこ'とができるコマンドとデ 一夕の場合の数は、 8 C 4 = 7 0と 6 C 3 = 2 0と表すことができる。
6ビッ卜の場合の数は 6 4 , 4 bビット場合の数は 1 6であるため、 コマンド 6ビット /ヮード、 アドレス 4ビッ 卜/ヮ一ドを伝送すること
ができる。
第 1 3図に実データと伝送線 1 0 3の遷移の対応を示す。 データの欄 に示される実データに対し、 トランスミツションコードが与えられる。 トランスミッションコードが 1であつた場合、 '伝送線 1 0 3のレベルは 遷移し、 トランスミッションコードが 0であった場合、 伝送線 1 0 3の レベルは直前の値を保持する。 ァドレス伝送線 1 0 2の場合も、 D a t aの部分が 4ビットから 8ビットへ, トランスミッションコードの部分 が 6ビッ 卜から 8ビットへと拡張されるだけで基本的には同様である。 第 1 3図には、 データ無しにトランスミッションコードが割り当てら れている。 これは例えば、 デイジ一チェーンメモリバスシステムをグラ フィックメモリに応用する場合有効である。 グラフィックメモリの場合 、 ある一点に描画したいという場合が考えられる。 しかし高速 D RAM では高速データ転送を実現するため、 バースト転送を行うため、 描画し たい点以外のメモリも書き換える必要がある。
従来は、 リード一モディファイ一ライ 卜 (R' e a d— M o d i f y— W r i t e ) で実現するか、 データマスク機能で実現していた。 ただ、 前者は 1回の動作で 2回のメモリアクセスが必要なためバス効率が悪い 。 後者はメモリの制御が複雑になるという問題があった。 本発明による デイジ一チヱーンメモリバスシステムは、 第 1 3図に示した通り、 デ一 夕無し (N o D a t a ) が直接転送できるため、 容易にデータマスク が実現できる。
この符号化方式では、 一回符号化/復号に失敗すると、 伝送線のレべ ルの間違いがその後回復せず、 復号方式によってはコマンド、 デ一夕が 伝送されなくなってしまう可能性がある。 そのため、 本発明におけるデ イジ一チヱーンメモリバスシステムでは第 4図に示した通り、 データを スロッ トという単位に切り分け、 デ一夕伝送の'復帰点としている。
前記の通り、 スロットの初めは H (He ade r) となっている。 こ の Hは、 伝送線のレベルがすべて L 0レベルとなっている。 この Hはコ マンド, デー夕の内容と異なり、 伝送線の遷移ではなくレベルで定義さ れる事に注意する。 スロッ 卜の最初である Hは全 b i tが Loレベルで あるため、 C 0では 8 b i t中 4 b i tが H iレベル, D 0は 6 b i t 中 3 b i tが H iレベルとなる。 この関係を利用することで、 容易に H の位置を検出することができる。 '
Hの次には 8ワードのコマンド, データ本体 (CO〜C 7, D0〜D 7) が続く。 このコマンド、 データに前記の符号化が行われている。 こ こで、 C7, D 7における伝送線のレベルは、 伝送されるコマンド、 デ 一夕の内容によつて決定され、 全ビッ卜がハイレベルであることも考え られる。 よって、 C 7, D 7から直接 H (全ビット=ロウレベル) へと 遷移させると、 大きな同時スイッチングノイズが発生する可能性がある . 。 これでは、 符号化を行った意味が低下する。
そこで第 4図に示した通り、 C7, 07と11の間に? (Foo t e r ) を定義する。 この Fは、 例えばコマンド伝送線 102の上位 4ビッ ト (1 02 [7 : 4] )及びデータ伝送線 103の上位 3ビット (103 [5 : 3] ) を無条件でロウレベルにし、 コマンド伝送線 102の下位 4ビッ ト ( 102 [ 3 : 0 ] )及びデータ伝送線 103の下位 3ビッ ト ( 103 [ 2 : 0 ] ) は C 7 , D 7のレベルを保持する。
すると、 C 7から Fへの遷移は 0〜4ビットとなり、 D7から Fへの 遷移は 0〜3ビッ トとなる。 符号化によって、 伝送線の遷移数をデータ パターンによらず一定にするという目的からは少し外れるが、 遷移数が 多くなるよりは、 少なくなる方が同時スィッチングノィズ耐 I'生が良くな るため、 あまり問題にはならない。
それでもなお問題であるならば、 Fを前記のような単純な方法で生成
するのではなく、 C 7, D 7のレベルから生成することで対応すること ができる。 Hのレベルがすべてロウレベルであり、 その後 1ヮード每に 、 コマンド伝送線では 4ビッ ト、 データ伝送線では 3ビッ 卜の伝送線の レベル遷移が起こる。 この事から、 偶数回のデータ転送が行われた後は 、 コマンド伝送線、 データ伝送線とも偶数ビットの伝送線がハイレベル である。
この事から、 c 7→F→Hの遷移において、 必ず 4ビットごとの伝送 線の遷移が行われるように Fの値を算出することが可能である。 同様に 、 D 7→F→Hの遷移において、 必ず 3ビットごとの伝送線の遷移が行 われるように、 Fの値を算出することも可能である。 このように、 C 7 , D 7における伝送線のレベルから、 Fの値を適宜算出することで F , Hも含め、 1ワード毎の伝送線レベル遷移の数を常に一定に保つことが でき、 同時スイッチングノィズ耐性を更に改善することができる。 第 1 4図には、 本発明によるデイジ一チヱ一ンメモリバスシステムを 用いたコンピュータのマザ一ボード 1 5 0 1のブロック図が示されてい る。 マザ一ボード 1 5 0 1上には、 マイクロプロセッサ (ソケット) 1 5 0 2、 メモリコントローラ 1 1 0、 周辺機器コントローラ 1 5 0 3、 I / 0コントローラ 1 5 0 4、 周辺機器ドータボード (スロッ ト) 1 5 0 5、 外部増設ポート 1 5 0 6、 メモリサブシステム 1 5 0 7、 グラフ イツクサブシステム (スロット) 1 5 0 8等が配置されている。
マザ一ボード 1 5 0 1は、 マイクロプロセッサ 1 5 0 2から、 マイク 口プロセッサバス 1 5 1 1を通して、 メモリコントローラ 1 1 0へ接続 されている。 メモリコントローラ 1 1 0は、 メモリサブシステムをコン トロールするための機器であり、 メモリサブシステム 1 5 0 7の他、 周 辺機器コントローラ接続ポート 1 5 1 2を通して周辺機器コントローラ 1 5 0 3へ、 グラフィックポー h 1 5 1 5を通してグラフイツクサブシ
ステム 1 5 0 8へと接続される。
周辺機器コントローラ 1 5 0 3は、 様々な周辺機器を接続するための バスである、 周辺機器バス 1 5 1 3をコントロールする。 周辺機器バス 1 5 1 3には、 コンピュータの様々な I /O機器をコントロールする、 I / 0コントローラ 1 5 0 4をはじめとして、 様々な周辺機器ドータボ —ド 1 5 0 5が接続されている。 第 1 4図では省略されているが、 外咅 P 機器は外部増設コネク夕 1 5 0 6に接続され、 信号は外部機器ポート 1 5 1 4を通して、 I /0コントローラ 1 5 0 4へ接続される。
第 1図のディジーチェーンメモリバスシステムは、 メモリサブシステ ムに最適されたものである。 第 1 4図においては、 メモリサブシステム 1 5 0 7に応用されている。 しかし、 第 1 4図におけるマイクロプロセ ッサバス 1 5 1 1、 周辺機器コントローラ接続ポート 1 5 1 2、 周辺機 器バス 1 5 1 3、 外部機器ポート 1 5 1 4、 グラフィックポート 1 5 1 5等相方向接続を行うバス/ポートに応用することも可能である。 また 、 グラフィックサブシステム 1 5 0 8にもメモリが搭載されることがー 般的であり、 このグラフィックサブシステム 1 5 0 8のメモリバスにも 、 デイジ一チヱ一ンメモリバスシステムを応用することが可能である。 言うまでもない事ではあるが、 本発明では D I MMを用いてメモリを 増設しているが、 D I MMを用いずに基盤に直接メモリを実装しても良 い。 また、 チップ内部の伝送線に本発明を適用することも可能である。 第 1 4図にはコンピュータ用のマザ一ボードとしての応用例を挙げた 。 メモリサブシステムとして使用する場合、 メモリチップ 1 3 0をメモ リサブシステムに接続するために、 D I MM及び、 D I M Mソケッ トの しくみが必要となる。 シヱァ一ドバスの場合は.、 メモリはスタブを通し て接続されるため、 D I M M及び D I M Mソケッ トの構造は比較的単純 であった。
しかし、 ディジーチェーンメモリバスシステムは、 信号がメモリチッ プ 1 '30内部を通る構造となっているため、 D I MMソケッ ト—D I M M 1 20→D I MMソケッ ト'という信号の流れとなる。 ここで、 D I M Ml 20が挿入されていない状態では、 信号が途中で切り離された状態 となり、 ディジーチェーンメモリバスシステムが機能しなくなる。 一般 的には、 メモリチップ 130が搭載されていない、 ダミーの D IMMを 挿入し、 信号の接続を保つ。 し力、し、 この方式はコストがかかる上、 ダ ミー D I MMをユーザーが保存しなければならない等、 使い勝手の面で 問題が多い。
第 1 5図にディジーチェーンメモリバスシステムにおける D I MM 1 20の概略図を示す。 なお、 第 16図は概略図であるため、 いろいろな 信号線、 電源、 D I MM情報 ROM 140、 メモリチップ 1 30の数等 が省略されている。 メモリチップ 130はすべて同様の構造である。 第 15図の例では、 メモリチップ 1 30の右側に信号線の入力端子 1 0 l_i , 102_i , 1 03— iが配置され、 左側に信号線の出力端 子 10 l— o, 102— 0, 103— 0が配置されている。 また、 左右 で同じ高さのピンは、 同じ信号の入力と出力という対応になっている。 このようにメモリチップ 1 30のピンを配置することで、 D I MM 1 2 0上の配線を簡略化することができる。
すなわち、 表面側 (f r ont s i de) のメモリチップ 130の 出力端子と、 裏面側 (back s i de) のメモリの出力端子が近い 位置に存在するため、 この 2·端子を接続するために単純に基盤にスルー ホール 1602を用いれば最短距離で接続できる。 言うまでもないこと であるが、 この位置関係で重要なのは、 入力ピンと出力ピンが、 メモリ チップ 130の反対側の位置にあるということで、 この関係において、 左右が右左になろうと上下になろうと下上になろうと、 ピンの配置が完
全に左右対称 (上下対称) でなくとも問題ない。
その上で、 D I MM 1 2 0の信号配線パターン 1 6 0. 1を表裏で左右 対称にすることで、 D I MM 1 2 0の入力端子 1 6 0 3の信号線 1 0 1 — i, 1 0 2— i, 1 0 3— iと、 出力端子 1 6 0 4の信号線 1 0 1— o, 1 0 2— o, 1 0 3— 0が同じ位置の表裏という関係となる。 また 言うまでもないことであるが、 ここで重要なのは、 D I MMの端子 1 6 0 3と 1 6 0 4において、 同じ信号が表裏の関係になることで、配線パ ターンの作り方に制限されるものではない。 無論裏表の関係になるもの は、 信号線 1 0 1, 1 0 2, 1 0 3であり、 その他の信号線及び電源端 子は関係ない。
前記のような D I MM 1 2 0の構造を踏まえた上で、 D I MMソケッ 卜の構造例を第 1 6図に示す。 第 1 6図は D I MMソケットの断面図で あり、 D I M M 1 2 0が挿入された状態と、 揷入されていない状態の 2 態が図示されている。 まず、 D I MM 1 2 0が揷入された状態では、 通 常の D I MMと変わらず、 ソケットの端子と D I M M 1 2 0の端子が接 続されている。 D I MM 1 2 0が挿入されていない状態では左右の端子 が短絡する。
ここで前記に記した D I MM 1 0の構造によると、 D I MM 1 2 0 の端子は表裏が同一の信号の入出力である。 よって、短絡することで、 D I MM 1 2 0が挿入されていない状態でも、 信号の接続が途絶えず、 ディジーチェーンメモリバスシステムを動作させることができる。 第 1 6図の例では、 D I MMソケッ卜における端子のばねの力を利用した単 純なものであるが、 動作を確実にするため、 D I MM 1 2 0固定用のレ バー、 D I MM 1 2 0挿入時の力などを利用して機械的に端子を短絡さ せることも可能である。 これらの構造により、 D I MM 1 2 0のコスト や使い勝手も従来の S D R A Mとほぼ変わらないメモリシステムが構成
できる。
D I MM 1 0は基本的に次段への増設が可能であることを前提にし てきた。 し力、し、 D I MM 1 2 0は必ずしも次段への増設が必要である とは限らない。 例えば、 携帯型コンピュータなどの場合、 D I MMスロ ッ 卜が 1つしか搭載しておらず、 メモリの増量は増設という形ではなく D I MMの交換という形態を取るものが多い。 その場合、 第 1 7図に示 した通り、 夕一ミネ一夕 1 0 4を D I MM 1 2 0上に搭載することで、 D I MMからクロック搶号出力 1 0 1—0及びコマンド信号出力 1 0 2 —0に対応した端子を省略できる。 それにより、 D I MMソケットの面 積縮小が可能になる。 携帯型のコンピュータでは、 あらゆる部品の実装 面積を縮小することが求められており、 増設のできない D I MM 1 2 0 という選択肢もありえる。
もちろん、 メモリチップ 1 3 ,0の構造まで考えに入れれば、 第 1 8図 に示したように、 クロック信号 1 0 1—0及びコマンド信号 1 0 2 _ o が出力されないメモリチップ 1 3 0—1を使用して、 第 1 7図と等価な D I MM 1 2 0を構成することができる。 この場合、 メモリチップ 1 3 0において、 出力端子が製造段階で機能しないようにされていてもよい が、 モードレジスタ 6 1 8もしくは外部ピン設定で、 オンチップターミ ネーションを機能させたり出力バッファを停止させたりしても良い。 言 うまでもないが、 第 1 7図、 第 1 8図に示した D I MM 1 2 0の構造を 用いても、 増設可能なデイジ一チェーンメモリバスシステムでは、 最下 流の D I MM 1 2 0として使用することができる。
第 1 9図には、 本発明に係るディジ一チヱーンメモリバスシステムの 他の一実施例のブロック図が示されている。 第 1 9図において、 基本的 な構成は、 第 1図の実施例とあまり変わらない。 ただし、 メモリチップ 1 5 0に P L L回路を内蔵せず、 外部 P L Lチップ 1 6 0が設けられる
。 これにより、 メモリチップ 1 5 0のチップ面積と消費電力の低減を実 現するものである。
ディジーチヱーンの前段の D I M M 1 2 0もしくはメモリコントロー ラ 1 1 0から出力されたクロック信号 1 0 1は'、 一旦 P L Lチップ 1 6 0へと入力され、 そこから、 D I M Mクロック 1 0 1—1として、 D I M M 1 2 0上の各メモリチップ 1 5 0へとクロックが分配さる。 また、 次段の D I M M 1 2 0へクロック 1 0 1が出力される。
この方式では、 ? しチップ1 6 0における 2つのクロック出力 1 0 1— 1, 1 0 1の位相差がメモリチップ 1 5 0における入力クロック 1 0 1— 1と出力コマンド 1 0 2, データ 1 0 3の位相差と同じであるよ うに遅延量を設計することで、 クロック伝送線 1 0 1とコマンド伝送線 1 0 2, デ一夕伝送線 1 0 3との位相差を小さくすることができる。 も ちろん、 位相差を別の手段で吸収すること、 もしくは吸収する必要が無 い場合、 特に遅延量を一致させなくとも良い。 さらにクロック 1 0 1と D I MMクロック 1 0 1 _ 1とを同一の信号線'としても問題なくなる。 第 2 0図には、 前記第 1 9図のメモリチップ 1 5 0の一実施例のプロ ック図が示されている。 また、 第 2 1図には、 その動作の一例を説明す るための波形図が示されている。 第 2 0図において、 2 1 0 1はコマン ド入力遷移検出回路であり、 1 1 0 2はコマンドラッチであり、 1 1 0 3はデ一夕入力遷移検出回路であり、 1 1 0 4はデ一夕ラッチであり、 2 1 0 5はコマンドパラレル一シリアル変換回路であり、 1 1 0 6はデ 一夕パラレル一シリアル変換回路である。 第 2 1図では、 コマンド 1 0 2の入出力について説明するが、 デ一夕 1 0 3の入出力についても同様 の方法で処理することができる。
この実施例において、 前記第 1図の実施例と同様にディジーチヱーン メモリバスシステムにおいてコマンド 1 0 2、 'データ 1 0 3は各ワード
毎に伝送線のレベル遷移が起こる。 よって、 信号線の遷移でタイミング を測定しコマンド入カ 1 0 2— i , データ入力 1 0 3 _ iをラッチする ことができる。 まず、 コマンド入力遷移検出回路 2 1 0 1がコマンド入 力 1 0 2— iのレベル遷移を検出し、 1 0相コマンドラツチクロック 2 1 5 1を生成する。 このコマンドラッチクロックにしたがって、 コマン ドラツチ 2 1 0 2がコマンド入カ 1 0 2— iをラッチする。 そして、 D
1 MMクロック 1 0 1—1に同期して、 コマンド出力回路 2 1 0 5が コマンド出力 1 0 2— 0を出力する。
データ 1 0 3においても、 データ入力遷移検出回路 2 1 0 3でデータ 入力 1 0 3— iのレベル遷移を検出し、 生成された 1 0相データラッチ クロック 2 1 5 2で、 データラッチ 2 1 0 4がデ一夕入力 1 0 3— iを ラッチする。 そして、 D I MMクロック 1 0 1—1に同期して、 デ一夕 出力回路 2 1 0 6がデータ出力 1 0 3— 0を出力する。 コマンド 1 0 2 、 データ 1 0 3が入力された後のメモリ 1 5 0の動作は、 前記第 1図の 実施例におけるメモリチップ 1 3 0の動作と同様であるためここでは省 哔する。
前記第 2 0図の実施例において、 P L L回路を用いずにコマンド 1 0 2, データ 1 0 3を取り込む方法を示した。 そ'れを応用することで、 第
2 2図のプロック図に示すような更に他の実施例が考えられる。 前記の 各実施例と違い、 この実施例では、 各メモリチップ 1 7 0へ共通にクロ ック信号 1 0 1が入力されているということである。 第 2 3図に、 第 2 2図の実施例におけるメモリチップ 1 7 0のプロック図が示されている 。 メモリチップ 1 7 0の動作は、 第 1 0図の実施例におけるメモリチッ プ 1 5 0と同様な動作を行うため詳細な説明は省く。
ただし、 クロック 1 0 1 とコマンド 1 0 2, データ 1 0 3のタイミン グが合っていないためメモリ内蔵 D L L 2 4 0 1でクロックのタイミン
グを変更してから、 コマンド出力回路 2 4 0 5及びデータ出力回路 2 4 0 6を動作させる。 内部クロック 2 4 5 1が 1 0相クロックではないた め、 コマンド出力回路 2 4 0 5及びデータ出力回路 2 4 0 6は第 2実施 例と違うものを採用している。
クロックタイミングを調整する回路として、 前記の例では D L L 2 4 0 1を採用した。 そのため、 クロック信号 1 0 1は、 コマンド 1 0 2、 データ 1 0 3の転送レートと等しい周波数を持つかもしくは半分の周波 数を持つことになる。 もし、 D L Lの代わりに P L Lを採用すれば、 ク ロック 1 0 1はコマンド 1 0 2、 データ 1 0 3の転送レートの 1 /Xと いう値を採用することができる。 '
これまでの各実施例では、 メモリコントローラ 1 1 0とメモリチップ 1 3 0、 1 5 0、 1 7 0との信号をコマンド 1 0 2とデータ 1 0 3とに 分けてきた。 ここで、 ライ トデータをコマンド伝送線 1 0 2上で転送す ると第 2 4図のプロック図に示した実施例の形になる。 このように構成 とすることで、 メモリコントローラ 1 1 0のピン数を削減することがで きる。 またリードデータとライトデータを同時に転送することで、 バス 効率を向上させることができる。 最上流 D I M M 1 2 0— 0上のメモリ チップ 1 3 0の 1 0 3— i ピンは使用しないため、 マザ一ボード上で終 端処理を行つてあるが、 単純に G N Dへ接続しても良い。
ここまでの各実施例では、 メモリを多段に接続することを前程として 議論してきたが、 メモリの応用には比較的小容量でデー夕転送速度が高 いことを要求するものがある。 例えば高速マイクロプロセッサ用の外部 キャッシュメモリや、 グラフイツクサブシステム用のメモリ等である。 これらの応用例では、 メモリを多段に接続する必要はない。 このような 応用では、 メモリチップ 1 3 0のクロック出力 1 0 1—0及びコマンド 出力 1 0 2 0のピンが不用である。
第 2 5図には、 本発明のディジーチヱーンメモリバスシステムの更に 他の一実施例のブロック図が示されている。 第' 2 5図の実施例は、 これ までの実施例と違い、 コマンド伝送線 1 0 2がメモリコントローラ 1 1 0に入力されている。 これまでの実施例ではリ―ドデ一夕は、 データ伝 送線 1 0 3を通してメモリコントローラ 1 1 0に入力されていたが、 第 2 5図の実施例では、 データ伝送線 1 0 3に加えて、 不用になったコマ ンド伝送線 1 0 2も使用する。
上記コマンド伝送線 1 0 2にコマンドを出力するかデータ'を出力する かは、 モ一ドレジス夕を書き換えて対応する。 ライトデータは、 基本的 にデータ伝送線 1 0 3でメモリチップ 1 9 0へ入力するが、 コマンド伝 送線 1 0 2からもデータを送るようにしても良い。 このように構成する ことで、 メモリチップ 1 9 0における読み出し動作時のバス効率が改善 される。 '
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが 、 本願発明は前記実施例に限定されるものではなく、 その要旨を逸脱し ない範囲で種々変更可能であることはいうまでもない。 前記の各実施例 では、 クロック伝送線 1 0 1 とコマンド伝送線 1 0 2は、 メモリコント ローラ 1 1 0から 1組出力して、 最上流のメモリに分配しており、 これ らの信号線は 1対 1で接続していなかった。 この事で問題があれば、 ク 口ック伝送線 1 0 1とコマンド伝送線 1 0 2を必要な分メモリコント口 ーラから出力しても良い。
また、 第 2 6図に示した実施例のようにバスバッファ 2 7 0 1を利用 して分配しても良い。 この場合、 データ伝送線もバスバッファ 2 7 0 1 を通せば、 クロック 1 0 1、 コマンド 1 0 2、 'データ 1 0 3のタイミン グが一致する。 なお言うまでもないことであるが、 メモリ 1個当たりの デ一夕入出力 1 0 3は 1組であつたがこれが 2組以上でも問題はない。
この発明は、 半導体集積回路装置及びデータ処理システム及びメモリシ ステムに広く利用することができる。
本願において開示される発明のうち代表的なものによって得られる効 果を簡単に説明すれば、 以下の通りである。 すなわち、 1つの半導体集 積回路装置において、命令、 情報、 情報の所在位置、 夕イミング信号の いずれかを含む入力信号が供給される入力端子と、 上記入力信号に応答 し、 内部回路で形成された信号又は上記入力端子から供給された信号を 出力させる出力端子とを持つようにすることにより、 ディジーチヱ一ン 構成で高速なデータの伝達を可能とした半導体集積回路装置を得ること ができる。
命令、 情報、 情報の所在位置、 タイミング信号のいずれかを含む入力 信号が供給される入力端子と、 かかる入力信号に応答して内部回路で形 成された信号又は上記入力端子から供給された信号を出力させる出力端 子とを備えた半導体集積回路装置の複数個を用い、 上記複数の半導体集 積回路装置のうち前段とされる半導体集積回路装置の出力端子と次段と される半導体集積回路装置の入力端子との対応するもの同士が接続され て縦列形態とし、 信号生成回路で形成された上記命令、 情報、 情報の所 在位置、 タイミング信号のいずれかを含む入力信号を上記初段の半導体 集積回路装置の入力端子に供給し、 終段の半導体集積回路装置の出力端 子からの信号を上記信号生成回路に供給することにより、 ディジーチヱ ーン構成を利用した高速なデータの伝達を可能としたデータ処理システ ムを得ることができる。
コマンド、 データ、 アドレス、 タイミング信号を含む入力信号がそれ ぞれ供給される入力端子と、 上記入力端子から供給された入力信号に対 応した信号をそれぞれ出力させる出力端子とを含む半導体記憶装置の複 数個を用い、 上記複数の半導体記憶装置のうち、 前段とされる半導体記
憶装置の出力端子と次段とされる半導体記憶装置の入力端子との対応す るもの同士が接続されて縦列形態とすることにより、 ディジーチヱーン 構成を利用した高速なデ一夕の伝達を可能としたメモリシステムを得る ことができる。