(57)【要約】【課題】メモリ側の多相クロックのずれを補正する。【解決手段】複数のデータ入出力端子に接続されたデータ入力回路とデータ出力回路とを備えた半導体装置であって、データ入力回路あるいはデータ出力回路の少なくとも一方が、データを取り込むタイミング信号となる位相の異なる多相クロック信号によりデータを取り込み、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整する。本発明によれば、入力あるいは出力タイミング信号である多相クロック信号を個別に調整することにより、データのウィンドウ幅を均一にすることができるため、半導体装置の特性を改善することができる。【選択図】図２
2010081577.tif 000002
【特許請求の範囲】
【請求項１】
データの伝送を行うデータ伝送システムにおいて、
第１のデバイス及び第２のデバイスを備え、
前記第１のデバイスは、前記第２のデバイスとの間でデータの送受信を行い、
前記第１のデバイスは、前記第２のデバイスに対して、前記第２のデバイスが前記第１のデバイスにデータを送出する第１の送出タイミングを制御する第１の情報と、前記第１のデバイスが前記第２のデバイスに出力したデータを前記第２のデバイスが取り込む第１のラッチタイミングを制御する第２の情報との少なくとも一方を生成し、
前記第１のデバイスは、前記第１及び第２の情報の少なくとも一方を、前記第２のデバイスに送出する、ことを特徴とするデータ転送システム。
【請求項２】
請求項１において、前記第１及び第２の情報は、複数の前記データにそれぞれ対応する複数の制御信号をそれぞれ制御することを特徴とするデータ転送システム。
【請求項３】
請求項２において、前記複数の制御信号は、外部クロック信号の一つの遷移ポイントに対応してそれぞれ位相の異なる制御信号であり、
前記複数のデータは、前記複数の制御信号に対応する連続するデータであることを特徴とするデータ転送システム。
【請求項４】
請求項３において、前記第１の情報により前記複数の制御信号のいずれかの位相が補正され、前記連続するデータのそれぞれの有効時間が同一時間に制御されることを特徴とするデータ転送システム。
【請求項５】
請求項３において、前記第２の情報により前記複数の制御信号のいずれかの位相が補正され、前記連続するデータのそれぞれの有効時間に対応する前記第１のラッチタイミングがすべて同一時間に制御されることを特徴とするデータ転送システム。
【請求項６】
請求項５において、前記連続するデータのそれぞれの遷移から対応する前記第１のラッチタイミングまでの時間を示すそれぞれのセットアップ時間と、前記対応する第１のラッチタイミングから次の遷移までの時間を示すそれぞれのホールド時間とが、各データにおいて一定となるよう、前記第２の情報により前記複数の制御信号のいずれかの位相が補正されることを特徴とするデータ転送システム。
【請求項７】
請求項１乃至６のいずれか一項において、前記第１及び第２の情報は、前記第１のデバイスが前記第２のデバイスにデータを送出する第２の送出タイミングの誤差を示す補正情報と、前記第２のデバイスが出力したデータを前記第１のデバイスが取り込む第２のラッチタイミングの誤差を示す補正情報を、それぞれ含むことを特徴とするデータ転送システム。
【請求項８】
請求項１乃至７のいずれか一項において、前記第１及び第２の情報は、データ伝送システムのキャリブレーション期間に送出されることを特徴とするデータ転送システム。
【請求項９】
データの伝送を行うデータ伝送システムにおいて、
第１のデバイスと、第２のデバイスと、前記第１及び第２のデバイス間に接続されシリアルな複数のデータを伝送する第１の信号線とを備え、
前記第１と第２のデバイスのそれぞれは、
前記第１の信号線上を伝送されるシリアルな複数のデータをパラレルに取り込む複数の第１の回路と、
それぞれのデバイス内のパラレルなデータを前記シリアルな複数のデータとして前記第１の信号線に送出する複数の第２の回路と、を備え、
前記複数の第１の回路は、位相が異なる複数の第１の制御信号によってそれぞれ制御され、
前記複数の第２の回路は、位相が異なる複数の第２の制御信号によってそれぞれ制御され、
前記第２のデバイスは、更に、
対応する前記第１の回路に接続され、前記複数のデータとそれらに対応する期待値データとを検証する検証回路を備え、
前記第１のデバイスは、更に、
前記複数の第１の制御信号と複数の第２の制御信号のいずれかの複数の制御信号のそれぞれの遷移時間を、前記検証の結果に対応して個別に変更する調整回路を備え、
前記変更によって、前記第１及び第２のデバイスのそれぞれの複数の第１と第２の回路において、前記複数のデータのそれぞれの入力確定のタイミングまたはそれぞれの有効データの時間幅が同一に制御される、ことを特徴とするデータ転送システム。
【請求項１０】
請求項９において、更に、前記第１及び第２のデバイスは、外部クロック信号の一つの遷移ポイントに対応して、それぞれ位相の異なる前記複数の第１の制御信号と複数の第２の制御信号を生成する内部クロック生成回路をそれぞれ備えることを特徴とするデータ転送システム。
【請求項１１】
請求項１０において、前記第１のデバイスの第１の制御信号と前記第２のデバイスの第２の制御信号のそれぞれの周波数は、共に同一の周波数であり、前記第１のデバイスの第２の制御信号と前記第２のデバイスの第１の制御信号のそれぞれの周波数は、共に同一の周波数であることを特徴とするデータ転送システム。
【請求項１２】
請求項１１において、前記第１のデバイスの第１の制御信号の周波数は、前記第１のデバイスの第２の制御信号の周波数よりも高く、前記第２のデバイスの第２の制御信号の周波数は前記第２のデバイスの第１の制御信号の周波数よりも高いことを特徴とするデータ転送システム。
【請求項１３】
請求項９において、前記検証回路は、前記第１のデバイスの複数の第２の回路がそれぞれ前記第１の信号線へ出力する時間を変更し、前記第２のデバイスの複数の第１の回路と第２の回路とを介して前記第１のデバイスの第１の回路が前記第１の信号線から入力する前記複数のデータのそれぞれを、対応する期待値と比較することを特徴とするデータ転送システム
【請求項１４】
データの伝送を行うデータ伝送システムにおいて、
第１のデバイスと、第２のデバイスと、前記第１及び第２のデバイス間に接続されシリアルな複数のデータを伝送する第１の信号線とを備え、
前記第２のデバイスは、
前記第１の信号線に接続された第１の外部端子と、
前記第１の外部端子を介して入力された前記シリアルな複数のデータをパラレルに取り込む複数の第１の回路と、
前記第１のデバイス内のパラレルなデータを前記シリアルな複数のデータとして前記第１の外部端子を介して出力する複数の第２の回路と、を備え、
前記複数の第１の回路にそれぞれ入力されるデータの確定は、それぞれ位相が異なる複数の第１の制御信号によって制御され、
前記複数の第２の回路からのデータの出力タイミングは、それぞれ位相が異なる複数の第２の制御信号によって制御され、
前記第２のデバイスは、さらに、少なくとも前記複数の第１の制御信号と複数の第２の制御信号のいずれかの遷移時間を個別に変更するレジスタを備え、
前記第１のデバイスは、
前記第１の信号線に接続された第２の外部端子と、
前記第２の外部端子を介して入力された前記シリアルな複数のデータをパラレルに取り込む複数の第３の回路と、
前記第２のデバイス内のパラレルなデータを前記シリアルな複数のデータとして前記第２の外部端子を介して出力する複数の第４の回路と、を備え、
前記複数の第３の回路にそれぞれ入力されるデータの確定は、それぞれ位相が異なる複数の第３の制御信号によって制御され、
前記複数の第４の回路からのデータの出力タイミングは、それぞれ位相が異なる複数の第４の制御信号によって制御され、
前記第１のデバイスは、さらに、前記複数の第３の回路に接続され、前記複数の第３の回路がそれぞれ出力する複数のデータを検証する検証回路を備え、
前記第１のデバイスは、前記検証回路が検証した結果を前記レジスタに送出し、
前記第２のデバイスは、前記レジスタの情報に従って、前記複数の第１の制御信号または複数の第２の制御信号の遷移時間を個別に変更する、ことを特徴とするデータ転送システム。
【請求項１５】
請求項９または１４において、前記検証回路は、前記複数のデータのそれぞれが、同一の有効時間幅であるかを検証することを特徴とするデータ転送システム。
【請求項１６】
請求項１５において、前記検証回路は、前記複数のデータと前記複数のデータにそれぞれ対応する期待値とを比較することを特徴とするデータ転送システム。
【請求項１７】
請求項１４において、前記検証回路は、前記複数の第４の回路がそれぞれ前記第２の外部端子へ出力する時間を変更し、前記第２のデバイスの複数の第１の回路と第２の回路とを介して前記第１のデバイスの第３の回路が前記第２の外部端子から入力する前記複数のデータのそれぞれを、対応する期待値と比較することを特徴とするデータ転送システム。
【請求項１８】
請求項９または１４において、前記第１と第２のデバイスは、前記検証回路が比較した結果を第２の信号線を介して通信する第３の外部端子をそれぞれ備えることを特徴とするデータ転送システム。
【請求項１９】
一つの外部端子からシリアルな複数のデータをパラレルに取り込む複数の第１の回路と、それぞれ位相が異なる複数の第１の制御信号を生成する内部クロック生成回路と、前記複数の第１の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、
前記複数の第１の回路は、前記調整回路によって遷移時間が調整された対応する前記複数の第１の制御信号によって、それぞれ対応する前記シリアルなデータを異なる時間でラッチし、
前記調整回路は、それぞれの前記第１の回路に入力されるデータの遷移から対応する前記ラッチまでの時間を示すセットアップ時間と、前記対応するラッチからそれぞれの前記第１の回路に入力されるデータの遷移までの時間を示すホールド時間とが、前記複数の第１の回路においてそれぞれ共通の前記セットアップ時間、ホールド時間とするように、前記複数の第１の制御信号のそれぞれの遷移時間を個別に変更する、ことを特徴とする半導体装置。
【請求項２０】
請求項１９において、前記内部クロック生成回路は、外部クロック信号の一つの遷移ポイントに対応して、それぞれ位相の異なる前記複数の第１の制御信号を生成することを特徴とする半導体装置。
【請求項２１】
請求項１９において、前記調整回路は、前記複数の制御信号のそれぞれの遷移時間を変更する値を保持するレジスタを備え、
前記複数の第１の回路が異なる時間でラッチした複数のデータがその他の半導体装置で検証され、その結果が、前記レジスタに入力されることを特徴とする半導体装置。
【請求項２２】
請求項１９において、更に、前記一つの外部端子に接続され、前記複数の第１の回路からの出力データが入力さる第２の回路を備え、
前記複数の第１の回路が異なる時間でラッチした複数のデータが、前記第２の回路からその他の半導体装置へ出力されることを特徴とする半導体装置。
【請求項２３】
請求項２２において、前記調整回路は、前記複数の制御信号のそれぞれの遷移時間を変更する値を保持するレジスタを備え、
前記複数の第１の回路が異なる時間でラッチした複数のデータが前記第２の回路を経由してその他の半導体装置で検証され、その結果が、前記レジスタに入力されることを特徴とする半導体装置。
【請求項２４】
内部のパラレルなデータを一つの外部端子へシリアルに出力する複数の第２の回路と、それぞれ位相が異なる複数の第２の制御信号を生成する内部クロック生成回路と、前記複数の第２の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、
前記複数の第２の回路は、前記調整回路によって遷移時間が調整された対応する前記複数の第２の制御信号によって、対応する前記パラレルなデータをそれぞれ異なる時間でシリアルに出力し、
前記調整回路は、前記複数の第２の回路が出力する最初のデータの有効時間と次のデータの有効時間とを同一の時間にするように、前記複数の第２の制御のそれぞれの遷移時間を個別に変更する、ことを特徴とする半導体装置。
【請求項２５】
請求項２４において、前記内部クロック生成回路は、外部クロック信号の一つの遷移ポイントに対応して、それぞれ位相の異なる前記複数の第２の制御信号を生成することを特徴とする半導体装置。
【請求項２６】
請求項２４において、前記調整回路は、前記複数の制御信号のそれぞれの遷移時間を変更する値を保持するレジスタを備え、
前記第２の回路が出力した前記複数のデータが半導体装置の外部で検証され、その結果が、前記レジスタに入力されることを特徴とする半導体装置。
【請求項２７】
一つの第１の外部端子と、第２の外部端子と、
それぞれが前記第１の外部端子に接続され、位相の異なる複数の制御信号にそれぞれ応答して前記第１の外部端子から供給される複数のデータを取り込む複数の第１の回路と、
前記複数の第１の回路からのそれぞれの出力データに基づき前記第１の外部端子への外部からのデータ供給タイミングを制御する第１の情報を生成する検証回路と、を備え、
前記第１の情報を前記第２の外部端子を介して外部に送出する、ことを特徴とする半導体装置。
【請求項２８】
請求項２７において、前記第１と第２の外部端子は、同一の端子であることを特徴とする半導体装置。
【請求項２９】
請求項２７において、更に、それぞれが前記一つの第１の外部端子に接続され、位相の異なる複数の制御信号にそれぞれ応答して内部のパラレルなデータを前記一つの外部端子へシリアルに出力する複数の第２の回路と、を備え、
前記検証回路は、更に、前記第１の外部端子を介して外部に送出されるデータに対する受け取りタイミングを制御する第２の情報を送出する、ことを特徴とする半導体装置。
【請求項３０】
一つの第１の外部端子と、第２の外部端子と、
前記第１の外部端子に外部から順に供給されるデータを取り込む第１の機能および前記第１の外部端子を介して外部にデータを順に送出する第２の機能の少なくとも一方を実行するデータ入出力回路と、
前記第１の外部端子への外部からのデータ供給タイミングを制御する第１の情報および前記第１の外部端子を介して外部に送出されるデータに対する受け取りタイミングを制御する第２の情報の少なくとも一方を前記第２の外部端子を介して外部に送出する検証回路と、を備えることを特徴とする半導体装置。
【請求項３１】
請求項３０において、前記第１と第２の外部端子は、同一の端子であることを特徴とする半導体装置。
【請求項３２】
請求項３０において、前記第１及び第２の情報によって、外部クロック信号の一つの遷移ポイントに対応するそれぞれ位相の異なる複数の制御信号の遷移時間が変更されることを特徴とする半導体装置。
【請求項３３】
請求項３０において、前記第１の機能は、外部クロック信号の一つの遷移ポイントに対応して、外部から順に供給されるデータを並列に取り込むシリアル−パラレル変換機能であり、前記第２の機能は、外部クロック信号の一つの遷移ポイントに対応して、内部のパラレルなデータを外部に順に送出するパラレルーシリアル変換機能であることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスターデバイスである半導体装置及びその制御方法、スレーブデバイスである半導体装置及びその制御方法、並びに、マスターデバイスとスレーブデバイス間のデータ伝送システム及びその制御方法に関し、特に、クロックに同期してメモリとの間で高速データ転送を行うメモリコントローラ及びその制御方法、クロックに同期してメモリコントローラとの間で高速データ転送を行うメモリ及びその制御方法、並びに、クロックに同期してメモリコントローラとメモリとの間で高速データ転送を行うデータ伝送システム及びその制御方法に関する。
【背景技術】
【０００２】
従来のデータ伝送システムにおいては、マスターデバイスとしてのコントローラとスレーブデバイスとしての半導体装置との間は、配線基板等のボード上に形成された複数の配線により結線がなされている。ここで、各配線は、互いに等しい長さであることが望ましいが、実際には、互いに長さが異なる配線により結線がなされることにより、その結果として、各配線での信号遅延は互いに異なることになる。
【０００３】
そこで、スレーブデバイス側の信号入力回路に入力タイミング回路を設け、入力タイミング回路に供給されるクロックの位相をマスターデバイス側で予め調整することにより、配線による信号遅延の差を吸収する方法が提案されている（例えば、特許文献１参照。）。
【０００４】
ところで、データ転送は、近年、益々高速化されてきており、それに伴って、デバイスの内部処理スピードも高速化することが要求されているが、デバイスそのものの特性がそのような高速化に追いついて来られないことが現実化しつつある。
【０００５】
そこで、データ端子に高速にシリアル転送されるシステム上のデータを、デバイス内の複数の入力回路で一旦受け入れシリアルデータをパラレルデータに変換し、そのパラレルデータを処理することが知られている。こうすることによって、データ処理における処理スピードは、データ転送そのものの転送スピードに比べて遅くなり、内部処理スピードを緩和することができる。また、データの出力に際しても、デバイス内部で処理されたパラレルデータを複数の出力回路により共通のデータ端子から順次出力、すなわち、シリアルデータとしてシステム上へ出力することで同様の効果を得ることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２２８４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
かかる構成では、デバイス内において、一つのデータ端子に共通につながる複数の入力回路や複数の出力回路を設ける必要があり、これら複数の入力回路及び複数の出力回路に対し、互いに位相の異なる複数のタイミング信号をそれぞれ供給する必要がある。これらのタイミング信号は、デバイスの内部で生成される、デバイス内部に形成された異なる配線を経由して複数の入力回路及び複数の出力回路に供給される。このため、配線長の差による遅延時間差が生じるが、上述したようなシステムレベルの問題、すなわち、マスターデバイスとスレーブデバイスとの間の結線の長さ（システム上の信号線）の違いに基づく信号遅延の差異ほど問題にならない。
【０００８】
しかしながら、システム上における遅延時間差と比べて僅かであるとは言え、デバイス内部の信号線の配線の長さの差に基づく信号遅延量の差は避けることができない。特に、これらのタイミング信号（位相の異なる複数のタイミング信号）は、高速なデータ通信スピードに見合った位相とする必要があり、少しの信号遅延量が生じても、シリアルデータからパラレルデータへの変換、あるいは、パラレルデータからシリアルデータへの変換に支障をきたしてしまうことになる。
【０００９】
このような共通のデータ端子に対して、設けられた複数の入力回路、または出力回路のそれぞれに供給すべきタイミング信号の位相ずれという問題については、上記特許文献１では、全く関知しておらず、実際問題として、上記特許文献１の手法を用いても対応することはできない。
【課題を解決するための手段】
【００１０】
本発明によるデータ伝送システムは、第１のデバイス及び第２のデバイスを備え、前記第１のデバイスは、前記第２のデバイスとの間でデータの送受信を行い、前記第１のデバイスは、前記第２のデバイスに対して、前記第２のデバイスが前記第１のデバイスにデータを送出する第１の送出タイミングを制御する第１の情報と、前記第１のデバイスが前記第２のデバイスに出力したデータを前記第２のデバイスが取り込む第１のラッチタイミングを制御する第２の情報との少なくとも一方を生成し、前記第１のデバイスは、前記第１及び第２の情報の少なくとも一方を、前記第２のデバイスに送出する、ことを特徴とする。
【００１１】
また、本発明の一側面による半導体装置は、一つの外部端子からシリアルな複数のデータをパラレルに取り込む複数の第１の回路と、前記複数の第１の回路にそれぞれ接続されそれぞれ位相が異なる複数の第１の制御信号を生成する内部クロック生成回路と、前記複数の第１の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、前記複数の第１の回路は、前記調整回路によって遷移時間が調整されたそれぞれ対応する前記複数の第１の制御信号によって、それぞれ対応する前記シリアルなデータを異なる時間でラッチし、前記調整回路は、それぞれの前記第１の回路に入力されるデータの遷移から対応する前記ラッチまでの時間を示すセットアップ時間と、前記対応するラッチからそれぞれの前記第１の回路に入力されるデータの遷移までの時間を示すホールド時間とが、前記複数の第１の回路においてそれぞれ共通の前記セットアップ時間、ホールド時間とするように、前記複数の第１の制御信号のそれぞれの遷移時間を個別に変更する、ことを特徴とする。
【００１２】
また、本発明の他の側面による半導体装置は、内部のパラレルなデータを一つの外部端子へシリアルに出力する複数の第２の回路と、前記複数の第２の回路にそれぞれ接続されそれぞれ位相が異なる複数の第２の制御信号を生成する内部クロック生成回路と、前記複数の第２の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、前記複数の第２の回路は、前記調整回路によって遷移時間が調整されたそれぞれ対応する前記複数の第２の制御信号によって、対応する前記パラレルなデータをそれぞれ異なる時間でシリアルに出力し、前記調整回路は、前記複数の第２の回路が出力する最初のデータの有効時間と次のデータの有効時間とを同一の時間にするように、前記複数の第２の制御のそれぞれの遷移時間を個別に変更する、ことを特徴とする。
【発明の効果】
【００１３】
このように、本発明の半導体装置においては、入力回路あるいは出力回路の少なくとも一方が、データを取り込むタイミング信号となる位相の異なる多相クロック信号によりデータを取り込み、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように制御することから、多相クロック信号における配線遅延等によるタイミングのずれを補正することができる。
【００１４】
また、従来、高速インターフェースの入出力回路には、１つの入出力回路に対して、複数の入力、出力タイミング発生回路があり、各々のデータウィンド幅にばらつきがあったために、最小のウィンドウ幅を有する入力あるいは出力タイミング発生回路が、半導体装置の特性を律速していた。しかしながら、本発明の半導体装置においては、入力あるいは出力タイミング信号である多相クロック信号を個別に調整することにより、データのウィンドウ幅を均一にすることができるため、半導体装置の特性を改善することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係る半導体メモリの構成図である。
【図２】本実施形態に係るデータ入出力回路の内部構成図である。
【図３】本実施形態に係る位相調整回路の内部構成図である。
【図４】本実施形態に係る４つの出力タイミング信号とデータ出力との関係を示すタイミングチャートである。
【図５】本実施形態に係る４つの出力タイミング信号とデータ出力との関係を示すタイミングチャートである。
【図６】本実施形態に係る４つの入力タイミング信号とデータ入力との関係を示すタイミングチャートである。
【図７】本実施形態に係る４つの入力タイミング信号とデータ入力との関係を示すタイミングチャートである。
【図８】本実施形態に係るシステムの構成図である。
【図９】本実施形態に係る４つの出力タイミング信号のずれを検出する方法を説明する図である。
【図１０】本実施形態に係る４つの出力タイミング信号のずれを検出する方法を説明する図である。
【図１１】本実施形態に係るシステムの構成図である。
【図１２】本実施形態に係る４つの入力タイミング信号のずれを検出する方法を説明する図である。
【図１３】本実施形態に係る４つの入力タイミング信号のずれを検出する方法を説明する図である。
【図１４】本実施形態の半導体装置に関する変形例を示す回路ブロック図である。
【図１５】本実施形態の半導体装置に関する変形例を示す回路ブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００１７】
本発明の実施形態に係る半導体装置が、図１に半導体メモリ１００として示されている。本半導体メモリ１００は、外部クロック信号（ＣＬＫ）から、多相クロックとしての出力タイミング信号ＡＯ〜ＤＯ、入力タイミング信号ＡＩ〜ＤＩを生成し、これを複数のデータ入出力回路３ａ〜３ｘに供給する内部クロック生成回路１を備えている。例えば、一回の外部クロック信号（ＣＬＫ）の遷移エッジ（同一の時間地点；一つの遷移ポイント）に対応して、複数の出力タイミング信号ＡＯ〜ＤＯが順次生成され、複数の入力タイミング信号ＡＩ〜ＤＩが順次生成される。
【００１８】
また、外部コントローラからＲＡＳ（行アドレスストローブ信号）やＣＡＳ（列アドレスストローブ信号）、ＣＳ（チップセレクト）等のコマンドを受信し、アクティブなデータ出力期間を規定する出力イネーブル信号ＯＥおよびアクティブなデータ入力期間を規定する入力イネーブル信号ＩＥを生成して、これを複数のデータ入出力回路３ａ〜３ｘに供給するコマンドデコーダ２を備えている。
【００１９】
各データ端子ＤＱ０〜ＤＱｍ（第１の外部端子）は、シリアルに外部コントローラとの間で、データの送受信を行う。データ端子ＤＱ０〜ＤＱｍを介して入力されたデータは、データ入出力回路３ａ〜３ｘに供給される。データ入出力回路３ａ〜３ｘに供給された、例えば、４ビットのシリアルデータは、データ入出力回路３ａ〜３ｘによってパラレルデータに変換され、カラムアドレスバッファ／デコーダ５に出力される。
【００２０】
ロウアドレスバッファ／デコーダ４は、受信したアドレスデータＡ０〜Ａｎを一時格納するとともに、受信したアドレスデータに基づいて、メモリセルアレイ７内の該当セルに対して、ロウ系のアクセス、すなわちワード線の選択を実行する。
【００２１】
カラムアドレスバッファ／デコーダ５は、受信したアドレスデータＡ０〜Ａｎを一時格納するとともに、受信したアドレスデータに基づいて、メモリセルアレイ７内の該当セルに対して、カラム系のアクセス、すなわちビット線の選択を実行する。
【００２２】
センスアンプ６は、ビット線に読み出された数百ｍＶ程度の微小電圧をデジタルレベルとして取り扱いが可能になるレベルにまで増幅する増幅器である。メモリセルアレイ６は、例えば、ワード線とビット線の交差部分に設けられたトランジスタとコンデンサから構成されるメモリセルが複数個、アレイ状に結合された記憶回路ブロックであり、ワード線によって、特定のメモリセルを選択し、ビット線からそのデータの読み出しや書き込みを実行する。
【００２３】
データ入出力回路３ａ〜３ｘのそれぞれは、図２に示すように、データ入力部６１を含むデータ入力回路と、データ出力部３１を含むデータ出力回路を備えている。具体的には、データ入力部６１は、コマンドデコーダ２から供給される入力イネーブル信号ＩＥによって活性化され入力データを取り込む入力バッファ１１と、位相調整回路１３ａ〜１３ｄを介して内部クロック生成回路１から供給される入力タイミング信号ＡＩ〜ＤＩに基づき入力バッファ１１からの入力データを取り込むフリップフロップ１２ａ〜１２ｄとを含んでいる。ここでは、フリップフロップ１２ａ〜１２ｄが内部クロック生成回路１から供給される入力タイミング信号ＡＩ〜ＤＩに基づいて、データを取り込むことにより、例えば、４ビットのシリアルデータをパラレルデータに変換している。
【００２４】
また、内部クロック生成回路１は、それぞれの入力タイミング信号ＡＩ〜ＤＩに所定時間ずつの遅延を与えて、図７に示すような入力タイミング信号ＡＩ〜ＤＩを供給する。なお、本実施形態では、多相クロックであるタイミング信号として、上記４つのタイミング信号を示したが、これは、あくまでも例示であって、上記のような４つのタイミング信号に限定するものではない。
【００２５】
位相調整回路１３ａ〜１３ｄは、レジスタ１４に書き込まれたデータに基づいて、入力タイミング信号ＡＩ〜ＤＩのずれを補正する。レジスタ１４は、外部コントローラから書き込まれた各入力タイミング信号ＡＩ〜ＤＩに関するずれの情報を、該当する入力タイミング信号ＡＩ〜ＤＩの供給ラインに設けられた位相調整回路１３ａ〜１３ｄに出力する。
【００２６】
一方、データ出力部３１は、コマンドデコーダ２から供給される出力イネーブル信号ＯＥによって活性化され出力データを取り込む出力バッファ１５と、位相調整回路１８ａ〜１８ｄを介して、内部クロック生成回路１から供給される入力タイミング信号ＡＯ〜ＤＯと、出力すべき内部データＤ００〜Ｄ０３を一旦保持するラッチ回路２０からの内部データとを受けるＮＡＮＤ回路１７ａ〜１７ｄと、ＮＡＮＤ回路１７ａ〜１７ｄからの入力のＯＲをとるＯＲ回路１６とを含んでいる。ＯＲ回路１６の出力は、出力バッファ１５に供給される。なお、出力イネーブル信号ＯＥが非活性化の場合、すなわち、データ入力時には、出力バッファ１５の出力はＨｉ−ｚ（ハイインピーダンス）となる。
【００２７】
また、内部クロック生成回路１は、それぞれの出力タイミング信号ＡＯ〜ＤＯに所定時間ずつの遅延を与えて、図５に示すような出力タイミング信号ＡＯ〜ＤＯを生成する。なお、本実施形態では、多相クロックであるタイミング信号として、上記４つのタイミング信号を示したが、これは、あくまでも例示であって、上記のような４つのタイミング信号に限定するものではない。
【００２８】
なお、位相調整回路１８ａ〜１８ｄおよびレジスタ１９の機能は、データ入力回路に設けられた位相調整回路１３ａ〜１３ｄおよびレジスタ１４と同様である。つまり、位相調整回路１８ａ〜１８ｄは、レジスタ１９に書き込まれたデータに基づいて、出力タイミング信号ＡＯ〜ＤＯのずれを補正し、レジスタ１９は、外部コントローラから書き込まれた各出力タイミング信号ＡＯ〜ＤＯに関するずれの情報を、該当する出力タイミング信号ＡＯ〜ＤＯの供給ラインに設けられた位相調整回路１８ａ〜１８ｄに出力する。
【００２９】
また、位相調整回路１３ａ〜１３ｄ、１８ａ〜１８ｄの内部回路は、図３に示すように、インバータ２４ａ〜２４ｅと、遅延素子２５ａ〜２５ｃとにより構成され、レジスタ１４またはレジスタ１９から出力されるビット情報がインバータ２４ａ〜２４ｄに入力されることにより、各入力タイミング信号ＡＩ〜ＤＩまたは出力タイミング信号ＡＯ〜ＤＯのずれ量が決定される。図３の例では、０から最大７ｐｓまでの間で調整が可能になっている。
【００３０】
図４および図５を用いて、データ出力回路の動作を説明すると、上述のように、半導体集積回路においては、配線長の長さの差に基づく信号遅延量の差は避けることができない。そのため、出力タイミング信号ＡＯ〜ＤＯおいても、図４に示すように、例えば、出力タイミング信号ＤＯにタイミングのずれを生じている場合がある。このとき、このタイミング信号の状態のまま、データ出力回路を駆動すると、パラレルデータからシリアルデータへの変換に支障をきたしてしまうことになる。
【００３１】
つまり、図４に示すように、出力タイミング信号ＤＯの位相が他の出力タイミング信号よりも進むずれがあった場合には、ＤＱ出力のＣ１の有効範囲が狭くなるとともに、Ｄ１の有効範囲が広くなる（こうした状況は、周期的に発生し、ＤＱ出力のＣ２、Ｄ２等でも同様の問題が生じる）。こうしたデータの有効領域（バリッドウィンドウ）のずれは、コントローラ側では調整できず、また、一般に、半導体装置の特性は、データを構成する複数ビットのデータの各々の有効領域（バリッドウィンドウ）のうち、最小の有効領域の特性を備えるビットデータにより決定されてしまうため、このままでは、半導体装置の特性が悪化し、問題となる。
【００３２】
そのため、例えば、半導体メモリ１００は、図４に示す出力タイミング信号ＡＯ〜ＤＯに応答して生成されたＤＱ出力を外部デバイス（外部コントローラ２００）に出力し、外部デバイスにおいてずれを生じている出力タイミング信号ＡＯ〜ＤＯとそのずれ量とを検出して、その検出結果をデータ列として半導体メモリ１００内のレジスタ１９に書き込み、半導体メモリ１００はレジスタ１９に書き込まれたデータ列を位相調整回路１８ａ〜１８ｄに供給することにより、図５に示すように、位相のずれている出力タイミング信号ＡＯ〜ＤＯを補正することにより、各出力タイミング信号ＡＯ〜ＤＯにそれぞれ対応するビットデータの有効領域（バリッドウィンドウ）を制御する。例えば、出力タイミング信号ＡＯ〜ＤＯごとのエッジ位置（出力のタイミング）を制御する。
【００３３】
すなわち、本実施形態に係る半導体メモリ１００は、レジスタ１９に書き込まれた情報に基づき、データを出力する４つのタイミング信号のずれを位相調整回路１８ａ〜１８ｄが調整することにより、データを出力する有効領域（バリッドウィンドウ）が４つのタイミング信号ごとにほぼ均一になり、その特性を改善することができる。
【００３４】
このように、本半導体装置（半導体メモリ１００）は、データ出力回路（ＯＲ回路１６、ＮＡＮＤ回路１７ａ〜１７ｄ、位相調整回路１８ａ〜１８ｄ、レジスタ１９）が、対応するデータを出力するタイミング信号となる位相の異なる多相クロック信号（内部クロック発生回路１により生成されたタイミング信号ＡＯ〜ＤＯ）に同期してデータを出力し、データを出力する有効領域（バリッドウィンドウ）が多相クロック信号ごとにほぼ均一に制御される。
【００３５】
また、データ入力回路についても、データ出力回路と同様に、配線長の長さの差に基づく信号遅延量の差は避けることができないため、例えば、図６に示すように、入力タイミング信号ＡＩ〜ＤＩのうち入力タイミング信号ＢＩにタイミングのずれを生じている場合がある。このとき、このタイミング信号の状態のまま、データ入力回路を駆動すると、シリアルデータからパラレルデータへの変換に支障をきたしてしまうことになる。
【００３６】
すなわち、図６に示すように、入力タイミング信号ＢＩの位相が他の入力タイミング信号よりも進むずれがあった場合には、ＤＱ入力のＢ１のセットアップ時間のマージンが小さくなる。こうした半導体メモリ内部のセットアップ時間あるいはホールド時間のマージンは、コントローラ側では調整できないため、このままでは、半導体装置の特性が悪化し、問題となる。コントローラと半導体メモリはそれぞれ異なるベンダーで製造し、また半導体メモリはそれぞれの製造条件若しくはセカンドソース等により、前記位相の異なる多相クロック信号の理想的なタイミングはそれぞれの半導体メモリで異なるからである。
【００３７】
そのため、例えば、半導体メモリ１００は、図６に示す入力タイミング信号ＡＩ〜ＤＩに応答してＤＱ入力を一旦データ入力部６１（それぞれのフリップフロップ１２ａ〜１２ｄ）に取り込み（ＤＱ入力をラッチする）、更にその取り込んだデータを外部デバイス（外部コントローラ２００）に出力し、外部デバイスにおいてずれを生じている入力タイミング信号ＡＩ〜ＤＩとそのずれ量とを検出して、その検出結果をデータ列として半導体メモリ内のレジスタ１４に書き込み、半導体メモリはレジスタ１４に書き込まれたデータ列を位相調整回路１３ａ〜１３ｄに供給することにより、図７に示すように、位相のずれている入力タイミング信号ＡＩ〜ＤＩを補正することにより、各入力タイミング信号ＡＩ〜ＤＩにそれぞれ対応するビットデータを取り込む有効領域（バリッドウィンドウ）を制御する。例えば、入力タイミング信号ＡＩ〜ＤＩごとのエッジ位置（入力タイミング信号の出力のタイミング）を制御する。尚、ここでのバリッドウィンドウは、セットアップ／ホールドウィンドウとも言う。
【００３８】
すなわち、本実施形態に係る半導体メモリ１００は、レジスタ１４に書き込まれた情報に基づき、データを取り込む４相クロックのずれを位相調整回路１３ａ〜１３ｄが調整することにより、図７に示すように、データを取り込む有効領域（バリッドウィンドウ）が４相クロックごとにほぼ均一になり、その特性を改善することができる。
【００３９】
このように、本半導体装置（半導体メモリ１００）は、外部コントローラから入力されるデータの取り込み（入力データの確定）について、入力するデータを取り込む有効領域が多相クロック信号（内部クロック発生回路１により生成された４つのタイミング信号ＡＩ〜ＤＩ）ごとにほぼ均一になるように、多相クロック信号ごとのエッジ位置を制御する。
【００４０】
出力タイミング信号ＡＯ〜ＤＯの調整方法を詳細に説明するために、図８に半導体メモリ１００とコントローラ２００とからなるデータ伝送システムを示す。
図８において、半導体メモリ１００は、データ出力部３１ａ〜３１ｃと、位相調整回路群３３〜３５と、レジスタ１９と、内部クロック生成回路１と、メモリセルアレイ７を備えている。また、内部クロック生成回路１にクロック信号を供給する外部クロック発生回路５０を備えている。
【００４１】
ここで、データ出力部３１ａ〜３１ｃは、それぞれ図２に示すデータ出力部３１と同じ論理回路ブロックであり、それぞれの位相調整回路群３３〜３５は、位相調整回路１８ａ〜１８ｄを総称したものである。
【００４２】
本半導体メモリ１００のデータ出力部３１ａを例にとると、その内部回路は、図２に示すように、４つの出力タイミング信号ＡＯ〜ＤＯと、４ビットのデータ（Ｄａｔａ＜３：０＞）とからＮＡＮＤ回路１７ａ〜１７ｄで得られるデータをＯＲ回路１６に入力して出力データを生成する構成になっている。なお、ＮＡＮＤ回路１７ａ〜１７ｄには、４ビットのデータ（Ｄａｔａ＜３：０＞）のうち、異なるデータが１ビットずつ入力される。ここで、データは、低速のシリアルポートを用いて、予め、図８に示すコントローラ２００の書き込みデータ出力部４５からメモリセルアレイの所定のアドレスに書き込まれている。
【００４３】
図２のデータ出力部３１の構成と図５を参照して、４つの出力タイミング信号ＡＯ〜ＤＯとデータ出力（ＤＱ出力）との関係を説明すると、図５のＤＱ出力Ａ１は、クロックＡとＢとＤの状態により、その値が決定され１ビットのデータが出力され、ＤＱ出力Ｂ１は、クロックＡとＢとＣの状態により、その値が決定され１ビットのデータが出力され、ＤＱ出力Ｃ１は、クロックＢとＣとＤの状態により、その値が決定され１ビットのデータが出力され、ＤＱ出力Ｄ１は、クロックＡとＣとＤの状態により、その値が決定され１ビットのデータが出力される。以下、ＤＱ出力Ａ２、Ａ３、Ｂ２、Ｂ３、Ｃ２、Ｄ２についても同様である。なお、図２のデータ出力部３１は、各クロックの立ち上がりエッジでＤＱ出力が切り替わり、一方で、各クロックの立下りエッジでは、ＤＱ出力が切り替わらないように、各クロックの立下りエッジを遅らせた波形になっている。
【００４４】
ところで、内部クロック生成回路１で生成された４つの出力タイミング信号ＡＯ〜ＤＯは、上述の如く、配線遅延等の影響を受け、内部クロック生成回路１から出力された各出力タイミング信号ＡＯ〜ＤＯには、それぞれの理想時間とのずれを生じる場合があり、データ出力部３１ａ〜３１ｃに入力された各出力タイミング信号ＡＯ〜ＤＯとの間には、それぞれの理想時間とのずれを生じる場合がある。
【００４５】
そこで、各出力タイミング信号ＡＯ〜ＤＯの供給ラインには、図２および図８に示す位相調整回路１８ａ〜１８ｄ（図８では、位相調整回路群３３〜３５に相当）が設けられ、各出力タイミング信号ＡＯ〜ＤＯのずれを補正する。
【００４６】
具体的には、半導体メモリ１００は、内部クロック生成回路１で生成された４つの出力タイミング信号ＡＯ〜ＤＯを用いて生成した出力データをシステム上の信号配線へ出力し、コントローラ２００は、データ入力部４１ａ〜４１ｃによって前記システム上の出力データを受信し、コントローラ２００のずれ検出部４４（検証回路）において、半導体メモリ１００内の信号である各出力タイミング信号ＡＯ〜ＤＯにおけるずれ量を検出する。そして、そのずれ情報を変換テーブル等を用いて２値のデータ列に変換し、このデータ列を半導体メモリ１００内のレジスタ１９に書き込み、半導体メモリ１００は、このデータを位相調整回路１８ａ〜１８ｄに供給して、ずれを補正する。
【００４７】
図８に示すように、コントローラ２００は、半導体メモリ１００のデータ出力部３１ａ〜３１ｃと対をなすデータ入力部４１ａ〜４１ｃと、タイミングシフト回路４２ａ〜４２ｃと、内部クロック生成回路４３と、ずれ検出部４４と、書き込みデータ出力部４５とから構成されている。データ出力部３１ａ〜３１ｃ、データ入力部４１ａ〜４１ｃは、いずれも第１の外部端子に接続されている。制御端子等のその他の外部端子は、図示を省略している。
【００４８】
タイミングシフト回路４２ａ〜４２ｃは、内部クロック生成回路４３において生成されたクロックに基づいて、データ入力部４１ａ〜４１ｃに入力された半導体メモリ１００からのデータを取り込むためのタイミング信号を発生する。
【００４９】
なお、内部クロック生成回路４３が生成するクロックの周波数は、コントローラ２００が許容できる最も高い周波数であり、具体的には、数ｐｓ程度の周期である。この周期が、半導体メモリ１００の４つの出力タイミング信号ＡＯ〜ＤＯのずれを補正するための最小単位となる。
【００５０】
ずれ検出部４４は、タイミングシフト回路４２ａ〜４２ｃが発生するタイミング信号に基づいて入力されるデータを読み取って、この読み取ったデータと期待値（それは書き込みデータ出力部４５が半導体メモリ１００に書き込んだデータ）とを比較（検証）して、データの一致（Ｐａｓｓ）、不一致（Ｆａｉｌ）を判定することにより、半導体メモリ１００の４つの出力タイミング信号ＡＯ〜ＤＯのうち、どの出力タイミング信号ＡＯ〜ＤＯがどれだけずれを生じているのかを検出する。なお、ずれ検出部４４は、図示しない変換テーブル等により、検出した情報を２値の情報に変換して、図示しない外部端子（第２の外部端子）を介して半導体メモリ１００のレジスタ１９に書き込む。尚、第２の外部端子は、第１の外部端子もしくは、その他の制御端子と共有することが出来る。これにより外部端子数を少なく出来る。その他の制御端子と共有する場合、メモリコントローラが半導体メモリへその他のレジスタ情報を送出するのに使用する制御端子が望ましい。
【００５１】
書き込みデータ出力部４５は、コントローラ２００の図示しないデータ格納領域に格納されたデータを初期処理として、低速のシリアルポートを用いて、図８に示すメモリセルアレイ６にデータを確実に書き込む。半導体メモリからの読み出し周波数よりも低い周波数で書き込むことが望ましい。
【００５２】
図４、図５、図９、図１０を用いて、ずれ検出部４４の処理について、詳細に説明すると、まず、半導体メモリ１００の４つの出力タイミング信号ＡＯ〜ＤＯに、それぞれずれがない場合、図５に示すように、各ＤＱ出力の有効領域は、均一になり、図５に示すようなデータが出力データとしてコントローラ２００に出力される。
【００５３】
一方、図４のように、半導体メモリ１００の出力タイミング信号ＤＯにずれがある場合には、上記のように、各クロックの立ち上がりエッジでＤＱ出力が切り替わるために、ＤＱ出力におけるＣ１の有効領域は通常よりも狭くなり、逆に、Ｄ１の有効領域は通常よりも広くなった状態で、このようなデータが出力データとしてコントローラ２００に出力される。
【００５４】
本実施形態の場合、コントローラ２００は、半導体メモリ１００が４つの出力タイミング信号ＡＯ〜ＤＯを用いて、出力データを生成していることを予め認知しているため、コントローラ２００の入力タイミングをずらして、図９に示すように、半導体メモリ１００からの出力データのうち、最初の４ビット（Ａ１、Ｂ１、Ｃ１、Ｄ１）のデータ長を均等にＡ、Ｂ、Ｃ、Ｄの４つの領域に分割する。なお、Ａ１、Ｂ１、Ｃ１、Ｄ１にある斜線部分は、ＤＣ出力のジッタ成分によるデータ不定領域であり、それぞれ同じ領域幅を有している。
【００５５】
コントローラ２００のタイミングシフト回路４２ａ〜４２ｃは、内部クロック生成回路４３から出力されるタイミング信号に応じて、図９の左側に記載する１〜１１に相当するように、１クロック分ずつずらした読み出しタイミング信号をデータ入力部４１ａ〜４１ｃに与える。
【００５６】
データ入力部４１ａ〜４１ｃは、タイミングシフト回路４２ａ〜４２ｃから与えられた読み出しタイミング信号に基づいて、各領域（Ａ、Ｂ、Ｃ、Ｄ）のデータを同時に読み出し、ずれ検出部４４に出力する。
【００５７】
ずれ検出部４４は、データ入力部４１ａ〜４１ｃから入力したデータが期待値と一致するのか否かを判定し、入力データが期待値と一致する場合には、Ｐａｓｓ（図９、図１０では、「Ｐ」と表記）とし、入力データが期待値と一致しない場合には、Ｆａｉｌ（図９、図１０では、「Ｆ」と表記）と判定する。なお、ここで、期待値とは、コントローラ２００の書き込みデータ出力部４５から出力されたデータである。
【００５８】
そのため、図５に示すような各ＤＱ出力の有効領域が均一のデータが入力された場合、図９の右側に示すように、各領域（Ａ、Ｂ、Ｃ、Ｄ）における判定結果は、すべて「ＦＦＦＰＰＰＰＰＰＦＦ」となり、どのクロックにもずれのない理想的な状態であることがわかる。
【００５９】
一方で、図４に示すような出力タイミング信号ＤＯにずれがあるデータが入力された場合、図１０の右側に示すように、各領域（Ａ、Ｂ、Ｃ、Ｄ）における判定結果は、ＡとＢとがともに、「ＦＦＦＰＰＰＰＰＰＦＦ」であるのに対して、Ｃは、「ＦＦＦＰＰＰＰＦＦＦＦ」となり、Ｄは、「ＦＰＰＰＰＰＰＰＰＦＦ」となる。
【００６０】
この結果から、ＤＱ出力の「Ｃ１」のデータ有効領域と「Ｄ１」のデータ有効領域とが「Ａ１」および「Ｂ１」のデータ有効領域とは、異なることがわかる。さらに、図５を用いて説明したように、「Ｃ１」のデータ有効領域を決定するのは、出力タイミング信号ＢＯとＣＯとＤＯとであり、「Ｄ１」のデータ有効領域を決定するのは、出力タイミング信号ＡＯとＣＯとＤＯとであることから、出力タイミング信号ＣＯあるいはＤＯのいずれかにずれがあることがわかる。
【００６１】
さらに、領域ＣとＤとの判定結果から、「Ｃ１」のデータ有効領域が通常よりも狭く、「Ｄ１」のデータ有効領域が通常よりも広いことがわかる。また、図５を参照すると、「Ｃ１」のデータ有効領域と「Ｄ１」のデータ有効領域との切り替わりは、クロックＤの立ち上がりエッジで決定されることから、この場合、出力タイミング信号ＤＯの立ち上がりが通常よりも早く、そのずれ量は、判定結果の「Ｐ」と「Ｆ」の数の違いから２クロック分であることがわかる。なお、実際には、判定領域と「Ｐ」と「Ｆ」の数の違いとを関連付けた判定テーブル等を用いることによって、瞬時に、ずれのあるクロックとそのずれの量とを検出する。
【００６２】
また、データのビット長にかかわらず、すべての入力データについて、上記のような処理を行わなくても、出力タイミング信号の数に対応した先頭からのデータ群についてのみ、上記のような処理を実行すれば、ずれのある出力タイミング信号ＡＯ〜ＤＯとそのずれの量とを検出することができる。
【００６３】
上記の検証結果に基づき、ずれ検出部４４は、変換テーブル等を用いて、出力タイミング信号ＤＯを２クロック分遅延させる情報を２値化し、そのデータを半導体メモリ１００のレジスタ１９に書き込む。半導体メモリ１００の位相調整回路１３ｄは、レジスタ１９のデータを図３に示すインバータ２４ａ〜２４ｄに供給し、出力タイミング信号ＤＯを２クロック分遅延させる。
【００６４】
尚、以下の事に注意が必要である。１つ目は、レジスタ１９が備える調整情報（ずれ検出部が検出したずれ量）は、半導体メモリ１００の内部クロック生成回路１が出力する出力タイミング信号ＡＯ〜ＤＯのずれと、コントローラ２００の内部クロック生成回路４３が出力するクロックのずれ（コントローラ２００が許容できる最も高い周波数）とタイミングシフト回路４２ａ〜４２ｃのそれぞれのタイミング信号のずれとが含まれ、それらのずれ量を総合した値に対して半導体メモリ１００の複数の位相調整回路がそれぞれ調整される。２つ目は、この事例の場合、データを出力する半導体メモリはマスター側デバイス、そのデータを入力するコントローラは、スレーブ側デバイスということもできる。
【００６５】
このように、本データ伝送システムは、マスターデバイス（コントローラ２００）とスレーブデバイス（半導体メモリ１００）との間で、データの伝送を行うものであり、マスターデバイスとスレーブデバイスが、それぞれ複数のデータ入出力端子に接続されたデータ入力回路またはデータ出力回路を備え、スレーブデバイス側のデータ出力回路が、データを出力するタイミング信号となる位相の異なる多相クロック信号によりデータを出力し、マスターデバイス側のデータ入力回路がデータを入力するタイミング信号となる位相の異なる多相クロック信号によりデータを入力し、マスターデバイス側にてマスターデバイス側が備える期待値とデータ入力回路を介して入力したデータとを比較（検証）して誤差を解析し、解析値から求められた補正値をスレーブ側デバイスへ送出し、スレーブデバイス側はマスターデバイスからの補正値により多相クロック信号をそれぞれ補正する。これにより、マスターデバイス側とスレーブデバイス側との関係において、それぞれのデータの有効領域の値（バリッドウィンドウ）は、両者の関係において相対的に同一の値に制御される。
【００６６】
データを送出する半導体メモリをマスター側デバイス、そのデータを入力するコントローラ側デバイスをスレーブ側デバイスというならば、本データ伝送システムは、マスターデバイス（半導体メモリ１００）とスレーブデバイス（コントローラ２００）との間で、データの伝送を行うものであり、マスターデバイスとスレーブデバイスが、それぞれ複数のデータ入出力端子に接続されたデータ入力回路またはデータ出力回路を備え、マスターデバイス側のデータ出力回路と対応するスレーブデバイス側のデータ入力回路が、それぞれデータを出力及び取り込むタイミング信号となる位相の異なる多相クロック信号によりデータを出力及び取り込み、マスターデバイス側の多相クロック信号とスレーブ側の多相クロック信号とそれぞれのずれ量を合算した値（包含した値）を補正値とし、その補正値により、マスターデバイス側の位相の異なる多相クロック信号のそれぞれの調整を行う。これにより、システム上の信号における複数ビットのデータのそれぞれの有効領域が同一となる。
【００６７】
また、マスターデバイス側に備えるずれ検出手段は、データ領域を前記多相クロックの各クロックに対応して均等に分割し、データの入力タイミングを所定の時間間隔だけずらして読み込み、それぞれ分割した領域において読み込まれたデータと期待値との一致、不一致を検出し、検出した結果に基づいて、遅延を生じているクロック信号とそのずれ量とを特定する。
【００６８】
したがって、出力タイミング信号ＡＯ〜ＤＯを個別に調整することにより、データのバリッドウィンドウを均一にすることができるため、半導体装置の特性を改善することができる。
【００６９】
入力タイミング信号ＡＩ〜ＤＩの調整方法を詳細に説明するために、図１１に半導体メモリ１００とコントローラ２００とからなるデータ伝送システムを示す。
図１１において、半導体メモリ１００は、データ入力部６１ａ、６１ｂと、位相調整回路群６３、６４と、レジスタ１４と、内部クロック生成回路１とを備えている。また、内部クロック生成回路１にクロック信号を供給する外部クロック発生回路５０を備えている。
【００７０】
ここで、データ入力部６１ａ、６１ｂは、それぞれ図２に示す複数のフリップフロップ１２ａ〜１２ｄであり、位相調整回路群６３、６４は、それぞれ位相調整回路１３ａ〜１３ｄを総称したものである。なお、本実施形態においても、入力タイミング信号ＡＩ〜ＤＩのずれについては、コントローラ２００側でその検出を行うため、図１１には、データ入力部６１ａ、６１ｂにより入力したデータが、一旦、コントローラ２００側に戻される。そのために、半導体メモリ１００側にはデータ出力部３１ｃが示され、コントローラ２００側にはデータ入力部４１ａが示されている。尚、前記戻されるデータは、不図示のメモリセルを介さずに戻される。具体的には、図２に示される内部データバスＤａｔａ＜３：０＞を介してデータ入力部６１からラッチ回路２０を経由して、データ出力部３１に伝達される。更に、前述の出力タイミング信号ＡＯ〜ＤＯの調整を実施した後に、入力タイミング信号ＡＩ〜ＤＩの調整を行うことが望ましい。入力タイミング信号ＡＩ〜ＤＩの補正値に出力タイミング信号ＡＯ〜ＤＯの誤差を含まないようにする為である。若しくは、入力タイミング信号ＡＩ〜ＤＩの調整を行う時には、出力タイミング信号ＡＯ〜ＤＯの動作周波数を低い周波数で動作させることによっても、代替出来る。この代替においては、出力タイミング信号ＡＯ〜ＤＯの調整と入力タイミング信号ＡＩ〜ＤＩの調整との順序関係は問われない。尚、出力タイミング信号ＡＯ〜ＤＯの調整と入力タイミング信号ＡＩ〜ＤＩの調整は、所謂データアクセス前のシステム上の調整期間（キャリブレーションステップ）において実施される。
【００７１】
本半導体メモリ１００のデータ入力部６１ａを例にとると、その内部回路には、図２に示すように、コントローラ２００側からの入力データを４つの入力タイミング信号ＡＩ〜ＤＩをもちいて取り込むフリップフロップ１２ａ〜１２ｄが設けられている。コントローラ２００から供給される入力データは、入力イネーブル信号ＩＥが活性状態のときに、フリップフロップ１２ａ〜１２ｄの入力端Ｄに入力され、位相調整回路１３ａ〜１３ｄを介して供給される入力タイミング信号ＡＩ〜ＤＩに応じて入力データをラッチし、確定されたデータを出力端Ｑから出力する。
【００７２】
図２のデータ入力部６１の構成と図７とを参照して、４つの入力タイミング信号ＡＩ〜ＤＩとフリップフロップ１２ａ〜１２ｄの入力Ｄに入力されるデータ入力（ＤＱ入力）との関係を説明すると、図７のＤＱ入力Ａ１は、入力タイミング信号ＡＩの立ち上がりエッジで取り込まれ、ＤＱ入力Ｂ１は、入力タイミング信号ＢＩの立ち上がりエッジで取り込まれ、ＤＱ入力Ｃ１は、入力タイミング信号ＣＩの立ち上がりエッジで取り込まれ、ＤＱ入力Ｄ１は、入力タイミング信号ＤＩの立ち上がりエッジで取り込まれる。以下、ＤＱ入力Ａ２、Ａ３、Ｂ２、Ｂ３、Ｃ２、Ｄ２についても同様である。なお、図中、実線の両矢印は、上述のデータ入力部の内部にあるフリップフロップ１２ａ〜１２ｄのセットアップ時間を示し、破線の両矢印は、ホールド時間を示している。各入力タイミング信号のエッジから左側の猶予時間（マージンタイム）がセットアップ時間、右側の猶予時間がホールド時間である。セットアップ時間とホールド時間の理想は、両者が５０％の値である。
【００７３】
ところで、データ出力の場合と同様に、内部クロック生成回路１で生成された４つの入力タイミング信号ＡＩ〜ＤＩは、配線遅延等の影響を受け、内部クロック生成回路１から出力された各入力タイミング信号ＡＩ〜ＤＩとデータ入力部６１ａ、６１ｂに入力された各入力タイミング信号ＡＩ〜ＤＩとの間には、それぞれの理想時間とのずれを生じる場合がある。
【００７４】
そこで、各入力タイミング信号ＡＩ〜ＤＩの供給ラインには、図２および図１１に示す位相調整回路１３ａ〜１３ｄ（図１１では、位相調整回路群６３、６４と示す）が設けられ、各入力タイミング信号ＡＩ〜ＤＩのずれを補正する。
【００７５】
具体的には、コントローラ２００からの入力データを内部クロック生成回路１で生成された４つの入力タイミング信号ＡＩ〜ＤＩに同期して取り込み、取り込んだデータをすでに説明した位相調整を行ったデータ出力部３１ｃ（図１１）を介して、図１１に示すコントローラ２００のデータ入力部４１ａに入力し、コントローラ２００のずれ検出部７４において、各入力タイミング信号ＡＩ〜ＤＩにおけるずれ量を検出する。そして、その情報を変換テーブル等を用いて２値のデータ列に変換し、このデータ列をレジスタ１４に書き込み、このデータを位相調整回路１３ａ〜１３ｄに供給して、そのずれを補正する。
【００７６】
一方、図１１に示すように、コントローラ２００は、半導体メモリ１００のデータ入力部６１ａ、６１ｂと対をなすデータ出力部７１ａ、７１ｂと、タイミングシフト回路７２ａ〜７２ｃと、内部クロック発生回路４３と、ずれ検出部７４とから構成されている。
【００７７】
タイミングシフト回路７２ａ，７２ｂは、内部クロック発生回路４３において生成されたクロックに基づいて、データ出力部７１ａ、７２ｂに入力されたデータ（期待値）を半導体メモリ１００へ送出するためのタイミング信号を発生する。タイミングシフト回路７２ｃは、内部クロック発生回路４３において生成されたクロックに基づいて、データ入力部４１ａに入力された半導体メモリ１００（被試験デバイス）からのデータを取り込むためのタイミング信号を発生する。
【００７８】
なお、内部クロック発生回路４３が生成するクロックの周波数は、コントローラ２００が許容できる最も高い周波数であり、具体的には、数ｐｓ程度の周期である。この周期が、半導体メモリ１００の４つの入力タイミング信号ＡＩ〜ＤＩのずれを補正するための最小単位となる。前述の様に、コントローラ２００のタイミングシフト回路７２ｃと半導体メモリ１００の位相調整回路群３３の周波数は、タイミングシフト回路７２ａ〜７２ｂと半導体メモリ１００の位相調整回路群６３、６４の周波数よりも低くすることもできる。この場合においては、出力タイミング信号ＡＯ〜ＤＯの調整と入力タイミング信号ＡＩ〜ＤＩの調整との順序関係は問われない。
【００７９】
ずれ検出部７４は、タイミングシフト回路７２ｃが発生するタイミング信号に基づいて入力されるデータ群を順次取り込んで、そのデータを読み取って、この読み取ったデータと期待値とを比較（検証）して、データの一致（Ｐａｓｓ）、不一致（Ｆａｉｌ）を判定することにより、半導体メモリ１００の４つの入力タイミング信号ＡＩ〜ＤＩのうち、どの入力タイミング信号ＡＩ〜ＤＩがどれだけずれを生じているのかを検出する。このずれの量には、コントローラ２００側のタイミングシフト回路７２ａ〜７２ｂのずれの量も含まれている。なお、ずれ検出部７４は、図示しない変換テーブル等により、検出した情報を２値の情報に変換して、半導体メモリ１００のレジスタ１４にその情報を書き込む。
【００８０】
以下の事に注意が必要である。レジスタ１４が備える調整情報（ずれ検出部が検出したずれ量）は、半導体メモリ１００の内部クロック生成回路１が出力する出力タイミング信号ＡＩ〜ＤＩのずれと、コントローラ２００の内部クロック生成回路４３が出力するクロックのずれ（コントローラ２００が許容できる最も高い周波数）とタイミングシフト回路７２ａ〜７２ｂのそれぞれのタイミング信号のずれとが含まれ、それらのずれ量を総合した値に対して半導体メモリ１００の複数の位相調整回路がそれぞれ調整される。
【００８１】
図６、図７、図１２、図１３を用いて、ずれ検出部７４の処理について、詳細に説明すると、まず、半導体メモリ１００の４つの入力タイミング信号ＡＩ〜ＤＩに、それぞれずれがない場合、図７に示すように、各ＤＱ入力の有効領域は、均一である。
【００８２】
一方、図６のように、半導体メモリ１００の入力タイミング信号ＢＩにずれがある場合には、セットアップ時間のマージンが少なく、この状態では、データ入力部のフリップフロップ１２ｂで正確なデータを取り込めない可能性が出てくる。
【００８３】
本実施形態の場合、コントローラ２００は、半導体メモリ１００が４つの入力タイミング信号ＡＩ〜ＤＩを用いて、入力データを取り込んでいることを予め認知しているため、観測エリアをＡ、Ｂ、Ｃ、Ｄの４つの領域に分割し、半導体メモリ１００へデータを送出する。
【００８４】
ここで、コントローラ２００のタイミングシフト回路７２ａ（７２ｂ）は、内部クロック生成回路４３から出力されるタイミング信号に応じて、図１２の左側に記載する１〜１２に相当するように、数ｐｓ程度（１クロック分）ずつずらした出力タイミング信号をデータ出力部７１ａ（７１ｂ）に与える。
【００８５】
ずれ検出部７４は、内部にフリップフロップを備え、図１２に示すように、半導体メモリ１００の内部クロック１が生成するデータの取り込みタイミング（図中の矢印）の前後にデータの取り込みに必要なセットアップ時間およびホールド時間を設けた領域（判定領域）を形成し、半導体メモリ１００のデータ出力部３１ｃとコントローラ２００のデータ入力部４１ａを介して半導体メモリ１００のデータ入力部６１ａがそれぞれラッチした入力データを取り込む。なお、判定領域内で、データが遷移する場合には、データが不確定となる。コントローラ２００のずれ検出部７４の取り込み時間（前記判定領域）が半導体メモリ１００のデータ入力部４１ａのウィンドウが広いのは、純粋に半導体メモリ１００のセットアップおよびホールドのマージンを計測するためである。
【００８６】
そして、データ入力部４１ａから入力したデータが期待値と一致するのか否かを判定し、入力データが期待値と一致する場合には、Ｐａｓｓ（図１２、図１３では、「Ｐ」と表記）とし、入力データが期待値と一致しない場合には、Ｆａｉｌ（図１２、図１３では、「Ｆ」と表記）と判定する。
【００８７】
そのため、図７に示すような各ＤＱ入力の有効領域が均一であるデータが入力された場合、図１２の右側に示すように、各領域（Ａ、Ｂ、Ｃ、Ｄ）における判定結果は、すべて「ＰＰＰＰＦＦＦＦＦＰＰＰ」となり、どの入力タイミング信号ＡＩ〜ＤＩにもずれのない理想的な状態であることがわかる。
【００８８】
一方で、図６に示すような入力タイミング信号ＢＩにずれがあるデータが入力された場合には、ずれている入力タイミング信号ＢＩに対応する判定領域のみが図１２の理想状態からずれてしまうために、図１３の右側に示すように、各領域（Ａ、Ｂ、Ｃ、Ｄ）における判定結果は、Ａ、Ｃ、Ｄがともに、「ＰＰＰＰＦＦＦＦＦＰＰＰ」であるのに対して、Ｂのみが、「ＰＰＦＦＦＦＦＦＦＰＰＰ」となる。
【００８９】
この結果から、入力タイミング信号ＢＩにずれ（その他の入力タイミング信号ＡＩ、ＣＩ、ＤＩとのずれ）があることがわかり、そのずれ量は、判定結果の「Ｐ」と「Ｆ」の数の違いから２クロック分であることがわかる。なお、実際には、判定領域と「Ｐ」と「Ｆ」の数の違いとを関連付けた判定テーブル等を用いることによって、瞬時に、ずれのあるクロックとそのずれの量とを検出する。  
【００９０】
上記の検証結果に基づき、ずれ検出部７４は、変換テーブル等を用いて、入力タイミング信号ＢＩを２クロック分遅延させる情報を２値化し、そのデータを半導体メモリ１００のレジスタ１４に書き込む。半導体メモリ１００の位相調整回路１３ｂは、レジスタ１４のデータを図３に示すインバータ２４ａ〜２４ｄに供給し、入力タイミング信号ＢＩを２クロック分遅延させる。
【００９１】
このように、スレーブデバイス（半導体メモリ１００）のデータ入力回路は、マスターデバイスからデータを入力するデータ入力部（データ入力部６１ａ等）と、マスターデバイスからの入力データを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段（内部クロック生成回路１）と、多相クロック信号ごとのずれ量を格納する格納手段（レジスタ１４）と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように前記多相クロック信号ごとのエッジ位置を制御する位相調整手段（位相調整回路１３ａ等）と、を備え、マスターデバイス（コントローラ２００）は、マスターデバイス（コントローラ２００）のデータ出力手段（データ出力部）が、スレーブデバイスのデータ入力回路へ順次微小時間（所定の時間間隔）ずらした信号を出力し、マスターデバイス（コントローラ２００）のずれ検出手段（ずれ検出部７４）が、半導体メモリ１００のデータ出力部３１ｃとコントローラ２００のデータ入力部４１ａを介して半導体メモリ１００のデータ入力部６１ａがそれぞれラッチした入力データを取り込み、多相クロック信号ごとのずれ量を検出し、検出した前記多相クロック信号ごとのずれ量を格納する、それぞれの手段を備える。
【００９２】
また、ずれ検出手段（ずれ検出部７４）は、データ領域を多相クロックの各クロックに対応して均等に分割し、データ出力部７１ａからのデータの出力タイミングを所定の時間間隔だけずらして、スレーブデバイスのデータ出力部３１ｃを介してスレーブデバイスのデータ入力部６１ａがラッチしたデータを複数回読み込み、マスターデバイス（コントローラ２００）のずれ検出手段が、それぞれ分割した領域において読み込まれたデータと期待値との一致、不一致を検出し、検出した結果に基づいて、遅延を生じているクロック信号とそのずれ量とを特定する。
【００９３】
したがって、多相クロック信号を個別に調整することにより、データのバリッドウィンドウを均一にすることができるため、半導体装置の特性を改善することができる。つまり、マスターデバイス（コントローラ２００）とスレーブデバイス（半導体メモリ１００）との両者の関係において相対的に同一のデータのバリッドウィンドウ幅の値（セットアップ時間とホールド時間がそれぞれ５０％の値）に制御される。
【００９４】
＜変形例＞
図１４は、本実施形態に係る半導体メモリの第１の変形例を示している。具体的には、先に説明した半導体メモリ１００では、図８に示すように、レジスタ１９からの出力が個別に各位相調整回路群３３、３４、３５、３６を構成する位相調整回路に供給されていたが、本変形例では、レジスタ１９からの出力が位相調整回路群３４、３６にのみ供給され、位相調整回路群３３、３５には、位相調整回路群３４、３６からレジスタ１９からの出力が供給されるような構成になっている。
【００９５】
すなわち、前述のように、出力タイミング信号等のずれは、配線遅延等を主要因とするものであることから、内部クロック生成回路１からの配線長が、データ出力部３１ａ、３１ｂでほぼ同一であり、データ出力部３１ｃ、３１ｄでほぼ同一の場合には、出力タイミング信号等の配線遅延もほぼ同一であると考えられるため、このような場合には、複数の位相調整回路でレジスタ値を共用できる。
【００９６】
このように、スレーブデバイスのデータ出力回路は、マスターデバイスにより予め入力されているデータを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとの活性領域を制御する位相調整手段と、を備えるともに、スレーブデバイスのデータ出力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の出力回路について、格納手段の値を共用し、マスターデバイスが、多相クロック信号生成回路において生成された多相クロック信号により取り込まれたデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【００９７】
また、スレーブデバイスのデータ入力回路は、マスターデバイスからの入力データを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとのエッジ位置を制御する位相調整手段と、を備えるともに、スレーブデバイスのデータ入力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の入力回路について、格納手段の値を共用し、マスターデバイスが、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一調整されたスレーブデバイスのデータ出力部からのデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【００９８】
図１５は、本実施形態に係る半導体メモリの第２の変形例を示している。具体的には、先に説明した半導体メモリ１００では、レジスタ１９からの出力が個別に各位相調整回路群３３、３４、３５、３６を構成する位相調整回路に供給されていたが、本変形例では、データ出力部３１ａ、３１ｂが位相調整回路群３９を供用し、データ出力部３１ｃ、３１ｄが位相調整回路群４０を供用する構成になっている。
【００９９】
すなわち、上述のように、出力タイミング信号等のずれは、配線遅延等を主要因とするものであることから、内部クロック生成回路１からの配線長が、データ出力部３１ａ、３１ｂでほぼ同一であり、データ出力部３１ｃ、３１ｄでほぼ同一の場合には、出力タイミング信号等の配線遅延もほぼ同一であると考えられる。このような場合には、レジスタ１９のレジスタ値のみならず、複数のデータ出力部で位相調整回路をも共用できる。
【０１００】
このように、スレーブデバイスのデータ出力回路は、マスターデバイスにより予め入力されているデータを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、を備えるともに、スレーブデバイスのデータ出力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の出力回路について、格納手段の値と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとの活性領域を制御する位相調整手段と、を共用し、マスターデバイスが、多相クロック信号生成回路において生成された多相クロック信号により取り込まれたデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【０１０１】
また、スレーブデバイスのデータ入力回路は、マスターデバイスからの入力データを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、を備えるともに、スレーブデバイスのデータ入力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の入力回路について、格納手段の値と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとのエッジ位置を制御する位相調整手段と、を共用し、マスターデバイスが、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一調整されたスレーブデバイスのデータ出力部からのデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【０１０２】
したがって、このような変形例によれば、回路等を供用することにより、メモリの内部構成を簡略化できる。
【０１０３】
これまで説明した発明開示事項は、以下に示すように適用される。例えば、ステップ１として、前述のスレーブデバイス側内の信号入力回路のそれぞれのセットアップ／ホールドのタイミングを調整するために、４相クロック（複数の第１の制御信号）のそれぞれの補正を行う。ステップ２として、前述のスレーブデバイス側内の信号出力回路のそれぞれの出力のタイミングを調整するために、４相クロック（複数の第２の制御信号）のそれぞれの補正を行う。ステップ３として、複数のスレーブデバイス側とマスターデバイス側とのそれぞれの距離に対応したデバイス間の信号の調整を、マスターデバイス側の内部タイミングを調整することによって、実施する。ステップ１〜３が終了した後、システムのアドレスに対応するマスターデバイス側とスレーブデバイス側との通常の通信が実施される。よって、ステップ１〜３は、通常の通信前の信号調整ステップ（キャリブレーション期間）である。尚、ステップ１〜３の順序は、これに限られない。このステップ１と２が適用されることにより、マスターデバイスとスレーブデバイスとの通信データの信頼性が更に向上する。具体的には、例えば、一つのクロック信号の遷移に対応して４つのシリアルなデータが伴う場合においても、それら４つのデータそれぞれの有効時間、セットアップ／ホールド時間がほぼ同一となる。前記ステップ１と２により、前記４つのシリアルなデータをそれぞれ制御する複数の制御信号の補正を個別に実施するからである。
【０１０４】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、本実施形態では、クロックのずれ調整を行うタイミングとして、初期処理を例示したが、テストモード時に上記調整を行ってもよい。また、コントロール側で、タイミング信号のずれ量を検出する方法を例示したが、この機能を半導体メモリ側に設けてもよい。
【符号の説明】
【０１０５】
１・・・内部クロック生成回路
２・・・コマンドデコーダ
３ａ〜３ｘ・・・データ入出力回路
４・・・ロウアドレスバッファ／デコーダ
５・・・カラムアドレスバッファ／デコーダ
６・・・センスアンプ
７・・・メモリセルアレイ
１１・・・入力バッファ
１２ａ〜１２ｄ・・・フリップフロップ
１３ａ〜１３ｄ・・・位相調整回路
１４・・・レジスタ
１５・・・出力バッファ
１６・・・ＯＲ回路
１７ａ〜１７ｄ・・・ＮＡＮＤ回路
１８ａ〜１８ｄ・・・位相調整回路
１９・・・レジスタ
２０・・・ラッチ回路
２４ａ〜２４ｅ・・・インバータ
２５ａ〜２５ｃ・・・遅延器
３１ａ〜３１ｃ・・・データ出力部
３３、３４、３５、３６、３９、４０・・・位相調整回路群
４１ａ〜４１ｃ・・・データ入力部
４２ａ〜４２ｃ・・・タイミングシフト回路
４３・・・内部クロック生成回路
４４・・・ずれ検出部
４５・・・書き込みデータ出力部
５０・・・外部クロック発生回路
６１ａ、６１ｂ・・・データ入力部
６３、６４・・・位相調整回路群
７１ａ、７１ｂ・・・データ出力部
７２ａ〜７２ｃ・・・タイミングシフト回路
７４・・・ずれ検出部
１００〜１２０・・・半導体メモリ
２００・・・コントローラ
【図１】
2010081577.tif 000003
【図２】
2010081577.tif 000004
【図３】
2010081577.tif 000005
【図４】
2010081577.tif 000006
【図５】
2010081577.tif 000007
【図６】
2010081577.tif 000008
【図７】
2010081577.tif 000009
【図８】
2010081577.tif 000010
【図９】
2010081577.tif 000011
【図１０】
2010081577.tif 000012
【図１１】
2010081577.tif 000013
【図１２】
2010081577.tif 000014
【図１３】
2010081577.tif 000015
【図１４】
2010081577.tif 000016
【図１５】
2010081577.tif 000017