説明

半導体装置およびデータ伝送システム

【課題】メモリ側の多相クロックのずれを補正する。
【解決手段】複数のデータ入出力端子に接続されたデータ入力回路とデータ出力回路とを備えた半導体装置であって、データ入力回路あるいはデータ出力回路の少なくとも一方が、データを取り込むタイミング信号となる位相の異なる多相クロック信号によりデータを取り込み、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整する。本発明によれば、入力あるいは出力タイミング信号である多相クロック信号を個別に調整することにより、データのウィンドウ幅を均一にすることができるため、半導体装置の特性を改善することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスターデバイスである半導体装置及びその制御方法、スレーブデバイスである半導体装置及びその制御方法、並びに、マスターデバイスとスレーブデバイス間のデータ伝送システム及びその制御方法に関し、特に、クロックに同期してメモリとの間で高速データ転送を行うメモリコントローラ及びその制御方法、クロックに同期してメモリコントローラとの間で高速データ転送を行うメモリ及びその制御方法、並びに、クロックに同期してメモリコントローラとメモリとの間で高速データ転送を行うデータ伝送システム及びその制御方法に関する。
【背景技術】
【0002】
従来のデータ伝送システムにおいては、マスターデバイスとしてのコントローラとスレーブデバイスとしての半導体装置との間は、配線基板等のボード上に形成された複数の配線により結線がなされている。ここで、各配線は、互いに等しい長さであることが望ましいが、実際には、互いに長さが異なる配線により結線がなされることにより、その結果として、各配線での信号遅延は互いに異なることになる。
【0003】
そこで、スレーブデバイス側の信号入力回路に入力タイミング回路を設け、入力タイミング回路に供給されるクロックの位相をマスターデバイス側で予め調整することにより、配線による信号遅延の差を吸収する方法が提案されている(例えば、特許文献1参照。)。
【0004】
ところで、データ転送は、近年、益々高速化されてきており、それに伴って、デバイスの内部処理スピードも高速化することが要求されているが、デバイスそのものの特性がそのような高速化に追いついて来られないことが現実化しつつある。
【0005】
そこで、データ端子に高速にシリアル転送されるシステム上のデータを、デバイス内の複数の入力回路で一旦受け入れシリアルデータをパラレルデータに変換し、そのパラレルデータを処理することが知られている。こうすることによって、データ処理における処理スピードは、データ転送そのものの転送スピードに比べて遅くなり、内部処理スピードを緩和することができる。また、データの出力に際しても、デバイス内部で処理されたパラレルデータを複数の出力回路により共通のデータ端子から順次出力、すなわち、シリアルデータとしてシステム上へ出力することで同様の効果を得ることができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平10−228449号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
かかる構成では、デバイス内において、一つのデータ端子に共通につながる複数の入力回路や複数の出力回路を設ける必要があり、これら複数の入力回路及び複数の出力回路に対し、互いに位相の異なる複数のタイミング信号をそれぞれ供給する必要がある。これらのタイミング信号は、デバイスの内部で生成される、デバイス内部に形成された異なる配線を経由して複数の入力回路及び複数の出力回路に供給される。このため、配線長の差による遅延時間差が生じるが、上述したようなシステムレベルの問題、すなわち、マスターデバイスとスレーブデバイスとの間の結線の長さ(システム上の信号線)の違いに基づく信号遅延の差異ほど問題にならない。
【0008】
しかしながら、システム上における遅延時間差と比べて僅かであるとは言え、デバイス内部の信号線の配線の長さの差に基づく信号遅延量の差は避けることができない。特に、これらのタイミング信号(位相の異なる複数のタイミング信号)は、高速なデータ通信スピードに見合った位相とする必要があり、少しの信号遅延量が生じても、シリアルデータからパラレルデータへの変換、あるいは、パラレルデータからシリアルデータへの変換に支障をきたしてしまうことになる。
【0009】
このような共通のデータ端子に対して、設けられた複数の入力回路、または出力回路のそれぞれに供給すべきタイミング信号の位相ずれという問題については、上記特許文献1では、全く関知しておらず、実際問題として、上記特許文献1の手法を用いても対応することはできない。
【課題を解決するための手段】
【0010】
本発明によるデータ伝送システムは、第1のデバイス及び第2のデバイスを備え、前記第1のデバイスは、前記第2のデバイスとの間でデータの送受信を行い、前記第1のデバイスは、前記第2のデバイスに対して、前記第2のデバイスが前記第1のデバイスにデータを送出する第1の送出タイミングを制御する第1の情報と、前記第1のデバイスが前記第2のデバイスに出力したデータを前記第2のデバイスが取り込む第1のラッチタイミングを制御する第2の情報との少なくとも一方を生成し、前記第1のデバイスは、前記第1及び第2の情報の少なくとも一方を、前記第2のデバイスに送出する、ことを特徴とする。
【0011】
また、本発明の一側面による半導体装置は、一つの外部端子からシリアルな複数のデータをパラレルに取り込む複数の第1の回路と、前記複数の第1の回路にそれぞれ接続されそれぞれ位相が異なる複数の第1の制御信号を生成する内部クロック生成回路と、前記複数の第1の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、前記複数の第1の回路は、前記調整回路によって遷移時間が調整されたそれぞれ対応する前記複数の第1の制御信号によって、それぞれ対応する前記シリアルなデータを異なる時間でラッチし、前記調整回路は、それぞれの前記第1の回路に入力されるデータの遷移から対応する前記ラッチまでの時間を示すセットアップ時間と、前記対応するラッチからそれぞれの前記第1の回路に入力されるデータの遷移までの時間を示すホールド時間とが、前記複数の第1の回路においてそれぞれ共通の前記セットアップ時間、ホールド時間とするように、前記複数の第1の制御信号のそれぞれの遷移時間を個別に変更する、ことを特徴とする。
【0012】
また、本発明の他の側面による半導体装置は、内部のパラレルなデータを一つの外部端子へシリアルに出力する複数の第2の回路と、前記複数の第2の回路にそれぞれ接続されそれぞれ位相が異なる複数の第2の制御信号を生成する内部クロック生成回路と、前記複数の第2の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、前記複数の第2の回路は、前記調整回路によって遷移時間が調整されたそれぞれ対応する前記複数の第2の制御信号によって、対応する前記パラレルなデータをそれぞれ異なる時間でシリアルに出力し、前記調整回路は、前記複数の第2の回路が出力する最初のデータの有効時間と次のデータの有効時間とを同一の時間にするように、前記複数の第2の制御のそれぞれの遷移時間を個別に変更する、ことを特徴とする。
【発明の効果】
【0013】
このように、本発明の半導体装置においては、入力回路あるいは出力回路の少なくとも一方が、データを取り込むタイミング信号となる位相の異なる多相クロック信号によりデータを取り込み、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように制御することから、多相クロック信号における配線遅延等によるタイミングのずれを補正することができる。
【0014】
また、従来、高速インターフェースの入出力回路には、1つの入出力回路に対して、複数の入力、出力タイミング発生回路があり、各々のデータウィンド幅にばらつきがあったために、最小のウィンドウ幅を有する入力あるいは出力タイミング発生回路が、半導体装置の特性を律速していた。しかしながら、本発明の半導体装置においては、入力あるいは出力タイミング信号である多相クロック信号を個別に調整することにより、データのウィンドウ幅を均一にすることができるため、半導体装置の特性を改善することができる。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係る半導体メモリの構成図である。
【図2】本実施形態に係るデータ入出力回路の内部構成図である。
【図3】本実施形態に係る位相調整回路の内部構成図である。
【図4】本実施形態に係る4つの出力タイミング信号とデータ出力との関係を示すタイミングチャートである。
【図5】本実施形態に係る4つの出力タイミング信号とデータ出力との関係を示すタイミングチャートである。
【図6】本実施形態に係る4つの入力タイミング信号とデータ入力との関係を示すタイミングチャートである。
【図7】本実施形態に係る4つの入力タイミング信号とデータ入力との関係を示すタイミングチャートである。
【図8】本実施形態に係るシステムの構成図である。
【図9】本実施形態に係る4つの出力タイミング信号のずれを検出する方法を説明する図である。
【図10】本実施形態に係る4つの出力タイミング信号のずれを検出する方法を説明する図である。
【図11】本実施形態に係るシステムの構成図である。
【図12】本実施形態に係る4つの入力タイミング信号のずれを検出する方法を説明する図である。
【図13】本実施形態に係る4つの入力タイミング信号のずれを検出する方法を説明する図である。
【図14】本実施形態の半導体装置に関する変形例を示す回路ブロック図である。
【図15】本実施形態の半導体装置に関する変形例を示す回路ブロック図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0017】
本発明の実施形態に係る半導体装置が、図1に半導体メモリ100として示されている。本半導体メモリ100は、外部クロック信号(CLK)から、多相クロックとしての出力タイミング信号AO〜DO、入力タイミング信号AI〜DIを生成し、これを複数のデータ入出力回路3a〜3xに供給する内部クロック生成回路1を備えている。例えば、一回の外部クロック信号(CLK)の遷移エッジ(同一の時間地点;一つの遷移ポイント)に対応して、複数の出力タイミング信号AO〜DOが順次生成され、複数の入力タイミング信号AI〜DIが順次生成される。
【0018】
また、外部コントローラからRAS(行アドレスストローブ信号)やCAS(列アドレスストローブ信号)、CS(チップセレクト)等のコマンドを受信し、アクティブなデータ出力期間を規定する出力イネーブル信号OEおよびアクティブなデータ入力期間を規定する入力イネーブル信号IEを生成して、これを複数のデータ入出力回路3a〜3xに供給するコマンドデコーダ2を備えている。
【0019】
各データ端子DQ0〜DQm(第1の外部端子)は、シリアルに外部コントローラとの間で、データの送受信を行う。データ端子DQ0〜DQmを介して入力されたデータは、データ入出力回路3a〜3xに供給される。データ入出力回路3a〜3xに供給された、例えば、4ビットのシリアルデータは、データ入出力回路3a〜3xによってパラレルデータに変換され、カラムアドレスバッファ/デコーダ5に出力される。
【0020】
ロウアドレスバッファ/デコーダ4は、受信したアドレスデータA0〜Anを一時格納するとともに、受信したアドレスデータに基づいて、メモリセルアレイ7内の該当セルに対して、ロウ系のアクセス、すなわちワード線の選択を実行する。
【0021】
カラムアドレスバッファ/デコーダ5は、受信したアドレスデータA0〜Anを一時格納するとともに、受信したアドレスデータに基づいて、メモリセルアレイ7内の該当セルに対して、カラム系のアクセス、すなわちビット線の選択を実行する。
【0022】
センスアンプ6は、ビット線に読み出された数百mV程度の微小電圧をデジタルレベルとして取り扱いが可能になるレベルにまで増幅する増幅器である。メモリセルアレイ6は、例えば、ワード線とビット線の交差部分に設けられたトランジスタとコンデンサから構成されるメモリセルが複数個、アレイ状に結合された記憶回路ブロックであり、ワード線によって、特定のメモリセルを選択し、ビット線からそのデータの読み出しや書き込みを実行する。
【0023】
データ入出力回路3a〜3xのそれぞれは、図2に示すように、データ入力部61を含むデータ入力回路と、データ出力部31を含むデータ出力回路を備えている。具体的には、データ入力部61は、コマンドデコーダ2から供給される入力イネーブル信号IEによって活性化され入力データを取り込む入力バッファ11と、位相調整回路13a〜13dを介して内部クロック生成回路1から供給される入力タイミング信号AI〜DIに基づき入力バッファ11からの入力データを取り込むフリップフロップ12a〜12dとを含んでいる。ここでは、フリップフロップ12a〜12dが内部クロック生成回路1から供給される入力タイミング信号AI〜DIに基づいて、データを取り込むことにより、例えば、4ビットのシリアルデータをパラレルデータに変換している。
【0024】
また、内部クロック生成回路1は、それぞれの入力タイミング信号AI〜DIに所定時間ずつの遅延を与えて、図7に示すような入力タイミング信号AI〜DIを供給する。なお、本実施形態では、多相クロックであるタイミング信号として、上記4つのタイミング信号を示したが、これは、あくまでも例示であって、上記のような4つのタイミング信号に限定するものではない。
【0025】
位相調整回路13a〜13dは、レジスタ14に書き込まれたデータに基づいて、入力タイミング信号AI〜DIのずれを補正する。レジスタ14は、外部コントローラから書き込まれた各入力タイミング信号AI〜DIに関するずれの情報を、該当する入力タイミング信号AI〜DIの供給ラインに設けられた位相調整回路13a〜13dに出力する。
【0026】
一方、データ出力部31は、コマンドデコーダ2から供給される出力イネーブル信号OEによって活性化され出力データを取り込む出力バッファ15と、位相調整回路18a〜18dを介して、内部クロック生成回路1から供給される入力タイミング信号AO〜DOと、出力すべき内部データD00〜D03を一旦保持するラッチ回路20からの内部データとを受けるNAND回路17a〜17dと、NAND回路17a〜17dからの入力のORをとるOR回路16とを含んでいる。OR回路16の出力は、出力バッファ15に供給される。なお、出力イネーブル信号OEが非活性化の場合、すなわち、データ入力時には、出力バッファ15の出力はHi−z(ハイインピーダンス)となる。
【0027】
また、内部クロック生成回路1は、それぞれの出力タイミング信号AO〜DOに所定時間ずつの遅延を与えて、図5に示すような出力タイミング信号AO〜DOを生成する。なお、本実施形態では、多相クロックであるタイミング信号として、上記4つのタイミング信号を示したが、これは、あくまでも例示であって、上記のような4つのタイミング信号に限定するものではない。
【0028】
なお、位相調整回路18a〜18dおよびレジスタ19の機能は、データ入力回路に設けられた位相調整回路13a〜13dおよびレジスタ14と同様である。つまり、位相調整回路18a〜18dは、レジスタ19に書き込まれたデータに基づいて、出力タイミング信号AO〜DOのずれを補正し、レジスタ19は、外部コントローラから書き込まれた各出力タイミング信号AO〜DOに関するずれの情報を、該当する出力タイミング信号AO〜DOの供給ラインに設けられた位相調整回路18a〜18dに出力する。
【0029】
また、位相調整回路13a〜13d、18a〜18dの内部回路は、図3に示すように、インバータ24a〜24eと、遅延素子25a〜25cとにより構成され、レジスタ14またはレジスタ19から出力されるビット情報がインバータ24a〜24dに入力されることにより、各入力タイミング信号AI〜DIまたは出力タイミング信号AO〜DOのずれ量が決定される。図3の例では、0から最大7psまでの間で調整が可能になっている。
【0030】
図4および図5を用いて、データ出力回路の動作を説明すると、上述のように、半導体集積回路においては、配線長の長さの差に基づく信号遅延量の差は避けることができない。そのため、出力タイミング信号AO〜DOおいても、図4に示すように、例えば、出力タイミング信号DOにタイミングのずれを生じている場合がある。このとき、このタイミング信号の状態のまま、データ出力回路を駆動すると、パラレルデータからシリアルデータへの変換に支障をきたしてしまうことになる。
【0031】
つまり、図4に示すように、出力タイミング信号DOの位相が他の出力タイミング信号よりも進むずれがあった場合には、DQ出力のC1の有効範囲が狭くなるとともに、D1の有効範囲が広くなる(こうした状況は、周期的に発生し、DQ出力のC2、D2等でも同様の問題が生じる)。こうしたデータの有効領域(バリッドウィンドウ)のずれは、コントローラ側では調整できず、また、一般に、半導体装置の特性は、データを構成する複数ビットのデータの各々の有効領域(バリッドウィンドウ)のうち、最小の有効領域の特性を備えるビットデータにより決定されてしまうため、このままでは、半導体装置の特性が悪化し、問題となる。
【0032】
そのため、例えば、半導体メモリ100は、図4に示す出力タイミング信号AO〜DOに応答して生成されたDQ出力を外部デバイス(外部コントローラ200)に出力し、外部デバイスにおいてずれを生じている出力タイミング信号AO〜DOとそのずれ量とを検出して、その検出結果をデータ列として半導体メモリ100内のレジスタ19に書き込み、半導体メモリ100はレジスタ19に書き込まれたデータ列を位相調整回路18a〜18dに供給することにより、図5に示すように、位相のずれている出力タイミング信号AO〜DOを補正することにより、各出力タイミング信号AO〜DOにそれぞれ対応するビットデータの有効領域(バリッドウィンドウ)を制御する。例えば、出力タイミング信号AO〜DOごとのエッジ位置(出力のタイミング)を制御する。
【0033】
すなわち、本実施形態に係る半導体メモリ100は、レジスタ19に書き込まれた情報に基づき、データを出力する4つのタイミング信号のずれを位相調整回路18a〜18dが調整することにより、データを出力する有効領域(バリッドウィンドウ)が4つのタイミング信号ごとにほぼ均一になり、その特性を改善することができる。
【0034】
このように、本半導体装置(半導体メモリ100)は、データ出力回路(OR回路16、NAND回路17a〜17d、位相調整回路18a〜18d、レジスタ19)が、対応するデータを出力するタイミング信号となる位相の異なる多相クロック信号(内部クロック発生回路1により生成されたタイミング信号AO〜DO)に同期してデータを出力し、データを出力する有効領域(バリッドウィンドウ)が多相クロック信号ごとにほぼ均一に制御される。
【0035】
また、データ入力回路についても、データ出力回路と同様に、配線長の長さの差に基づく信号遅延量の差は避けることができないため、例えば、図6に示すように、入力タイミング信号AI〜DIのうち入力タイミング信号BIにタイミングのずれを生じている場合がある。このとき、このタイミング信号の状態のまま、データ入力回路を駆動すると、シリアルデータからパラレルデータへの変換に支障をきたしてしまうことになる。
【0036】
すなわち、図6に示すように、入力タイミング信号BIの位相が他の入力タイミング信号よりも進むずれがあった場合には、DQ入力のB1のセットアップ時間のマージンが小さくなる。こうした半導体メモリ内部のセットアップ時間あるいはホールド時間のマージンは、コントローラ側では調整できないため、このままでは、半導体装置の特性が悪化し、問題となる。コントローラと半導体メモリはそれぞれ異なるベンダーで製造し、また半導体メモリはそれぞれの製造条件若しくはセカンドソース等により、前記位相の異なる多相クロック信号の理想的なタイミングはそれぞれの半導体メモリで異なるからである。
【0037】
そのため、例えば、半導体メモリ100は、図6に示す入力タイミング信号AI〜DIに応答してDQ入力を一旦データ入力部61(それぞれのフリップフロップ12a〜12d)に取り込み(DQ入力をラッチする)、更にその取り込んだデータを外部デバイス(外部コントローラ200)に出力し、外部デバイスにおいてずれを生じている入力タイミング信号AI〜DIとそのずれ量とを検出して、その検出結果をデータ列として半導体メモリ内のレジスタ14に書き込み、半導体メモリはレジスタ14に書き込まれたデータ列を位相調整回路13a〜13dに供給することにより、図7に示すように、位相のずれている入力タイミング信号AI〜DIを補正することにより、各入力タイミング信号AI〜DIにそれぞれ対応するビットデータを取り込む有効領域(バリッドウィンドウ)を制御する。例えば、入力タイミング信号AI〜DIごとのエッジ位置(入力タイミング信号の出力のタイミング)を制御する。尚、ここでのバリッドウィンドウは、セットアップ/ホールドウィンドウとも言う。
【0038】
すなわち、本実施形態に係る半導体メモリ100は、レジスタ14に書き込まれた情報に基づき、データを取り込む4相クロックのずれを位相調整回路13a〜13dが調整することにより、図7に示すように、データを取り込む有効領域(バリッドウィンドウ)が4相クロックごとにほぼ均一になり、その特性を改善することができる。
【0039】
このように、本半導体装置(半導体メモリ100)は、外部コントローラから入力されるデータの取り込み(入力データの確定)について、入力するデータを取り込む有効領域が多相クロック信号(内部クロック発生回路1により生成された4つのタイミング信号AI〜DI)ごとにほぼ均一になるように、多相クロック信号ごとのエッジ位置を制御する。
【0040】
出力タイミング信号AO〜DOの調整方法を詳細に説明するために、図8に半導体メモリ100とコントローラ200とからなるデータ伝送システムを示す。
図8において、半導体メモリ100は、データ出力部31a〜31cと、位相調整回路群33〜35と、レジスタ19と、内部クロック生成回路1と、メモリセルアレイ7を備えている。また、内部クロック生成回路1にクロック信号を供給する外部クロック発生回路50を備えている。
【0041】
ここで、データ出力部31a〜31cは、それぞれ図2に示すデータ出力部31と同じ論理回路ブロックであり、それぞれの位相調整回路群33〜35は、位相調整回路18a〜18dを総称したものである。
【0042】
本半導体メモリ100のデータ出力部31aを例にとると、その内部回路は、図2に示すように、4つの出力タイミング信号AO〜DOと、4ビットのデータ(Data<3:0>)とからNAND回路17a〜17dで得られるデータをOR回路16に入力して出力データを生成する構成になっている。なお、NAND回路17a〜17dには、4ビットのデータ(Data<3:0>)のうち、異なるデータが1ビットずつ入力される。ここで、データは、低速のシリアルポートを用いて、予め、図8に示すコントローラ200の書き込みデータ出力部45からメモリセルアレイの所定のアドレスに書き込まれている。
【0043】
図2のデータ出力部31の構成と図5を参照して、4つの出力タイミング信号AO〜DOとデータ出力(DQ出力)との関係を説明すると、図5のDQ出力A1は、クロックAとBとDの状態により、その値が決定され1ビットのデータが出力され、DQ出力B1は、クロックAとBとCの状態により、その値が決定され1ビットのデータが出力され、DQ出力C1は、クロックBとCとDの状態により、その値が決定され1ビットのデータが出力され、DQ出力D1は、クロックAとCとDの状態により、その値が決定され1ビットのデータが出力される。以下、DQ出力A2、A3、B2、B3、C2、D2についても同様である。なお、図2のデータ出力部31は、各クロックの立ち上がりエッジでDQ出力が切り替わり、一方で、各クロックの立下りエッジでは、DQ出力が切り替わらないように、各クロックの立下りエッジを遅らせた波形になっている。
【0044】
ところで、内部クロック生成回路1で生成された4つの出力タイミング信号AO〜DOは、上述の如く、配線遅延等の影響を受け、内部クロック生成回路1から出力された各出力タイミング信号AO〜DOには、それぞれの理想時間とのずれを生じる場合があり、データ出力部31a〜31cに入力された各出力タイミング信号AO〜DOとの間には、それぞれの理想時間とのずれを生じる場合がある。
【0045】
そこで、各出力タイミング信号AO〜DOの供給ラインには、図2および図8に示す位相調整回路18a〜18d(図8では、位相調整回路群33〜35に相当)が設けられ、各出力タイミング信号AO〜DOのずれを補正する。
【0046】
具体的には、半導体メモリ100は、内部クロック生成回路1で生成された4つの出力タイミング信号AO〜DOを用いて生成した出力データをシステム上の信号配線へ出力し、コントローラ200は、データ入力部41a〜41cによって前記システム上の出力データを受信し、コントローラ200のずれ検出部44(検証回路)において、半導体メモリ100内の信号である各出力タイミング信号AO〜DOにおけるずれ量を検出する。そして、そのずれ情報を変換テーブル等を用いて2値のデータ列に変換し、このデータ列を半導体メモリ100内のレジスタ19に書き込み、半導体メモリ100は、このデータを位相調整回路18a〜18dに供給して、ずれを補正する。
【0047】
図8に示すように、コントローラ200は、半導体メモリ100のデータ出力部31a〜31cと対をなすデータ入力部41a〜41cと、タイミングシフト回路42a〜42cと、内部クロック生成回路43と、ずれ検出部44と、書き込みデータ出力部45とから構成されている。データ出力部31a〜31c、データ入力部41a〜41cは、いずれも第1の外部端子に接続されている。制御端子等のその他の外部端子は、図示を省略している。
【0048】
タイミングシフト回路42a〜42cは、内部クロック生成回路43において生成されたクロックに基づいて、データ入力部41a〜41cに入力された半導体メモリ100からのデータを取り込むためのタイミング信号を発生する。
【0049】
なお、内部クロック生成回路43が生成するクロックの周波数は、コントローラ200が許容できる最も高い周波数であり、具体的には、数ps程度の周期である。この周期が、半導体メモリ100の4つの出力タイミング信号AO〜DOのずれを補正するための最小単位となる。
【0050】
ずれ検出部44は、タイミングシフト回路42a〜42cが発生するタイミング信号に基づいて入力されるデータを読み取って、この読み取ったデータと期待値(それは書き込みデータ出力部45が半導体メモリ100に書き込んだデータ)とを比較(検証)して、データの一致(Pass)、不一致(Fail)を判定することにより、半導体メモリ100の4つの出力タイミング信号AO〜DOのうち、どの出力タイミング信号AO〜DOがどれだけずれを生じているのかを検出する。なお、ずれ検出部44は、図示しない変換テーブル等により、検出した情報を2値の情報に変換して、図示しない外部端子(第2の外部端子)を介して半導体メモリ100のレジスタ19に書き込む。尚、第2の外部端子は、第1の外部端子もしくは、その他の制御端子と共有することが出来る。これにより外部端子数を少なく出来る。その他の制御端子と共有する場合、メモリコントローラが半導体メモリへその他のレジスタ情報を送出するのに使用する制御端子が望ましい。
【0051】
書き込みデータ出力部45は、コントローラ200の図示しないデータ格納領域に格納されたデータを初期処理として、低速のシリアルポートを用いて、図8に示すメモリセルアレイ6にデータを確実に書き込む。半導体メモリからの読み出し周波数よりも低い周波数で書き込むことが望ましい。
【0052】
図4、図5、図9、図10を用いて、ずれ検出部44の処理について、詳細に説明すると、まず、半導体メモリ100の4つの出力タイミング信号AO〜DOに、それぞれずれがない場合、図5に示すように、各DQ出力の有効領域は、均一になり、図5に示すようなデータが出力データとしてコントローラ200に出力される。
【0053】
一方、図4のように、半導体メモリ100の出力タイミング信号DOにずれがある場合には、上記のように、各クロックの立ち上がりエッジでDQ出力が切り替わるために、DQ出力におけるC1の有効領域は通常よりも狭くなり、逆に、D1の有効領域は通常よりも広くなった状態で、このようなデータが出力データとしてコントローラ200に出力される。
【0054】
本実施形態の場合、コントローラ200は、半導体メモリ100が4つの出力タイミング信号AO〜DOを用いて、出力データを生成していることを予め認知しているため、コントローラ200の入力タイミングをずらして、図9に示すように、半導体メモリ100からの出力データのうち、最初の4ビット(A1、B1、C1、D1)のデータ長を均等にA、B、C、Dの4つの領域に分割する。なお、A1、B1、C1、D1にある斜線部分は、DC出力のジッタ成分によるデータ不定領域であり、それぞれ同じ領域幅を有している。
【0055】
コントローラ200のタイミングシフト回路42a〜42cは、内部クロック生成回路43から出力されるタイミング信号に応じて、図9の左側に記載する1〜11に相当するように、1クロック分ずつずらした読み出しタイミング信号をデータ入力部41a〜41cに与える。
【0056】
データ入力部41a〜41cは、タイミングシフト回路42a〜42cから与えられた読み出しタイミング信号に基づいて、各領域(A、B、C、D)のデータを同時に読み出し、ずれ検出部44に出力する。
【0057】
ずれ検出部44は、データ入力部41a〜41cから入力したデータが期待値と一致するのか否かを判定し、入力データが期待値と一致する場合には、Pass(図9、図10では、「P」と表記)とし、入力データが期待値と一致しない場合には、Fail(図9、図10では、「F」と表記)と判定する。なお、ここで、期待値とは、コントローラ200の書き込みデータ出力部45から出力されたデータである。
【0058】
そのため、図5に示すような各DQ出力の有効領域が均一のデータが入力された場合、図9の右側に示すように、各領域(A、B、C、D)における判定結果は、すべて「FFFPPPPPPFF」となり、どのクロックにもずれのない理想的な状態であることがわかる。
【0059】
一方で、図4に示すような出力タイミング信号DOにずれがあるデータが入力された場合、図10の右側に示すように、各領域(A、B、C、D)における判定結果は、AとBとがともに、「FFFPPPPPPFF」であるのに対して、Cは、「FFFPPPPFFFF」となり、Dは、「FPPPPPPPPFF」となる。
【0060】
この結果から、DQ出力の「C1」のデータ有効領域と「D1」のデータ有効領域とが「A1」および「B1」のデータ有効領域とは、異なることがわかる。さらに、図5を用いて説明したように、「C1」のデータ有効領域を決定するのは、出力タイミング信号BOとCOとDOとであり、「D1」のデータ有効領域を決定するのは、出力タイミング信号AOとCOとDOとであることから、出力タイミング信号COあるいはDOのいずれかにずれがあることがわかる。
【0061】
さらに、領域CとDとの判定結果から、「C1」のデータ有効領域が通常よりも狭く、「D1」のデータ有効領域が通常よりも広いことがわかる。また、図5を参照すると、「C1」のデータ有効領域と「D1」のデータ有効領域との切り替わりは、クロックDの立ち上がりエッジで決定されることから、この場合、出力タイミング信号DOの立ち上がりが通常よりも早く、そのずれ量は、判定結果の「P」と「F」の数の違いから2クロック分であることがわかる。なお、実際には、判定領域と「P」と「F」の数の違いとを関連付けた判定テーブル等を用いることによって、瞬時に、ずれのあるクロックとそのずれの量とを検出する。
【0062】
また、データのビット長にかかわらず、すべての入力データについて、上記のような処理を行わなくても、出力タイミング信号の数に対応した先頭からのデータ群についてのみ、上記のような処理を実行すれば、ずれのある出力タイミング信号AO〜DOとそのずれの量とを検出することができる。
【0063】
上記の検証結果に基づき、ずれ検出部44は、変換テーブル等を用いて、出力タイミング信号DOを2クロック分遅延させる情報を2値化し、そのデータを半導体メモリ100のレジスタ19に書き込む。半導体メモリ100の位相調整回路13dは、レジスタ19のデータを図3に示すインバータ24a〜24dに供給し、出力タイミング信号DOを2クロック分遅延させる。
【0064】
尚、以下の事に注意が必要である。1つ目は、レジスタ19が備える調整情報(ずれ検出部が検出したずれ量)は、半導体メモリ100の内部クロック生成回路1が出力する出力タイミング信号AO〜DOのずれと、コントローラ200の内部クロック生成回路43が出力するクロックのずれ(コントローラ200が許容できる最も高い周波数)とタイミングシフト回路42a〜42cのそれぞれのタイミング信号のずれとが含まれ、それらのずれ量を総合した値に対して半導体メモリ100の複数の位相調整回路がそれぞれ調整される。2つ目は、この事例の場合、データを出力する半導体メモリはマスター側デバイス、そのデータを入力するコントローラは、スレーブ側デバイスということもできる。
【0065】
このように、本データ伝送システムは、マスターデバイス(コントローラ200)とスレーブデバイス(半導体メモリ100)との間で、データの伝送を行うものであり、マスターデバイスとスレーブデバイスが、それぞれ複数のデータ入出力端子に接続されたデータ入力回路またはデータ出力回路を備え、スレーブデバイス側のデータ出力回路が、データを出力するタイミング信号となる位相の異なる多相クロック信号によりデータを出力し、マスターデバイス側のデータ入力回路がデータを入力するタイミング信号となる位相の異なる多相クロック信号によりデータを入力し、マスターデバイス側にてマスターデバイス側が備える期待値とデータ入力回路を介して入力したデータとを比較(検証)して誤差を解析し、解析値から求められた補正値をスレーブ側デバイスへ送出し、スレーブデバイス側はマスターデバイスからの補正値により多相クロック信号をそれぞれ補正する。これにより、マスターデバイス側とスレーブデバイス側との関係において、それぞれのデータの有効領域の値(バリッドウィンドウ)は、両者の関係において相対的に同一の値に制御される。
【0066】
データを送出する半導体メモリをマスター側デバイス、そのデータを入力するコントローラ側デバイスをスレーブ側デバイスというならば、本データ伝送システムは、マスターデバイス(半導体メモリ100)とスレーブデバイス(コントローラ200)との間で、データの伝送を行うものであり、マスターデバイスとスレーブデバイスが、それぞれ複数のデータ入出力端子に接続されたデータ入力回路またはデータ出力回路を備え、マスターデバイス側のデータ出力回路と対応するスレーブデバイス側のデータ入力回路が、それぞれデータを出力及び取り込むタイミング信号となる位相の異なる多相クロック信号によりデータを出力及び取り込み、マスターデバイス側の多相クロック信号とスレーブ側の多相クロック信号とそれぞれのずれ量を合算した値(包含した値)を補正値とし、その補正値により、マスターデバイス側の位相の異なる多相クロック信号のそれぞれの調整を行う。これにより、システム上の信号における複数ビットのデータのそれぞれの有効領域が同一となる。
【0067】
また、マスターデバイス側に備えるずれ検出手段は、データ領域を前記多相クロックの各クロックに対応して均等に分割し、データの入力タイミングを所定の時間間隔だけずらして読み込み、それぞれ分割した領域において読み込まれたデータと期待値との一致、不一致を検出し、検出した結果に基づいて、遅延を生じているクロック信号とそのずれ量とを特定する。
【0068】
したがって、出力タイミング信号AO〜DOを個別に調整することにより、データのバリッドウィンドウを均一にすることができるため、半導体装置の特性を改善することができる。
【0069】
入力タイミング信号AI〜DIの調整方法を詳細に説明するために、図11に半導体メモリ100とコントローラ200とからなるデータ伝送システムを示す。
図11において、半導体メモリ100は、データ入力部61a、61bと、位相調整回路群63、64と、レジスタ14と、内部クロック生成回路1とを備えている。また、内部クロック生成回路1にクロック信号を供給する外部クロック発生回路50を備えている。
【0070】
ここで、データ入力部61a、61bは、それぞれ図2に示す複数のフリップフロップ12a〜12dであり、位相調整回路群63、64は、それぞれ位相調整回路13a〜13dを総称したものである。なお、本実施形態においても、入力タイミング信号AI〜DIのずれについては、コントローラ200側でその検出を行うため、図11には、データ入力部61a、61bにより入力したデータが、一旦、コントローラ200側に戻される。そのために、半導体メモリ100側にはデータ出力部31cが示され、コントローラ200側にはデータ入力部41aが示されている。尚、前記戻されるデータは、不図示のメモリセルを介さずに戻される。具体的には、図2に示される内部データバスData<3:0>を介してデータ入力部61からラッチ回路20を経由して、データ出力部31に伝達される。更に、前述の出力タイミング信号AO〜DOの調整を実施した後に、入力タイミング信号AI〜DIの調整を行うことが望ましい。入力タイミング信号AI〜DIの補正値に出力タイミング信号AO〜DOの誤差を含まないようにする為である。若しくは、入力タイミング信号AI〜DIの調整を行う時には、出力タイミング信号AO〜DOの動作周波数を低い周波数で動作させることによっても、代替出来る。この代替においては、出力タイミング信号AO〜DOの調整と入力タイミング信号AI〜DIの調整との順序関係は問われない。尚、出力タイミング信号AO〜DOの調整と入力タイミング信号AI〜DIの調整は、所謂データアクセス前のシステム上の調整期間(キャリブレーションステップ)において実施される。
【0071】
本半導体メモリ100のデータ入力部61aを例にとると、その内部回路には、図2に示すように、コントローラ200側からの入力データを4つの入力タイミング信号AI〜DIをもちいて取り込むフリップフロップ12a〜12dが設けられている。コントローラ200から供給される入力データは、入力イネーブル信号IEが活性状態のときに、フリップフロップ12a〜12dの入力端Dに入力され、位相調整回路13a〜13dを介して供給される入力タイミング信号AI〜DIに応じて入力データをラッチし、確定されたデータを出力端Qから出力する。
【0072】
図2のデータ入力部61の構成と図7とを参照して、4つの入力タイミング信号AI〜DIとフリップフロップ12a〜12dの入力Dに入力されるデータ入力(DQ入力)との関係を説明すると、図7のDQ入力A1は、入力タイミング信号AIの立ち上がりエッジで取り込まれ、DQ入力B1は、入力タイミング信号BIの立ち上がりエッジで取り込まれ、DQ入力C1は、入力タイミング信号CIの立ち上がりエッジで取り込まれ、DQ入力D1は、入力タイミング信号DIの立ち上がりエッジで取り込まれる。以下、DQ入力A2、A3、B2、B3、C2、D2についても同様である。なお、図中、実線の両矢印は、上述のデータ入力部の内部にあるフリップフロップ12a〜12dのセットアップ時間を示し、破線の両矢印は、ホールド時間を示している。各入力タイミング信号のエッジから左側の猶予時間(マージンタイム)がセットアップ時間、右側の猶予時間がホールド時間である。セットアップ時間とホールド時間の理想は、両者が50%の値である。
【0073】
ところで、データ出力の場合と同様に、内部クロック生成回路1で生成された4つの入力タイミング信号AI〜DIは、配線遅延等の影響を受け、内部クロック生成回路1から出力された各入力タイミング信号AI〜DIとデータ入力部61a、61bに入力された各入力タイミング信号AI〜DIとの間には、それぞれの理想時間とのずれを生じる場合がある。
【0074】
そこで、各入力タイミング信号AI〜DIの供給ラインには、図2および図11に示す位相調整回路13a〜13d(図11では、位相調整回路群63、64と示す)が設けられ、各入力タイミング信号AI〜DIのずれを補正する。
【0075】
具体的には、コントローラ200からの入力データを内部クロック生成回路1で生成された4つの入力タイミング信号AI〜DIに同期して取り込み、取り込んだデータをすでに説明した位相調整を行ったデータ出力部31c(図11)を介して、図11に示すコントローラ200のデータ入力部41aに入力し、コントローラ200のずれ検出部74において、各入力タイミング信号AI〜DIにおけるずれ量を検出する。そして、その情報を変換テーブル等を用いて2値のデータ列に変換し、このデータ列をレジスタ14に書き込み、このデータを位相調整回路13a〜13dに供給して、そのずれを補正する。
【0076】
一方、図11に示すように、コントローラ200は、半導体メモリ100のデータ入力部61a、61bと対をなすデータ出力部71a、71bと、タイミングシフト回路72a〜72cと、内部クロック発生回路43と、ずれ検出部74とから構成されている。
【0077】
タイミングシフト回路72a,72bは、内部クロック発生回路43において生成されたクロックに基づいて、データ出力部71a、72bに入力されたデータ(期待値)を半導体メモリ100へ送出するためのタイミング信号を発生する。タイミングシフト回路72cは、内部クロック発生回路43において生成されたクロックに基づいて、データ入力部41aに入力された半導体メモリ100(被試験デバイス)からのデータを取り込むためのタイミング信号を発生する。
【0078】
なお、内部クロック発生回路43が生成するクロックの周波数は、コントローラ200が許容できる最も高い周波数であり、具体的には、数ps程度の周期である。この周期が、半導体メモリ100の4つの入力タイミング信号AI〜DIのずれを補正するための最小単位となる。前述の様に、コントローラ200のタイミングシフト回路72cと半導体メモリ100の位相調整回路群33の周波数は、タイミングシフト回路72a〜72bと半導体メモリ100の位相調整回路群63、64の周波数よりも低くすることもできる。この場合においては、出力タイミング信号AO〜DOの調整と入力タイミング信号AI〜DIの調整との順序関係は問われない。
【0079】
ずれ検出部74は、タイミングシフト回路72cが発生するタイミング信号に基づいて入力されるデータ群を順次取り込んで、そのデータを読み取って、この読み取ったデータと期待値とを比較(検証)して、データの一致(Pass)、不一致(Fail)を判定することにより、半導体メモリ100の4つの入力タイミング信号AI〜DIのうち、どの入力タイミング信号AI〜DIがどれだけずれを生じているのかを検出する。このずれの量には、コントローラ200側のタイミングシフト回路72a〜72bのずれの量も含まれている。なお、ずれ検出部74は、図示しない変換テーブル等により、検出した情報を2値の情報に変換して、半導体メモリ100のレジスタ14にその情報を書き込む。
【0080】
以下の事に注意が必要である。レジスタ14が備える調整情報(ずれ検出部が検出したずれ量)は、半導体メモリ100の内部クロック生成回路1が出力する出力タイミング信号AI〜DIのずれと、コントローラ200の内部クロック生成回路43が出力するクロックのずれ(コントローラ200が許容できる最も高い周波数)とタイミングシフト回路72a〜72bのそれぞれのタイミング信号のずれとが含まれ、それらのずれ量を総合した値に対して半導体メモリ100の複数の位相調整回路がそれぞれ調整される。
【0081】
図6、図7、図12、図13を用いて、ずれ検出部74の処理について、詳細に説明すると、まず、半導体メモリ100の4つの入力タイミング信号AI〜DIに、それぞれずれがない場合、図7に示すように、各DQ入力の有効領域は、均一である。
【0082】
一方、図6のように、半導体メモリ100の入力タイミング信号BIにずれがある場合には、セットアップ時間のマージンが少なく、この状態では、データ入力部のフリップフロップ12bで正確なデータを取り込めない可能性が出てくる。
【0083】
本実施形態の場合、コントローラ200は、半導体メモリ100が4つの入力タイミング信号AI〜DIを用いて、入力データを取り込んでいることを予め認知しているため、観測エリアをA、B、C、Dの4つの領域に分割し、半導体メモリ100へデータを送出する。
【0084】
ここで、コントローラ200のタイミングシフト回路72a(72b)は、内部クロック生成回路43から出力されるタイミング信号に応じて、図12の左側に記載する1〜12に相当するように、数ps程度(1クロック分)ずつずらした出力タイミング信号をデータ出力部71a(71b)に与える。
【0085】
ずれ検出部74は、内部にフリップフロップを備え、図12に示すように、半導体メモリ100の内部クロック1が生成するデータの取り込みタイミング(図中の矢印)の前後にデータの取り込みに必要なセットアップ時間およびホールド時間を設けた領域(判定領域)を形成し、半導体メモリ100のデータ出力部31cとコントローラ200のデータ入力部41aを介して半導体メモリ100のデータ入力部61aがそれぞれラッチした入力データを取り込む。なお、判定領域内で、データが遷移する場合には、データが不確定となる。コントローラ200のずれ検出部74の取り込み時間(前記判定領域)が半導体メモリ100のデータ入力部41aのウィンドウが広いのは、純粋に半導体メモリ100のセットアップおよびホールドのマージンを計測するためである。
【0086】
そして、データ入力部41aから入力したデータが期待値と一致するのか否かを判定し、入力データが期待値と一致する場合には、Pass(図12、図13では、「P」と表記)とし、入力データが期待値と一致しない場合には、Fail(図12、図13では、「F」と表記)と判定する。
【0087】
そのため、図7に示すような各DQ入力の有効領域が均一であるデータが入力された場合、図12の右側に示すように、各領域(A、B、C、D)における判定結果は、すべて「PPPPFFFFFPPP」となり、どの入力タイミング信号AI〜DIにもずれのない理想的な状態であることがわかる。
【0088】
一方で、図6に示すような入力タイミング信号BIにずれがあるデータが入力された場合には、ずれている入力タイミング信号BIに対応する判定領域のみが図12の理想状態からずれてしまうために、図13の右側に示すように、各領域(A、B、C、D)における判定結果は、A、C、Dがともに、「PPPPFFFFFPPP」であるのに対して、Bのみが、「PPFFFFFFFPPP」となる。
【0089】
この結果から、入力タイミング信号BIにずれ(その他の入力タイミング信号AI、CI、DIとのずれ)があることがわかり、そのずれ量は、判定結果の「P」と「F」の数の違いから2クロック分であることがわかる。なお、実際には、判定領域と「P」と「F」の数の違いとを関連付けた判定テーブル等を用いることによって、瞬時に、ずれのあるクロックとそのずれの量とを検出する。
【0090】
上記の検証結果に基づき、ずれ検出部74は、変換テーブル等を用いて、入力タイミング信号BIを2クロック分遅延させる情報を2値化し、そのデータを半導体メモリ100のレジスタ14に書き込む。半導体メモリ100の位相調整回路13bは、レジスタ14のデータを図3に示すインバータ24a〜24dに供給し、入力タイミング信号BIを2クロック分遅延させる。
【0091】
このように、スレーブデバイス(半導体メモリ100)のデータ入力回路は、マスターデバイスからデータを入力するデータ入力部(データ入力部61a等)と、マスターデバイスからの入力データを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段(内部クロック生成回路1)と、多相クロック信号ごとのずれ量を格納する格納手段(レジスタ14)と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように前記多相クロック信号ごとのエッジ位置を制御する位相調整手段(位相調整回路13a等)と、を備え、マスターデバイス(コントローラ200)は、マスターデバイス(コントローラ200)のデータ出力手段(データ出力部)が、スレーブデバイスのデータ入力回路へ順次微小時間(所定の時間間隔)ずらした信号を出力し、マスターデバイス(コントローラ200)のずれ検出手段(ずれ検出部74)が、半導体メモリ100のデータ出力部31cとコントローラ200のデータ入力部41aを介して半導体メモリ100のデータ入力部61aがそれぞれラッチした入力データを取り込み、多相クロック信号ごとのずれ量を検出し、検出した前記多相クロック信号ごとのずれ量を格納する、それぞれの手段を備える。
【0092】
また、ずれ検出手段(ずれ検出部74)は、データ領域を多相クロックの各クロックに対応して均等に分割し、データ出力部71aからのデータの出力タイミングを所定の時間間隔だけずらして、スレーブデバイスのデータ出力部31cを介してスレーブデバイスのデータ入力部61aがラッチしたデータを複数回読み込み、マスターデバイス(コントローラ200)のずれ検出手段が、それぞれ分割した領域において読み込まれたデータと期待値との一致、不一致を検出し、検出した結果に基づいて、遅延を生じているクロック信号とそのずれ量とを特定する。
【0093】
したがって、多相クロック信号を個別に調整することにより、データのバリッドウィンドウを均一にすることができるため、半導体装置の特性を改善することができる。つまり、マスターデバイス(コントローラ200)とスレーブデバイス(半導体メモリ100)との両者の関係において相対的に同一のデータのバリッドウィンドウ幅の値(セットアップ時間とホールド時間がそれぞれ50%の値)に制御される。
【0094】
<変形例>
図14は、本実施形態に係る半導体メモリの第1の変形例を示している。具体的には、先に説明した半導体メモリ100では、図8に示すように、レジスタ19からの出力が個別に各位相調整回路群33、34、35、36を構成する位相調整回路に供給されていたが、本変形例では、レジスタ19からの出力が位相調整回路群34、36にのみ供給され、位相調整回路群33、35には、位相調整回路群34、36からレジスタ19からの出力が供給されるような構成になっている。
【0095】
すなわち、前述のように、出力タイミング信号等のずれは、配線遅延等を主要因とするものであることから、内部クロック生成回路1からの配線長が、データ出力部31a、31bでほぼ同一であり、データ出力部31c、31dでほぼ同一の場合には、出力タイミング信号等の配線遅延もほぼ同一であると考えられるため、このような場合には、複数の位相調整回路でレジスタ値を共用できる。
【0096】
このように、スレーブデバイスのデータ出力回路は、マスターデバイスにより予め入力されているデータを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとの活性領域を制御する位相調整手段と、を備えるともに、スレーブデバイスのデータ出力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の出力回路について、格納手段の値を共用し、マスターデバイスが、多相クロック信号生成回路において生成された多相クロック信号により取り込まれたデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【0097】
また、スレーブデバイスのデータ入力回路は、マスターデバイスからの入力データを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとのエッジ位置を制御する位相調整手段と、を備えるともに、スレーブデバイスのデータ入力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の入力回路について、格納手段の値を共用し、マスターデバイスが、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一調整されたスレーブデバイスのデータ出力部からのデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【0098】
図15は、本実施形態に係る半導体メモリの第2の変形例を示している。具体的には、先に説明した半導体メモリ100では、レジスタ19からの出力が個別に各位相調整回路群33、34、35、36を構成する位相調整回路に供給されていたが、本変形例では、データ出力部31a、31bが位相調整回路群39を供用し、データ出力部31c、31dが位相調整回路群40を供用する構成になっている。
【0099】
すなわち、上述のように、出力タイミング信号等のずれは、配線遅延等を主要因とするものであることから、内部クロック生成回路1からの配線長が、データ出力部31a、31bでほぼ同一であり、データ出力部31c、31dでほぼ同一の場合には、出力タイミング信号等の配線遅延もほぼ同一であると考えられる。このような場合には、レジスタ19のレジスタ値のみならず、複数のデータ出力部で位相調整回路をも共用できる。
【0100】
このように、スレーブデバイスのデータ出力回路は、マスターデバイスにより予め入力されているデータを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、を備えるともに、スレーブデバイスのデータ出力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の出力回路について、格納手段の値と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとの活性領域を制御する位相調整手段と、を共用し、マスターデバイスが、多相クロック信号生成回路において生成された多相クロック信号により取り込まれたデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【0101】
また、スレーブデバイスのデータ入力回路は、マスターデバイスからの入力データを取り込むタイミング信号となる位相の異なる多相クロック信号を生成する多相クロック信号生成手段と、多相クロック信号ごとのずれ量を一時格納する格納手段と、を備えるともに、スレーブデバイスのデータ入力部と多相クロック信号生成手段との配線長がほぼ同一であるスレーブデバイスの複数の入力回路について、格納手段の値と、格納手段に格納された多相クロック信号ごとのずれ量に基づいて、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一になるように調整し、多相クロック信号ごとのエッジ位置を制御する位相調整手段と、を共用し、マスターデバイスが、データを取り込む有効範囲が多相クロック信号ごとにほぼ均一調整されたスレーブデバイスのデータ出力部からのデータを入力し、多相クロック信号ごとのずれ量を検出し、検出した多相クロック信号ごとのずれ量を格納手段に書き込むずれ検出手段を備える。
【0102】
したがって、このような変形例によれば、回路等を供用することにより、メモリの内部構成を簡略化できる。
【0103】
これまで説明した発明開示事項は、以下に示すように適用される。例えば、ステップ1として、前述のスレーブデバイス側内の信号入力回路のそれぞれのセットアップ/ホールドのタイミングを調整するために、4相クロック(複数の第1の制御信号)のそれぞれの補正を行う。ステップ2として、前述のスレーブデバイス側内の信号出力回路のそれぞれの出力のタイミングを調整するために、4相クロック(複数の第2の制御信号)のそれぞれの補正を行う。ステップ3として、複数のスレーブデバイス側とマスターデバイス側とのそれぞれの距離に対応したデバイス間の信号の調整を、マスターデバイス側の内部タイミングを調整することによって、実施する。ステップ1〜3が終了した後、システムのアドレスに対応するマスターデバイス側とスレーブデバイス側との通常の通信が実施される。よって、ステップ1〜3は、通常の通信前の信号調整ステップ(キャリブレーション期間)である。尚、ステップ1〜3の順序は、これに限られない。このステップ1と2が適用されることにより、マスターデバイスとスレーブデバイスとの通信データの信頼性が更に向上する。具体的には、例えば、一つのクロック信号の遷移に対応して4つのシリアルなデータが伴う場合においても、それら4つのデータそれぞれの有効時間、セットアップ/ホールド時間がほぼ同一となる。前記ステップ1と2により、前記4つのシリアルなデータをそれぞれ制御する複数の制御信号の補正を個別に実施するからである。
【0104】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、本実施形態では、クロックのずれ調整を行うタイミングとして、初期処理を例示したが、テストモード時に上記調整を行ってもよい。また、コントロール側で、タイミング信号のずれ量を検出する方法を例示したが、この機能を半導体メモリ側に設けてもよい。
【符号の説明】
【0105】
1・・・内部クロック生成回路
2・・・コマンドデコーダ
3a〜3x・・・データ入出力回路
4・・・ロウアドレスバッファ/デコーダ
5・・・カラムアドレスバッファ/デコーダ
6・・・センスアンプ
7・・・メモリセルアレイ
11・・・入力バッファ
12a〜12d・・・フリップフロップ
13a〜13d・・・位相調整回路
14・・・レジスタ
15・・・出力バッファ
16・・・OR回路
17a〜17d・・・NAND回路
18a〜18d・・・位相調整回路
19・・・レジスタ
20・・・ラッチ回路
24a〜24e・・・インバータ
25a〜25c・・・遅延器
31a〜31c・・・データ出力部
33、34、35、36、39、40・・・位相調整回路群
41a〜41c・・・データ入力部
42a〜42c・・・タイミングシフト回路
43・・・内部クロック生成回路
44・・・ずれ検出部
45・・・書き込みデータ出力部
50・・・外部クロック発生回路
61a、61b・・・データ入力部
63、64・・・位相調整回路群
71a、71b・・・データ出力部
72a〜72c・・・タイミングシフト回路
74・・・ずれ検出部
100〜120・・・半導体メモリ
200・・・コントローラ

【特許請求の範囲】
【請求項1】
データの伝送を行うデータ伝送システムにおいて、
第1のデバイス及び第2のデバイスを備え、
前記第1のデバイスは、前記第2のデバイスとの間でデータの送受信を行い、
前記第1のデバイスは、前記第2のデバイスに対して、前記第2のデバイスが前記第1のデバイスにデータを送出する第1の送出タイミングを制御する第1の情報と、前記第1のデバイスが前記第2のデバイスに出力したデータを前記第2のデバイスが取り込む第1のラッチタイミングを制御する第2の情報との少なくとも一方を生成し、
前記第1のデバイスは、前記第1及び第2の情報の少なくとも一方を、前記第2のデバイスに送出する、ことを特徴とするデータ転送システム。
【請求項2】
請求項1において、前記第1及び第2の情報は、複数の前記データにそれぞれ対応する複数の制御信号をそれぞれ制御することを特徴とするデータ転送システム。
【請求項3】
請求項2において、前記複数の制御信号は、外部クロック信号の一つの遷移ポイントに対応してそれぞれ位相の異なる制御信号であり、
前記複数のデータは、前記複数の制御信号に対応する連続するデータであることを特徴とするデータ転送システム。
【請求項4】
請求項3において、前記第1の情報により前記複数の制御信号のいずれかの位相が補正され、前記連続するデータのそれぞれの有効時間が同一時間に制御されることを特徴とするデータ転送システム。
【請求項5】
請求項3において、前記第2の情報により前記複数の制御信号のいずれかの位相が補正され、前記連続するデータのそれぞれの有効時間に対応する前記第1のラッチタイミングがすべて同一時間に制御されることを特徴とするデータ転送システム。
【請求項6】
請求項5において、前記連続するデータのそれぞれの遷移から対応する前記第1のラッチタイミングまでの時間を示すそれぞれのセットアップ時間と、前記対応する第1のラッチタイミングから次の遷移までの時間を示すそれぞれのホールド時間とが、各データにおいて一定となるよう、前記第2の情報により前記複数の制御信号のいずれかの位相が補正されることを特徴とするデータ転送システム。
【請求項7】
請求項1乃至6のいずれか一項において、前記第1及び第2の情報は、前記第1のデバイスが前記第2のデバイスにデータを送出する第2の送出タイミングの誤差を示す補正情報と、前記第2のデバイスが出力したデータを前記第1のデバイスが取り込む第2のラッチタイミングの誤差を示す補正情報を、それぞれ含むことを特徴とするデータ転送システム。
【請求項8】
請求項1乃至7のいずれか一項において、前記第1及び第2の情報は、データ伝送システムのキャリブレーション期間に送出されることを特徴とするデータ転送システム。
【請求項9】
データの伝送を行うデータ伝送システムにおいて、
第1のデバイスと、第2のデバイスと、前記第1及び第2のデバイス間に接続されシリアルな複数のデータを伝送する第1の信号線とを備え、
前記第1と第2のデバイスのそれぞれは、
前記第1の信号線上を伝送されるシリアルな複数のデータをパラレルに取り込む複数の第1の回路と、
それぞれのデバイス内のパラレルなデータを前記シリアルな複数のデータとして前記第1の信号線に送出する複数の第2の回路と、を備え、
前記複数の第1の回路は、位相が異なる複数の第1の制御信号によってそれぞれ制御され、
前記複数の第2の回路は、位相が異なる複数の第2の制御信号によってそれぞれ制御され、
前記第2のデバイスは、更に、
対応する前記第1の回路に接続され、前記複数のデータとそれらに対応する期待値データとを検証する検証回路を備え、
前記第1のデバイスは、更に、
前記複数の第1の制御信号と複数の第2の制御信号のいずれかの複数の制御信号のそれぞれの遷移時間を、前記検証の結果に対応して個別に変更する調整回路を備え、
前記変更によって、前記第1及び第2のデバイスのそれぞれの複数の第1と第2の回路において、前記複数のデータのそれぞれの入力確定のタイミングまたはそれぞれの有効データの時間幅が同一に制御される、ことを特徴とするデータ転送システム。
【請求項10】
請求項9において、更に、前記第1及び第2のデバイスは、外部クロック信号の一つの遷移ポイントに対応して、それぞれ位相の異なる前記複数の第1の制御信号と複数の第2の制御信号を生成する内部クロック生成回路をそれぞれ備えることを特徴とするデータ転送システム。
【請求項11】
請求項10において、前記第1のデバイスの第1の制御信号と前記第2のデバイスの第2の制御信号のそれぞれの周波数は、共に同一の周波数であり、前記第1のデバイスの第2の制御信号と前記第2のデバイスの第1の制御信号のそれぞれの周波数は、共に同一の周波数であることを特徴とするデータ転送システム。
【請求項12】
請求項11において、前記第1のデバイスの第1の制御信号の周波数は、前記第1のデバイスの第2の制御信号の周波数よりも高く、前記第2のデバイスの第2の制御信号の周波数は前記第2のデバイスの第1の制御信号の周波数よりも高いことを特徴とするデータ転送システム。
【請求項13】
請求項9において、前記検証回路は、前記第1のデバイスの複数の第2の回路がそれぞれ前記第1の信号線へ出力する時間を変更し、前記第2のデバイスの複数の第1の回路と第2の回路とを介して前記第1のデバイスの第1の回路が前記第1の信号線から入力する前記複数のデータのそれぞれを、対応する期待値と比較することを特徴とするデータ転送システム
【請求項14】
データの伝送を行うデータ伝送システムにおいて、
第1のデバイスと、第2のデバイスと、前記第1及び第2のデバイス間に接続されシリアルな複数のデータを伝送する第1の信号線とを備え、
前記第2のデバイスは、
前記第1の信号線に接続された第1の外部端子と、
前記第1の外部端子を介して入力された前記シリアルな複数のデータをパラレルに取り込む複数の第1の回路と、
前記第1のデバイス内のパラレルなデータを前記シリアルな複数のデータとして前記第1の外部端子を介して出力する複数の第2の回路と、を備え、
前記複数の第1の回路にそれぞれ入力されるデータの確定は、それぞれ位相が異なる複数の第1の制御信号によって制御され、
前記複数の第2の回路からのデータの出力タイミングは、それぞれ位相が異なる複数の第2の制御信号によって制御され、
前記第2のデバイスは、さらに、少なくとも前記複数の第1の制御信号と複数の第2の制御信号のいずれかの遷移時間を個別に変更するレジスタを備え、
前記第1のデバイスは、
前記第1の信号線に接続された第2の外部端子と、
前記第2の外部端子を介して入力された前記シリアルな複数のデータをパラレルに取り込む複数の第3の回路と、
前記第2のデバイス内のパラレルなデータを前記シリアルな複数のデータとして前記第2の外部端子を介して出力する複数の第4の回路と、を備え、
前記複数の第3の回路にそれぞれ入力されるデータの確定は、それぞれ位相が異なる複数の第3の制御信号によって制御され、
前記複数の第4の回路からのデータの出力タイミングは、それぞれ位相が異なる複数の第4の制御信号によって制御され、
前記第1のデバイスは、さらに、前記複数の第3の回路に接続され、前記複数の第3の回路がそれぞれ出力する複数のデータを検証する検証回路を備え、
前記第1のデバイスは、前記検証回路が検証した結果を前記レジスタに送出し、
前記第2のデバイスは、前記レジスタの情報に従って、前記複数の第1の制御信号または複数の第2の制御信号の遷移時間を個別に変更する、ことを特徴とするデータ転送システム。
【請求項15】
請求項9または14において、前記検証回路は、前記複数のデータのそれぞれが、同一の有効時間幅であるかを検証することを特徴とするデータ転送システム。
【請求項16】
請求項15において、前記検証回路は、前記複数のデータと前記複数のデータにそれぞれ対応する期待値とを比較することを特徴とするデータ転送システム。
【請求項17】
請求項14において、前記検証回路は、前記複数の第4の回路がそれぞれ前記第2の外部端子へ出力する時間を変更し、前記第2のデバイスの複数の第1の回路と第2の回路とを介して前記第1のデバイスの第3の回路が前記第2の外部端子から入力する前記複数のデータのそれぞれを、対応する期待値と比較することを特徴とするデータ転送システム。
【請求項18】
請求項9または14において、前記第1と第2のデバイスは、前記検証回路が比較した結果を第2の信号線を介して通信する第3の外部端子をそれぞれ備えることを特徴とするデータ転送システム。
【請求項19】
一つの外部端子からシリアルな複数のデータをパラレルに取り込む複数の第1の回路と、それぞれ位相が異なる複数の第1の制御信号を生成する内部クロック生成回路と、前記複数の第1の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、
前記複数の第1の回路は、前記調整回路によって遷移時間が調整された対応する前記複数の第1の制御信号によって、それぞれ対応する前記シリアルなデータを異なる時間でラッチし、
前記調整回路は、それぞれの前記第1の回路に入力されるデータの遷移から対応する前記ラッチまでの時間を示すセットアップ時間と、前記対応するラッチからそれぞれの前記第1の回路に入力されるデータの遷移までの時間を示すホールド時間とが、前記複数の第1の回路においてそれぞれ共通の前記セットアップ時間、ホールド時間とするように、前記複数の第1の制御信号のそれぞれの遷移時間を個別に変更する、ことを特徴とする半導体装置。
【請求項20】
請求項19において、前記内部クロック生成回路は、外部クロック信号の一つの遷移ポイントに対応して、それぞれ位相の異なる前記複数の第1の制御信号を生成することを特徴とする半導体装置。
【請求項21】
請求項19において、前記調整回路は、前記複数の制御信号のそれぞれの遷移時間を変更する値を保持するレジスタを備え、
前記複数の第1の回路が異なる時間でラッチした複数のデータがその他の半導体装置で検証され、その結果が、前記レジスタに入力されることを特徴とする半導体装置。
【請求項22】
請求項19において、更に、前記一つの外部端子に接続され、前記複数の第1の回路からの出力データが入力さる第2の回路を備え、
前記複数の第1の回路が異なる時間でラッチした複数のデータが、前記第2の回路からその他の半導体装置へ出力されることを特徴とする半導体装置。
【請求項23】
請求項22において、前記調整回路は、前記複数の制御信号のそれぞれの遷移時間を変更する値を保持するレジスタを備え、
前記複数の第1の回路が異なる時間でラッチした複数のデータが前記第2の回路を経由してその他の半導体装置で検証され、その結果が、前記レジスタに入力されることを特徴とする半導体装置。
【請求項24】
内部のパラレルなデータを一つの外部端子へシリアルに出力する複数の第2の回路と、それぞれ位相が異なる複数の第2の制御信号を生成する内部クロック生成回路と、前記複数の第2の制御信号のそれぞれの遷移時間を変更する調整回路と、を備え、
前記複数の第2の回路は、前記調整回路によって遷移時間が調整された対応する前記複数の第2の制御信号によって、対応する前記パラレルなデータをそれぞれ異なる時間でシリアルに出力し、
前記調整回路は、前記複数の第2の回路が出力する最初のデータの有効時間と次のデータの有効時間とを同一の時間にするように、前記複数の第2の制御のそれぞれの遷移時間を個別に変更する、ことを特徴とする半導体装置。
【請求項25】
請求項24において、前記内部クロック生成回路は、外部クロック信号の一つの遷移ポイントに対応して、それぞれ位相の異なる前記複数の第2の制御信号を生成することを特徴とする半導体装置。
【請求項26】
請求項24において、前記調整回路は、前記複数の制御信号のそれぞれの遷移時間を変更する値を保持するレジスタを備え、
前記第2の回路が出力した前記複数のデータが半導体装置の外部で検証され、その結果が、前記レジスタに入力されることを特徴とする半導体装置。
【請求項27】
一つの第1の外部端子と、第2の外部端子と、
それぞれが前記第1の外部端子に接続され、位相の異なる複数の制御信号にそれぞれ応答して前記第1の外部端子から供給される複数のデータを取り込む複数の第1の回路と、
前記複数の第1の回路からのそれぞれの出力データに基づき前記第1の外部端子への外部からのデータ供給タイミングを制御する第1の情報を生成する検証回路と、を備え、
前記第1の情報を前記第2の外部端子を介して外部に送出する、ことを特徴とする半導体装置。
【請求項28】
請求項27において、前記第1と第2の外部端子は、同一の端子であることを特徴とする半導体装置。
【請求項29】
請求項27において、更に、それぞれが前記一つの第1の外部端子に接続され、位相の異なる複数の制御信号にそれぞれ応答して内部のパラレルなデータを前記一つの外部端子へシリアルに出力する複数の第2の回路と、を備え、
前記検証回路は、更に、前記第1の外部端子を介して外部に送出されるデータに対する受け取りタイミングを制御する第2の情報を送出する、ことを特徴とする半導体装置。
【請求項30】
一つの第1の外部端子と、第2の外部端子と、
前記第1の外部端子に外部から順に供給されるデータを取り込む第1の機能および前記第1の外部端子を介して外部にデータを順に送出する第2の機能の少なくとも一方を実行するデータ入出力回路と、
前記第1の外部端子への外部からのデータ供給タイミングを制御する第1の情報および前記第1の外部端子を介して外部に送出されるデータに対する受け取りタイミングを制御する第2の情報の少なくとも一方を前記第2の外部端子を介して外部に送出する検証回路と、を備えることを特徴とする半導体装置。
【請求項31】
請求項30において、前記第1と第2の外部端子は、同一の端子であることを特徴とする半導体装置。
【請求項32】
請求項30において、前記第1及び第2の情報によって、外部クロック信号の一つの遷移ポイントに対応するそれぞれ位相の異なる複数の制御信号の遷移時間が変更されることを特徴とする半導体装置。
【請求項33】
請求項30において、前記第1の機能は、外部クロック信号の一つの遷移ポイントに対応して、外部から順に供給されるデータを並列に取り込むシリアル−パラレル変換機能であり、前記第2の機能は、外部クロック信号の一つの遷移ポイントに対応して、内部のパラレルなデータを外部に順に送出するパラレルーシリアル変換機能であることを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−81577(P2010−81577A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2009−149749(P2009−149749)
【出願日】平成21年6月24日(2009.6.24)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】