(57)【要約】【課題】ダイナミックＯＤＴ機能を有する半導体記憶装置において正確なライトレベリング動作を行う。【解決手段】ライトレベリングモード時に活性化されるスキュー検出回路１１０と、ＯＤＴ信号を用いてデータストローブ端子１５ａに接続された終端抵抗回路を活性化させるＯＤＴ制御回路２００とを備える。ＯＤＴ制御回路２００は、ライトレベリングモード時においてダイナミックＯＤＴが不使用状態である場合には第１の抵抗モードを選択し、ライトレベリングモード時においてダイナミックＯＤＴが使用状態である場合には第２の抵抗モードを選択する。これにより、実際のライト動作時においてダイナミックＯＤＴが使用状態である場合の抵抗値と、ダイナミックＯＤＴが不使用状態である場合の抵抗値を再現することができるため、より正確なライトレベリング動作を行うことが可能となる。【選択図】図４
2010192031.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号が入力されるクロック端子と、
ライトデータの入力タイミングを示すデータストローブ信号が入力されるデータストローブ端子と、
前記データストローブ信号に同期して前記ライトデータを受け付ける通常動作モードと、前記クロック信号と前記データストローブ信号とのスキューを測定するライトレベリングモードに設定可能なモードレジスタと、
前記データストローブ端子に接続された終端抵抗回路と、
前記終端抵抗回路を活性化させる否かを指定するＯＤＴ信号が入力されるコマンド端子と、
前記ライトレベリングモード時に活性化され、前記クロック信号と前記データストローブ信号とのスキューを測定してその結果を出力するスキュー検出回路と、
前記ＯＤＴ信号を用いて前記終端抵抗回路を活性化させるＯＤＴ制御回路と、を備え、
前記モードレジスタは、前記終端抵抗回路の抵抗値を動的に変化させるダイナミックＯＤＴの使用有無を指定するレジスタを有しており、
前記終端抵抗回路は、第１の抵抗値に設定される第１の抵抗モードと、前記第１の抵抗値とは異なる第２の抵抗値に設定される第２の抵抗モードとを有しており、
前記ＯＤＴ制御回路は、前記ライトレベリングモード時において前記ダイナミックＯＤＴが不使用状態である場合には前記第１の抵抗モードを選択し、前記ライトレベリングモード時において前記ダイナミックＯＤＴが使用状態である場合には前記第２の抵抗モードを選択することを特徴とする半導体記憶装置。
【請求項２】
前記ＯＤＴ制御回路は、前記通常動作モード時において前記ダイナミックＯＤＴが使用状態である場合、同じバスに接続された他の半導体記憶装置がリード動作を行う際には前記第１の抵抗モードを選択し、当該半導体記憶装置がライト動作を行う際には前記第２の抵抗モードを選択することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記第１及び第２の抵抗値は、前記モードレジスタへの設定値によって定められることを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記ライトデータが入力されるデータ端子をさらに備え、
前記スキュー検出回路は、前記スキューの測定結果を前記データ端子から出力することを特徴とする請求項１乃至３のいずれか一項に記載の半導体記憶装置。
【請求項５】
前記ＯＤＴ制御回路は、前記クロック信号又はこれに同期した内部クロックを所定数カウントすることによって前記ＯＤＴ信号を遅延させるカウンタを含み、前記通常動作モード時においては、前記カウンタを通過した前記ＯＤＴ信号を用いて前記終端抵抗回路を活性化させることを特徴とする請求項１乃至４のいずれか一項に記載の半導体記憶装置。
【請求項６】
前記カウンタによるカウント数は、前記モードレジスタへの設定値によって定められることを特徴とする請求項５に記載の半導体記憶装置。
【請求項７】
前記クロック信号に同期した前記内部クロックを生成するＤＬＬ回路をさらに備え、前記ＯＤＴ制御回路に含まれる前記カウンタは、前記内部クロックを所定数カウントすることによって前記ＯＤＴ信号を遅延させることを特徴とする請求項５又は６に記載の半導体記憶装置。
【請求項８】
前記ＤＬＬ回路の使用の有無は前記モードレジスタへの設定値によって定められ、
前記ＯＤＴ制御回路は、前記ＤＬＬ回路を使用しない場合、前記カウンタをバイパスした前記ＯＤＴ信号を用いて前記終端抵抗回路を活性化させることを特徴とする請求項７に記載の半導体記憶装置。
【請求項９】
前記終端抵抗回路は、リードデータの出力タイミングを示すデータストローブ信号を出力する出力バッファを兼ねていることを特徴とする請求項１乃至８のいずれか一項に記載の半導体記憶装置。
【請求項１０】
所定の周期で発行される外部コマンドに応答して、前記ライトレベリングモードにエントリされることを特徴とする請求項１乃至９のいずれか一項に記載の半導体記憶装置。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の半導体記憶装置が基板上に複数搭載されたメモリモジュールであって、
前記複数の半導体記憶装置に設けられた前記クロック端子は、前記基板上に設けられた同じバスにフライバイ接続されていることを特徴とするメモリモジュール。
【請求項１２】
請求項１１に記載のメモリモジュールと、前記メモリモジュールに接続されたメモリコントローラとを備えるデータ処理システムであって、
前記メモリコントローラは、前記複数の半導体記憶装置に対して所定の周期で前記外部コマンドを発行することによって前記ライトレベリングモードにエントリさせ、これにより、前記クロック信号と前記データストローブ信号とのスキューを前記複数の半導体記憶装置それぞれについて測定し、測定の結果に基づいて前記データストローブ信号の供給タイミングを調整することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶装置に関し、特に、クロック信号とデータストローブ信号とのスキューを測定するライトレベリングモードを有する半導体記憶装置に関する。また、本発明は、このような半導体記憶装置を備えるメモリモジュール及びデータ処理システムに関する。
【背景技術】
【０００２】
ＤＲＡＭ（Dynamic Random Access Memory）に代表される半導体記憶装置とメモリコントローラとの間におけるリードデータ及びライトデータの送受信は、データストローブ信号に同期して行われることがある。例えば、ライト動作においては、メモリコントローラから半導体記憶装置に対してデータストローブ信号とライトデータが供給され、半導体記憶装置は、データストローブ信号に同期してライトデータの取り込みを行う。
【０００３】
しかしながら、半導体記憶装置に取り込まれたライトデータをメモリセルアレイに転送する動作は、データストローブ信号とは異なるクロック信号に同期して行われる。このため、データストローブ信号とクロック信号との間にスキューが存在すると、ライト動作を正しく行うことができなくなる。このような問題を解決すべく、半導体記憶装置には、クロック信号とデータストローブ信号とのスキューを測定するライトレベリングモードが備えられることがある（特許文献１参照）。
【０００４】
ライトレベリングモードにエントリすると、半導体記憶装置はメモリコントローラから供給されるデータストローブ信号の立ち上がりエッジにてクロック信号をサンプリングし、これをデータ端子から出力する。これにより、メモリコントローラは、データストローブ信号とクロック信号のスキュー量を知ることができるため、これを考慮してデータストローブ信号の出力タイミングを調整することができる。
【０００５】
上述したライトレベリング動作は、ライト動作時におけるデータストローブ信号とクロック信号のスキューを測定するための動作であることから、できる限り実際のライト動作と同じ条件で実行することが好ましい。
【０００６】
しかしながら、半導体記憶装置の中にはいわゆるダイナミックＯＤＴ機能を備えているものがある。ダイナミックＯＤＴとは、半導体記憶装置に内蔵された終端抵抗回路の抵抗値を動的に変化させる機能であり、同じバスに接続された他の半導体記憶装置がリード動作を行う場合と、当該半導体記憶装置がライト動作を行う場合とで、終端抵抗回路の抵抗値を異なる値に変化させる機能である。したがって、ダイナミックＯＤＴ機能が有効である場合には、ライトコマンドの発行に応答して終端抵抗回路の抵抗値が変化する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】JEDEC STANDARD, DDR3 SDRAM Specification, JESD79-3B (Revision of JESD79-3A, September 2007), April 2008, JEDEC SOLID STATE TECHNOLOGY ASSOCIATION<URL: http://www.jedec.org/download/search/JESD79-3B.pdf >
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、ライトレベリング動作時にはライトコマンドが発行されないことから、終端抵抗回路の抵抗値は、当該半導体記憶装置がライト動作を行う場合の抵抗値ではなく、同じバスに接続された他の半導体記憶装置がリード動作を行う場合の抵抗値に設定されてしまう。このため、従来の半導体記憶装置では、ダイナミックＯＤＴ機能が有効である場合、ライトレベリング時とライト動作とで終端抵抗回路の抵抗値が異なってしまい、正確なライトレベリング動作がなされないという問題があった。
【課題を解決するための手段】
【０００９】
本発明による半導体記憶装置は、クロック信号が入力されるクロック端子と、ライトデータの入力タイミングを示すデータストローブ信号が入力されるデータストローブ端子と、前記データストローブ信号に同期して前記ライトデータを受け付ける通常動作モードと、前記クロック信号と前記データストローブ信号とのスキューを測定するライトレベリングモードに設定可能なモードレジスタと、前記データストローブ端子に接続された終端抵抗回路と、前記終端抵抗回路を活性化させる否かを指定するＯＤＴ信号が入力されるコマンド端子と、前記ライトレベリングモード時に活性化され、前記クロック信号と前記データストローブ信号とのスキューを測定してその結果を出力するスキュー検出回路と、前記ＯＤＴ信号を用いて前記終端抵抗回路を活性化させるＯＤＴ制御回路と、を備え、前記モードレジスタは、前記終端抵抗回路の抵抗値を動的に変化させるダイナミックＯＤＴの使用有無を指定するレジスタを有しており、前記終端抵抗回路は、第１の抵抗値に設定される第１の抵抗モードと、前記第１の抵抗値とは異なる第２の抵抗値に設定される第２の抵抗モードとを有しており、前記ＯＤＴ制御回路は、前記ライトレベリングモード時において前記ダイナミックＯＤＴが不使用状態である場合には前記第１の抵抗モードを選択し、前記ライトレベリングモード時において前記ダイナミックＯＤＴが使用状態である場合には前記第２の抵抗モードを選択することを特徴とする。
【００１０】
また、本発明によるメモリモジュールは、上記の半導体記憶装置が基板上に複数搭載されたメモリモジュールであって、前記複数の半導体記憶装置に設けられた前記クロック端子が前記基板上に設けられた同じバスにフライバイ接続されていることを特徴とする。
【００１１】
さらに、本発明によるデータ処理システムは、上記のメモリモジュールと、前記メモリモジュールに接続されたメモリコントローラとを備えるデータ処理システムであって、前記メモリコントローラは、前記複数の半導体記憶装置に対して所定の周期で前記外部コマンドを発行することによって前記ライトレベリングモードにエントリさせ、これにより、前記クロック信号と前記データストローブ信号とのスキューを前記複数の半導体記憶装置それぞれについて測定し、測定の結果に基づいて前記データストローブ信号の供給タイミングを調整することを特徴とする。
【発明の効果】
【００１２】
本発明の半導体記憶装置によれば、ダイナミックＯＤＴの使用有無によってライトレベリングモード時における終端抵抗回路の抵抗値を変化させていることから、ライトコマンドが発行されなくても、実際のライト動作時においてダイナミックＯＤＴが使用状態である場合の抵抗値と、ダイナミックＯＤＴが不使用状態である場合の抵抗値を再現することが可能となる。これにより、ダイナミックＯＤＴ機能を有する半導体記憶装置であっても、ライトレベリング時とライト動作とで終端抵抗回路の抵抗値が一致することから、より正確なライトレベリング動作を行うことが可能となる。
【００１３】
また、本発明のメモリモジュールによれば、各半導体記憶装置に設けられたクロック端子がフライバイ接続されている場合であっても、これにより生じるスキューの調整を正確に行うことが可能となる。
【００１４】
さらに、本発明のデータ処理システムによれば、システム起動後の動作中に定期的又は周期的にライトレベリングモードにエントリする場合であっても、正確なスキューの調整をその都度行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の好ましい実施形態によるデータ処理システムの構成を示す図である。
【図２】半導体記憶装置１０の構成を示すブロック図である。
【図３】モードレジスタ５４のうち、ライトレベリング動作に関わる部分を示す図である。
【図４】データストローブ信号入出力回路１００の主要部を示す回路図である。
【図５】半導体記憶装置１０のライトレベリングモード時における動作を示すタイミング図であり、ダイナミックＯＤＴ機能が有効である場合の動作を示している。
【図６】半導体記憶装置１０のライトレベリングモード時における動作を示すタイミング図であり、ダイナミックＯＤＴ機能が無効である場合の動作を示している。
【図７】各動作モードにおけるレイテンシ及びＯＤＴインピーダンスを示す表である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００１７】
図１は、本発明の好ましい実施形態によるデータ処理システムの構成を示す図である。
【００１８】
図１に示すデータ処理システムは、メモリモジュール２とこれに接続されたメモリコントローラ４によって構成されている。メモリモジュール２は、モジュール基板６に複数の半導体記憶装置１０（ＤＲＡＭ０〜ＤＲＡＭ７）が搭載された構成を有している。図１に示すメモリモジュール２は、モジュール基板６に８個のＤＲＡＭ０〜ＤＲＡＭ７が搭載された構成を有しているが、モジュール基板６に搭載する半導体記憶装置１０の数についてはこれに限定されるものではない。また、半導体記憶装置１０の搭載位置についても、モジュール基板６の片面のみであっても構わないし、両面であっても構わない。
【００１９】
半導体記憶装置１０の種類についても特に限定されるものではないが、本実施形態では、ＤＤＲ３（Double Data Rate 3）型のＤＲＡＭが用いられている。ＤＤＲ３型のＤＲＡＭは、ＤＤＲ２型のＤＲＡＭに対して電源電圧を約１７％低電圧化（１．８Ｖから１．５Ｖに低下）しつつ、２倍の周波数で動作させるべく、メモリモジュール２とメモリコントローラ４との間の接続方式が変更されている。
【００２０】
具体的には、図１に示すように、データＤＱ（リードデータ及びライトデータ）及びデータストローブ信号ＤＱＳ、／ＤＱＳについては、メモリモジュール２とメモリコントローラ４との間をほぼ等長且つ最短距離で接続し、これによって２．１Ｇｂｐｓまでの高速データ転送を実現している。一方、クロック信号ＣＫ、／ＣＫ、アドレス信号ＡＤＤ及びコマンド信号ＣＭＤについては、モジュール基板６上に設けられた同じバス８にフライバイ（Fly By）接続されている。フライバイ接続とはいわゆる一筆書き方式の接続である。フライバイ方式を採用することによって、ＤＤＲ２型の等長配線方式と比べて、モジュール基板６内の総配線長や配線数が削減される。これにより、バス８のレイアウト制約が緩和され、高品質な配線レイアウトが実現されるため、１．０６７Ｇｂｐｓ（ＤＱ，ＤＱＳの１／２）までの高速アドレス・コマンド転送を実現している。
【００２１】
但し、フライバイ方式を用いると、モジュール基板６上における半導体記憶装置１０の搭載位置によって、データストローブ信号ＤＱＳとクロック信号ＣＫのスキューが大きく異なってしまう。図１に示す例では、メモリコントローラ４に最も近いＤＲＡＭ０においてスキューが最も小さく、メモリコントローラ４から最も遠いＤＲＡＭ７においてスキューが最大となる。このため、ＤＲＡＭ０のスキューに合わせてデータストローブ信号ＤＱＳを出力すると、ＤＲＡＭ１〜ＤＲＡＭ７では、クロック信号ＣＫがデータストローブ信号ＤＱＳに対して遅れてしまい、その遅れはＤＲＡＭ７において最大となる。逆もまた然りであり、ＤＲＡＭ７のスキューに合わせてデータストローブ信号ＤＱＳを出力すると、ＤＲＡＭ０〜ＤＲＡＭ６では、クロック信号ＣＫがデータストローブ信号ＤＱＳに対して早すぎ、その進みはＤＲＡＭ０において最大となる。
【００２２】
したがって、これらＤＲＡＭ０〜ＤＲＡＭ７に対しては、データストローブ信号ＤＱＳの出力タイミングをそれぞれ調整する必要がある。かかる調整に必要なスキュー量を測定する動作がライトレベリング動作である。メモリコントローラ４は、システム起動時はもちろんのこと、システム起動後の動作中においても周期的にこれらＤＲＡＭ０〜ＤＲＡＭ７をライトレベリングモードにエントリさせることにより、温度・電源電圧などの動作環境に応じて変化するスキューを定期的にモニタし、データストローブ信号ＤＱＳの出力タイミングを調整する。
【００２３】
ライトレベリングモードにエントリすると、ＤＲＡＭ０〜ＤＲＡＭ７は、メモリコントローラから供給されるデータストローブ信号ＤＱＳの立ち上がりエッジにてクロック信号ＣＫをサンプリングし、これをデータ端子からデータＤＱとして出力する。これにより、メモリコントローラ４は、データストローブ信号ＤＱＳとクロック信号ＣＫのスキュー量を知ることができるため、これを考慮してデータストローブ信号ＤＱＳの出力タイミングを調整することができる。
【００２４】
図２は、半導体記憶装置１０の構成を示すブロック図である。
【００２５】
本実施形態による半導体記憶装置１０は、上述の通りＤＤＲ３型のＤＲＡＭであり、外部端子として、クロック端子１１ａ，１１ｂ、コマンド端子１２ａ〜１２ｅ、アドレス端子１３、データ入出力端子１４及びデータストローブ端子１５ａ，１５ｂを備えている。その他、電源端子なども備えられているが、これらについては図示を省略してある。
【００２６】
クロック端子１１ａ，１１ｂは、それぞれクロック信号ＣＫ，／ＣＫが供給される端子であり、供給されたクロック信号ＣＫ，／ＣＫは、クロック入力回路２１に供給される。本明細書において信号名の先頭に「／」が付されている信号は、対応する信号の反転信号であることを意味する。したがって、クロック信号ＣＫ，／ＣＫは互いに相補の信号である。
【００２７】
クロック入力回路２１の出力であるクロック信号ＰＣＬＫは、タイミング発生回路２２、ＤＬＬ回路２３及びデータストローブ信号入出力回路１００に供給される。タイミング発生回路２２は各種の内部クロックＩＣＬＫを生成し、これを各種内部回路に供給する役割を果たす。また、ＤＬＬ回路２３は出力用クロックＬＣＬＫを生成し、これを後述するデータ入出力回路８０及びデータストローブ信号入出力回路１００に供給する役割を果たす。
【００２８】
クロック信号ＰＣＬＫは、外部から供給されるクロック信号ＣＫ，／ＣＫの位相とほぼ一致している。これに対し、ＤＬＬ回路２３が生成する出力用クロックＬＣＬＫは、クロック信号ＣＫ，／ＣＫに対して位相制御された信号であり、リードデータＤＱ及びデータストローブ信号ＤＱＳ，／ＱＤＳの位相がクロック信号ＣＫ，／ＣＫの位相と一致するよう、クロック信号ＣＫ，／ＣＫに対してやや位相が進められている。
【００２９】
ＤＬＬ回路２３は、モードレジスタ５４へのセット内容に応じて、使用の可否が選択される。つまり、モードレジスタ５４に「ＤＬＬオンモード」がセットされている場合には、ＤＬＬ回路２３は使用状態とされ、出力用クロックＬＣＬＫはクロック信号ＣＫ，／ＣＫに対して位相制御される。一方、モードレジスタ５４に「ＤＬＬオフモード」がセットされている場合には、ＤＬＬ回路２３は不使用状態とされ、出力用クロックＬＣＬＫはクロック信号ＣＫ，／ＣＫに対して位相制御されなくなる。したがって、ＤＬＬオフモードである場合には、出力用クロックＬＣＬＫはクロック信号ＣＫよりも位相の遅れた信号となる。
【００３０】
コマンド端子１２ａ〜１２ｅは、それぞれロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥ、チップセレクト信号／ＣＳ、及びオンダイターミネーション信号ＯＤＴ（ＯＤＴ信号）が供給される端子である。これらのコマンド信号ＣＭＤは、コマンド入力回路３１に供給される。コマンド入力回路３１に供給されたこれらコマンド信号ＣＭＤは、コマンドデコーダ３２に供給される。コマンドデコーダ３２は、内部クロックＩＣＬＫに同期して、コマンド信号の保持、デコード及びカウントなどを行うことによって、各種内部コマンドＩＣＭＤを生成する回路である。生成された内部コマンドは、ロウ系制御回路５１、カラム系制御回路５２、リードライト制御回路５３及びモードレジスタ５４に供給される。特に、ＯＤＴ信号は、後述する終端抵抗回路を活性化させる否かを指定する信号である。
【００３１】
アドレス端子１３は、アドレス信号ＡＤＤが供給される端子であり、供給されたアドレス信号ＡＤＤは、アドレス入力回路４１に供給される。アドレス入力回路４１の出力は、アドレスラッチ回路４２に供給される。アドレスラッチ回路４２は、内部クロックＩＣＬＫに同期してアドレス信号ＡＤＤをラッチする回路である。アドレスラッチ回路４２にラッチされたアドレス信号ＡＤＤのうち、ロウアドレスについてはロウ系制御回路５１に供給され、カラムアドレスについてはカラム系制御回路５２に供給される。また、モードレジスタセットにエントリしている場合には、アドレス信号ＡＤＤはモードレジスタ５４に供給され、これによってモードレジスタ５４の内容が更新される。
【００３２】
ロウ系制御回路５１の出力は、ロウデコーダ６１に供給される。ロウデコーダ６１は、メモリセルアレイ７０に含まれるいずれかのワード線ＷＬを選択する回路である。メモリセルアレイ７０内においては、複数のワード線ＷＬと複数のビット線ＢＬが交差しており、その交点にはメモリセルＭＣが配置されている（図２では、１本のワード線ＷＬ、１本のビット線ＢＬ及び１個のメモリセルＭＣのみを示している）。ビット線ＢＬは、それぞれ対応するセンスアンプ６３に接続されている。
【００３３】
また、カラム系制御回路５２の出力は、カラムデコーダ６２に供給される。カラムデコーダ６２は、いずれかのセンスアンプ６３を選択する回路である。カラムデコーダ６２によって選択されたセンスアンプ６３は、データアンプ６４に接続される。データアンプ６４は、リード動作時においてはセンスアンプ６３によって増幅されたリードデータをさらに増幅し、これをデータ入出力回路８０に供給する。一方、ライト動作時においては、データ入出力回路８０から供給されるライトデータを増幅し、これをセンスアンプ６３に供給する。データアンプ６４及びデータ入出力回路８０の動作は、リードライト制御回路５３によって制御される。
【００３４】
データ入出力端子（データ端子）１４は、リードデータＤＱの出力及びライトデータＤＱの入力を行うための端子であり、データ入出力回路８０に接続されている。データ入出力回路８０には、出力用クロックＬＣＬＫ及び内部データストローブ信号ＰＤＱＳが供給されており、リード動作時においては出力用クロックＬＣＬＫに同期してリードデータを出力し、ライト動作時においては内部データストローブ信号ＰＤＱＳに同期してライトデータを取り込む。また、ライトレベリングモード時においては、データストローブ信号入出力回路１００より供給されるスキュー検出信号ＳＫＥＷを受け、これを出力用クロックＬＣＬＫとは非同期に出力する。
【００３５】
データストローブ端子１５ａ，１５ｂは、それぞれデータストローブ信号ＤＱＳ，／ＱＤＳの入出力を行うための端子であり、データストローブ信号入出力回路１００に接続されている。図２に示すように、データストローブ信号入出力回路１００にはＯＤＴ制御回路２００が含まれている。ＯＤＴ制御回路２００は、内部コマンドＩＣＭＤに含まれる内部ＯＤＴ信号PODT及びライト信号Writeに基づいて、データストローブ信号入出力回路１００に含まれる終端抵抗回路（出力バッファを兼ねる）を活性化させる回路である。内部ＯＤＴ信号PODTとは、オンダイターミネーション信号ＯＤＴ（ＯＤＴ信号）に連動する信号である。また、ライト信号Writeとは、コマンド信号ＣＭＤがライトコマンドを示している場合に活性化される信号である。ＯＤＴ制御回路２００の詳細については後述する。
【００３６】
また、データストローブ信号入出力回路１００にはスキュー検出回路１１０が含まれている。スキュー検出回路１１０は、ライトレベリングモード時において、データストローブ信号ＤＱＳとクロック信号ＰＣＬＫのスキューを検出する回路であり、その出力であるスキュー検出信号ＳＫＥＷは、データ入出力回路８０に供給される。
【００３７】
以上が本実施形態による半導体記憶装置１０の全体構成である。次に、ライトレベリング動作に関わる回路について、より詳細に説明する。
【００３８】
図３は、モードレジスタ５４のうち、ライトレベリング動作に関わる部分を示す図である。
【００３９】
図３に示すように、モードレジスタ５４は、少なくともレジスタ５４ａ〜５４ｆを含んでいる。
【００４０】
レジスタ５４ａは、プリチャージパワーダウン時のＤＬＬ回路２３の使用有無を指定するためのレジスタである。具体的には、レジスタ５４ａに「１」がセットされた場合には「プリチャージパワーダウン時にＤＬＬオンモード」となり、プリチャージパワーダウン時にＤＬＬ回路２３が使用される。一方、レジスタ５４ａに「０」がセットされた場合には「プリチャージパワーダウン時にＤＬＬオフモード」となり、プリチャージパワーダウン時にＤＬＬ回路２３が使用されなくなる。レジスタ５４ａの設定値は、インバータＩＮＶによって反転され、非同期ＯＤＴモード信号SlowPDとして出力される。
【００４１】
レジスタ５４ｂは、ＣＡＳライトレイテンシ（ＣＷＬ）を設定するためのレジスタである。ＣＡＳライトレイテンシとは、ライト信号Writeが活性化してからライトデータを入力するまでのクロック数を指す。
【００４２】
レジスタ５４ｃは、アディティブレイテンシ（ＡＬ）を設定するためのレジスタである。アディティブレイテンシとは、ライトコマンドが発行されてから、半導体記憶装置１０の内部でライト信号Writeが活性化するまでのクロック数を指す。したがって、ライトコマンドが発行されてからライトデータＤＱを入力するまでのクロック数は、ＡＬ＋ＣＷＬで定義される。
【００４３】
レジスタ５４ｄは、ライトレベリングモードにエントリするためのレジスタである。具体的には、レジスタ５４ｄに「０」がセットされた場合には「通常動作モード」となり、レジスタ５４ｄに「１」がセットされた場合には「ライトレベリングモード」となる。レジスタ５４ｄの設定値は、ライトレベリング信号WriteLevとして出力される。
【００４４】
レジスタ５４ｅは、インピーダンスコードRtt_Nomを設定するためのレジスタである。インピーダンスコードRtt_Nomとは、終端抵抗回路を第１の抵抗モードで動作させる場合の抵抗値を示すコードであり、同じバスに接続された他の半導体記憶装置１０がリード動作を行う際の終端抵抗値を示している。また、後述するダイナミックＯＤＴ機能を使用しない場合には、当該半導体記憶装置１０がライト動作を行う際にも、終端抵抗回路は第１の抵抗モードで動作し、インピーダンスコードRtt_Nomが示す第１の抵抗値に設定される。
【００４５】
レジスタ５４ｆは、ダイナミックＯＤＴ機能の使用有無、並びに、インピーダンスコードRtt_WRを設定するためのレジスタである。インピーダンスコードRtt_WRとは、終端抵抗回路を第２の抵抗モードで動作させる場合の抵抗値を示すコードであり、ダイナミックＯＤＴ使用時において、当該半導体記憶装置１０がライト動作を行う際の終端抵抗値を示している。レジスタ５４ｆの設定値によってダイナミックＯＤＴ機能が使用状態とされると、ダイナミックＯＤＴイネーブル信号DODTEがハイレベルに活性化する。
【００４６】
ここで、ダイナミックＯＤＴとは、終端抵抗回路の抵抗値を動的に変化させる機能である。ダイナミックＯＤＴ機能が有効である場合、同じバス８（図１参照）に接続された他の半導体記憶装置がリード動作を行う際には終端抵抗回路は第１の抵抗モードとなり、インピーダンスコードRtt_Nomが示す第１の抵抗値に設定される。一方、当該半導体記憶装置１０がライト動作を行う際には終端抵抗回路は第２の抵抗モードとなり、インピーダンスコードRtt_RWが示す第２の抵抗値に設定される。
【００４７】
このようなモードレジスタ５４の設定値変更は、「モードレジスタセット（ＭＲＳ）」を示すコマンド信号ＣＭＤを発行した状態で、アドレス端子１３を介して所望の設定値を入力することにより行うことができる。
【００４８】
図４は、データストローブ信号入出力回路１００の主要部を示す回路図である。
【００４９】
図４に示すように、データストローブ信号入出力回路１００は、データストローブ端子１５ａより供給されるデータストローブ信号ＤＱＳを受ける入力レシーバ１０１と、データストローブ端子１５ａを介してデータストローブ信号ＤＱＳを出力する出力レシーバ１０２とを備えている。
【００５０】
入力レシーバ１０１は、データストローブ信号ＤＱＳのレベルと基準電位ＶＲＥＦとを比較することにより、内部データストローブ信号ＰＤＱＳを生成する。したがって、内部データストローブ信号ＰＤＱＳの位相は、入力されるデータストローブ信号ＤＱＳの位相とほぼ一致している。図２に示したように、内部データストローブ信号ＰＤＱＳはデータ入出力回路８０に供給され、ライトデータの入力タイミングを規定する。また、内部データストローブ信号ＰＤＱＳはスキュー検出回路１１０にも供給される。
【００５１】
スキュー検出回路１１０は、ライトレベリング信号WriteLevによって活性化され、クロック信号ＰＣＬＫとデータストローブ信号ＤＱＳとのスキューを測定する。上述の通り、クロック信号ＰＣＬＫは入力されるクロック信号ＣＫの位相とほぼ一致していることから、スキュー検出回路１１０の出力であるスキュー検出信号ＳＫＥＷは、データストローブ信号ＤＱＳとクロック信号ＣＫのスキューを正確に示すことになる。図２に示したように、スキュー検出信号ＳＫＥＷはデータ入出力回路８０に供給され、出力用クロックＬＣＬＫとは非同期にデータ入出力端子１４から出力される。
【００５２】
出力バッファ１０２は、リード信号Read、内部ＯＤＴ信号PODTa_Nom、PODTa_WRに基づいて活性化させる回路であり、その動作は出力用クロックＬＣＬＫに同期して行われる。リード信号Readはリードライト制御回路５３より供給される信号であり、内部ＯＤＴ信号PODTa_Nom、PODTa_WRはコマンドデコーダ３２より供給される信号である。
【００５３】
リード信号Readとは、データストローブ端子１５ａから出力すべきデータストローブ信号ＤＱＳの論理レベルを示す内部信号である。リード信号Readが有効である期間においては、出力バッファ１０２のインピーダンスはインピーダンスコードRonが示すインピーダンスに設定される。
【００５４】
内部ＯＤＴ信号PODTa_Nomとは、出力バッファ１０２を終端抵抗回路として使用するための第１の制御信号である。内部ＯＤＴ信号PODTa_Nomが活性化すると、出力バッファ１０２は第１の抵抗モードとなり、そのインピーダンスはインピーダンスコードRtt_Nomが示す第１の抵抗値に設定される。但し、内部ＯＤＴ信号PODTa_Nomが活性化しても、内部ＯＤＴ信号PODTa_WRが活性化している場合にはＡＮＤ回路１０３により内部ＯＤＴ信号PODTa_Nomが遮断され、非活性状態となる。内部ＯＤＴ信号PODTa_Nomが活性化するのは、第１に、ダイナミックＯＤＴ機能の使用時においてコマンド端子１２ｅからＯＤＴ信号が入力され、且つ、ライト信号Writeが活性化していないケースであり、第２に、ダイナミックＯＤＴ機能の不使用時においてコマンド端子１２ｅからＯＤＴ信号が入力されたケースである。
【００５５】
内部ＯＤＴ信号PODTa_WRとは、出力バッファ１０２を終端抵抗回路として使用するための第２の制御信号である。内部ＯＤＴ信号PODTa_WRが活性化すると、出力バッファ１０２は第２の抵抗モードとなり、そのインピーダンスはインピーダンスコードRtt_WRが示す第２の抵抗値に設定される。内部ＯＤＴ信号PODTa_WRが活性化するのは、ダイナミックＯＤＴ機能の使用時においてコマンド端子１２ｅからＯＤＴ信号が入力され、且つ、ライト信号Writeが活性化しているケースである。
【００５６】
このように、出力バッファ１０２は、リード信号Readをデータストローブ端子１５ａから出力する機能を有するとともに、終端抵抗回路としての機能を併せ持つ。
【００５７】
また、図４に示すようにＯＤＴ制御回路２００は、内部ＯＤＴ信号PODT、ライト信号Write、ライトレベリング信号WriteLev及びダイナミックＯＤＴイネーブル信号DODTEを受けて、内部ＯＤＴ信号PODT_Nom、PODT_WRを生成するゲート回路２１０を有する。ライトレベリング信号WriteLevとは、ライトレベリングモードにエントリした場合に活性化する信号であり、モードレジスタ５４より供給される。また、ダイナミックＯＤＴイネーブル信号DODTEとは、ダイナミックＯＤＴ機能が有効である場合に活性化する信号であり、モードレジスタ５４より供給される。
【００５８】
具体的に説明すると、ゲート回路２１０は、ライトレベリング信号WriteLev及びダイナミックＯＤＴイネーブル信号DODTEを受けるＡＮＤ回路２１１と、内部ＯＤＴ信号PODT及びＡＮＤ回路２１１の反転出力を受けるＡＮＤ回路２１２と、ライト信号Write及びＡＮＤ回路２１１の出力を受けるＯＲ回路２１３と、内部ＯＤＴ信号PODT及びＯＲ回路２１３の出力を受けるＡＮＤ回路２１４とを備えている。
【００５９】
かかる回路構成により、内部ＯＤＴ信号PODT_Nomは、内部ＯＤＴ信号PODTがハイレベル（活性状態）であり、且つ、ライトレベリング信号WriteLev及びダイナミックＯＤＴイネーブル信号DODTEの少なくとも一方がローレベル（非活性状態）である場合に、ハイレベルに活性化する。一方、内部ＯＤＴ信号PODT_WRは、内部ＯＤＴ信号PODTがハイレベル（活性状態）であり、且つ、ライト信号Writeがハイレベル（活性状態）であるか、或いは、ライトレベリング信号WriteLev及びダイナミックＯＤＴイネーブル信号DODTEの両方がハイレベル（活性状態）である場合に、ハイレベルに活性化する。
【００６０】
ゲート回路２１０により生成された内部ＯＤＴ信号PODT_Nom、PODT_WRは、それぞれカウンタ２２０，２３０に供給される。カウンタ２２０，２３０は、出力用クロックＬＣＬＫを所定数カウントすることによって、それぞれ内部ＯＤＴ信号PODT_Nom、PODT_WRを遅延させる回路である。カウンタ２２０，２３０のカウント数は、モードレジスタ５４に設定されたＣＡＳライトレイテンシ（ＣＷＬ）及びアディティブレイテンシ（ＡＬ）によって定められる。
【００６１】
カウンタ２２０，２３０の出力はそれぞれマルチプレクサ２２１，２３１に供給される。マルチプレクサ２２１，２３１には、それぞれカウンタ２２０，２３０をバイパスした内部ＯＤＴ信号PODT_Nom、PODT_WRも直接供給されており、これらのいずれかが選択される。選択された信号が内部ＯＤＴ信号PODTa_Nom、PODTa_WRとなり、インピーダンスコードRtt_Nom又はRtt_WRを有効とする。
【００６２】
マルチプレクサ２２１の選択は、非同期ＯＤＴモード信号SlowPDとライトレベリング信号WriteLevの論理和出力によって決まる。具体的には、これらがいずれもローレベル（非活性状態）であれば、マルチプレクサ２２１の０側入力が選択され、これにより、カウンタ２２０を通過した内部ＯＤＴ信号PODT_Nomが内部ＯＤＴ信号PODTa_Nomとして出力される。これに対し、非同期ＯＤＴモード信号SlowPD及びライトレベリング信号WriteLevの少なくとも一方がハイレベル（活性状態）であれば、マルチプレクサ２２１の１側入力が選択され、これにより、カウンタ２２０をバイパスした内部ＯＤＴ信号PODT_Nomがそのまま内部ＯＤＴ信号PODTa_Nomとして出力される。
【００６３】
また、マルチプレクサ２３１の選択は、ライトレベリング信号WriteLevによって決まる。具体的には、ライトレベリング信号WriteLevがローレベル（非活性状態）であれば、マルチプレクサ２３１の０側入力が選択され、これにより、カウンタ２３０を通過した内部ＯＤＴ信号PODT_WRが内部ＯＤＴ信号PODTa_WRとして出力される。これに対し、ライトレベリング信号WriteLevがハイレベル（活性状態）であれば、マルチプレクサ２３１の１側入力が選択され、これにより、カウンタ２３０をバイパスした内部ＯＤＴ信号PODT_WRがそのまま内部ＯＤＴ信号PODTa_WRとして出力される。
【００６４】
かかる構成により、通常動作モードにおいては、カウンタ２２０，２３０によって遅延された内部ＯＤＴ信号PODT_Nom、PODT_WRが選択される。一方、ライトレベリングモードにおいては、カウンタ２２０，２３０をバイパスした内部ＯＤＴ信号PODT_Nom、PODT_WRが選択される。
【００６５】
以上が本実施形態による半導体記憶装置１０の構成である。次に、本実施形態による半導体記憶装置１０の動作について説明する。
【００６６】
図５は、本実施形態による半導体記憶装置１０のライトレベリングモード時における動作を示すタイミング図である。図５に示す例は、ダイナミックＯＤＴ機能が有効である場合（DODTE=H）の動作を示している。
【００６７】
図５に示す例では、クロック信号ＣＫのアクティブエッジ０に同期してモードレジスタセット（ＭＲＳ）コマンドが発行され、これによってライトレベリングモードにエントリしている。本例では、ダイナミックＯＤＴ機能が有効であることから、図４に示したライトレベリング信号WriteLev及びダイナミックＯＤＴイネーブル信号DODTEがいずれもハイレベルとなる。これにより、図４に示したＯＲ回路２１３の出力は強制的にハイレベルとなる。
【００６８】
次に、クロック信号ＣＫのアクティブエッジ２に同期してＯＤＴ信号が活性化すると、内部ＯＤＴ信号PODTが活性化する。この時すでに、ＯＲ回路２１３の出力はハイレベルとなっていることから、ライトレベリングモードのためライト信号Writeが活性化しないにも関わらず、内部ＯＤＴ信号PODT_WRが活性化する。そして、内部ＯＤＴ信号PODT_WRはカウンタ２３０をバイパスして直ちに出力バッファ１０２に供給されることから、出力バッファ１０２の終端抵抗値は、最小時間tAONPDにて、インピーダンスコードRtt_WRが示す第２の抵抗値に設定される。つまり、直ちに第２の抵抗モードとなる。
【００６９】
出力バッファ１０２が第２の抵抗モードとなる状態は、ダイナミックＯＤＴ機能が有効である場合のライト動作時と同じ条件である。このため、ダイナミックＯＤＴ機能が有効である場合のスキューを正しく再現することができる。そして、図５に示す例では、メモリコントローラ４からデータストローブ信号ＤＱＳが立ち上げられ、これに対応するクロック信号ＣＫのアクティブエッジ５との位相比較が行われる。位相比較は、図４に示すスキュー検出回路１１０によって行われる。これによりスキュー検出信号ＳＫＥＷが生成され、データ入出力回路８０によって、出力用クロックＬＣＬＫとは非同期にリードデータＤＱとして出力される。
【００７０】
その後、クロック信号ＣＫのアクティブエッジ６に同期してＯＤＴ信号が非活性化すると、出力バッファ１０２の終端抵抗値は最小時間tAOFPDにてハイインピーダンス状態に復帰する。出力バッファ１０２がハイインピーダンス状態になると、出力バッファ１０２の消費電力はほぼゼロとなる。
【００７１】
図６は、本実施形態による半導体記憶装置１０のライトレベリングモード時における動作を示す別のタイミング図である。図６に示す例は、ダイナミックＯＤＴ機能が無効である場合（DODTE=L）の動作を示している。
【００７２】
図６に示す動作タイミングは、基本的に図５に示した動作タイミングと同一である。しかしながら、本例では、ダイナミックＯＤＴ機能が無効であることから、内部ＯＤＴ信号PODTが活性化しても内部ＯＤＴ信号PODT_WRは活性化されず、代わりに、内部ＯＤＴ信号PODT_Nomが活性化される。そして、内部ＯＤＴ信号PODT_Nomはカウンタ２２０をバイパスして直ちに出力バッファ１０２に供給されることから、出力バッファ１０２の終端抵抗値は、最小時間tAONPDにて、インピーダンスコードRtt_Nomが示す第１の抵抗値に設定される。つまり、直ちに第１の抵抗モードとなる。
【００７３】
出力バッファ１０２が第１の抵抗モードとなる状態は、ダイナミックＯＤＴ機能が無効である場合のライト動作時と同じ条件であることから、ダイナミックＯＤＴ機能が無効である場合のスキューを正しく再現することができる。
【００７４】
その後、クロック信号ＣＫのアクティブエッジ６に同期してＯＤＴ信号が非活性化すると、出力バッファ１０２の終端抵抗値は最小時間tAOFPDにてハイインピーダンス状態となる。
【００７５】
図７は、各動作モードにおけるレイテンシ及びＯＤＴインピーダンスを示す表である。
【００７６】
図７に示すように、通常動作モードにおけるライト動作時には、ライトデータＤＱの入力レイテンシが「ＡＬ＋ＣＷＬ」である。また、データストローブ信号ＤＱＳは、ライトプリアンブル期間（１ｔＣＫ）だけ早く入力される。つまり、データストローブ信号ＤＱＳのレイテンシは「ＡＬ＋ＣＷＬ−１」である。これは、ＤＲＡＭコアの動作速度が飛躍的に改善しないことから、動作周波数高速化に伴ってリード動作時におけるレイテンシ（ＡＬ＋ＣＬ）を増加させる必要があり、これに応じてライト動作時におけるレイテンシも同時に増加させなければ、ライトtoリード時や、リードtoライト時にデータストローブ信号ＤＱＳやリードライトデータＤＱが衝突してしまうためである。このため、ライトコマンドとＯＤＴ信号を同時に入力すべく、ＯＤＴ信号に対する終端抵抗回路の動作レイテンシ（ＯＤＴレイテンシ）は「ＡＬ＋ＣＷＬ−２」とされる。
【００７７】
一方、ライトレベリングモード時においては、リードコマンドの入力が不要であるため、データストローブ信号ＤＱＳの入力レイテンシは０である。したがって、ＯＤＴレイテンシも０としても構わないが、従来の半導体記憶装置では、ＯＤＴ信号をバイパスするルートが存在しないことから、ライト動作時と同様のＯＤＴレイテンシ（＝ＡＬ＋ＣＷＬ−２）の経過を待つ必要がある。
【００７８】
これに対し、本実施形態では、既に説明したとおり、ライトレベリングモード時においては、ＯＤＴ信号がバイパスされることから、ＯＤＴ信号の活性化から最小時間tAONPDで終端抵抗回路を活性化させることができるとともに、ＯＤＴ信号の非活性化から最小時間tAOFPDで終端抵抗回路を非活性化させることができる。
【００７９】
また、ライトレベリングモード時においては、ライトコマンドが発行されないことから、従来の半導体記憶装置では、ライトレベリングモード時における終端抵抗値はインピーダンスコードRtt_Nomが示す第１の抵抗値に固定されてしまう。
【００８０】
これに対し、本実施形態では、既に説明したとおり、ライトレベリングモード時においても、ダイナミックＯＤＴ機能が使用状態とされている場合には、終端抵抗値をインピーダンスコードRtt_WRが示す第２の抵抗値とすることができる。
【００８１】
以上説明したように、本実施形態によれば、ライトレベリングモード時にカウンタ２２０，２３０がバイパスされることから、ＯＤＴ信号の変化に応答して直ちに出力バッファ１０２を終端抵抗回路として機能させることが可能となる。このため、従来の半導体記憶装置のように、ライトレベリングモード時において終端抵抗回路が活性化されるまでＯＤＴレイテンシの経過を待つ必要がなくなり、高速にライトレベリング動作を行うことが可能となる。その結果、システム起動後の動作中にライトレベリングモードに定期的又は周期的にエントリされる場合であっても、システムのパフォーマンス低下を最小限に抑えることが可能となる。
【００８２】
しかも、本実施形態によれば、ダイナミックＯＤＴ機能の使用有無に応じて終端抵抗回路の抵抗値を切り替えていることから、通常動作モードにおけるダイナミックＯＤＴ機能の使用状態及び不使用状態を、ライトレベリングモードにおいて正しく再現することができる。これにより、正確なスキューの測定が可能となることから、高精度なライトレベリング動作を行うことが可能となる。
【００８３】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【００８４】
例えば、上記実施形態では、本発明をＤＲＡＭに適用した場合を例に説明したが、本発明の適用対象がこれに限定されるものではなく、ＰＲＡＭなど他の種類の半導体記憶装置に対して本発明を適用することも可能である。
【００８５】
また、上記実施形態においては、ＤＬＬ回路によって位相制御された出力用クロックＬＣＬＫを用いてカウンタ２２０，２３０を動作させているが、本発明においてＤＬＬ回路などの内部クロック生成回路を用いることは必須でない。したがって、内部クロックではなく外部クロックをカウントすることによってＯＤＴ信号を遅延させても構わない。
【００８６】
さらに、上記実施形態においては、出力バッファ１０２によって終端抵抗回路が構成されているが、本発明において終端抵抗回路が出力バッファを兼ねていることは必須でない。したがって、出力バッファと終端抵抗回路とが別の回路であっても構わない。
【００８７】
さらに、上記実施形態においては、ライトレベリングモード時にＯＤＴ信号を遅延させるカウンタ２２０，２３０をバイパスしているが、本発明においてカウンタ２２０，２３０をバイパスすることは必須でない。また、ＯＤＴ信号を遅延させるためのカウンタを設けることも必須でない。
【符号の説明】
【００８８】
２        メモリモジュール
４        メモリコントローラ
６        モジュール基板
８        バス
１０      半導体記憶装置
１１ａ，１１ｂ    クロック端子
１２ａ〜１２ｅ    コマンド端子
１３      アドレス端子
１４      データ入出力端子（データ端子）
１５ａ，１５ｂ    データストローブ端子
２１      クロック入力回路
２２      タイミング発生回路
２３      ＤＬＬ回路
３１      コマンド入力回路
３２      コマンドデコーダ
４１      アドレス入力回路
４２      アドレスラッチ回路
５１      ロウ系制御回路
５２      カラム系制御回路
５３      リードライト制御回路
５４      モードレジスタ
６１      ロウデコーダ
６２      カラムデコーダ
６３      センスアンプ
６４      データアンプ
７０      メモリセルアレイ
８０      データ入出力回路
１００    データストローブ信号入出力回路
１０１    入力レシーバ
１０２    出力レシーバ
１０２    出力バッファ（終端抵抗回路）
１１０    スキュー検出回路
２００    ＯＤＴ制御回路
２１０    ゲート回路
２２０，２３０    カウンタ
２２１，２３１    マルチプレクサ
【図１】
2010192031.tif 000003
【図２】
2010192031.tif 000004
【図３】
2010192031.tif 000005
【図４】
2010192031.tif 000006
【図５】
2010192031.tif 000007
【図６】
2010192031.tif 000008
【図７】
2010192031.tif 000009