(57)【特許請求の範囲】
【請求項１】
複数のメモリブロックと、
第１クロックのサイクルで送られてくる一連のシリアルデータを第２クロックのサイクルに変換して第２クロックサイクルの一連のシリアルデータとして出力するためのデータ入出力同期回路と、
前記データ入出力同期回路と前記複数のメモリブロックとの間を接続するためのデータバスと、
前記複数のメモリブロックの夫々を制御するために共通して設けられた共通制御回路と、
前記複数のメモリブロックごとに分散配置され、前記共通制御回路から伝達された初期アドレス及び要求されたデータ数に基づいて、前記共通制御回路の制御なしに前記第１クロックのサイクルで一連のシリアルデータを出力するための第１クロック発生回路とを具備し、
前記複数のメモリブロックからの一連のシリアルリードデータは、前記データバスを経由して前記データ入出力同期回路の入力に前記第１クロックのサイクルで供給され、
前記リードデータは、前記データ入出力同期回路から前記第２クロックのサイクルでシリアルに出力され、
前記第１クロック発生回路において生成される前記第１クロックの周期は、前記第２クロックの周期と非同期であって、
前記データバスは相補型のデータバスであり、
前記データ入出力同期回路は、複数のレジスタからなるバッファと、前記相補型のデータバスのペア電位が同じ値から異なる値またはその反対に変化したことを受けて前記複数のレジスタのいずれかの入力を前記相補型のデータバスに巡回的に接続するための第１スイッチ手段と、前記第２クロックを受けて前記複数のレジスタのいずれかの出力をデータ出力端子に巡回的に接続するための第２スイッチ手段とを含むことを特徴とするメモリシステム。
【請求項２】
複数のメモリブロックと、
第１クロックのサイクルで送られてくる一連のシリアルデータを第２クロックのサイクルに変換して第２クロックサイクルの一連のシリアルデータとして出力するためのデータ入出力同期回路と、
前記データ入出力同期回路と前記複数のメモリブロックとの間を接続するためのデータバスと、
前記複数のメモリブロックの夫々を制御するために共通して設けられた共通制御回路と、
前記複数のメモリブロックごとに分散配置され、前記共通制御回路から伝達された初期アドレス及び要求されたデータ数に基づいて、前記共通制御回路の制御なしに前記第１クロックのサイクルで一連のシリアルデータを出力するための第１クロック発生回路と、
前記共通制御回路と前記複数のメモリブロックとに接続するアドレスバスと、
前記アドレスバスと前記複数のメモリブロックの夫々との接続状態を制御するために対応して設けられた複数のスイッチ手段とを具備し、
前記複数のメモリブロックからの一連のシリアルリードデータは、前記データバスを経由して前記データ入出力同期回路の入力に前記第１クロックのサイクルで供給され、
前記リードデータは、前記データ入出力同期回路から前記第２クロックのサイクルでシリアルに出力され、
前記第１クロック発生回路において生成される前記第１クロックの周期は、前記第２クロックの周期と非同期であって、
前記複数のメモリブロックの夫々は、メモリチップ上に設けられた複数のメモリアレーブロックの一つであり、
前記データ入出力同期回路は、前記メモリチップ上に設けられることを特徴とするメモリシステム。
【請求項３】
請求項１又は２において、
前記複数のメモリブロックの夫々は、アドレスバッファとアドレスカウンタとを含むことを特徴とするメモリシステム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記要求されたデータ数は、前記データ入出力同期回路のバッファ内のレジスタの数以下であることを特徴とするメモリシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記データ入出力同期回路は、前記複数のメモリブロックの一つから前記データ入出力同期回路に転送されたが前記データ入出力同期回路がまだ出力していない未出力データの数を監視し、前記未出力データが所定数まで増加した際に前記複数のメモリブロックの動作を一時停止させるための一時停止信号を発生するバッファ状態信号発生回路を含むことを特徴とするメモリシステム。
【請求項６】
請求項５において、
前記バッファ状態信号発生回路は、前記一時停止信号により前記複数のメモリブロックの一つから前記データ入出力同期回路へのデータ転送が停止した後、前記未出力データの数が所定数まで減少した場合に前記複数のメモリブロックの一つに再始動の信号を送出する機能を更に有することを特徴とするメモリシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記データ入出力同期回路は、前記複数のメモリブロックの一つから前記データ入出力同期回路に転送されたが前記データ入出力同期回路がまだ出力していない未出力データの数を監視し、前記未出力データの数が所定数より減少した際に、前記データ入出力同期回路からデータの出力を一時停止させるための信号を前記共通制御回路に送る回路を含むことを特徴とするメモリシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記共通制御回路と前記複数のメモリブロックとに接続するアドレスバスと、
前記アドレスバスと前記複数のメモリブロックの夫々との接続状態を制御するために対応して設けられた複数のスイッチ手段とを具備し、
前記スイッチ手段は、対応する前記メモリブロックのアドレスカウンタがリセット状態でない場合には、前記アドレスバスの信号の前記アドレスカウンタへの供給を遮断することを特徴とするメモリシステム。
【請求項９】
請求項１において、
前記データ入出力同期回路は、一つの半導体チップに設けられたＣＰＵの一部であり、前記複数のメモリブロックの夫々は、別の半導体チップに設けられることを特徴とするメモリシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は高速、低消費電流、高信頼性でかつ設計の容易なメモリシステムに係り、特に、中央演算処理装置（以下、ＣＰＵと称する）と複数のメモリチップ間、或いはメモリチップ内の入出力回路とメモリアレーブロック間の同期の取れたデータ転送方式を備えるメモリシステムに関する。
【０００２】
【従来の技術】
近年の半導体装置或いは電子装置におけるメモリシステムでは、システム全体が１つのクロックに同期して動作する構成になってきている。図１８は、このような１つのクロックで同期して制御する従来のメモリシステムの構成例を示すものである。システムＳｙｓ１はメモリブロックＢｃ１，Ｂｃ２，…などからなり、各メモリブロックＢｃ１，Ｂｃ２，…は制御回路ＣＮＴＬｃにより制御される。例えば、システムＳｙｓ１をメモリチップとすると、メモリブロックＢｃ１はチップ内を複数に分割した時の１つのメモリアレーブロックであり、制御回路ＣＮＴＬｃは外部装置とのインターフェイス回路である。このメモリチップＳｙｓ１を外部装置たとえばＣＰＵ（不図示）に同期して動作させるために、ＣＰＵからのクロック信号線１０がチップ全体に網羅される。このような、同期メモリチップの詳細は、例えば特開平５−１２０１１４号公報に記載されている。このような構成にすることにより、システム全体の設計が容易となり、高速化も達成しやすくなる。なぜなら、例えばＣＰＵがメモリチップＳｙｓ１へデータを要求した場合、一定のクロックサイクル後にデータがＣＰＵに同期して転送されてくることが常に決まっているからである。そして、クロック信号に同期して行なうパイプライン方式による高速化の設計も容易だからである。
【０００３】
また、データを連続して高速に出力する方法として、システム全体が１つのクロックに同期して動作する上記構成によるパイプライン方式以外に、並列出力する方法が知られている。すなわち、連続データの少なくとも一部をまとめて出力し、これらを一時的に所定のバッファ領域に記憶しておき、そして、このバッファ領域から高速に順次出力する方式である。このような方式は、例えば特開昭５７−１５０１９０号公報に示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述した前者の１つのクロックに同期して動作する従来のメモリシステムＳｙｓ１によれば、以下のような問題点がある。
【０００５】
（１）図１９に示すように、システム内のクロック遅延の分布に起因した処理速度の劣化がある。図１９は、従来のクロック同期方式のシステム内のクロック遅延の違いを説明する動作波形図である。図１９において、ＣＬＫ（ＣＮＴＬｃ）は制御回路ＣＮＴＬｃのクロック波形、ＣＬＫ（Ｂｃｓ）は制御回路ＣＮＴＬｃに近接して配置されたメモリブロックＢｃｓのクロック波形、ＣＬＫ（Ｂｃｔ）はメモリブロックＢｃｓに比べ制御回路ＣＮＴＬｃから遠くに配置されたメモリブロックＢｃｔのクロック波形、Ｂｃｓ処理及びＢｃｔ処理はそれぞれメモリブロックＢｃｓ及びメモリブロックＢｃｔにおけるデータ処理を示す波形、ＣＮＴＬｃ次段処理は１つの仕事を処理した後の次の処理を示す波形である。
【０００６】
すなわち、図１９から明らかなように、制御回路ＣＮＴＬｃに近接して配置されたメモリブロックＢｃｓに比べ、遠くに配置されたメモリブロックＢｃｔでは、クロックがより遅延する。各メモリブロック内での１つの仕事に要する時間をＴ０、最も信号伝達の遅れるメモリブロックＢｃｔでの信号遅延をΔＴ１とすれば、全体を同期的に動作させるためには制御回路のクロック信号ＣＬＫ（ＣＮＴＬｃ）のクロック周期はＴ０＋２×ΔＴ１以上でなければならない。ここで、係数２は、メモリブロックＢｃｔでの処理開始を指示するクロック信号ＣＬＫ（Ｂｃｔ）の遅延と、メモリブロックＢｃｔの出力が制御回路ＣＮＴＬｃに到達するまでの遅延の和を意味する。このように、理想的クロック周期Ｔ０に対し、２×ΔＴ１だけ処理速度が劣化するという問題点がある。
【０００７】
（２）パイプライン構成にした場合、図２０に示すように、処理速度のばらつきに対するマ−ジンの必要性から、動作速度の劣化が生じる。図２０は、従来のクロック同期方式のパイプライン方式によるパイプライン最長段及び各段の処理速度の違いを説明する動作波形図である。図２０において、Ｂｃｒ出力はパイプライン３段の場合のメモリブロックＢｃｒのデータ１からデータ４までのデータ処理の出力を示す波形である。
【０００８】
すなわち、図２０から明らかなように、処理速度が最長の段（ここではＰ２）の平均的な処理速度をＴｃとすると、デバイス特性のばらつき、温度依存性などを考慮して、制御回路のクロック信号ＣＬＫ（ＣＮＴＬｃ）の周期は平均処理速度Ｔｃにマージン分ΔＴ２を加えただけ遅くする必要があるという問題点がある。さらには、パイプライン各段Ｐ１，Ｐ２，Ｐ３の処理速度の違いに起因して、最初のデータが出力されるまでに要する時間は、各段Ｐ１、Ｐ２、Ｐ３の処理速度の総和よりもかなり遅くなるという問題点もある。例えば、パイプラインが３段構成の場合には、処理時間はＴｃ＋ΔＴ２の約３倍となる。
【０００９】
（３）システム全体に網羅されたクロック信号線１０を、クロック周波数で充放電するので、消費電流が増大するという問題点がある。特に、この消費電流の増大はシステムを高速化する際に顕著となる。
（４）システム全体に網羅されたクロック信号線１０の充放電に伴い、多大な雑音が発生するという問題点がある。
（５）クロック信号遅延のシステム内での分布を考慮して、動作タイミングなどを決める必要があり、設計が煩雑となるという問題点がある。
以上の問題点は、チップサイズが増大し配線長が長くなったり、システムの規模が大きくなると、ますます深刻になる。
【００１０】
また、前述した従来例の後者の、連続データの少なくとも一部をまとめて出力し、これらを一時的に所定のバッファ領域に記憶した後、バッファ領域から高速に順次出力するという並列出力方式においても、以下のような問題点がある。
【００１１】
（１）並列にデータを出力するためには、入出力線やメインアンプなどが複数個必要となり、チップ面積の増大を招くという点。
（２）一度に複数ビット分の読み出し動作を行うため、消費電力のピーク値が増大するという点。
（３）少数ビット、例えば１ビットのデータを読み出す場合にも、回路構成上不必要に複数個のデータを読み出すことになり、消費電流が不必要に増大するという点。
【００１２】
そこで、本発明の目的は、外部装置のクロックと同期して動作させる方式の利点を活かしながら上記問題点を解決したメモリシステムを提供することであり、メモリシステムが半導体装置の場合であれば、チップ面積が増大しても、チップ内の入出力回路からメモリアレーブロックまでのクロック信号の遅延に起因する速度劣化及び設計の複雑化を避けることができ、或いはメモリシステムがＣＰＵに多数のメモリチップを接続する電子装置の場合であれば、メモリチップ構成数が大規模化しても、ＣＰＵとメモリチップ間の信号遅延に起因する速度劣化及び設計の複雑化を避けることができるメモリシステムを提供することにある。その他、クロック信号線の充放電による消費電流及び雑音を低減して低消費電力及び高信頼性を図ったメモリシステムを得ることも課題となっている。
【００１３】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るメモリシステムは、図１の実施例で言えば、複数のメモリブロックすなわちメモリアレーブロックＢｉと、これらの各メモリアレーブロックＢｉを制御するための共通の制御回路ＣＮＴＬ０とを少なくとも有するメモリシステムにおいて、シリアルに入力してくるデータを所要の周期に変換してシリアルに出力するデータ入出力同期回路ＣＬＫＭＴ０を有し、該データ入出力同期回路の入力部すなわちバッファＢＦ０と前記複数のメモリアレーブロックＢｉとを相補データバスＩ／Ｏで接続して、前記データ入出力同期回路ＣＬＫＭＴ０の出力の周期を、このデータ入出力同期回路に接続配置した前記制御回路ＣＮＴＬ０によって制御するように構成したことを特徴とする。
【００１４】
また、本発明に係るメモリシステムは、複数のメモリブロックと、これらの各メモリブロックを制御するための共通の制御回路とを少なくとも有するメモリシステムにおいて、前記各メモリブロックは、接続される相補データバス上の一対の電位が同じ値から異なる値または異なる値から同じ値に変化したことを検知してデータ書き込みを行うアドレス切り換え手段、すなわち図７の実施例で言えば入力部７ＡとアドレスカウンタＡＤ．Ｃを有することを特徴とする。この場合、任意の周期でシリアルに入力してくるデータを所要の周期に変換してシリアルに出力するデータ入出力同期回路ＣＬＫＭＴ０を更に設ければ好適である。
【００１５】
前記データ入出力同期回路ＣＬＫＭＴ０は、複数のレジスタからなるバッファ、すなわち図４の実施例で言えばフリップフロップＦ１ｉからなるバッファＢＦ０を有すると共に、前記相補データバスＩ／Ｏ上の一対のデータ線ＤＴ，ＤＢの電位が同じ値から異なる値または異なる値から同じ値に変化したことに呼応して前記複数のレジスタの入力の内の一つを前記データバスに巡回的に接続していく一方、前記制御回路ＣＮＴＬ０からのクロック信号に呼応して前記複数のレジスタの出力の内の一つを外部装置、例えばＣＰＵへデータ出力するための前記制御回路ＣＮＴＬ０の出力線に巡回的に接続していく手段すなわちカウンタＣｏｕｎｔｅｒ２及びデコーダＤｅｃ２からなる回路を備えるように構成すれば良い。
【００１６】
一方、前記メモリシステムにおいて、各メモリブロックすなわちメモリアレーブロックＢｉは、図１に示すように、アドレスバッファＡＢおよびアドレスカウンタＡＤ．Ｃを備えれば好適である。
【００１７】
また、各メモリブロックは、連続したアドレスのデータ列を、前記制御回路ＣＮＴＬ０から与えられた初期アドレスａおよび連続データ数ＢＬにしたがって独自の周期で前記制御回路からの制御なしに、前記データバスにシリアルに出力する出力手段、すなわち図７の実施例で言えば、ブロック選択信号バーＢＳ（以下、バーＢＳはＢＳ￣と表示する）により動作を開始する内部クロック発生回路Ｂｉ．ＣＬＫ．ｇｅｎをパルス源として含む出力手段を有し、前記制御回路から与えられる前記データ数は最大でも前記データ入出力同期回路ＣＬＫＭＴ０のバッファＢＦ０のレジスタ数であるように構成する。
【００１８】
更に、前記メモリブロックから前記データバスを介してバッファＢＦ０にデータを転送するに際し、前記メモリブロックから前記バッファに既に転送され外部装置へは未だ出力されていない未出力データの数を監視して未出力データの数が所定数を越えた場合に前記メモリブロックに動作の一時停止の信号を送出するバッファ状態信号発生回路、すなわち図１１で言えば論理回路Ｃｏｍｐ０及びホールド回路ＨＯＬＤ０からなるバッファ状態信号ＢＦＳＴを出力する回路を備えることができる。
【００１９】
この場合、前記バッファ状態信号発生回路は、前記一時停止信号により前記メモリブロックから前記バッファへＢＦ０のデータ転送が停止した後、前記未出力データの数が所定数まで減少した場合に前記メモリブロックに再始動の信号を送出する機能を更に備えれば好適である。
【００２０】
或いは、前記メモリシステムにおいて、前記メモリブロックから前記バッファＢＦ０にデータを転送するに際し、前記メモリブロックから前記バッファに既に転送され外部装置へは未だ出力されていない未出力データの数を監視して未出力データの数が所定数まで減少した場合に前記制御回路に前記バッファからのデータの出力の一時停止を指示する信号を送出するための回路、すなわち図１２の実施例で言えば制御回路ＣＮＴＬ０へ一時停止信号Ｗａｉｔを出力する論理回路Ｃｏｍｐ１を備えるように構成してもよい。
【００２１】
また、前記メモリシステムは、メモリブロックをメモリチップ内の分割された複数のメモリアレーブロックの各メモリアレーブロックとし、すなわち図１５で言えばメモリアレーブロックＭＢｉであり、前記制御回路をメモリチップ内に設けた外部装置とのインターフェイス回路すなわちＣＮＴＬｍとして構成した半導体メモリチップとすることができる。
【００２２】
この場合、読み出しデータを検出してメモリアレーブロックを独自の周期で動作させるためのクロックを発生するクロック発生回路すなわちＭＢｉ．ＣＬＫ．ｇｅｎを、前記各メモリアレーブロックＭＢｉごとに設ければ好適である。
【００２３】
また、前記メモリシステムは、例えば図１７に示すように、前記制御回路をＣＰＵとし、前記メモリブロックをメモリチップとして構成したＣＰＵと複数のメモリチップからなる電子装置としてもよい。
【００２４】
【作用】
本発明に係るメモリシステムは、例えば図１〜図７に示すように、外部装置、ＣＰＵのクロックＣＬＫをメモリチップＳｙｓ０の全体には分配せず、メモリチップの入出力インターフェイスである制御回路ＣＮＴＬ０のみＣＰＵのクロックＣＬＫに同期して動作する。メモリチップＳｙｓ０は、独自の内部周期で一連のデータをシリアルに出力する複数のメモリアレーブロックＢｉから相補データバスＩ／Ｏを通してシリアルに送られてくるデータ列を、バッファＢＦ０を含むデータ入出力同期回路ＣＬＫＭＴ０によって、クロックＣＬＫに同期するように時間調整して制御回路へ出力する。
【００２５】
メモリチップＳｙｓ０の読み出し動作は、次のように行なわれる。各メモリアレーブロックＢｉごとにアドレスバッファＡＢおよびアドレスカウンタＡＤ．Ｃを有し、初期アドレスａ及び連続データ数ＢＬがＣＰＵから制御回路ＣＮＴＬ０を経てメモリアレーブロックＢｉに与えられた後は、メモリアレーブロックＢｉはアドレスカウンタＡＤ．Ｃをカウントアップしながら独自の周期で次々とデータ列を出力する。ＣＰＵとは異なる周期でメモリアレーブロックＢｉからバッファＢＦ０へ送られてくるデータ列をＣＰＵに同期して出力するために、先ずメモリアレーブロックＢｉからのデータをバッファＢＦ０内の異なるレジスタＦＦ１ｉに次々に一時格納する。この一時格納動作は、データ入出力同期回路ＣＬＫＭＴ０が、相補データバスＩ／Ｏ上の１対のデータ線ＤＴ，ＤＢの電位が同じ値から異なる値に（またはその逆に）変化したことにより新しいデータの到着を認識し、上記複数のレジスタＦＦ１ｉの一つの入力をデータバスに巡回的に接続することによって行われる。この一時格納動作にほぼ並行してＣＰＵのクロック周期ＣＬＫに合わせてバッファＢＦ０のデータを制御回路ＣＮＴＬ０を介して外部に出力するために、データ入出力同期回路ＣＬＫＭＴ０は制御回路からのクロックすなわちＣＰＵのクロックＣＬＫに同期して、上記複数のレジスタＦＦ１ｉの一つの出力を制御回路ＣＮＴＬ０に巡回的に接続する。このようにして、メモリアレーブロックＢｉからのデータはデータ入出力同期回路ＣＬＫＭＴ０を通過時の時間遅延もほとんどなく、ＣＰＵのクロックＣＬＫに同期して次々と出力される。
【００２６】
ここで、連続データ数ＢＬがバッファＢＦ０の容量以上で、メモリアレーブロックＢｉのクロックがＣＰＵのクロックＣＬＫより高速の場合は、いずれＢＦ０が満杯になり転送不可能となってしまうが、本発明に係るメモリシステムによれば、バッファＢＦ０およびアドレスカウンタＡＤ．Ｃを数ビットの小容量とすることが可能となる。すなわち、バッファＢＦ０の容量を越える連続データをメモリアレーブロックＢｉからＣＰＵへ出力する場合、例えば制御回路ＣＮＴＬ０はとりあえずバッファＢＦ０のビット数だけのデータをメモリアレーブロックＢｉに要求する。そして、制御回路ＣＮＴＬ０はこのビット数のデータ数と同じクロック数の後、さらにバッファＢＦ０のビット数だけのデータをメモリアレーブロックＢｉに要求する。これを繰り返すことにより、ＣＰＵはバッファＢＦ０のビット数を越える連続データを、ＣＰＵのクロックＣＬＫの周期で切れ目なくメモリアレーブロックＢｉより得ることができる。
【００２７】
或いは、図８〜図１１に示すように、バッファＢＦ０が転送データで満杯となるか、あるいは残り数ビットとなった時点で、バッファＢＦ０からメモリアレーブロックＢｉへ一時停止の信号すなわちバッファ状態信号ＢＦＳＴを送る。そしてバッファＢＦ０がほとんど空に戻った状態で一時停止を解除する。これにより、ＣＰＵはバッファＢＦ０のビット数を越える連続データを、ＣＰＵのクロックＣＬＫの周期で切れ目なくメモリアレーブロックＢｉより得ることができる。
【００２８】
メモリチップＳｙｓ０への書き込みは、次のように行なわれる。外部装置すなわちＣＰＵからの一連のデータ列は、制御回路ＣＮＴＬ０を経て相補データとして相補データバスＩ／Ｏに送られる。データを受けたメモリアレーブロックＢｉは、相補データバスＩ／Ｏ上の１対のデータ線ＤＴ，ＤＢの電位が同じ値から異なる値に（またはその逆に）変化したことにより新しいデータの到着を認識し、メモリアレーブロックＢｉ内部のアドレスカウンタＡＤ．Ｃをカウントアップしてデータを連続したアドレスに格納していく。
【００２９】
なお、以上述べたメモリチップＳｙｓ０の構成を、図１７に示すように、ＣＰＵと複数のメモリチップＭ．Ｃｈｉｐｉとからなる電子装置に適用することにより、ＣＰＵとメモリチップＭ．Ｃｈｉｐｉとの間にＣＰＵのクロックＣＬＫの信号線を配線することなく、メモリチップＭ．ＣｈｉｐｉとＣＰＵ間のデータ転送をＣＰＵのクロックＣＬＫに同期して行なうことができる。この場合、前記メモリアレーブロックＢｉはメモリチップＭ．Ｃｈｉｐｉに、制御回路ＣＮＴＬ０はＣＰＵに対応し、ＣＰＵ内あるいはこれに近接して制御回路ＣＬＫＭＴ０が設けられる。
【００３０】
ここで、図１３及び図１４の動作波形図を用いて本発明に係るメモリシステムと従来例のメモリシステムとの作用の相違につき簡単に説明する。
図１９に示した従来例のようにメモリシステム全体を１つのクロックで同期的に動作させる構成では、システム内メモリブロック間でのクロック遅延の違いが、システムの高速化を妨げていた。これに対して本発明に係るメモリシステムでは、図１３に示すように、例えば制御回路ＣＮＴＬ０から最も遠くに配置されたメモリブロックＢｔの出力が、制御回路ＣＮＴＬ０に近接して配置されたメモリブロックＢｓに対してクロック信号が遅れていても、メモリシステム全体が１つのクロックで同期的に動作するわけではないので、メモリブロックＢｔのデータが出力されるまで次のクロック立ち上がりを待つ必要はない。制御回路ＣＮＴＬ０は、バッファＢＦ０にメモリブロックＢｓ及びＢｔからの最初の出力が転送されるまで、最初のデータ取り込みを待つ必要があるが、その後は、メモリブロックＢｓ及びＢｔの処理速度と同じ速度でデータの取り込みを行なうことができる。
【００３１】
この様に、従来のメモリシステムでは制御回路のクロック信号ＣＬＫは、Ｔ０＋２×ΔＴ１（メモリブロックＢｔのクロック遅延）の周期であったのに対し、本発明に係るメモリシステムではクロック信号ＣＬＫはＴ０の周期が可能となり、メモリシステム内でのクロック遅延の違いがクロック周波数に影響を与えない。従って、高速のメモリシステムを得ることができる。
【００３２】
また、図２０を用いて説明したように、メモリブロックＢｉ内にパイプライン方式を適用した場合、従来のメモリシステムではパイプライン最長段の設計上の処理速度Ｔｃに対してばらつきを見込み、クロック周期はＴｃ＋ΔＴ２より遅くなければならなかった。更に、パイプライン各段、例えばパイプラインが３段構成で各段の処理速度が異なる場合、最初のデータが得られるまでの時間は、パイプライン最長段のクロック周期、Ｔｃ＋ΔＴ２の約３倍が必要であった。これに対して、本発明に係るメモリシステムでは、図１４に示すように、制御回路ＣＮＴＬ０のクロック信号ＣＬＫの周期はパイプライン各段の処理速度とは別個に任意に設定できる。なぜなら、制御回路のクロック信号ＣＬＫはバッファＢＦ０に貯め込まれたデータを制御回路ＣＮＴＬ０に送るのに使われるだけであり、メモリブロックＢｉ内部のパイプライン動作とは無関係だからである。ただし、メモリブロックＢｉの内部処理を開始してから制御回路ＣＮＴＬ０が最初のデータを取り込むまでの時間を、一定値以上に設定する必要がある。例えば、データ１〜データ４の４つの連続データをメモリブロックＢｉから制御回路ＣＮＴＬ０に送る場合、メモリブロックＢｉからデータ４がバッファＢＦ０に送られた後に、制御回路ＣＮＴＬ０がクロック信号ＣＬＫに同期してデータ４の取り込みを行なうように、制御回路ＣＮＴＬ０のデータ１取り込みのタイミングを決める必要がある。一方、最初のデータが得られるまでの時間は、例えばパイプラインが３段構成の場合、従来のメモリシステムがパイプライン最長段の処理速度の約３倍であったのに対し、本発明に係るメモリシステムでは、各段の処理速度の和にまで短縮できる。従って、最後のデータ、例えばデータ４を得るまでの時間も従来に比べて同じだけ短縮可能である。
【００３３】
以上の説明から明らかなように、本発明に係るメモリシステムおけるバッファＢＦ０の動作は、従来からよく知られているキャッシュメモリの概念とは以下の２点で全く異なるものである。
【００３４】
（１）バッファＢＦ０のレジスタは入力と出力とを持ち、レジスタへの入力動作と出力動作とが同時刻に並行して行なわれる。これに対してキャッシュメモリでは書き込み動作と読み出し動作とを同時に行なうことはできない。従って、本発明に係るメモリシステムでは、メモリアレーブロックＢｉからのデータがバッファＢＦ０に留まる時間を最小限に押さえることができ、メモリアレーブロックＢｉからのデータがほとんど遅延無くバッファＢＦ０を通過することも可能である。すなわち、本発明に係るメモリシステムで使用するバッファＢＦ０は、メモリアレーブロックＢｉの動作の高速性を生かしつつ外部装置に同期して動作させることを目的としたものである。
【００３５】
（２）バッファＢＦ０は、キャッシュメモリのように一度データをまとめて蓄積し、そして蓄積した後にまとめて放出するものではなく、シリアルデータの転送速度を変調するためのものである。従って、上述したように、転送すべきデータ数よりバッファＢＦ０の容量をはるかに小さくしても、外部装置のクロックでメモリアレーブロックから外部装置へデータを切れ目無く高速転送することが可能である。
【００３６】
【実施例】
以下、本発明に係るメモリシステムの好適な幾つかの実施例につき、図面を用いて詳細に説明する。
【００３７】
＜実施例１＞
図１は、本発明に係るメモリシステムの一実施例の要部を示すブロック図であり、各メモリブロックが個別の周期で動作しながら、全体が同期して動作する同期メモリシステムである。以下では、複数のメモリアレーブロックに分割されたメモリチップに本発明に係るメモリシステムを適用した場合について説明するが、ＣＰＵと複数のメモリチップからなる電子装置に対しても同様に適用することができる。
【００３８】
図１において、Ｓｙｓ０はメモリシステム、ここではメモリチップを示し、このメモリチップＳｙｓ０は、独自の内部周期で一連のデータをシリアルに出力する複数のメモリアレーブロックＢｉ（ここで、添字ｉは１，２，…）と、メモリアレーブロックＢｉから相補データバスＩ／Ｏを通してシリアルに送られてくるデータ列を、外部装置例えばＣＰＵのクロック信号ＣＬＫに同期するように時間調整して外部出力するためのバッファＢＦ０を含むデータ入出力同期回路ＣＬＫＭＴ０と、及び外部装置との入出力インターフェイスである制御回路ＣＮＴＬ０とから少なくとも構成される。
【００３９】
各メモリアレーブロックＢｉ内には、アドレスバッファＡＢとアドレスカウンタＡＤ．Ｃからなるインターフェイス回路が設けられている。制御回路ＣＮＴＬ０と各メモリアレーブロックＢｉとは、ブロック選択信号ＢＳ￣の信号線、相補データバスＩ／Ｏ、アドレスバスＡＤ、およびライトイネーブル信号ＷＥの信号線によりそれぞれ結ばれている。しかし、本実施例の構成では、図１８の従来例で示したクロック信号線１０は各メモリアレーブロックＢｉに接続配置されていない。
【００４０】
次に、このように構成される本実施例のメモリシステムの動作について説明する。
まず、ブロック選択信号ＢＳ￣によリ複数のメモリアレーブロックＢｉの中のメモリアレーブロックＢ１が選択されたとする。このメモリアレーブロックＢ１からデータ入出力同期回路ＣＬＫＭＴ０と制御回路ＣＮＴＬ０を経て外部装置のＣＰＵへ一連のデータを転送する場合（すなわち、メモリチップＳｙｓ０からの読み出し動作の場合）、初期アドレスがＣＰＵから制御回路ＣＮＴＬ０を介して選択されたメモリアレーブロックＢ１のアドレスバッファＡＢに与えられた後は、メモリアレーブロックＢ１は内部のアドレスカウンタＡＤ．Ｃをカウントアップしながら独自の周期で次々とデータ列を出力する。データ入出同期回路ＣＬＫＭＴ０は、この到来するデータ列を内部のバッファＢＦ０に一時格納して時間調整を行ない、制御回路ＣＮＴＬ０から与えられる一定の周期（一般にはＣＰＵの周期）で制御回路ＣＮＴＬ０を介して外部に出力する。尚、この場合のバッファＢＦ０における一時格納動作は、到来するデータを格納している最中にも格納データを次々と出力しており、外からみればデータの転送速度を変調して出力しているような動作であり、到来するデータを一旦まとめて格納し、その後格納したデータを出力するというキャッシュメモリの一時格納動作とは異なる。
【００４１】
ここで、メモリアレーブロックＢ１の内部クロック信号の動作周波数がＣＰＵのクロック信号ＣＬＫに比べ高速であったとしても、バッファＢＦ０の記憶容量が転送すべき連続データ数より大きければ、バッファＢＦ０が満杯になることなくデータ転送を続けることができる。これに対して、バッファＢＦ０の記憶容量が小容量（ｎビットとする）であった場合には、以下に述べる方法によりデータ転送を続けることができる。
【００４２】
すなわち、メモリアレーブロックＢ１の内部周期がＣＰＵのクロック信号ＣＬＫに比べ高速の時、データを連続的に転送するとバッファＢＦ０がまもなく満杯になってしまう。そこで、制御回路ＣＮＴＬ０は、とりあえずｎビットだけのデータをメモリアレーブロックＢ１に対して要求し、ｎビットのデータの処理に要したサイクルの後、制御回路ＣＮＴＬ０は再び次のアドレスからｎビットだけのデータをメモリアレーブロックＢ１に要求する。これを繰り返すことにより、バッファＢＦ０の記憶容量を超える任意の長さの連続データに対しても、正常にデータ転送を切れ目なく行なうことができる。
【００４３】
図２は、図１に示した本発明に係るメモリシステムＳｙｓ０におけるメモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送動作を示す動作波形である。図２を用いて、上記データ転送動作をより具体的に説明する。まず、制御回路ＣＮＴＬ０のクロック信号ＣＬＫに同期して、ブロック選択信号ＢＳ￣が制御回路ＣＮＴＬ０からデータ入出力同期回路ＣＬＫＭＴ０を介して各メモリアレーブロックに伝達され、所要のメモリアレーブロックＢｉが選択される。選択されたメモリアレーブロックＢｉはこれを受けて、動作を開始する。
【００４４】
この時、制御回路ＣＮＴＬ０から送られたライトイネーブル信号ＷＥがロウレベルであることから、メモリブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送であることを選択されたメモリアレーブロックＢｉは認識する。また、選択されたメモリアレーブロックＢｉは、同時に制御回路ＣＮＴＬ０からアドレスバスＡＤを介して送られた初期アドレスａおよび連続データ数ＢＬを認識する。ただし、連続データ数ＢＬがバッファＢＦ０の容量、例えば４を越える場合には、制御回路ＣＮＴＬ０はとりあえず連続データ数ＢＬとして４を指定する。
【００４５】
メモリアレーブロックＢｉ内のアドレスカウンタＡＤ．Ｃは、初期値が０となっている。このアドレスカウンタＡＤ．Ｃの初期値０とアドレスバッファＡＢに転送された初期アドレスａとから、メモリアレーブロックＢｉでの内部アドレスＡＤ．ｉｎｔはａに設定される。この結果、アドレスａのデータがメモリアレーブロック内部処理の後、メモリアレーブロックＢｉから相補データバスＩ／Ｏに出力される。アドレスカウンタＡＤ．ＣはメモリアレーブロックＢｉの内部周期（一般にはＣＰＵのクロック信号ＣＬＫの周期よりも短い）で０から３までカウントアップされ、これに対応してメモリアレーブロックＢｉ内部でのアドレスＡＤ．ｉｎｔもａからａ＋３まで変化する。そして、アドレスａからａ＋３までの４つの連続データが、次々にメモリアレーブロックＢｉから相補データバスＩ／Ｏに出力される。
【００４６】
一方、制御回路ＣＮＴＬ０近くに接続配置されたデータ入出力同期回路ＣＬＫＭＴ０内には、４ビットのバッファＢＦ０が設けられているので、選択されたメモリアレーブロックＢｉから送られて来る連続データはバッファＢＦ０内の４つのフリップフロップＦＦ１ｉ（図２の場合、添字ｉは０，１，２，３）に巡回的に送りこまれる。データの入力先であるフリップフロップＦＦ１ｉの切り換えは、後に示すようにメモリアレーブロックＢｉから転送されるデータの変化を検知して行なわれる。制御回路ＣＮＴＬ０は、データ転送指定から例えば図２の場合で３クロック後から、バッファＢＦ０へメモリアレーブロックＢｉより送られてくるデータをＣＰＵのクロック信号ＣＬＫに同期して順次受け取り外部に出力する。
次に、初期アドレスをａ＋４として、以上と同様な動作を、最初のデータ転送指定から４クロック後に開始する。
【００４７】
これを繰り返せば、メモリアレーブロックＢｉの内部周期がＣＰＵのクロック信号ＣＬＫより高速である場合でも、制御回路ＣＮＴＬ０はバッファＢＦ０の記憶容量を超えた連続データをＣＰＵのクロック信号ＣＬＫに同期して切れ目無く受け取ると共に外部に出力することができる。
【００４８】
このようにしてメモリシステムＳｙｓ０からデータ読み出し動作を行うので、クロック信号線１０をメモリシステム全体に分配する図１８に示した従来例の場合に比べ、（１）図１３により前述したように、システム内のクロック遅延の分布に起因する速度劣化のない、高速の読み出し動作を行うことができるメモリシステムが得られる、（２）図１４により前述したように、パイプライン方式採用時に、パイプライン最長段の処理速度ばらつきに起因した余分のマージンをとる必要がなく、高速の読み出し動作を行うことができるメモリシステムが得られる、（３）クロック信号線の充放電が不要となり、低消費電流のメモリシステムが得られる、（４）高速に充放電されるクロック信号線に起因する雑音のない、高信頼性のメモリシステムが得られる、（５）設計に際して、メモリアレーブロックＢｉ間のクロック遅延の違いを考慮する必要がないので、設計が容易になる、などの利点がある。
【００４９】
なお、バッファＢＦ０の記憶容量は、最大転送ビット数（例えば、５１２ビット）としてもよいが、本実施例のように小容量（ここでは４ビット）としてデータ転送を繰返した方が、メモリシステムＳｙｓ０を小規模化できるという利点がある。
【００５０】
また、初期アドレスａおよび連続データ数ＢＬが制御回路ＣＮＴＬ０からアドレスバスＡＤを介して、ブロック選択信号ＢＳ￣により選択されたメモリアレーブロックＢｉに与えられ、メモリアレーブロックＢｉが行なうべき仕事が確定した後は、この仕事が終了するまで選択されたメモリアレーブロックＢｉはアドレスバスＡＤなどの信号線から切り離されることが好ましい。これらの信号線から切り離すことにより、制御回路ＣＮＴＬ０は次の仕事に備えて上記信号線にあらかじめ信号を与えておくことができ、選択されたメモリアレーブロックＢｉが一連の仕事を終えて上記信号線へ再びみずからを接続した瞬間に、次の仕事を開始することができる。この結果、信号線を充放電するのに要する時間に起因する速度劣化を避けることができる。
【００５１】
次に、逆に、図１のメモリシステムＳｙｓ０において、制御回路ＣＮＴＬ０からメモリアレーブロックＢｉへデータを転送する場合（すなわち、メモリチップへの書き込み動作の場合）について、図３を用いてより具体的に説明する。図３は、例えばメモリアレーブロックＢｉの中のメモリアレーブロックＢ１が選択された場合の、制御回路ＣＮＴＬ０からメモリアレーブロックＢ１へのデータ転送動作を示す動作波形図である。この場合には以下に説明するように、転送データによる相補データバスＩ／Ｏ上の電位変化に対応してメモリアレーブロックＢ１の内部クロック信号を発生させ、メモリアレーブロックＢ１はこの内部クロック信号に同期してデータの取り込みおよび格納アドレスの切り換えを行なう。
【００５２】
まず、制御回路ＣＮＴＬ０のクロック信号ＣＬＫに同期してメモリアレーブロックＢｉへブロック選択信号ＢＳ￣が伝達され、メモリアレーブロックＢ１が選択されたとする。選択されたメモリアレーブロックＢ１はこれを受けて、動作を開始する。制御回路ＣＮＴＬ０から送られたライトイネーブル信号ＷＥがハイレベルであることから、制御回路ＣＮＴＬ０からメモリアレーブロックへのデータ転送であることを選択されたメモリアレーブロックＢ１は認識する。
【００５３】
また、メモリアレーブロックＢ１は制御回路ＣＮＴＬ０からアドレスバスＡＤを介して送られた初期アドレスａおよび連続データ数ＢＬを認識する。アドレスカウンタＡＤ．Ｃの初期値は０であり、この初期値０とアドレスバッファＡＢに転送された初期アドレスａとから、メモリアレーブロックＢ１での内部アドレスＡＤ．ｉｎｔはａに設定される。制御回路ＣＮＴＬ０から相補データバスＩ／Ｏに最初の相補データが送られると、選択されたメモリアレーブロックＢ１内のアドレスａの記憶領域に格納される。メモリアレーブロックＢ１は、相補データバスＩ／Ｏ上の電位変化を検知してアドレスカウンタＡＤ．Ｃを順次カウントアップし、対応するアドレスのメモリセルＭＣ１にデータを格納する。
【００５４】
このようにしてメモリシステムＳｙｓ０への書き込み動作が行われるので、クロック信号線１０をメモリシステム全体に分配する図１８に示した従来例の場合に比べ、（１）制御回路ＣＮＴＬ０側は、メモリシステム内のクロック遅延の分布とは無関係に、メモリアレーブロックＢｉの内部処理速度を越えない範囲で連続データを送信することができるので、高速に書き込み動作を行うメモリシステムが得られる、（２）クロック信号線の充放電が不要となり、低消費電流のメモリシステムが得られる、（３）高速に充放電されるクロック信号線に起因する雑音のない、高信頼性のメモリシステムが得られる、（４）設計に際して、メモリアレーブロックＢｉ間のクロック遅延の違いを考慮する必要がないので、設計が容易になる、などの利点がある。
【００５５】
＜実施例２＞
図４乃至図６を用いて、図１に示した本発明に係るメモリシステムを構成するデータ入出力同期回路の一実施例について説明する。図４の（ａ）において、参照符号ＣＬＫＭＴ０Ａはデータ入出力同期回路を示し、図１における回路ブロックＣＬＫＭＴ０の具体的回路構成例である。ライトイネーブル信号ＷＥがロウレベルで、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へデータを転送するモードの場合、メモリアレーブロックＢｉから相補データバスＩ／Ｏに出力されたデータは、データ入出力同期回路ＣＬＫＭＴ０Ａを通って制御回路ＣＮＴＬ０に送られる。一方、ライトイネーブル信号ＷＥがハイレベルで、制御回路ＣＮＴＬ０からメモリアレーブロックＢｉへデータを転送するモードの場合には、制御回路ＣＮＴＬ０からのデータはデータ入出力同期回路ＣＬＫＭＴ０Ａを介さずに直接相補データバスＩ／Ｏに送られる。
【００５６】
上記データ入出力同期回路ＣＬＫＭＴ０Ａは、相補データバスＩ／Ｏの一対のデータ線ＤＴ、ＤＢの変化を検知してパルスを発生するＮＯＲゲートからなる回路４０Ａと、フリップフロップＦＦ１ｉ（ｉ＝０〜３）で構成されるバッファＢＦ０と、バッファＢＦ０へのデータ入力を制御するカウンタＣｏｕｎｔｅｒ１およびデコーダＤｅｃ１と、バッファＢＦ０からのデータ出力を制御するカウンタＣｏｕｎｔｅｒ２およびデコーダＤｅｃ２とから構成される。なお、フリップフロップＦＦｌｉとしては、例えば図５に示すように、４個のＮＡＮＤゲートから構成される、いわゆるクロックパルス入力端子付きＲＳフリップフロップを用いることができる。
【００５７】
次に図６を用いて、このように構成されるデータ入出力同期回路ＣＬＫＭＴ０Ａの内部動作を説明する。図６は、データ入出力同期回路ＣＬＫＭＴ０Ａの内部動作波形を示す図である。図６に示すように、相補データバスＩ／Ｏの一対のデータ線ＤＴ，ＤＢは、基準電位Ｖｒｅｆに対して通常ロウレベルにあるが、選択されたメモリアレーブロックＢｉからのデータ転送に伴って、データ線ＤＴ，ＤＢのいずれかがハイレベルとなる。この時、デコーダＤｅｃ１の４本の出力線Ｅｉのうち出力線Ｅ０のみがハイレベルにあることに対応して、データはバッファＢＦ０内のフリップフロップＦＦ１０に取り込まれ、フリップフロップＦＦ１０のＱ０端子から出力される。相補データバスＩ／Ｏの一対のデータ線ＤＴ，ＤＢが共にロウレベルに戻ると、回路４０ＡのＮＯＲゲートの出力が立ち上がり、カウンタＣｏｕｎｔｅｒ１は０から１にカウントアップされる。この結果、デコーダＤｅｃ１の出力線Ｅ０はロウレベルとなり、出力線Ｅ１がハイレベルとなる。そして、メモリアレーブロックＢｉから送られる次のデータが、バッファＢＦ０内のフリップフロップＦＦ１１に取り込まれる。このようにして、メモリアレーブロックＢｉから送られるデータはフリップフロップＦＦ１ｉに巡回的に取り込まれる。
【００５８】
一方、バッファＢＦ０内のフリップフロップＦＦ１ｉからのデータの取り出しは、制御回路ＣＮＴＬ０からのクロック信号ＣＬＫに同期して行われる。このクロック信号ＣＬＫによりカウンタＣｏｕｎｔｅｒ２が順次カウントアップされ、デコーダＤｅｃ２によりバッファＢＦ０内のフリップフロップＦＦ１ｉのうちの一つが巡回的に制御回路ＣＮＴＬ０に接続される。
【００５９】
このようにデータ入出力同期回路ＣＬＫＭＴ０Ａが動作することにより、制御回路ＣＮＴＬ０のクロック信号ＣＬＫよりも高速の周期でメモリアレーブロックＢｉからデータが転送されてきた場合でも、制御回路ＣＮＴＬ０はクロック信号ＣＬＫに同期してデータを受け取ることができる。すなわち、本実施例によれば、図１のメモリシステムＳｙｓ０において、メモリアレーブロックＢｉの内部周期が外部装置のクロック信号ＣＬＫと同期せず、より高速であっても、全体として同期的にデータの受渡しを行なうことができる。そして、クロック信号ＣＬＫの信号線１０を、システム全体に分配する図１８に示した従来のメモリシステムＳｙｓ１の場合に比べ、本実施例のメモリシステムＳｙｓ０においても図２の実施例で述べたのと同様な効果を有する。
【００６０】
なお、データ入出力同期回路ＣＬＫＭＴ０Ａ内の回路４０Ａは、図４の（ｂ）に示すように、相補データバスＩ／ＯとＮＯＲゲートとの間に、それぞれ基準電位Ｖｒｅｆを一方の入力とする差動アンプＡｍｐ１１とＡｍｐ１２を設けてもよい。これにより、メモリアレーブロックＢｉからのデータ転送時に相補データバスＩ／Ｏの振幅を小さくすることができる。この結果、相補データバスＩ／Ｏの充放電に伴う消費電流をより一層小さくできる効果がある。
【００６１】
＜実施例３＞
図７を用いて、図１に示した本発明に係るメモリシステムを構成するメモリアレーブロックＢｉのインターフェイス回路の一実施例について説明する。本実施例のインターフェイス回路では、ライトイネーブル信号ＷＥの状態に応じて、アドレスカウンタＡＤ．Ｃをカウントアップするパルス源が切り換えられるように構成されている。図７の（ａ）において、Ｂｉ．ＣＬＫ．ｇｅｎはメモリアレーブロックＢｉ内部のクロック発生回路を示し、ライトイネーブル信号ＷＥがロウレベルでメモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送を行なう場合、すなわちメモリアレーブロックＢｉ内のメモリアレー（不図示）から出力バッファＤｏｕｔを介して相補データバスＩ／Ｏ上へデータを載せる場合には、この内部クロック発生回路Ｂｉ．ＣＬＫ．ｇｅｎがパルス源となる。ブロック選択信号ＢＳ￣によって所要のメモリアレーブロックＢｉが選択されると、選択されたメモリアレーブロックＢｉの内部クロック発生回路Ｂｉ．ＣＬＫ．ｇｅｎが動作を開始し、アドレスカウンタＡＤ．Ｃを内部周期でカウントアップしていく。
【００６２】
これに対してライトイネーブル信号ＷＥがハイレベルで、制御回路ＣＮＴＬ０からメモリアレーブロックＢｉへのデータ転送を行なう場合には、データ転送に伴う相補データバスＩ／Ｏ上の電位変化を検知してパルスを発生し、ＡＤ．Ｃをカウントアップする。すなわち、転送データに対応して一方がハイレベル、他方がロウレベルであった相補データバスＩ／Ｏの一対のデータ線ＤＴ，ＤＢが、待機状態に戻り同レベルになると、入力部７ＡのＮＯＲゲートの出力が立ち上がり、メモリアレー（不図示）と入力バッファＤｉｎとの間に設けられた一対のパストランジスタをオフすると共に、アドレスカウンタＡＤ．Ｃをカウントアップする。次にバッファＢＦ０から転送データが送られると、相補データバスＩ／Ｏの一対のデータ線ＤＴ、ＤＢは転送データに対応して一方がハイレベル、他方がロウレベルとなるので、上記ＮＯＲゲートの出力が立ち下がり、入力バッファＤｉｎに接続されたパストランジスタが導通する。この時、アドレスカウンタＡＤ．Ｃは上記ＮＯＲゲートのパルス立上り時に既にカウントアップされており、送られてきた転送データはカウントアップ後のアドレスに格納される。
【００６３】
このように、本実施例によれば、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送時には、内部周期で動作するので、メモリアレーブロックＢｉの設計をブロック内で閉じることができ、設計が容易となる利点がある。また、メモリアレーブロックＢｉをパイプライン動作させるときには、内部クロック発生回路Ｂｉ．ＣＬＫ．ｇｅｎは、一つの段の処理が終了した時点で次段の処理の開始を知らせる自己同期型のクロック発生回路とすれば良い。これにより、自己同期型パイプラインが構成できるので、システムの高速化が可能になる効果がある。更に、クロック信号線をシステム全体に網羅して配線する必要がないので、クロック信号線の充放電に伴う消費電流の増大や雑音の発生を回避できる効果がある。
【００６４】
なお、入力部７Ａの代わりに、図７の（ｂ）に示すように、相補データバスＩ／ＯとＮＯＲゲートとの間にそれぞれ基準電位Ｖｒｅｆを一方の入力とする差動アンプＡｍｐ２１，Ａｍｐ２２を設けて、相補データバスＩ／Ｏの一対のデータ線ＤＴ，ＤＢの変化を差動アンプＡｍｐ２１，２２で検知増幅した後、ＮＯＲゲートでパルスを発生させるようにした構成の入力部７Ｂを用いてもよい。この場合、相補データバスＩ／Ｏの振幅を小さくでき、相補データバスＩ／Ｏの充放電に伴う消費電流を小さくできる効果がある。
【００６５】
＜実施例４＞
図８は、本発明に係るメモリシステムの別の実施例の要部を示すブロック図であり、各メモリブロックが個別の周期で動作しながら、全体が同期して動作するメモリシステムである。本実施例では、複数のメモリアレーブロックに分割されたメモリチップに適用した場合について説明するが、ＣＰＵと複数のメモリチップとからなる電子装置に対しても同様に適用することができる。図１に示したメモリシステムと異なる点は、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へデータを転送するときの同期方法にあり、メモリシステムの構成としてはデータ入出力同期回路ＣＬＫＭＴ０と各メモリアレーブロックとの間にバッファＢＦ０の状態を示すバッファ状態信号ＢＦＳＴの信号線１２を設けている点が相違する。このバッファ状態信号ＢＦＳＴの働きによって、メモリアレーブロックＢｉが制御回路のクロック信号ＣＬＫと異なるより高速の内部周期で動作する場合でも、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送を正常に切れ目なく行うことができる。以下、このメモリシステムの動作について説明する。
【００６６】
図８において、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へデータを転送する場合、メモリアレーブロックＢｉはデータを内部周期で、データ入出力同期回路ＣＬＫＭＴ０内のバッファＢＦ０に転送する。そして、制御回路ＣＮＴＬ０は、バッファＢＦ０にメモリアレーブロックＢｉから転送されたデータを、外部装置（例えばＣＰＵ）のクロック信号ＣＬＫに同期して、バッファＢＦ０から受け取る。メモリアレーブロックＢｉの内部周期が制御回路ＣＮＴＬ０のクロック信号ＣＬＫに比べて高速の場合、データを連続的に転送するとバッファＢＦ０がまもなく満杯となる。この時、バッファ状態信号ＢＦＳＴが例えばロウレベルからハイレベルへ変化し、メモリアレーブロックＢｉのデータ転送動作を一時停止状態にする。メモリアレーブロックＢｉからのデータ転送を一時停止後、バッファＢＦ０の蓄積データはＣＰＵのクロック信号ＣＬＫに同期した制御回路ＣＮＴＬ０を介して外部に送り続けられる。すなわち、外部装置側からはデータ転送が中断されずに、メモリチップＳｙｓ０からクロック信号ＣＬＫに同期してデータが送り続けられることになる。バッファＢＦ０がほとんど空になった時、バッファ状態信号ＢＦＳＴが例えばハイレベルからロウレベルへ変化し、これによりメモリアレーブロックＢｉは再びデータ転送処理を開始する。一方、制御回路ＣＮＴＬ０からメモリアレーブロックＢｉへのデータ転送は、図１の実施例において図３を用いて説明したのと同様に行なわれる。
【００６７】
更に、図９に示した動作波形図により、図８のメモリシステムのメモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのバッファ状態信号ＢＦＳＴを用いたデータ転送動作の一例を具体的に説明する。
【００６８】
まず、制御回路のクロック信号ＣＬＫに同期して、所要のメモリアレーブロックＢｉを選択するブロック選択信号ＢＳ￣が伝送される。ここでは、図８に示したメモリアレーブロックＢ１が選択されたとする。選択されたメモリアレーブロックＢ１は、一定の遅延後このブロック選択信号ＢＳ￣を受け取り、動作を開始する。アドレスバスＡＤを介して初期アドレスａおよび連続データ数ＢＬすなわち連続データのバースト長が与えられると共に、ライトイネーブル信号ＷＥの状態から（この場合、信号ＷＥがロウレベルであるので）、メモリアレーブロックＢ１から制御回路ＣＮＴＬ０へのデータ転送であることが指定される。メモリアレーブロックＢ１は内部にアドレスバッファＡＢとアドレスカウンタＡＤ．Ｃを持ち、アドレスカウンタＡＤ．Ｃは最初は０に設定されている。この初期値０とアドレスバッファＡＢに転送された初期アドレスａとから、内部アドレスＡＤ．ｉｎｔはａに設定される。メモリアレーブロックＢ１は内部処理の後、アドレスａのデータを相補データバスＩ／Ｏに出力する。この時、アドレスカウンタＡＤ．Ｃは内部周期によりカウントアップされ、これに対応して内部アドレスＡＤ．ｉｎｔも順次変化してアドレスａ、ａ＋１、ａ＋２…のデータがメモリアレーブロックＢ１の内部周期で連続的に相補データバスＩ／Ｏに出力される。このようにして相補データバスＩ／Ｏに出力されたデータは、一定の遅延の後にデータ入出力同期回路ＣＬＫＭＴ０内のバッファＢＦ０に到達する。
【００６９】
一方、制御回路ＣＮＴＬ０側も数クロック後にＣＰＵのクロック信号ＣＬＫに同期してバッファＢＦ０から制御回路ＣＮＴＬ０へのデータ転送を開始する。なお、メモリアレーブロックＢｉからのデータがバッファＢＦ０に到着する以前に制御回路ＣＮＴＬ０がデータ取り込みを開始しないように、ユーザに対してデータ取り込み開始のタイミングをスペックとして与えられていることは言うまでもない。
【００７０】
選択されたメモリアレーブロックＢ１からのデータの連続的な転送が進むと、メモリアレーブロックＢ１の内部クロックが制御回路のクロック信号ＣＬＫに比べて高速の場合、バッファＢＦ０は次第に満杯となって行く。バッファＢＦ０が満杯に近づいたら、データ入出力同期回路ＣＬＫＭＴ０はバッファ状態信号ＢＦＳＴをロウレベルからハイレベルにする。図９に示した場合には、メモリアレーブロックＢ１からバッファＢＦ０へのデータ入力累積数（以下、ＢＦ０入力累積数と呼ぶ）とバッファＢＦ０から制御回路ＣＮＴＬ０へのデータ出力累積数（以下、ＢＦ０出力累積数と呼ぶ）との差が３となった時点で、メモリアレーブロックＢ１のバッファ状態信号ＢＦＳＴ（Ｂ１）がハイレベルとなる。
【００７１】
バッファ状態信号ＢＦＳＴがハイレベルになると、メモリアレーブロックＢ１は一時停止状態となる。ただし、バッファ状態信号ＢＦＳＴがメモリアレーブロックＢ１に到達して一時停止の処理が終了するまでにはいくらかの遅延があるので、メモリアレーブロックＢ１からしばらくデータが送られ続けられる場合がある。その場合には、バッファＢＦ０が完全に満杯となる数ビット手前の段階で、バッファ状態信号ＢＦＳＴをハイレベルとするように設定すれば良い。
【００７２】
図９においてＤａｔａ（ＣＮＴＬ０）の動作波形に示すように、メモリアレーブロックＢ１が一時停止となった後、すなわちバッファ状態信号ＢＦＳＴ（Ｂ１）がハイレベルになった後も、制御回路ＣＮＴＬ０のデータ取り込みは続くので、メモリアレーブロックＢ１からのＢＦ０入力累積数と制御回路へのＢＦ０出力累積数との差は減少していく。この差が一定数まで減少し、バッファＢＦ０に十分空きができたら、データ入出力同期回路ＣＬＫＭＴ０はバッファ状態信号ＢＦＳＴを再びロウレベルとしてメモリアレーブロックＢ１のデータ転送を再開する。図９に示した場合には、メモリアレーブロックＢ１からのＢＦ０入力累積数と制御回路へのＢＦ０出力累積数との差が１に戻った時点で、バッファ状態信号ＢＦＳＴ（Ｂ１）がロウレベルとなる。ただし、メモリアレーブロックＢ１から再びデータがバッファＢＦ０に達するまでに、いくらかの遅延がある場合には、バッファＢＦ０が完全に空となる数ビット手前の段階で、バッファ状態信号ＢＦＳＴをロウレベルとすれば良い。
【００７３】
このように、バッファ状態信号ＢＦＳＴの働きによって、メモリアレーブロックＢｉが制御回路ＣＮＴＬ０のクロック信号ＣＬＫと異なるより高速の内部クロック信号で動作しても、正常にデータ転送を切れ目なく行うことができる。データ転送の終了は、アドレスカウンタＡＤ．Ｃの連続データ数に対応する桁の桁あげ信号がロウレベルからハイレベルへ変化したことを検知して行なう。
【００７４】
ここで、図１０を用いて、バッファ状態信号ＢＦＳＴによるメモリアレーブロックＢｉの一時停止および再始動について説明する。図１０は、バッファ状態信号ＢＦＳＴがメモリアレーブロックＢｉの一時停止信号（Ｓｔｏｐ信号）および再開信号（Ｒｅｓｔａｒｔ信号）を発生するタイミングの一例を示す説明図である。横軸に時間を、縦軸にＢＦ０入力累積数とＢＦ０出力累積数をとっている。
【００７５】
バッファ状態信号ＢＦＳＴが一時停止信号を発生した後も、一時停止信号がメモリアレーブロックＢｉに到達するまでの遅延時間やメモリアレーブロックＢｉ内部での一時停止処理に要する時間などのために、バッファＢＦ０へのデータ転送がしばらく続く可能性がある。すなわち、メモリアレーブロックＢｉからバッファＢＦ０へのデータ転送が実際に停止する時点でのＢＦ０入力累積数とＢＦ０出力累積数との差は、バッファ状態信号ＢＦＳＴが一時停止信号を発生した時よりもさらにｊビット増加している可能性がある。従って、データ転送が実際に停止する時点での累積数の差のビットがバッファＢＦ０の容量以下であるように、一時停止信号発生のタイミングを決める必要がある。すなわち、一時停止信号を発生する時点での上記累積数の差のビット数をｎ（Ｓｔｏｐ）とすれば、ｎ（Ｓｔｏｐ）はバッファＢＦ０の容量からｊビットを差し引いた値となった時のビット数に設定すれば良い。
【００７６】
一方、バッファ状態信号ＢＦＳＴが再開信号を発生するタイミングについても、再開信号がメモリアレーブロックＢｉに到達するまでの遅延時間やメモリアレーブロックＢｉ内部でのデータ転送開始に要する時間などを考慮する必要がある。すなわち、再開信号発生後も、ＢＦ０入力累積数とＢＦ０出力累積数との差が減少し続けて、再開信号発生時よりもｋビット減少する可能性がある。従ってメモリアレーブロックＢｉから再び送られてくるデータが、バッファＢＦ０に到達する直前でのＢＦ０入力累積数とＢＦ０出力累積数との差が、０以上であるように、再開信号発生のタイミングを決める必要がある。すなわち、再開信号を発生した時点での上記累積数の差のビット数をｎ（Ｒｅｓｔａｒｔ）とすれば、ｎ（Ｒｅｓｔａｒｔ）をｋビット以上に設定すれば良い。
【００７７】
以上述べたように、本実施例によれば、メモリアレーブロックＢｉが制御回路ＣＮＴＬ０のクロック信号ＣＬＫと異なるより高速の内部周期で動作する場合でも、全体として同期して動作する半導体チップのメモリシステムを得ることができる。しかも、バッファＢＦ０の記憶容量は小さくて良いので、メモリシステムの小規模化が容易となる。
【００７８】
また、クロック信号線１０をシステム全体に分配する図１８に示した従来例の場合に比べ、本実施例のメモリシステムでも図２及び図３を用いて説明した実施例１と同様の効果を有する。なお、バッファＢＦ０の単位時間当りの充放電回数は、従来構成の図１８のクロック信号線１０の充放電回数に比べれば遥かに少なくできるので、クロック信号線１０を使用する従来構成の場合と異なり、消費電流及び雑音の増大を招くことはない。
【００７９】
＜実施例５＞
図１１を用いて、図８に示した本発明に係るメモリシステムを構成するデータ入出力同期回路ＣＬＫＭＴ０の一実施例について説明する。図１１において、参照符号ＣＬＫＭＴ０Ｂはデータ入出力同期回路を示し、図８における回路ブロックＣＬＫＭＴ０の具体的構成例である。図４に示した実施例のデータ入出力同期回路ＣＬＫＭＴ０Ａに対して、このデータ入出力同期回路ＣＬＫＭＴ０Ｂは、ＡＮＤ回路及びＯＲ回路から構成される論理回路Ｃｏｍｐ０と、クロック信号ＣＬＫによりオン・オフするスイッチ及びインバータからなるレジスタとＯＲ回路から構成されるホールド回路ＨＯＬＤ０と、が更に付加されている点が相違する。論理回路Ｃｏｍｐ０はデコーダＤｅｃ１とデコーダＤｅｃ２の出力を比較してバッファＢＦ０が満杯近くになったことを検知するための回路であり、ホールド回路ＨＯＬＤ０はバッファＢＦ０が満杯近くになってから空近くに戻るまでバッファ状態信号ＢＦＳＴをハイレベルに保持する回路である。
【００８０】
このように構成されるデータ入出力同期回路ＣＬＫＭＴ０Ｂの基本的動作は、図６の動作波形図を用いて説明したデータ入出力同期回路ＣＬＫＭＴ０Ａの動作と同じであるので、説明の便宜上、詳細な説明を省略して、上記付加した回路の動作すなわちバッファ状態信号ＢＦＳＴの発生方法について説明する。
【００８１】
デコーダＤｅｃ２がバッファＢＦ０内のフリップフロップＦＦ１ｉを制御回路ＣＮＴＬ０に接続し、デコーダＤｅｃ１が次のステップでフリップフロップＦＦ１ｉにメモリアレーブロックＢｉのデータを送りこむ状態になったとき、論理回路Ｃｏｍｐ０は、バッファ状態信号ＢＦＳＴをハイレベルにしてメモリアレーブロックＢｉからのデータ転送を一時停止させる。メモリアレーブロックＢｉからのデータ転送が一時停止した後、制御回路のクロック信号ＣＬＫに同期して一つのデータが制御回路ＣＮＴＬ０を経て外部に転送されると、バッファＢＦ０に余裕ができるので、上記論理回路Ｃｏｍｐ０はバッファ状態信号ＢＦＳＴを再びロウレベルに戻そうとする。しかし、ホールド回路ＨＯＬＤ０の働きにより、バッファ状態信号ＢＦＳＴは、ハイレベルになってからクロック信号ＣＬＫが２クロック進むまではロウレベルに戻らない。これは、上記論理回路Ｃｏｍｐ０の出力が、ホールド回路ＨＯＬＤ０内のインバータとスイッチとからなるレジスタ回路に転送されることにより、１クロック先でも保持されるからである。勿論、上記スイッチは周知のトランジスタスイッチで構成すればよい。
【００８２】
このような、ホールド回路ＨＯＬＤ０を設けることにより、バッファＢＦ０が一旦満杯近くなってバッファ状態信号ＢＦＳＴがハイレベルに変化したら、バッファＢＦ０が空近くになるまでバッファ状態信号ＢＦＳＴをハイレベルに保持することができる。
【００８３】
図１１におけるホールド回路ＨＯＬＤ０の構成では、ただ一つのレジスタ回路を設けた場合を示しているが、レジスタ回路を複数個直列に接続し、それらの出力のＯＲ論理をバッファ状態信号ＢＦＳＴの出力とすれば、クロック信号ＣＬＫが複数クロック進むまでバッファ状態信号ＢＦＳＴがハイレベルに保持されるホールド回路ＨＯＬＤ０を構成することができる。この結果、バッファ状態信号ＢＦＳＴの単位時間当りの充放電回数が減少し、消費電流および雑音を小さくできる効果がある。なお、上記論理回路Ｃｏｍｐ０とデコーダＤｅｃ１，Ｄｅｃ２との接続を変えることにより、図１０において説明した一時停止信号を発生する時点での上記累積数の差のビット数ｎ（Ｓｔｏｐ）を任意に設定できることは言うまでもない。
【００８４】
＜実施例６＞
図１２を用いて、図１に示した本発明に係るメモリシステムを構成するデータ入出力同期回路ＣＬＫＭＴ０の別の実施例について説明する。図１２において、参照符号ＣＬＫＭＴ０Ｃはデータ入出力同期回路を示し、図１における回路ブロックＣＬＫＭＴ０の具体的構成例である。このデータ入出力同期回路ＣＬＫＭＴ０Ｃは、図１に示したメモリシステムにおいて、外部装置のクロック信号すなわち制御回路のクロック信号ＣＬＫが、メモリアレーブロックＢｉの内部周期よりも高速である場合に、メモリアレーブロックＢｉと制御回路ＣＮＴＬ０との間のデータ通信を同期的に行なうのに好適な回路である。
【００８５】
図４に示した実施例のデータ入出力同期回路ＣＬＫＭＴ０Ａに対して、このデータ入出力同期回路ＣＬＫＭＴ０Ｃは、制御回路ＣＮＴＬ０に一時停止信号Ｗａｉｔを送るための、ＡＮＤ回路とＯＲ回路から構成される論理回路Ｃｏｍｐ１を付加している点が相違する。論理回路Ｃｏｍｐ１は、デコーダＤｅｃ１がバッファＢＦ０内のフリップフロップＦＦ１ｉにメモリアレーブロックＢｉからのデータを送りこむ状態になっている時に、デコーダＤｅｃ２が次のステップでフリップフロップＦＦ１ｉのデータを取り出そうとする状態になると、制御回路ＣＮＴＬ０に対して一時停止信号信号Ｗａｉｔを送る。この信号により、制御回路ＣＮＴＬ０はメモリアレーブロックＢｉからのデータの受け取りを一時停止する。このように制御回路ＣＮＴＬ０への一時停止信号発生機能を持たせることにより、制御回路のクロック信号ＣＬＫがメモリアレーブロックＢｉの内部周期より高速のクロック周波数である場合でも、正常にデータ転送を切れ目なく行うことができる。
【００８６】
更に、図１１に示したバッファ状態信号ＢＦＳＴ発生のための回路Ｃｏｍｐ０，ＨＯＬＤ０および図１２に示した一時停止信号発生のための回路Ｃｏｍｐ１を組み合わせれば、クロック信号ＣＬＫがメモリアレーブロックＢｉの内部周期に比べて高速であっても、またその逆であっても、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送を正常に切れ目なく行えるメモリシステムを得ることができる。
【００８７】
或いは、制御回路ＣＮＴＬ０への一時停止信号発生の機能を持たせなくても、次の方法によりメモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送を正常に行なうことができる。メモリアレーブロックＢｉから送られる連続データの、バッファＢＦ０から制御回路ＣＮＴＬ０への転送開始を遅らせる方法である。これは、バッファＢＦ０が満杯近くなった時に、バッファＢＦ０から制御回路ＣＮＴＬ０へのデータ転送を開始することにより実現できる。この場合、制御回路のクロック信号ＣＬＫがメモリアレーブロックＢｉ内部周期より高速であることに伴い（すなわち、バッファＢＦ０への単位時間当りの入力数より出力数が多いことに伴い）、バッファＢＦ０のデータのストックは次第に減少するが、データ出力が終了する前にバッファＢＦ０が空にならなければ良い。バッファＢＦ０から制御回路ＣＮＴＬ０へのデータ転送開始のタイミングは、連続データ数ＢＬに応じて決められる。連続データ数ＢＬが多いほど、データ転送開始のタイミングを遅らせる。以上の方法により、制御回路のクロック信号ＣＬＫがメモリアレーブロックＢｉの内部周期より高速な場合でも、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送を正常に切れ目なく行なうことができる。
【００８８】
更に、以上の方法を実施例１で説明した方法と組み合わせれば、クロック信号ＣＬＫがメモリアレーブロックＢｉの内部周期に比べて高速であっても、またその逆であっても、メモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送を正常に行えるシステムが得られる。
【００８９】
本実施例の効果としては、クロック信号線の充放電が不要となり、低消費電流の半導体チップのメモリシステムが得られる効果がある。さらには、高速に充放電されるクロック信号線に起因する雑音もなくなる。あるいは、設計に際して、メモリアレーブロックＢｉ間のクロック遅延の違いを考慮する必要がないので、設計が容易になる利点がある。また、メモリシステムとしてＣＰＵと複数のメモリチップからなる電子装置に適用した場合、システム設計に幅ができる利点もある。例えば、メモリブロックＢｉが制御回路のクロック信号ＣＬＫの周波数で動作することが要求される従来構成の場合と異なり、本実施例ではメモリブロックＢｉは制御回路のクロック信号ＣＬＫの周波数で動作する必要がないので、メモリブロックＢｉとして安価で比較的低速のメモリチップを用い、制御回路ＣＮＴＬ０として高速のＣＰＵを用いることにより、全体として高速でしかも安価なメモリシステムを構築することができる。
【００９０】
＜実施例７＞
図１５は、本発明に係るメモリシステムの更に別の実施例の要部を示すブロック図である。本実施例は、アドレスバスを介して初期アドレス及び連続データ数の他に、通常のメモリチップと同様にブロック選択信号に関する情報も送るように構成したメモリチップの場合である。すなわち、図１及び図８の実施例で用いたブロック選択信号ＢＳ￣の信号線を用いないメモリチップの実施例である。
【００９１】
図１５において、参照符号Ｓｙｓ２はメモリチップを示し、このメモリチップＳｙｓ２は、複数のメモリアレーブロックＭＢｉ（ｉ＝１，２，…）と、メモリアレーブロックＭＢｉから相補データバスＩ／Ｏを通してシリアルに送られてくるデータ列を、ＣＰＵのクロック信号ＣＬＫに同期するように時間調整して出力するためのバッファＢＦ０ｍを含むデータ入出力同期回路ＣＬＫＭＴｍと、およびＣＰＵとの入出力インターフェイスである制御回路ＣＮＴＬｍとから少なくとも構成される。
【００９２】
また、各メモリアレーブロックＭＢｉは、メモリアレーＭＡＲＹｉ、初期アドレスバッファＡＢｉ、アドレスカウンタＡＤ．Ｃｉ、内部アドレスバッファＡＤ．ｉｎｔ、メインアンプＭＡｉ、内部相補データ線Ｉ／Ｏｉおよび内部クロック発生回路ＭＢｉ．ＣＬＫ．ｇｅｎを少なくとも備えている。更に、データ入出力同期回路ＣＬＫＭＴｍと各メモリアレーブロックＭＢｉとの間は、アドレスバスＡＤ、連続データ数ＢＬすなわちバースト長を転送する信号線ＢＬＬ、相補データバスＩ／Ｏ、およびライトイネーブル信号ＷＥの信号線により結ばれている。なお、制御回路ＣＮＴＬｍは、ＣＰＵからの外部クロック信号ＣＬＫにより動作する。
【００９３】
このように構成されるメモリチップＳｙｓ２は、次のように動作する。
メモリチップＳｙｓ２からＣＰＵへのデータ読み出し動作の場合、データ読み出し要求、初期アドレスａ、および連続データ数ＢＬ等の情報がＣＰＵから制御回路ＣＮＴＬｍに与えられると、制御回路からクロック信号ＣＬＫに同期して受け取ったデータ入出力同期回路ＣＬＫＭＴｍはメモリアレーブロック選択情報をアドレスバスＡＤを介してメモリアレーブロックへ送る。このブロック選択情報により、例えばメモリアレーブロックＭＢ１が選択されたとする。この時、制御回路ＣＮＴＬｍから送られたライトイネーブル信号ＷＥがロウレベルであることから、メモリアレーブロックから制御回路ＣＮＴＬｍへのデータ転送であることをメモリアレーブロックＭＢ１は認識する。
【００９４】
メモリアレーブロックＭＢ１内のアドレスカウンタＡＤ．Ｃ１は、初期値が０となっている。アドレスバスＡＤを介して初期アドレスａが与えられ、信号線ＢＬＬを介して連続データ数ＢＬが与えられると、初期アドレスバッファＡＢ１に初期アドレスａが格納される。アドレスカウンタＡＤ．Ｃ１の初期値０と初期アドレスバッファＡＢ１に格納された初期アドレスａとから、メモリアレーブロックＭＢ１での内部アドレスＡＤ．ｉｎｔはａに設定される。この結果、アドレスａのデータがメモリアレーＭＡＲＹ１内部処理の後、内部相補データ線Ｉ／Ｏ１を介してメインアンプＭＡ１へ送られ、相補データバスＩ／Ｏに出力される。同時に、メインアンプＭＡ１の出力は内部クロック発生回路ＭＢ１．ＣＬＫ．ｇｅｎによって検知され、１つのデータ出力が終了したことを示すクロック信号ＭＢ１．ＣＬＫが発生される。このクロック信号ＭＢ１．ＣＬＫによりアドレスカウンタＡＤ．Ｃ１がカウントアップされ、これに対応して内部アドレスＡＤ．ｉｎｔもａからａ＋１と変化する。従って、アドレスａ＋１のデータがメモリアレーＭＡＲＹ１内部処理の後、内部相補データ線Ｉ／Ｏ１を介してメインアンプＭＡ１へ送られ、相補データバスＩ／Ｏに出力されると同時に内部クロック発生回路ＭＢ１．ＣＬＫ．ｇｅｎによって検知される。以下、同様にして、指定された連続データ数ＢＬまでデータ転送が繰り返される。すなわち、メモリアレーブロックＭＢ１内のメインアンプＭＡ１の出力により、自己同期的に内部クロック信号ＭＢ１．ＣＬＫを発生して、データが次々と相補データバスＩ／Ｏに出力される。そして、アドレスカウンタＡＤ．Ｃ１の連続データ数ＢＬに対応する桁の桁上げ信号が、ロウレベルからハイレベルに変化したら、一連のデータ転送を終了し、アドレスカウンタＡＤ．Ｃ１を０にリセットする。データ入出力同期回路ＣＬＫＭＴｍは、相補データバスＩ／Ｏに出力されるデータを内部のバッファＢＦ０ｍに一時格納して時間調整を行い、制御回路ＣＮＴＬｍから与えられるＣＰＵのクロック信号ＣＬＫの周期で制御回路ＣＮＴＬｍを介してＣＰＵへ出力する。なお、この場合のバッファＢＦ０ｍの一時格納動作は、図１の実施例で説明したバッファＢＦ０の一時格納動作と同様の動作である。
【００９５】
一方、ＣＰＵからメモリチップＳｙｓ２へのデータ書き込み動作の場合については、以下の通りである。上記読み出し動作と同様にして、例えば、メモリアレーブロックＭＢ１が選択されたとすると、制御回路ＣＮＴＬｍから送られたライトイネーブル信号ＷＥがハイレベルであることから、制御回路ＣＮＴＬｍからメモリアレーブロックへのデータ転送であることをメモリアレーブロックＭＢ１は認識する。その後の書き込み動作は、図７に示した実施例３と同様に、データ転送に伴う相補データバスＩ／Ｏ上の電位変化を検知してパルスを発生し、アドレスカウンタＡＤ．Ｃ１をカウントアップするように構成して自己同期的に動作させる。連続データ数ＢＬのデータ書き込み後、アドレスカウンタＡＤ．Ｃ１を０にリセットして一連の動作を終了することは、上記データ読み出しの場合と同様である。
【００９６】
なお、上記動作は、アドレスカウンタＡＤ．Ｃ１が０以外の状態では、メモリアレーブロックＭＢ１が自己同期的に連続データの読み出しまたは書き込みを行なっていることを示しているから、メモリアレーブロックＭＢ１をアドレスバスＡＤなどと切り離しておくことができる。メモリアレーブロックＭＢ１をアドレスバスＡＤなどと切り離しておくことにより、制御回路ＣＮＴＬｍは次の動作に備えてアドレスバスＡＤなどにあらかじめ信号を準備しておくことができるので、信号遅延をなくすことができ、高速動作が可能になる。
【００９７】
また、連続データ数ＢＬの信号線ＢＬＬを独立して設けずに、これまで述べた実施例と同様にアドレスバスＡＤを介して連続データ数ＢＬを転送する構成としても良い。その場合には、連続データ数ＢＬを並列に送れない分だけ遅くなる。
【００９８】
図１６は、図１５に示した内部クロック発生回路ＭＢｉ．ＣＬＫ．ｇｅｎの具体的回路構成の一例を示すブロック図である。この場合、内部クロック発生回路ＭＢｉ．ＣＬＫ．ｇｅｎは、メインアンプＭＡｉの相補出力を入力とし出力をアドレスカウンタＡＤ．Ｃｉに接続したＯＲゲートと、ＯＲゲートの出力をメインアンプＭＡｉのイコライズ信号として印加するための遅延回路Ｄｅｌａｙとから構成される。
【００９９】
このように構成される内部クロック発生回路ＭＢｉ．ＣＬＫ．ｇｅｎの動作を説明する。最初のアドレスａに対するデータが、メモリアレーブロックＭＢｉの内部相補データ線Ｉ／Ｏｉに出力され、メインアンプＭＡｉを介して相補データ線Ｉ／Ｏに出力されると、メインアンプＭＡｉの相補出力を入力とするＯＲゲートの出力がハイレベルになり、アドレスカウンタＡＤ．Ｃｉがカウントアップされる。すなわち、１つのデータ出力が終了したことを検知したら、アドレスを変化させ、次のデータ出力を開始する。一方、ＯＲゲートの出力は遅延回路Ｄｅｌａｙにより一定の遅延の後、メインアンプＭＡｉに印加され、メインアンプＭＡｉはイコライズされて再び待機状態となり、次のデータ出力を待つ。これを繰り返すことにより、一連のデータが次々と出力される。
【０１００】
図１５及び図１６で説明した本実施例によれば、アドレスカウンタＡＤ．Ｃｉと内部クロック発生回路ＭＢｉ．ＣＬＫ．ｇｅｎをメモリアレーブロックＭＢｉごとに設けて自己同期的に動作するようにしたことにより、従来では入力制御部からメモリアレーブロックまでのアドレスバスＡＤの信号線を、１回ごとに充放電する必要があったのに対し、連続データの初期アドレス転送時のみにアドレスバスＡＤの信号線を充放電すればよいので、消費電流や雑音を低減でき、かつ高速になる効果がある。図２の説明で述べた（１）〜（５）と同様な効果が得られるのは勿論である。
【０１０１】
＜実施例８＞
図１７は、本発明に係るメモリシステムのまた別の実施例の要部を示すブロック図である。本実施例のメモリシステムはＣＰＵと複数のメモリチップからなる例である。ＣＰＵが図１および図８に示した実施例の制御回路ＣＮＴＬ０に相当し、メモリチップＭ．Ｃｈｉｐｉ（添字ｉは１，２，…）がメモリアレーブロックＢｉに相当する。ＣＰＵの内部あるいは近くに、バッファＢＦ０を含むデータ入出力回路ＣＬＫＭＴ０が設けられる。ＣＰＵ内のデータ入出力回路ＣＬＫＭＴ０と各メモリチップＭ．Ｃｈｉｐ１，Ｍ．Ｃｈｉｐ２，…等との間は、チップ選択信号ＣＳ￣、相補Ｉ／Ｏデータバス、アドレスバスＡＤ、およびライトイネーブルＷＥの各信号線によって結ばれる。各メモリチップＭ．Ｃｈｉｐ１，Ｍ．Ｃｈｉｐ２，…等は、ＣＰＵのクロック信号ＣＬＫとは異なる個別の内部周期で動作する。しかし、図１から図１２で説明した方法により、ＣＰＵと各メモリチップＭ．Ｃｈｉｐ１，Ｍ．Ｃｈｉｐ２，…等との間のデータのやりとりは、整合性良く行うことができる。チップ選択信号ＣＳ￣は、図１および図８に示した実施例のブロック選択信号ＢＳ￣に相当する。
【０１０２】
本実施例によれば、図１８に示した従来のメモリシステムのように全体に網羅されていたクロック信号線１０の充放電が不要となるので、低消費電流で低雑音のメモリシステムを得ることができる。更に、図１３および図１４で述べたのと同じ理由により、高速のメモリシステムを得ることもできる。
【０１０３】
以上、本発明の好適な実施例について説明したが、本発明は前記実施例に限定されることなく、本発明の精神を逸脱しない範囲内において種々の設計変更をなし得ることは勿論である。
【０１０４】
【発明の効果】
前述した実施例から明らかなように、本発明によれば、複数のメモリブロックと、これらの各メモリブロックを制御するための共通の制御回路とを少なくとも有するメモリシステムにおいて、シリアルに入力してくるデータの転送速度を変調して出力するための複数のレジスタからなるバッファを含むデータ入出力同期回路を設け、このデータ入出力同期回路のバッファとメモリブロックとを相補データバスにより接続して、前記データ入出力同期回路の出力の周期を前記制御回路によって制御するように構成したことにより、共通の制御回路から各メモリブロックまでのクロック信号線を分配することなく、メモリシステムを外部装置のクロックに同期して動作させることができる。従って、メモリシステムが増大しても、メモリシステム内のクロック遅延の為に処理速度が劣化することがなく、かつ、データの受渡しも整合性良く行うことができる。
【０１０５】
さらに、次のような効果も奏する。
各メモリブロックの動作として、一つのデータ処理が終了したことを検知して次のデータ処理を開始する自己同期型のパイプライン方式を用いることができる。この結果、外部のクロックに同期させて行うパイプライン方式において従来必要だった各段の処理時間に対するクロック長のマージンが不要となり、高速のメモリシステムを得ることができると共に、最初のデータが得られるまでの時間も速くすることができる。
【０１０６】
また、メモリシステム全体に渡ってのクロック線の充放電が不要となるため、メモリシステムの消費電流を低減することができると共に、メモリシステム全体に渡るクロック線の充放電に伴い発生する雑音がなくなり高信頼性のメモリシステムを得ることができる。
【０１０７】
更に、メモリシステムの設計において、メモリブロックと制御回路間のクロック信号遅延を考慮する必要がなく、設計を各メモリブロック内で閉じることができるので、メモリシステムの設計が容易化される。
【０１０８】
以上述べた効果は、上記メモリシステムが、複数のメモリアレーブロックに分割された半導体メモリチップの場合、或いは、ＣＰＵと複数のメモリチップからなる電子装置の場合であっても同様の効果を奏する。
【０１０９】
別の効果として、複数のメモリアレーブロックに分割された半導体メモリチップにおいて、ブロックごとにアドレスカウンタを設けたことにより、連続データの初期アドレス転送時のみにアドレスバスの信号線を充放電すれば良いので、消費電流や雑音を低減でき、かつ高速になる効果がある。
【図面の簡単な説明】
【図１】本発明に係るメモリシステムの一実施例の要部を示すブロック図である。
【図２】図１のメモリシステムにおけるメモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送動作の一例を示す動作波形図である。
【図３】図１のメモリシステムにおける制御回路ＣＮＴＬ０から選択されたメモリアレーブロックＢ１へのデータ転送動作の一例を示す動作波形図である。
【図４】図１のメモリシステムにおける制御回路ＣＬＫＭＴ０の具体的回路構成の一例を示すブロック回路図である。
【図５】図４のフリップフロップＦＦ１ｉの構成例を示す回路図である。
【図６】図４のデータ入出力同期回路ＣＬＫＭＴ０Ａの内部動作の一例を示す動作波形図である。
【図７】図１のメモリアレーブロックＢｉのインターフェイス回路の一例を示す要部ブロック図である。
【図８】本発明に係るメモリシステムの別の実施例の要部を示すブロック図である。
【図９】図８のメモリシステムにおけるメモリアレーブロックＢｉから制御回路ＣＮＴＬ０へのデータ転送動作の一例を示す動作波形図である。
【図１０】図８のメモリシステムにおけるバッファ状態信号ＢＦＳＴによるメモリアレーブロックＢｉの一時停止及び再始動を説明するための説明図である。
【図１１】図８のメモリシステムにおけるデータ入出力同期回路ＣＬＫＭＴ０Ｂの具体的回路構成の一例を示すブロック回路図である。
【図１２】図１のメモリシステムにおいて外部装置のクロックがメモリアレーブロックの内部クロックより高速である場合の、データ入出力同期回路ＣＬＫＭＴ０の具体的回路構成の別の例を示すブロック回路図である。
【図１３】本発明に係るメモリシステムにおいて、システム内クロック遅延の分布がクロック周波数に影響を与えないことを示すための動作波形図である。
【図１４】本発明に係るメモリシステムにおいて、メモリアレーブロックにパイプライン方式を適用した場合に、パイプライン最長段の処理速度ばらつきがクロック周波数に影響を与えないことを示すための動作波形図である。
【図１５】本発明に係るメモリシステムの更に別の実施例の要部を示すブロック回路図であり、半導体メモリチップに適用した場合である。
【図１６】図１５のメモリシステムにおける内部クロック発生回路の一例を示すブロック回路である。
【図１７】本発明に係るメモリシステムのまた別の実施例の要部を示すブロック回路図であり、ＣＰＵと複数のメモリチップからなる電子装置に適用した場合である。
【図１８】従来の１つのクロックに同期して制御するメモリシステムの要部を示すブロック回路図である。
【図１９】図１８の従来メモリシステムのシステム内クロック遅延の分布による速度劣化を示す動作波形図である。
【図２０】図１８の従来メモリシステムにおいて、メモリアレーブロックにパイプライン方式を適用した場合に、パイプライン最長段の処理速度ばらつきがクロック周波数に与える影響を示すための動作波形図である。
【符号の説明】
ＡＢｉ…アドレスバッファ
ＡＤ…アドレスバス
ＡＤ．Ｃｉ…アドレスカウンタ
Ｂｉ…メモリブロック（メモリアレーブロック）
Ｂｉ．ＣＬＫ．ｇｅｎ…ブロック内クロック発生回路
ＢＦ０…バッファ
ＢＦＳＴ…バッファ状態信号
ＢＬ…連続データ数（バースト長）
ＢＳ￣…ブロック選択信号
ＣＬＫ…制御回路のクロック（ＣＰＵのクロック）
ＣＬＫＭＴ０，ＣＬＫＭＴ０Ａ…データ入出力同期回路
ＣＬＫＭＴ０Ｂ，ＣＬＫＭＴ０Ｃ…データ入出力同期回路
ＣＬＫＭＴｍ…データ入出力同期回路
ＣＮＴＬ０…制御回路
ＣＮＴＬｍ…制御回路
Ｃｏｕｎｔｅｒｉ…カウンタ
ＣＳ￣…チップ選択信号
Ｄｅｃｉ…デコーダ
ＤＴ、ＤＢ…入出力相補データ線対
Ｅｉ…デコーダ出力（フリップフロップ回路選択線）
ＦＦ１ｉ…フリップフロップ回路（レジスタ）
Ｉ／Ｏ…相補データバス
Ｉ／Ｏｉ…メモリブロック内相補データ線
ＨＯＬＤ０…ホールド回路（ＢＦＳＴ出力回路）
Ｍ．Ｃｈｉｐｉ…メモリチップ
ＭＢｉ…メモリアレーブロック
ＭＡＲＹｉ…メモリアレー
ＭＡｉ…メインアンプ
ＭＢｉ．ＣＬＫ．ｇｅｎ…内部クロック発生回路
Ｐｉ…パイプライン各段
Ｑｉ…フリップフロップ回路出力
Ｖｒｅｆ…アンプ基準電圧
Ｗａｉｔ…制御回路の一時停止信号
ＷＥ…ライトイネーブル信号（書き込み／読み出し選択）
【図１】
0003542380.tif 000002
【図２】
0003542380.tif 000003
【図３】
0003542380.tif 000004
【図４】
0003542380.tif 000005
【図５】
0003542380.tif 000006
【図６】
0003542380.tif 000007
【図７】
0003542380.tif 000008
【図８】
0003542380.tif 000009
【図９】
0003542380.tif 000010
【図１０】
0003542380.tif 000011
【図１１】
0003542380.tif 000012
【図１２】
0003542380.tif 000013
【図１３】
0003542380.tif 000014
【図１４】
0003542380.tif 000015
【図１５】
0003542380.tif 000016
【図１６】
0003542380.tif 000017
【図１７】
0003542380.tif 000018
【図１８】
0003542380.tif 000019
【図１９】
0003542380.tif 000020
【図２０】
0003542380.tif 000021