(57)【特許請求の範囲】
【請求項１】
データバスを介してメモリ装置にデータをバースト転送するデータ出力バッファ回路と、
前記データのうちの前記メモリ装置内のメモリセルへの書き込みを禁止するデータを示すマスク信号を前記メモリ装置に出力するマスク信号出力バッファ回路と
を具備し、
前記データ出力バッファ回路は、前記マスク信号が書き込み禁止を示すときに出力ノードをハイインピーダンスにし、且つ、前記マスク信号が前記書き込み禁止を示さない状態から前記書き込み禁止を示す状態に切り替わったときに、前記出力ノードをハイインピーダンスにする時期を遅らせて前記データを出力する期間を延長する
メモリ制御装置。
【請求項２】
前記マスク信号が前記書き込み禁止を示す状態から前記書き込み禁止を示さない状態に切り替わるときに、前記データ出力バッファ回路は、前記出力ノードから前記データを出力する時期を早めて前記データを出力する期間を延長する
請求項１に記載のメモリ制御装置。
【請求項３】
前記出力ノードのハイインピーダンス状態を制御する出力制御信号を生成する出力制御信号生成部と、
前記出力制御信号が前記バースト転送中に前記出力ノードをハイインピーダンスするかしないかを設定する設定部と
をさらに具備する
請求項１または請求項２に記載のメモリ制御装置。
【請求項４】
メモリ装置にバースト転送するデータを生成するデータ信号生成回路と、
前記メモリ装置にデータバスを介して前記データをバースト転送するバッファ回路と、
前記データの書き込みが有効か否かを示すマスク制御信号に基づいて、前記データバス上のデータを前記メモリ装置内のメモリセルに書き込むか否かを示すマスク信号を生成するマスク信号生成回路と、
前記データの有無を示すデータ制御信号に基づいて、前記データバスに出力する前記データが無いときに前記バッファ回路の出力ノードをハイインピーダンスにする出力制御信号を生成する出力制御信号生成部と
を具備し、
前記出力制御信号生成部は、前記マスク制御信号に基づいて、前記データをバースト転送している期間の前記出力制御信号を変更して前記出力ノードをハイインピーダンスにするものであって、前記マスク信号がマスクすることを示す期間に、前記出力ノードをハイインピーダンスにするように前記出力制御信号を変更し、且つ、前記マスク信号がマスクしないことを示す状態からマスクすることを示す状態に変化したときに前記出力ノードをハイインピーダンスにする時期を遅らせるように、前記出力制御信号を変更する
メモリ制御装置。
【請求項５】
前記出力制御信号生成部は、前記マスク信号がマスクすることを示す状態からマスクしないことを示す状態に変化するときに前記出力ノードをハイインピーダンスにしている期間を短縮して前記データが出力されるように前記出力制御信号を変更する
請求項４に記載のメモリ制御装置。
【請求項６】
前記マスク信号に基づいて前記出力ノードをハイインピーダンスにするか否かを設定する設定回路をさらに具備する
請求項４または請求項５に記載のメモリ制御装置。
【請求項７】
前記設定回路の設定状態を変更する切り替え設定信号を入力する入力端子を備える
請求項６に記載のメモリ制御装置。
【請求項８】
前記設定回路の設定状態を保持するレジスタをさらに備える
請求項６または請求項７に記載のメモリ制御装置。
【請求項９】
前記レジスタに設定する情報を保持する書き換え可能な不揮発性メモリをさらに備える
請求項８に記載のメモリ制御装置。
【請求項１０】
請求項１から請求項９のいずれかに記載のメモリ制御装置を搭載する半導体集積回路装置。
【請求項１１】
請求項１０に記載のメモリ制御装置を搭載する半導体集積回路装置。
【請求項１２】
データバスを介してメモリ装置にデータをバースト転送するステップと、
前記データのうちの前記メモリ装置内のメモリセルへの書き込みを禁止するデータを示すマスク信号を前記メモリ装置に出力するステップと
前記マスク信号が書き込み禁止を示すときに前記データを出力する出力ノードをハイインピーダンスにするステップと、
前記マスク信号が前記書き込み禁止を示さない状態から前記書き込み禁止を示す状態に切り替わったときに、前記出力ノードをハイインピーダンスにする時期を遅らせるステップと
を具備する
メモリ書き込みデータ転送方法。
【請求項１３】
データバスを介してメモリ装置にデータをバースト転送するデータ出力バッファ回路と、
前記データのうちの前記メモリ装置内のメモリセルへの書き込みを禁止するデータを示すマスク信号を前記メモリ装置に出力するマスク信号出力バッファ回路と、
を具備し、
前記データ出力バッファ回路は、前記マスク信号が書き込み禁止を示すときに出力ノードをハイインピーダンスにするものであって、前記マスク信号が前記書き込み禁止を示す状態から前記書き込み禁止を示さない状態に切り替わるときには、前記書き込み禁止を示さない状態に切り替わるよりも前に、前記出力ノードのハイインピーダンス化を解除する
メモリ制御装置。
【請求項１４】
メモリ装置にバースト転送するデータを生成するデータ信号生成回路と、
前記メモリ装置にデータバスを介して前記データをバースト転送するバッファ回路と、
前記データの書き込みが有効か否かを示すマスク制御信号に基づいて、前記データバス上のデータを前記メモリ装置内のメモリセルに書き込むか否かを示すマスク信号を生成するマスク信号生成回路と、
前記データの有無を示すデータ制御信号に基づいて、前記データバスに出力する前記データが無いときに前記バッファ回路の出力ノードをハイインピーダンスにする出力制御信号を生成する出力制御信号生成部と、
を具備し、
前記出力制御信号生成部は、前記マスク制御信号に基づいて、前記データをバースト転送している期間の前記出力制御信号を変更して前記出力ノードをハイインピーダンスにするものであって、
前記マスク制御信号がマスクすることを示す状態からマスクをしないことを示す状態に変化するときには、前記マスク制御信号が前記マスクをしないことを示す状態に変化するよりも前に前記出力ノードのハイインピーダンス化を解除するように前記出力制御信号を変更する
メモリ制御装置。
【請求項１５】
データバスを介してメモリ装置にデータをバースト転送するステップと、
前記データのうちの前記メモリ装置内のメモリセルへの書き込み禁止をするデータを示すマスク信号を前記メモリ装置に出力するステップと、
前記マスク信号が書き込み禁止を示すときに前記データを出力する出力ノードをハイインピーダンスにするステップと、
前記マスク信号が前記書き込み禁止を示す状態から前記書き込み禁止を示さない状態に切り替わるときには、前記書き込み禁止を示さない状態に切り替わるよりも前に前記出力ノードのハイインピーダンス化を解除するステップと、
を具備する
メモリ書き込みデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置を制御するメモリ制御装置、特に、ＳＤＲＡＭを制御するメモリ制御装置に関する。
【背景技術】
【０００２】
ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の多くは、メモリ制御装置との間でバスを介してデータの読み出しおよび書き込みを行う。読み出しデータはＳＤＲＡＭからメモリ制御装置へデータバスを介して転送され、書き込みデータはメモリ制御装置からＳＤＲＡＭへデータバスを介して転送される。したがって、データバスは双方向であり、データバスの両側に接続されるＳＤＲＡＭ、メモリ制御装置は、データを出力するとき以外はデータバスに接続される出力バッファをハイインピーダンス状態にして、他装置が出力するデータに影響を与えないようにする必要がある。
【０００３】
一方、近年のＳＤＲＡＭでは転送レートが向上しており、データの転送方法等を定めた規格は、ＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）、ＤＤＲ２、ＤＤＲ３等に進化している。転送速度の高速化に伴って信号品質が劣化しやすく、必要な信号品質を保つ手段が講じられている。その一つが信号線の終端である。終端回路によって信号線を終端することにより、信号の反射を低減させ、信号品質を維持することができる。ＤＤＲ、ＤＤＲ２、ＤＤＲ３等のＳＤＲＡＭにおいて採用されている終端回路は、抵抗を介して電源電圧の１／２付近に無信号時の電圧に固定するタイプ、またはそれに等価な回路である。
【０００４】
メモリは高速化を実現するため、メモリセル内の複数のデータにまとめて並列にアクセスするプリフェッチ機能を備え、そのデータはシリアル化されて一気に転送される。この転送をバースト転送といい、例えばＤＤＲ３では基本的に８個のデータを連続して転送する。バースト転送を行うと、複数アドレス分のデータが転送される。そのうちの一部のアドレスのみに書き込みを行いたい場合、データマスクの機能が用いられる。ＳＤＲＡＭは、例えば並列データ８ビットのデータ信号毎に１ビットのマスク信号を持ち、マスク信号がＨレベルのとき対応するアドレスにデータを書き込まない、といった動作をする。
【０００５】
例えば、ＳＤＲＡＭへのデータの書き込みは、図１に示されるように、データ信号ＤＱ、ストローブ信号ＤＱＳ（ＤＱＳＢ）、マスク信号ＤＭを使用して行われる。データ信号ＤＱに書き込みデータ“Ｄ０”〜“Ｄ７”を出力し、ストローブ信号ＤＱＳによってその書き込みデータ“Ｄ０”〜“Ｄ７”の取り込みタイミングが示される。ストローブ信号ＤＱＳＢは、ストローブ信号ＤＱＳの論理を反転した信号である。それぞれの立ち上がりエッジで示されるタイミングにおいてデータを取り込むことによりクロック信号で示される速度の２倍の速度でデータを転送することができる。
【０００６】
書き込みをマスクしたいときには、マスク信号ＤＭをＨレベルにすることにより、ＳＤＲＡＭは、取り込んだデータをメモリに書き込まないようにすることができる。図１に示されるマスク信号ＤＭは、データ信号ＤＱがデータ“Ｄ１”、“Ｄ５”、“Ｄ６”を示すときにＨレベルであり、データ“Ｄ０”、“Ｄ２”〜“Ｄ４”、“Ｄ７”はメモリ内に書き込まれるが、データ“Ｄ１”、“Ｄ５”、“Ｄ６”はメモリ内に書き込まれないことを示す。このようにマスク信号ＤＭを備えることにより、書き込む必要のないデータを含んで連続するアドレスのデータを扱うことができる。
【０００７】
特開平１１−１３４８５９号公報には、同期型の半導体記憶装置において、出力端子のデータ出力およびハイインピーダンス化のタイミングを容易に最適化する技術が記載されている。半導体記憶装置は、データアンプと、第１のラッチ回路と、出力制御回路と、第２及び第３のラッチ回路と、第１の出力トランジスタと、第２の出力トランジスタとを備える。データアンプは、メモリセルから読み出された相補の読み出しデータを供給する。第１のラッチ回路は、タイミング信号に応答してマスク信号をラッチする。出力制御回路は、第１のラッチ回路にラッチされたマスク信号及びデータアンプより供給される相補の読み出しデータを受け、マスク信号が一方の論理レベルである場合には相補の読み出しデータに基づいて互いに相補である第１及び第２の導通制御信号を生成し、マスク信号が他方の論理レベルである場合には相補の読み出しデータにかかわらず互いに同一レベルである第１及び第２の導通制御信号を生成する。第２及び第３のラッチ回路は、タイミング信号に応答して第１及び第２の導通制御信号をそれぞれラッチする。第１の出力トランジスタは、第１の電源端子と出力端子との間に接続され第２のラッチ回路にラッチされた第１の導通制御信号に基づき導通状態が制御される。第２の出力トランジスタは、第２の電源端子と出力端子との間に接続され第３のラッチ回路にラッチされた第２の導通制御信号に基づき導通状態が制御される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−１３４８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、メモリ書き込み時の消費電力を削減できるメモリ制御装置を提供する。
【課題を解決するための手段】
【００１０】
以下に、［発明を実施するための形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明の観点では、メモリ制御装置（１０）は、データバスを介してメモリ装置（２０）にデータをバースト転送するデータ出力バッファ回路（３９０）と、データのうちのメモリ装置内のメモリセルへの書き込みを禁止するデータを示すマスク信号をメモリ装置に出力するマスク信号出力バッファ回路（１９０）とを具備し、データ出力バッファ回路（３９０）は、マスク信号が書き込み禁止を示すときに出力ノードをハイインピーダンスにする。
【００１２】
本発明の他の観点では、メモリ制御装置はデータ信号生成回路（３００）と、バッファ回路（３９０）と、マスク信号生成回路（１００）と、出力制御信号生成部（２００／２１０／２２０）とを具備する。データ信号生成回路（３００）は、メモリ装置（２０）にバースト転送するデータ（ＤＴＯ）を生成する。バッファ回路（３９０）は、メモリ装置（２０）にデータバスを介してデータをバースト転送する。マスク信号生成回路（１００）は、データの書き込みが有効か否かを示すマスク制御信号（ＭＯＡ／ＭＯＢ）に基づいて、データバス上のデータをメモリ装置（２０）内のメモリセルに書き込むか否かを示すマスク信号（ＤＭ）を生成する。出力制御信号生成部（２００／２１０／２２０）は、データの有無を示すデータ制御信号（ＴＲＩＡ／ＴＲＩＢ）に基づいて、データバスに出力するデータが無いときにバッファ回路（３９０）の出力ノードをハイインピーダンスにする出力制御信号（ＯＥ）を生成する。出力制御信号生成部（２００／２１０／２２０）は、マスク制御信号（ＭＯＡ／ＭＯＢ）に基づいて、データをバースト転送している期間の前記出力制御信号（ＯＥ）を変更して出力ノードをハイインピーダンスにする。
【００１３】
また、本発明の他の観点では、半導体集積回路は、上記のメモリ制御装置を搭載し、メモリシステムは、上記のメモリ制御装置を搭載する半導体集積回路と、半導体集積装置から出力されるデータを転送するデータバスを終端する終端回路を備えるメモリ装置とを具備する。
【発明の効果】
【００１４】
本発明によれば、メモリ書き込み時の消費電力を削減するメモリ制御装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】ＳＤＲＡＭに書き込みデータをバースト転送するときのタイミングを示す図である。
【図２】図２は、本発明の実施の形態に係るメモリシステムの構成を示す図である。
【図３】図３は、第１の実施の形態に係るメモリ制御装置の書き込みデータ出力部の構成を示す図である。
【図４】図４は、第１の実施の形態に係る書き込みデータ出力部の動作を示すタイミング図である。
【図５】図５は、第１の実施の形態に係る書き込みデータ出力部の動作を示すタイミング図である。
【図６】図６は、ドライバの出力抵抗とメモリ回路の終端抵抗との関係を説明する図である。
【図７】図７は、第２の実施の形態に係る出力制御信号生成部の構成を示す図である。
【図８】図８は、第２の実施の形態に係る出力制御信号生成部の動作を示すタイミング図である。
【図９】図９は、第３の実施の形態に係る出力制御信号生成部の構成を示す図である。
【図１０】図１０は、第３の実施の形態に係る出力制御信号生成部の動作を示すタイミング図である。
【図１１】図１１は、第４の実施の形態に係るメモリ制御装置１０の書き込みデータ出力部の構成を示す図である。
【発明を実施するための形態】
【００１６】
図面を参照して、本発明の実施の形態を説明する。
【００１７】
図２は、本発明の実施の形態に係るメモリシステムの構成を示す図である。メモリシステムは、クロック信号に同期して動作するＳＤＲＡＭ２０と、ＳＤＲＡＭ２０の動作を制御するメモリ制御装置１０とを備える。バス幅は１６ビットであり、データ信号ＤＱ〔７：０〕とマスク信号ＤＭＬとストローブ信号ＤＱＳＬとによって下位８ビットのデータが転送され、データ信号ＤＱ〔１５：８〕とマスク信号ＤＭＵとストローブ信号ＤＱＳＵとによって上位８ビットのデータが転送される。データ信号ＤＱ〔１５：０〕、ストローブ信号ＤＱＳＬ／ＤＱＳＵは双方向の信号である。双方向の信号線は、メモリ制御装置１０、ＳＤＲＡＭ２０それぞれが信号を出力するときだけバスに接続される出力バッファの出力を有効にして、信号の干渉を防止している。メモリ制御装置１０とＳＤＲＡＭ２０との間には、他にクロック信号、アドレス信号、コマンド信号等の接続があるが、説明を省略する。
【００１８】
図３は、本発明の第１の実施の形態に係るメモリ制御装置１０の書き込みデータ出力部の構成を示す図である。書き込みデータ出力部は、マスク信号ＤＭを生成して出力するマスク信号生成部１００と、マスク信号をＳＤＲＡＭに出力するバッファ回路１９０と、データ信号ＤＱを生成するデータ信号生成部３００と、データ信号ＤＱを双方向バスに出力するバッファ回路３９０と、バッファ回路３９０の出力を制御する出力制御信号生成部２００とを備える。ここでは、書き込みデータ出力部は、１組の書き込みデータに関する信号、例えばデータ信号ＤＱ〔７：０〕、マスク信号ＤＭＬ、あるいはデータ信号ＤＱ〔１５：８〕、マスク信号ＤＭＵを生成する部分を示す。したがって、図２に示されるようにメモリ制御装置１０のデータバス幅が１６ビットである場合は同様のデータ出力部が並列に設けられる。また、データ信号生成部３００は、データ信号ＤＱ〔７：０〕／ＤＱ〔１５：８〕のうちの１本の信号線のデータ信号ＤＱを生成する部分を示す。したがって、データ信号ＤＱ〔７：０〕／ＤＱ〔１５：８〕のように、８ビットのデータを並列に出力する場合には、データ信号生成部３００が８回路並列に設けられる。このデータ信号ＤＱ〔７：０〕／ＤＱ〔１５：８〕の各８ビットのデータに対して、書き込みが有効であるか無効であるかを示すマスク信号ＤＭがそれぞれ１ビット付加されることになる。
【００１９】
マスク信号生成部１００は、フリップフロップ１０１／１０２／１０３と、セレクタ１０９とを備える。入力されるマスク制御信号ＭＯＡ／ＭＯＢは、データ信号ＤＴＡ／ＤＴＢそれぞれのマスク状態を示す。フリップフロップ１０１／１０２は、クロック信号ＣＬＫの立ち上がりエッジに同期してマスク制御信号ＭＯＡ／ＭＯＢを取り込む。フリップフロップ１０３は、クロック信号ＣＬＫの立ち下りエッジに同期してフリップフロップ１０２の出力信号Ｑ１０２を取り込む。したがって、フリップフロップ１０３の出力信号Ｑ１０３は、クロック信号ＣＬＫの半周期分遅れて出力されることになる。選択制御信号としてクロック信号ＣＬＫを入力するセレクタ１０９は、フリップフロップ１０１の出力信号Ｑ１０１と、フリップフロップ１０３の出力信号Ｑ１０３とを入力し、クロック信号ＣＬＫの半周期毎に選択される信号を切り替えて出力する。セレクタ１０９から出力される信号は、バッファ回路１９０を介してマスク信号ＤＭとして出力される。
【００２０】
出力制御信号生成部２００は、フリップフロップ２０１／２０２／２０３と、セレクタ２０９と、インバータ回路２０５／２０６と、ＡＮＤ回路２０７／２０８とを備える。入力される出力制御信号ＴＲＩＡ／ＴＲＩＢは、データ信号ＤＴＡ／ＤＴＢを出力するか否かを示す。
【００２１】
マスク制御信号ＭＯＡをインバータ回路２０５によって論理反転された信号と、出力制御信号ＴＲＩＡとは、ＡＮＤ回路２０７によって論理積演算がなされ、クロック信号ＣＬＫの立ち上がりエッジに同期してフリップフロップ２０１に取り込まれる。すなわち、出力制御信号ＴＲＩＡは、マスク制御信号ＭＯＡがデータ信号ＤＴＡをマスクすることを示すときに、バッファ回路３９０がデータを出力しないように処理される。マスク制御信号ＭＯＢをインバータ回路２０６によって論理反転された信号と、出力制御信号ＴＲＩＢとは、ＡＮＤ回路２０８によって論理積演算がなされ、クロック信号ＣＬＫの立ち上がりエッジに同期してフリップフロップ２０２に取り込まれる。すなわち、出力制御信号ＴＲＩＢは、マスク制御信号ＭＯＢがデータ信号ＤＴＢをマスクすることを示すときに、バッファ回路３９０がデータを出力しないように処理される。
【００２２】
フリップフロップ２０３は、クロック信号ＣＬＫの立ち下りエッジに同期してフリップフロップ２０２の出力信号Ｑ２０２を取り込む。したがって、フリップフロップ２０３の出力信号Ｑ２０３は、クロック信号ＣＬＫ半周期分遅れて出力されることになる。選択制御信号としてクロック信号ＣＬＫを入力するセレクタ２０９は、フリップフロップ２０１の出力信号Ｑ２０１と、フリップフロップ２０３の出力信号Ｑ２０３とを入力し、クロック信号ＣＬＫの半周期毎に選択される信号を切り替えて出力する。セレクタ２０９から出力される出力制御信号ＯＥは、バッファ回路３９０の出力制御ノードに供給され、バッファ回路３９０が出力信号を出力するかハイインピーダンス状態となるかを制御する。
【００２３】
データ信号生成部３００は、フリップフロップ３０１／３０２／３０３と、セレクタ３０９とを備える。入力されるデータ信号ＤＴＡ／ＤＴＢは、書き込みデータを示す。フリップフロップ３０１／３０２は、クロック信号ＣＬＫの立ち上がりエッジに同期してデータ信号ＤＴＡ／ＤＴＢを取り込む。フリップフロップ３０３は、クロック信号ＣＬＫの立ち下りエッジに同期してフリップフロップ３０２の出力信号Ｑ３０２を取り込む。したがって、フリップフロップ３０３の出力信号Ｑ３０３は、クロック信号ＣＬＫの半周期分遅れて出力されることになる。
【００２４】
選択制御信号としてクロック信号ＣＬＫを入力するセレクタ３０９は、フリップフロップ３０１の出力信号Ｑ３０１と、フリップフロップ３０３の出力信号Ｑ３０３とを入力し、クロック信号ＣＬＫの半周期毎に選択される信号を切り替えて出力する。セレクタ３０９から出力されるデータ信号ＤＴＯは、バッファ回路３９０を介してデータ信号ＤＱとして出力される。バッファ回路３９０は、出力制御信号ＯＥによって出力状態が制御されるため、マスクされないデータのみ出力される。書き込みデータがないとき、すなわち出力制御信号ＴＲＩＡ／ＴＲＩＢが無効を示すとき、および、書き込みデータがマスクされるとき、すなわちマスク制御信号ＭＯＡ／ＭＯＢが有効を示すときには、バッファ回路３９０は、出力ノードをハイインピーダンス状態にする。
【００２５】
図４、図５を参照して、メモリ制御装置１０の書き込みデータ出力部の動作を説明する。書き込みデータ出力部は、クロック信号ＣＬＫの立ち上がりおよび立ち下りに基づいて動作するため、その時刻ｔａ〜ｔｋに基づいて各信号の変化を説明する。書き込みデータ出力部に入力されるデータ信号ＤＴＡ／ＤＴＢ、マスク制御信号ＭＯＡ／ＭＯＢ、出力制御信号ＴＲＩＡ／ＴＲＩＢは、クロック信号ＣＬＫとは異なる位相のクロック信号に同期して動作する回路から出力される信号とする。
【００２６】
図４に示されるように、時刻ｔａ付近において、データ信号ＤＴＡ／ＤＴＢは、データ“ＤＡ０”／“ＤＢ０”を示すように変化する（図４（ａ）（ｂ））。データ“ＤＡ０”／“ＤＢ０”は、時刻ｔｂにおいて、クロック信号ＣＬＫ（図４（ｅ））の立ち上がりに同期してフリップフロップ３０１／３０２に取り込まれ、フリップフロップ３０１／３０２の出力信号Ｑ３０１／Ｑ３０２がデータ“ＤＡ０”／“ＤＢ０”を示す（図４（ｊ）（ｋ））。時刻ｔｂにおいて、マスク制御信号ＭＯＡは、データ“ＤＡ０”をマスクしないＬレベルを示し（図４（ｃ））、これを取り込むフリップフロップ１０１の出力信号Ｑ１０１は、Ｌレベルのまま変化しない（図４（ｆ））。マスク制御信号ＭＯＢは、データ“ＤＢ０”をマスクするＨレベルを示し（図４（ｄ））、これを取り込むフリップフロップ１０２の出力信号Ｑ１０２はＨレベルを示す（図４（ｇ））。
【００２７】
時刻ｔｃにおいて、フリップフロップ１０３は、フリップフロップ１０２の出力信号Ｑ１０２を取り込み、出力信号Ｑ１０３をＨレベルに変化させる（図４（ｈ））。同じように、フリップフロップ３０３は、フリップフロップ３０２の出力信号Ｑ３０２を取り込み、出力信号Ｑ３０３をデータ“ＤＢ０”に変化させる（図４（ｌ））。時刻ｔｃから時刻ｔｄまでの期間、クロック信号ＣＬＫはＬレベルを示す。セレクタ１０９は、０入力ノードに接続されるフリップフロップ１０１から出力される出力信号Ｑ１０１が示すＬレベルを出力する。したがって、バッファ回路１９０は、マスク信号ＤＭにマスクしないことを示すＬレベルを出力する（図４（ｉ））。また、セレクタ３０９は、０入力ノードに接続されるフリップフロップ３０１から出力される出力信号Ｑ３０１が示すデータ“ＤＡ０”をデータ信号ＤＴＯとして出力する（図４（ｍ））。
【００２８】
時刻ｔｄにおいて、マスク制御信号ＭＯＡ／ＭＯＢは、共にＬレベルを示し（図４（ｃ）（ｄ））、フリップフロップ１０１／１０２は、出力信号Ｑ１０１／１０２をＬレベルにする（図４（ｆ）（ｇ））。また、データ信号ＤＴＡ／ＤＴＢは、それぞれデータ“ＤＡ１”／“ＤＢ１”を示し（図４（ａ）（ｂ））、フリップフロップ３０１／３０２は、出力信号Ｑ３０１／Ｑ３０２をデータ“ＤＡ１”／“ＤＢ１”にする（図４（ｊ）（ｋ））。時刻ｔｄから時刻ｔｅまでの期間、クロック信号ＣＬＫはＨレベルを示す。セレクタ１０９は、１入力ノードに接続されるフリップフロップ１０３から出力される出力信号Ｑ１０３が示すＨレベルを出力する。したがって、バッファ回路１９０は、マスク信号ＤＭにマスクすることを示すＨレベルの信号を出力する（図４（ｉ））。また、セレクタ３０９は、１入力ノードに接続されるフリップフロップ３０３から出力される出力信号Ｑ３０３が示すデータ“ＤＢ０”をデータ信号ＤＴＯとして出力する（図４（ｍ））。
【００２９】
時刻ｔｅにおいて、フリップフロップ１０３は、フリップフロップ１０２の出力信号Ｑ１０２を取り込み、出力信号Ｑ１０３をＬレベルに変化させる（図４（ｈ））。フリップフロップ３０３は、フリップフロップ３０２の出力信号Ｑ３０２を取り込み、出力信号Ｑ３０３をデータ“ＤＢ１”に変化させる（図４（ｌ））。時刻ｔｅから時刻ｔｆまでの期間、クロック信号ＣＬＫはＬレベルを示す。セレクタ１０９は、０入力ノードに接続されるフリップフロップ１０１から出力される出力信号Ｑ１０１が示すＬレベルを出力する。したがって、バッファ回路１９０は、マスク信号ＤＭにマスクしないことを示すＬレベルを出力する（図４（ｉ））。また、セレクタ３０９は、０入力ノードに接続されるフリップフロップ３０１が示すデータ“ＤＡ１”をデータ信号ＤＴＯとして出力する（図４（ｍ））。
【００３０】
このように、動作が繰り返され、時刻ｔｆから時刻ｔｇまでの期間には、データ信号ＤＴＯにデータ“ＤＢ１”が出力され（図４（ｍ））、マスク信号ＤＭにマスクされないことを示すＬレベルが出力される（図４（ｉ））。時刻ｔｇから時刻ｔｈまでの期間には、データ信号ＤＴＯにデータ“ＤＡ２”が出力され（図４（ｍ））、マスク信号ＤＭにマスクすることを示すＨレベルが出力される（図４（ｉ））。時刻ｔｈから時刻ｔｉまでの期間には、データ信号ＤＴＯにデータ“ＤＢ２”が出力され（図４（ｍ））、マスク信号ＤＭにマスクすることを示すＨレベルが出力される（図４（ｉ））。時刻ｔｉから時刻ｔｊまでの期間には、データ信号ＤＴＯにデータ“ＤＡ３”が出力され（図４（ｍ））、マスク信号ＤＭにマスクすることを示すＨレベルが出力される（図４（ｉ））。時刻ｔｊから時刻ｔｋまでの期間には、データ信号ＤＴＯにデータ“ＤＢ３”が出力され（図４（ｍ））、マスク信号ＤＭにマスクされないことを示すＬレベルが出力される（図４（ｉ））。時刻ｔｋにおいて書き込みデータの出力が終了する。
【００３１】
図５には、図４（ａ）〜（ｅ）に示される、データ信号ＤＴＡ／ＤＴＢ、マスク制御信号ＭＯＡ／ＭＯＢ、クロック信号ＣＬＫが、図５（ａ）（ｂ）、図５（ｅ）〜（ｇ）に示される。図５（ｃ）（ｄ）には、出力制御信号ＴＲＩＡ／ＴＲＩＢが示され、出力制御信号生成部２１０の動作を説明するタイミングが示される。出力制御信号ＴＲＩＡ／ＴＲＩＢは、データ“ＤＡ０”〜“ＤＡ３”、“ＤＢ０”〜“ＤＢ３”を出力する期間にバッファ回路３９０を出力状態にするように、Ｈレベルを示す。
【００３２】
フリップフロップ２０１／２０２は、時刻ｔｂにおいてクロック信号ＣＬＫの立ち上がりエッジに同期して、出力制御信号ＴＲＩＡ／ＴＲＩＢがマスク制御信号ＭＯＡ／ＭＯＢに基づいてＡＮＤ回路２０７／２０８によって処理された信号を取り込み、出力信号Ｑ２０１／Ｑ２０２を出力する。時刻ｔｂでは、出力制御信号ＴＲＩＡはバッファ回路３９０を出力状態にするようにＨレベルであり、マスク制御信号ＭＯＡはデータ“ＤＡ０”をマスクしないことを示すＬレベルであるため、フリップフロップ２０１の出力信号Ｑ２０１はＨレベルを示す。また、出力制御信号ＴＲＩＢはＨレベルを示すが、マスク制御信号ＭＯＢはデータ“ＤＢ０”をマスクするようにＨレベルを示すため、フリップフロップ２０２の出力信号Ｑ２０２はＬレベルのままである。
【００３３】
時刻ｔｃにおいて、フリップフロップ２０３は、フリップフロップ２０２の出力信号Ｑ２０２を取り込み、出力信号Ｑ２０３を出力するが、出力信号Ｑ２０２はＬレベルを示すため、出力信号Ｑ２０３はＬレベルのまま変化しない。時刻ｔｃ〜ｔｄの期間、クロック信号ＣＬＫはＬレベルを示すため、セレクタ２０９は、０入力ノードに接続されるフリップフロップ２０１の出力信号Ｑ２０１を選択して出力制御信号ＯＥをＨレベルにする。バッファ回路３９０は、出力制御信号ＯＥに基づいて、入力されたデータ信号ＤＴＯをデータ信号ＤＱ（データ“ＤＡ０”）として出力する。
【００３４】
時刻ｔｄにおいて、フリップフロップ２０１／２０２は、ＡＮＤ回路２０７／２０８の出力を取り込み、出力信号Ｑ２０１／Ｑ２０２を出力する。マスク制御信号ＭＯＡ／ＭＯＢは、共にマスクしないことを示すため、フリップフロップ２０１／２０２の出力信号Ｑ２０１／２０２は、Ｈレベルを示す（図５（ｈ）（ｉ））。時刻ｔｄ〜ｔｅの期間、クロック信号ＣＬＫはＨレベルを示すため、セレクタ２０９は、１入力ノードに接続されるフリップフロップ２０３の出力信号Ｑ２０３を選択して出力制御信号ＯＥをＬレベルにする（図５（ｋ））。バッファ回路３９０は、出力制御信号ＯＥに基づいて、出力ノードをハイインピーダンス状態にする（図５（ｍ））。
【００３５】
時刻ｔｅにおいて、フリップフロップ２０３は、フリップフロップ２０２の出力信号Ｑ２０２を取り込み、出力信号Ｑ２０３を出力する。このとき、出力信号Ｑ２０２はＨレベルを示すため、出力信号Ｑ２０３はＨレベルに変化する。時刻ｔｅ〜ｔｆの期間、クロック信号ＣＬＫはＬレベルを示すため、セレクタ２０９は、０入力ノードに接続されるフリップフロップ２０１の出力信号Ｑ２０１を選択して出力制御信号ＯＥをＨレベルにする。バッファ回路３９０は、出力制御信号ＯＥに基づいて、入力されるデータ信号ＤＴＯをデータ信号ＤＱ（データ“ＤＡ１”）として出力する（図５（ｍ））。
【００３６】
時刻ｔｆにおいて、フリップフロップ２０１／２０２は、ＡＮＤ回路２０７／２０８の出力を取り込み、出力信号Ｑ２０１／Ｑ２０２を出力する。マスク制御信号ＭＯＡ／ＭＯＢは、共にマスクすることを示すため、フリップフロップ２０１／２０２の出力信号Ｑ２０１／２０２は、Ｌレベルに変化する（図５（ｈ）（ｉ））。時刻ｔｆ〜ｔｇの期間、クロック信号ＣＬＫはＨレベルを示すため、セレクタ２０９は、１入力ノードに接続されるフリップフロップ２０３の出力信号Ｑ２０３を選択して出力制御信号ＯＥのＨレベルを維持する（図５（ｋ））。バッファ回路３９０は、出力制御信号ＯＥに基づいて、入力されるデータ信号ＤＴＯをデータ信号ＤＱ（データ“ＤＢ１"）として出力する（図５（ｍ））。
【００３７】
時刻ｔｇにおいて、フリップフロップ２０３は、フリップフロップ２０２の出力信号Ｑ２０２を取り込み、出力信号Ｑ２０３を出力する。このとき、出力信号Ｑ２０２はＬレベルを示すため、出力信号Ｑ２０３はＬレベルに変化する。時刻ｔｇ〜ｔｈの期間、クロック信号ＣＬＫはＬレベルを示すため、セレクタ２０９は、０入力ノードに接続されるフリップフロップ２０１の出力信号Ｑ２０１を選択して出力制御信号ＯＥをＬレベルにする。バッファ回路３９０は、出力制御信号ＯＥに基づいて、出力ノードをハイインピーダンス状態にする（図５（ｍ））。
【００３８】
時刻ｔｈにおいて、フリップフロップ２０１／２０２は、ＡＮＤ回路２０７／２０８の出力を取り込み、出力信号Ｑ２０１／Ｑ２０２を出力する。マスク制御信号ＭＯＡはＨレベルでデータ“ＤＡ３”をマスクすることを示し、マスク制御信号ＭＯＢはＬレベルでデータ“ＤＢ３”をマスクしないことを示す。そのため、フリップフロップ２０１の出力信号Ｑ２０１はＬレベルのまま変化せず、フリップフロップ２０２の出力信号Ｑ２０２はＨレベルに変化する（図５（ｈ）（ｉ））。時刻ｔｈ〜ｔｉの期間、クロック信号ＣＬＫはＨレベルを示すため、セレクタ２０９は、１入力ノードに接続されるフリップフロップ２０３の出力信号Ｑ２０３を選択して出力制御信号ＯＥのＬレベルを維持する（図５（ｋ））。バッファ回路３９０は、出力制御信号ＯＥに基づいて、出力ノードをハイインピーダンス状態にする（図５（ｍ））。
【００３９】
時刻ｔｉにおいて、フリップフロップ２０３は、フリップフロップ２０２の出力信号Ｑ２０２を取り込み、出力信号Ｑ２０３を出力する。このとき、出力信号Ｑ２０２はＨレベルを示すため、出力信号Ｑ２０３はＨレベルに変化する（図５（ｊ））。時刻ｔｉ〜ｔｊの期間、クロック信号ＣＬＫはＬレベルを示すため、セレクタ２０９は、０入力ノードに接続されるフリップフロップ２０１の出力信号Ｑ２０１を選択して出力制御信号ＯＥをＬレベルにする（図５（ｋ））。バッファ回路３９０は、出力制御信号ＯＥに基づいて、出力ノードをハイインピーダンス状態にする（図５（ｍ））。
【００４０】
時刻ｔｊにおいて、フリップフロップ２０１／２０２は、ＡＮＤ回路２０７／２０８の出力を取り込み、出力信号Ｑ２０１／Ｑ２０２を出力する。出力データを供給し終わったので、出力制御信号ＴＲＩＡ／ＴＲＩＢは、Ｌレベルを示し、フリップフロップ２０１／２０２の出力信号Ｑ２０１／Ｑ２０２はＬレベルを示す（図５（ｈ）（ｉ））。時刻ｔｊ〜ｔｋの期間、クロック信号ＣＬＫはＨレベルを示すため、セレクタ２０９は、１入力ノードに接続されるフリップフロップ２０３の出力信号Ｑ２０３を選択して出力制御信号ＯＥをＨレベルにする（図５（ｋ））。バッファ回路３９０は、出力制御信号ＯＥに基づいて、入力されるデータ信号ＤＴＯをデータ信号ＤＱ（データ“ＤＢ３"）として出力する（図５（ｍ））。時刻ｔｋにおいて、データ信号ＤＴＡ／ＤＴＢが入力される期間が終了した後の出力制御信号ＴＲＩＡに基づいて生成される出力制御信号ＯＥがバッファ回路３９０に供給され、次のデータ出力までバッファ回路３９０の出力ノードはハイインピーダンス状態になる（図５（ｍ））。
【００４１】
図６は、バッファ回路３９０のドライバ３９１と、終端回路を有するメモリ回路２１との接続を模擬的に示す図である。メモリ回路２１の終端回路は、電源電圧ＶＤＤと電源電圧ＧＮＤとの間に直列に接続される抵抗値２×Ｒｔの抵抗Ｒ１／Ｒ２を備える。抵抗Ｒ１と抵抗Ｒ２との接続ノードに信号線が接続される。すなわち、この終端回路は、交流的に抵抗値Ｒｔの抵抗により終端するものとみなせる。ドライバ３９１は、抵抗値Ｒｄの出力抵抗Ｒ３／Ｒ４を介して信号線に信号を出力する。Ｈレベルの信号を出力するときは、出力抵抗Ｒ３が信号線に接続され、Ｌレベルの信号を出力するときは、出力抵抗Ｒ４が信号線に接続されるものとみなせる。ここでは、電源電圧ＶＤＤは、電源電圧ＧＮＤよりＥボルト高い電圧であるとして説明する。
【００４２】
終端回路では信号の有無すなわち信号線の電圧レベルに関わらず、電流が電源電圧ＶＤＤから抵抗Ｒ１／Ｒ２を介して電源電圧ＧＮＤに流れる。例えば、ドライバ３９１がＨレベルの信号を出力するとき、スイッチは、図６にａで示されるように動作して回路を閉成するとみなせる。このとき、電源電圧ＶＤＤから出力抵抗Ｒ３を介して信号線を電流が流れ、メモリ内の終端抵抗Ｒ２から電源電圧ＧＮＤに流れる電流経路が形成される。すなわち、電流がドライバ側からメモリ側に流れて消費電力が増加する。また、ドライバ３９１がＬレベルの信号を出力するとき、スイッチは、図５にｃで示されるように動作して回路を閉成するとみなせる。このとき、電源電圧ＶＤＤから終端抵抗Ｒ１を介して信号線に電流が流れ、さらにドライバ３９１の出力抵抗Ｒ４を介して電源電圧ＧＮＤに流れる電流経路が形成される。すなわち、電流がメモリ側からドライバ側に流れて消費電力が増加する。メモリ制御装置１０が入力状態等で、ドライバ３９１がデータを出力しないとき、スイッチは図６のｃに示されるように動作して回路を開放するとみなせる。すなわち、ドライバ３９１はハイインピーダンス状態になる。このときは、ドライバ３９１の出力抵抗Ｒ３／Ｒ４を介して流れる電流経路が形成されない。
【００４３】
信号線を介して出力抵抗Ｒ３／Ｒ４を流れる電流経路を有するときの電流と、終端抵抗Ｒ１／Ｒ２の電流経路だけのときの電流との差は、
Ｅ×Ｒｔ／（４×Ｒｔ×（Ｒｄ＋Ｒｔ））＝Ｅ／（４×（Ｒｄ＋Ｒｔ））
となる。したがって、ドライバ３９１がディスエーブル状態（ハイインピーダンス時）に、この電源系に流れる電流Ｉは、ドライバ３９１がイネーブル状態（信号出力時）に比べて、Ｅ／（４×（Ｒｄ＋Ｒｔ））だけ少なくなる。ドライバ３９１がハイインピーダンスになる期間が長いほど、すなわち、データマスクの使用頻度が高いほど、節電効果が高いことが分かる。
【００４４】
図７は、本発明の第２の実施の形態に係る出力制御信号生成部２１０の構成を示す図である。第１の実施の形態に係る出力制御信号生成部２００は、マスク信号ＤＭに対応する期間のバッファ回路出力をハイインピーダンスにした。第２の実施の形態に係る出力制御信号生成部２１０は、マスク信号ＤＭに対応してハイインピーダンスにする期間を短縮し、データ出力状態の期間を延長する。
【００４５】
出力制御信号生成部２１０は、フリップフロップ２１１／２１２／２１３／２１４と、セレクタ２１９と、ＮＡＮＤ回路２１５／２１６と、ＡＮＤ回路２１７／２１８とを備える。入力される出力制御信号ＴＲＩＡ／ＴＲＩＢ、マスク制御信号ＭＯＡ／ＭＯＢは、第１の実施の形態に係る出力制御信号生成部２００の場合と同じ条件である。フリップフロップ２１４は、クロック信号ＣＬＫの立ち上がりエッジに同期してマスク制御信号ＭＯＢを取り込み、データ信号ＤＴＡから出力されるデータの半クロック前に出力されるデータのマスク状態を保持する。ＮＡＮＤ回路２１５は、フリップフロップ２１４の出力信号Ｑ２１４と、マスク制御信号ＭＯＡとを入力し、出力制御信号ＴＲＩＡをゲートする信号を生成してＡＮＤ回路２１７に供給する。ＮＡＮＤ回路２１６は、マスク制御信号ＭＯＡ／ＭＯＢを入力し、出力制御信号ＴＲＩＢをゲートする信号を生成してＡＮＤ回路２１８に供給する。
【００４６】
フリップフロップ２１１は、ＡＮＤ回路２１７によって処理された出力制御信号ＴＲＩＡをクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２１１をセレクタ２１９に出力する。フリップフロップ２１２は、出力制御信号ＴＲＩＢをゲートするＡＮＤ回路２１８の出力をクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２１２をフリップフロップ２１３に出力する。フリップフロップ２１３は、信号Ｑ２１２をクロック信号ＣＬＫの立ち下がりに同期して取り込み、出力信号Ｑ２１３をセレクタ２１９に出力する。選択制御信号としてクロック信号ＣＬＫを入力するセレクタ２１９は、フリップフロップ２１１の出力信号Ｑ２１１と、フリップフロップ２１３の出力信号Ｑ２１３とを入力し、クロック信号ＣＬＫの半周期毎に選択される信号を切り替えて出力する。セレクタ２１９から出力される出力制御信号ＯＥは、バッファ回路３９０の出力制御ノードに供給され、バッファ回路３９０が出力信号を出力するかハイインピーダンス状態となるかを制御する。
【００４７】
図８を参照して、出力制御信号生成部２１０の動作を説明する。図８（ａ）〜（ｇ）に示されるように、データ信号ＤＴＡ／ＤＴＢ、出力制御信号ＴＲＩＡ／ＴＲＩＢ、マスク制御信号ＭＯＡ／ＭＯＢ、クロック信号ＣＬＫが、図５に示されるタイミングと同じタイミングで出力制御信号生成部２１０に入力される。出力制御信号生成部２１０は、出力制御信号生成部２００と異なり、バッファ回路３９０から一つ前に出力されるデータに対するマスク制御信号ＭＯＡ／ＭＯＢの値が入力されるＮＡＮＤ回路２１５／２１６を備える。
【００４８】
フリップフロップ２１４は、マスク制御信号ＭＯＢをクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２１４をＮＡＮＤ回路２１５に供給する。すなわち、クロック信号ＣＬＫの１クロック前のマスク制御信号ＭＯＢの状態を出力制御信号ＴＲＩＡの処理に反映させる働きを有する。マスク制御信号ＭＯＡがマスクすることを示しているときに、その１クロック前のマスク制御信号ＭＯＢすなわちフリップフロップ２１４の出力信号Ｑ２１４がマスクすることを示していなければ（Ｌレベル）、ＮＡＮＤ回路２１５の出力はＨレベルとなる。したがって、ＡＮＤ回路２１７は、出力制御信号ＴＲＩＡに示されるＨレベルを出力し、データ出力が継続されることになる。
【００４９】
図８では、時刻ｔｄにおいて取り込まれるデータ信号ＤＴＢがデータ“ＤＢ１”を示すとき（図８（ｂ））、マスク制御信号ＭＯＢはＬレベルであってデータ“ＤＢ１”の出力を示す（図８（ｆ））。その次に出力されるデータ“ＤＡ２”は、時刻ｔｆにおいて取り込まれ（図８（ａ））、そのときのマスク制御信号ＭＯＡはＨレベルであってデータ“ＤＡ２”をマスクすることを示している（図８（ｅ））。第１の実施の形態において説明された出力制御信号生成部２００では、データ“ＤＡ２”がマスクされるために出力制御信号ＯＥはＬレベルになって、バッファ回路３９０をハイインピーダンスにする。ここでは、ＡＮＤ回路２１７の制御により出力制御信号ＯＥはＨレベルを示して（図８（ｌ）ｔｇ−ｔｈ）、バッファ回路３９０はデータ“ＤＡ２”を出力する（図８（ｎ））。
【００５０】
また、データ信号ＤＴＢ側の処理に関しては、直前に出力されるデータ信号ＤＴＡ側のマスク状態は、出力時のマスク制御信号ＭＯＡの状態によって知ることができる。マスク制御信号ＭＯＢがマスク状態を示し、マスク制御信号ＭＯＡがマスク状態を示さないとき、データ信号ＤＴＢの出力をマスクせずに出力する。ＮＡＮＤ回路２１６によって、マスク制御信号ＭＯＡ／ＭＯＢの論理積を算出することにより、データ信号ＤＴＡ側のデータと、続くデータ信号ＤＴＢ側のデータがともにマスクされるときにバッファ回路３９０をハイインピーダンス化することができる。
【００５１】
図８では、時刻ｔｂにおいて取り込まれるデータ“ＤＢ０”に対してマスク制御信号ＭＯＢはＨレベルであってマスク状態を示す（図８（ｂ）（ｄ））。このとき、データ“ＤＡ０”に対するマスク制御信号ＭＯＡはＬレベルであってマスクしないことを示している（図８（ａ）（ｅ））。したがって、データ“ＤＢ０”を出力するとき（時刻ｔｄ〜ｔｅ）、出力制御信号ＯＥはＨレベルを示し、バッファ回路３９０は、データ“ＤＢ０”を出力する（図８（ｎ））。また、時刻ｔｆにおいて取り込まれるデータ“ＤＡ２”、“ＤＢ２”（図８（ａ）（ｂ））は、マスク制御信号ＭＯＡ／ＭＯＢに示されるように（図８（ｅ）（ｆ））、共にマスクされる。したがって、データ“ＤＢ２”を出力するとき（時刻ｔｈ〜ｔｉ）、出力制御信号ＯＥはＬレベルとなって（図８（ｌ））、バッファ回路３９０はハイインピーダンス化され、データ“ＤＢ２”は出力されない（図８（ｎ））。
【００５２】
このように、出力制御信号生成部２１０は、マスクされないデータの次のデータの期間もハイインピーダンス化されないように制御する出力制御信号ＯＥを生成し、データ出力の期間を延長する。マスクされないデータ出力の期間直後のバスを安定化することができる。ここでは、クロック信号ＣＬＫの半周期分延長する例を示したが、延長期間は、さらにその半分の期間、あるいは、クロック信号ＣＬＫ１周期分などにすることができる。また、延長時間を複数の延長期間から選択できるように選択回路を設け、出力ノードをハイインピーダンスにする時間を短縮できるようにしてもよい。
【００５３】
図９は、本発明の第３の実施の形態に係る出力制御信号生成部２２０の構成を示す図である。第３の実施の形態に係る出力制御信号生成部２２０は、マスク信号ＤＭに対応して出力ノードをハイインピーダンスにしない期間を先取りして延長し、出力ノードをハイインピーダンスにする期間を短縮する。
【００５４】
出力制御信号生成部２２０は、フリップフロップ２２１／２２２／２２３／２２４と、セレクタ２２９と、ＮＡＮＤ回路２２５／２２６と、ＡＮＤ回路２２７／２２８とを備える。入力される出力制御信号ＴＲＩＡ／ＴＲＩＢ、マスク制御信号ＭＯＡ／ＭＯＢは、第１の実施の形態に係る出力制御信号生成部２００の場合と同じ条件である。
【００５５】
フリップフロップ２２４は、クロック信号ＣＬＫの立ち上がりエッジに同期してマスク制御信号ＭＯＢを取り込み、データ信号ＤＴＡから出力されるデータの半クロック前に出力されるデータのマスク状態を保持する。ＮＡＮＤ回路２２５は、マスク制御信号ＭＯＡ／ＭＯＢを入力し、出力制御信号ＴＲＩＡをゲートする信号を生成してＡＮＤ回路２２７に供給する。ＮＡＮＤ回路２２６は、フリップフロップ２２４の出力信号Ｑ２２４と、マスク制御信号ＭＯＡとを入力し、フリップフロップ２２２の出力信号Ｑ２２２をゲートする信号を生成してＡＮＤ回路２２８に供給する。
【００５６】
フリップフロップ２２１は、出力制御信号ＴＲＩＡをゲートするＡＮＤ回路２２７の出力をクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２２１をセレクタ２２９に出力する。フリップフロップ２２２は、出力制御信号ＴＲＩＢをクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２２２をＡＮＤ回路２２８に出力する。ＡＮＤ回路２２８は、ＮＡＮＤ回路２２６の出力とフリップフロップ２２２の出力信号Ｑ２２２とを入力し、論理積をフリップフロップ２２３に出力する。フリップフロップ２２３は、ＡＮＤ回路２２８から出力される信号をクロック信号ＣＬＫの立ち下がりに同期して取り込み、出力信号Ｑ２２３をセレクタ２２９に出力する。
【００５７】
選択制御信号としてクロック信号ＣＬＫを入力するセレクタ２２９は、フリップフロップ２２１の出力信号Ｑ２２１と、フリップフロップ２２３の出力信号Ｑ２２３とを入力し、クロック信号ＣＬＫの半周期毎に選択される信号を切り替えて出力する。セレクタ２２９から出力される出力制御信号ＯＥは、バッファ回路３９０の出力制御ノードに供給され、バッファ回路３９０が出力信号を出力するかハイインピーダンス状態となるかを制御する。
【００５８】
図１０を参照して、出力制御信号生成部２２０の動作を説明する。図１０（ａ）〜（ｇ）に示されるように、データ信号ＤＴＡ／ＤＴＢ、出力制御信号ＴＲＩＡ／ＴＲＩＢ、マスク制御信号ＭＯＡ／ＭＯＢ、クロック信号ＣＬＫが、図５に示されるタイミングと同じタイミングで出力制御信号生成部２１０に入力される。出力制御信号生成部２２０は、バッファ回路３９０から次に出力されるデータに対するマスク制御信号ＭＯＡ／ＭＯＢの値が入力されるＮＡＮＤ回路２２５／２２６を備える。
【００５９】
フリップフロップ２２１は、出力制御信号ＴＲＩＡがＨレベルを示す期間に、マスク制御信号ＭＯＡ／ＭＯＢの少なくとも一方がＬレベルでマスクしないことを示すとき、クロック信号ＣＬＫの立ち上がりに同期して、Ｈレベルを取り込み、出力信号Ｑ２２１を出力する（図１０（ｈ））。したがって、データ信号ＤＴＢ側のデータを出力するときに、先行するデータ信号ＤＴＡ側のデータ出力期間においてバッファ回路３９０を出力状態にする。すなわち、データ信号ＤＴＡ側のデータ出力がマスクされるときもＤＴＡ側のデータが出力されることになる。
【００６０】
フリップフロップ２２４は、マスク制御信号ＭＯＢをクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２２４をＮＡＮＤ２２６に供給する（図１０（ｉ））。したがって、フリップフロップ２２４の出力信号Ｑ２２４は、マスク制御信号ＭＯＢをクロック信号ＣＬＫの立ち上がりに同期して変化するように遅延させた信号となる。フリップフロップ２２２は、出力制御信号ＴＲＩＢをクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２２２を出力する（図１０（ｊ））。この出力信号Ｑ２２２は、フリップフロップ２２４の出力信号Ｑ２２４とマスク制御信号ＭＯＡの少なくとも一方がＬレベルを示すときに有効となるようにＡＮＤ回路２２８でゲートされ、フリップフロップ２２３に供給される。
【００６１】
フリップフロップ２２３は、ＡＮＤ回路２２８の出力信号をクロック信号ＣＬＫの立ち上がりに同期して取り込み、出力信号Ｑ２２３を出力する（図１０（ｋ））。セレクタ２２９は、クロック信号ＣＬＫがＬレベルのときにフリップフロップ２２１の出力信号Ｑ２２１を選択し、クロック信号ＣＬＫがＨレベルのときにフリップフロップ２２３の出力信号を選択して出力制御信号ＯＥとして出力する（図１０（ｌ））。したがって、マスク制御信号ＭＯＡ／ＭＯＢによってマスクされるデータのうち、データ“ＤＢ０”とデータ“ＤＡ３”の出力期間は次にデータを出力する期間があるため、バッファ回路３９０をハイインピーダンス状態にせずに、データ“ＤＢ０”、“ＤＡ３”が出力される。このデータ“ＤＢ０”、“ＤＡ３”は、もともとマスクされるデータであるため、ダミーデータであってよい。
【００６２】
このように、出力制御信号生成部２２０は、マスクされないデータの前のデータもハイインピーダンス化されないように制御する出力制御信号ＯＥを生成し、データ出力の期間を延長することができる。マスクされないデータ出力の期間直前のデータバスを安定化することができる。また、第２の実施の形態と同じように延長期間も変更可能である。
【００６３】
第１の実施の形態のように、マスク制御信号ＭＯＡ／ＭＯＢに基づいてバースト転送中にバッファ回路３９０の出力ノードのハイインピーダンス化（出力をディスエーブルする）を制御することにより、使用環境によっては、ＳＤＲＡＭ２０端においてデータ信号の波形が乱れ、必要なセットアップ時間やホールド時間の確保が難しくなる可能性がある。その場合には、第２、第３の実施の形態の出力制御信号生成部２１０／２２０のように変更し、バッファ回路３９０の出力ノードのハイインピーダンス化（出力をディスエーブルする）タイミングを遅らせたり、ハイインピーダンス化を解除する（出力をイネーブルする）タイミングを早めたり、あるいは、その両方を適用するとよい。
【００６４】
上述の実施の形態では、タイミングを生成するクロック信号として、クロック信号ＣＬＫを用いているため、各タイミングはクロック信号ＣＬＫの半周期を基準としている。しかし、メモリ制御装置内部では、さらに周期の短い（周波数が高い）クロック信号も使用されているため、例えば、クロック信号ＣＬＫの１／４周期を基準とするタイミングを生成することも可能である。また、バスの規格に矛盾しなければ、先頭のデータ出力期間、最後尾のデータ出力期間を延長することも可能である。上記では、２本のデータ信号ＤＴＡ／ＤＴＢからデータが供給されてデータ出力信号を生成するとして説明したが、より多くのデータ信号から１本のデータ出力信号を生成してもよい。
【００６５】
図１１は、本発明の第４の実施の形態に係るメモリ制御装置１０の書き込みデータ出力部の構成を示す図である。書き込みデータ出力部は、マスク信号ＤＭを生成して出力するマスク信号生成部１００と、マスク信号をＳＤＲＡＭに出力するバッファ回路１９０と、データ信号ＤＱを生成するデータ信号生成部３００と、データ信号ＤＱを双方向バスに出力するバッファ回路３９０と、バッファ回路３９０の出力を制御する出力制御信号生成部２００／２１０／２２０と、セレクタ４１０と、設定回路４００とを備える。
【００６６】
マスク信号生成部１００、バッファ回路１９０、データ信号生成部３００、バッファ回路３９０は、第１の実施の形態において説明されたものと同じであり、出力制御信号生成部２００／２１０／２２０は、それぞれ第１、第２、第３の実施の形態において説明されたものと同じであり、それぞれ出力制御信号ＯＥ０／ＯＥ１／ＯＥ２を出力する。設定回路４００は、入力される設定信号ＯＰＡ／ＯＰＢに基づいて、セレクタ４１０を制御する信号を生成する。セレクタ４１０は、出力制御信号生成部２００／２１０／２２０から出力される出力制御信号ＯＥ０／ＯＥ１／ＯＥ２のうちのいずれかを選択して出力制御信号ＯＥＮを出力する。バッファ回路３９０は、設定信号ＯＰＡ／ＯＰＢに基づいてセレクタ４１０から出力される出力制御信号ＯＥＮにしたがって出力ノードをハイインピーダンスにする。これによって、ハイインピーダンス化する期間をメモリシステムの状況に応じて選択することができる。ここでは、説明を簡単にするために、出力制御信号生成部２００／２１０／２２０を分離しているが、共通化して回路を簡略化してもよい。
【００６７】
設定信号ＯＰＡ／ＯＰＢは、メモリ制御装置１０の内部に設置情報を保持するレジスタから供給されてもよい。設置情報を保持するレジスタは、設定回路４００内にあってもよい。設置情報を保持するレジスタを備えると、初期設定時にメモリ制御装置１０の他のパラメータとともに、設定信号ＯＰＡ／ＯＰＢの設定値をレジスタに設定することが可能となる。メモリ制御装置１０を制御する装置が外部にある場合には、メモリ制御装置１０が動作を開始するときに、このレジスタに設定することが可能になる。各種設定値を格納する不揮発性メモリを有する場合には、その不揮発性メモリに設定される設定信号ＯＰＡ／ＯＰＢの設定値をレジスタに設定することが可能となる。また、メモリ制御装置１０は、設定信号ＯＰＡ／ＯＰＢを外部から取り込む端子を備えてもよい。
【００６８】
ここでは、バースト転送の途中でマスク信号に基づいてバッファ回路３９０をハイインピーダンスにする出力制御信号生成部２００／２１０／２２０を備えるメモリ制御装置１０を説明したが、図１に示されるように、バースト転送中はバッファ回路３９０をハイインピーダンスにしない出力制御信号生成部も備えてもよい。バースト転送の途中でマスク信号に基づいてバッファ回路３９０をハイインピーダンスにするしないを切り替えこともできる。複数の動作速度モードを持つシステムにおいて、高速動作時には信号波形品質を、低速動作時には消費電力削減を優先させるように切り替えることが可能である。また、このような切り替え機能を有することは、出荷テストするとき等にバースト転送時にハイインピーダンス化する機能を無効にするときにも有効である。
【００６９】
以上、実施の形態を参照して本願発明を説明したが、上記実施の形態は、矛盾のない限り組み合わせて実施可能である。また、本願発明は上記実施の形態に限定されるものではなく、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７０】
１０  メモリ制御装置
２０  ＳＤＲＡＭ
２１  メモリ回路
１００  マスク信号生成部
１０１〜１０３  フリップフロップ
１０９  セレクタ
１９０  バッファ回路
２００、２１０、２２０  出力制御信号生成部
２０１〜２０３、２１１〜２１４、２２１〜２２４  フリップフロップ
２０５、２０６  インバータ回路
２１５、２１６、２２５、２２６  ＮＡＮＤ回路
２０７、２０８、２１７、２１８、２２７、２２８  ＡＮＤ回路
２０９、２１９、２２９  セレクタ
３００  データ信号生成部
３９０  バッファ回路
３９１  ドライバ
４００  設定回路
４１０  セレクタ
【図１】
0005876271.tif 000002
【図２】
0005876271.tif 000003
【図３】
0005876271.tif 000004
【図４】
0005876271.tif 000005
【図５】
0005876271.tif 000006
【図６】
0005876271.tif 000007
【図７】
0005876271.tif 000008
【図８】
0005876271.tif 000009
【図９】
0005876271.tif 000010
【図１０】
0005876271.tif 000011
【図１１】
0005876271.tif 000012