(57)【特許請求の範囲】
【請求項１】
自己のデータを出力するとともに、互いに他方から出力されるデータの入力を受ける第１のデータ入出力回路および第２のデータ入出力回路と、
前記第１のデータ入出力回路および前記第２のデータ入出力回路間における前記データの転送を担うデータ・バスと、を備えたデータ入出力装置であって、
前記データの出力が、前記第１のデータ入出力回路から前記第２のデータ入出力回路へ連続的に切り替える場合に、
前記第２のデータ入出力回路は、前記第１のデータ入出力回路から出力された前記データを取り込み、かつ取り込んだ前記データを前記データ・バスへ出力する状態であることを特徴とするデータ入出力装置。
【請求項２】
前記第２のデータ入出力回路は、
取り込んだ前記データを前記データ・バスへ出力した後に、
前記自己のデータを前記データ・バスへ出力することを特徴とする請求項１に記載のデータ入出力装置。
【請求項３】
前記第１のデータ入出力回路および前記第２のデータ入出力回路は、
自己のデータを出力する出力バッファと、
他方からのデータを受ける入力バッファと、
前記入力バッファで受けた前記他方からのデータを前記出力バッファへ転送する中継ラインと、を備えることを特徴とする請求項１に記載のデータ入出力装置。
【請求項４】
前記出力バッファは、前記中継ラインから転送された前記他方からのデータを前記データ・バスへ出力することを特徴とする請求項３に記載のデータ入出力装置。
【請求項５】
データの読出し・書込み指令を発するメモリ・コントローラと、
前記メモリ・コントローラからの読出し・書込み指令に基づいてデータの読出し・書込みを実行するメモリと、
前記メモリ・コントローラと前記メモリとを接続するバスと、を備えたメモリ・システムであって、
前記メモリ・コントローラは、
前記メモリに書込む書込みデータを前記バスに対して出力する第１出力バッファと、
前記バスを介して前記メモリで読出された読出しデータを受ける第１入力バッファと、
前記第１出力バッファに対して前記書込みデータを転送する第１出力ラインと、
前記第１入力バッファが受けた前記読出しデータを転送する第１入力ラインと、
前記第１出力ライン上に配置された第１マルチプレクサと、
前記第１入力ラインと前記第１マルチプレクサとを繋ぐ第１中継ラインと、を備え、
前記第１マルチプレクサは、前記第１入力バッファにて受ける前記読出しデータを前記第１出力バッファから前記バスに対して出力する状態とされ、
前記メモリは、
読出し・書込みデータを記憶するメモリ・セルと、
前記メモリ・コントローラの読出し指令に基づいて前記メモリ・セルから読出された前記読出しデータを前記バスに対して出力する第２出力バッファと、
前記メモリ・コントローラの前記第１出力バッファから出力された書込みデータを受ける第２入力バッファと、
前記メモリ・セルからの前記読出しデータを前記第２出力バッファに転送する第２出力ラインと、
前記第２入力バッファが受けた前記書込みデータを前記メモリ・セルに転送する第２入力ラインと、
前記第２出力ライン上に配置された第２マルチプレクサと、
前記第２入力ラインと前記第２マルチプレクサとを繋ぐ第２中継ラインと、を備え、
前記第２マルチプレクサは、前記第２入力バッファにて受ける前記書込みデータを前記第２出力バッファから前記バスに対して出力する状態とされていることを特徴とするメモリ・システム。
【請求項６】
前記メモリ・コントローラが前記メモリに対して読出し指令を発すると、
前記メモリは、前記第２マルチプレクサが前記第２出力ラインを選択するとともに、前記メモリ・セルから前記読出しデータを読み出して前記第２出力ラインおよび第２出力バッファを介して前記バスに出力し、
前記メモリ・コントローラは、前記バスを介して前記第１入力バッファにより当該読出しデータを受けて出力可能状態となった後に前記第１マルチプレクサが前記第１中継ラインを選択することにより、前記第１入力ライン、前記第１中継ライン、前記第１出力ラインおよび前記第１出力バッファを介して前記読出しデータを前記バスに出力することを特徴とする請求項５に記載のメモリ・システム。
【請求項７】
前記メモリ・コントローラは、前記読出しデータを前記バスに出力した後に、当該読出しデータを前記バスから取り込むことを特徴とする請求項６に記載のメモリ・システム。
【請求項８】
前記メモリ・コントローラが前記メモリに対して書込み指令を発すると、
前記メモリ・コントローラは、前記第１マルチプレクサが前記第１出力ラインを選択するとともに、外部から転送された前記書込みデータを第１出力ラインおよび第１出力バッファを介して前記バスに出力し、
前記メモリは、前記バスを介して前記第２入力バッファにより当該書込みデータを受けて出力可能状態となった後に前記第２マルチプレクサが前記第２中継ラインを選択することにより、前記第２入力ライン、前記第２中継ライン、前記第２出力ラインおよび前記第２出力バッファを介して前記書込みデータを前記バスに出力することを特徴とする請求項５に記載のメモリ・システム。
【請求項９】
前記メモリは、前記書込みデータを前記バスに出力した後に、当該書込みデータを前記バスから取り込むことを特徴とする請求項８に記載のメモリ・システム。
【請求項１０】
前記メモリ・コントローラが前記メモリに対して読出し指令および書込み指令を連続的に発すると、
前記メモリは、前記第２マルチプレクサが前記第２出力ラインを選択するとともに、前記メモリ・セルから前記読出しデータを読み出して前記第２出力ラインおよび第２出力バッファを介して前記バスに出力し、
前記メモリ・コントローラは、前記バスを介して前記第１入力バッファにより当該読出しデータを受けて出力可能状態となった後に前記第１マルチプレクサが前記第１中継ラインを選択することにより、前記第１入力ライン、前記第１中継ライン、前記第１出力ラインおよび前記第１出力バッファを介して前記読出しデータを前記バスに出力し、
前記メモリ・コントローラは、前記第１マルチプレクサが前記第１出力ラインを選択するとともに、外部から転送された当該書込みデータを第１出力ラインおよび第１出力バッファを介して前記バスに出力し、
前記メモリは、前記バスを介して前記第２入力バッファにより当該書込みデータを受けるとともに、所定時間経過後に前記第２マルチプレクサが前記第２中継ラインを選択することにより、前記第２入力ライン、前記第２中継ライン、前記第２出力ラインおよび前記第２出力バッファを介して前記書込みデータを前記バスに出力することを特徴とする請求項５に記載のメモリ・システム。
【請求項１１】
データ・バスへ出力データを出力する第１のバッファと前記データ・バスから転送される入力データを受ける第２のバッファとが前記データ・バスに接続された入出力セルと、
前記出力データおよび前記入力データを保持するデータ保持手段と、
前記データ保持手段に保持された前記出力データを前記第１のバッファに転送する出力ラインと、
前記第２のバッファが受けた前記入力データを前記データ保持手段に転送する入力ラインと、
前記第２のバッファを介して前記入力データを前記第１のバッファに転送する中継ラインと、
前記出力ラインおよび中継ラインにおけるデータの転送を選択的に有効とするライン選択手段と、
を備え、
前記ライン選択手段は、前記第２のバッファにて受ける前記入力データを前記第１のバッファから前記データ・バスに対して転送する状態とされていることを特徴とするデータ入出力回路。
【請求項１２】
前記入出力セルからのデータ出力の可否を制御する出力制御信号を、前記入出力セルに向けて出力する制御信号生成手段を備えることを特徴とする請求項１１に記載のデータ入出力回路。
【請求項１３】
前記制御信号生成手段は、前記ライン選択手段における選択を制御する選択信号を前記ライン選択手段に向けて出力することを特徴とする請求項１２に記載のデータ入出力回路。
【請求項１４】
前記制御信号生成手段が、
前記選択信号を前記ライン選択手段に向けて出力している間に、
前記第２のバッファが受けた前記入力データは、前記中継ラインおよび前記第１のバッファを経由して前記データ・バスへ出力されることを特徴とする請求項１３に記載のデータ入出力回路。
【請求項１５】
前記制御信号生成手段は、
前記入出力セルからのデータ出力を可能とする出力制御信号を前記入出力セルに向けて出力し、
出力可能状態となった後に前記中継ラインを選択する選択信号を前記ライン選択手段に向けて出力することを特徴とする請求項１４に記載のデータ入出力回路。
【請求項１６】
自己のデータを出力するとともに他方から出力されるデータの入力を受ける第１のデータ入出力回路および第２のデータ入出力回路におけるデータ入出力方法であって、
前記第１のデータ入出力回路が自己のデータである第１信号をバスに出力するステップと、
前記第２のデータ入出力回路が前記バスから前記第１信号を取り込むステップと、
前記第２のデータ入出力回路が前記第１信号を前記バスに出力するステップと、を備えたことを特徴とするデータ入出力方法。
【請求項１７】
前記第２のデータ入出力回路が前記第１信号を前記バスに出力するステップに引き続いて、
前記第２のデータ入出力回路が自己のデータである第２信号を前記バスに出力するステップ、を備えたことを特徴とする請求項１６に記載のデータ入出力方法。
【請求項１８】
前記第２信号を前記バスに出力するステップに引き続いて、
前記第１のデータ入出力回路が前記バスから前記第２信号を取り込むステップと、
前記第１のデータ入出力回路が前記第２信号を前記バスに出力するステップと、
を備えたことを特徴とする請求項１７に記載のデータ入出力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、CPU バス（Bus）等のバス・インターフェイス（Bus interface）において、トライ・ステート・コントローラ（Tri-State control）付きのバッファ（Buffer）を使用し、異なる複数のチップ（Chip）から連続してデータ（data）を出力する方法に関し、特に、バス（Bus）の制御が移る時点（変化点）における１バス・サイクル（Bus cycle）分の無駄を省く方法を提案する。
【０００２】
【従来の技術】
従来のトライ・ステート・コントローラ付きのバッファでバス・インターフェイスを構成した場合、バスの変化点、つまり制御が他のチップに移る時点における過渡状態を作る必要があった。これは、過渡期において２つのチップ（バスをドライブ（drive）していたチップとこれからバスをドライブする他のチップが同時にバスをドライブする可能性を避けられず、特に２つのチップが異なる信号レベル（High Level（以下、“Ｈ”と記す）とLow Level（以下、“Ｌ”と記す））を出力する場合、貫通電流が流れ、バッファを備えたＩ／Ｏ（Input／Output）セルが破壊されてしまう。例えば、一方のチップが書込みデータ信号を、他方のチップが読出しデータ信号を出力するような場合に、このような事態が生じ得る。
【０００３】
貫通電流によるＩ／Ｏセルの破壊を防ぐための過渡期を作るために、現在主流のクロック（clock）に同期した回路においては、図４に示すように、データの書込み（Write）から読出し（Read）へ動作移行するバスの切り替え時に、１クロック分のハイ・インピーダンス（High Impedance，以下Ｈｉ−Ｚ）状態を設けていた。
これは、CPU-メモリ・バス（Memory Bus）をはじめとするバスが、システムの性能を決める上での主要因となっている状況において、大きな弊害となっている。
この１クロック分の過渡期は、“Ｌ”とプル・アップ（Pull up）によって作られる“Ｈ”の２つの状態だけにすることのできるオープン・ドレイン・バッファ（Open Drain Buffer）を用いることによって解消することができる。しかし、オープン・ドレイン・バッファは、“Ｌ”状態において多量の電流を消費してしまうこと、および高速化しにくいという問題がある。したがって、現時点では、その採用には慎重である。
【０００４】
【発明が解決しようとする課題】
バスの切り替え時における１クロック分の無駄を避けることができないため、これまで、バスの使用効率を上げること自体に限界があった。特に、ビート（Beat）数が小さなバス・トランザクション（Bus Transaction）においては、バスの効率が激減するため、問題は深刻であった。つまり、従来、ランダムにデータにアクセスする場合は、非常にバス効率が低く、これがＣＰＵ性能を下げる大きな要因となっていた。
そこで本発明は、出力切り替えに代表されるバスの切り替えにおいて、無駄なサイクルを減らすことを目的とする。
【０００５】
【課題を解決するための手段】
前述したように、データ信号を出力するチップが切り替わる際の過渡期状態において、データ信号の電位が、例えば“Ｈ”から“Ｌ”、あるいは“Ｌ”から“Ｈ”への変化に際し、この過渡期に２つのチップが同時に出力状態に陥った場合のＩ／Ｏセルの電気的破壊を避けるために、Ｈｉ−Ｚ期間を設ける必要があった。クロックに同期する回路の場合、１クロック分以上のＨｉ−Ｚ期間を設けていた。データ信号が、“Ｈ”から“Ｌ”、あるいは“Ｌ”から“Ｈ”へ変化する場合に、各チップがお互いにドライブを停止することにより、Ｈｉ−Ｚ期間を設けていた。
ここで、２つのチップ（チップＡ，チップＢとする）について考えてみる。チップＡが半クロック分だけ自己のデータ信号（信号ａとする）を出力する一方、チップＢが信号ａを受ける。そして、信号ａについての半クロック分の出力を、このチップＢが担当する。信号ａは同一のデータ信号、つまり電位レベルが一致する。２つの異なるチップＡおよびチップＢから、同一レベルの電位の出力を行ってもお互いに電気的な破壊は起きない。
チップＢは、信号ａを出力した半クロック後に、自己のデータ信号である信号ｂを出力する。このとき、“Ｈ”から“Ｌ”、あるいは“Ｌ”から“Ｈ”への変化が生ずる、あくまで１つのチップＢにおいて生じているにすぎない。つまり、２つのチップＡおよびチップＢが同時に異なった電位を出力することが回避されている。
以上のようにデータ信号の出力を制御すれば、複数のチップが異なる電位のデータ信号を同時に出力する事態を回避することができるので、Ｈｉ−Ｚ時間を設ける必要がなくなる。より具体的には、データのリード／ライトを繰り返す動作時に、バス効率が非常に下がるという事態を回避し、その結果としてバス効率を格段に向上することができる。
【０００６】
本発明は、以上の知見に基づいており、自己のデータを出力するとともに、他方から出力されるデータの入力を受ける第１のデータ入出力回路および第２のデータ入出力回路と、第１のデータ入出力回路および第２のデータ入出力回路間におけるデータの転送を担うデータ・バスと、を備えたデータ入出力装置において実現される。そして、このデータ入出力装置において、自己のデータの出力が、第１のデータ入出力回路から第２のデータ入出力回路へ連続的に切り替わる場合に、第２のデータ入出力回路は、第１のデータ入出力回路からデータ・バスへ出力されたデータをデータ・バスから取り込み、かつ取り込んだデータをデータ・バスへ出力する。つまり、本発明のデータ入出力装置は、第１のデータ入出力回路から出力されたデータを第１データとすると、例えば、第１のデータ入出力回路が半クロックの期間だけ第１データを出力し、その後の半クロック分の期間は第２のデータ入出力回路が第１データを出力することができる。したがって、第１のデータ入出力回路および第２のデータ入出力回路は、お互いに電気的な破壊を起すことがない。
【０００７】
本発明のデータ入出力装置において、第２のデータ入出力回路は、取り込んだデータをデータ・バスへ出力した後に、自己のデータをデータ・バスへ出力する。ここで、第２のデータ入出力回路の自己のデータを第２データとすると、第２のデータ入出力回路は、第１データを出力した後に、第２データを出力することになる。第１データと第２データが異なる電位だとしても、１つのデータ入出力回路における動作であるため、貫通電流の発生という事態を生じない。
【０００８】
以上のように、本発明のデータ入出力装置は、出力する回路の切り替えと出力データの切り替えとが同時に発生することを回避している。そして、この回避は、第１のデータ入出力回路および第２のデータ入出力回路が、各々、自己のデータを出力する出力バッファと、他方からのデータを受ける入力バッファと、入力バッファで受けた他方からのデータを出力バッファへ転送する中継ラインと、を備えることによって実現することができる。
中継ラインから転送された他方からのデータは、出力バッファを介してデータ・バスへ出力することができる。つまり、出力バッファは、自己のデータを出力するのみならず、他方のデータ入出力回路から受けたデータをも出力する、２つの機能を有することになる。これは、出力バッファおよび入力バッファを備えている従来からのデータ入出力回路に中継ラインを付加することによって、本発明のデータ入出力装置を実現できることを示唆している。
【０００９】
データ入出力回路の具体的適用例として、メモリ・コントローラおよびメモリとから構成されるメモリ・システムが挙げられる。そして本発明は、このメモリ・システムに適用することができる。したがって本発明は、データの読出し・書込み指令を発するメモリ・コントローラと、メモリ・コントローラからの読出し・書込み指令に基づいてデータの読出し・書込みを実行するメモリと、メモリ・コントローラとメモリとを接続するバスと、を備えたメモリ・システムについての適用を提案する。
この提案において、メモリ・コントローラは以下の構成を備えている。すなわち、本発明のメモリ・コントローラは、メモリに書込む書込みデータをバスに対して出力する第１出力バッファと、バスを介してメモリで読出された読出しデータを受ける第１入力バッファと、第１出力バッファに対して書込みデータを転送する第１出力ラインと、第１入力バッファが受けた読出しデータを転送する第１入力ラインと、第１出力ライン上に配置された第１マルチプレクサと、第１入力ラインと第１マルチプレクサとを繋ぐ第１中継ラインと、を備えている。
また、メモリは、読出し・書込みデータを記憶するメモリ・セルと、メモリ・コントローラの読出し指令に基づいてメモリ・セルから読出された読出しデータをバスに対して出力する第２出力バッファと、メモリ・コントローラの第１出力バッファから出力された書込みデータを受ける第２入力バッファと、メモリ・セルからの読出しデータを第２出力バッファに転送する第２出力ラインと、第２入力バッファが受けた書込みデータをメモリ・セルに転送する第２入力ラインと、第２出力ライン上に配置された第２マルチプレクサと、第２入力ラインと第２マルチプレクサとを繋ぐ第２中継ラインと、を備えている。
【００１０】
以上のメモリ・システムにおいて、メモリ・コントローラがメモリに対して読出し指令を発すると、メモリは、第２マルチプレクサが第２出力ラインを選択する。そうすると、メモリは、メモリ・セルから読出しデータを読み出す。この読出しデータは、第２出力ラインおよび第２出力バッファを介してバスに出力される。
一方、メモリ・コントローラは、バスを介して第１入力バッファにより当該読出しデータを受ける。その微小時間後に、第１マルチプレクサが第１中継ラインを選択すると、第１入力ライン、第１中継ライン、第１出力ラインおよび第１出力バッファを介して当該読出しデータをバスに出力する。
つまり、本発明のメモリ・システムは、１つの読出しデータを、例えば１クロック期間において、メモリおよびメモリ・コントローラの２つのチップからバスに対して出力することができる。このときに、チップの切り替えが行われるが、出力されるデータが同一の読出しデータであるから、メモリ・コントローラおよびメモリ間で貫通電流が発生することがない。
なお、メモリ・コントローラは、読出しデータをバスに出力した後に、当該読出しデータをバスから取り込み、読出しデータの要求される内部回路に転送する。これで、読出し動作が完了する。
【００１１】
以上ではデータの読出し動作について説明したが、書込み動作については以下の通りである。
メモリ・コントローラがメモリに対して書込み指令を発すると、メモリ・コントローラは、第１マルチプレクサが第１出力ラインを選択するとともに、外部から転送された書込みデータを第１出力ラインおよび第１出力バッファを介してバスに出力する。
メモリは、バスを介して第２入力バッファにより当該書込みデータを受ける。
その微小時間後に、第２マルチプレクサが第２中継ラインを選択する。すると、第２入力ライン、第２中継ライン、第２出力ラインおよび第２出力バッファを介して書込みデータをバスに出力する。
つまり、本発明のメモリ・システムは、１つの書込みデータを、例えば１クロック期間において、メモリおよびメモリ・コントローラの２つのチップからバスに対して出力することができる。このときに、チップの切り替えが行われるが、出力されるデータが同一の書込みデータであるから、メモリ・コントローラおよびメモリ間で貫通電流が発生することがない。
なお、メモリは、書込みデータをバスに出力した後に、当該書込みデータをバスから取り込み、メモリ・セルに記憶する。これで、書込み動作が完了する。
【００１２】
以上では読出し動作、書込み動作を各々別個に説明した。読出し動作から書込み動作、または書込み動作から読出し動作に切り替わる場合には、以下の通りである。
読出し動作から書込み動作に切り替わる場合には、メモリによる読出しデータの出力、メモリ・コントローラによる当該読出しデータの出力、メモリ・コントローラによる書込みデータの出力、メモリによる当該書込みデータの出力、という順序でデータの出力、チップの切り替えが実行される。
書込み動作から読出し動作に切り替わる場合には、メモリ・コントローラによる書込みデータの出力、メモリによる当該書込みデータの出力、メモリによる読出しデータの出力、メモリ・コントローラによる当該読出しデータの出力、という順序でデータの出力、チップの切り替えが実行される。なお、ここでいう出力の対象はバスである。
以上の通りであり、本発明のメモリ・システムにおいては、メモリ・コントローラおよびメモリの切り替え、ならびに読出しデータおよび書込みデータの切り替えが同時に起こる事態を回避することができる。したがって、Ｈｉ−Ｚ期間を設けることなく貫通電流の発生を阻止できる。
【００１３】
以上説明したように、本発明は、メモリ・コントローラ、メモリ等の個々のデータ入出力回路がこれまでにない新規な構成を有しており、この構成と特別な制御とが相俟って実現される。
本発明のデータ入出回路は、データ・バスへ出力データを出力する第１のバッファとデータ・バスから転送される入力データを受ける第２のバッファとがデータ・バスに接続された入出力セルと、出力データおよび入力データを保持するデータ保持手段と、データ保持手段に保持された出力データを第１のバッファに転送する出力ラインと、第２のバッファが受けた入力データをデータ保持手段に転送する入力ラインとを備えている。
以上の構成に加えて、本発明のデータ入出力回路は、第２のバッファを介して入力データを出力バッファに転送する中継ラインと、出力ラインおよび中継ラインにおけるデータの転送を選択的に有効とするライン選択手段と、を備える。この中継ラインおよびライン選択手段とを備えることにより、第２のバッファが受けた入力データを、中継ラインおよび第１のバッファを経由してデータ・バスへ出力することを可能としている。
【００１４】
本発明のデータ入出力回路は、入出力セルからのデータ出力の可否を制御する出力制御信号を、入出力セルに向けて出力する制御信号生成手段を備える。そして、この制御信号生成手段は、ライン選択手段における選択を制御する選択信号をライン選択手段に向けて出力することができる。そしてこの間に、第２のバッファが受けた入力データを、中継ラインおよび第１のバッファを経由してデータ・バスへ出力することができる。
また制御信号生成手段は、入出力セルからのデータ出力を可能とする出力制御信号を入出力セルに向けて出力し、その出力から所定時間経過した後に中継ラインを選択する選択信号をライン選択手段に向けて出力することができる。
【００１５】
以上説明したデータ入出力装置で実現できる新規なデータ入出力方法は、バスを介して互いに他方から出力されるデータの入力を受けるとともに、自己のデータをバスに出力する第１のデータ入出力回路および第２のデータ入出力回路におけるデータ入出力方法であって、第１のデータ入出力回路が自己のデータである第１信号をバスに出力するステップと、第２のデータ入出力回路がバスから第１信号を取り込むステップと、第２のデータ入出力回路が第１信号を前記バスに出力するステップと、を備えている。
そして、引き続いて、第２のデータ入出力回路が自己のデータである第２信号をバスに出力するステップと、第１のデータ入出力回路がバスから第２信号を取り込むステップと、第１のデータ入出力回路が第２信号をバスに出力ステップと、を付加することができる。
【００１６】
【発明の実施の形態】
以下本発明を実施の形態に基づいて説明する。
図１は、本発明をメモリ・コントローラ１０とメモリ２０を備えたメモリ・システム１に適用した例を示すブロック図である。
図１において、メモリ・コントローラ１０とメモリ２０とはデータ・バス３０により接続されている。メモリ・コントローラ１０には、内部回路（Internal Circuit）４０を介してＣＰＵ（Central Processing Unit）５０が接続されている。
メモリ・コントローラ１０は、メモリ２０に対してマスタとして位置付けられる。メモリ・コントローラ１０は、インプット／アウトプット（Ｉ／Ｏ）セル１１、マルチプレクサ（ＭＵＸ）１４とを備えている。
Ｉ／Ｏセル１１は、出力バッファ１２および入力バッファ１３とを備えている。出力バッファ１２はデータ・バス３０を介してメモリ２０に対してデータを出力するためのバッファであり、入力バッファ１３はデータ・バス３０を介してメモリ２０から転送されるデータを入力するためのバッファである。出力バッファ１２には、アウトプット・イネーブル（Output Enable，ＯＥ）信号が供給される。本実施の形態では、ＯＥ信号が “Ｌ"のときにデータ出力が可能な状態となる。ＯＥ信号は、制御信号生成手段１８にて生成される。
【００１７】
出力バッファ１２は、ＭＵＸ１４が配置された出力ライン１５によって内部回路４０に接続される。内部回路４０が保持しかつ出力されるデータは、出力ライン１５を経由して出力バッファ１２からデータ・バス３０に向けて出力される。
このデータは、書込みデータ（Write Data）である。
入力バッファ１３は、入力ライン１６を介して内部回路４０に接続される。メモリ２０から入力されるデータは、入力バッファ１３および入力ライン１６を経由して内部回路４０に転送される。
入力ライン１６とＭＵＸ１４との間には、中継ライン１７が配設されている。
入力バッファ１３に入力されたデータは、ＭＵＸ１４が中継ライン１７を選択した場合には、入力ライン１６、中継ライン１７、出力ライン１５および出力バッファ１２を経由してデータ・バス３０に出力することができる。
【００１８】
ＭＵＸ１４は、コントロール・セレクト（Control Select，ＣＳ）信号によって、出力ライン１５または中継ライン１７のいずれかを選択する。具体的には、ＣＳ信号が、“Ｌ”のときに出力ライン１５からのデータを選択し、“Ｈ”のときに中継ライン１７のデータを選択する。ＣＳ信号も制御信号生成手段１８にて生成される。
制御信号生成手段１８は、クロック信号（clock）、チップ・イネーブル信号（chip enable）信号、読出し指示信号（read）および書込み指示信号（write）を生成し、かつこれら信号をメモリ２０の制御信号生成手段２９に送出する。チップ・イネーブル信号は、読出し動作または書込み動作が行われることを示す信号である。そして、メモリ・コントローラ１０におけるＯＥ信号及びメモリ２０におけるＯＥ信号は、Ｃｈｉｐ Ｅｎａｂｌｅ信号、Ｗｒｉｔｅ信号及びＲｅａｄ信号の組合せ、あるいは上記にクロックを合わせた組合せによって生成される。
【００１９】
メモリ２０は、インプット／アウトプット（Ｉ／Ｏ）セル２１、マルチプレクサ（ＭＵＸ）２４およびメモリ・セル２８とを備えている。
Ｉ／Ｏセル２１は、出力バッファ２２および入力バッファ２３とを備えている。出力バッファ２２はデータ・バス３０を介してメモリ・コントローラ１０に対してデータを出力するためのバッファであり、入力バッファ２３はデータ・バス３０を介してメモリ・コントローラ１０から転送されるデータを入力するためのバッファである。出力バッファ２２には、アウトプット・イネーブル（Output Enable，ＯＥ）信号が供給される。メモリ・コントローラ１０と同様に、ＯＥ信号が“Ｌ”のときに、出力バッファ２２はデータ出力が可能な状態となる。ＯＥ信号は、Ｃｈｉｐ Ｅｎａｂｌｅ信号、Ｗｒｉｔｅ信号及びＲｅａｄ信号の組合せ、あるいは上記にクロックを合わせた組合せによって生成される。
【００２０】
出力バッファ２２は、ＭＵＸ２４が配置された出力ライン２５によってメモリ・セル２８に接続される。メモリ・セル２８から出力されるデータは、出力ライン２５を経由して出力バッファ２２からデータ・バス３０に向けて出力される。
このデータは、読出しデータ（Read Data）である。
入力バッファ２３は、入力ライン２６を介してメモリ・セル２８に接続される。メモリ・コントローラ１０から入力される書込みデータ（Write Data）は、入力バッファ２３および入力ライン２６を経由してメモリ・セル２８に転送される。
入力ライン２６とＭＵＸ２４との間には、中継ライン２７が配設されている。
入力バッファ２３に入力されたデータは、ＭＵＸ２４が中継ライン２７を選択した場合には、入力ライン２６、中継ライン２７、出力ライン２５および出力バッファ２２を経由してデータ・バス３０に出力することができる。
【００２１】
ＭＵＸ２４は、コントロール・セレクト（Control Select，ＣＳ）信号によって、出力ライン２５または中継ライン２７のいずれかを選択する。具体的には、ＣＳ信号が、“Ｌ”のときに出力ライン２５からのデータを選択し、“Ｈ”のときに中継ライン２７からのデータを選択する。ＣＳ信号は、制御信号生成手段２９によって生成される。
メモリ・セル２８は、転送され書込みデータを記憶する。このデータは、読出し指令がなされると、読出しデータとなる。
【００２２】
図２は、メモリ・コントローラ１０のメモリ２０に対する読出し（Read）から書込み（Write）、さらに読出し（Read）への動作の変化時における、メモリ・コントローラ１０内部のＩ／Ｏセル１１の動作およびＭＵＸ１４の動作、メモリ２０内部のＩ／Ｏセル２１の動作およびＭＵＸ２４の動作を示すタイミング・チャートである。以下、このタイミング・チヤートを参照しつつ、本実施の形態における動作を説明する。なお、以下の（ａ）〜（ｇ）は図２の（ａ）〜（ｇ）で示される期間の動作を示している。
【００２３】
（ａ）メモリ・コントローラ１０から、メモリ２０に対して読出し指令を発する。本実施の形態では、チップ・イネーブル信号および読出し指示信号をともに“Ｌ”とすることにより、メモリ２０の制御信号生成手段２９が“Ｌ”のＯＥ信号を生成し、出力バッファ２２に供給して、Ｉ／Ｏセル２１を出力可能状態とする。
（ｂ）メモリ２０は、Ｉ／Ｏセル２１が出力可能状態になってから半クロック後、ＭＵＸ２４に対するＣＳ信号を“Ｈ”から“Ｌ”に変化させる。ＭＵＸ２４は、出力ライン２５を選択する。したがって、メモリ・セル２８に記憶されていたデータが読み出される。この読出しデータは、出力ライン２５および出力バッファ２２を介して、データ・バス３０上に出力される。この読出しデータは、メモリ２０にとって、自己のデータである。
このとき、メモリ・コントローラ１０のＩ／Ｏセル１１は、ＯＥ信号およびＣＳ信号がともに“Ｈ”である。したがって、入力バッファ１３は、常にデータ・バス３０上のデータを採りこんでいる状態にある。また、ＭＵＸ１４は、中継ライン１７を選択している。したがって、中継ライン１７に対しては、（ｂ）の期間にデータが確定する。
【００２４】
（ｃ）メモリ・コントローラ１０からの指示が書込み指令に切り替わる。
メモリ２０においては、そのＯＥ信号が“Ｈ”となって出力バッファ２２が出力不可状態となり、メモリ２０からの読出しデータの出力が止まる。
一方、メモリ・コントローラ１０のＯＥ信号は“Ｌ”となって、出力バッファ１２が出力可能状態となる。このときメモリ・コントローラ１０のＣＳ信号は“Ｈ”であるから、ＭＵＸ１４は中継ライン１７を選択している。よって、（ｂ）の期間で確定している読出しデータが、出力ライン１５および出力バッファ１２を経由してデータ・バス３０に出力される。
この読出しデータは、（ｂ）の期間にメモリ２０からデータ・バス３０に出力された読出しデータと同一である。つまり、（ｂ）の期間にメモリ２０からデータ・バス３０に出力された読出しデータと電位レベルが一致する。したがって、メモリ・コントローラ１０とメモリ２０の反応速度が異なっても、貫通電流は発生しない。また、メモリ・コントローラ１０とメモリ２０の反応速度の違いから、一瞬メモリ２０の出力がインアクティブ状態になり、Ｈｉ−Ｚ状態になった場合でも、“Ｈ”(または“Ｌ”)からＨｉ−Ｚまでは、ミリ秒単位の変移時間を要するので、メモリ・コントローラ１０、メモリ２０の反応速度の差から生じる時間差に比べて非常に大きいために、データ・バス３０上で中間電位（Ｈｉ−Ｚ）が現われることはない。
【００２５】
以上の通りであり、（ｂ）および（ｃ）の１クロックの間に、メモリ２０およびメモリ・コントローラ１０から半クロックづつ出力された読出しデータがデータ・バス３０上に現われる。
これを（ｃ）の立ち下り部分で、メモリ・コントローラ１０が取り込むことによって、読出しの１サイクルが終了する。取り込まれた読出しデータは、入力ライン１６を経由して内部回路４０に供給される。
【００２６】
（ｄ）メモリ・コントローラ１０のＣＳ信号が“Ｌ”に変わることよって、ＭＵＸ１４が出力ライン１５を選択する。そうすると、内部回路４０からの書込みデータが、出力ライン１５および出力バッファ１２を経由してデータ・バス３０に出力される。この書込みデータは、メモリ・コントローラ１０にとって自己のデータである。
このとき、メモリ２０のＩ／Ｏセル２１のＯＥ信号およびＣＳ信号がともに“Ｈ”である。したがって、入力バッファ２３は、常にデータ・バス３０上のデータを採り込んでいる状態にある。また、ＭＵＸ２４は、中継ライン２７を選択している。したがって、中継ライン２７に対しては、（ｄ）の期間にデータが確定する。
【００２７】
（ｅ）メモリ・コントローラ１０からの指示が読出し指令に切り替わる。
メモリ・コントローラ１０においては、そのＯＥ信号が“Ｈ”となって出力バッファ１２が出力不可状態となり、メモリ・コントローラ１０からの書込みデータの出力が止まる。
一方、メモリ２０のＯＥ信号が“Ｌ”となって、出力バッファ２２が出力可能状態となる。このときメモリ２０のＣＳ信号は“Ｈ“であるから、ＭＵＸ２４は中継ライン２７を選択している。よって、（ｄ）の期間に確定している書込みデータが、出力ライン２５および出力バッファ２２を経由してデータ・バス３０に出力される。
【００２８】
この書込みデータは、（ｄ）の期間にメモリ・コントローラ１０から出力された書込みデータと同一である。つまり、（ｂ）の期間にメモリ・コントローラ１０からデータ・バス３０に出力された書込みデータと電位レベルが一致する。したがって、メモリ・コントローラ１０とメモリ２０の反応速度が異なっても、貫通電流は発生しない。また、メモリ・コントローラ１０とメモリ２０の反応速度の違いから、一瞬メモリ２０の出力がインアクティブ状態になり、Ｈｉ−Ｚ状態になった場合でも、“Ｈ”(または“Ｌ”)からＨｉ−Ｚまでは、ミリ秒単位の変移時間を要するので、メモリ・コントローラ１０、メモリ２０の反応速度の差から生じる時間差に比べて非常に大きいために、データ・バス３０上で中間電位（Ｈｉ−Ｚ）が現われることはない。
【００２９】
（ｆ）Ｉ／Ｏセル２１が出力不可状態となってからから半クロック後、ＭＵＸ２４に対するＣＳ信号を“Ｈ”から“Ｌ”に変化させる。以後は、（ｂ）の期間と同様の動作が行われる。つまり、メモリ・セル２８から読出されたデータを、データ・バス３０上に出力する。また、メモリ・コントローラ１０のＭＵＸ１４に接続される中継ライン１７に対しては、（ｆ）の期間にデータが確定する。
また、図２中の（ｇ）は（ｃ）と同様の動作を行う。
【００３０】
以上説明したように、本実施の形態によるメモリ・システム１は、データの読出し動作時には、メモリ・セル２８から読み出された読出しデータを、出力ライン２５および出力バッファ２２を介してデータ・バス３０に出力する。一方で、メモリ・コントローラ１０は、データ・バス３０を介して出力バッファ１２によってデータ・バス３０上の当該読出しデータを受ける。その後に、入力ライン１６、中継ライン１７、出力ライン１５および出力バッファ１２を介して当該読出しデータをデータ・バス３０に出力する。
また、データの書込み動作時には、内部回路４０から転送された書込みデータを出力ライン１５および出力バッファ１２を介してデータ・バス３０に出力する。一方で、メモリ２０は、データ・バス３０を介して入力バッファ２３により当該書込みデータを受ける。その後に、入力ライン２６、中継ライン２７、出力ライン２５および出力バッファ２２を介して当該書込みデータをデータ・バス３０に出力する。
つまり、メモリ・システム１は、１つの読出しデータを、１クロック期間において、メモリ２０およびメモリ・コントローラ１０の２つのチップからデータ・バス３０に対して出力することができる。このときに、チップの切り替えが行われるが、出力されるデータが同一の読出しデータであるから、メモリ・コントローラ１０およびメモリ２０間で貫通電流が発生することがないのである。
【００３１】
以上では、メモリ２０が１つのメモリ・システム１について説明したが、例えば図３に示すように２つ（あるいは２つ以上）のメモリ２０を備えたメモリ・システムに本発明を適用することができる。そしてこの場合、メモリ２０同士の動作に本発明のデータ入出力方法を適用することができることは言うまでもない。また、以上説明したものはあくまで本発明における一実施形態であり、本発明を解釈する上で、限定の根拠とはならない。
【００３２】
【発明の効果】
以上説明したように、本発明によれば、出力する回路の切り替えと、出力データの切り替えとが同時に発生することを回避している。したがって、従来のように、Ｈｉ−Ｚ期間を設ける必要がないため、バス効率を向上することができる。
【図面の簡単な説明】
【図１】  本実施の形態によるメモリ・システムの構成を示すブロック図である。
【図２】  本実施の形態によるメモリ・システムの動作を示すタイミング・チャートである。
【図３】  本実施の形態によるメモリ・システムの他の構成例を示すブロック図である。
【図４】  従来のメモリ・システムの動作を示すタイミング・チャートである。
【符号の説明】
１…メモリ・システム、１０…メモリ・コントローラ、１１…Ｉ／Ｏセル、１２…出力バッファ、１３…入力バッファ、１４…ＭＵＸ（マルチプレクサ）、１５…出力ライン、１６…入力ライン、１７…中継ライン、１８…制御信号生成手段、２０…メモリ、２１…Ｉ／Ｏセル、２２…出力バッファ、２３…入力バッファ、２４…ＭＵＸ（マルチプレクサ）、２５…出力ライン、２６…入力ライン、２７…中継ライン、２８…メモリ・セル、２９…制御信号生成手段、３０…データ・バス、４０…内部回路、５０…ＣＰＵ
【図１】
0003942074.tif 000002
【図２】
0003942074.tif 000003
【図３】
0003942074.tif 000004
【図４】
0003942074.tif 000005