(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-27
(45)【発行日】2024-04-04
(54)【発明の名称】制御回路、半導体記憶装置及び半導体記憶装置の制御方法
(51)【国際特許分類】
H03L 7/095 20060101AFI20240328BHJP
H03L 7/081 20060101ALI20240328BHJP
G11C 7/22 20060101ALI20240328BHJP
G11C 11/4076 20060101ALI20240328BHJP
【FI】
H03L7/095
H03L7/081
G11C7/22 100
G11C11/4076
(21)【出願番号】P 2022108866
(22)【出願日】2022-07-06
【審査請求日】2022-07-06
(73)【特許権者】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】奥野 晋也
【審査官】竹内 亨
(56)【参考文献】
【文献】特開2006-098103(JP,A)
【文献】特開2013-222997(JP,A)
【文献】国際公開第2009/125580(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03L 7/00-7/26
G11C 7/22
G11C 11/4076
(57)【特許請求の範囲】
【請求項1】
入力クロック信号と出力クロック信号との位相差から遅延量を決定する制御部と、
前記遅延量に基づいて、前記入力クロック信号を遅延させて前記出力クロック信号を生成する遅延ライン部と、
前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出するための検出動作を行う検出部と、を備えた制御回路であって、
前記制御部は、前記遅延量が前記遅延ライン部における所定の遅延量を超えるオーバーフロー状態であるかどうかを判定し、前記オーバーフロー状態であると判定した場合に、オーバーフロー状態を示す信号を前記検出部に入力し、
前記検出部は、前記オーバーフロー状態を示す信号が入力されると、前記検出動作を行わずに、所定の設定値を前記遅延クロックサイクル数として設定
し、
前記検出部は、前記入力クロック信号と前記出力クロック信号とが同期している場合であって、前記オーバーフロー状態を示す信号が入力されない場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をカウントすることによって、前記検出動作を行うことを特徴とする制御回路。
【請求項2】
前記遅延ライン部によって生成された前記出力クロック信号をフィードバック信号として出力するレプリカ部をさらに備え、
前記検出部は、前記入力クロック信号と、前記レプリカ部から出力されたフィードバック信号とを用いて、前記遅延クロックサイクル数を検出することを特徴とする請求項1に記載の制御回路。
【請求項3】
前記遅延ライン部によって生成された前記出力クロック信号をフィードバック信号として出力するレプリカ部と、
前記入力クロック信号と、前記レプリカ部から出力されたフィードバック信号との間の位相差を検出する位相検出部と、をさらに備え、
前記制御部は、前記位相検出部によって検出された位相差から前記遅延量を決定することを特徴とする請求項1に記載の制御回路。
【請求項4】
前記検出部は、前記オーバーフロー状態を示す信号がアサートされた状態で入力されると、前記設定値を前記遅延クロックサイクル数として設定することを特徴とする請求項1に記載の制御回路。
【請求項5】
前記制御部は、前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号を前記検出部に入力し、
前記検出部は、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号が前記制御部から入力されると、前記検出動作を行うことを特徴とする請求項1に記載の制御回路。
【請求項6】
前記制御部は、前記オーバーフロー状態であると判定した場合に、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号を前記検出部に入力することを特徴とする請求項
5に記載の制御回路。
【請求項7】
前記オーバーフロー状態が、前記遅延ライン部における所定数以上の遅延線を活性化した状態であることを特徴とする請求項1に記載の制御回路。
【請求項8】
前記オーバーフロー状態が、前記遅延ライン部における全ての遅延線を活性化した状態であることを特徴とする請求項
7に記載の制御回路。
【請求項9】
前記検出部は、
前記遅延クロックサイクル数をレイテンシーカウンタに送信することを特徴とする請求項1に記載の制御回路。
【請求項10】
前記レイテンシーカウンタは、前記遅延クロックサイクル数を用いてレイテンシのカウントを実行することを特徴とする請求項
9に記載の制御回路。
【請求項11】
前記検出部は、
前記検出動作が行われる場合に、前記入力クロック信号に対応する信号を生成する信号生成部と、
前記入力クロック信号に対応する信号が入力されてから、前記出力クロック信号に対応する信号が入力されるまでの間の遅延クロックサイクル数のカウント用信号のクロックサイクル数を、前記遅延クロックサイクル数としてカウントするカウント部と、を備えることを特徴とする請求項1に記載の制御回路。
【請求項12】
前記信号生成部は、
前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号と、前記検出動作を終了するための信号と、前記オーバーフロー状態を示す信号と、が入力される第1AND回路と、
前記第1AND回路の出力と、前記入力クロック信号と、が入力される第1ラッチ回路と、
前記入力クロック信号と、前記第1ラッチ回路の出力と、が入力される第2AND回路であって、前記入力クロック信号に対応する信号を出力する第2AND回路と、を備えることを特徴とする請求項
11に記載の制御回路。
【請求項13】
前記カウント部は、
前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号と、前記入力クロック信号に対応する信号と、が入力される第1ラッチ回路と、
前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号と、前記出力クロック信号に対応する信号と、が入力される第2ラッチ回路と、
前記第1ラッチ回路の出力と、前記第2ラッチ回路の出力と、が入力される第3AND回路と、
前記第3AND回路の出力と、前記入力クロック信号に対応する信号と、が入力される第3ラッチ回路と、
前記入力クロック信号に対応する信号と、前記第3ラッチ回路の出力と、が入力される第4AND回路と、
前記第4AND回路から出力された信号のパルスをカウントするカウンタであって、カウントした値を前記遅延クロックサイクル数として出力するカウンタと、を備えることを特徴とする請求項
11に記載の制御回路。
【請求項14】
半導体記憶装置に設けられた制御部が、入力クロック信号と出力クロック信号との位相差から遅延量を決定するステップと、
前記半導体記憶装置に設けられた遅延ライン部が、前記遅延量に基づいて、前記入力クロック信号を遅延させて前記出力クロック信号を生成するステップと、
前記半導体記憶装置に設けられた検出部が、前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出する
ための検出動作を行うステップと、
前記制御部が、前記遅延量が前記遅延ライン部における所定の遅延量を超えるオーバーフロー状態であるかどうかを判定し、前記オーバーフロー状態であると判定した場合に、オーバーフロー状態を示す信号を前記検出部に入力するステップと、
前記検出部が、前記オーバーフロー状態を示す信号が入力されると、前記検出動作を行わずに、所定の設定値を前記遅延クロックサイクル数として設定するステップと、を含
み、
前記検出部は、前記入力クロック信号と前記出力クロック信号とが同期している場合であって、前記オーバーフロー状態を示す信号が入力されない場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をカウントすることによって、前記検出動作を行うことを特徴とする半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御回路、半導体記憶装置及び半導体記憶装置の制御方法に関する。
【背景技術】
【0002】
半導体記憶装置の一種であるDRAM(Dynamic Random Access Memory)は、キャパシタ(コンデンサ)に電荷を蓄えることによって情報を記憶し、電源が供給されなくなると、記憶された情報が失われる揮発性メモリである。DRAMには、位相同期回路として遅延ロックループ(DLL:Delay locked Loop)回路が設けられている。DRAMは、DLL回路を用いて、データ信号を出力するための内部クロック信号を、外部から入力された入力クロック信号に同期させて生成している(例えば特許文献1参照)
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、DLL回路を用いて内部クロック信号の遅延の調整を行う場合、例えば、DLL回路のリセット動作と、DLL回路のロック動作(例えば、遅延線を1本ずつ活性化させながら外部クロックと内部クロックとを同期させる動作)と、入力クロック信号と内部クロック信号との間の遅延クロックサイクル数を示すN値の検出動作と、を含むシーケンスが実行される。
【0005】
ここで、DLL回路のロック動作によるロック(遅延)時間Tdllは、下記の式で表すことができる。
【0006】
Tint+Tdll=N×tCK
【0007】
上記式において、TintはDLL回路における固有遅延時間を示し、tCKがクロックサイクルを示す。上記のシーケンスは所定の期間(tDLLK)内に完了しなければならないが、例えば、半導体記憶装置内の温度等によってクロックサイクル(tCK)が固有遅延時間(Tint)よりも長くなる場合、特に、遅延線が所定の本数以上活性化して遅延線のオーバーフロー状態となっている場合には、上記の式で示すようにDLL回路によるロック時間(Tdll)も長期化してしまう。このようにロック時間が長期化すると、上記のシーケンス全体の実行時間が長くなって、所定の期間(tDLLK)を超えてしまう虞がある。
【0008】
本発明は上記課題に鑑みてなされたものであり、遅延線のオーバーフロー状態によりロック時間が長期化する場合であっても、シーケンスの実行時間を所定の期間内に完了することができる制御回路、半導体記憶装置及び半導体記憶装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の制御回路は、入力クロック信号と出力クロック信号との位相差から遅延量を決定する制御部と、前記遅延量に基づいて、前記入力クロック信号を遅延させて前記出力クロック信号を生成する遅延ライン部と、前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出するための検出動作を行う検出部と、を備えた制御回路であって、前記制御部は、前記遅延量が前記遅延ライン部における所定の遅延量を超えるオーバーフロー状態であるかどうかを判定し、前記オーバーフロー状態であると判定した場合に、オーバーフロー状態を示す信号を前記検出部に入力し、前記検出部は、前記オーバーフロー状態を示す信号が入力されると、前記検出動作を行わずに、所定の設定値を前記遅延クロックサイクル数として設定することを特徴とする(発明1)。
【0010】
かかる発明(発明1)によれば、検出部は、オーバーフロー状態を示す信号が入力されると、所定の設定値を遅延クロックサイクル数として設定するので、例えば、遅延ライン部における所定の遅延量を超えるオーバーフロー状態が生じた場合には、検出部における遅延クロックサイクル数の検出動作が行われない。これにより、シーケンスの実行時間を短縮することができるので、シーケンスの実行時間が、シーケンスの所定の期間(例えば、tDLLK)を超えることを抑制することが可能になる。したがって、遅延線のオーバーフロー状態によりロック時間が長期化する場合であっても、シーケンスの実行時間を所定の期間内に終了することができる。
【0011】
上記発明(発明1)においては、前記検出部は、前記入力クロック信号と前記出力クロック信号とが同期している場合であって、前記オーバーフローを示す信号が入力されない場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をカウントすることによって、前記検出動作を行ってもよい(発明2)。
【0012】
かかる発明(発明2)によれば、検出部は、オーバーフローを示す信号が入力されない場合には、入力クロック信号から出力クロック信号までの遅延クロックサイクル数をカウントすることによって、簡易に、かつ、早期に遅延クロックサイクル数を検出することが可能である。
【0013】
上記発明(発明1~2)においては、前記遅延ライン部によって生成された前記出力クロック信号をフィードバック信号として出力するレプリカ部をさらに備え、前記検出部は、前記入力クロック信号と、前記レプリカ部から出力されたフィードバック信号とを用いて、前記遅延クロックサイクル数を検出してもよい(発明3)。
【0014】
かかる発明(発明3)によれば、入力クロック信号と、出力クロック信号に対応するフィードバック信号とを用いて、遅延クロックサイクル数を検出することが可能になる。
【0015】
上記発明(発明1~3)においては、前記遅延ライン部によって生成された前記出力クロック信号をフィードバック信号として出力するレプリカ部と、前記入力クロック信号と、前記レプリカ部から出力されたフィードバック信号との間の位相差を検出する位相検出部と、をさらに備え、前記制御部は、前記位相検出部によって検出された位相差から前記遅延量を決定してもよい(発明4)。
【0016】
かかる発明(発明4)によれば、入力クロック信号と、出力クロック信号に対応するフィードバック信号との間の位相差に基づいて、遅延量を決定することが可能になる。
【0017】
上記発明(発明1~4)においては、前記検出部は、前記オーバーフロー状態を示す信号がアサートされた状態で入力されると、前記設定値を前記遅延クロックサイクル数として設定してもよい(発明5)。
【0018】
かかる発明(発明5)によれば、オーバーフロー状態を示す信号がアサートされた場合に、設定値を遅延クロックサイクル数として設定することが可能になる。
【0019】
上記発明(発明1~5)においては、前記制御部は、前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号を前記検出部に入力し、前記検出部は、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号が前記制御部から入力されると、前記検出動作を行ってもよい(発明6)。
【0020】
かかる発明(発明6)によれば、検出部は、入力クロック信号と出力クロック信号とが同期したことを制御部が検出することによって、検出動作を実行することが可能になる。
【0021】
上記発明(発明6)においては、前記制御部は、前記オーバーフロー状態であると判定した場合に、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号を前記検出部に入力してもよい(発明7)。
【0022】
かかる発明(発明7)によれば、制御部は、オーバーフロー状態が発生した場合に、入力クロック信号と出力クロック信号とが同期していない状態であっても、入力クロック信号と出力クロック信号とが同期した(つまり、ロック動作が終了した)ことを直ちに検出部に知らせることが可能になる。
【0023】
上記発明(発明1~7)においては、前記オーバーフロー状態が、前記遅延ライン部における所定数以上の遅延線を活性化した状態であってもよい(発明8)。
【0024】
かかる発明(発明8)によれば、制御部は、オーバーフロー状態が発生したことを、遅延ライン部に設けられている遅延線のうち所定数以上の遅延線が活性化したタイミングで判定することが可能になる。
【0025】
上記発明(発明8)においては、前記オーバーフロー状態が、前記遅延ライン部における全ての遅延線を活性化した状態であってもよい(発明9)。
【0026】
かかる発明(発明9)によれば、制御部は、オーバーフロー状態が発生したことを、遅延ライン部に設けられている全ての遅延線が活性化したタイミングで判定することが可能になる。
【0027】
上記発明(発明1~9)においては、前記検出部は、前記遅延クロックサイクル数をレイテンシーカウンタに送信してもよい(発明10)。
【0028】
また、上記発明(発明10)においては、前記レイテンシーカウンタは、前記遅延クロックサイクル数を用いてレイテンシのカウントを実行してもよい(発明11)。
【0029】
かかる発明(発明10、11)によれば、レイテンシーカウンタは、検出部から送信された遅延クロックサイクル数を用いてレイテンシをカウントすることが可能になる。
【0030】
上記発明(発明1~11)においては、前記検出部は、前記検出動作が行われる場合に、前記入力クロック信号に対応する信号を生成する信号生成部と、前記入力クロック信号に対応する信号が入力されてから、前記出力クロック信号に対応する信号が入力されるまでの間の遅延クロックサイクル数のカウント用信号のクロックサイクル数を、前記遅延クロックサイクル数としてカウントするカウント部と、を備えてもよい(発明12)。かかる発明(発明12)によれば、信号生成部及びカウント部を用いて、検出動作を容易に行うことが可能になる。
【0031】
上記発明(発明12)においては、前記信号生成部は、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号と、前記検出動作を終了するための信号と、前記オーバーフロー状態を示す信号と、が入力される第1AND回路と、前記第1AND回路の出力と、前記入力クロック信号と、が入力される第1ラッチ回路と、前記入力クロック信号と、前記第1ラッチ回路の出力と、が入力される第2AND回路であって、前記入力クロック信号に対応する信号を出力する第2AND回路と、を備えてもよい(発明13)。かかる発明(発明13)によれば、検出動作が行われる場合に、入力クロック信号に対応する信号を容易に生成することが可能になる。
【0032】
上記発明(発明12~13)においては、前記カウント部は、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号と、前記入力クロック信号に対応する信号と、が入力される第1ラッチ回路と、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号と、前記出力クロック信号に対応する信号と、が入力される第2ラッチ回路と、前記第1ラッチ回路の出力と、前記第2ラッチ回路の出力と、が入力される第3AND回路と、前記第3AND回路の出力と、前記入力クロック信号に対応する信号と、が入力される第3ラッチ回路と、前記入力クロック信号に対応する信号と、前記第3ラッチ回路の出力と、が入力される第4AND回路と、前記第4AND回路から出力された信号のパルスをカウントするカウンタであって、カウントした値を前記遅延クロックサイクル数として出力するカウンタと、を備えてもよい(発明14)。かかる発明(発明14)によれば、信号生成部によって生成された信号が入力されてから、出力クロック信号に対応する信号が入力されるまでの間の遅延クロックサイクル数のカウント用信号のクロックサイクル数を、遅延クロックサイクル数として容易にカウントすることが可能になる。
【0033】
本発明の半導体記憶装置は、上記の何れかの制御回路を備える(発明13)。かかる発明(発明13)によれば、シーケンスの実行時間を短縮することができ、シーケンスの実行時間が、シーケンスのあらかじめ定められた所定の期間を超えることがない制御回路を備えるので、所定のシーケンスからの復帰動作が早く、応答時間を短縮化することが可能である。
【0034】
上記発明(発明13)においては、前記半導体記憶装置は、ダイナミックランダムアクセスメモリであってもよい(発明14)。
【0035】
かかる発明(発明14)によれば、遅延線のオーバーフロー状態によりロック時間が長期化する場合であっても、シーケンスの実行時間を所定期間内に終了することの可能なダイナミックランダムアクセスメモリを実現することが可能になる。
【0036】
本発明の半導体記憶装置の制御方法は、半導体記憶装置に設けられた制御部が、入力クロック信号と出力クロック信号との位相差から遅延量を決定するステップと、前記半導体記憶装置に設けられた遅延ライン部が、前記遅延量に基づいて、前記入力クロック信号を遅延させて前記出力クロック信号を生成するステップと、前記半導体記憶装置に設けられた検出部が、前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出するステップと、前記制御部が、前記遅延量が前記遅延ライン部における所定の遅延量を超えるオーバーフロー状態であるかどうかを判定し、前記オーバーフロー状態であると判定した場合に、オーバーフロー状態を示す信号を前記検出部に入力するステップと、前記検出部が、前記オーバーフロー状態を示す信号が入力されると、前記検出動作を行わずに、所定の設定値を前記遅延クロックサイクル数として設定するステップと、を含む(発明15)。
【0037】
かかる発明(発明15)によれば、遅延線のオーバーフロー状態によりロック時間が長期化する場合であっても、シーケンスの実行時間を所定期間内に終了することができる。
【発明の効果】
【0038】
本発明の制御回路、半導体記憶装置及び半導体記憶装置の制御方法によれば、遅延線のオーバーフロー状態によりロック時間が長期化する場合であっても、シーケンスの実行時間を所定期間内に終了することができる。
【図面の簡単な説明】
【0039】
【
図1】本発明の実施形態に係る制御回路の構成例を示すブロック図である。
【
図2】入力クロック信号と遅延時間との関係を示す図である。
【
図4】制御回路内の各部の信号の電圧の推移を示すタイムチャートである。
【
図5】制御回路内の各部の信号の電圧の推移を示すタイムチャートである。
【発明を実施するための形態】
【0040】
以下、本発明の実施形態に係る制御回路、半導体記憶装置及び半導体記憶装置の制御方法について添付図面を参照して詳細に説明する。ただし、この実施形態は例示であり、本発明はこれに限定されるものではない。
【0041】
また、本明細書等における「第1」、「第2」、「第3」等の表記は、或る構成要素を他の構成要素と区別するために使用されるものであって、当該構成要素の数、順序又は優先度等を限定するためのものではない。例えば、「第1要素」及び「第2要素」との記載が存在する場合、「第1要素」及び「第2要素」という2つの要素のみが採用されることを意味するものではないし、「第1要素」が「第2要素」に先行しなければならないことを意味するものでもない。
【0042】
図1に、本発明の実施形態に係る制御回路の構成例を示す。本実施形態において、制御回路は、DLL回路10と、N値検出部20と、を備える。また、本実施形態において、制御回路は、例えばDRAM等の半導体記憶装置に設けられている。さらに、本実施形態において、半導体記憶装置は、レイテンシーカウンタ30を備える。DLL回路10は、図示されていないリセット信号(遅延動作の開始信号)が所定の回路(図示省略)等から入力されると、ロック動作を開始して、入力クロック信号に対して出力クロック信号を遅延させることによって入力クロック信号と出力クロック信号とを同期させて、ロック動作を終了する。そして、DLL回路10がロック動作を終了すると、詳しくは後述するが、N値検出部20が所定の要件下で遅延クロックサイクル数に相当するN値の検出動作を行い、N値を示す信号をレイテンシーカウンタ30に入力する。本実施形態では、DLL回路10にリセット信号が入力されてから、N値を示す信号を検出するまでの制御を「本シーケンス」とする。また、本実施形態では、N値の検出動作とは、入力クロック信号から出力クロック信号までの遅延クロックサイクル数をカウントする動作を意味する。
【0043】
なお、本実施形態では、説明を簡略化するために、DRAM等の半導体記憶装置に設けられている周知の構成(例えば、コマンドデコーダ、メモリセルアレイ、入出力用のインタフェース部等)が示されていない。
【0044】
DLL回路10は、入力バッファ11と、位相検出部12と、DLL制御部13と、遅延ライン部14と、レプリカ部15と、出力バッファ16とを備えている。
【0045】
入力バッファ11は、入力バッファ11に入力される外部クロック信号CKをバッファリングして入力クロック信号clkを生成する。生成された入力クロック信号clkは、マルチプレクサ17を介して遅延ライン部14と、N値検出部20と、位相検出部12とに送信される。詳しくは後述するが、遅延ライン部14は、入力された入力クロック信号clkを遅延した遅延信号(出力クロック信号)dll_clkを生成して、出力バッファ16及びレプリカ部15へ送信する。レプリカ部15は、遅延ライン部14によって生成された遅延信号(出力クロック信号)dll_clkをフィードバック信号fb_clkとして出力する。具体的に説明すると、レプリカ部15は、入力された遅延信号dll_clkからフィードバック信号fb_clkを生成し、N値検出部20及び位相検出部12へ出力する。
【0046】
位相検出部12は、入力クロック信号clkとフィードバック信号fb_clkとの間の位相差を検出する。位相検出部12には、入力クロック信号clkが入力されるとともに、フィードバック信号fb_clkが入力される。位相検出部12では、入力クロック信号clkに対するフィードバック信号fb_clkの位相の進み又は遅れを示す位相信号up/downが生成され、DLL制御部13に入力される。
【0047】
DLL制御部13は、位相検出部12によって検出された位相差から遅延量を決定する。具体的に説明すると、DLL制御部13は、位相検出部12からの位相信号up/downにより、遅延量を決定して遅延ライン部14を制御する。DLL制御部13は、複数のビットで構成された制御信号dll_codeを生成し、出力する。この出力された制御信号dll_codeは、遅延ライン部14へ入力される。なお、DLL制御部13は、本発明の「制御部」の一例である。
【0048】
遅延ライン部14は、制御信号dll_codeに応じて、遅延線を活性化してDLLの遅延時間を変更する、可変遅延部である。後述する制御信号n_enableがハイレベルでマルチプレクサ17に入力されている場合(N値検出動作が行われる場合)、遅延ライン部14には信号n_clkが入力され、それ以外の場合には入力クロック信号clkが遅延ライン部14に入力される。遅延ライン部14は、制御信号dll_code中のハイレベルを示すビット数が多い(活性化させる遅延線が多い)ほど、入力クロック信号clkに対する遅延信号dll_clkの遅延時間を長くする。一方、制御信号中のハイレベルを示すビット数が少ない(活性化させる遅延線が少ない)ほど、入力クロック信号clkに対する遅延信号dll_clkの遅延時間を短くする。このようにして、遅延ライン部14は、入力クロック信号clkを遅延させて遅延信号dll_clkを生成して、前述したように出力バッファ16とレプリカ部15へ出力する。
【0049】
また、本実施形態では、DLL制御部13は、制御信号dll_lockedを生成してN値検出部20へ入力する。制御信号dll_lockedは、ハイレベルの時はロック動作が終了した場合を示し、ローレベルの時はそれ以外の場合を示す。DLL制御部13は、位相信号up/downの位相差が所定の範囲に収束した場合はロック動作を終了したとして、入力クロック信号clkと、(遅延信号(出力クロック信号)dll_clkに対応する)フィードバック信号fb_clkとが同期したことを示す制御信号dll_lockedをハイレベルにしてN値検出部20へ入力する。さらに、DLL制御部13は、DLL回路10がオーバーフロー状態である場合、即ち全ての遅延線が活性化した状態である場合(制御信号dll_codeを構成する複数のビットの全てがハイレベルの場合)、オーバーフロー状態を示す制御信号dll_overflowをハイレベルにしてN値検出部20へ入力する。なお、オーバーフロー状態は、本実施形態では、全ての遅延線が活性化した状態を意味するものであるが、これに限定されず、全ての遅延線のうち所定数以上の遅延線が活性化した状態である場合(制御信号dll_codeを構成する複数のビットのうち所定数以上のビットがハイレベルの場合)を意味していてもよい。なお、DLL回路10がオーバーフローした場合、DLL制御部13は、制御信号dll_lockedをハイレベルでN値検出部20に入力してもよい。
【0050】
また、DLL制御部13は、DLL回路10がオーバーフロー状態であると判定した場合に、制御信号dll_lockedをハイレベルにしてN値検出部20に入力してもよい。これにより、DLL制御部13は、オーバーフロー状態が発生した場合に、入力クロック信号clkと遅延信号(出力クロック信号)dll_clkとが同期していない状態であっても、入力クロック信号clkと遅延信号(出力クロック信号)dll_clkとが同期した(つまり、ロック動作が終了した)ことを直ちにN値検出部20に知らせることが可能になる。
【0051】
N値検出部20は、ロック動作終了後、即ち入力クロック信号clkと遅延信号dll_clkとが同期した場合(ここでは、制御信号dll_lockedがハイレベルの場合)に、N値を検出し、レイテンシーカウンタ30に出力する。ここで、N値とは、Tint(DLL回路における固有遅延時間)+Tdll(DLL回路のロック動作によるロック(遅延)時間)=N×tCKで表される値であり、DLLのロック動作における入力クロック信号から出力クロック信号までの遅延クロックサイクル数(したがって整数である)を示す。なお、N値検出部20は、本発明の「検出部」の一例である。
【0052】
N値検出部20は、DLL回路10のロック動作が終了した場合に、カウントによりN値を検出するが、DLL回路10がオーバーフロー状態である場合(制御信号dll_overflowがハイレベル(アサート)の場合)には、N値の検出を行わず、所定の設定値をN値とする。これにより、DLL回路10がオーバーフロー状態である場合にはN値の検出動作を行うことなく早期に本シーケンスを終了することができる。従来は、tCKがTintよりも十分に大きい場合に、特にDLL回路10がオーバーフロー状態になってTdllが長期化してしまうと、本シーケンス全体にかかる時間が所定の期間(tDLLK、例えば512クロックサイクル)を超えてしまう虞があった。しかしながら、本実施形態では、オーバーフロー状態である場合にはカウントによるN値の検出動作を行わないので、所定の期間(tDLLK)内にシーケンスを終了することができる。
【0053】
具体的には、本実施形態では、N値検出部20は、DLL回路10がオーバーフローせずにロック動作が終了した場合、即ち制御信号dll_overflowがローレベルで入力された場合であって、制御信号dll_lockedがハイレベルで入力された場合には、N値の検出動作を行い、検出されたN値を、N値を示すN値信号n_valueとして生成し、レイテンシーカウンタ30に入力する。そして、DLL回路10がオーバーフローした場合、即ち制御信号dll_overflowがハイレベルで入力された場合には、N値検出部20は、N値の検出動作を行わず、所定の設定値を、N値を示すN値信号n_valueとして生成(設定)し、レイテンシーカウンタ30に入力する。本実施形態では、この所定の設定値は、1である。
【0054】
ここで、本実施形態では、所定の設定値は1としたが、これに限定されず、適宜設定してもよい。なお、
図2(1)、(2)に示すように、tCKがTintよりも十分に大きい場合には、オーバーフロー状態であるか否かにかかわらず、遅延サイクル数を示すN値は1になるために、N値を1とすることが最も好ましい。そのため、本実施形態では、所定の設定値は1としている。
【0055】
ここで、N値検出部20の構成の一例を、
図3を用いて詳細に説明する。
【0056】
N値検出部20は、n_clk信号生成部21(本発明の「信号生成部」の一例である)と、N値カウント部22(本発明の「カウント部」の一例である)と、を含む。n_clk信号生成部21は、第1AND回路211と、第1ラッチ回路212と、第2AND回路213と、を含む。N値カウント部22は、2つのD-フリップフロップ(D-FF)回路221,222(本発明の「第1ラッチ回路」及び「第2ラッチ回路」の一例である)と、第3AND回路223と、ラッチ回路224(本発明の「第3ラッチ回路」の一例である)と、第4AND回路225と、4ビットカウンタ226(本発明の「カウンタ」の一例である)と、を含む。
【0057】
n_clk信号生成部21は、N値の検出動作時に、入力クロック信号clkに対応する信号n_clkを生成する。n_clk信号生成部21では、制御信号dll_locked(本発明の「入力クロック信号と出力クロック信号とが同期したことを示す信号」の一例である)と、後述する信号n_end(本発明の「検出動作を終了するための信号」の一例である)と、制御信号dll_overflow(本発明の「オーバーフロー状態を示す信号」の一例である)とが第1AND回路211に入力され、制御信号n_enableが生成される。制御信号n_enableがハイレベルである場合は、N値の検出動作が可能であることを意味する。この生成された制御信号n_enableが第1ラッチ回路212に入力され、入力クロック信号clkがクロック信号として第1ラッチ回路212に入力される。また、第1ラッチ回路212から出力された信号が入力クロック信号clkとともに第2AND回路213に入力されて、第2AND回路213から信号n_clkが出力される。
【0058】
N値カウント部22は、N値の検出動作時に、入力クロック信号clkが入力されてからフィードバック信号fb_clkが入力されるまでの入力クロック信号clkのクロックサイクル数をカウントすることによって、N値を検出する。N値カウント部22では、信号n_clkと制御信号dll_lockedとが第1D-FF221に入力され、信号n_startが生成される。また、遅延信号dll_clkに対応したフィードバック信号fb_clkと制御信号dll_lockedとが第2D-FF222に入力され、信号n_endが生成される。そして、信号n_startと、信号n_endとが第3AND回路223に入力され、信号n_detectionが生成される。ラッチ回路224には、信号n_detectionが入力され、信号n_clkがクロック信号として入力される。このラッチ回路224からの出力と、信号n_clkとが第4AND回路225に入力されて、第4AND回路225は、N値のカウント用信号である信号count_clk(本発明の「遅延クロックサイクル数のカウント用信号」の一例である)を出力する。信号count_clkは、4ビットカウンタ226に入力される。
【0059】
4ビットカウンタ226は、入力された信号count_clkのパルスをカウントしてN値を検出し、検出したN値を示すN値信号n_valueを出力する。4ビットカウンタ226では、4ビットカウンタ226のカウント値をリセットするための信号dll_resetが入力されると、0が設定される。
【0060】
このようにして、N値カウント部22は、制御信号dll_lockedがハイレベルの場合に、入力クロック信号clkに対応する信号n_clkが入力されてから、遅延信号(出力クロック信号)dll_clkに対応する信号fb_clkが入力されるまでの間の信号count_clkのクロックサイクル数(パルス数)を遅延クロックサイクル数としてカウントすることによって、N値の検出動作を行う。
【0061】
図1に戻り、このN値検出部20で検出されたN値を示すN値信号n_valueは、レイテンシーカウンタ30に入力される。
【0062】
なお、制御信号dll_overflowがハイレベルでN値検出部20に入力された場合には、N値カウント部22の4ビットカウンタ226は、所定の設定値(ここでは、1)をN値信号n_valueとして出力する。このN値信号n_valueは、レイテンシーカウンタ30に入力される。
【0063】
レイテンシーカウンタ30は、DLL回路10によって生成された内部クロックに同期してレイテンシのカウントを行う。また、レイテンシーカウンタ30は、所定の期間(tDLLK)が経過した後に、N値検出部20で検出されたN値を示すN値信号n_valueを用いて、レイテンシのカウントを実行する。例えば、CAS(Column Address Strobe)レイテンシの場合、設定されたレイテンシは、コマンド(例えば、リードコマンド)が半導体記憶装置(ここでは、DRAM)に入力されてからデータ(例えば、読み出しデータ)が半導体記憶装置から出力されるまでの期間を示すクロックサイクル数である。この場合、レイテンシーカウンタ30は、DLL回路10にリセット信号が入力されると、例えばモードレジスタ(図示省略)に設定されたCASレイテンシの値から、N値分を減じた分だけカウントする。具体例を挙げると、レイテンシーカウンタ30は、例えばCASレイテンシの値が10で、N値が5である場合には、減算結果となる5クロックサイクル分だけカウントする。
【0064】
本実施形態の制御回路による制御を、
図4に示すタイミングチャートも含めて説明する。まず、DLL回路10がオーバーフロー状態ではない場合の制御を説明する。
【0065】
タイミングt1で、図示されていないリセット信号(遅延動作の開始信号)が所定の回路(図示省略)等から入力されてDLLリセット状態となると、タイミングt2において、DLL回路10は、ロック動作を開始する。また、DLLリセット状態となると、信号dll_resetがN値カウント部22の4ビットカウンタ226に入力されて、4ビットカウンタ226において、N値として0が設定される。
【0066】
続いて、タイミングt2において、DLLロック動作が開始され、DLLロック状態に移行する。まず、位相検出部12が、入力された入力クロック信号clkと、フィードバック信号fb_clkとから、位相検出を行い、位相信号up/downをDLL制御部13に送信する。DLL制御部13は、位相信号up/downに基づいて遅延量を決定し、遅延量に従ってハイレベルとした制御信号dll_codeを遅延ライン部14に送信する。遅延ライン部14では、遅延線を使用して所定の時間遅延した遅延信号dll_clkを生成する。この遅延信号がレプリカ部15を介して位相検出部12に再度入力されてフィードバックが行われる。
【0067】
タイミングt3において、位相信号up/downの位相差が所定の範囲に収束して遅延が解消される(
図4に示す例では、このときのdllcodeは「10」であり、遅延線を10本活性化した段階である)。これにより、タイミングt3では、DLL制御部13が制御信号dll_lockedをハイレベルとして、また、制御信号dll_overflowをローレベルとしてN値検出部20に入力する。これにより、タイミングt3からN値検出状態が始まる。
【0068】
タイミングt3では、n_clk信号生成部21の第1AND回路211に、制御信号dll_lockedがハイレベルとして入力され、信号n_endと制御信号dll_overflowとがローレベルで第1AND回路211に入力されると、制御信号n_enableがハイレベルで生成される。この生成された制御信号n_enableと、入力クロック信号clkとが第1ラッチ回路212に入力され、生成された信号が、入力クロック信号clkとともに第2AND回路213に入力されて、信号n_clkが生成される。
【0069】
N値カウント部22では、制御信号dll_lockedがハイレベルで第1D-FF221に入力されている場合、信号n_clkの入力に応じて信号n_startがハイレベルで生成される。他方で、フィードバックされたクロック信号であるフィードバック信号fb_clkがローレベルで第2D-FF222に入力されている場合、信号n_endがローレベルで生成される。そして、ハイレベルである信号n_startと、ローレベルである信号n_endが第3AND回路223に入力され、信号n_detectionがハイレベルで生成される。ラッチ回路224には、この信号n_detectionと、信号n-clkとが入力され、このラッチ回路224からの出力と、信号n_clkとが第4AND回路225に入力される。これにより、N値カウント用信号である信号count_clkが出力される。信号count_clkは、4ビットカウンタ226に入力される。
【0070】
4ビットカウンタ226では、N値検出状態の開始時においてN値が0に設定されており、この4ビットカウンタ226は、信号n_clkに対応する信号count_clkの1つのパルスが入力される毎に、N値信号n_valueの値を1つずつインクリメントして出力する。このように、信号n_clkに従ってN値信号n_valueの値がカウントアップされ、N値信号n_valueがレイテンシーカウンタ30に入力される。N値カウント部22では、タイミングt4まで信号n_clkに従ってN値信号n_valueの値がカウントアップされる。なお、
図4に示す例では、N値が値「a」(ここでは、aは3以上の整数)までカウントアップされた場合を一例として示している。
【0071】
タイミングt4で、N値カウント部22で、第2D-FF222にフィードバック信号fb_clkが入力されると、信号n_endがハイレベルで生成される。また、この信号n_endがハイレベルになることによって、n_clk信号生成部21では、制御信号n_enableがローレベルで生成され、N値の検出動作が終了する。また、n_clk信号生成部21では、信号n_clkもローレベルで生成される。さらに、N値カウント部22では、信号n_endがハイレベルになることによって、信号n_detection及び信号count_clkもローレベルになる。他方で、制御信号n_enableがローレベルで生成されることで、マルチプレクサ17では入力クロック信号clkが選択され、遅延ライン部14では、この入力クロック信号clkに対して同期したdll_clkが出力される。
【0072】
このようにして、N値検出部20において検出された値「a」のN値が、レイテンシーカウンタ30に入力される。
【0073】
なお、4ビットカウンタ226は、タイミングt3~t4までの間、N値信号n_valueをレイテンシーカウンタ30に常時出力してもよいし、タイミングt4においてN値検出状態が終了した時点でN値信号n_valueをレイテンシーカウンタ30に出力してもよい。レイテンシーカウンタ30は、所定の期間(tDLLK)が経過した後に、N値信号n_valueを用いてレイテンシのカウントを実行するので、所定の期間(tDLLK)が経過するまでにN値検出部20から正確なN値が入力されていれば、レイテンシのカウントを適切に実行することができる。
【0074】
次に、DLL回路10のオーバーフロー時の動作を、
図5を用いて説明する。
【0075】
タイミングt11で、図示されていないリセット信号(遅延動作の開始信号)が所定の回路(図示省略)等から入力されてDLLリセット状態となると、リセット信号dll_resetが4ビットカウンタ226に入力されて、N値として0が設定される。
【0076】
DLLリセット状態となると、上記と同様にタイミングt12でDLL回路10はロック動作を行うが、遅延が解消されずに全ての遅延線が活性化されたオーバーフロー状態となると(
図5に示す例では、32本の遅延線を全て活性化した段階である)、タイミングt13において、DLL制御部13は、制御信号dll_overflowをハイレベルでN値検出部20に入力する。また、DLL制御部13は、制御信号dll_lockedをハイレベルでN値検出部20に入力してもよい。
【0077】
タイミングt13において、n_clk信号生成部21では、制御信号n_enableがローレベルで生成される。また、制御信号n_enableがローレベルの場合には、信号n_clkはローレベルで生成される。
【0078】
N値検出部20では、信号n_clkがローレベルで入力されると、N値カウント用の信号count-clkもローレベルで4ビットカウンタ226に入力される。また、4ビットカウンタ226は、タイミングt13においてハイレベルの制御信号dll_overflowがN値検出部20に入力されると、所定の設定値(ここでは、1)をN値信号n_valueとして出力し、当該N値信号n_valueをレイテンシーカウンタ30に入力する。
【0079】
このようにして、DLL回路10においてオーバーフローが発生した場合には、N値検出部20においてN値検出動作が行われることなく、所定の設定値(ここでは、1)がN値としてレイテンシーカウンタ30に入力される。
【0080】
このように、DLL回路10がオーバーフローにならずにロック状態となった場合には、N値検出部20がN値の検出動作を行い、検出したN値をレイテンシーカウンタ30に入力する。したがって、
図6の(1)に示すように、本シーケンスは、全体として、リセット状態、ロック状態及びN値検出状態を経て終了する。ここで、tCK<Tintの場合には、検出したN値は2以上の整数であると考えられるが、
図6の(1)では、検出したN値が、上述した値「a」である場合を一例として示している。しかし、DLL回路10がオーバーフローになると、N値検出部20は、N値を検出するためにクロックサイクルをカウントする制御を行わない。そのため、オーバーフローが発生した場合には、
図6の(2)のように、N値検出状態を省略することができるので、例えば、ロック状態が長期化したとしても、本シーケンスにかかる時間を
図6の(3)に示す従来の場合よりも短くすることができる。これにより、所定の期間(tDLLK)よりも本シーケンスの実行時間を短くすることができ、DLL回路10は、本シーケンス後にDLL制御に直ぐに復帰することが可能である。
【0081】
なお、本実施形態では、制御回路を備える半導体記録装置がDRAMである場合を一例として説明したが、本発明は、この場合に限定されない。例えば、半導体記憶装置は、SRAM(Static Random Access Memory)や、フラッシュメモリや、他の半導体記憶装置であってもよい。
【0082】
以上説明した各実施形態及び変形例は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記各実施形態及び変形例に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0083】
上述した実施形態におけるDLL回路10の構成は一例であり、適宜変更されてもよいし、他の様々な構成が採用されてもよい。また、N値検出部20の構成として
図3を示したが、この構成も一例であり、適宜変更されてもよいし、他の様々な構成が採用されてもよい。
【符号の説明】
【0084】
10…DLL回路
11…入力バッファ
12…位相検出部
13…DLL制御部
14…遅延ライン部
15…レプリカ部
16…出力バッファ
17…マルチプレクサ
20…N値検出部
21…n_clk信号生成部
22…N値カウント部
30…レイテンシーカウンタ
clk…入力クロック信号
dll_locked…制御信号
dll_overflow…制御信号
fb_clk…フィードバック信号
n_enable…制御信号
n_value…N値信号
up/down…位相信号