JP3865790B2 - メモリモジュール - Google Patents
メモリモジュール Download PDFInfo
- Publication number
- JP3865790B2 JP3865790B2 JP50543499A JP50543499A JP3865790B2 JP 3865790 B2 JP3865790 B2 JP 3865790B2 JP 50543499 A JP50543499 A JP 50543499A JP 50543499 A JP50543499 A JP 50543499A JP 3865790 B2 JP3865790 B2 JP 3865790B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- memory
- memory module
- data input
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
Landscapes
- Dram (AREA)
Description
本発明は、メモリモジュール及びそれを用いたデータ処理システムに係り、殊に、メモリモジュールの高速インタフェース技術に関し、例えばSDRAM(Synchronous Dynamic Random Access Memory:シンクロナス・ダイナミック・ランダム・アクセス・メモリ)を用いた高速メモリモジュールに適用して有効な技術に関するものである。
背景技術
近年、マイクロプロセッサの高性能化にともなって、主記憶についても高速化の要求が高まってきている。特にマルチメデイアパソコンなど大量の画像データの入出力を高速に行うシステムにおいて特に高速の主記憶に対する要求は高まる一方である。これに伴い、主記憶に用いられているDRAM(Dynamic Random Access Memory:ダイナミック・ランダム・アクセス・メモリ)に関しては、ファーストページモードから、より高速なデータ転送が可能なEDO(Extended Data-OUT)ページモード品への移行が進み、最近ではシステムクロックに同期してDRAM内部をパイプライン動作させる事により100MHz程度のデータ転送率を実現したSDRAMも主記憶に使われ始めている。
一方、DRAMの応用分野は多岐にわたっており、ゲーム機などのように数個程度を使うものから、ワークステーションなどのように数1000個使うシステムなど、様々なニーズに対応する必要が生じている。大容量を実装する場合にはメモリバスを複数設け、並列化する事によりシステムとしてデータ転送速度を上げる事が可能である。しかし、その場合、メモリシステムを構成する増設単位は大きくなり、小容量のメモリしか必要としないシステムには適さないという問題があった。
小さな増設単位でも高いデータ転送速度を得るために、Rambus(ランバス)DRAM(以下RDRAMと略す)と呼ばれる新しい高速DRAMも提案され、一部小容量システムに使われている。これは、入出力回路とメモリバスを高速動作向けに新しくしたDRAMである。すなわち、RDRAMは、コマンドによってアクセス制御されるプロトコル制御方式を採用するもので、予め決められた長さのパケットに読出しリクエストや書き込みリクエスト及びアドレス情報などを入れておき、それをRDRAMが解読してリード動作やライト動作を行う。RDRAMは、例えば第20図に示されるように、プロセッサボードなどのマザーボード上のメモリバスIO0〜IO15に個々に搭載され、RDRAM単位でその動作が選択される。前記パケットに入れられた制御情報とリード又はライトのデータ情報は同一バス上に伝達される。このようなプロトコル制御方式によるRDRAMは、500Mバイト/秒のような高速でデータの入出力を行うことができる。
尚、RDRAMについて記載された文献の例としては、500Mbyte/sec Data-Rate 512Kbits x9 DRAM Using a Novel I/O Interface(1992 Symposium on VLSI Circuits Digest of Technical Papers,pp.66-67)、日経エレクトロニクス(日経BP社1992.3.30発行 No.550)第197〜209頁がある。
このような背景のもと、種々のシステムによってDRAMへの要求仕様は異なったものになりつつある。したがって、ある世代のDRAMに対して、極めて多くの品種を開発する必要が生じている。これによって、開発コストの上昇、品種構成に応じた製造面での対応、性能の異なる種々の製品をテステイングするためのオーバヘッドなど、色々な問題が生じると予想される。
こうした状況下、パソコンやワークステーションなどDRAMが用いられるシステムの大半はメモリチップを複数個搭載したモジュール(メモリモジュール)の形で実装されており、メモリ単体の性能よりもメモリモジュールの性能が重要である。したがって、全てのメモリの中に高速動作のための複雑な入出力回路などを取り込まなくとも、メモリモジュールで必要な機能、性能が実現できれば大半のシステムの要求に応じることができる、ということが本発明者によって明らかにされた。本発明者は、上記の観点から、高性能化若しくは高速化を実現するメモリモジュールについて検討した。
前記SDRAMを用いて高速メモリモジュールを構成する場合には次の問題点のあることが本発明者によって明らかにされた。すなわち、現状のSDRAMを用いたジュールは、例えば第19図に示されるように、プロセッサボードのようなマザーボード上の64ビットのようなメモリバスIO0〜IO63の所定の複数本の信号線毎に1個のSDRAMのデータ入出力端子を結合して64ビットのようなメモリバスとの間で並列的にデータの入出力が可能にされている。このように、複数のSDRAMを用いて所要バス幅のメモリバスとデータの入出力を行う構成では、SDRAM間におけるアクセスタイムなどの特性ばらつきを補償する回路手段がないと、高データ転送レートを実現することは困難である。また、データ入出力ビット数が×4構成のSDRAMを用いて64ビットバスに対応するには少なくとも16個のSDRAMが必要になり、メモリの増設単位が大きくなる。
一方、RDRAMを用いて高速メモリモジュールを構成する場合には次の問題のあることが本発明者によって見出された。第1に、RDRAMは、それ固有のプロトコル制御回路を個々のメモリチップが保有するから、全てのRDRAMデバイスが一つのバスに共通接続される。このため、デバイスの入出力容量を相当小さくしないと、バスの負荷容量成分が大きくなり過ぎ、例えば32個のRDRAMを実装するのも難しくなる。
第2に、RDRAMでは各デバイス毎に高精度のクロック同期機構、例えば高精度のPLL(Phase Locked Loop)又はDLL(Delayed Locked Loop)が必要であり、また、外部端子数の低減のために信号のビット幅を内部で6倍又は8倍にするように直並列変換を行う必要があり、内部バスのビット幅が大きく(例えば128ビット)、デバイスのチップサイズが大型化してします。例えば同じ記憶容量のSDRAMに対して10〜15%程度チップが大型化する。
第3に、バス幅に対するデータが全て一つのRDRAMデバイスから出力されるため、RDRAMでは一つのデバイスに消費電力が集中し、デバイスの冷却に特別な考慮を払わなければならないと予想される。
第4には、RDRAMではアクテイブ電力を減らさないと周波数向上は難しい。システムに要求される性能向上に見合った低電力(低電圧化)を半導体集積回路の微細化技術でカバーするのは難しい。
第5には、高速になればなる程、実装系の電気特性の制約が大きく、実使用状態とテスト系の電気特性を整合させる工夫が必要になり、デバイステストのオーバヘッドが大きくなると予想される。
本発明は、上記事情に鑑みてなされたものであり、その目的は、アクセス動作の高速化を実現できるメモリモジュールを提供することにある。
本発明の別の目的は実装するメモリに高速動作のための複雑な入出力回路や制御回路を取り込まなくても、高速メモリアクセスの為のプロトコルなど必要な機能や性能を容易に実現することができるできるメモリモジュールを提供することにある。
本発明の更に別の目的は、マイクロプロセッサの高速化に追従してデータ処理速度を容易に向上させることができるデータ処理装置を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
発明の開示
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、並列動作される複数個の半導体記憶装置が接続されたデータバスと外部データ入出力端子との間にレジスタバッファを設けてメモリモジュールを構成する。メモリモジュールはプロセッサボードなどのマザーボードに実装され、当該マザーボード上のメモリコントローラとメモリモジュール内の半導体記憶装置との間でのデータのやりとりはレジスタバッファを介して行われる。
これによれば、メモリモジュール内部と外部とのバス接続は前記レジスタバッファでバッファリングされるから、前記マザーボード上のデータバスとメモリモジュール上のデータバスとは分離される。したがって、マザーボード上のデータバスからは前記レジスタ以降の配線負荷が見えなくなり、メモリコントローラが駆動すべき負荷を低減できる。これにより、メモリバス上のデータ転送周波数を向上させることが容易になる。また、メモリモジュール上についても同様に信号線負荷が低減される。従来のメモリモジュールをマザーボードに実装すると、マザーボード上のメモリバスをメモリモジュール内への負荷の大きな分岐を途中に多数有することになる。上記によれば、メモリバス上におけるそのような負荷の分岐は実質的になくなる。したがって、メモリモジュール内のデータバス上では、分岐のない2地点間(Point-to-Point)のデータ伝送が可能になるため、メモリモジュール内の動作周波数の向上も比較的容易である。
前記レジスタバッファを配線負荷の分離手段として位置付ける観点とは別の観点による本発明は、並列動作される複数個の半導体記憶装置が接続されたデータバスと外部端子との間に速度変換手段を設けてメモリモジュールを構成する。速度変換手段は、前記データバスから前記外部端子に与えるデータを所定ビット数単位で並列から直列に変換し、前記外部端子から前記データバスに与えるデータを所定ビット数単位で直列から並列に変換する。前記マザーボード上のメモリコントローラと半導体記憶装置との間でのデータのやりとりは前記速度変換手段を介して行われる。この速度変換手段によれば、マザーボード上のメモリバスの信号線数は、メモリモジュール内のデータバスの信号線数よりも少なくなる。したがって、マザーボードのメモリバス上の信号周波数よりも低い動作周波数の半導体記憶装置を用いることができる。また、例えばマザーボードのメモリバスをRDRAMに対応した仕様とするとき、一つのバスあたりに実装できる記憶容量を一桁以上向上させることができる。
また、メモリモジュールのインターフェースとは異なる制御手法でメモリモジュール内の半導体記憶装置を制御可能にする為の、プロトコル制御手段を追加してメモリモジュールを構成する。これにより、メモリモジュール内のバスのアクセス制御仕様(メモリアクセスプロトコル)を、前記メモリバスのアクセス制御仕様と相異させることができる。したがって、速度変換手段とプロトコル制御手段の具体的な処理内容次第では、EDODRAM、SDRAMなど汎用の半導体記憶装置を用いながら、メモリルモジュールではRDRAMやSyncLink DRAMなどに適用されるプロトコルで動作させることができる。これにより、メモリモジュールに実装する半導体記憶装置毎に、プロトコルデコーダや内外の位相同期の為のPLL、DLLなどの複雑な制御手段を搭載する必要がなくなる。したがって、EDODRAM,SDRAM,RDRAM,Syclink DRAMなど多種の半導体記憶装置を品種展開しなくとも、外部とのインタフェース仕様が異なる種々のメモリモジュールを容易に提供することができる。これは、各種仕様のメモリモジュールの為の半導体メモリを開発するコストの削減にもなる。
また、今後、データ転送の高速化のために位相変調、振幅変調、更にはQPSK(Quadrature Phase Shift Keying:直交位相変調)に代表されるような多値変調などにより多重化された信号伝送が行なわれる場合を想定すると、メモリモジュールにそのためのエンコーダ/デコーダ手段(変復調手段)を搭載することができる。これにより、各半導体記憶装置毎に、変復調の為の複雑な信号処理回路を設ける必要がなくなる。
更に、前記速度変換手段やプロトコル制御手段は、半導体記憶装置とは別の半導体集積回路で形成することができる。したがって、速度変換手段やプロトコル制御手段は、半導体記憶装置とは異なるプロセスで形成できるため、より高速のCMOS論理プロセス、バイポーラプロセス、化合物半導体プロセスなど、マザーボードのメモリバス上でのデータ伝送に最適な半導体プロセスを使用することができる。
また、メモリコントローラとの間のデータ伝送に光伝送を用いれば、超高速のデータ伝送が可能である。これを考慮する時、外部からの光信号を電気信号に変換し、メモリモジュール内部の電気信号を光信号に変換して外部に出力する光電変換手段をメモリモジュールに搭載することができる。メモリモジュール上にハーフミラーを設ければ光ファイバーによるバス結合が可能である。光の伝走路は大気中であってもよい。光の場合にはモメモリジュールの挿入による信号劣化が少ないため、一つの伝走路に接続できるメモリモジュールの数を飛躍的に増大させることが可能である。
上記で開示された発明のうち代表的なものによって得られる効果を整理すれば下記の通りである。
すなわち、マザーボード上のデータバスとメモリモジュール上のデータバスがレジスタバッファで分離されるため、マザーボード上のデータバスの負荷が最小になり、マザーボード上、メモリモジュール上ともに、より高いデータ転送速度を達成することが可能となる。
メモリコントローラとメモリのデータバス幅を一致させなくともデータのやりとりが可能になり、メモリコントローラのデータバス幅を小さくして高速で動作させ、一方メモリモジュール上のデータバス幅を大きくして低速で動作させることが可能となる。これにより、例えばメモリコントローラのピン数を削減することができる。
モリチップの読み出し、書き込み、アドレス指定などの制御法をコントローラからの制御法と変えることができるため、見掛け上異なる仕様のメモリモジュールを構成することができる。これにより、各種メモリモジュール用の半導体記憶装置の品種の数を少なくすることができる。また、メモリチップ設計やテストに最適な仕様を選ぶことができるため、メモリモジュールのコストを低減することができる。
上記より、メモリモジュールに搭載すべき半導体記憶装置の入出力仕様に制約されずに、高速化に特化したインターフェース仕様でメモリコントローラあるいはマザーボードを設計することができ、これにより、設計の自由度が向上してデータ処理システムの性能向上を図り易くなる。
【図面の簡単な説明】
第1図は本発明に係るメモリモジュールの一例を示すブロック図である。
第2図は第1図に示されるメモリモジュールのチップ配列と配線の概略を示す説明図である。
第3図は第1図に示されるメモリモジュールに含まれるコンバータの一例を示す論理回路図である。
第4図は第1図に示されるメモリモジュールを用いたデータ処理システムの部分的なシステム構成図である。
第5図は第1図に示されるメモリモジュールのアクセス動作タイミングの一例を示すタイミングチャートである。
第6図は第1図に示されるメモリモジュールに対して記憶容量を倍増したメモリモジュールのブロック図である。
第7図はRDRAMの代わりにSDRAMを用いて構成されたプロトコル制御方式のメモリモジュールのブロック図である。
第8図は第7図に示されるメモリモジュールのアクセス動作タイミングの一例を示すタイミングチャートである。
第9図は速度変換アダプタを採用したマザーボードの一例を示すブロック図である。
第10図は速度変換アダプタを採用した更に別のマザーボードの一例を示すブロック図である。
第11図は外部インタフェースを光で行うようにしたメモリモジュールの一例を示すブロック図である。
第12図は第11図に示されたメモリモジュールを用いたマザーボードの一例を示すブロック図である。
第13図は外部インタフェースを多値変調信号で行うようにしたメモリモジュールの一例を示すブロック図である。
第14図は第13図のメモリモジュールを用いたマザーボードの一例を示すブロック図である。
第15図は冗長メモリデバイスを有するメモリモジュールの一例を示すブロック図である。
第16図は第15図のメモリモジュールの正規のメモリデバイスに欠陥が無い場合におけるメモリデバイスと外部データ入出力端子との接続態様を示すブロック図である。
第17図は第15図のメモリモジュールの正規のメモリデバイスに欠陥がある場合におけるメモリデバイスと外部データ入出力端子との接続態様の一例を示すブロック図である。
第18図はECC回路を有するメモリモジュールの一例を示すブロック図である。
第19図はSDRAMデバイスのデータ入出力端子を対応するメモリバスに直接接続する形式のメモリモジュールを概念的に示した説明図である。
第20図はRDRAMデバイスをメモリバスに接続した状態を示す説明図である。
発明を実施するための最良の形態
《レジスタバッファと速度変換》
先ず最初にレジスタバッファを用いて速度変換を行うようにしたメモリモジュールを説明する。
第1図には本発明に係るメモリモジュールの一例ブロック図が示される。メモリモジュールMODaは、ガラスエボキシ樹脂基板の表面に所要の配線パターンが形成されて成るような配線基板2に、例えば8個のSDRAMデバイス(半導体記憶装置)M0〜M7、コンバータ3,4、クロックドライバ5、及び制御信号バッファ(タイミング制御回路)6が実装されて、構成される。
前記SDRAMデバイスM0〜M7は並列データ入出力ビット数が夫々8ビット(×8)とされる。7Lで示されるものは下位32ビットのモジュールデータバス、7Hで示されるものは上位32ビットのモジュールデータバスである。4個のSDRAMデバイスM0〜M3の各々のデータ入出力端子はモジュールデータバス7Lの信号線に1対1対応で結合され、4個のSDRAMデバイスM4〜M7の各々のデータ入出力端子は前記モジュールデータバス7Hの信号線に1対1対応で結合される。第1図においてMDQ0〜MDQ63は8個のSDRAMデバイスM0〜M7全部のデータ入出力端子を意味する。
メモリモジュールMODaのデータ入出力端子DQ0〜DQ15,DQ16〜DQ31は合計32ビットとされる。前記コンバータ3は下位側16ビットのデータ入出力端子DQ0〜DQ15と前記下位32ビットのモジュールデータバス7Lとの間でデータの直列・並列変換を行う。同様に、前記コンバータ4は上位16ビットのデータ入出力端子DQ16〜DQ31と前記上位32ビットのモジュールデータバス7Hとの間でデータの直列・並列変換を行う。第1図の例では、コンバータ3,4は、モジュールデータバス7L,7H(MDQ0〜MDQ63)とデータ入出力端子DQ0〜DQ31との間の速度変換手段を実現する。
前記制御信号バッファ6は、外部から供給されるアクセス制御情報8を入力し、内部動作に合わせて内部アクセス制御情報9を各SDRAMデバイスM0〜M7に並列に供給する。外部アクセス制御情報8は、チップセレクト信号/CS1、ロウアドレスストローブ信号/RAS1、カラムアドレスストローブ信号/CAS1、及びライトイネーブル信号/WE1によって代表されるアクセス制御信号と、アドレス信号Address−1とを含む。内部アクセス制御情報9は、チップセレクト信号/CS2、ロウアドレスストローブ信号/RAS2、カラムアドレスストローブ信号/CAS2、及びライトイネーブル信号/WE2よって代表されるアクセス制御信号と、アドレス信号Address−2とを含む。
前記クロックドライバ5は外部から供給されるクロック信号CLK1を入力して内部クロック信号CLK2を生成する。クロックドライバ5から出力されるクロック信号CLK2の一つは帰還され、PLL(又はDLL)10を介して内部クロック信号CLK2を外部クロック信号CLK1に位相同期させる。内部クロック信号CLK2は外部クロック信号CLK1と実質的に同一のクロック信号と見なすことができる。前記内部クロック信号CLK2は、前記SDRAMデバイスM0〜M7、コンバータ3,4及び制御信号バッファ6に供給され、それらの動作基準クロック信号とされる。
ここで前記SDRAMデバイスM0〜M7それ自体の機能について簡単に説明する。前記アクセス制御信号/CS2,/RAS2,/CAS2,/WE2及びアドレス信号Address−2はクロック信号CLK2の立ち上がりエッジで参照される。信号/CS2はそのローレベルによってコマンド入力サイクルを開始する。コマンド入力サイクルによって始めてその他のアクセス制御信号及びアドレス信号が参照可能にされる。コマンドサイクルでは、信号/RAS2,/CAS2,/WE2及びアドレス信号Address−2の一部のレベルの組み合わせが解読され、その解読結果に従ってSDRAMの動作内容が決定される。例えば、/RAS2=“L”,/CAS2=“H”,/WE2=“H”の組み合わせは、ロウアドレスストローブ・バンクアクティブコマンドとされ、ロウアドレス系に対する動作が行われる。/RAS2=“H”,/CAS2=“L”,/WE2=“H”の組み合わせは、カラムアドレスリードコマンドとされ、ロウアドレス系動作の後にカラムアドレス系を介するリード動作を指示する。/RAS2=“H”,/CAS2=“L”,/WE2=“L”の組み合わせは、カラムアドレスライトコマンドとされ、ロウアドレス系動作の後にカラムアドレス系を介するライト動作を指示する。
この例では、メモリモジュールMODaに対する外部からのアクセス制御形態は、SDRAMデバイスに対するアクセス制御形態と基本的に同じとされる。但し、外部とメモリモジュール1との間のデータ転送速度を上げるため、メモリモジュール1は、クロック信号CLK1(=CLK2)の立ち上がりと立ち下がりの両方のクロックエッジに同期してデータの入出力(書き込みと読み出し)を行うDDR(Double Data-Rate:ダブルデータレート)形式のSDRAMの制御仕様を有する。一方、SDRAMデバイスM0〜M7は、前述の通り、クロック信号CLK2の立ち上がりエッジのみに同期して動作するSDR(Single Data-Rate:シングルデータレート)形式のSDRAMの制御仕様で動作される。
前記メモリモジュールMODaの外部データ入出力端子DQ0〜DQ31は32ビット(メモリモジュール1が搭載されるマザーボード上のメモリバスのデータバス幅が32ビット)であるのに対し、メモリモジュールMODa上のモジュールデータバス7L,7Hのバス幅は全体で64ビットである。マザーボードのメモリバス上でのデータ転送周波数は、メモリモジュールMODaのモジュールデータバス上でのデータ転送周波数の2倍とされる。これにより、データバス全体のデータ転送レート(データ転送周波数×データバスのビット幅)は、マザーボード上のメモリバスとメモリモジュールMODa上のモジュールデータバスとの間で一致する。
第2図には前記メモリモジュールMODaのチップ配列と配線の概略を示す。第2図に示される配線はその一部が省略されているが、実際には第1図と同じように形成されている。第2図の例では、SDRAMデバイスM0〜M7、コンバータ3,4、クロックドライバ5、及び制御信号バッファ6は夫々別々に半導体集積回路化されている。第2図においてVDD及びVDDQは電源端子、VSS及びVSSQは接地端子である。特に電源端子VDDQ及び接地端子VSSQはデータ出力バッファへの給電に専用化された端子である。
第3図には前記コンバータ3の一例が示される。例えば1ビットの外部データ入出力端子DQ0はSDRAMデバイスM0の2ビットのデータ入出力端子MDQ0,MDQ1に対応され、それらの間にはレジスタバッファRBUFa0が配置されている。その他のデータ入出力端DQ1〜DQ15に関しても同様のレジスタバッファRBUFa1〜RBUFa15が配置されている。各レジスタバッファRBUFa0〜RBUFa15の構成は相互に同一である。
前記レジスタバッファRBUFa0〜RBUFa15は並直変換機能を有する。詳細な構成が例示されたレジスタバッファRBUFa0において、B1で示されるものは、データ入出力端子DQ0に結合された入力バッファである。前記入力バッファB1の出力には2個の入力レジスタREG1,REG3が結合され、入力レジスタREG1の出力は出力ゲートBC1を介してデータ入出力端子MDQ0に接続され、同様に、入力レジスタREG3の出力は出力ゲートBC3を介してデータ入出力端子MDQ0に接続される。
第3図においてBC5で示されるものは前記データ入出力端子DQ0に結合された出力バッファである。出力バッファBC5とデータ入出力端子MDQ0との間には、入力バッファB2、出力レジスタREG2及び出力ゲートBC2が直列配置され、出力バッファBC5とデータ入出力端子MDQ1との間には、入力バッファB3、出力レジスタREG4及び出力ゲートBC4が直列配置されている。前記レジスタREG1〜REG4及び出力バッファBC1〜BC5は、タイミングジェネレータTGENから出力される制御信号φ1R,φ2W,fai2R,φ1−1W,φ1−1R,φ1−2W,φ1−2Rによってラッチ動作と出力動作が制御される。前記タイミングジェネレータTGENは制御信号バッファ6から供給される制御信号とクロック信号CLK2に基づいてそれら制御信号を生成する。タイミングジェネレータTGENによる制御内容は後で詳述する。特に図示はしないが、コンバータ4も上記と同様に構成されている。
第4図には前記メモリモジュールMODaを用いたプロセッサボードPCBの部分的なシステム構成図が示される。パーソナルコンピュータではプロセッサボードをPCボードとも称する。プロセッサボードやPCボードのような回路をマザーボードとも称する。
マザーボードPCBはマイクロプロセッサMPUを中心に構成され、マイクロプロセッサMPUが結合されたCPUバス(システムバス)11には代表的に示されたメモリコントローラBCONTが結合されている。メモリコントローラBCONTは、メモリバス12、周辺バス13、グラフィックバス14などの動作速度の異なるバスをCPUバス1にインタフェースするためのバスアクセス制御を行うコントローラである。前記メモリコントローラBCONTはバスコントローラ或いはインタフェースコントローラとも称される。グラフィックバス14にはグラフィックアクセラレータのようなグラフィックコントローラGCONTが結合されている。周辺バス13には図示を省略するIDE(Integrated Device Electronics)コントローラなどが接続されている。メモリバス12には複数個の前記メモリモジュールMODaが結合されている。マイクロプロセッサMPUは前記複数個のメモリモジュールMODaをメインメモリとしてワーク領域やデータの一時記憶領域に利用する。この例に従えば、マイクロプロセッサMPUがメインメモリに割り当てられたアドレス空間をアクセスする時、メモリコントローラBCONTは、前記アクセス制御情報をメモリバス12に出力すると共に、書き込み動作では書き込みデータをメモリバス12に出力し、読出し動作ではメモリバス12に読出されたデータを取り込んでマイクロプロセッサMPUに与える。複数個のメモリモジュールMODaに対するチップ選択信号/CS1はメモリモジュール毎に固有の信号とされ、前記メモリコントローラBCONTから出力される。
第5図にはメモリモジュールMODaのアクセス動作タイミングの一例が示される。第5図において、メモリコントローラBCONTは、最初、時刻t0に同期させて、/CS1=“L”、/RAS1=“L”、/CAS1=“H”、/WE=“H”によってモジュールアクティブコマンドを発行すると共に、ロウアドレス信号RAiを出力する。メモリモジュールMODaの制御信号バッファ6は、時刻t0において、前記/CS1=“L”、/RAS1=“L”、/CAS1=“H”、/WE=“H”を、クロック信号CLK2(CLK1)の立ち上がりエッジで参照する。制御信号バッファ6はこれに応答して、/CS2=“L”、/RAS2=“L”、/CAS2=“H”、/WE=“H”によってメモリチップアクティブコマンドとロウアドレス信号RAiをアクセス制御情報9としてSDRAMデバイスM0〜M7に並列的に出力する。SDRAMデバイスM0〜M7は、時刻t1に、メモリチップアクティブコマンドを認識して、ロウアドレス系の動作を開始する。
次にメモリコントローラBCONTは、時刻t2に同期させて、/CS1=“L”、/RAS1=“H”、/CAS1=“L”、/WE=“L”によりモジュールライトコマンドを発行すると共に、カラムアドレス信号CAiを出力する。更にメモリコントローラBCONTは、書き込みデータD(i),D(i+1)を出力する。このとき、メモリコントローラBCONTによるデータD(i),D(i+1)の転送は、前記ダブルデータレート形式で、クロック信号CLK1の立ち上がり(時刻t2)及び立ち下がり(時刻t3)に同期して行われる。メモリモジュールMODaの制御信号バッファ6は、時刻t4において、前記メモリモジュールライトコマンドをクロック信号CLK2(CLK1)の立ち上がりエッジで参照し、これに応答して、/CS2=“L”、/RAS2=“H”、/CAS2=“L”、/WE=“L”によりメモリチップライトコマンドとカラムアドレス信号CAiをアクセス制御情報9としてSDRAMデバイスM0〜M7に並列的に出力する。また、制御信号バッファ6は、前記メモリチップライトコマンドに応答して、コンバータ3,4にライトデータD(i),D(i+1)の直列・並列変換動作を指示する。これにより、データ入出力端子DQ0〜DQ31に直列的に与えられたデータD(i),D(i+1)は、64ビットの並列データとして時刻t4にモジュールデータバス7L,7Hに供給され、SDRAMデバイスM0〜M7のデータ入出力端子MDQ0〜MDQ63を介して並列的に8個のSDRAMデバイスM0〜M7に書き込まれる。
ここで前記直列・並列変換動作を更に説明する。例えば端子DQ0に最初に供給されるデータD(i)0はクロック信号CLK2(CLK1)の立ち上がりに同期してレジスタREG1に格納され、後続のデータD(i+1)0はクロック信号CLK2(CLK1)の立ち下がりに同期してレジスタREG3に取り込まれる。そしてクロック信号CLK2の次の立ち上がりに同期して双方のレジスタREG1,REG3の出力が開かれて、データD(i)0,D(i+1)0が端子MDQ0,NDQ1に向けて並列出力される。その他の端子DQ1〜DQ31に与えられるデータに関しても同じように直列・並列変換される。
書き込みの後、第5図の例では同一ロウアドレスに対するリード動作が行われる。即ち、メモリコントローラBCONTは、時刻t5に同期させて、/CS1=“L”、/RAS1=“H”、/CAS1=“L”、/WE=“H”によりモジュールリードコマンドを発行すると共に、カラムアドレス信号CAjを出力する。メモリモジュールMODaの制御信号バッファ6は、クロック信号CLK2(CLK1)の立ち上がりエッジに同期する時刻t5に、前記モジュールリードコマンドを参照する。制御信号バッファ6はこれに応答して、/CS2=“L”、/RAS2=“H”、/CAS2=“L”、/WE=“H”によってメモリチップリードコマンドとカラムアドレス信号CAjをアクセス制御情報9としてSDRAMデバイスM0〜M7に並列的に出力する。SDRAMデバイスM0〜M7は、時刻t6に、メモリチップリードコマンドを認識して、カラムアドレス系の動作を開始する。カラムアドレス系の動作の結果、時刻t7にSDRAMデバイスM0〜M7のデータ入出力端子MDQ0〜MDQ63からモジュールデータバス7L,7HにリードデータD(j),D(j+1)が並列的に出力される。この出力動作に同期して、制御信号バッファ6は、前記コンバータ3,4にリードデータD(j),D(j+1)の並列・直列変換動作を指示する。これにより、モジュールデータバス7L,7H上の並列データD(j),D(j+1)は32ビットづつデータ入出力端子DQ0〜DQ31から直列的に出力される。この出力動作は、前記ダブルデータレート形式により、クロック信号CLK1の立ち上がりエッジ(時刻t8)及び立ち下がりエッジ(時刻t9)の双方に同期して行われる。
ここで前記並列・直列変換動作を更に説明する。SDRAMデバイスM0〜M7のデータ入出力端子MDQ0〜MDQ63から並列的に64ビットのデータがモジュールデータバス7L,7Hに読出されたとき、例えば、データ入出力端子MDQ0,MDQ1から並列出力されたデータD(j)0,D(j+1)0は、クロック信号CLK2(CLK1)の立ち上がりに同期してレジスタREG2,REG4に並列的にラッチされる。そしてクロック信号CLK2の次の立ち上がりに同期してレジスタREG2のデータD(j)0がデータ入出力端子DQ0から出力され、これに続くクロック信号CLK2の立ち下がりに同期してレジスタREG4のデータD(j+1)0がデータ入出力端子DQ0から出力される。その他の端子MDQ1〜MDQ63から供給されるデータに関しても同じように並列・直列変換される。
以上説明した図1のメモリモジュールMODaによれば、コンバータ3,4は外部からの書き込みデータに対しては直列・並列変換を行い、外部への読出しデータに対しては並列・直列変換を行い、内外のデータ転送レートに対する速度変換手段としての機能を有する。したがって、メモリモジュールMODaの入出力は高速だがメモリバス12のバス幅は小さく、一方メモリモジュールMODaのモジュールデータバス7L,7Hに対してはそれよりも低速でバス幅が広い構成を実現することができる。したがって、マザーボードPCBのメモリバス上の信号周波数よりも低い動作周波数のSDRAMデバイスM0〜M7を用いることができる。更に、メモリコントローラBCONTのピン数(パッケージの外部端子数)の削減にも役立つ。
前記マザーボードPCB上のメモリコントローラBCONTとメモリモジュールMODa内のSDRAMデバイスM0〜M7との間でのデータのやりとりはレジスタバッファRBUFa0〜RBUFa15を介して行われる。これによれば、メモリモジュールMODaの内部と外部とのバス接続は前記レジスタバッファRBUFa0〜RBUFa15でバッファリングされるから、前記マザーボードPCB上のデータバスとメモリモジュールMODa上のモジュールデータバス7L,7Hとは分離される。したがって、マザーボードPCB上のデータバスからは前記レジスタバッファRBUFa0〜RBUFa15以降の配線負荷が見えなくなり、メモリコントローラBCONTが駆動すべき負荷を低減できる。これにより、メモリバス12上のデータ転送周波数を向上させることが容易になる。すなわち、メモリモジュールMODaの入出力容量成分を最小化することができる。
また、メモリモジュールMODaのモジュールデータバス7L,7H上についても同様に信号線負荷が低減される。例えば第19図に示されるような従来のメモリモジュールをプロセッサボードに実装すると、プロセッサボード上のメモリバスにメモリモジュール内への負荷の大きな分岐を途中に多数有することになる。レジスタバッファRBUFa0〜RBUFa15を有する上記メモリモジュールMODaの場合には、メモリバス12上におけるそのような負荷の分岐は実質的になくなる。したがって、メモリモジュールMODa内のモジュールデータバス7L,7H上では、分岐のない2地点間のデータ伝送が可能になるため、メモリモジュールMODa内の動作周波数の向上も比較的容易になる。
第6図には第1図に対して記憶容量を倍増したメモリモジュールMODbの例が示される。このメモリモジュールMODbは、SDRAMデバイスM0a〜M7aとM0b〜M7bを有し、8個のSDRAMデバイスM0a〜M7aはチップ選択信号/CS2aによってコマンドサイクルが指示され、SDRAMデバイスM0b〜M7bはチップ選択信号/CS2bによってコマンドサイクルが指示される。チップ選択信号/CS2a,/CS2bは、外部から供給されるチップ選択信号/CS1a,/CS1bに対応され、チップ選択信号/CS1a,/CS1bは選択的に何れか一方がイネーブルにされる。これにより、第1図の例ではメモリモジュール上に8個のSDRAMデバイスが搭載されていたのに対して、第6図のメモリモジュールは2倍の16個のSDRAMデバイスを搭載して利用することができる。尚、第6図では配線などの図示を部分的に省略してあるが、上記相違点以外の構成は第1図と同じである。
この構成においてモジュールデータバス7L,7Hの負荷成分(配線抵抗及び寄生容量成分)は増えるが、外部データ入出力端子DQ0〜DQ31とモジュールデータバス7L,7Hとの間には前記コンバータ3,4が配置されているので、コンバータ3,4に含まれる前記レジスタバッファの作用により、SDRAMデバイスを2倍搭載した第6図の構成でも、外部データ入出力端子DQ0〜DQ31から見たときの電気特性は第1図のメモリモジュールMODaと実質的に同じである。この例ではメモリモジュールMODb上のモジュールデータバスに2組みのSDRAMデバイスを接続しているが、これに限らず、さらに多数組のSDRAMデバイスを接続しても構わない。
≪レジスタバッファとプロトコル変換≫
次に、レジスタバッファを用いた速度変換と共にプロトコル変換を行うようにしたメモリモジュールを説明する。
第7図にはRDRAMの代わりにSDRAMを用いてRambus(ランバス)などのプロトコル制御方式に準拠させたメモリモジュールの一例が示される。同図に示されるメモリモジュールMODcは、ガラスエポキシ樹脂基板の表面に所要の配線パターンが形成されて成るような配線基板22に、例えば16個のSDRAMデバイス(半導体記憶装置)M0〜M15及びプロトコルコンバータ23が実装されて成る。プロトコルコンバータ23は、特に制限されないが、1個の半導体集積回路として構成される。前記プロトコルコンバータ23は、クロックドライバ25、プロトコル制御回路26、並直変換機能を有するレジスタバッファRFUF0〜RBUF15、入出力ゲートIOG0〜IOG15及びタイミングジェネレータ28などを有する。
前記SDRAMデバイスM0〜M15は並列データ入出力ビット数が夫々4ビット(×4)とされる。27で示されるものは64ビットのモジュールデータバスである。前記16個のSDRAMデバイスM0〜M15のデータ入出力端子MDQ0〜MDQ63はモジュールデータバス27の信号線に1対1対応で結合されている。
IOP0〜IOP15はメモリモジュールMODcの16個の入出力端子である。前記レジスタバッファRBUFc0及び入出力ゲートIOG0は、入出力端子IOP0と前記SDRAMデバイスM0の4ビットのデータ入出力端子MDQ0〜MDQ3との間に配置されている。その他のレジスタバッファRBUF1〜RBUF15と入出力ゲートIOG1〜IOG15も同様に、入出力端子IOP1〜IOP15と前記SDRAMデバイスM1〜M15とに対応して配置されている。更にレジスタバッファRBUF0〜RBUF15は64ビットのコマンドバス29を介してプロトコル制御回路26に接続されている。
第7図において代表的にその詳細が示された入出力ゲートIOG0において、入出力端子IOP0に直列的に与えられたデータは、入力バッファBC19を介して、順次入力レジスタREG11,REG13,REG15,REG17にラッチされ、4ビット単位で出力ゲートBC11,BC13,BC15,BC17を介して出力される。一方、入出力ゲートIOP0から並列的に出力される4ビットのデータは出力レジスタREG12,REG14,REG16,REG18に並列的にラッチされ、ラッチされたデータは出力ゲートBC12,BC14,BC16,BC18を介して順次直列的に出力バッファBC20から入出力端子IOP0に与えられる。その他のレジスタバッファRBUF1〜RBUF15も同様に構成される。このように構成されたレジスタバッファRBUF0〜RBUF15は、入出力端子IOP0〜IOP15から入力される16ビットのデータを4組の直列データ毎に64ビットの並列データに変換して、コマンドバス29や入出力ゲートIOG0〜IOG15に与える。また、レジスタバッファRBUF0〜RBUF15は、入出力ゲートIOG0〜IOG15から与えられる64ビットの並列データを16ビット単位の4組のデータに直列変換して、入出力端子IOP0〜IOP15から外部に出力させる。この例において、レジスタバッファRBUF0〜RBUF15は、モジュールデータバス27及びコマンドバス29と入出力端子IOP0〜IOP15との間の速度変換手段を実現する。
メモリモジュールMODcに対する外部からのアクセス制御形態は、Rambus(ランバス)に代表されるようなプロトコル制御形態とされ、SDRAMデバイスに対するアクセス制御形態とは相違される。前記プロトコル制御回路26は入出力端子IOP0〜IOP15から供給されるコマンドパケットに含まれている読出しリクエストや書き込みリクエスト及びアドレス情報を解読して監視し、自らの動作が選択されたことをその解読結果から認識すると、当該解読結果を用いて、前記SDRAMデバイスM0〜M125に対するアクセス制御情報9を出力する。このアクセス制御情報9は、第1図と同様のSDRAMデバイスにおけるシングルデータ転送レートに対応されるアクセス制御信号及びアドレス信号である。前記コマンドパケットが書き込みリクエストの場合、当該コマンドパケットの後に続く書き込みデータは入出力端子IOP0〜IOP15から入力される。
前記クロックドライバ25は外部から供給されるクロック信号CLK1を入力して内部クロック信号CLK2を生成する。この例では内部クロック信号CLK2は外部クロック信号CLK1に対して2分周されている。前記内部クロック信号CLK2は、前記SDRAMデバイスM0〜M15及びプロトコル制御回路26などに供給され、それらの動作基準クロック信号とされる。前記SDRAMデバイスM0〜M15の機能は第1図で説明した内容と同じである。
前記タイミングジェネレータ28は、クロックドライバ25から前記クロック信号CLK1,CLK2を入力すると共に、SDRAMデバイスM0〜M15への外部データ入出力動作の指示をプロトコル制御回路26から入力して、前記レジスタバッファRBUFc0〜RBUFc15及び入出力ゲートIOG0〜IOG15の制御信号を生成する。第7図において前記制御信号は、入力制御信号φ10W、ラッチ制御信号φ10−1W,φ10−2W,φ10−3W,φ10−4W、ゲート出力信号φ11W、ゲート出力信号φ13R,ラッチ制御信号φ12R、ゲート出力信号φ12−1R,φ12−2R,φ12−3R,φ12−4Rとされる。特に、プロトコル制御回路26は、入出力端子IOP0〜IOP15から供給されるコマンドパケットを常に監視しなければならないため、スタンバイ状態でもレジスタバッファRBUFc0〜RBUFc15は直列・並列変換動作を怠ることはない。
前記メモリモジュールMODcも例えば第4図に示されるようなマザーボードPCBに適用することができる。特にこの場合、前記メモリバス12はメモリモジュールMODcの入出力端子IOP0〜IOP15をメモリコントローラBCONTにインタフェースされると共にクロック信号CLK1をメモリモジュールMODcに供給するための信号線を有すれば充分とされる。また、メモリコントローラBCONTは、Rambus(ランバス)に代表されるようなプロトコル制御方式でメモリモジュールMODcをアクセス制御する機能を有する。換言すれば、メモリバス12にRDRAMを実装したメモリモジュールを接続することも可能である。
第8図にはメモリモジュールMODcのアクセス動作タイミングの一例が示される。第8図において、メモリコントローラBCONTは、時刻t0〜t1の期間にモジュールライトコマンドのようなコマンドパケットをクロック信号CLK1に同期してメモリバス12に出力する。その後、規定のタイミングに従って時刻t2〜t3の期間にクロック信号CLK1に同期してモジュール書き込みデータをメモリバス12に出力する。
プロトコル制御方式によるアクセスをサポートするメモリモジュールMODcは、メモリバス12上のコマンドパケットを監視する。すなわち、入出力端子IOP0〜IOP15から供給される情報をレジスタバッファRBUFc0〜RBUFc15で並列信号に変換し、コマンドバス29を介してプロトコル制御回路26に供給している。プロトコル制御回路26は、それによって与えられる情報を解読し、自らのアクセスが指定されたかを判定する。コマンドパケットには、メモリアクセスモードを指定する情報と共にロウアドレス及びカラムアドレス情報などメモリサイクルに必要なアクセス制御情報が含まれている。
例えば、プロトコル制御回路26が、前記時刻t0〜t1の期間に供給されたコマンドパケットによりメモリモジュールMODcの動作が指示されていることを認識すると、当該プロトコル制御回路26は、コマンドパケットの解読結果に従って、時刻t2に同期させ、/CS2=“L”、/RAS2=“L”、/CAS2=“H”、/WE=“H”によってメモリチップアクティブコマンドとロウアドレス信号RAiをアクセス制御情報9としてSDRAMデバイスM0〜M7に並列的に出力する。SDRAMデバイスM0〜M7は、クロック信号CLK2の立ち上がりエッジに同期して時刻t2に、メモリチップアクティブコマンドを認識し、ロウアドレス系の動作を開始する。
その後、プロトコル制御回路26は、前記コマンドパケットの解読結果に従って、時刻t4に同期させて、/CS2=“L”、/RAS2=“H”、/CAS2=“L”、/WE=“L”と、カラムアドレス信号CAiをアクセス制御情報9としてSDRAMデバイスM0〜M15に並列的に出力する。このとき、レジスタバッファRBUFc0〜RBUFc15は、メモリコントローラBCONTが時刻t2〜t3の期間に直列的に出力した書き込みデータD(i),D(i+1),D(i+2),D(i+3)を64ビットの並列データに変換し、モジュールデータバス27に供給している。これにより、SDRAMデバイスM0〜M15には、データ入出力端子MDQ0〜MDQ63を介して64ビットのデータD(i),D(i+1),D(i+2),D(i+3)が書き込まれる。
書き込みの後、第8図の例では同一ロウアドレスに対するリード動作が行われる。即ち、メモリコントローラBCONTは、時刻t5〜t6に期間にクロック信号CLK1に同期して供給されるモジュールリードコマンドとしてのパケットコマンドによってその動作が指示されていることを認識すると、当該コマンドパケットの解読結果に従い、時刻t7に同期させて、/CS2=“L”、/RAS1=“H”、/CAS1=“L”、/WE=“H”によりメモリチップリードコマンドを出力すると共に、前記解読結果から得られたカラムアドレス信号CAjをSDRAMデバイスM0〜M15に並列的に出力する。SDRAMデバイスM0〜M15は、それに応答し、クロック信号CLK2の立ち上がりエッジに同期する時刻t7に、メモリチップリードコマンドを認識して、カラムアドレス系の動作を開始する。カラムアドレス系の動作の結果、時刻t8にSDRAMデバイスM0〜M15のデータ入出力端子MDQ0〜MDQ63からモジュールデータバス27にリードデータD(j),D(j+1),D(j+2),D(j+3)が並列的に出力される。この出力動作に同期して、プロトコル制御回路26は、前記レジスタバッファRBUFc0〜RBUFc15にリードデータD(j),D(j+1),D(j+2),D(j+3)の並列・直列変換動作を指示する。これにより、モジュールデータバス27上の並列データD(j),D(j+1),D(j+2),D(j+3)は16ビットづつ入出力端子IOP0〜IOP15から直列的に出力される。この出力動作は、前記ダブルデータレート形式と同じように、クロック信号CLK1の立ち上がりエッジ及び立ち下がりエッジの双方に同期して行われる。
このように、上記メモリモジュールMODcは、データの直列・並列/並列・直列変換機構を構成するレジスタバッファRBUFc0〜RBUFc15とプロトコル制御回路26等を有するプロトコルコンバータ23を含むから、RDRAMの代わりにSDRAMデバイスを用いてRambus(ランバス)に準拠するようなアクセスプロトコルをサポートすることができる。上記以外のメモリ仕様とモジュール仕様の組み合わせについても同様に実現することが可能である。したがって、メモリモジュールMODcに実装するSDRAMデバイスのような半導体記憶装置毎に、プロトコルデコーダや内外の位相同期の為のPLL、DLLなどの複雑な制御手段を搭載する必要はない。よって、EDODRAM,SDRAM,RDRAM,Syclink DRAMなど多種の半導体記憶装置を品種展開しなくとも、外部とのインタフェース仕様の異なる種々のメモリモジュールを容易に提供することができる。これは、各種仕様のメモリモジュールの為の半導体メモリを開発するコストを削減可能にする。
また、データ直列・並列/並列・直列変換機構を構成するレジスタバッファRBUFc0〜RBUFc15とプロトコル制御回路26等を有するプロトコルコンバータ23は、SDRAMデバイスM0〜M15とは別の半導体集積回路で形成することができる。プロトコルコンバータ23は、SDRAMデバイスM0〜M15とは異なるプロセスで形成できるため、より高速のCMOS論理プロセス、バイポーラプロセス、化合物半導体プロセスなど、マザーボードPCBのメモリバス上でのデータ伝送に最適な半導体プロセスを使用することができる。
≪速度変換アダプタ≫
前記速度変換技術はメモリバス上にも適用することができる。例えば、第9図に例示されるように、メモリコントローラBCONTとメモリバス12との接続を速度変換アダプタ30を介して行う。速度変換アダプタ30は、前記コンバータ3,4と同じようにレジスタバッファを用いた速度変換手段を備える。メモリコントローラBCONTと速度変換アダプタ30との間は16ビットのデータバス31に接続される。速度変換アダプタ30はデータバス31に直列的に伝達される16ビットのデータを32ビットのデータサイズに並列変換して32ビットのデータバス32に供給し、データバス32の32ビットデータを16ビットに直列変換してデータバス31に直列的に伝達する。データバス32には例えば前記メモリモジュールMODaが複数個結合されている。
メモリコントローラBCONTの動作周波数(4×fMHz)はメモリモジュールMODa(1)〜MODa(n)の動作周波数(2×fMHz)の2倍とされる。前述の説明から明らかなように、メモリモジュールMODaに搭載されているSDRAMデバイスM0〜M7の2倍の周波数でメモリモジュールMODa入出力動作が行われる。従って、図9の例では、メモリコントローラBCONTの入出力の動作周波数はSDRAMデバイスM0〜M7の動作周波数(f)の4倍になる。このようなシステム構成により、メモリコントローラBCONTは高速に動作するが、そのピン数を減らすことができる。
第10図の例はメモリバス12の間に速度変換アダプタ30を介在させた例であり、前段のメモリバス12Bは16ビットのデータバス31を備え、後段のメモリバス12Aは32ビットのデータバス32を備える。速度変換アダプタ30の機能は第9図と同じである。前段のメモリバス12Bには前記メモリモジュールMODaが複数個結合されている。前記メモリバス12BにはメモリモジュールMODaaとメモリデバイスMEMが結合されている。メモリモジュールMODaaは前記メモリモジュールMODaに対して入出力データが16ビットにされた点が相違される。メモリデバイスMEMはデータ入出力ビット数が16ビットのSDRAM等の半導体メモリである。
このシステム構成によれば、小容量だが高速に動作するメモリチップやメモリモジュールをメモリバス12Bに接続し、大容量だが速度の遅いメモリモジュールをメモリバス12Aに接続して、システムに最適な性能(アクセス速度、メモリ容量)を達成することができる。
前記速度変換アダプタ30を採用したシステムは、MODb,MODcなどその他のメモリモジュールにも適用できることは言うまでもない。
≪メモリモジュールの外部インタフェース方式≫
第11図には外部インタフェースを光で行うようにしたメモリモジュールの一例が示される。第11図に示されるメモリモジュールMODdは第1図のメモリモジュールMODaに対して外部インタフェース信号を光とした点が相違される。すなわち、前記コンバータ3,4、クロックドライバ5及び制御信号バッファ6の外部インタフェース部分に光電変換回路3L,4L,5L,6Lが配置されている。前記光電変換回路3L,4L,5L,6Lは、ハーフミラー40を介して光バス41に接続される。8Lはアクセス制御情報8を伝達する光ファイバ、LDQ0〜LDQ7はデータを伝達する光ファイバ、LCLKはクロック信号CLK1を伝達する光ファイバである。
光電変換回路3AL,4Lはピンフォトダイオード有する光レシーバと、フォトダイオードを有する光トランスミッタとを有する。光電変換回路5L,6Lはピンフォトダイオード有する光レシーバを備える。尚、第1図と同一回路ブロックには同一符合を付してその詳細な説明は省略する。
第12図にはメモリモジュールMODdを用いたシステム構成例が示される。前記メモリコントローラBCONTと光バス41との接続は入出力アダプタ42を介して行われる。入出力アダプタ42は、前述と同様の速度変換機能を有するコンバータと光電変換回路の機能を有する。メモリモジュールMODdへのデータ書き込みに際しては、入出力アダプタ42から送られる光信号の一部を所定のメモリモジュールMODdに取り込む。メモリモジュールMODdからのデータ読み出しに際しては、メモリモジュールMODdからの光をハーフミラー40で反射させて入出力アダプタ42の送信する。
ハーフミラー40は、この例のようにメモリモジュールMODd上に搭載しなくとも、マザーボード上に設置して、反射した光がメモリモジュール内の光電変換回路の受光/発光部分に照射されるように配置してもよい。また、プロセッサボード上の光の伝送媒体としては、光ファイバ41でも良いが、コンピュータの主記憶のように伝送距離が短く、光の強度の劣化が問題ない場合には、空中を伝送させてもよい。
このように、プロセッサボード上を光で伝送した場合、光は電気に比べて信号の減衰や劣化が少ないため従来の電気によるバス接続に比べて飛躍的に多数のメモリモジュールMODdを実装することが可能になる。また、光同士は相互干渉がなく、また、他の電気信号との間の干渉もないため、メモリバスから他の信号にノイズが載ったり、あるいは逆に、他の信号からノイズを受けて誤動作するような危険性を少なくすることができる。また、従来のバスではマザーボード上の配線のインダクタンスがアンテナのように働き、電磁波を外部に放出する問題が起きやすかったが、光伝送とすることにより、そうした問題も回避することができる。
第13図には外部インタフェースを多値変調信号で行うようにしたメモリモジュールの一例が示される。第13図に示されるメモリモジュールMODeは第1図のメモリモジュールMODaに対して外部インタフェース信号を多値変調信号とした点が相違される。すなわち、前記コンバータ3,4の外部インタフェース部分に多値変復調回路3S,4Sが配置されている。多値変復調方式には例えばQPSK等を採用できる。メモリバス51に含まれるデータバスSDQ0〜SDQ15には多値変調信号が伝送される。これにより、各半導体記憶装置毎に、変復調の為の複雑な信号処理回路を設ける必要はない。尚、第1図と同一回路ブロックには同一符合を付してその詳細な説明は省略する。
第14図にはメモリモジュールMODeを用いたシステム構成例が示される。前記メモリコントローラBCONTとメモリバス51との接続は入出力アダプタ52を介して行われる。入出力アダプタ52は、前述と同様の速度変換機能を有するコンバータと多値変復調回路の機能を有する。メモリモジュールMODeへのデータ書き込みに際しては、入出力アダプタ52から送られる変調信号は多値変復調回路3S,4Sで復調されてコンバータに取り込まれる。メモリモジュールMODeからのデータ読み出しに際しては、コンバータ3,4の出力が多値変復調回路S3,4Sで変調されてメモリバス51に供給される。
マザーボード上を多値変調信号でデータ伝送した場合、通常のデジタル信号に比べて伝送信号の周波数スペクトラムを狭めることが可能となる。例えば正弦波に近い伝送波形を用いることも可能になる。したがって、同じメモリバスを用いても、波形制御がやり易くなり高い周波数まで伝送することが可能となる。
≪コンバータと冗長メモリデバイス≫
第15図には冗長メモリデバイスを有するメモリモジュールMODfの一例が示される。基本的な構成は第1図と同じであり、1個のSDRAMデバイスM8を余計に搭載している。そして、9個のSDRAMデバイスM0〜M8の内のどの8個を前記モジュールデータバス7L,7Hに接続するかを選択するセレクタ61が設けられ、前記セレクタ61による選択動作を決定する為の救済アドレス情報が設定される冗長プログラム回路60及び救済アドレス判定回路62が設けられている。冗長プログラム回路60は、救済すべきアドレス(不良ビットのアドレス)情報がプログラムブルに設定されると共に、その救済アドレスにおいて不良を有するSDRAMデバイスの番号情報(No.0〜No.7)がプログラマブルに設定される。一つの不良アドレスに対して不良SDRAMデバイスの数は1個に制限される。冗長プログラム回路60はヒューズプログラム回路又は電気的に書き込み可能な揮発性半導体メモリによって構成することができる。
前記救済アドレス判定回路62は、制御信号バッファ6に供給されるアドレス情報Address−1と前記冗長プログラム回路60に設定された救済すべきアドレスとを比較する。比較結果が一致の場合には、当該救済すべきアドレスと対の不良SDRAMデバイスの番号に相当するSDRAMデバイスをセレクタ61によってコンバータ3,4から切り離し、これに代えてSDRAMデバイスM8がセレクタ61によってコンバータ3,4に接続される。前記セレクタ61、冗長プログラム回路60、救済アドレス判定回路62、コンバータ3,4、及び第15図には図示を省略したクロックドライバ5は、1個の半導体集積回路化されている。その他の構成は第1図と同じであるからその詳細な説明は省略する。
前記冗長プログラム回路60の初期状態においてセレクタ61による選択状態は第16図のようにされる。SDRAMデバイスM0〜M7の不良アドレスと不良デバイス番号に応じて冗長プログラム回路60がプログラムされる。例えば、第17図に例示されるように、あるアクセスアドレスに関する不良SDRAMデバイスがM4であるとき、セレクタ61は当該SDRAMデバイスM4をモジュールデータバス7Lから切り離し、これに代えてSDRAMデバイスM8をモジュールデータバス7Lに接続する。
これにより、不良のメモリチップを用いてメモリモジュールの良品を提供できる。これらはメモリチップの入出力がそのままモジュールの入出力端子に接続されている従来のメモリモジュールでは実現できない。
≪コンバータとECC≫
第18図にはECC回路を有するメモリモジュールの一例が示される。基本的な構成は第1図と同じであり、ECC回路70とSDRAMデバイスM8を余計に搭載している。ECC回路はコンバータ3,4とモジュールデータバスとの間に配置される。ECC回路は、コンバータ3,4を通って並列化された64ビットのデータに対する誤り訂正コードを生成する。生成された誤り訂正コードはSDRAMデバイスM8に格納される。読出し動作時において、ECC回路70は、SDRAMデバイスM8から読出された前記誤り訂正コードを用いて、前記SDRAMデバイスM0〜M7から読出されたデータの誤り検出及び訂正を行い、その結果をコンバータ3,4に与える。
これにより、信頼性の高いメモリモジュールを提供することができる。これらはメモリチップの入出力がそのままモジュールの入出力端子に接続されている従来のメモリモジュールでは実現できない。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えばメモリモジュールに利用する半導体記憶装置それ自体の種類は上記の例に限定されず適宜変更可能である。メモリモジュールの入出力端子のビット数、メモリモジュールに実装する半導体記憶装置の数も適宜変更可能である。また、マザーボード上の入出力インターフェースはCMOS、GTL(Gunning Transceiver Logic)、TTL等の何れの形式であっても本発明は適用可能である。SSTL(Stub Series Terminated Transceiver Logic)インターフェースの場合にはモジュールの入出力端子とコンバータ3,4との間にスタブ抵抗を配すればよい。
産業上の利用可能性
本発明は、パーソナルコンピュータやワークステーションのメモリモジュールなどに広く適用することができる。
Claims (4)
- 配線基板と、前記配線基板に設けられた複数個の半導体記憶装置と、並列動作される前記複数個の半導体記憶装置のデータ入出力端子が個別に接続されるデータバスと、前記配線基板に設けられた複数個の外部データ入出力端子と、前記データバスから前記外部データ入出力端子に与えるデータを所定ビット数単位で並列から直列に変換し、前記外部データ入出力端子から前記データバスに与えるデータを所定ビット数単位で直列から並列に変換する速度変換手段と、を含むメモリモジュールであって、
前記速度変換手段は、前記データバスから前記データ入出力端子に与えるデータを一時的に保持し、また、前記データ入出力端子から前記データバスに与えるデータを一時的に保持する複数のレジスタバッファを有し、
前記データバスのビット数mは前記外部データ入出力端子のビット数nの整数倍であり、
前記複数個の半導体記憶装置のデータ入出力動作周波数は外部から供給されるクロック信号に同期され、前記外部データ入出力端子からのデータ入出力動作周波数f1は前記半導体集積回路のデータ入出力動作周波数f2よりも高く、前記並列動作される複数個の半導体集積回路と前記データバスとの間での最高データ転送レートm×f2と前記外部データ入出力端子を介する入出力動作の最高データ転送レートn×f1とが実質的に等しくされ、
前記メモリモジュールに対するアクセス制御情報が前記外部データ入出力端子から前記速度変換手段を介して供給されるプロトコル制御回路を有し、このプロトコル制御回路は、前記アクセス制御情報を解読して内部アドレス信号及び内部アクセス制御信号を生成し、前記複数個の半導体記憶装置に並列的に供給するものであることを特徴とするメモリモジュール。 - 配線基板と、前記配線基板に設けられ外部からのクロック信号に同期動作される複数個の半導体記憶装置と、並列動作される前記複数個の半導体記憶装置のデータ入出力端子が個別に接続されるデータバスと、前記配線基板に設けられた複数個の外部端子と、前記データバスから前記外部端子に与えるデータを所定ビット数単位で並列から直列に変換し、前記外部端子から前記データバスに与えるデータを所定ビット数単位で直列から並列に変換する速度変換手段と、を含むメモリモジュールであって、
前記データバスのビット数mは前記外部端子のうちデータ入出力用外部端子のビット数nの整数倍であり、
前記複数個の半導体記憶装置のデータ入出力動作周波数は前記クロック信号に同期動作され、前記データ入出力用外部端子からのデータ入出力動作周波数f1は前記半導体集積回路のデータ入出力動作周波数f2よりも高く、前記並列動作される複数個の半導体集積回路と前記データバスとの間での最高データ転送レートm×f2と前記データ入出力用外部端子を介する入出力動作の最高データ転送レートn×f1とが実質的に等しくされ、
前記メモリモジュールに対するアクセス制御情報が前記外部データ入出力端子から前記速度変換手段を介して供給されるプロトコル制御回路を有し、このプロトコル制御回路は、前記アクセス制御情報を解読して内部アドレス信号及び内部アクセス制御信号を生成し、前記複数個の半導体記憶装置に並列的に供給するものであることを特徴とするメモリモジュール。 - 前記速度変換手段は半導体集積回路化されて成るものであることを特徴とする請求項2に記載のメモリモジュール。
- メモリモジュールに対するアクセス制御情報がデータ入出力用とは異なる専用の外部端子を介して供給されるタイミング制御回路を有し、このタイミング制御回路は、前記アクセス制御情報に基づいて前記複数個の半導体記憶装置に内部アドレス信号及び内部アクセス制御信号を並列的に供給するものであることを特徴とする請求項2又は3に記載のメモリモジュール。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17157197 | 1997-06-27 | ||
PCT/JP1998/002866 WO1999000734A1 (fr) | 1997-06-27 | 1998-06-26 | Module memoire et systeme de traitement de donnees |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006146173A Division JP2006236388A (ja) | 1997-06-27 | 2006-05-26 | メモリモジュール及びデータ処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3865790B2 true JP3865790B2 (ja) | 2007-01-10 |
Family
ID=15925623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50543499A Expired - Fee Related JP3865790B2 (ja) | 1997-06-27 | 1998-06-26 | メモリモジュール |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP3865790B2 (ja) |
WO (1) | WO1999000734A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807613B1 (en) * | 2000-08-21 | 2004-10-19 | Mircon Technology, Inc. | Synchronized write data on a high speed memory bus |
US6530006B1 (en) * | 2000-09-18 | 2003-03-04 | Intel Corporation | System and method for providing reliable transmission in a buffered memory system |
JP4652562B2 (ja) * | 2000-12-26 | 2011-03-16 | キヤノン株式会社 | メモリ制御装置 |
JP4410676B2 (ja) * | 2002-07-01 | 2010-02-03 | 株式会社日立製作所 | 方向性結合式バスシステム |
JP4159415B2 (ja) | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
DE102004039806B4 (de) * | 2003-08-13 | 2009-05-07 | Samsung Electronics Co., Ltd., Suwon | Speichermodul |
US7916574B1 (en) | 2004-03-05 | 2011-03-29 | Netlist, Inc. | Circuit providing load isolation and memory domain translation for memory module |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US7609567B2 (en) | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
WO2007028109A2 (en) * | 2005-09-02 | 2007-03-08 | Metaram, Inc. | Methods and apparatus of stacking drams |
JP5165233B2 (ja) * | 2005-12-09 | 2013-03-21 | 三星電子株式会社 | メモリシステム |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
JPWO2009001454A1 (ja) * | 2007-06-27 | 2010-08-26 | 富士通株式会社 | メモリ共有システムおよびメモリ共有装置 |
US20090182977A1 (en) * | 2008-01-16 | 2009-07-16 | S. Aqua Semiconductor Llc | Cascaded memory arrangement |
US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US8516185B2 (en) | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
KR101964261B1 (ko) * | 2012-05-17 | 2019-04-01 | 삼성전자주식회사 | 자기 메모리 장치 |
KR20160038034A (ko) | 2013-07-27 | 2016-04-06 | 넷리스트 인코포레이티드 | 로컬 동기화를 갖는 메모리 모듈 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59223987A (ja) * | 1983-05-26 | 1984-12-15 | Sony Tektronix Corp | デジタル信号記憶装置 |
JPS62121978A (ja) * | 1985-11-22 | 1987-06-03 | Hitachi Vlsi Eng Corp | 半導体記憶装置 |
JPH01171047A (ja) * | 1987-12-26 | 1989-07-06 | Fujitsu Ltd | メモリ素子のチップ交替制御装置 |
JPH03286234A (ja) * | 1990-03-30 | 1991-12-17 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JPH0877097A (ja) * | 1994-09-08 | 1996-03-22 | Ricoh Co Ltd | メモリシステム |
-
1998
- 1998-06-26 WO PCT/JP1998/002866 patent/WO1999000734A1/ja active Application Filing
- 1998-06-26 JP JP50543499A patent/JP3865790B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO1999000734A1 (fr) | 1999-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3865790B2 (ja) | メモリモジュール | |
JP2006236388A (ja) | メモリモジュール及びデータ処理システム | |
US10885971B2 (en) | Multi-die memory device | |
US7529112B2 (en) | 276-Pin buffered memory module with enhanced fault tolerance and a performance-optimized pin assignment | |
US7612621B2 (en) | System for providing open-loop quadrature clock generation | |
US7683725B2 (en) | System for generating a multiple phase clock | |
JP5523333B2 (ja) | 複数のデバイスおよび柔軟なデータ整列を用いるメモリコントローラを有するシステムにおけるクロック再生およびタイミング方法 | |
US7640386B2 (en) | Systems and methods for providing memory modules with multiple hub devices | |
JP4159415B2 (ja) | メモリモジュール及びメモリシステム | |
US8539152B2 (en) | Memory system topologies including a buffer device and an integrated circuit memory device | |
US20070005831A1 (en) | Semiconductor memory system | |
US7624244B2 (en) | System for providing a slow command decode over an untrained high-speed interface | |
US20240276639A1 (en) | Load reduced memory module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050905 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060526 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060713 |
|
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: 20060926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061004 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |