(57)【要約】【課題】複数のメモリを接続するデータバスにおいて、汎用性を確保しつつ、データの衝突を防止する。【解決手段】  制御回路１１０は、データ出力期間の開始時点から前記データ出力期間より短いドライブ期間を経過するまでの間だけ前記出力ドライバ１７０に前記データを入力するとともに、前記データ出力期間を経過したときにラッチ回路１８０に電流の供給を停止させる。出力ドライバ１７０は、入力された前記データの値に応じた電位を前記出力端子１９０に印加することにより絶対値が所定値となるドライバ電流を出力端子１９０に供給する。ラッチ回路１８０は、前記出力端子１９０に印加された電位を保持するとともに、保持している前記電位を前記出力端子１９０に印加することにより絶対値が前記所定値より小さいラッチ電流を前記出力端子に供給する。【選択図】図３
2012098779.tif 000002
【特許請求の範囲】
【請求項１】
出力端子と、
入力されたデータの値に応じた電位を前記出力端子に印加することにより絶対値が所定値となるドライバ電流を前記出力端子に供給する出力ドライバと、
前記出力端子に印加された電位を保持するとともに、保持している前記電位を前記出力端子に印加することにより絶対値が前記所定値より小さいラッチ電流を前記出力端子に供給するラッチ部と、
前記ドライバ電流または前記ラッチ電流を前記出力端子に供給すべき期間であるデータ出力期間の開始時点から前記データ出力期間より短いドライブ期間を経過するまでの間だけ前記出力ドライバに前記データを入力するとともに、前記データ出力期間を経過したときに前記ラッチ部に前記ラッチ電流の供給を停止させる制御部と
を具備するデータ出力装置。
【請求項２】
前記制御部は、クロック周期の半分が前記ドライブ期間となるクロック信号を取得し、前記開始時点から前記ドライブ期間が経過したか否かを前記クロック信号に基づいて判断することにより、前記ドライブ期間だけ前記出力ドライバに前記データを入力する
請求項１記載のデータ出力装置。
【請求項３】
前記制御部は、前記開始時点から前記ドライブ期間だけ遅延する内部信号を生成し、前記開始時点から前記内部信号の遅延時間が経過するまでの間だけ前記出力ドライバにデータを入力する
請求項１記載のデータ出力装置。
【請求項４】
前記制御部は、前記開始時点から前記データ出力期間を経過したときまでの間だけ前記ラッチ部に前記ラッチ電流を供給させる
請求項１記載のデータ出力装置。
【請求項５】
前記制御部は、前記ドライブ期間を経過したときから前記データ出力期間を経過したときまでの間だけ前記ラッチ部に前記ラッチ電流を供給させる
請求項１記載のデータ出力装置。
【請求項６】
前記制御部は、クロック周期が前記データ出力期間より短く、前記クロック周期の半分が第１のドライブ期間および第２のドライブ期間より長いクロック信号を取得し、前記クロック信号の立上りから前記第１のドライブ期間を経過するまでの間、および、前記クロック信号の立下りから前記第２のドライブ期間を経過するまでの間だけ前記出力ドライバにデータを入力する
請求項１記載のデータ出力装置。
【請求項７】
前記制御部は、
前記クロック信号の位相を所定期間だけずらしたシフトクロック信号を生成する位相シフト部と、
前記クロック信号の立上りから前記シフトクロック信号の立下りの時点までの間、および、前記クロック信号の立下りから前記シフトクロック信号の立下りまでの間だけ前記出力ドライバにデータを入力するとともに、前記データ出力期間を経過したときに前記ラッチ部に電流の供給を停止させる出力制御部と
を具備する請求項６記載のデータ出力装置。
【請求項８】
前記制御部は、前記出力端子が接続される経路に複数のデータ出力装置が接続される場合、前記開始時点から前記ドライブ期間を経過するまでの間だけ前記出力ドライバにデータを入力するとともに、前記データ出力期間を経過したときに前記ラッチ部に電流の供給を停止させ、前記経路に接続されるデータ出力装置が１台の場合、前記データ出力期間の間だけ前記出力ドライバにデータを入力するとともに前記ラッチ部を無効にする
請求項１記載のデータ出力装置。
【請求項９】
入出力端子と、
データが入力されている間だけ前記データの値に応じた電位を前記入出力端子に印加することにより絶対値が所定値となる電流を前記出力端子に供給する出力ドライバと、
抵抗値が前記所定値となる内部抵抗に基づく電流が前記入出力端子に供給されたときに前記入出力端子に印加された電位を保持するとともに、保持している前記電位を前記出力端子に印加することにより絶対値が前記所定値より小さい電流を前記入出力端子に供給するラッチ部と、
前記データに応じた電流を前記出力端子に供給すべき期間であるデータ出力期間の開始時点から前記データ出力期間より短いドライブ期間を経過するまでの間だけ前記出力ドライバに前記データを入力するとともに、前記データ出力期間を経過したときに前記ラッチ部に前記ラッチ電流の供給を停止させる制御部と
前記入出力端子に印加された電位に応じたデータを生成する入力部と
を具備するデータ入出力装置。
【請求項１０】
データを記憶し、データの出力が要求されたとき、データ出力装置にデータを出力する記憶素子と、
前記記憶素子に前記データの出力を要求する要求部と、
出力端子と、入力されたデータの値に応じた電位を前記出力端子に印加することにより絶対値が所定値となるドライバ電流を前記出力端子に供給する出力ドライバと、前記出力端子に印加された電位を保持するとともに、保持している前記電位を前記出力端子に印加することにより絶対値が前記所定値より小さいラッチ電流を前記出力端子に供給するラッチ部と、前記ドライバ電流または前記ラッチ電流を前記出力端子に供給すべき期間であるデータ出力期間の開始時点から前記データ出力期間より短いドライブ期間を経過するまでの間だけ前記出力ドライバに前記記憶素子により出力された前記データを入力するとともに、前記データ出力期間を経過したときに前記ラッチ部に前記ラッチ電流の供給を停止させる制御部とを具備するデータ出力装置と
を具備する記憶装置。
【請求項１１】
出力端子と、入力されたデータの値に応じた電位を前記出力端子に印加することにより絶対値が所定値となるドライバ電流を前記出力端子に供給する出力ドライバと、前記出力端子に印加された電位を保持するとともに、保持している前記電位を前記出力端子に印加することにより絶対値が前記所定値より小さいラッチ電流を前記出力端子に供給するラッチ部と、前記ドライバ電流または前記ラッチ電流を前記出力端子に供給すべき期間であるデータ出力期間の開始時点から前記データ出力期間より短いドライブ期間を経過するまでの間だけ前記出力ドライバに前記データを入力するとともに、前記データ出力期間を経過したときに前記ラッチ部に前記ラッチ電流の供給を停止させる制御部とを具備する複数のデータ出力装置と、
前記複数のデータ出力装置が具備する前記出力端子に接続された経路と、
前記経路に印加された電位に応じたデータを生成して処理する処理装置と
を具備するデータ処理システム。
【請求項１２】
入力されたデータの値に応じた電位を出力端子に印加することにより絶対値が所定値となるドライバ電流を前記出力端子に供給する出力ドライバに、電流を前記出力端子に供給すべき期間であるデータ出力期間の開始時点から前記データ出力期間より短いドライブ期間を経過するまでの間だけ前記データを入力する入力手順と、
前記出力端子に印加された電位を保持するとともに、保持している前記電位を前記出力端子に印加することにより絶対値が前記所定値より小さいラッチ電流を前記出力端子に供給するラッチ部に、前記データ出力期間を経過したときに前記ラッチ電流の供給を停止させる停止手順と
を具備するデータ出力装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ出力装置に関し、特に記憶素子に記憶されたデータを出力するデータ出力装置、データ入出力装置、記憶装置、データ処理システム、および、データ出力装置の制御方法に関する。
【背景技術】
【０００２】
従来、データ処理システム内にプロセッサと複数のメモリとを実装する場合、プロセッサおよび各メモリが共有するデータバスを設け、そのデータバスを介してプロセッサが各メモリにアクセスする構成が一般的であった。データ処理システム内では、これらのメモリおよびプロセッサを平面的に実装し、またはＴＳＶ（Through-Silicon-Via：シリコン貫通ビア）などを介して３次元的に実装していた。
【０００３】
複数のメモリおよびプロセッサを実装した構成において、プロセッサがデータバスを介して各メモリに順にデータを出力させる場合、各メモリの特性のばらつきにより、各メモリが完全に同期できないことがあった。各メモリのデータ出力が同期していないと、データの衝突が生じうる。データの衝突とは、複数のメモリがデータバスへ同時にデータを出力してしまうことである。各メモリは、データの値に応じた電位をデータバスに印加することによりデータを出力している。印加される電位は、メモリの電源レベルの電位やグランドレベルの電位である。データの衝突が生じると、例えば、あるメモリが電源レベルの電位を印加し、別のメモリがグランドレベルの電位を印加してしまうことがある。この場合、一方のメモリの電源から、他方のメモリのグランドへデータバスを介して電流が流れ、ショート状態が生じてしまうおそれがある。
【０００４】
このようなデータの衝突を防ぐため、各メモリがデータを出力する期間を短くするデータ出力装置が提案されている（例えば、特許文献１参照。）。各メモリがデータを出力する期間を短くすることにより、各メモリが完全に同期していない場合であってもデータの衝突を防止している。また、このデータ出力装置において、各メモリは、位相を調整する位相調整回路を備えている。各メモリが位相調整回路を使用して完全に同期してデータを出力するため、データの衝突の可能性がさらに低減する。
【０００５】
各メモリのクロック信号線の配線長を調整するとともに、各メモリに遅延制御回路を設けるデータ出力装置も提案されている（例えば、特許文献２参照。）。このクロック信号線は、メモリコントローラからのデータ読出しのコマンド等を伝送するための信号線である。各メモリの物理的な位置によってデータ等の伝送の遅延時間が異なるが、その遅延時間に応じて配線長が調整される。各メモリの遅延制御回路は、その配線長に応じた時間だけ、内部動作クロックを進めておく。このため、各メモリのデータの内部動作クロックの位相が一致するようになる。この結果、データの衝突が防止される。
【０００６】
さらに、各メモリからのデータの出力をラッチするデータ出力装置が提案されている（例えば、特許文献３参照。）。このメモリは、接続ノード、出力バッファ、および、バスキーパ回路を備える。接続ノードは、データバスに接続されるノードである。出力バッファは、データの値に応じた電位を接続ノードに印加する。バスキーパ回路は、出力バッファが接続ノードに電位を印加したときに、その電位を保持し、出力バッファが電位を印加しない間、保持している電位を接続ノードに印加しつづける。ただし、バスキーパ回路の供給する電流は、出力バッファが供給する電流と比較して微弱である。この構成により、各出力バッファが電位を印加する時間を短くしても、バスキーパ回路が電位を保持するため、データを出力する期間を長くすることができる。また、バスキーパ回路が供給する電流は、出力バッファが供給する電流と比較して微弱であるため、あるメモリのバスキーパ回路と別のメモリの出力バッファとが同時に電位を印加してもデータの衝突は生じない。従って、メモリがデータを出力する期間を長くしつつ、データの衝突を防止することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許４１２６２３６４号
【特許文献２】特開平１０−１８７５９２号公報
【特許文献３】特開２００４−３６２３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の従来技術では、汎用性に乏しいという問題があった。具体的には、各メモリがデータバスへデータを出力する期間を短くする構成とした場合、プロセッサがデータを受け取る動作におけるマージンが少なくなってしまう。
【０００９】
また、各メモリに位相調整回路、または、遅延制御回路を設ける構成とした場合、それらの回路の分、メモリの消費電流が大きくなってしまう。また、アナログ制御を行う回路により位相調整回路等を構成する場合、一般に回路規模が増大し、メモリチップの面積が大きくなってしまう。また、位相調整回路等が対応できる周波数帯域以外においては、データの衝突を確実に防止できない。
【００１０】
さらに、各メモリにバスキーパ回路を設ける構成とした場合、複数のバスキーパ回路が電位を保持することにより、データバスの電位の保持力が強くなる。このため、バスキーパ回路の数が増加するほど、データバスの電位の反転が困難となってしまう。
【００１１】
このように、上述した技術では、適用できる構成が限定されるため、汎用性に乏しいという問題があった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、複数のメモリを接続するデータバスにおいて、汎用性を確保しつつ、データの衝突を防止することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、出力端子と、入力されたデータの値に応じた電位を上記出力端子に印加することにより絶対値が所定値となるドライバ電流を上記出力端子に供給する出力ドライバと、上記出力端子に印加された電位を保持するとともに、保持している上記電位を上記出力端子に印加することにより絶対値が上記所定値より小さいラッチ電流を上記出力端子に供給するラッチ部と、上記ドライバ電流または上記ラッチ電流を上記出力端子に供給すべき期間であるデータ出力期間の開始時点から上記データ出力期間より短いドライブ期間を経過するまでの間だけ上記出力ドライバに上記データを入力するとともに、上記データ出力期間を経過したときに上記ラッチ部に上記ラッチ電流の供給を停止させる制御部とを具備するデータ出力装置、および、その制御方法である。これにより、データ出力期間の開始時点からドライブ期間を経過するまでの間だけ出力ドライバがデータの値に応じた電位を出力端子に印加することによりドライブ電流を供給するとともに、データ出力期間を経過したときに、ラッチ部がラッチ電流の供給を停止するという作用をもたらす。
【００１４】
また、この第１の側面において、上記制御部は、クロック周期の半分が上記ドライブ期間となるクロック信号を取得し、上記開始時点から上記ドライブ期間が経過したか否かを上記クロック信号に基づいて判断することにより、上記ドライブ期間だけ上記出力ドライバに上記データを入力してもよい。これにより、データ出力期間の開始時点から上記ドライブ期間が経過したか否かを上記クロック信号に基づいて判断するという作用をもたらす。
【００１５】
また、この第１の側面において、上記制御部は、上記開始時点から上記ドライブ期間だけ遅延する内部信号を生成し、上記開始時点から上記内部信号の遅延時間が経過するまでの間だけ上記出力ドライバにデータを入力してもよい。これにより、データ出力期間の開始時点から内部信号の遅延時間が経過するまでの間だけ出力ドライバにデータが入力されるという作用をもたらす。
【００１６】
また、この第１の側面において、上記制御部は、上記開始時点から上記データ出力期間を経過したときまでの間だけ上記ラッチ部に上記ラッチ電流を供給させてもよい。これにより、データ出力期間の間にわたってラッチ部がラッチ電流を供給するという作用をもたらす。
【００１７】
また、この第１の側面において、上記制御部は、上記ドライブ期間を経過したときから上記データ出力期間を経過したときまでの間だけ上記ラッチ部に上記ラッチ電流を供給させてもよい。これにより、ドライブ期間を経過したときからデータ出力期間を経過するときまでの間だけ、ラッチ部がラッチ電流を供給するという作用をもたらす。
【００１８】
また、この第１の側面において、上記制御部は、クロック周期が上記データ出力期間より短く、上記クロック周期の半分が第１のドライブ期間および第２のドライブ期間より長いクロック信号を取得し、上記クロック信号の立上りから上記第１のドライブ期間を経過するまでの間、および、上記クロック信号の立下りから上記第２のドライブ期間を経過するまでの間だけ上記出力ドライバにデータを入力してもよい。これにより、クロック信号の立上りから第１のドライブ期間を経過するときまでの間と、クロック信号の立下りから第２のドライブ期間を経過するときまでの間だけ、出力ドライバがドライブ電流を供給するという作用をもたらす。
【００１９】
また、この第１の側面において、上記制御部は、上記クロック信号の位相を所定期間だけずらしたシフトクロック信号を生成する位相シフト部と、上記クロック信号の立上りから上記シフトクロック信号の立下りの時点までの間、および、上記クロック信号の立下りから上記シフトクロック信号の立下りまでの間だけ上記出力ドライバにデータを入力するとともに、上記データ出力期間を経過したときに上記ラッチ部に電流の供給を停止させる出力制御部とを具備してもよい。これにより、クロック信号の立上りからシフトクロック信号の立下りの時点までの間、および、クロック信号の立下りからシフトクロック信号の立下りまでの間だけ出力ドライバがドライブ電流を供給するという作用をもたらす。
【００２０】
また、この第１の側面において、上記制御部は、上記出力端子が接続される経路に複数のデータ出力装置が接続される場合、上記開始時点から上記ドライブ期間を経過するまでの間だけ上記出力ドライバにデータを入力するとともに、上記データ出力期間を経過したときに上記ラッチ部に電流の供給を停止させ、上記経路に接続されるデータ出力装置が１台の場合、上記データ出力期間の間だけ上記出力ドライバにデータを入力するとともに上記ラッチ部を無効にしてもよい。これにより、経路に接続されるデータ出力装置が１台の場合、ラッチ部が無効になる。
【００２１】
また、本発明の第２の側面は、入出力端子と、データが入力されている間だけ上記データの値に応じた電位を上記入出力端子に印加することにより絶対値が所定値となる電流を上記入出力端子に供給する出力ドライバと、抵抗値が上記所定値となる内部抵抗に基づく電流が上記出力端子に供給されたときに上記入出力端子に印加された電位を保持するとともに、保持している上記電位を上記出力端子に印加することにより絶対値が上記所定値より小さい電流を上記出力端子に供給するラッチ部と、上記データに応じた電流を上記入出力端子に供給すべき期間であるデータ出力期間の開始時点から上記データ出力期間より短いドライブ期間を経過するまでの間だけ上記出力ドライバに上記データを入力するとともに、上記データ出力期間を経過したときに上記ラッチ部に上記ラッチ電流の供給を停止させる制御部と上記入出力端子に印加された電位に応じたデータを生成する入力部とを具備するデータ入出力装置である。これにより、データ出力期間の開始時点からドライブ期間を経過するまでの間だけ出力ドライバがデータの値に応じた電位を出力端子に印加することにより電流を供給するとともに、データ出力期間を経過したときにラッチ部がラッチ電流の供給を停止するという作用をもたらす。
【００２２】
また、本発明の第３の側面は、データを記憶し、データの出力が要求されたとき、データ出力装置にデータを出力する記憶素子と、上記記憶素子に上記データの出力を要求する要求部と、出力端子と、入力されたデータの値に応じた電位を上記出力端子に印加することにより絶対値が所定値となるドライバ電流を上記出力端子に供給する出力ドライバと、上記出力端子に印加された電位を保持するとともに、保持している上記電位を上記出力端子に印加することにより絶対値が上記所定値より小さいラッチ電流を上記出力端子に供給するラッチ部と、上記ドライバ電流または上記ラッチ電流を上記出力端子に供給すべき期間であるデータ出力期間の開始時点から上記データ出力期間より短いドライブ期間を経過するまでの間だけ上記出力ドライバに上記記憶素子により出力された上記データを入力するとともに、上記データ出力期間を経過したときに上記ラッチ部に上記ラッチ電流の供給を停止させる制御部とを具備するデータ出力装置とを具備する記憶装置である。これにより、データ出力期間の開始時点からドライブ期間を経過するまでの間だけ出力ドライバがデータの値に応じた電位を出力端子に印加することにより電流を供給するとともに、データ出力期間を経過したときに、ラッチ部がラッチ電流の供給を停止するという作用をもたらす。
【００２３】
また、本発明の第３の側面は、出力端子と、入力されたデータの値に応じた電位を上記出力端子に印加することにより絶対値が所定値となるドライバ電流を上記出力端子に供給する出力ドライバと、上記出力端子に印加された電位を保持するとともに、保持している上記電位を上記出力端子に印加することにより絶対値が上記所定値より小さいラッチ電流を上記出力端子に供給するラッチ部と、上記ドライバ電流または上記ラッチ電流を上記出力端子に供給すべき期間であるデータ出力期間の開始時点から上記データ出力期間より短いドライブ期間を経過するまでの間だけ上記出力ドライバに上記データを入力するとともに、上記データ出力期間を経過したときに上記ラッチ部に上記ラッチ電流の供給を停止させる制御部とを具備する複数のデータ出力装置と、上記複数のデータ出力装置が具備する上記出力端子に接続された経路と、上記経路に印加された電位に応じたデータを生成して処理する処理装置とを具備するデータ処理システムである。これにより、データ出力期間の開始時点からドライブ期間を経過するまでの間だけ出力ドライバがデータの値に応じた電位を出力端子に印加することにより電流を供給するとともに、データ出力期間を経過したときに、ラッチ部がラッチ電流の供給を停止するという作用をもたらす。
【発明の効果】
【００２４】
本発明によれば、複数のメモリを接続するデータバスにおいて、汎用性を確保しつつ、データの衝突を防止することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施の形態におけるデータ処理システムの一構成例を示す全体図である。
【図２】本発明の第１の実施の形態におけるメモリの一構成例を示すブロック図である。
【図３】本発明の第１の実施の形態におけるデータ出力装置の一構成例を示すブロック図である。
【図４】本発明の第１の実施の形態における制御回路の動作の一例を示す真理値表である。
【図５】本発明の第１の実施の形態におけるデータ出力装置の一構成例を示す回路図である。
【図６】本発明の第１の実施の形態における出力ドライバの動作の一例を示す表である。
【図７】本発明の第１の実施の形態におけるデータ出力装置の制御手順の一例を示すフローチャートである。
【図８】本発明の第１の実施の形態におけるデータ出力装置の動作結果の一例を示すタイミングチャートである。
【図９】本発明の第１の実施の形態におけるデータ出力装置の動作結果の一例を示すタイミングチャートである。
【図１０】本発明の第１の実施の形態におけるデータ処理システムの動作結果の一例を示すタイミングチャートである。
【図１１】本発明の第２の実施の形態における制御回路の一構成例を示す回路図である。
【図１２】本発明の第２の実施の形態におけるデータ出力装置の動作結果の一例を示すタイミングチャートである。
【図１３】本発明の第３の実施の形態における制御回路の一構成例を示す回路図である。
【図１４】本発明の第３の実施の形態における制御回路の動作の一例を示す真理値表である。
【図１５】本発明の第３の実施の形態におけるデータ出力装置の制御手順の一例を示すフローチャートである。
【図１６】本発明の第３の実施の形態におけるデータ出力装置の動作結果の一例を示すタイミングチャートである。
【図１７】本発明の第４の実施の形態におけるデータ入出力装置の一構成例を示すブロック図である。
【図１８】本発明の第５の実施の形態における制御回路の一構成例を示す回路図である。
【図１９】本発明の第５の実施の形態におけるデータ出力装置の制御手順の一例を示すフローチャートである。
【図２０】本発明の第５の実施の形態におけるデータ出力装置の動作結果の一例を示すタイミングチャートである。
【図２１】本発明の第５の実施の形態におけるデータ処理システムの動作結果の一例を示すタイミングチャートである。
【図２２】本発明の第５の実施の形態における制御回路の変形例を示す回路図である。
【図２３】本発明の第１の実施の形態におけるデータ出力回路の変形例を示す回路図である。
【図２４】本発明の第１の実施の形態におけるデータ処理システムの変形例を示す全体図である。
【発明を実施するための形態】
【００２６】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（データ出力装置の制御：クロック信号を使用する例）
２．第２の実施の形態（データ出力装置の制御：クロック信号を使用しない例）
３．第３の実施の形態（データ出力装置の制御：ラッチ期間を短くする例）
４．第４の実施の形態（データ入出力装置の制御：データの入出力を行う例）
５．第５の実施の形態（データ出力装置の制御：ＤＤＲ方式の例）
６．変形例
【００２７】
＜１．第１の実施の形態＞
［データ処理システムの構成例］
図１は、本発明の第１の実施の形態におけるデータ処理システムの一構成例を示す全体図である。このデータ処理システムは、複数のメモリ１００、プロセッサ２００、データバス３００、および、信号線４０１乃至４０６を備える。メモリ１００およびプロセッサ２００は、データ処理システム内において平面的に実装されており、また、これらは、データバス３００に接続されている。
【００２８】
メモリ１００は、データを記憶し、プロセッサ２００の制御に従って記憶しているデータを出力するものである。メモリ１００は、信号線４０１乃至４０３によりデータバス３００に接続されている。そして、メモリ１００は、外部クロック信号ＣＬＫに同期して動作する。
【００２９】
信号線４０１は、メモリ１００に入力されるリードコマンドＣＭＤおよびリードアドレスＡＤＲを伝送するものである。信号線４０２は、メモリ１００に入力されるモード信号ＭＯＤＥを伝送するものである。信号線４０３は、メモリ１００から出力されたデータＤＡＴＡを伝送するものである。ここで、リードコマンドＣＭＤは、データの読出しを指示する信号である。モード信号ＭＯＤＥは、プロセッサ２００が複数のメモリから連続的にデータを読み出すか否かを示す信号である。例えば、プロセッサ２００が複数のメモリから連続的にデータを読み出す場合に、モード信号ＭＯＤＥは「Ｈ」（ハイ）状態に設定され、そうでない場合に「Ｌ」（ロー）状態に設定される。データＤＡＴＡは、メモリ１００が記憶しているデータである。
【００３０】
メモリ１００は、信号線４０１および４０２を介して、プロセッサ２００から出力されたリードコマンドＣＭＤ、リードアドレスＡＤＲ、および、モード信号ＭＯＤＥを受け取る。メモリ１００は、このリード命令信号が「Ｈ」状態であれば、リードアドレスに対応する記憶素子からデータを取り出す。メモリ１００は、そのデータを、信号線４０３を介してプロセッサ２００へ出力する。ここで、メモリ１００は、モード信号の値に応じてデータを出力する動作を変更する。モード信号に基づくメモリ１００の動作の詳細については、図４を参照して後述する。
【００３１】
プロセッサ２００は、メモリ１００からデータを受け取り、受け取ったデータを処理するものである。プロセッサ２００は、信号線４０４乃至４０６によりデータバス３００に接続される。プロセッサ２００は、処理部２１０およびデータ入力装置２２０を備える。
【００３２】
信号線４０４は、プロセッサ２００から出力されたリードコマンドＣＭＤおよびリードアドレスＡＤＲを伝送するものである。信号線４０５は、プロセッサ２００から出力されたモード信号ＭＯＤＥを伝送するものである。信号線４０６は、プロセッサ２００に入力されるデータＤＡＴＡを伝送するものである。
【００３３】
処理部２１０は、リードコマンドＣＭＤ、リードアドレスＡＤＲ、および、モード信号ＭＯＤＥを生成するとともに、入力されたデータＤＡＴＡを処理するものである。データ入力装置２２０は、メモリ１００から受け取ったデータを処理部２１０に入力するものである。データをメモリ１００から読み出す場合、処理部２１０は、まず、リードコマンド、リードアドレス、および、モード信号を生成する。処理部２１０は、信号線４０４を介してリードコマンドおよびリードアドレスをメモリ１００へ出力する。また、プロセッサ２００は、信号線４０５を介してモード信号をメモリ１００へ出力する。データ入力装置２２０は、信号線４０６を介してメモリ１００からのデータを受け取り、処理部２１０に入力する。処理部２１０は、入力されたデータを処理する。
【００３４】
データバス３００は、複数のメモリ１００およびプロセッサ２００が、リードコマンドＣＭＤ、リードアドレスＡＤＲ、モード信号ＭＯＤＥ、および、データＤＡＴＡを授受する共通の経路である。
【００３５】
なお、上述の実施の形態のプロセッサ２００は、特許請求の範囲に記載の処理装置の一例である。上述の実施の形態のデータバス３００は、特許請求の範囲に記載の経路の一例である。
【００３６】
図２は、本発明の第１の実施の形態におけるメモリ１００の一構成例を示すブロック図である。メモリ１００は、内部クロック生成部１０４、デコーダ１０５、メモリセルアレイ１０６、および、データ出力装置１１０を備える。
【００３７】
内部クロック生成部１０４は、内部クロック信号ＲＤＣＬＫを生成するものである。内部クロック信号は、メモリ１００内部のデバイスが同期するための信号である。内部クロック生成部１０４は、外部クロック信号ＣＬＫから、その外部クロック信号に対して位相がわずかに遅延した内部クロック信号を生成する。内部クロック生成部１０４は、生成した内部クロック信号を、デコーダ１０５、メモリセルアレイ１０６、およびデータ出力装置１１０に入力する。
【００３８】
デコーダ１０５は、リードコマンドＣＭＤおよびリードアドレスＡＤＲを復号するものである。デコーダ１０５には、信号線４０１を介してプロセッサ２００によりリードコマンドおよびリードアドレスが入力される。デコーダ１０５は、リードコマンドを復号して、リード命令信号ＲＤを生成する。リード命令信号は、データに基づく電流をデータ出力装置１１０がデータバス３００に供給すべき期間（以下、「データ出力期間」と称する。）だけ「Ｈ」状態とされる信号である。データ出力期間は、プロセッサ２００がデータを受け取るのに充分な期間が設定される。デコーダ１０５は、リード命令信号をデータ出力装置１１０に出力する。また、デコーダ１０５は、リードアドレスに基づいてそのリードアドレスに対応する記憶素子にデータの出力を要求する。具体的には、デコーダ１０５は、リードアドレスから行アドレスおよび列アドレスを取得する。そして、デコーダ１０５は、行アドレスを指定するＲＡＳ（Row Address Strobe）信号、および、列アドレスを指定するＣＡＳ（Column Address Strobe）信号を生成してメモリセルアレイ１０６に出力する。
【００３９】
メモリセルアレイ１０６は、複数のデータを記憶するものである。メモリセルアレイ１０６は、複数のメモリセルにより構成され、各メモリセルには、アドレスが割り当てられている。それぞれのメモリセルはデータを記憶することができる。メモリセルアレイ１０６は、デコーダ１０５から出力されたＲＡＳおよびＣＡＳに対応するメモリセルに記憶しているデータをデータ出力装置１１０へ出力する。
【００４０】
データ出力装置１１０は、メモリセルアレイ１０６により出力されたデータを、信号線４０３を介してデータバス３００へ出力するものである。データ出力装置１１０には、メモリセルアレイ１０６からのデータと、デコーダ１０５からのリード命令信号とが入力される。また、データ出力装置１１０には、信号線４０２を介してプロセッサ２００からのモード信号ＭＯＤＥが入力される。データ出力装置１１０は、モード信号に基づく動作により、リード命令信号のオン期間の間、データを信号線４０３へ出力する。
【００４１】
なお、上述の実施の形態のデコーダ１０５は、特許請求の範囲に記載の要求部の一例である。上述の実施の形態のメモリセルは、特許請求の範囲に記載の記憶素子の一例である。
【００４２】
図３は、本発明の第１の実施の形態におけるデータ出力装置１１０の一構成例を示すブロック図である。データ出力装置１１０は、制御回路１２０、出力ドライバ１７０、ラッチ回路１８０、および、出力端子１９０を備える。また、制御回路１２０と出力ドライバ１７０とは、信号線Ｃ１およびＣ２により接続されている。制御回路１２０とラッチ回路１８０とは信号線Ｌ１により接続されている。
【００４３】
制御回路１２０は、出力ドライバ１７０およびラッチ回路１８０を制御するものである。制御回路１２０には、データＤＡＴＡと、リード命令信号ＲＤと、内部クロック信号ＲＤＣＬＫと、モード信号ＭＯＤＥとが入力される。制御回路１２０は、入力された信号に基づいてドライバ制御信号ＤＣｔｌと、ラッチイネーブル信号ＬＥＮとを生成する。制御回路１２０の動作の詳細については、図４を参照して後述する。
【００４４】
ドライバ制御信号は、出力ドライバ１７０の状態を制御する信号である。出力ドライバ１７０は、有効または無効の状態をとる。有効の状態とは、「Ｈ」状態および「Ｌ」状態のうち、いずれかの状態をとることをいう。無効の状態は、ハイインピーダンス（Ｈｉ−Ｚ）状態とも呼ばれる。出力ドライバ制御信号は、「Ｈ」状態、「Ｌ」状態、および、ハイインピーダンス状態の中のいずれかを２ビットの情報により指定する。この２ビットの情報は、信号線Ｃ１を伝送する１ビットの情報と、信号線Ｃ２を伝送する１ビットの情報とにより構成される。ここで、「Ｈ」状態とは、出力ドライバ１７０が「Ｌ」状態よりも高い電位を出力端子１９０に印加する状態である。「Ｌ」状態とは、出力ドライバ１７０が「Ｈ」状態よりも低い電位を出力端子１９０に印加する状態である。例えば、「Ｈ」状態における電位は、出力ドライバ１７０の電源レベルの電位であり、「Ｌ」状態における電位は、出力ドライバ１７０のグランドレベルの電位である。ハイインピーダンス状態とは、出力ドライバ１７０が出力端子１９０に電位を印加しない状態である。
【００４５】
制御回路１２０が出力ドライバ１７０を「Ｈ」状態または「Ｌ」状態に制御する場合、ドライバ制御信号は、データの値に対応する信号となる。言い換えれば、制御回路１２０は、出力ドライバ１７０を有効の状態にしている間、出力ドライバ１７０に対してデータを入力することになる。
【００４６】
ラッチイネーブル信号ＬＥＮは、ラッチ回路１８０を制御する信号である。ラッチ回路１８０は、ラッチイネーブル信号により有効または無効の状態に制御される。これらの状態におけるラッチ回路１８０の動作の詳細については、後述する。ラッチイネーブル信号は、例えば、ラッチ回路１８０を有効の状態にする場合に「Ｈ」状態に設定され、ラッチ回路１８０を無効の状態にする場合に「Ｌ」状態に設定される。
【００４７】
モード信号が「Ｈ」状態の場合における制御回路１２０の動作について説明する。この場合、制御回路１２０は、リード命令信号が「Ｈ」状態になってから、データ出力期間より短い一定の期間だけ出力ドライバ１７０を有効の状態にするドライバ制御信号を生成する。以下、出力ドライバを有効の状態にする期間を「ドライブ期間」と称する。例えば、内部クロック信号が「Ｈ」状態である期間をドライブ期間とする。リード命令信号または内部クロック信号が「Ｌ」状態の間、すなわちドライブ期間以外の期間、制御回路１２０は、出力ドライバ１７０を無効の状態、すなわちハイインピーダンス状態にするドライバ制御信号を生成する。また、リード命令信号が「Ｈ」状態の間は、制御回路１２０は、ラッチ回路１８０を有効の状態にするラッチイネーブル信号を生成する。リード命令信号が「Ｌ」状態の間は、制御回路１２０は、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する。
【００４８】
次に、モード信号が「Ｌ」状態の場合における制御回路１２０の動作について説明する。この場合、制御回路１２０は、リード命令信号が「Ｈ」状態であるならば、出力ドライバ１７０を有効の状態にするドライバ制御信号を生成する。この結果、データ出力期間がドライブ期間となる。一方、リード命令信号が「Ｌ」状態であるならば、制御回路１２０は、出力ドライバ１７０をハイインピーダンス状態にするドライバ制御信号を生成する。また、制御回路１２０は、リード命令信号、内部クロック信号、および、データのそれぞれの値にかかわらず、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する。
【００４９】
ラッチ回路１８０は、出力端子１９０に印加された電位を保持するとともに、保持している電位を出力端子１９０に印加するものである。ラッチ回路１８０は、ラッチイネーブル信号に従って有効または無効の状態をとる。
【００５０】
ラッチ回路１８０の有効の状態とは、ラッチ回路１８０が出力端子１９０に印加された電位を保持し、保持している電位を出力端子１９０に印加する状態である。ここで、ラッチ回路１８０が電位を印加することにより出力端子１９０に供給される電流は、出力ドライバ１７０が電位を印加することにより出力端子１９０に供給される電流と比較して微弱であるものとする。以下、出力ドライバ１７０が供給する電流を「ドライバ電流」と称し、ラッチ回路１８０が供給する電流を「ラッチ電流」と称する。より具体的には、出力ドライバ１７０およびラッチ回路１８０が「Ｈ」レベルまたは「Ｌ」レベルの電位を印加することにより、印加する電位の値に応じて、一定の範囲内の値のドライバ電流またはラッチ電流が供給される。ラッチ電流が微弱とは、ラッチ電流の範囲が、ドライバ電流の範囲よりも遥かに狭いことを意味する。言い換えれば、ラッチ電流の絶対値は、ドライバ電流の絶対値より小さい。このため、出力ドライバ１７０が電位を印加している間は、ラッチ回路１８０が電位を印加しても、ドライバ電流が優先して出力端子１９０に供給される。また、ドライバ電流は、ラッチ回路１８０の保持する電位の値を反転させるのに必要な駆動電流以上であるものとする。このため、出力ドライバ１７０が出力端子１９０に電位を印加すると、ラッチ回路１８０は、出力端子１９０に印加された電位により、保持している電位を更新する。同じメモリ内の出力ドライバのみならず、他のメモリ内の出力ドライバが出力端子１９０に電位を印加したときも、ラッチ回路１８０は、保持している電位を更新する。
【００５１】
一方、ラッチ回路１８０の無効の状態とは、ラッチ回路１８０が、出力端子１９０の電位の保持および更新と、出力端子１９０への電位の印加とを停止する状態である。
【００５２】
出力端子１９０は、信号線４０３を介してデータバス３００に接続される端子である。
【００５３】
なお、上述の実施の形態の制御回路１２０は、特許請求の範囲に記載の制御部の一例である。上述の実施の形態のラッチ回路１８０は、特許請求の範囲に記載のラッチ部の一例である。
【００５４】
図４は、本発明の第１の実施の形態における制御回路１２０の動作の一例を示す真理値表である。まず、モード信号が「Ｈ」の状態において生成されるドライバ制御信号ＤＣｔｌについて説明する。この状態においてリード命令信号が「Ｌ」状態の場合、制御回路１２０は、内部クロック信号およびデータの値にかかわらず、出力ドライバ１７０をハイインピーダンス状態にするドライバ制御信号を生成する。リード命令信号および内部クロック信号が「Ｈ」状態の場合、データの値が「１」であれば、制御回路１２０は、出力ドライバ１７０を「Ｈ」状態にするドライバ制御信号を生成する。また、リード命令信号および内部クロック信号が「Ｈ」状態の場合、データの値が「０」であれば、制御回路１２０は、出力ドライバ１７０を「Ｌ」状態にするドライバ制御信号を生成する。リード命令信号が「Ｈ」状態かつ内部クロック信号が「Ｌ」状態の場合、データの値にかかわらず、制御回路１２０は、出力ドライバ１７０をハイインピーダンス状態にするドライバ制御信号を生成する。
【００５５】
次に、モード信号が「Ｈ」状態において生成されるラッチイネーブル信号について説明する。この状態においてリード命令信号が「Ｌ」状態の場合、制御回路１２０は、内部クロック信号およびデータの値にかかわらず、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する。一方、リード命令信号が「Ｈ」状態の場合、制御回路１２０は、内部クロック信号およびデータの値にかかわらず、ラッチ回路１８０を有効の状態にするラッチイネーブル信号を生成する。
【００５６】
このように、モード信号が「Ｈ」状態の場合において、リード命令信号および内部クロック信号が「Ｈ」状態であれば、制御回路１２０は、出力ドライバ１７０を有効の状態にする。そうでなければ、制御回路１２０は、出力ドライバ１７０を無効の状態、すなわちハイインピーダンス状態に制御する。ここで、前述したように、リード命令信号は内部クロック信号に同期して出力される。また、リード命令信号のオン期間（すなわち、データ出力期間）は、クロック信号のオン期間（すなわち、ドライブ期間）より長く設定されている。従って、データ出力期間の開始時点から、その期間より短いドライブ期間が経過するまでの間だけ、出力ドライバ１７０は有効の状態になる。一方、ラッチ回路１８０は、データ出力期間の間、有効の状態になるように制御される。
【００５７】
まとめると、データ出力期間の開始時点からドライブ期間が経過するまでの間だけ出力ドライバ１７０は出力端子１９０にデータの値に応じた電位を印加する。ドライブ期間を経過してからデータ出力期間が経過するまでの間は、ラッチ回路１８０が出力ドライバ１７０に代わって電位を印加することになる。この結果、データ出力期間の間、データに基づくドライバ電流またはラッチ電流が出力端子１９０に供給される。言い換えれば、データ出力期間にわたって、出力端子１９０からデータが出力される。
【００５８】
続いて、モード信号が「Ｌ」の状態において生成されるドライバ制御信号およびラッチイネーブル信号について説明する。この状態においてリード命令信号が「Ｌ」状態の場合、制御回路１２０は、内部クロック信号およびデータの値にかかわらず、出力ドライバ１７０をハイインピーダンス状態にするドライバ制御信号を生成する。リード命令信号が「Ｈ」状態の場合にデータの値が「１」であれば、制御回路１２０は、出力ドライバ１７０を「Ｈ」状態にするドライバ制御信号を生成する。また、リード命令信号が「Ｈ」状態の場合にデータの値が「０」であれば、制御回路１２０は、出力ドライバ１７０を「Ｌ」状態にするドライバ制御信号を生成する。一方、制御回路１２０は、リード命令信号、内部クロック信号、および、データの値にかかわらず、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する。
【００５９】
このように、モード信号が「Ｌ」状態の場合において、制御回路１２０は、リード命令信号がオンの期間だけ、出力ドライバ１７０を有効の状態にするとともにラッチ回路１８０を無効の状態にする。従って、データ出力期間の間、出力ドライバ１７０によりドライバ電流が供給され、ラッチ電流は供給されない。
【００６０】
図５は、本発明の第１の実施の形態におけるデータ出力装置１１０の一構成例を示す回路図である。データ出力装置１１０は、制御回路１２０、出力ドライバ１７０、ラッチ回路１８０、および、出力端子１９０を備える。
【００６１】
制御回路１２０は、インバータ１２１および１２５、ＮＡＮＤゲート１２２および１２６、ＡＮＤゲート１２３および１２４、ＮＯＲゲート１２７を備える。
【００６２】
インバータ１２１は、入力値を反転して出力するものである。インバータ１２１の入力端子には、内部クロック信号ＲＤＣＬＫが入力される。インバータ１２１は、その内部クロック信号の値を反転してＮＡＮＤゲート１２２へ出力する。
【００６３】
ＮＡＮＤゲート１２２は、入力値の否定論理積を出力するものである。ＮＡＮＤゲート１２２は、入力端子を２つ備える。ＮＡＮＤゲート１２２の一方の入力端子にはインバータ１２１から出力された信号が入力され、他方の入力端子にはモード信号ＭＯＤＥが入力される。ＮＡＮＤゲート１２２は、これらの信号の値の否定論理積をＡＮＤゲート１２３へ出力する。
【００６４】
ＡＮＤゲート１２３は、入力値の論理積を出力するものである。ＡＮＤゲート１２３は、入力端子を２つ備える。ＡＮＤゲート１２３の一方の入力端子には、リード命令信号ＲＤが入力され、他方の入力端子にはＮＡＮＤゲート１２２から出力された信号が入力される。ＡＮＤゲート１２３は、これらの信号の値の論理積をインバータ１２５およびＮＡＮＤゲート１２６へ出力する。
【００６５】
上述の構成により、ＡＮＤゲート１２３は、リード命令信号、内部クロック信号、および、モード信号が全て「Ｈ」状態である場合に「Ｈ」状態、そうでない場合に「Ｌ」状態となる信号を生成する。図４を参照して前述したように、リード命令信号、内部クロック信号、および、モード信号が全て「Ｈ」状態である場合、出力ドライバ１７０は、データの値に応じて「Ｈ」状態または「Ｌ」状態をとる必要がある。また、リード命令信号、内部クロック信号、または、モード信号が「Ｌ」状態である場合、出力ドライバ１７０は、ハイインピーダンス状態をとる必要がある。このことから、ＡＮＤゲート１２３が生成する信号は、出力ドライバ１７０を有効または無効の状態に制御する信号である。以下、ＡＮＤゲート１２３が出力する信号を出力ドライバイネーブル信号ＯＥＮと称する。
【００６６】
インバータ１２５は、入力値を反転して出力するものである。インバータ１２５の入力端子には、ＡＮＤゲート１２３から出力された信号が入力される。インバータ１２５は、入力された信号の値を反転してＮＯＲゲート１２７へ出力する。
【００６７】
ＮＡＮＤゲート１２６は、入力値の否定論理積を出力するものである。ＮＡＮＤゲート１２６は、入力端子を２つ備える。ＮＡＮＤゲート１２６の一方の入力端子には、データが入力され、他方の入力端子には、ＡＮＤゲート１２３から出力された信号が入力される。ＮＡＮＤゲート１２６は、これらの信号の値の否定論理積を、信号線Ｃ１を介して出力ドライバ１７０へ出力する。
【００６８】
ＮＯＲゲート１２７は、入力値の否定論理和を出力するものである。ＮＯＲゲート１２７は、入力端子を２つ備える。ＮＯＲゲート１２７の一方の入力端子にはデータが入力され、他方の入力端子にはインバータ１２５から出力された信号が入力される。ＮＯＲゲート１２７は、これらの信号の値の否定論理和を、信号線Ｃ２を介して出力ドライバ１７０へ出力する。
【００６９】
上述の構成により、出力ドライバイネーブル信号が「Ｌ」状態である場合、信号線Ｃ１を伝送する信号は「Ｈ」状態、信号線Ｃ２を伝送する信号は「Ｌ」状態となる。これらの信号は、出力ドライバ１７０をハイインピーダンス状態に制御するドライバ制御信号を構成する。出力ドライバイネーブル信号およびデータが「Ｈ」状態である場合、信号線Ｃ１およびＣ２を伝送する信号はいずれも「Ｌ」状態となる。これらの信号は、出力ドライバ１７０を「Ｈ」状態に制御するドライバ制御信号を構成する。出力ドライバイネーブル信号が「Ｈ」状態であり、データが「Ｌ」状態である場合、信号線Ｃ１およびＣ２を伝送する信号はいずれも「Ｈ」状態となる。これらの信号は、出力ドライバ１７０を「Ｌ」状態に制御するドライバ制御信号を構成する。
【００７０】
ＡＮＤゲート１２４は、入力値の論理積を出力するものである。ＡＮＤゲート１２４は、入力端子を２つ備える。ＡＮＤゲートの一方の入力端子にはモード信号が入力され、他方の入力端子にはリード命令信号が入力される。ＡＮＤゲート１２４は、これらの信号の値の論理積を、信号線Ｌ１を介してラッチ回路１８０へ出力する。
【００７１】
上述の構成により、ＡＮＤゲート１２４は、モード信号およびリード命令信号が「Ｈ」状態の場合に「Ｈ」状態となり、そうでない場合に「Ｌ」状態となるラッチイネーブル信号ＬＥＮを生成する。
【００７２】
出力ドライバ１７０は、ｐＭＯＳ（positive channel Metal Oxide Semiconductor）１７１およびｎＭＯＳ（negative channel Metal Oxide Semiconductor）１７２を備える。
【００７３】
ｐＭＯＳ１７１およびｎＭＯＳ１７２は、ゲート電圧に応じて、出力端子１９０への電流の供給を制御するものである。ｐＭＯＳ１７１およびｎＭＯＳ１７２は、いずれもゲート端子、ソース端子、および、ドレイン端子を備える。ｐＭＯＳ１７１において、ソース端子は電源に接続され、ゲート端子は信号線Ｃ１に接続され、ソース端子は出力端子１９０に接続されている。ｎＭＯＳ１７２において、ソース端子はグランドに接続され、ゲート端子は信号線Ｃ２に接続され、ドレイン端子は出力端子１９０に接続されている。信号線Ｃ１を伝送する信号が「Ｌ」状態であれば、ｐＭＯＳ１７１はオン状態となる。この結果、電源レベルの電位が出力端子１９０に印加される。信号線Ｃ１を伝送する信号が「Ｈ」状態であれば、ｐＭＯＳ１７１はオフ状態となる。また、信号線Ｃ２を伝送する信号が「Ｈ」状態であれば、ｎＭＯＳ１７２はオン状態となる。この結果、グラントの電位が出力端子１９０に印加される。信号線Ｃ２を伝送する信号が「Ｌ」状態であれば、ｎＭＯＳ１７２はオフ状態となる。
【００７４】
図６は、本発明の第１の実施の形態における出力ドライバ１７０の動作の一例を示す表である。信号線Ｃ１を伝送する信号が「Ｈ」状態であり、信号線Ｃ２を伝送する信号が「Ｌ」状態である場合、ｐＭＯＳ１７１およびｎＭＯＳ１７２はいずれもオフ状態となる。この結果、出力端子１９０には電位が印加されなくなる。この状態が、出力ドライバ１７０のハイインピーダンス状態に相当する。信号線Ｃ１および信号線Ｃ２を伝送する信号がいずれも「Ｌ」状態である場合、電源側のｐＭＯＳ１７１はオン状態となり、ｎＭＯＳ１７２はオフ状態となる。この結果、出力端子１９０には、電源レベルの電位が印加される。この状態が、出力ドライバ１７０の「Ｈ」状態に相当する。信号線Ｃ１および信号線Ｃ２を伝送する信号がいずれも「Ｈ」状態である場合、ｐＭＯＳ１７１はオフ状態となり、グランド側のｎＭＯＳ１７２はオン状態となる。この結果、出力端子１９０には、グランドレベルの電位が印加される。この状態が、出力ドライバ１７０の「Ｌ」状態に相当する。
【００７５】
図５に戻り、ラッチ回路１８０は、インバータ１８１および１８２を備える。インバータ１８１および１８２は、入力値を反転して出力するものである。インバータ１８１は、ゲート端子、入力端子、および、出力端子を備える。インバータ１８１のゲート端子は信号線Ｌ１に接続されている。信号線Ｌ１を伝送するラッチイネーブル信号が「Ｈ」状態の場合、インバータ１８１は、インバータ１８１から出力された信号の値を反転して出力端子１９０およびインバータ１８２へ出力する。インバータ１８２の入力端子は、インバータ１８１および出力端子１９０に接続されている。インバータ１８２は、入力された信号の値を反転してインバータ１８１へ出力する。ここで、インバータ１８１が出力する電流（すなわち、ラッチ電流）は、ドライバ電流と比較して微弱であるものとする。また、インバータ１８２を反転させるのに必要な駆動電流は、ドライバ電流以下の値とする。
【００７６】
上述のラッチ回路１８０の構成により、インバータ１８１および１８２は、出力ドライバ１７０が出力端子１９０に印加した電位を保持し、保持した電位を出力端子１９０に印加する。
【００７７】
このように、制御回路１２０は、データ出力期間の開始時点から内部クロック信号のオン期間（すなわち、ドライブ期間）が経過するまでの間、出力ドライバ１７０を有効の状態にする。また、データ出力期間の間だけ、ラッチ回路１８０を有効の状態にする。出力ドライバ１７０は、有効の状態において、出力端子１９０にデータの値に応じた電位を印加し、無効の状態にいて電位を印加しない。ラッチ回路１８０は、出力ドライバ１７０により印加された電位を保持し、保持している電位を出力端子１９０に印加する。この構成によれば、データ出力期間の開始時点から、その期間より短いドライブ期間だけ、出力ドライバ１７０が出力端子１９０に電位を印加する。一方、ラッチ回路１８０は、データ出力期間の間だけ有効の状態となる。このため、出力ドライバ１７０が無効の状態となった後もデータ出力期間が経過するまでは、ラッチ回路１８０が出力ドライバ１７０に代わって出力端子１９０に電位を引加する。
【００７８】
［データ出力装置の動作］
次にデータ出力装置１１０の動作について、図７を参照して説明する。図７は、本発明の第１の実施の形態におけるデータ出力装置１１０の制御手順の一例を示すフローチャートである。この制御手順は、「Ｈ」状態のモード信号がデータ出力装置１１０に入力されたときに開始する。
【００７９】
制御回路１２０は、リード命令信号が「Ｈ」状態であるか否かを判断する（ステップＳ９１０）。リード命令信号が「Ｈ」状態である場合（ステップＳ９１０：Ｙｅｓ）、制御回路１２０は、ラッチ回路１８０を有効の状態にするラッチイネーブル信号を生成する（ステップＳ９２０）。また、制御回路１２０は、内部クロック信号が「Ｈ」状態の間、出力ドライバ１７０を有効の状態にするドライバ制御信号を生成する（ステップＳ９３０）。その後、制御回路１２０は、内部クロック信号が「Ｌ」状態になると、出力ドライバ１７０を無効の状態、すなわちハイインピーダンス状態にするドライバ制御信号を生成する（ステップＳ９４０）。ステップＳ９４０の後、制御回路１２０は、ステップＳ９１０に戻る。
【００８０】
リード命令信号が「Ｈ」状態でない場合（ステップＳ９１０：Ｎｏ）、制御回路１２０は、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する（ステップＳ９５０）。ステップＳ９５０の後、制御回路１２０は、ステップＳ９１０に戻る。
【００８１】
続いて、データ出力装置１１０の動作結果について、図８乃至図１０を参照して説明する。図８は、本発明の第１の実施の形態における、モード信号が「Ｈ」状態の場合のデータ出力装置１１０の動作結果の一例を示すタイミングチャートである。
【００８２】
プロセッサ２００はリードコマンドＣＭＤと、「Ｈ」状態のモード信号「ＭＯＤＥ」を生成し、外部クロック信号ＣＬＫに同期してメモリ１００へ出力する。
【００８３】
デコーダ１０５は、リードコマンドを復号してリード命令信号ＲＤを生成し、内部クロック信号に同期してデータ出力装置１１０に入力する。
【００８４】
内部クロック生成部１０４は、外部クロックが遅延した内部クロック信号ＲＤＣＬＫを生成する。
【００８５】
制御回路１２０内部のＡＮＤゲート１２３は、リード命令信号および内部クロック信号が「Ｈ」状態である間、出力ドライバ１７０を有効の状態にする出力ドライバイネーブル信号ＯＥＮを生成する。
【００８６】
制御回路１２０内部のＡＮＤゲート１２４は、リード命令信号のオン期間の間、ラッチ回路１８０を有効の状態にするラッチイネーブル信号ＬＥＮを生成する。
【００８７】
メモリ１００内部のメモリセルアレイ１０６は、内部クロック信号に同期して記憶しているデータを制御回路１２０へ出力する。
【００８８】
出力ドライバ１７０は、出力ドライバイネーブル信号ＯＥＮに従って、リード命令信号および内部クロック信号が「Ｈ」状態である間、有効の状態となる。出力ドライバ１７０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【００８９】
ラッチ回路１８０は、ラッチイネーブル信号ＬＥＮに従って、リード命令信号のオン期間の間、有効の状態になる。ラッチ回路１８０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【００９０】
この結果、データ出力装置１１０は、リード命令信号および内部クロック信号が「Ｈ」状態である間、出力ドライバ１７０による電位の印加によってデータを出力する。内部クロック信号が「Ｌ」状態になってからデータ出力期間が経過するまでの間、データ出力装置１１０は、ラッチ回路１８０による電位の印加によってデータを出力する。
【００９１】
図９は、本発明の第１の実施の形態における、モード信号が「Ｌ」状態の場合のデータ出力装置１１０の動作結果の一例を示すタイミングチャートである。
【００９２】
プロセッサ２００はリードコマンドＣＭＤと、「Ｌ」状態のモード信号「ＭＯＤＥ」を生成し、外部クロック信号ＣＬＫに同期してメモリ１００へ出力する。
【００９３】
デコーダ１０５は、リードコマンドを復号してリード命令信号ＲＤを生成し、内部クロック信号に同期してデータ出力装置１１０に入力する。
【００９４】
内部クロック生成部１０４は、外部クロックが遅延した内部クロック信号ＲＤＣＬＫを生成する。
【００９５】
制御回路１２０内部のＡＮＤゲート１２３は、リード命令信号が「Ｈ」状態である間、出力ドライバ１７０を有効の状態にする出力ドライバイネーブル信号ＯＥＮを生成する。
【００９６】
制御回路１２０内部のＡＮＤゲート１２４は、ラッチ回路１８０を無効の状態にするラッチイネーブル信号ＬＥＮを生成する。
【００９７】
メモリ１００内部のメモリセルアレイ１０６は、内部クロック信号に同期して記憶しているデータを制御回路１２０へ出力する。
【００９８】
出力ドライバ１７０は、出力ドライバイネーブル信号ＯＥＮに従って、リード命令信号が「Ｈ」状態である間、有効の状態となる。出力ドライバ１７０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【００９９】
ラッチ回路１８０は、ラッチイネーブル信号ＬＥＮに従って、無効の状態、すなわちハイインピーダンス状態となる。
【０１００】
この結果、データ出力装置１１０は、リード命令信号が「Ｈ」状態である間、出力ドライバ１７０による電位の引加によってデータを出力する。ラッチ回路１８０は無効の状態をとる。
【０１０１】
図１０は、本発明の第１の実施の形態におけるデータ処理システムの動作結果の一例を示すタイミングチャートである。
【０１０２】
プロセッサ２００は、あるクロックにおいて、メモリ１００のうち「＃１」からデータを読み出し、次にメモリ１００のうち「＃２」からデータを読み出すものとする。そして、メモリ「＃１」からのデータの読み出しが遅延するものとする。
【０１０３】
プロセッサ２００は、メモリ「＃１」および「＃２」から連続的にデータを読み出す前に、「Ｈ」状態のモード信号をメモリ「＃１」および「＃２」へ出力しておく。
【０１０４】
メモリ「＃１」内の制御回路は、図８に例示した手順により、内部クロック信号が「Ｈ」状態である期間だけ、出力ドライバを有効の状態にし、その後はデータ出力期間が経過するまでラッチ回路を有効の状態にする。メモリ「＃２」も同様の動作を行う。
【０１０５】
メモリ「＃１」内の記憶素子からのデータの読み出しが遅延してしまうものの、出力ドライバが有効の状態になる期間が短いため、その期間は、メモリ「＃２」内の出力ドライバが有効の状態になる期間と重ならない。従って、複数の出力ドライバが同時に電位を印加してデータの衝突が生じることが防止される。
【０１０６】
ここで、メモリ「＃１」からのデータの読出しが遅延したため、メモリ「＃１」のラッチ回路が有効の状態となる期間は、メモリ「＃２」内の出力ドライバが有効の状態となる期間と重なる。しかし、前述したように、ラッチ回路の駆動電流は、出力ドライバが供給する電流以下である。このため、重なった期間において、メモリ「＃２」の出力ドライバが印加した電位によりメモリ「＃１」のラッチ回路が保持する電位が更新される。この結果、メモリ「＃１」のラッチ回路が印加する電位は、メモリ「＃２」の出力ドライバが印加した電位と同じとなり、データの衝突は生じない。
【０１０７】
このように、第１の実施の形態によれば、制御回路１２０がデータ出力期間の開始時点から内部クロック信号のオン期間だけ、出力ドライバ１７０を有効の状態にする。また、制御回路１２０は、データ出力期間の間だけ、ラッチ回路１８０を有効の状態にする。出力ドライバ１７０は、データの値に応じた電位を印加して出力端子１９０に電流を供給する。ラッチ回路１８０は、出力端子１９０の電位を保持し、保持している電位を出力端子１９０に印加して出力端子１９０に微弱な電流を供給する。
【０１０８】
この構成によれば、ドライブ期間は、データ出力期間よりも短くなる。このため、プロセッサ２００が複数のメモリ１００から連続してデータを読み出す場合に、複数の出力ドライバがデータバス３００に同時に電位を印加してしまうことを防止することができる。このため、データ出力装置１１０は、データの衝突を防止することができる。また、データ出力期間内は、出力ドライバ１７０が無効の状態となった後もラッチ回路１８０が電位を保持するため、データ出力期間内に渡り、メモリ１００はデータを出力することができる。このため、プロセッサ２００がデータを受け取るマージンを充分に確保することができる。さらに、データ出力期間を経過した後は、ラッチ回路１８０が無効の状態になるため、各メモリのラッチ期間が重なることがない。従って、複数のラッチ回路がデータバス３００の電位を保持し続けることがなくなる。この結果、データバス３００の保持力が強くなりすぎることを防止することができる。
【０１０９】
また、複数のメモリから連続的にデータを読み出さない場合は、プロセッサ２００はモード信号を「Ｌ」状態に設定し、制御回路１２０はラッチ回路１８０を無効の状態にする。このため、プロセッサおよびメモリが１対１でデータを入出力する場合は、ラッチ回路１８０の分、消費電力を抑えることができる。
【０１１０】
なお、第１の実施の形態では、データ出力装置１１０をメモリ１００内部に実装する構成としている。しかし、装置内に複数個が搭載されるデバイスであり、それらが連続的に共通のバスへデータを出力することがある場合、メモリ１００以外のデバイスにデータ出力装置１１０を実装してもよいのは勿論である。例えば、複数のメモリコントローラのそれぞれに、データ出力装置１１０と同様の装置を設けてもよい。
【０１１１】
また、第１の実施の形態では、図５に例示した回路により、制御回路１２０を構成している。しかし、図４に例示した真理値表の動作を実現することができるのであれば、図５に例示した回路以外の回路により制御回路１２０を構成してもよいのは勿論である。
【０１１２】
＜２．第２の実施の形態＞
［データ処理システムの構成例］
次に図１１および図１２を参照して本発明の第２の実施の形態について説明する。第２の実施の形態のデータ出力装置１１１は、内部クロック信号を使用せずに、出力ドライバ１７０を制御している点において、第１の実施の形態のデータ出力装置１１０と異なる。データ出力装置１１１は、制御回路１２０の代わりに制御回路１３０を備える点において、第１の実施の形態のデータ出力装置１１０と異なる。
【０１１３】
図１１は、本発明の第２の実施の形態における制御回路１３０の一構成例を示す回路図である。制御回路１３０には、内部クロック信号が入力されず、データＤＡＴＡ、リード命令信号ＲＤ、および、モード信号ＭＯＤＥが入力される。制御回路１３０は、インバータ１２１およびＮＡＮＤゲート１２２の代わりにＮＡＮＤゲート１３１と、インバータ１３２および１３３とを備える点において第１の実施の形態の制御回路１２０と異なる。
【０１１４】
ＮＡＮＤゲート１３１は、入力値の否定論理積を出力するものである。ＮＡＮＤゲート１３１は入力端子を２つ備える。ＮＡＮＤゲート１３１の一方の入力端子には、リード命令信号ＲＤが入力され、他方の入力端子にはモード信号ＭＯＤＥが入力される。ＮＡＮＤゲート１３１は、これらの信号の値の否定論理積をインバータ１３２へ出力する。
【０１１５】
インバータ１３２および１３３は、入力値を反転して出力するものである。インバータ１３２は、ＮＡＮＤゲート１３１から出力された信号の値を反転してインバータ１３３へ出力する。インバータ１３３は、インバータ１３２から出力された信号の値を反転してＡＮＤゲート１２３へ出力する。
【０１１６】
リード命令信号ＲＤは、ＮＡＮＤゲート１３１と、インバータ１３２および１３３とを通過することにより反転して遅延するため、インバータ１３３から出力される信号を反転遅延リード命令信号ＲＤｄと称する。従って、反転遅延リード命令信号ＲＤｄおよびリード命令信号ＲＤの論理積ＯＥＮは、反転遅延リード命令信号ＲＤｄの遅延時間をオン期間とする信号になる。この遅延時間がデータ出力期間よりも短くなるように、ＮＡＮＤゲート１３１と、インバータ１３２および１３３とが選定される。
【０１１７】
このように、制御回路１３０は、内部クロック信号を使用しなくとも、遅延時間がデータ出力期間より短い反転遅延リード命令信号ＲＤｄを内部生成して使用することにより、ドライブ期間をデータ出力期間より短くすることができる。
【０１１８】
［データ出力装置の動作］
次にデータ出力装置１１１の動作について、図１２を参照して説明する。図１２は、本発明の第２の実施の形態におけるデータ出力装置１１１の動作結果の一例を示すタイミングチャートである。
【０１１９】
プロセッサ２００はリードコマンドＣＭＤと、「Ｈ」状態のモード信号ＭＯＤＥを生成し、外部クロック信号ＣＬＫに同期してメモリ１００へ出力する。
【０１２０】
デコーダ１０５は、リードコマンドを復号してリード命令信号ＲＤを生成し、内部クロック信号に同期してデータ出力装置１１１に入力する。
【０１２１】
内部クロック生成部１０４は、外部クロックが遅延した内部クロック信号ＲＤＣＬＫを生成する。
【０１２２】
ＮＡＮＤゲート１３１と、インバータ１３２および１３３との通過により、反転遅延リード命令信号ＲＤｄは、リード命令信号ＲＤに対して遅延する。
【０１２３】
制御回路１３０内部のＡＮＤゲート１２３は、反転遅延リード命令信号ＲＤｄの遅延時間の間、出力ドライバ１７０を有効の状態にする出力ドライバイネーブル信号ＯＥＮを生成する。
【０１２４】
制御回路１３０内部のＡＮＤゲート１２４は、リード命令信号がオン期間の間、ラッチ回路１８０を有効の状態にするラッチイネーブル信号ＬＥＮを生成する。
【０１２５】
メモリ１００内部のメモリセルアレイ１０６は、内部クロック信号に同期して記憶しているデータを制御回路１３０へ出力する。
【０１２６】
出力ドライバ１７０は、出力ドライバイネーブル信号ＯＥＮに従って、リード命令信号および内部クロック信号が「Ｈ」状態である間、有効の状態となる。出力ドライバ１７０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【０１２７】
ラッチ回路１８０は、ラッチイネーブル信号ＬＥＮに従って、リード命令信号のオン期間の間、有効の状態になる。ラッチ回路１８０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【０１２８】
この結果、データ出力装置１１１は、反転遅延リード命令信号ＲＤｄの遅延時間の間、出力ドライバ１７０による電位の引加によってデータを出力する。内部クロック信号が「Ｌ」状態になってからデータ出力期間が経過するまでの間、データ出力装置１１１は、ラッチ回路１８０による電位の引加によってデータを出力する。
【０１２９】
このように、第１の実施の形態によれば、制御回路１３０は、データ出力期間より短い時間だけリード命令信号に対して遅延する反転遅延リード命令信号ＲＤｄを内部生成し、その遅延時間の間だけ出力ドライバ１７０を有効の状態にする。
【０１３０】
この構成によれば、内部クロック信号を使用しなくとも、データ出力期間より短い期間だけ、出力ドライバ１７０を有効の状態にすることができる。
【０１３１】
＜３．第３の実施の形態＞
［データ処理システムの構成例］
次に図１３乃至図１６を参照して本発明の第３の実施の形態について説明する。第３の実施の形態のデータ出力装置１１２は、出力ドライバ１７０が無効の状態になったときからラッチ回路１８０を有効の状態にする点において、第１の実施の形態のデータ出力装置１１０と異なる。データ出力装置１１２は、制御回路１２０の代わりに制御回路１４０を備える点において、第１の実施の形態のデータ出力装置１１０と異なる。
【０１３２】
図１３は、本発明の第３の実施の形態における制御回路１４０の一構成例を示す回路図である。制御回路１４０は、ＡＮＤゲート１４１をさらに備える点において第１の実施の形態の制御回路１２０と異なる。
【０１３３】
ＡＮＤゲート１４１は、入力値の論理積を出力するものである。ＡＮＤゲート１４１は、入力端子を２つ備える。ＡＮＤゲート１４１の一方の入力端子にはリード命令信号ＲＤが入力され、他方の入力端子にはインバータ１２１から出力された信号が入力される。ＡＮＤゲート１４１は、これらの信号の値の論理積をＡＮＤゲート１２４へ出力する。ＡＮＤゲート１２４は、モード信号ＭＯＤＥおよびＡＮＤゲート１４１から出力された信号の値の論理積をラッチイネーブル信号ＬＥＮとして出力する。
【０１３４】
この構成により、制御回路１４０は、モード信号およびリード命令信号が「Ｈ」状態であり、内部クロック信号が「Ｌ」状態である場合に、ラッチ回路１８０を有効の状態にし、それ以外の場合は無効の状態にする。
【０１３５】
図１４は、本発明の第２の実施の形態における制御回路１４０の動作の一例を示す真理値表である。
【０１３６】
制御回路１４０は、モード信号ＭＯＤＥおよびリード命令信号ＲＤが「Ｈ」状態であり、内部クロック信号ＲＤＣＬＫが「Ｌ」状態である場合に、ラッチ回路１８０を有効の状態にするラッチイネーブル信号ＬＥＮを生成する。それ以外の場合、制御回路１４０は、ラッチ回路１８０を無効の状態にするラッチイネーブル信号ＬＥＮを生成する。
【０１３７】
第１の実施形態では、制御回路１４０は、図４に例示したように、モード信号およびリード命令信号が「Ｈ」状態、すなわちデータ出力期間内であれば、内部クロック信号の値にかかわらず、ラッチ回路１８０を有効の状態にしていた。しかし、第３の実施形態の制御回路１４０は、データ出力期間内であっても、内部クロック信号が「Ｌ」状態にならないとラッチ回路１８０を有効の状態にしない。内部クロック信号が「Ｌ」状態になるときは、出力ドライバ１７０は無効の状態になるときである。つまり、ラッチ回路１８０は、データ出力期間内において出力ドライバ１７０が無効の状態になったときからデータ出力期間が経過するまでの間だけ、有効の状態になる。
【０１３８】
［データ出力装置の動作］
次にデータ出力装置１１２の動作について、図１５を参照して説明する。図１５は、本発明の第３の実施の形態におけるデータ出力装置１１２の制御手順の一例を示すフローチャートである。この制御手順は、「Ｈ」状態のモード信号がデータ出力装置１１２に入力されたときに開始する。
【０１３９】
制御回路１４０は、リード命令信号が「Ｈ」状態であるか否かを判断する（ステップＳ９１０）。リード命令信号が「Ｈ」状態である場合（ステップＳ９１０：Ｙｅｓ）、制御回路１４０は、内部クロック信号が「Ｈ」状態の間、出力ドライバ１７０を有効の状態にするドライバ制御信号を生成する（ステップＳ９２５）。ステップＳ９２５の後、内部クロック信号が「Ｌ」状態になると、制御回路１４０は、出力ドライバ１７０をハイインピーダンス状態にするドライバ制御信号を生成する（ステップＳ９４０）。また、内部クロック信号が「Ｌ」状態になると、制御回路１４０は、ラッチ回路１８０を有効の状態にするラッチイネーブル信号を生成する（ステップＳ９４５）。ステップ９４５の後、制御回路１４０は、ステップＳ９１０に戻る。
【０１４０】
リード命令信号が「Ｈ」状態でない場合（ステップＳ９１０：Ｎｏ）、制御回路１４０は、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する（ステップＳ９５０）。ステップ９５０の後、制御回路１４０は、ステップＳ９１０に戻る。
【０１４１】
続いて、データ出力装置１１２の動作結果について、図１６を参照して説明する。図１６は、本発明の第３の実施の形態における、モード信号が「Ｈ」状態の場合のデータ出力装置１１２の動作結果の一例を示すタイミングチャートである。
【０１４２】
プロセッサ２００はリードコマンドＣＭＤと、「Ｈ」状態のモード信号「ＭＯＤＥ」を生成し、外部クロック信号ＣＬＫに同期してメモリ１００へ出力する。
【０１４３】
デコーダ１０５は、リードコマンドを復号してリード命令信号ＲＤを生成し、内部クロック信号に同期してデータ出力装置１１２に入力する。
【０１４４】
内部クロック生成部１０４は、外部クロックが遅延した内部クロック信号ＲＤＣＬＫを生成する。
【０１４５】
制御回路１４０内部のＡＮＤゲート１２３は、リード命令信号および内部クロック信号が「Ｈ」状態である間、出力ドライバ１７０を有効の状態にする出力ドライバイネーブル信号ＯＥＮを生成する。
【０１４６】
制御回路１４０内部のＡＮＤゲート１２４は、リード命令信号が「Ｈ」状態であり、内部クロック信号が「Ｌ」状態である間、ラッチ回路１８０を有効の状態にするラッチイネーブル信号ＬＥＮを生成する。ここで、出力ドライバ１７０が有効から無効に切り替わるタイミングは、ラッチ回路１８０が無効から有効に切り替わるタイミングよりもわずかに遅延する。これは、図１３に示したように、出力ドライバイネーブル信号が、インバータ１２５、ＮＡＮＤゲート１２６、および、ＮＯＲゲート１２７を経由する必要があるのに対し、ラッチイネーブル信号は、論理ゲートを経由しないためである。したがって、ラッチ回路１８０は、出力ドライバ１７０が無効になる前に、出力ドライバ１７０から印加されている電位を保持することができる。
【０１４７】
メモリ１００内部のメモリセルアレイ１０６は、内部クロック信号に同期して記憶しているデータを制御回路１４０へ出力する。
【０１４８】
出力ドライバ１７０は、出力ドライバイネーブル信号ＯＥＮに従って、リード命令信号および内部クロック信号が「Ｈ」状態である間、有効の状態となる。出力ドライバ１７０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【０１４９】
ラッチ回路１８０は、ラッチイネーブル信号ＬＥＮに従って、内部クロック信号が「Ｌ」状態である場合有効の状態になる。ラッチ回路１８０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【０１５０】
このように、第３の実施の形態によれば、制御回路１４０は、データ出力期間内において出力ドライバ１７０が無効の状態になったときからデータ出力期間が経過するまでの間だけ、ラッチ回路１８０を有効の状態にする。この構成により、ラッチ回路１８０を有効の状態にする期間を最小限に抑え、その分だけラッチ回路１８０の消費電流を抑制することができる。また、ラッチ回路１８０がデータバス３００の電位を保持する期間を最小限にし、データバス３００の保持力を低減することができる。
【０１５１】
＜４．第４の実施の形態＞
［データ処理システムの構成例］
次に図１７を参照して本発明の第４の実施の形態について説明する。第４の実施の形態のメモリ１００は、データ出力装置１１０の代わりにデータ入出力装置１１３を備える点において第１の実施の形態のメモリ１００と異なる。
【０１５２】
図１７は、本発明の第４の実施の形態におけるデータ入出力装置１１３の一構成例を示す回路図である。データ入出力装置１１３は、出力端子１９０の代わりに入出力端子１９１を備え、入力回路１８５をさらに備える点以外は、第１の実施の形態のデータ出力装置１１０と同様の構成である。データ入出力装置１１３には、プロセッサ２００からのライト命令信号ＷＴが入力される。ライト命令信号は、プロセッサ２００がメモリ１００にデータを記憶するように指示する信号である。
【０１５３】
入力回路１８５は、インバータ１８６を備える。インバータ１８６は、入力された信号の値を反転して出力するものである。インバータ１８６は、ゲート端子、入力端子、および、出力端子を備える。インバータ１８６のゲート端子には、ライト命令信号が入力される。ライト命令信号は、プロセッサ２００が生成したライトコマンドをデコーダ１０５が復号して生成した信号である。インバータ１８６の入力端子は入出力端子１９１に接続されている。ライト命令信号が「Ｈ」状態の場合、インバータ１８６は、入出力端子１９１から入力された信号の値を反転して、メモリセルアレイ１０６へ出力する。メモリセルアレイ１０６は、インバータ１８６から出力されたデータの反転値をライトデータとして記憶する。ライト命令信号が「Ｌ」状態の場合、インバータ１８６は、無効の状態となり、メモリセルアレイ１０６へデータを出力しない。
【０１５４】
このように、データ入出力装置１１３は、入力回路１８５を備えることより、記憶素子からのデータの出力に加えて、記憶素子へデータを入力することもできる。
【０１５５】
＜５．第５の実施の形態＞
［データ処理システムの構成例］
次に図１８乃至図２１を参照して本発明の第５の実施の形態について説明する。第５の実施の形態のデータ出力装置１１４は、ＤＤＲ（Double Data Rate）方式を使用する点において第１の実施の形態のデータ出力装置１１０と異なる。
【０１５６】
図１８は、本発明の第５の実施の形態におけるデータ出力装置１１４の一構成例を示す回路図である。データ出力装置１１４は、制御回路１２０の代わりに制御回路１５０を備える点において第１の実施形態のデータ出力装置１１０と異なる。
【０１５７】
制御回路１５０は、インバータ１２１およびＮＡＮＤゲート１２２の代わりに、インバータ１５１乃至１５３と、ＮＡＮＤゲート１５４および１５６と、ＯＲゲート１５５とを備える点において第１の実施の形態の制御回路１２０と異なる。
【０１５８】
インバータ１５１乃至１５３は、入力値を反転して出力するものである。インバータ１５１は内部クロック信号ＲＤＣＬＫの値を反転してインバータ１５２へ出力する。インバータ１５２は、インバータ１５１から出力された信号の値を反転してインバータ１５３へ出力する。インバータ１５３は、インバータ１５２から出力された信号の値を反転してＮＡＮＤゲート１５４およびＯＲゲート１５５へ出力する。
【０１５９】
ＮＡＮＤゲート１５４は、入力値の否定論理積を出力するものである。ＮＡＮＤゲート１５４は、入力端子を２つ備える。ＮＡＮＤゲート１５４の一方の入力端子には内部クロック信号が入力され、他方の入力端子にはインバータ１５３から出力された信号が入力される。ＮＡＮＤゲート１５４は、これらの信号の値の否定論理積をＮＡＮＤゲート１５６へ出力する。
【０１６０】
ＯＲゲート１５５は、入力値の論理和を出力するものである。ＯＲゲート１５５は、入力端子を２つ備える。ＯＲゲート１５５の一方の入力端子には内部クロック信号が入力され、他方の入力端子にはインバータ１５３から出力された信号が入力される。ＯＲゲート１５５は、これらの信号の値の論理和をＮＡＮＤゲート１５６へ出力する。
【０１６１】
ＮＡＮＤゲート１５６は、入力値の否定論理積を出力するものである。ＮＡＮＤゲート１５６は、入力端子を３つ備える。ＮＡＮＤゲート１５６の１つ目の入力端子にはＮＡＮＤゲート１５４から出力された信号が入力され、２つ目の入力端子にはＯＲゲート１５５から出力された信号が入力される。ＮＡＮＤゲート１５６の３つ目の入力端子にはモード信号ＭＯＤＥが入力される。ＮＡＮＤゲート１５６は、これらの信号の値の否定論理積をＡＮＤゲート１２３へ出力する。
【０１６２】
内部クロック信号ＲＤＣＬＫは、インバータ１５１乃至１５３を通過することにより遅延するとともに値が反転する。インバータ１５３から出力された信号を反転遅延内部クロック信号ＲＤＣＬＫｄと称する。反転遅延内部クロック信号は、内部クロック信号を３回反転させた信号である。このため、インバータ１５１乃至１５３の通過による遅延時間は、内部クロック信号の立上りから、反転遅延内部クロック信号の立下りまでの時間である。この遅延時間が、内部クロック信号の半周期よりも短くなるように、インバータ１５１乃至１５３が選定される。
【０１６３】
ＮＡＮＤゲート１５４は、反転遅延内部クロック信号ＲＤＣＬＫｄと内部クロック信号ＲＤＣＬＫとの値の否定論理積により、内部クロック信号の立下りから上述の遅延時間の間だけオフとなる信号を生成する。この信号を立上りトリガー信号rise_ＯＥＮ_trigと称する。
【０１６４】
ＯＲゲート１５５は、反転遅延内部クロック信号ＲＤＣＬＫｄと内部クロック信号ＲＤＣＬＫとの値の論理和により、内部クロック信号の立下りから上述の遅延時間の間だけオフとなる信号を生成する。この信号を立下りトリガー信号fall_ＯＥＮ_trigと称する。
【０１６５】
ＮＡＮＤゲート１５６は、立上りトリガー信号rise_ＯＥＮ_trigと立下りトリガー信号fall_ＯＥＮ_trigと、モード信号との値の否定論理積を出力する。ＮＡＮＤゲート１５６から出力された信号は、モード信号が「Ｈ」の状態の場合、内部クロック信号の立上りから遅延時間が経過するまでと、内部クロック信号の立下りから遅延時間が経過するまでとの間だけオンとなる。モード信号が「Ｌ」の状態の場合、ＮＡＮＤゲート１５６から出力される信号はオフとなる。この信号を出力イネーブルトリガ信号ＯＥＮ_trigと称する。
【０１６６】
ＡＮＤゲート１２３は、出力イネーブルトリガ信号ＯＥＮ_trigと、リード命令信号「ＲＤ」との値の論理積を出力ドライバイネーブル信号ＯＥＮとして出力する。モード信号が「Ｈ」状態において、この出力ドライバイネーブル信号は、データ出力期間のうち、内部クロック信号の立上りから遅延時間が経過するまでと、内部クロック信号の立下りから遅延時間が経過するまでとの間だけオンとなる信号である。一方、モード信号が「Ｌ」状態において、出力ドライバイネーブル信号は、データ出力期間に渡ってオンとなる。
【０１６７】
［データ出力装置の動作］
次にデータ出力装置１１４の動作について、図１９乃至２１を参照して説明する。図１９は、本発明の第５の実施の形態におけるデータ出力装置１１４の制御手順の一例を示すフローチャートである。この制御手順は、「Ｈ」状態のモード信号がデータ出力装置１１４に入力されたときに開始する。
【０１６８】
制御回路１５０は、リード命令信号が「Ｈ」状態であるか否かを判断する（ステップＳ９１０）。リード命令信号が「Ｈ」状態である場合（ステップＳ９１０：Ｙｅｓ）、制御回路１５０は、ラッチ回路１８０を有効の状態にするラッチイネーブル信号を生成する（ステップＳ９２０）。また、制御回路１５０は、内部クロック信号の立上りから遅延時間の間、出力ドライバ１７０を有効の状態にするドライバ制御信号を生成する（ステップＳ９４１）。その後、制御回路１５０は、出力ドライバ１７０を無効の状態、すなわちハイインピーダンス状態にするドライバ制御信号を生成する（ステップＳ９４２）。制御回路１５０は、内部クロック信号の立下りから遅延時間の間、出力ドライバ１７０を有効の状態にするドライバ制御信号を生成する（ステップＳ９４３）。その後、制御回路１５０は、出力ドライバ１７０をハイインピーダンス状態にするドライバ制御信号を生成する（ステップＳ９４４）。
【０１６９】
リード命令信号が「Ｈ」状態でない場合（ステップＳ９１０：Ｙｅｓ）、制御回路１５０は、ラッチ回路１８０を無効の状態にするラッチイネーブル信号を生成する（ステップＳ９５０）。
【０１７０】
ステップＳ９４３またはＳ９５０の後、制御回路１５０は、ステップＳ９１０に戻る。
【０１７１】
続いて、データ出力装置１１４の動作結果について、図２０および図２１を参照して説明する。図２０は、本発明の第５の実施の形態における、モード信号が「Ｈ」状態の場合のデータ出力装置１１４の動作結果の一例を示すタイミングチャートである。
【０１７２】
プロセッサ２００はリードコマンドＣＭＤと、「Ｈ」状態のモード信号ＭＯＤＥを生成し、外部クロック信号ＣＬＫに同期してメモリ１００へ出力する。
【０１７３】
デコーダ１０５は、リードコマンドを復号してリード命令信号ＲＤを生成し、内部クロック信号に同期してデータ出力装置１１４に入力する。
【０１７４】
内部クロック生成部１０４は、外部クロックが遅延した内部クロック信号ＲＤＣＬＫを生成する。
【０１７５】
インバータ１５１乃至１５３の通過により、内部クロック信号ＲＤＣＬＫが遅延および反転して反転遅延内部クロック信号ＲＤＣＬＫｄが生成される。
【０１７６】
ＮＡＮＤゲート１５４は、反転遅延内部クロック信号と内部クロック信号との値の否定論理積により、内部クロック信号の立上りから遅延時間の間だけオフとなる立上りトリガー信号rise_ＯＥＮ_trigを生成する。
【０１７７】
ＯＲゲート１５５は、反転遅延内部クロック信号と内部クロック信号との値の論理和により、内部クロック信号の立下りから遅延時間の間だけオフとなる立下りトリガー信号fall_ＯＥＮ_trigを生成する。
【０１７８】
ＮＡＮＤゲート１５６は、立上りトリガー信号、立下りトリガー信号、および、モード信号の値の否定論理積により、出力イネーブルトリガ信号ＯＥＮ_trigを生成する。この出力イネーブルトリガ信号は、内部クロック信号の立上りから遅延時間が経過するまでと、内部クロック信号の立下りから遅延時間が経過するまでとの間だけ「Ｈ」状態となる。
【０１７９】
ＡＮＤゲート１２３は、出力イネーブルトリガ信号と、リード命令信号ＲＤとの値の論理積により、出力ドライバイネーブル信号ＯＥＮを生成する。この出力ドライバイネーブル信号は、データ出力期間において、内部クロック信号の立上りから遅延時間が経過するまでと、内部クロック信号の立下りから遅延時間が経過するまでとの間だけ「Ｈ」状態となる。
【０１８０】
ＡＮＤゲート１２４は、リード命令信号のオン期間の間、ラッチ回路１８０を有効の状態にするラッチイネーブル信号ＬＥＮを生成する。
【０１８１】
メモリ１００内部のメモリセルアレイ１０６は、内部クロック信号の立上がり、および、立下りに応じて記憶しているデータを制御回路１５０へ出力する。
【０１８２】
出力ドライバ１７０は、出力ドライバイネーブル信号ＯＥＮに従って、内部クロック信号の立上りから遅延時間が経過するまでと、内部クロック信号の立下りから遅延時間が経過するまでとの間だけ有効の状態になる。その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【０１８３】
ラッチ回路１８０は、ラッチイネーブル信号ＬＥＮに従って、リード命令信号のオン期間の間、有効の状態になる。ラッチ回路１８０は、その期間以外は無効の状態、すなわちハイインピーダンス状態となる。
【０１８４】
この結果、データ出力装置１１４は、内部クロック信号の立上りから遅延時間が経過するまでと、内部クロック信号の立下りから遅延時間が経過するまでとの間だけ、出力ドライバ１７０による電位の引加によってデータを出力する。それ以外の期間は、データ出力期間を経過するまで、データ出力装置１１４は、ラッチ回路１８０による電位の引加によってデータを出力する。
【０１８５】
図２１は、本発明の第１の実施の形態におけるデータ処理システムの動作結果の一例を示すタイミングチャートである。
【０１８６】
プロセッサ２００は、あるクロックにおいて、メモリ１００のうち「＃１」からデータを読み出し、続いてメモリ１００のうち「＃２」からデータを読み出すものとする。そして、メモリ「＃１」からのデータの読み出しが遅延するものとする。
【０１８７】
プロセッサ２００は、メモリ「＃１」および「＃２」から連続的にデータを読み出す前に、「Ｈ」状態のモード信号をメモリ「＃１」および「＃２」へ出力しておく。メモリ「＃１」は、図２０に例示した手順により、立上りから遅延時間の間と立下りから遅延時間の間とだけ、出力ドライバを有効の状態にし、それ外の期間はデータ出力期間が経過するまでラッチ回路を有効の状態にする。メモリ「＃２」も同様の動作を行う。
【０１８８】
メモリ「＃１」内の記憶素子からのデータの読み出しに多少遅延が生じても、出力ドライバが有効の状態となる期間が短いため、その期間は、メモリ「＃２」内の出力ドライバが有効の状態となる期間と重ならない。従って、複数の出力ドライバが同時に電位を引加してデータの衝突が生じることが防止される。
【０１８９】
また、データ出力装置１１４は、内部クロック信号の立上り、および、立下りに応じてデータを出力するため、ＤＤＲ方式を使用するメモリに実装することができる。
【０１９０】
このように、データ出力装置１１４は、立上りから遅延時間の間と立下りから遅延時間の間とだけ出力ドライバを有効の状態にし、それ以外の期間はデータ出力期間が経過するまでラッチ回路を有効の状態にする。このため、データの衝突を防止しつつ、データの出力速度を向上することができる。
【０１９１】
なお、第５の実施の形態では、制御回路１５０は、複数のインバータを通過させることにより内部クロック信号を遅延させている。しかし、制御回路１５０は、図２２に例示するように、位相シフト回路を使用して内部クロック信号を遅延させてもよい。
【０１９２】
図２２は、本発明の第６の実施の形態における制御回路１５０の変形例を示す回路図である。制御回路１５０は、インバータ１５１および１５２の代わりに９０度位相シフト回路１５７を備える。
【０１９３】
９０度位相シフト回路１５７は、内部クロック信号ＲＤＣＬＫの位相を９０度シフトさせてインバータ１５３へ出力する。この結果、図２０および図２１に例示したように動作する制御回路を実現することができる。
【０１９４】
＜６．変形例＞
［データ出力装置の構成］
図２３は、本発明の第１の実施の形態におけるデータ出力装置１１０の変形例を示す回路図である。このデータ出力装置１１０は、制御回路１２０の代わりに制御回路１６０を備える。制御回路１６０には、モード信号が入力されない。また、制御回路１６０はインバータ１２１、ＮＡＮＤゲート１２２、および、ＡＮＤゲート１２４を備えない。
【０１９５】
ＡＮＤゲート１２３は、リード命令信号ＲＤおよび内部クロック信号ＲＤＣＬＫの値の論理積をＮＡＮＤゲート１２６およびインバータ１２５へ出力する。また、リード命令信号は、そのままラッチイネーブル信号ＬＥＮとしてラッチ回路１８０へ出力される。
【０１９６】
このように簡易な構成によっても、制御回路１６０は、データ出力期間の開始時点からドライブ期間の間だけ、出力ドライバ１７０を有効の状態にし、データ出力期間の間だけ、ラッチ回路１８０を有効の状態にすることができる。
【０１９７】
図２４は、本発明の第１の実施の形態におけるデータ処理システムの変形例を示す全体図である。図１に例示した構成では、メモリ１００およびプロセッサ２００を平面的に実装していたが、図２４に示すように、３次元的に実装してもよい。
【０１９８】
このデータ処理システムは、複数のメモリ１００、プロセッサ２００、および、データバス３００の代わりに、複数のメモリ１０１、プロセッサ２０１、および、複数のＴＳＶ３０１を備える。各メモリ１０１およびプロセッサ２０１は、３次元的に実装される。ＴＳＶ３０１は、これらのメモリ１０１およびプロセッサ２０１を貫通する電極である。各メモリ１０１およびプロセッサ２０１は、データバス３００の代わりにＴＳＶ３０１により接続される。
【０１９９】
このように、各メモリが、ＴＳＶ３０１など、データバス３００以外の経路にデータを出力する構成とすることもできる。
【０２００】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０２０１】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【符号の説明】
【０２０２】
１００、１０１  メモリ
１０４  内部クロック生成部
１０５  デコーダ
１０６  メモリセルアレイ
１１０、１１１、１１２、１１４  データ出力装置
１１３  データ入出力装置
１２０、１３０、１４０、１５０、１６０  制御回路
１２１、１２５、１３２、１３３、１５１〜１５３、１８１、１８２、１８６  インバータ
１２２、１２６、１３１、１５４、１５６  ＮＡＮＤゲート
１２３、１２４、１４１  ＡＮＤゲート
１２７  ＮＯＲゲート
１５５  ＯＲゲート
１５７  ９０度位相シフト回路
１７０  出力ドライバ
１７１  ｐＭＯＳ
１７２  ｎＭＯＳ
１８０  ラッチ回路
１８５  入力回路
１９０  出力端子
１９１  入出力端子
２００、２０１  プロセッサ
２１０  処理部
２２０  データ入力装置
３００  データバス
３０１  ＴＳＶ
４０１〜４０６  信号線
Ｃ１、Ｃ２、Ｌ１  信号線
【図１】
2012098779.tif 000003
【図２】
2012098779.tif 000004
【図３】
2012098779.tif 000005
【図４】
2012098779.tif 000006
【図５】
2012098779.tif 000007
【図６】
2012098779.tif 000008
【図７】
2012098779.tif 000009
【図８】
2012098779.tif 000010
【図９】
2012098779.tif 000011
【図１０】
2012098779.tif 000012
【図１１】
2012098779.tif 000013
【図１２】
2012098779.tif 000014
【図１３】
2012098779.tif 000015
【図１４】
2012098779.tif 000016
【図１５】
2012098779.tif 000017
【図１６】
2012098779.tif 000018
【図１７】
2012098779.tif 000019
【図１８】
2012098779.tif 000020
【図１９】
2012098779.tif 000021
【図２０】
2012098779.tif 000022
【図２１】
2012098779.tif 000023
【図２２】
2012098779.tif 000024
【図２３】
2012098779.tif 000025
【図２４】
2012098779.tif 000026