JP6451505B2 - 受信回路、受信回路のタイミング調整方法、半導体装置 - Google Patents

受信回路、受信回路のタイミング調整方法、半導体装置 Download PDF

Info

Publication number
JP6451505B2
JP6451505B2 JP2015108644A JP2015108644A JP6451505B2 JP 6451505 B2 JP6451505 B2 JP 6451505B2 JP 2015108644 A JP2015108644 A JP 2015108644A JP 2015108644 A JP2015108644 A JP 2015108644A JP 6451505 B2 JP6451505 B2 JP 6451505B2
Authority
JP
Japan
Prior art keywords
circuit
signal
data
determination
enable signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015108644A
Other languages
English (en)
Other versions
JP2016224605A (ja
Inventor
博之 狩野
博之 狩野
貴紀 青島
貴紀 青島
裕明 鵜飼
裕明 鵜飼
小島 和美
和美 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Priority to JP2015108644A priority Critical patent/JP6451505B2/ja
Priority to CN201610334653.2A priority patent/CN106201909B/zh
Priority to US15/161,006 priority patent/US9620196B2/en
Priority to DE102016208849.1A priority patent/DE102016208849B4/de
Priority to KR1020160063535A priority patent/KR101811133B1/ko
Publication of JP2016224605A publication Critical patent/JP2016224605A/ja
Application granted granted Critical
Publication of JP6451505B2 publication Critical patent/JP6451505B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

受信回路、受信回路のタイミング調整方法、半導体装置に関する。
従来、半導体記憶装置、例えばダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)は、システム装置のデータを記憶するために用いられる。また、クロック信号やストローブ信号の立ち上がりと立ち下がりの双方でデータを入出力するダブルデータレート(DDR:Double Data Rate)方式の半導体記憶装置は、システム装置の動作速度の高速化に対応する。
システム装置は、メモリにコマンドを出力する。メモリは、コマンドに基づいて動作する。たとえば、システム装置は、メモリにリードコマンドとリードアドレスを出力する。メモリは、リードコマンドに基づいて、リードアドレスのデータをメモリセルアレイから読み出す。そして、メモリは、データストローブ信号を出力し、データストローブ信号に同期してリードデータを出力する。システム装置内の受信回路は、データストローブ信号を受信し、タイミングを調整したデータストローブ信号に基づいてリードデータを取り込む。
リードデータとデータストローブ信号の相対的なタイミングのずれは、リードデータに誤りを生じさせる要因である。このため、システム装置は、リードデータに対してデータストローブ信号のタイミングを調整する回路を含む(たとえば、特許文献1〜3参照)。
特開2012−27734号公報 特開2012−58997号公報 特開2013−58209号公報
システム装置は、上記のメモリに対してデータの入出力を行うコア回路(たとえばCPU)、上記のメモリを制御する制御回路(メモリコントローラ:MC)を含む。これらの回路は、システム装置の動作のための内部クロック信号(たとえばシステムクロック信号SCK)に基づいて、データの授受を行う。したがって、受信回路は、データストローブ信号にて受信したリードデータを、内部クロック信号に基づいて出力する。
内部クロック信号とデータストローブ信号との間の相対的なタイミングは、システム装置の動作電圧の変動や温度変化(VTドリフト)等の種々の要因により変動する。そして、内部クロック信号とデータストローブ信号のタイミングのずれは、受信回路が内部クロック信号に基づいて出力するリードデータに誤りを生じさせる。
本発明の一観点によれば、ストローブ信号に基づいて第1のイネーブル信号を生成し、リード制御信号と転送設定値とに応じたポインタ制御信号とコアクロック信号に基づいて第2のイネーブル信号を生成する制御信号生成回路と、前記第1のイネーブル信号と前記ストローブ信号に基づいて受信データをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいて出力する第1の非同期転送回路と、前記第1のイネーブル信号の変化に応じて論理を反転した判定用パターンデータを生成するパターン生成回路と、前記第1のイネーブル信号と前記ストローブ信号に基づいて前記判定用パターンデータをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいて出力する第2の非同期転送回路と、前記第2の非同期転送回路の出力データに基づいて、前記ポインタ制御信号の生成タイミングを判定する判定回路と、前記判定回路の判定結果に基づいて前記転送設定値を算出する設定値算出回路と、を有する。
本発明の一観点によれば、リードデータにおける誤りを低減することができる。
第一実施形態のシステムを示すブロック回路図。 受信回路の一部ブロック回路図。 (a)(b)はイネーブル信号生成回路(カウンタ)の回路図。 イネーブル信号生成回路(ポインタ制御回路,カウンタ)の回路図。 非同期転送回路を示す回路図。 パターンジェネレータと非同期転送回路を示す回路図。 判定回路,設定値算出回路,レイテンシ補償回路を示す回路図。 設定値算出回路の動作を示すフローチャート。 非同期転送回路の動作を示すタイミング図。 転送設定値の設定を示すタイミング図。 パターンジェネレータ、非同期転送回路、判定回路の動作を示すタイミング図。 パターンジェネレータ、非同期転送回路、判定回路の動作を示すタイミング図。 パターンジェネレータ、非同期転送回路、判定回路の動作を示すタイミング図。 受信回路の動作を示すタイミング図。 比較例のシステムを示すブロック回路図。 データのばらつきに対するウインドウと転送設定値を示すタイミング図。 高レート時のウインドウと転送設定値を示すタイミング図。 第二実施形態の受信回路の一部ブロック回路図。 設定値算出回路の動作を示すフローチャート。 第二実施形態の受信回路の動作を示すタイミング図。
(第一実施形態)
以下、第一実施形態を説明する。
図1に示すように、このシステム10のシステム装置11は、メモリ装置12に接続されている。システム装置11は、たとえば1つのチップに中央処理装置(Central Processing Unit:CPU)などのコア回路と複数の周辺回路を含む半導体集積回路装置(LSI、例えばSoC(System on Chip))である。メモリ装置12は、同期式の半導体記憶装置、例えばDDR3−SDRAM(Double Data Rate 3 Synchronous Dynamic Random Access Memory)である。
システム装置11のメモリコントローラ21は、コアクロック信号CKcに基づいて動作する。メモリコントローラ21は、コア回路からの要求に基づいて、インタフェース回路22を介して、メモリ装置12をアクセスする。たとえば、メモリコントローラ21は、コア回路からのリード要求に基づいて、リード命令RRQを出力する。また、メモリコントローラ21は、リード要求に基づいて、リード制御信号RCNTを出力する。また、メモリコントローラ21は、インタフェース回路22に対する転送初期値FSOを出力する。
インタフェース回路22の送信回路23は、コアクロック信号CKcに基づいて、クロック信号CKTを出力する。また、送信回路23は、メモリコントローラ21から出力されるリード命令RRQに基づいて、リードコマンドRCMDを出力する。出力バッファ回路25aは、クロック信号CKTに基づいて、クロック信号CKを出力する。このクロック信号CKは、伝送路を介してメモリ装置12に供給される。出力バッファ回路25bは、リードコマンドRCMDに基づいてコマンドCMDを出力する。コマンドCMDは、伝送路を介してメモリ装置12に供給される。
メモリ装置12は、クロック信号CKに基づいて、コマンドCMDを受信する。また、図示しないが、メモリ装置12は、クロック信号CKに基づいてリードアドレスを受信する。メモリ装置12は、コマンドCMDに基づいてリード動作を行う。メモリ装置12は、リード動作において、リードアドレスのメモリセルからバースト長(Burst Length:BL)に応じた数のデータを読み出す。バースト長は、1つのリードコマンドに応じてメモリ装置12が連続的に出力するデータの数である。バースト長は、たとえば、メモリコントローラ21により設定される。本実施形態では、たとえば、バースト長を「8」に設定した場合を説明する。そして、メモリ装置12は、データDQとデータストローブ信号DQSを出力する。データDQとデータストローブ信号DQSは、それぞれ伝送路を介してシステム装置11に供給される。
入力バッファ回路27aは、データストローブ信号DQSに基づいて受信ストローブ信号RDQSを出力する。入力バッファ回路27bは、データDQに基づいて受信データRDQを出力する。
受信回路24は、データDQについて、受信ストローブ信号RDQSからコアクロック信号CKcへ、クロックの乗せ換えを行う。そして、受信回路24は、受信ストローブ信号RDQSからコアクロック信号CKcへ乗せ換えを行うタイミング(設定値)を、転送初期値FSOに基づいて設定する。また、受信回路24は、その乗せ換えタイミングを、設定したタイミングに対する受信ストローブ信号RDQSの遅れや進みに基づいて、タイミング(設定値)を調整する。
インタフェース回路22がメモリコントローラ21からリード命令RRQを入力してから、メモリコントローラ21にリードデータRDを出力するまでの時間は、リードレイテンシ(Read Latency:RL)である。リードレイテンシは、たとえばコアクロック信号CKcのサイクル数にて表される。インタフェース回路22がリードコマンドを出力してから、そのリードコマンドに対するデータDQを受信するまでの時間をラウンド・トリップ・タイム(Round Trip Time:RTT)という。
ラウンド・トリップ・タイムは、システム10の環境温度の変化やシステム10が動作する電源電圧の変化(VTドリフト)によって変化する。これらの変化は、乗せ換えタイミング(設定値)と受信ストローブ信号RDQSとの間の相対的なタイミングにずれを生じさせる。このタイミングのずれは、高い周波数のクロック信号、ストローブ信号による高速なデータ転送の妨げとなる。受信回路24は、受信データRDQを受け取り可能な有効ウインドウに対して、コアクロック信号CKcに基づいて受信データRDQを受け取るタイミングを、受信したデータストローブ信号DQSに基づいて調整する。
コアクロック信号CKcに基づいて動作するメモリコントローラ21は、リード要求を出力し、設定されたレイテンシのサイクル後にリードデータRDを受け取る。上記のように、コアクロック信号CKcにより受信データRDQを受け取るタイミングを調整すると、受け取った受信データのレイテンシとメモリコントローラ21のレイテンシとの間にずれが生じる。このため、受信回路24は、メモリコントローラ21のレイテンシに応じてリードデータRDを出力する、つまり、受信回路24は、メモリコントローラ21に対して、レイテンシを補償したリードデータRDを出力する。
受信回路24の遅延同期ループ(Delay Locked Loop:DLL)回路(「DLL」と表記、以下DLL回路)31aには、リード制御信号RCNTとコアクロック信号CKcが供給される。また、DLL回路31aには、遅延値がたとえばメモリコントローラ21により設定される。DLL回路31aは、コアクロック信号CKcに基づいて、遅延値に応じてリード制御信号RCNTを遅延したゲート信号SG0を出力する。メモリコントローラ21は、メモリ装置12のリードレイテンシRLに基づいて、メモリ装置12から出力されるデータDQが到達するタイミングに応じた期間、Hレベルのリード制御信号RCNTを出力する。
このDLL回路31aにおける遅延値は、接続されたメモリ装置12に応じて設定される。たとえば、メモリコントローラ21は、所定のタイミングにおいてトレーニング処理を実行し、その結果に応じた遅延値をDLL回路31aに設定する。トレーニング処理は、データDQを受信回路24で取り込むタイミングを較正(調整)する処理である。メモリコントローラ21は、所定のタイミング、たとえば、システム装置11の起動時や、システム装置11の動作中においてメモリ装置12をアクセスしない期間に、トレーニング処理を実行する。このトレーニング処理により、不要な期間におけるレベルによる誤ったデータの取り込みを防止する。
ループバック入出力回路(「LBIO」と表記)26は、バッファ回路26a,26bを含む。バッファ回路26aは、上記の出力バッファ回路25a,25bと同じ電気的特性を持つ。バッファ回路26aは、入力信号に応答して出力信号を出力する。バッファ回路26aにおいて、入力信号に対する出力信号の遅延時間(遅延時間特性)は、出力バッファ回路25a,25bの遅延時間特性と同じである。バッファ回路26bは、上記の入力バッファ回路27a,27bと同じ電気的特性(遅延時間特性)を持つ。ループバック入出力回路26は、ゲート信号SG0を遅延した遅延ゲート信号SG1を出力する。
ゲート回路32は、遅延ゲート信号に応じた期間、受信ストローブ信号RDQSを出力する。たとえば、ゲート回路32は論理積演算回路(AND回路)であり、遅延ゲート信号SG1と受信ストローブ信号RDQSとを論理積演算した結果に応じた内部ストローブ信号IDQSを出力する。
遅延同期ループ回路(「DLL」と表記、以下DLL回路)31bには、遅延値が設定される。DLL回路31bは、コアクロック信号CKcに基づいて、遅延値に応じて内部ストローブ信号IDQSを遅延した遅延ストローブ信号DQSdを出力する。このDLL回路31bにおける遅延値は、遅延ストローブ信号DQSd、つまりデータストローブ信号DQSの周期に応じて設定されている。たとえば、DLL回路31bの遅延値は、内部ストローブ信号IDQSの周期の1/4(位相では90度)を基準値とし、上記のトレーニング処理により設定される。
非同期転送回路33には、受信データRDQが供給される。また、非同期転送回路33には、遅延ストローブ信号DQSdとコアクロック信号CKcが供給される。また、非同期転送回路33には、制御信号生成回路35からイネーブル信号EN1,EN2が供給される。
非同期転送回路33は、非同期式のFIFO(First In First Out)回路である。非同期転送回路33は、イネーブル信号EN1に基づいて入力機能を有効とし、遅延ストローブ信号DQSdに基づいて受信データRDQをラッチする。非同期転送回路33は、遅延ストローブ信号DQSdの立ち上がりエッジと立ち下がりエッジとに基づいて、バースト長に応じた複数の受信データRDQをラッチする。そして、非同期転送回路33は、イネーブル信号EN2に基づいて出力機能を有効とし、ラッチしたデータに応じた出力データCDをコアクロック信号CKcに基づいて出力する。
レイテンシ補償回路34は、設定した遅延量に応じて非同期転送回路33の出力データCDを遅延してリードデータRDを出力する。レイテンシ補償回路34は、レイテンシ設定値FSLに基づいて、出力データCDに対するリードデータRDの遅延量を設定する。
制御信号生成回路35には、後述する設定値算出回路39から転送設定値FSPが供給される。また、制御信号生成回路35には、コアクロック信号CKc、遅延ストローブ信号DQSd、リード制御信号RCNTが供給される。図1に示すメモリコントローラ21は、トレーニング処理により設定した転送初期値FSOを出力する。設定値算出回路39は、転送初期値FSOに基づいて算出した転送設定値FSPを出力する。
制御信号生成回路35は、遅延ストローブ信号DQSdに基づいて第1のイネーブル信号EN1を生成する。制御信号生成回路35は、転送設定値FSP、リード制御信号RCNT、コアクロック信号CKcに基づいて、第2のイネーブル信号EN2を生成する。制御信号生成回路35は、転送設定値FSPとコアクロック信号CKcに基づいて、リード制御信号RCNTを遅延した信号を生成する。そして、制御信号生成回路35は、その遅延信号とコアクロック信号CKcに基づいて第2のイネーブル信号EN2を生成する。
パターン信号生成回路(パターンジェネレータ:PG)36は、イネーブル信号EN1に基づいて、判定用パターンデータTDを出力する。また、パターン信号生成回路36は、イネーブル信号EN1の変化に応じて判定用パターンデータTDの論理値を反転する。たとえば、パターン信号生成回路36は、イネーブル信号EN1を入力する毎(イネーブル信号EN1の立ち上がりエッジ毎)に、判定用パターンデータTDの論理値を反転する。したがって、判定用パターンデータTDの論理値は、イネーブル信号EN1に応じて、「0」→「1」→「0」へと変化する。
上記したように、制御信号生成回路35は、遅延ストローブ信号DQSdをカウントしてイネーブル信号EN1を生成する。メモリ装置12は、バースト長のデータDQを、データストローブ信号DQSの立ち上がりエッジと立ち下がりエッジのタイミングで出力する。受信回路24のDLL回路31bは、受信ストローブ信号RDQSを遅延して遅延ストローブ信号DQSdを生成する。したがって、パターン信号生成回路36は、バースト長に応じたパルス数の遅延ストローブ信号DQSd毎に、イネーブル信号EN1の論理値を反転する。
非同期転送回路37は、非同期転送回路33と同様である。つまり、非同期転送回路37には、遅延ストローブ信号DQSdとコアクロック信号CKcが供給される。また、非同期転送回路37には、イネーブル信号EN1,EN2が供給される。
非同期転送回路37は、非同期式のFIFO(First In First Out)回路である。非同期転送回路37は、イネーブル信号EN1に基づいて入力機能を有効とし、遅延ストローブ信号DQSdに基づいて判定用パターンデータTDをラッチする。そして、非同期転送回路37は、イネーブル信号EN2に基づいて出力機能を有効とし、ラッチしたデータに応じた判定用データCTをコアクロック信号CKcに基づいて出力する。
判定回路38には、判定用データCTが供給される。また、判定回路38には、コアクロック信号CKcとイネーブル信号EN2が供給される。
判定回路38は、イネーブル信号EN2に基づいて期待値データを生成する。また、判定回路38は、イネーブル信号EN2を入力する毎に、期待値データの論理値を反転する。つまり、判定回路38は、パターン信号生成回路36における判定用データCTと同様に、イネーブル信号EN2を入力する毎に、期待値データの論理値を、「0」→「1」→「0」へと変更する。判定回路38は、判定用データCTを期待値データと比較し、比較結果に応じた判定信号EXを出力する。
設定値算出回路39には、メモリコントローラ21から転送初期値FSOが供給される。
設定値算出回路39は、判定回路38からの判定信号EXに基づいて転送設定値FSPを算出し、その転送設定値FSPを、制御信号生成回路35に出力する。また、設定値算出回路39は、判定回路38からの判定信号EXに基づいてレイテンシ設定値FSLを算出し、そのレイテンシ設定値FSLをレイテンシ補償回路34に出力する。
図2に示すように、制御信号生成回路35は、BLカウンタ41,42、ポインタ制御回路43、BLカウンタ44を有している。
BLカウンタ41,42は、4進のワンホット・ステート・カウンタ(one-hot state counter)である。BLカウンタ41は、遅延ストローブ信号DQSdの立ち上がりエッジ(ポジティブエッジ)をカウントし、イネーブル信号CP0〜CP3を生成する。BLカウンタ42は、遅延ストローブ信号DQSdの立ち下がりエッジ(ネガティブエッジ)をカウントし、イネーブル信号CN0〜CN3を生成する。
図3(a)に示すように、BLカウンタ41は、4つのフリップフロップ回路(FF回路)51a〜51dを有している。FF回路51a〜51dは、たとえばD型フリップフロップ回路である。各FF回路51a〜51dのクロック端子には遅延ストローブ信号DQSdが供給される。FF回路51a〜51cの出力端子(Q)はそれぞれFF回路51b〜51dの入力端子(データ端子D)に接続されている。FF回路51dの出力端子(Q)はFF回路51aの入力端子(データ端子D)に接続されている。FF回路51aは、リセット時にたとえばLレベルの信号がプリセット端子に供給され、Hレベルのイネーブル信号CP0を出力する。FF回路51b〜51dはリセット時にたとえばLレベルの信号がリセット端子に供給され、Lレベルのイネーブル信号CP1〜CP3を出力する。FF回路51a〜51dは、Hレベルの遅延ストローブ信号DQSdに基づいてデータ端子のレベルと等しいレベルのイネーブル信号CP0〜CP3を出力する。これらのイネーブル信号CP0〜CP3は図1に示すイネーブル信号EN1に含まれる。
図3(b)に示すように、BLカウンタ42は、4つのフリップフロップ回路(FF回路)52a〜52dを有している。FF回路52a〜52dは、たとえばD型フリップフロップ回路である。各FF回路52a〜52dのクロック端子には反転イネーブル信号xDQSdが供給される。反転イネーブル信号xDQSdは、たとえば図1に示すDLL回路31bにおいて、遅延ストローブ信号DQSdをインバータ回路により論理反転して生成される。遅延ストローブ信号DQSdの立ち下がりエッジのタイミングは、反転イネーブル信号xDQSdの立ち上がりエッジのタイミングと等しい。したがって、BLカウンタ42において、反転イネーブル信号xDQSdを用いることで、BLカウンタ41と同じ回路により、遅延ストローブ信号DQSdの立ち下がりエッジ(ネガティブエッジ)に基づいたイネーブル信号CN0〜CN3を生成する。
FF回路52a〜52cの出力端子(Q)はそれぞれFF回路52b〜52dの入力端子(データ端子D)に接続されている。FF回路52dの出力端子(Q)はFF回路52aの入力端子(データ端子D)に接続されている。FF回路52aは、リセット時にたとえばLレベルの信号がプリセット端子に供給され、Hレベルのイネーブル信号CN0を出力する。FF回路52b〜52dはリセット時にたとえばLレベルの信号がリセット端子に供給され、Lレベルのイネーブル信号CN1〜CN3を出力する。FF回路52a〜52dは、Hレベルの反転イネーブル信号xDQSdに基づいてデータ端子のレベルと等しいレベルのイネーブル信号CN0〜CN3を出力する。これらのイネーブル信号CN0〜CN3は図1に示すイネーブル信号EN1に含まれる。
図4に示すように、ポインタ制御回路43は、複数のフリップフロップ回路(FF回路)53a,53b,53c,・・・,53n−1,53nとマルチプレクサ(「MUX」と表記)54を有している。FF回路53a〜53nは、たとえばD型フリップフロップ回路である。複数のFF回路53a〜53nは、直列に接続されている。つまり、初段のFF回路53aの出力端子(Q)は2段目のFF回路53bの入力端子(データ端子D)に接続され、2段目のFF回路53bの出力端子(Q)は次段のFF回路53cの入力端子(データ端子D)に接続されている。そして、(n−1)段目のFF回路53n−1の出力端子(Q)は次段のFF回路53nの入力端子(データ端子D)に接続されている。
FF回路53a〜53nのクロック端子にはコアクロック信号CKcが供給される。初段のFF回路53aの入力端子(データ端子D)にはリード制御信号RCNTが供給される。各FF回路53a〜53nは、Hレベルのコアクロック信号CKcに基づいて、データ端子のレベルと等しいレベルの信号RCa〜RCnを出力する。これらの信号RCa〜RCnは、マルチプレクサ54に供給される。
マルチプレクサ54には転送設定値FSPが供給される。マルチプレクサ54は、信号RCa〜RCnのうち、転送設定値FSPに応じた信号を選択し、その選択した信号のレベルと等しいレベルのポインタ制御信号PCNTを出力する。
初段のFF回路53aにはリード制御信号RCNTが供給され、次段以降のFF回路53b〜53nのデータ端子には前段のFF回路53a〜53n−aの出力信号が供給される。したがって、複数のFF回路53a〜53nは、コアクロック信号CKcに応じてリード制御信号RCNTを転送する。つまり、各FF回路53a〜53nは、初段のFF回路53aからの段数に応じてリード制御信号RCNTを遅延した信号RCa〜RCnを出力する。各FF回路53a〜53nにおける遅延時間は、コアクロック信号CKcの1周期(1サイクル)分である。そして、マルチプレクサ54は、転送設定値FSPに応じた信号を選択する。したがって、このポインタ制御回路43は、転送設定値FSPに応じサイクル数、リード制御信号RCNTを遅延したポインタ制御信号PCNTを出力する。このポインタ制御信号PCNTは、BLカウンタ44に供給される。
BLカウンタ44は、4進のワンホット・ステート・カウンタ(One-hot state counter)である。BLカウンタ44は、コアクロック信号CKcをカウントし、イネーブル信号C00〜C03を生成する。
BLカウンタ44は、4つのフリップフロップ回路(FF回路)55a〜55dを有している。FF回路55a〜55dは、たとえばD型フリップフロップ回路である。
FF回路55aは、イネーブル端子(EN)を有し、そのイネーブル端子(EN)に上記のポインタ制御信号PCNTが供給される。各FF回路55a〜55dのクロック端子にはコアクロック信号CKcが供給される。FF回路55a〜55cの出力端子(Q)はFF回路55b〜55dの入力端子(データ端子)に接続され、FF回路55dの出力端子(Q)はFF回路55aの入力端子(データ端子)に接続されている。
FF回路55aは、リセット時にたとえばLレベルの信号がプリセット端子に供給され、Hレベルのイネーブル信号C00を出力する。FF回路55b〜55dはリセット時にたとえばLレベルの信号がリセット端子に供給され、Lレベルのイネーブル信号C01〜C03を出力する。FF回路55aは、ポインタ制御信号PCNTがHレベルのとき、Hレベルのコアクロック信号CKcに基づいてデータ端子のレベルと等しいレベルのイネーブル信号C00を出力する。FF回路55b〜55dは、イネーブル信号C00〜C02に基づいてイネーブル信号C01〜C03を出力する。そして、FF回路55aは、イネーブル信号C03に基づいてイネーブル信号C00を出力する。これらのイネーブル信号C00〜C03は図1に示すイネーブル信号EN2に含まれる。
図2に示すように、非同期転送回路33は、第1ラッチ回路33aと第2ラッチ回路33bを有している。第1ラッチ回路33aは第1のラッチ回路の一例、第2ラッチ回路33bは第2のラッチ回路の一例である。
第1ラッチ回路33aには、遅延ストローブ信号DQSd、反転イネーブル信号xDQSd、イネーブル信号CP0〜CP3,CN0〜CN3が供給される。第2ラッチ回路33bには、コアクロック信号CKcとイネーブル信号C00〜C03が供給される。
図5に示すように、第1ラッチ回路33aは、8個のフリップフロップ回路(FF回路)610〜617を有している。FF回路610〜617は、たとえばD型フリップフロップ回路である。各FF回路610〜617の入力端子(データ端子D)には受信データRDQが供給される。
FF回路610,612,614,616のイネーブル端子(EN)にはイネーブル信号CP0〜CP3が供給される。FF回路610,612,614,616のクロック端子には遅延ストローブ信号DQSdが供給される。FF回路610,612,614,616は、イネーブル信号CP0〜CP3がHレベルのとき、Hレベルの遅延ストローブ信号DQSdに基づいて受信データRDQをラッチし、ラッチしたデータと等しいレベルの信号DD0,DD2,DD4,DD6を出力する。つまり、FF回路610,612,614,616は、遅延ストローブ信号DQSdの立ち上がりエッジ(Riseエッジ)のタイミングで受信データRDQに応じたレベルの信号DD0,DD2,DD4,DD6を出力する。
FF回路611,613,615,617のイネーブル端子(EN)にはイネーブル信号CN0〜CN3が供給される。FF回路611,613,615,617のクロック端子には反転イネーブル信号xDQSdが供給される。FF回路611,613,615,617は、イネーブル信号CN0〜CN3がHレベルのとき、Hレベルの反転イネーブル信号xDQSdに基づいて受信データRDQをラッチし、ラッチしたデータと等しいレベルの信号DD1,DD3,DD5,DD7を出力する。つまり、FF回路611,613,615,617は、遅延ストローブ信号DQSdの立ち下がりエッジ(Fallエッジ)のタイミングで受信データRDQに応じたレベルの信号DD1,DD3,DD5,DD7を出力する。
第2ラッチ回路33bは、8個のフリップフロップ回路(FF回路)620〜627を有している。FF回路620〜627は、たとえばD型フリップフロップ回路である。
FF回路620〜627のクロック端子にはコアクロック信号CKcが供給される。各FF回路620〜627の入力端子(データ端子D)には信号DD0〜DD7が供給される。FF回路620,621のイネーブル端子(EN)にはイネーブル信号C00が供給される。FF回路622,623のイネーブル端子(EN)にはイネーブル信号C01が供給される。FF回路624,625のイネーブル端子(EN)にはイネーブル信号C02が供給される。FF回路625,627のイネーブル端子(EN)にはイネーブル信号C03が供給される。
FF回路620,621は、イネーブル信号C00がHレベルのとき、Hレベルのコアクロック信号CKcに基づいて信号DD0,DD1をラッチし、ラッチしたデータと等しいレベルの出力データCD0,CD1を出力する。同様に、FF回路622〜627は、イネーブル信号C01〜C03がHレベルのとき、Hレベルのコアクロック信号CKcに基づいて信号DD2〜DD7をラッチし、ラッチしたデータと等しいレベルの出力データCD2〜CD7を出力する。
すなわち、第1ラッチ回路33aは、遅延ストローブ信号DQSdに依存したタイミングで、受信データRDQをラッチして信号DD0〜DD7を出力する。この第1ラッチ回路33aは、DQSドメインの回路である。そして、第2ラッチ回路33bは、コアクロック信号CKcに依存したタイミングで、信号DD0〜DD7をラッチして出力データCD0〜CD7を出力する。この第2ラッチ回路33bは、コアクロックドメインの回路である。
図6に示すように、パターンジェネレータ36は、第1の信号生成回路36aと第2の信号生成回路36bを有している。
第1の信号生成回路36aは、遅延ストローブ信号DQSdとイネーブル信号CP3に基づいて、判定用パターンデータTDaを生成する。判定用パターンデータTDaは、第1の判定用パターンデータの一例である。
第1の信号生成回路36aは、FF回路71aとインバータ回路72aを有している。FF回路71aは、たとえばイネーブル端子(EN)を有するDフリップフロップ回路である。FF回路71aのクロック端子には遅延ストローブ信号DQSdが供給される。FF回路71aのイネーブル端子(EN)にはイネーブル信号CP3が供給される。FF回路71aの出力端子はインバータ回路72aの入力端子に接続され、インバータ回路72aの出力端子はFF回路71aのデータ入力端子に接続されている。
FF回路71aは、イネーブル信号CP3がHレベルの間に、遅延ストローブ信号DQSdの立ち上がりエッジに基づいて、入力端子のレベルと等しいレベルの判定用パターンデータTDaを出力する。インバータ回路72aは、判定用パターンデータTDaを論理反転したレベルの信号をFF回路71aに供給する。したがって、第1の信号生成回路36aは、イネーブル信号CP3がHレベルの期間において、遅延ストローブ信号DQSdの立ち上がりエッジのタイミングで判定用パターンデータTDaの論理レベルを反転する。
第2の信号生成回路36bは、反転イネーブル信号xDQSdとイネーブル信号CN3に基づいて、判定用パターンデータTDbを生成する。判定用パターンデータTDbは、第2の判定用パターンデータの一例である。
第2の信号生成回路36bは、FF回路71bとインバータ回路72bを有している。FF回路71bのクロック端子には反転イネーブル信号xDQSdが供給される。FF回路71bのイネーブル端子(EN)にはイネーブル信号CN3が供給される。FF回路71bの出力端子はインバータ回路72bの入力端子に接続され、インバータ回路72bの出力端子はFF回路71bのデータ入力端子に接続されている。
FF回路71bは、イネーブル信号CN3がHレベルの間に、反転イネーブル信号xDQSdの立ち上がりエッジ、つまり遅延ストローブ信号DQSdの立ち下がりエッジに基づいて、入力端子のレベルと等しいレベルの判定用パターンデータTDbを出力する。インバータ回路72bは、判定用パターンデータTDbを論理反転したレベルの信号をFF回路71bに供給する。したがって、第2の信号生成回路36bは、イネーブル信号CN3がHレベルの期間において、反転イネーブル信号xDQSdの立ち上がりエッジ(遅延ストローブ信号DQSdの立ち下がりエッジ)のタイミングで判定用パターンデータTDbの論理レベルを反転する。
図2に示すように、非同期転送回路37は、第1ラッチ回路37aと第2ラッチ回路37bを有している。第1ラッチ回路37aは第3のラッチ回路の一例、第2ラッチ回路33bは第4のラッチ回路の一例である。
第1ラッチ回路37aには、遅延ストローブ信号DQSd、反転イネーブル信号xDQSd、イネーブル信号CP0〜CP3,CN0〜CN3が供給される。第2ラッチ回路37bには、コアクロック信号CKcとイネーブル信号C00〜C03が供給される。
図6に示すように、第1ラッチ回路37aは、図5に示す第1ラッチ回路33aと同様に、FF回路810〜817を含む。FF回路810〜817は、たとえば、D型フリップフロップ回路である。FF回路810,812,814,816のクロック端子には遅延ストローブ信号DQSdが供給される。FF回路810,812,814,816の入力端子(データ端子D)には判定用パターンデータTDaが供給される。FF回路810,812,814,816のイネーブル端子(EN)には、イネーブル信号CP0,CP1,CP2,CP3が供給される。
FF回路810は、Hレベルのイネーブル信号CP0に基づいて、遅延ストローブ信号DQSdの立ち上がりエッジのタイミングで判定用パターンデータTDaをラッチし、そのラッチしたレベルと等しいレベルの転送信号DT0を出力する。同様に、FF回路812,814,816は、Hレベルのイネーブル信号CP1,CP2,CP3に基づいて、遅延ストローブ信号DQSdの立ち上がりエッジのタイミングで判定用パターンデータTDaをラッチし、そのラッチしたレベルと等しいレベルの転送信号DT2,DT4,DT6を出力する。つまり、FF回路810,812,814,816は、遅延ストローブ信号DQSdの立ち上がりエッジ(Riseエッジ)のタイミングで判定用パターンデータTDaに応じたレベルの転送信号DT0,DT2,DT4,DT6を出力する。
FF回路811,813,815,817のクロック端子には反転イネーブル信号xDQSdが供給される。FF回路811,813,815,817の入力端子(データ端子D)には判定用パターンデータTDbが供給される。FF回路811,813,815,817のイネーブル端子(EN)には、イネーブル信号CN0,CN1,CN2,CN3が供給される。
FF回路811は、Hレベルのイネーブル信号CN0に基づいて、反転イネーブル信号xDQSdの立ち上がりエッジのタイミングで判定用パターンデータTDbをラッチし、そのラッチしたレベルと等しいレベルの転送信号DT0を出力する。同様に、FF回路813,815,817は、Hレベルのイネーブル信号CN1,CN2,CN3に基づいて、反転イネーブル信号xDQSdの立ち上がりエッジのタイミングで判定用パターンデータTDbをラッチし、そのラッチしたレベルと等しいレベルの転送信号DT3,DT5,DT7を出力する。つまり、FF回路811,813,815,817は、遅延ストローブ信号DQSdの立ち下がりエッジ(Fallエッジ)のタイミングで判定用パターンデータTDbに応じたレベルの転送信号DT1,DT3,DT5,DT7を出力する。
したがって、第1ラッチ回路37aは、イネーブル信号CP0〜CP3,CN0〜CN3に基づいてラッチ機能を有効とする。そして、第1ラッチ回路37aは、遅延ストローブ信号DQSdの立ち上がりエッジと立ち下がりエッジに基づいて判定用パターンデータTDa,TDbをラッチし、転送信号DT0〜DT7を出力する。
第2ラッチ回路37bは、図5に示す第2ラッチ回路33bと同様に、FF回路820〜827を含む。FF回路820〜827は、たとえばD型フリップフロップ回路である。FF回路820〜827のクロック端子にはコアクロック信号CKcが供給される。FF回路820〜827の入力端子(データ端子D)には転送信号DT0〜DT7が供給される。FF回路820,821のイネーブル端子(EN)には、イネーブル信号C00が供給される。FF回路822,823のイネーブル端子(EN)には、イネーブル信号C01が供給される。FF回路824,825のイネーブル端子(EN)には、イネーブル信号C02が供給される。FF回路826,827のイネーブル端子(EN)には、イネーブル信号C03が供給される。
FF回路820,821は、Hレベルのイネーブル信号C00に基づいて、コアクロック信号CKcの立ち上がりエッジのタイミングで転送信号DT0,DT1をラッチし、そのラッチしたレベルと等しいレベルの判定用データCT0,CT1を出力する。同様に、FF回路822,823は、Hレベルのイネーブル信号C01に基づいて、コアクロック信号CKcの立ち上がりエッジのタイミングで転送信号DT2,DT3をラッチし、そのラッチしたレベルと等しいレベルの判定用データCT2,CT3を出力する。同様に、FF回路824,825は、Hレベルのイネーブル信号C02に基づいて、コアクロック信号CKcの立ち上がりエッジのタイミングで転送信号DT4,DT5をラッチし、そのラッチしたレベルと等しいレベルの判定用データCT4,CT5を出力する。同様に、FF回路826,827は、Hレベルのイネーブル信号C03に基づいて、コアクロック信号CKcの立ち上がりエッジのタイミングで転送信号DT6,DT7をラッチし、そのラッチしたレベルと等しいレベルの判定用データCT6,CT7を出力する。
つまり、FF回路820〜827は、コアクロック信号CKcの立ち上がりエッジ(Riseエッジ)のタイミングで転送信号DT0〜DT7に応じたレベルの判定用データCT0〜CT7を出力する。したがって、第2ラッチ回路37bは、イネーブル信号C00〜C03に基づいてラッチ機能を有効とする。そして、第2ラッチ回路37bは、コアクロック信号CKcの立ち上がりエッジに基づいて転送信号DT0〜DT7をラッチし、判定用データCT0〜CT7を出力する。
図7に示すように、判定回路38は、期待値データ生成回路38aを有している。期待値データ生成回路38aは、FF回路91aとインバータ回路91bを含む。
FF回路91aのクロック入力端子にはコアクロック信号CKcが供給される。FF回路91aのイネーブル端子(EN)にはイネーブル信号C00が供給される。FF回路91aの出力端子(Q)はインバータ回路91bの入力端子に接続され、そのインバータ回路91bの出力端子はFF回路91aの入力端子(データ端子)に接続されている。
FF回路91aは、イネーブル信号C00がHレベルである期間、コアクロック信号CKcの立ち上がりエッジのタイミングで、入力端子のレベルと等しいレベルの期待値データEDを出力する。インバータ回路91bは、期待値データEDを論理反転したレベルの信号をFF回路91aに供給する。
また、判定回路38は、排他的論理和(ExOR)回路920〜927を有している。各ExOR回路920〜927には、期待値データEDが供給される。また、各ExOR回路920〜927には、それぞれ対応する判定用データCT0〜CT7が供給される。ExOR回路920は、期待値データEDと判定用データCT0とを互いに比較し、比較結果に応じたレベルの判定信号EX0を出力する。ExOR回路920は、期待値データEDの論理値が判定用データCT0の論理値と等しいときにLレベルの判定信号EX0を出力し、期待値データEDの論理値が判定用データCT0の論理値と異なる場合にHレベルの判定信号EX0を出力する。同様に、ExOR回路921〜927は、期待値データEDの論理値が判定用データCT1〜CT7の論理値と等しいときにLレベルの判定信号EX1〜EX7を出力する。一方ExOR回路921〜927は、期待値データEDの論理値が判定用データCT1〜CT7の論理値と異なる場合にHレベルの判定信号EX1〜EX7を出力する。
設定値算出回路39は、転送初期値FSOと、判定信号EX0〜EX7に基づいて、転送設定値FSPとレイテンシ設定値FSLを生成する。
なお、判定信号EX0〜EX7を出力する判定回路38は、図2に示す第2ラッチ回路37bのラッチタイミング、つまりイネーブル信号C00〜C03の生成タイミングが、遅延ストローブ信号DQSdに対して適切か否かを判定するものである。したがって、設定値算出回路39は、イネーブル信号C00〜C03のうちの1つのイネーブル信号に基づいて出力される判定用データを判定した結果を用いればよい。
たとえば、設定値算出回路39は、判定信号EX0,EX1を用いて、転送設定値FSPとレイテンシ設定値FSLを算出する。判定用データCT0は第1の判定用データの一例である。判定用データCT1は第2の判定用データの一例である。設定値算出回路39は、判定信号EX0,EX1の値に基づいて補正値を算出する。たとえば、判定信号EX0,EX1の値が「00」の場合、補正値を「0」とする。また、判定信号EX0,EX1の値が「01」の場合、補正値を「+1」とする。また、判定信号EX0,EX1の値が「10」の場合、補正値を「−1」とする。
設定値算出回路39は、レジスタを有している。設定値算出回路39は、転送初期値FSOをレジスタに格納する。そして、設定値算出回路39は、判定信号EX0,EX1に基づいて、レジスタに保持した値に基づいて転送設定値FSPを算出する。そして、設定値算出回路39は、算出した転送設定値FSPをレジスタに格納する。また、設定値算出回路39は、転送設定値FSPに基づいてレイテンシ設定値FSLを算出し、その算出したレイテンシ設定値FSLをレジスタに格納する。
設定値算出回路39は、レジスタの転送設定値とレイテンシ設定値を、上記のようにして算出した補正値により更新する。たとえば、設定値算出回路39は、レジスタから読み出した転送設定値に補正値を加算し、その加算結果を新たな転送設定値としてレジスタに格納する。そして、設定値算出回路39は、その新たな転送設定値FSPを出力する。同様に、設定値算出回路39は、レジスタから読み出したレイテンシ設定値から補正値を減算し、その減算結果を新たなレイテンシ設定値としてレジスタに格納する。そして、設定値算出回路39は、その新たなレイテンシ設定値FSLを出力する。
レイテンシ補償回路34は、複数のFF回路101a〜101mとマルチプレクサ(「MUX」と表記)102を有している。複数のFF回路101a〜101mは直列に接続されている。各FF回路101a〜101mのクロック端子にはコアクロック信号CKcが供給される。初段のFF回路101aには出力データCDが供給される。
マルチプレクサ102には、各FF回路101a〜101mの出力信号CDa〜CDmが供給される。マルチプレクサ102は、出力信号CDa〜CDmのうち、レイテンシ設定値FSLに応じた1つの出力信号と等しいリードデータRDを出力する。
図8は、設定値算出回路39における処理を示す。
先ず、ステップ111において、設定値算出回路39は、デフォルト値を設定する。デフォルト値は、図1に示すメモリコントローラ21から供給される転送初期値FSOと、その転送設定値に応じたレイテンシの初期値である。設定値算出回路39は、メモリコントローラ21から供給される転送設定値を転送設定値FSPに設定する。また、設定値算出回路39は、レイテンシ設定値FSLに初期値を設定する。
そして、設定値算出回路39は、図7に示す判定回路38から出力される判定信号EX0,EX1がそれぞれ「OK判定」か「NG判定」か、を判定する。設定値算出回路39は、判定信号EX0,EX1の値が「0」の場合に「OK判定」とし、判定信号EX0,EX1の値が「1」の場合に「NG判定」とする。
先ず、ステップ112において、設定値算出回路39は、判定信号EX0が「OK判定」かつ判定信号EX1が「NG判定」の場合(判定:YES)、ステップ113に移行する。そのステップ113への移行は、「設定値に対してDQSが遅い」場合に行われる。このステップ113において、設定値算出回路39は、転送設定値FSPを「+1」し、レイテンシ設定値FSLを「−1」する。そして、設定値算出回路39は、処理をステップ112へ移行する。
次に、ステップ114において、設定値算出回路39は、判定信号EX0が「NG判定」かつ判定信号EX1が「OK判定」の場合(判定:YES)、ステップ115に移行する。そのステップ115への移行は、「設定値に対してDQSが早い」場合に行われる。このステップ115において、設定値算出回路39は、転送設定値FSPを「−1」し、レイテンシ設定値FSLを「+1」する。そして、設定値算出回路39は、処理をステップ112へ移行する。
次に、ステップ116において、設定値算出回路39は、判定信号EX0が「OK判定」かつ判定信号EX1が「OK判定」の場合(判定:YES)、「設定値に対してDQSが適切」である。このため、設定値算出回路39は、転送設定値FSPとレイテンシ設定値FSLをそのままとし、処理をステップ112へ移行する。
一方、ステップ116において判定が「NO」、つまり判定信号EX0,EX1がともに「NG判定」の場合、設定値算出回路39は、ステップ117に移行する。そのステップ117において、設定値算出回路39は、エラー処理を行い、ステップ111へ移行する。たとえば、設定値算出回路39は、エラー処理において、図1に示すメモリコントローラ21にエラー情報を通知する。メモリコントローラ21は、そのエラー情報に基づいて、トレーニング処理を行い、その処理結果に基づいて転送設定値FSPを再設定する。
次に、上記の受信回路24の動作を説明する。
図9に示すように、データDQが図1に示すメモリ装置12から出力される。このデータDQは、バースト長のデータを含む。図9では、データDQに含まれる各データを[A]〜[H]として示す。データDQについて、個々のデータを示す場合に、[A]〜[H]を用いることがある。
図1に示す受信回路24は、メモリ装置12から受信したデータストローブ信号DQS(受信ストローブ信号RDQS)を遅延して遅延ストローブ信号DQSdを生成する。
図3に示すBLカウンタ41は、遅延ストローブ信号DQSdの立ち上がりエッジをカウントしてイネーブル信号CP0〜CP3を生成する。図5に示す非同期転送回路33において、FF回路610は、Hレベルのイネーブル信号CP0を受け、遅延ストローブ信号DQSdの立ち上がりエッジに基づいてデータ[A]をラッチする。同様に、FF回路612,614,616は、Hレベルのイネーブル信号CP1,CP2,CP3を受け、遅延ストローブ信号DQSdの立ち上がりエッジに基づいてデータ[C],[E],[G]をラッチする。各FF回路610,612,614,616は、これらのデータ[A],[C],[E],[G]を、次のデータDQを受信する際の遅延ストローブ信号DQSdの立ち上がりエッジまで保持する。
同様に、図3に示すBLカウンタ42は、遅延ストローブ信号DQSdの立ち下がりエッジ(反転イネーブル信号xDQSdの立ち上がりエッジ)をカウントしてイネーブル信号CN0〜CN3を生成する。図5に示す非同期転送回路33において、FF回路611は、Hレベルのイネーブル信号CN0を受け、遅延ストローブ信号DQSdの立ち上がりエッジに基づいてデータ[B]をラッチする。同様に、FF回路613,615,617は、Hレベルのイネーブル信号CN1,CN2,CN3を受け、遅延ストローブ信号DQSdの立ち下がりエッジに基づいてデータ[D],[F],[H]をラッチする。各FF回路611,613,615,617は、これらのデータ[B],[D],[F],[H]を、次のデータDQを受信する際の遅延ストローブ信号DQSdの立ち下がりエッジまで保持する。
図9に示すように、データDQにおいて、各データ[A]〜[H]の幅は、時間的に遅延ストローブ信号DQSdの半周期分、つまり1/2サイクルである。図2に示す非同期転送回路33(第1ラッチ回路33a)は、各データ[A]〜[H]の幅を、時間的に4サイクル幅以上に拡張する。
図10に示すように、データ[A]は、遅延ストローブ信号DQSdの立ち上がりエッジに基づいてラッチされる。データ[B]は、遅延ストローブ信号DQSdの立ち下がりエッジに基づいてラッチされる。なお、図では、データ[A],[B]をそれぞれ4サイクル幅にて示している。
上記したように、図2に示す非同期転送回路33において、第1ラッチ回路33aは、次の対応する遅延ストローブ信号DQSdの立ち上がりエッジまで、ラッチしたデータを保持する。図1に示すシステム10では、システム装置11からメモリ装置12に対して連続的なリードを行うことが可能である。このような連続的なリード動作では、メモリ装置12は、データDQ及びデータストローブ信号DQSを連続的に出力する。たとえば、バースト長を「8」に設定した場合、図2に示す第1ラッチ回路33aは、遅延ストローブ信号DQSdの4サイクルの間、データを保持する。そして、図2に示す非同期転送回路33(第2ラッチ回路33b)は、コアクロック信号CKcに基づいて、データ[A],[B]をラッチする。このため、非同期転送回路33は、遅延ストローブ信号DQSdの4サイクルの間に第1ラッチ回路33aの出力データを第2ラッチ回路33bでラッチする、つまりデータを第1ラッチ回路33aから第2ラッチ回路33bに転送する必要がある。
データ[A]とデータ[B]は、遅延ストローブ信号DQSdの半周期分、ずれている。したがって、両データ[A],[B]は、時間的に図に示す「window」の範囲で同時に転送することが可能となる。このウインドウの時間的な幅は、遅延ストローブ信号DQSdの3.5サイクルである。したがって、非同期転送回路33(第2ラッチ回路33b)は、図に矢印にて示す3つのタイミングのいずれか1つのタイミングで、コアクロック信号CKcに基づいてデータ[A],[B]を取り込むことができる。図1に示すメモリコントローラ21は、トレーニング処理により、これらのタイミングのうちの1つを転送初期値FSOとする。
たとえば、図10に示すように、転送初期値FSOを「Pa」として破線の矢印にて示す。この「Pa」により、リード制御信号RCNTが図4に示すポインタ制御回路43にて遅延されてポインタ制御信号PCNT(図10ではPCNTa)としてBLカウンタ44に供給される。BLカウンタ44は、コアクロック信号CKcをカウントしてイネーブル信号C00を生成する。図6に示す非同期転送回路33の第2ラッチ回路33bは、イネーブル信号C00に基づいて有効となり、コアクロック信号CKcの立ち上がりエッジに基づいてデータ[A].[B]をラッチする。
図10に示すように、転送初期値FSOを「Pb」とした場合、ポインタ制御信号PCNTbに基づいてイネーブル信号C00が生成され、データ[A],[B]がラッチされる。同様に、転送初期値FSOを「Pc」とした場合、ポインタ制御信号PCNTcに基づいてイネーブル信号C00が生成され、データ[A],[B]がラッチされる。
ここで、比較例のシステムについて説明する。
なお、比較例について、図1に示すシステムと同じ部材については同じ符号を用い、その部材の説明の一部または全てを省略する。
図15に示すように、比較例のシステム装置200は、メモリコントローラ21とインタフェース回路201を有している。インタフェース回路201は、送信回路23、受信回路202等を含む。
受信回路202の制御信号生成回路35は、図1に示す制御信号生成回路35と同様に、遅延ストローブ信号DQSdをカウントしてイネーブル信号EN1を生成する。また、制御信号生成回路35は、メモリコントローラ21からの転送初期値FSOに基づいて、コアクロック信号CKcをカウントしてイネーブル信号EN2を生成する。
受信回路202の非同期転送回路33は、イネーブル信号EN1に基づいて入力機能を有効とし、遅延ストローブ信号DQSdに基づいて受信データRDQをラッチする。そして、非同期転送回路33は、イネーブル信号EN2に基づいて出力機能を有効とし、ラッチしたデータに応じたリードデータRDを出力する。
たとえば、メモリ装置12は、複数のメモリチップを有し、各データ[A]〜[H](図9参照)はそれぞれ、複数ビット(たとえば、16ビット)のデータである。このようなデータの場合、各ビットのデータDQとデータストローブ信号DQSの受信タイミング、つまりラウンド・トリップ・タイム(RTT)にばらつきが生じる。
たとえば、図16に示すように、ラウンド・トリップ・タイム(RTT)が最も短い(FAST)遅延ストローブ信号DQSd及びデータDQ0に基づいてデータ[A0],[B0]を保持する。また、ラウンド・トリップ・タイム(RTT)が最も長い(SLOW)遅延ストローブ信号DQSd及びデータDQ1に基づいてデータ[A1],[B1]を保持する。
このようなラウンド・トリップ・タイム(RTT)のばらつきは、システム装置11やメモリ装置12の製造プロセスに基づく各種(たとえば、チップ上の配線の抵抗値)のばらつきにより生じる。これらの要因により、データ[A0],[B0],[A1],[B1]を同時に取り込み可能なウインドウの幅は、理想的なウインドウの幅(受信する全てのビットのラウンド・トリップ・タイムが同一な場合のウインドウ幅)よりも狭くなる。
さらに、図17に示すように、システム装置11とメモリ装置12の間におけるデータDQの転送レートが高くなる、つまりデータストローブ信号DQSの1サイクルが短くなると、ウインドウの幅が狭くなる。このように、ウインドウの幅がコアクロック信号CKcの1サイクルより短くなると、VTドリフト(電源電圧などの電圧変動や、動作環境などの温度変化)、つまりコアクロック信号CKcにより設定した取り込みタイミングに対するウインドウの位置のずれにより、リードデータRDに誤りが生じる。
図1に示すシステム装置11(受信回路24)は、上記のようなリードデータRDにおける誤りを低減する。その動作について説明する。
図6に示すように、パターンジェネレータ36の第1の信号生成回路36aに含まれるFF回路71aは、イネーブル信号CP3に基づいて機能を有効とし、遅延ストローブ信号DQSdの立ち上がりエッジに基づいて、入力端子(データ端子D)の信号と等しいレベルの判定用パターンデータTDaを出力する。インバータ回路72aは、判定用パターンデータTDaを論理反転した信号を出力する。したがって、図11に示すように、遅延ストローブ信号DQSdが連続する場合、判定用パターンデータTDaは、遅延ストローブ信号DQSdの4サイクル毎に、「0」から「1」へ、「1」から「0」へと変化する。つまり、判定用パターンデータTDaは、4サイクル毎に、「0」と「1」を交互に繰り返す。
同様に、図6に示す第2の信号生成回路36bに含まれるFF回路71bは、イネーブル信号CN3に基づいて機能を有効とし、反転イネーブル信号xDQSdの立ち上がりエッジ、つまり遅延ストローブ信号DQSdの立ち下がりエッジに基づいて、入力端子(データ端子D)の信号と等しいレベルの判定用パターンデータTDbを出力する。インバータ回路72bは、判定用パターンデータTDbを論理反転した信号を出力する。したがって、図11に示すように、判定用パターンデータTDbは、遅延ストローブ信号DQSdの4サイクル毎に、「0」から「1」へ、「1」から「0」へと変化する。つまり、判定用パターンデータTDbは、4サイクル毎に、「0」と「1」を交互に繰り返す。
図6に示すFF回路810は、イネーブル信号CP0に基づいて機能を有効とし、遅延ストローブ信号DQSdの立ち上がりエッジに基づいて判定用パターンデータTDaをラッチし、そのラッチする。そして、FF回路810は、そのラッチしたデータのレベルと等しいレベルの転送信号DT0を出力する。また、FF回路811は、イネーブル信号CN0に基づいて機能を有効とし、反転イネーブル信号xDQSdの立ち上がりエッジ(遅延ストローブ信号DQSdの立ち下がりエッジ)に基づいて判定用パターンデータTDbをラッチする。そして、FF回路811は、ラッチしたデータのレベルと等しいレベルの転送信号DT1を出力する。
したがって、図11に示すように、転送信号DT0,DT1は、判定用パターンデータTDa,TDbと同様に、4サイクル毎に、「0」と「1」を交互に繰り返す。そして、転送信号DT0,DT1の位相、つまり値が変化するタイミングは、遅延ストローブ信号DQSdの半周期分ずれている。
図6に示す第2ラッチ回路37bにおいて、FF回路820は、イネーブル信号C00に基づいて機能を有効とし、コアクロック信号CKcの立ち上がりエッジに基づいて転送信号DT0をラッチする。そして、FF回路820は、そのラッチしたデータのレベルと等しいレベルの判定用データCT0を出力する。同様に、FF回路821は、イネーブル信号C00に基づいて機能を有効とし、コアクロック信号CKcの立ち上がりエッジに基づいて転送信号DT1をラッチする。そして、FF回路821は、そのラッチしたデータのレベルと等しいレベルの判定用データCT1を出力する。
したがって、図11に示すように、コアクロック信号CKcに対して矢印にて示すタイミングでイネーブル信号C00が設定されている場合、判定用データCT0,CT1は、互いに同時に、コアクロック信号CKcの4サイクル毎に、「0」と「1」を交互に繰り返す。
また、図7に示す判定回路38のFF回路91aは、イネーブル信号C00に基づいて機能を有効とし、コアクロック信号CKcの立ち上がりエッジに基づいて、入力端子(データ端子D)の信号と等しいレベルの期待値データEDを出力する。インバータ回路91bは、期待値データEDを論理反転した信号を出力する。したがって、図11に示すように、期待値データEDは、コアクロック信号CKcの4サイクル毎に、「0」から「1」へ、「1」から「0」へと変化する。つまり、期待値データEDは、4サイクル毎に、「0」と「1」を交互に繰り返す。
そして、判定回路38の排他的論理和回路920は、期待値データEDと判定用データCT0とを比較(排他的論理和演算)して判定信号EX0を出力する。また、排他的論理和回路921は、期待値データEDと判定用データCT1とを比較(排他的論理和演算)して判定信号EX1を出力する。したがって、図11に示すように、転送設定値が矢印にて示すタイミングの場合、判定信号EX0,EX1が共に「0」となる。この「0」の判定信号EX0,EX1は、転送設定値FSPのタイミングが遅延ストローブ信号DQSdに基づくウインドウに合っている、「判定OK」を示す。
この場合、図7に示す設定値算出回路39は、判定信号EX0,EX1に基づいて、図8に示すステップ116にて「判定:YES」となるため、転送設定値FSPとレイテンシ設定値FSLを維持する。
図12に示すように、VTドリフトにより遅延ストローブ信号DQSdが遅くなった場合、転送信号DT0を取り込んだ判定用データCT0の値は「1」である。そして、期待値データEDは「1」であるため、判定信号EX0の値は「0」となる。この「0」の判定信号EX0は、「判定OK」を示す。一方、転送信号DT1を矢印にて示すタイミングにて取り込んだ判定用データCT1の値が「0」となる。この場合、期待値データEDは「1」であるため、判定信号EX1の値は「1」となる。この「1」の判定信号EX1は、「判定NG」を示す。
この場合、図7に示す設定値算出回路39は、判定信号EX0,EX1に基づいて、図8に示すステップ112にて「判定:YES」となるため、転送設定値FSPを「+1」し、レイテンシ設定値FSLを「−1」する。すると、図12において、矢印よりも1クロック分右の立ち上がりエッジが転送設定値FSPとして設定される。つまり、受信回路24は、遅延ストローブ信号DQSdの遅れに応じて非同期転送回路33の第2ラッチ回路33bにおけるラッチタイミング、つまり転送タイミングを遅くする。その結果、判定信号EX0,EX1は、ともに「1」となる。つまり、設定値算出回路39は、遅延ストローブ信号DQSdの遅れに応じて、転送設定値FSPを変更する。このように、VTドリフトに対して転送設定値FSPを変更することで、コアクロック信号CKcに基づく取り込みタイミングを変更する。これにより、図1に示す非同期転送回路33では、遅延ストローブ信号DQSdに基づくウインドウに対して、算出した転送設定値FSPに基づくタイミングにてデータをラッチし、誤りの無い出力データCDを出力する。
図7に示すレイテンシ補償回路34は、レイテンシ設定値FSLに基づいて、リードデータRDを出力する。このリードデータRDの出力タイミングは、レイテンシ設定値FSLを変更する前と比べ、コアクロック信号CKcの1サイクル分早くなる。したがって、受信回路24は、非同期転送回路33における転送タイミングを1サイクル分遅くし、レイテンシ補償回路34における遅延時間を1サイクル分短くする。これにより、リードデータRDの出力タイミングは、転送設定値FSPを変更する前と同じとなる。つまり、受信回路24は、転送タイミングに対するレイテンシを補償し、メモリコントローラ21に対するリードデータRDのレイテンシを一定に保つ。
図13に示すように、VTドリフトにより遅延ストローブ信号DQSdが早くなった場合、転送信号DT0を矢印にて示すタイミングにて取り込んだ判定用データCT0の値が「0」となる。この場合、期待値データEDは「1」であるため、判定信号EX0の値は「1」となる。この「1」の判定信号EX0は、「判定NG」を示す。一方、転送信号DT1を取り込んだ判定用データCT1の値は「1」である。そして、期待値データEDは「1」であるため、判定信号EX1の値は「0」となる。この「0」の判定信号EX1は、「判定OK」を示す。
この場合、図7に示す設定値算出回路39は、判定信号EX0,EX1に基づいて、図8に示すステップ114にて「判定:YES」となるため、転送設定値FSPを「−1」し、レイテンシ設定値FSLを「+1」する。すると、図13において、矢印よりも1クロック分左の立ち上がりエッジが転送設定値FSPとして設定される。つまり、受信回路24は、遅延ストローブ信号DQSdの進みに応じて非同期転送回路33の第2ラッチ回路33bにおけるラッチタイミング、つまり転送タイミングを早くする。その結果、判定信号EX0,EX1は、ともに「1」となる。つまり、設定値算出回路39は、遅延ストローブ信号DQSdの進みに応じて、転送設定値FSPを変更する。このように、VTドリフトに対して転送設定値FSPを変更することで、コアクロック信号CKcに基づく取り込みタイミングを変更する。これにより、図1に示す非同期転送回路33では、遅延ストローブ信号DQSdに基づくウインドウに対して、算出した転送設定値FSPに基づくタイミングにてデータをラッチし、誤りの無い出力データCDを出力する。
図7に示すレイテンシ補償回路34は、レイテンシ設定値FSLに基づいて、リードデータRDを出力する。このリードデータRDの出力タイミングは、レイテンシ設定値FSLを変更する前と比べ、コアクロック信号CKcの1サイクル分遅くなる。したがって、受信回路24は、非同期転送回路33における転送タイミングを1サイクル分早くし、レイテンシ補償回路34における遅延時間を1サイクル分長くする。これにより、リードデータRDの出力タイミングは、転送設定値FSPを変更する前と同じとなる。つまり、受信回路24は、転送タイミングに対するレイテンシを補償し、メモリコントローラ21に対するリードデータRDのレイテンシを一定に保つ。
図14に示すように、ラウンド・トリップ・タイム(RTT)が最も短い(FAST)遅延ストローブ信号DQSd及びデータDQ0に基づいてデータ[A0],[B0]を保持する。また、ラウンド・トリップ・タイム(RTT)が最も長い(SLOW)遅延ストローブ信号DQSd及びデータDQ1に基づいてデータ[A1],[B1]を保持する。
図1に示すメモリコントローラ21は、データ[A0],[B0]に対応するウインドウW0と、データ[A1],[B1]に対応するウインドウW1に基づいて、転送設定値FSPを設定する。この場合、データDQ0に対応する判定回路38と、データDQ1に対応する判定回路38は、それぞれ「判定OK」の判定信号EX0,EX1を出力する。
図14において、一点鎖線の下側にて示すように、VTドリフトによって、ウインドウW0,W1に対して時間的にΔtだけウインドウW0a,W1aがずれる。この場合、上記の転送設定値FSPによる取り込みタイミングTP0は、ウインドウW1aの範囲内であるため、このタイミングTP0にてデータ[A1],[B1]を取り込むことができる。
一方、タイミングTP0は、ウインドウW0aの範囲からずれる。したがって、このタイミングTP0では、連続的にデータを読み出す場合、リードデータに誤りを生じる。
本実施形態では、データDQ0に対応する判定回路38は、「判定NG」の判定信号EX0を出力する。そして、図7に示す設定値算出回路39は、判定信号EX0に基づいて、転送設定値FSPを「−1」して新たな転送設定値FSPを算出する。この新たな転送設定値FSPに基づいて、図14に示すタイミングTP1を設定する。このタイミングTP1は、ウインドウW0aの範囲内である。このため、このタイミングTP1にてデータ[A0],[B0]を取り込むことができる。
このように、本実施形態の受信回路24は、タイミングTP1にてデータ[A0],[B0]を取り込み、タイミングTP0にてデータ[A1],[B1]を取り込む。したがって、受信回路24は、データDQ0,DQ1について、データを取り込むウインドウの実質的な幅を拡大する。このように、ウインドウの幅の拡大により、遅延ストローブ信号DQSdからコアクロック信号CKcへ安定したドメインチェンジを行い、リードデータRDにおける誤りを低減する。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1−1)受信回路24の制御信号生成回路35は、遅延ストローブ信号DQSdに基づいてイネーブル信号EN1を生成し、転送設定値FSP、リード制御信号RCNT、コアクロック信号CKcに基づいてイネーブル信号EN2を生成する。非同期転送回路33は、イネーブル信号EN1と遅延ストローブ信号DQSdに基づいて受信データRDQをラッチし、イネーブル信号EN2とコアクロック信号CKcに基づいて出力データCDを出力する。パターン信号生成回路(PG)36は、イネーブル信号EN1を入力する毎に、論理値を反転した判定用パターンデータTDを生成する。非同期転送回路37は、イネーブル信号EN1と遅延ストローブ信号DQSdに基づいて判定用パターンデータTDをラッチし、イネーブル信号EN2とコアクロック信号CKcに基づいて判定用データCTを出力する。判定回路38は、判定用データCTに基づいて、転送設定値FSPに基づくイネーブル信号EN2を生成するポインタ制御信号のタイミングを判定する。そして、設定値算出回路39は、判定回路38の判定結果に基づいて転送設定値FSPを算出する。
非同期転送回路37は、判定用パターンデータTDをイネーブル信号EN1と遅延ストローブ信号DQSdに基づいてラッチする。そのラッチタイミングは、非同期転送回路33における受信データRDQの受信タイミング、つまり、メモリ装置12に対するラウンド・トリップ・タイム(RTT)に対応する。非同期転送回路37は、ラッチしたデータを、イネーブル信号EN2とコアクロック信号CKcに基づいてラッチし、判定用データCTを出力する。判定用データCTの値は、イネーブル信号EN2とコアクロック信号CKcによりラッチするタイミング、つまり遅延ストローブ信号DQSdからコアクロック信号CKcへドメインチェンジするタイミングに応じて変化する。したがって、判定用データCTを判定した判定結果に基づいて転送設定値FSPを算出することにより、転送設定値FSPによりドメインチェンジのタイミングを調整することができる。この結果、非同期転送回路33の出力データCDにおける誤りを低減することができる。
(1−2)設定値算出回路39は、転送設定値FSPに基づいてレイテンシ設定値FSLを算出する。たとえば、設定値算出回路39は、設定値に対してDQSが遅いと判定した場合、転送設定値FSPを「+1」し、その転送設定値FSPに応じてレイテンシ設定値FSLを「−1」する。転送設定値FSPにより、非同期転送回路33における判定用データCTのタイミングが遅れる。その分、レイテンシ設定値FSLによりレイテンシ補償回路34の遅延時間を短くすることで、リードデータRDの出力タイミング、つまりメモリコントローラ21に対するリードデータRDの出力タイミングが一定となる。この結果、メモリコントローラ21に対するレイテンシを補償することができる。
(1−3)非同期転送回路37を非同期転送回路33と同様に、FF回路810〜817,820〜827を有するものとした。非同期転送回路33における遅延ストローブ信号DQSd等の各種の信号を伝達する配線と、非同期転送回路37における配線は、互いに等しい状態となる。これにより、信号の伝達が非同期転送回路33と非同期転送回路37とで同様となり、非同期転送回路37の動作タイミングが非同期転送回路33の動作タイミングと同じとなる。したがって、メモリ装置12に対するデータDQのラウンド・トリップ・タイム(RTT)を、非同期転送回路37において再現することができる。そして、この非同期転送回路37から出力される判定用データCTにより、ポインタ制御信号PCNTのタイミング、つまり非同期転送回路33のイネーブル信号C00〜C03の生成タイミングを精度よく調整することができる。
(第二実施形態)
以下、第二実施形態を説明する。
なお、この実施形態において、上記実施形態と同じ構成部材については同じ符号を付し、その説明及び図の全てまたは一部を省略する。
図18は、本実施形態の受信回路300の一部ブロック回路を示す。
この受信回路300の制御信号生成回路301は、ポインタ制御回路311を含む。このポインタ制御回路311は、上記第一実施形態のポインタ制御回路43と同様に、転送設定値FSPに応じてリード制御信号RCNTを遅延したポインタ制御信号PCNTを出力する。
また、ポインタ制御回路311は、ポインタ制御信号PCNTより早いタイミングで変化するファースト制御信号PCFを出力する。更に、ポインタ制御回路311は、ポインタ制御信号PCNTより遅いタイミングのスロー制御信号PCSを出力する。
たとえば、ポインタ制御回路311は、図4に示すポインタ制御回路43と同様に、直列に接続された複数のフリップフロップ回路(FF回路)を有している。ポインタ制御回路311は、転送設定値FSPに応じたFF回路の出力信号をポインタ制御信号PCNTとして出力する。そして、ポインタ制御回路311は、そのポインタ制御信号PCNTとしたFF回路の前段のFF回路の出力信号をファースト制御信号PCFとして出力する。このファースト制御信号PCFの変化(たとえば立ち上がりエッジ)のタイミングは、ポインタ制御信号PCNTのタイミングより、コアクロック信号CKcの1サイクル分、早い。
また、ポインタ制御回路311は、ポインタ制御信号PCNTとしたFF回路の後段のFF回路の出力信号をスロー制御信号PCSとして出力する。このスロー制御信号PCSの変化(たとえば立ち上がりエッジ)のタイミングは、ポインタ制御信号PCNTのタイミングより、コアクロック信号CKcの1サイクル分、遅い。
BLカウンタ44,44F,44Sは、4個のFF回路を有する4進のワンホット・ステート・カウンタ(one-hot state counter)である。BLカウンタ44は、ポインタ制御信号PCNTに基づいて機能を有効とし、コアクロック信号CKcをカウントしてイネーブル信号C00〜C03を生成する。BLカウンタ44Fは、ファースト制御信号PCFに基づいて機能を有効とし、コアクロック信号CKcをカウントしてファーストイネーブル信号CF0〜CF3を生成する。BLカウンタ44Sは、スロー制御信号PCSに基づいて機能を有効とし、コアクロック信号CKcをカウントしてスローイネーブル信号CS0〜CS3を生成する。
第2の非同期転送回路312は、1つの第1ラッチ回路37aと2つの第2ラッチ回路37F,37Sを有している。第1ラッチ回路37aは第3のラッチ回路の一例、第2ラッチ回路37Fは第4のラッチ回路の一例、第2ラッチ回路37Sは第5のラッチ回路の一例である。一方の第2ラッチ回路37Fにはファーストイネーブル信号CF0〜CF3が供給され、他方の第2ラッチ回路37Sにはスローイネーブル信号CS0〜CS3が供給される。
第2ラッチ回路37Fは、ファーストイネーブル信号CF0〜CF3に基づいてラッチ機能を有効とする。そして、第2ラッチ回路37Fは、コアクロック信号CKcの立ち上がりエッジに基づいて転送信号DTをラッチし、ファースト判定用データCTFを出力する。同様に、第2ラッチ回路37Sは、スローイネーブル信号CS0〜CS3に基づいてラッチ機能を有効とする。そして、第2ラッチ回路37Sは、コアクロック信号CKcの立ち上がりエッジに基づいて転送信号DTをラッチし、スロー判定用データCTSを出力する。
判定回路313は、第1判定回路38Fと第2判定回路38Sを有している。第1判定回路38Fは第1の判定回路の一例、第2判定回路38Sは第2の判定回路の一例である。第1判定回路38Fは、図7に示す判定回路38と同様に、ファーストイネーブル信号CF0に基づいて期待値データを生成する。そして、判定回路38は、その期待値データとファースト判定用データCTFを比較(排他的論理和演算)し、判定信号EXFを出力する。たとえば、第1判定回路38Fは、ファースト判定用データCTFとして、上記第一実施形態と同様に、判定用データCT0,CT1を期待値データとそれぞれ比較(排他的論理和演算)する。そして、判定用データCT0,CT1の演算結果がともに「0」の場合、値が「0」の判定信号EXFを出力する。一方、判定用データCT0,CT1の少なくとも一方が「1」の場合、値が「1」の判定信号EXFを出力する。
第2判定回路38Sは、第1判定回路38Fと同様に、スローイネーブル信号CS0に基づいて期待値データを生成する。そして、判定回路38は、その期待値データとスロー判定用データCTSを比較(排他的論理和演算)し、判定信号EXSを出力する。
設定値算出回路314は、第1判定回路38Fの判定信号EXFに基づいて、ファースト制御信号PCFのタイミングを「OK判定」または「NG判定」と判定する。また、設定値算出回路314は、第2判定回路38Sの判定信号EXSに基づいて、スロー制御信号PCSのタイミングを「OK判定」または「NG判定」と判定する。そして、設定値算出回路314は、両判定結果に基づいて、転送設定値FSPを算出する。また、設定値算出回路314は、転送設定値FSPに基づいてレイテンシ設定値FSLを算出する。
図19は、設定値算出回路314における処理を示す。
先ず、ステップ321において、設定値算出回路314は、デフォルト値を設定する。デフォルト値は、図1に示すメモリコントローラ21から供給される転送初期値FSOと、その転送設定値に応じたレイテンシの初期値である。設定値算出回路314は、メモリコントローラ21から供給される転送設定値を転送設定値FSPに設定する。また、設定値算出回路314は、レイテンシ設定値FSLに初期値を設定する。
そして、設定値算出回路314は、図18に示す第1判定回路38Fから出力される判定信号EXFに基づいて第1判定回路38Fを「OK判定」または「NG判定」とする。また、設定値算出回路314は、図18に示す第2判定回路38Sから出力される判定信号EXSに基づいてその第2判定回路38Sを「OK判定」または「NG判定」とする。
先ず、ステップ322において、設定値算出回路314は、第1判定回路38F(「判定回路(SLOW)」と表記)が「OK判定」かつ第2判定回路38S(「判定回路(FAST)」と表記)が「NG判定」の場合(判定:YES)、ステップ323に移行する。そのステップ323への移行は、「設定値に対してDQSが遅い」場合に行われる。このステップ323において、設定値算出回路314は、転送設定値FSPを「+1」し、レイテンシ設定値FSLを「−1」する。そして、設定値算出回路314は、処理をステップ322へ移行する。
次に、ステップ324において、設定値算出回路314は、第1判定回路38Fが「OK判定」かつ第2判定回路38Sが「NG判定」の場合(判定:YES)、ステップ325に移行する。そのステップ325への移行は、「設定値に対してDQSが早い」場合に行われる。このステップ325において、設定値算出回路314は、転送設定値FSPを「−1」し、レイテンシ設定値FSLを「+1」する。そして、設定値算出回路314は、処理をステップ322へ移行する。
次に、ステップ326において、設定値算出回路314は、第1判定回路38Fが「OK判定」かつ第2判定回路38Sが「NG判定」の場合(判定:YES)、「設定値に対してDQSが適切」である。このため、設定値算出回路314は、転送設定値FSPとレイテンシ設定値FSLをそのままとし、処理をステップ322へ移行する。
一方、ステップ326において判定が「NO」、つまり第1判定回路38Fと第2判定回路38Sがともに「NG判定」の場合、設定値算出回路314は、ステップ327に移行する。そのステップ327において、設定値算出回路314は、エラー処理を行い、ステップ321へ移行する。たとえば、設定値算出回路314は、エラー処理において、図1に示すメモリコントローラ21にエラー情報を通知する。メモリコントローラ21は、そのエラー情報に基づいて、トレーニング処理を行い、その処理結果に基づいて転送設定値FSPを再設定する。
次に、本実施形態の受信回路300の作用を説明する。
図1に示すメモリコントローラ21は、たとえばシステム装置11の起動時に、トレーニング処理を実行して1つの転送初期値FSOを設定する。図18に示す受信回路300の設定値算出回路314は、その転送初期値FSOと等しい転送設定値FSPを算出する。そして、ポインタ制御回路311は、転送設定値FSPに応じたサイクルのポインタ制御信号PCNTを生成する。BLカウンタ44は、ポインタ制御信号PCNTに基づいてイネーブル信号C00〜C03を生成する。そのイネーブル信号C00に基づくタイミングは、たとえば、図14に矢印にて示すタイミングTP0である。
図18に示すポインタ制御回路311は、上記のポインタ制御信号PCNTよりも1サイクル早いファースト制御信号PCFと、ポインタ制御信号PCNTよりも1サイクル遅いスロー制御信号PCSを生成する。BLカウンタ44Fは、ファースト制御信号PCFに基づいてファーストイネーブル信号CF0〜CF3を生成する。BLカウンタ44Sは、スロー制御信号PCSに基づいてスローイネーブル信号CS0〜CS3を生成する。
ファーストイネーブル信号CF0に基づくタイミングは、たとえば図14に示すタイミングTP0よりも1サイクル早い(図において左側)のコアクロック信号CKcの立ち上がりエッジのタイミング(ファーストタイミング)である。一方、スローイネーブル信号CS0に基づくタイミングは、図14に示すタイミングTP0よりも1サイクル遅い(図において右側)のコアクロック信号CKcの立ち上がりエッジのタイミング(スロータイミング)である。
たとえば、図14において、データDQ0を保持したデータ[A0],[B0]のウインドウW0に対して、上記のタイミングTP0及びファーストタイミングはウインドウW0の範囲内であり、スロータイミングは範囲外である。この場合、転送設定値FSPに対して遅延ストローブ信号DQSdが早い。したがって、図18に示す第2判定回路38Sは、「NG判定」の判定信号EXSを出力する。設定値算出回路314は、判定信号EXSに基づいて、転送設定値FSPを「−1」して新たな転送設定値FSPを算出する。この新たな転送設定値FSPに基づいて、BLカウンタ44,44F,44Sは、それぞれ1サイクル早いタイミングでイネーブル信号を生成する。この結果、生成されたイネーブル信号に基づく3つのタイミングは、図14において、ウインドウW0の範囲となる。
そして、図18に示す非同期転送回路33の第2ラッチ回路33bは、イネーブル信号C00〜C03に基づいて、第1ラッチ回路33aの出力する信号DDを保持する。このとき、イネーブル信号C00のタイミングは、図14に示すウインドウW0の範囲内に設定された3つのタイミングのうちの中央のタイミングである。図18に示す第2ラッチ回路33bは、ウインドウW0の中央付近のタイミングで信号DD(DQ0)を保持する。つまり、受信回路300は、データDQ0について、最適なタイミングを設定する。
また、図14において、データDQ0を保持したデータ[A1],[B1]のウインドウW1に対して、上記のタイミングTP0及びスロータイミングはウインドウW1の範囲内であり、ファーストタイミングは範囲外である。この場合、転送設定値FSPに対して遅延ストローブ信号DQSdが遅い。したがって、図18に示す第1判定回路38Fは、「NG判定」の判定信号EXFを出力する。設定値算出回路314は、判定信号EXFに基づいて、転送設定値FSPを「+1」して新たな転送設定値FSPを算出する。この新たな転送設定値FSPに基づいて、BLカウンタ44,44F,44Sは、それぞれ1サイクル遅いタイミングでイネーブル信号を生成する。この結果、生成されたイネーブル信号に基づく3つのタイミングは、図14において、ウインドウW1の範囲となる。
そして、図18に示す非同期転送回路33の第2ラッチ回路33bは、イネーブル信号C00〜C03に基づいて、第1ラッチ回路33aの出力する信号DDを保持する。このとき、イネーブル信号C00のタイミングは、図14に示すウインドウW1の範囲内に設定された3つのタイミングのうちの中央のタイミングである。図18に示す第2ラッチ回路33bは、ウインドウW1の中央付近のタイミングで信号DD(DQ1)を保持する。つまり、受信回路300は、データDQ1について、最適なタイミングを設定する。
図20に示すように、ラウンド・トリップ・タイム(RTT)が最も短い(FAST)遅延ストローブ信号DQSd及びデータDQ0に基づいてデータ[A0],[B0]を保持する。データ[A0],[B0]に対応するウインドウW0は、VTドリフトによって、時間的にΔtだけずれたウインドウW0aとなる。この場合、転送設定値FSPに基づくタイミングTPF0に対して、1サイクル早いタイミングTPF1は、ウインドウW0aの範囲からずれる。この場合、転送設定値FSPに対して遅延ストローブ信号DQSdが遅い。したがって、設定値算出回路314は、判定信号EXF,EXSに基づいて、転送設定値FSPを「+1」して新たな転送設定値FSPを算出する。この転送設定値FSPに基づいて、イネーブル信号C00の生成タイミングが、コアクロック信号CKcの1サイクル分遅くなり(図において右側に移動する)、タイミングTPF2となる。また、設定値算出回路314は、レイテンシ設定値FSLを「−1」して新たなレイテンシ設定値FSLを算出する。これにより、リードコマンド(「READ」と表記)からリードデータRD(A),RD(B)のタイミングは変化しない。
また、図20に示すように、ラウンド・トリップ・タイム(RTT)が最も長い(SLOW)遅延ストローブ信号DQSd及びデータDQ1に基づいてデータ[A1],[B1]を保持する。データ[A1],[B1]に対応するウインドウW1は、VTドリフトによって、時間的にΔtだけずれたウインドウW1aとなる。この場合、転送設定値FSPに基づくタイミングTPS0に対して、1サイクル早いタイミングTPS1は、ウインドウW1aの範囲からずれる。この場合、転送設定値FSPに対して遅延ストローブ信号DQSdが遅い。したがって、設定値算出回路314は、判定信号EXF,EXSに基づいて、転送設定値FSPを「+1」して新たな転送設定値FSPを算出する。この転送設定値FSPに基づいて、イネーブル信号C00の生成タイミングが、コアクロック信号CKcの1サイクル分遅くなり(図において右側に移動する)、タイミングTPS2となる。また、設定値算出回路314は、レイテンシ設定値FSLを「−1」して新たなレイテンシ設定値FSLを算出する。これにより、リードコマンド(「READ」と表記)からリードデータRD(A),RD(B)のタイミングは変化しない。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(2−1)ポインタ制御回路311は、転送設定値FSPに応じてリード制御信号RCNTを遅延したポインタ制御信号PCNTを出力する。ポインタ制御回路311は、ポインタ制御信号PCNTより早いタイミングで変化するファースト制御信号PCFを出力する。更に、ポインタ制御回路311は、ポインタ制御信号PCNTより遅いタイミングのスロー制御信号PCSを出力する。
BLカウンタ44は、ポインタ制御信号PCNTに基づいてイネーブル信号C00〜C03を生成する。BLカウンタ44Fは、ファースト制御信号PCFに基づいてファーストイネーブル信号CF0〜CF3を生成する。BLカウンタ44Sは、スロー制御信号PCSに基づいてスローイネーブル信号CS0〜CS3を生成する。第2ラッチ回路37Fは、ファーストイネーブル信号CF0〜CF3に基づいて、第1ラッチ回路37aからの転送信号DTをラッチしてファースト判定用データCTFを出力する。第2ラッチ回路37Sは、スローイネーブル信号CS0〜CS3に基づいて、第1ラッチ回路37aからの転送信号DTをラッチしてスロー判定用データCTSを出力する。第1判定回路38Fは、ファースト判定用データCTFに基づいて、判定信号EXFを出力する。第2判定回路38Sは、スロー判定用データCTSに基づいて、判定信号EXSを出力する。設定値算出回路314は、第1判定回路38Fの判定結果と、第2判定回路38Sの判定結果に基づいて、転送設定値FSPを算出する。この転送設定値FSPは、受信データRDQのウインドウに対してそのウインドウのほぼ中央にポインタ制御信号PCNTを設定する。これにより、受信データRDQのウインドウに対して最適なポインタ制御信号PCNTを設定することができる。
(2−2)設定値算出回路314は、第1判定回路38Fの判定信号EXFと、第2判定回路38Sの判定信号EXSに基づいて、転送設定値FSPを算出し、ポインタ制御信号PCNTのタイミングを調整する。第1判定回路38Fが判定するタイミングは、ポインタ制御信号PCNTのタイミング、つまり非同期転送回路33がドメインチェンジするタイミングより早い。一方、第2判定回路38Sが判定するタイミングは、ポインタ制御信号PCNTのタイミング、つまり非同期転送回路33がドメインチェンジするタイミングより遅い、したがって、ポインタ制御信号PCNTのタイミングは、常にデータDQのウインドウの範囲内となる。この結果、リードデータRDにおける誤りを低減することができる。
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態では、非同期転送回路37を非同期転送回路33と同様に、FF回路810〜817,820〜827を有するものとした。タイミングの判定には、上記実施形態にて示したように、判定信号EX0,EX1を用いればよい。したがって、図6において、FF回路810,811,820,821を含む非同期転送回路としてもよい。それにともない、図7において、排他的論理和(ExOR)回路920,921を含む判定回路としてもよい。
・上記実施形態は、バースト長を「8」に設定した場合を示したが、他の値をバースト長に設定してもよい。
・上記実施形態は、最小ウインドウ幅の判定を行った。最小ウインドウ幅は、上記実施形態で述べたように、読み出しを連続的に行う場合に、その読み出しによりデータDQのドメインチェンジが可能なウインドウの幅である。断続的にメモリ装置12に対するアクセスを行うシステム装置や断続的にメモリ装置12をアクセスする動作の場合、連続的なリード動作(たとえば、コマンドの入れ替えやダミーのリードコマンド)により、2つ以上の連続したリードアクセスを行うことで、ウインドウ幅の判定を行い、タイミングを調整することができる。
・実施形態では、データDQ等の出力タイミングを調整するトレーニング動作を行うメモリコントローラ21を用いたが、トレーニング動作を行う機能を有していないメモリコントローラを用いて実施してもよい。
・実施形態では、メモリコントローラ21がトレーニング動作を行うこととしたが、その他の回路、例えばコア回路がトレーニング動作を実行するようにしてもよい。
33,37 非同期転送回路
34 レイテンシ補償回路
35 制御信号生成回路
36 パターンジェネレータ
38 判定回路
39 設定値算出回路
DQ データ
DQSd 遅延ストローブ信号
EN1,EN2 イネーブル信号
CP0〜CP3,CN0〜CN3 イネーブル信号
C00〜C03 イネーブル信号
FSO 転送初期値
FSP 転送設定値
FSL レイテンシ設定値
RD リードデータ

Claims (7)

  1. ストローブ信号に基づいて第1のイネーブル信号を生成し、リード制御信号と転送設定値とに応じたポインタ制御信号とコアクロック信号に基づいて第2のイネーブル信号を生成する制御信号生成回路と、
    前記第1のイネーブル信号と前記ストローブ信号に基づいて受信データをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいて出力する第1の非同期転送回路と、
    前記第1のイネーブル信号の変化に応じて論理を反転した判定用パターンデータを生成するパターン生成回路と、
    前記第1のイネーブル信号と前記ストローブ信号に基づいて前記判定用パターンデータをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいて出力する第2の非同期転送回路と、
    前記第2の非同期転送回路の出力データに基づいて、前記ポインタ制御信号の生成タイミングを判定する判定回路と、
    前記判定回路の判定結果に基づいて前記転送設定値を算出する設定値算出回路と、
    を有することを特徴とする受信回路。
  2. レイテンシ設定値に基づいて前記第1の非同期転送回路の出力信号を遅延してリードデータを出力するレイテンシ補償回路を有し、
    前記設定値算出回路は、前記転送設定値に基づいて前記レイテンシ設定値を算出すること、
    を特徴とする請求項1に記載の受信回路。
  3. 前記判定回路は、前記第2のイネーブル信号に基づいて期待値データを生成し、前記期待値データと前記第2の非同期転送回路の出力データとを比較して前記ポインタ制御信号の生成タイミングを判定すること、
    を特徴とする請求項1または2に記載の受信回路。
  4. 前記制御信号生成回路が生成する前記第1のイネーブル信号は、
    前記ストローブ信号に基づいて生成した正相イネーブル信号と、
    前記ストローブ信号を反転した反転ストローブ信号に基づいて生成した逆相イネーブル信号を含み、
    前記パターン生成回路は、前記正相イネーブル信号に基づいて第1の判定用パターンデータを生成し、前記逆相イネーブル信号に基づいて第2の判定用パターンデータを生成し、
    前記第2の非同期転送回路は、前記第1の判定用パターンデータと前記第2の判定用パターンデータをそれぞれ転送して第1の判定用データと第2の判定用データを出力し、
    前記判定回路は、前記第1の判定用データと前記第2の判定用データとを、前記第2のイネーブル信号に基づいて生成した期待値データとそれぞれ比較して第1の判定信号と第2の判定信号を出力し、
    前記設定値算出回路は、前記第1の判定信号と前記第2の判定信号とに基づいて、前記転送設定値を算出すること、
    を特徴とする請求項1〜3のいずれか1項に記載の受信回路。
  5. 前記制御信号生成回路は、前記転送設定値に基づいて、前記第2のイネーブル信号より早いタイミングのファーストイネーブル信号と、前記第2のイネーブル信号より遅いタイミングのスローイネーブル信号とを生成し、
    前記第1の非同期転送回路は、前記第1のイネーブル信号により前記受信データをラッチする第1ラッチ回路と、前記第1ラッチ回路の出力信号を前記第2のイネーブル信号によりラッチし出力する第2ラッチ回路と、を含み、
    前記第2の非同期転送回路は、前記第1のイネーブル信号により前記判定用パターンデータをラッチする第3のラッチ回路と、前記ファーストイネーブル信号により前記第3のラッチ回路の出力信号をラッチする第4のラッチ回路と、前記スローイネーブル信号により前記第3のラッチ回路の出力信号をラッチする第5のラッチ回路と、を含み、
    前記判定回路は、前記ファーストイネーブル信号に基づいて生成した期待値データと前記第4のラッチ回路の出力信号とを比較して前記ファーストイネーブル信号のタイミングを判定する第1の判定回路と、前記スローイネーブル信号に基づいて生成した期待値データと前記第5のラッチ回路の出力信号とを比較して前記スローイネーブル信号のタイミングを判定する第2の判定回路と、を含み、
    前記設定値算出回路は、前記第1の判定回路の判定結果と前記第2の判定回路の判定結果に基づいて前記転送設定値を算出すること、
    を特徴とする請求項1〜4のいずれか1項に記載の受信回路。
  6. ストローブ信号に基づいて受信データを受信し、コアクロック信号に基づいて前記受信データに応じたリードデータを出力する受信回路において、前記コアクロック信号によるドメインチェンジのタイミングを調整する受信回路のタイミング調整方法であって、
    前記ストローブ信号に基づいて第1のイネーブル信号を生成し、リード制御信号と転送設定値とに応じたポインタ制御信号とコアクロック信号に基づいて第2のイネーブル信号を生成し、
    前記第1のイネーブル信号の変化に応じて論理を反転した判定用パターンデータを生成し、
    前記第1のイネーブル信号と前記ストローブ信号に基づいて前記判定用パターンデータをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいてラッチして判定用データを生成し、
    前記判定用データに基づいて前記ポインタ制御信号の生成タイミングを判定し、前記生成タイミングの判定結果に基づいて前記転送設定値を算出すること、
    を特徴とする受信回路のタイミング調整方法。
  7. メモリ装置に接続される半導体装置であって、
    リード制御信号を出力してメモリ装置のアクセスを制御するメモリコントローラと、
    前記メモリ装置の出力データを、前記メモリ装置から出力されるストローブ信号を遅延した遅延ストローブ信号に基づいて受信し、受信した前記出力データに基づいて前記メモリコントローラにリードデータを出力する受信回路と、
    を有し、
    前記受信回路は、
    ストローブ信号に基づいて第1のイネーブル信号を生成し、リード制御信号と転送設定値とに応じたポインタ制御信号とコアクロック信号に基づいて第2のイネーブル信号を生成する制御信号生成回路と、
    前記第1のイネーブル信号と前記ストローブ信号に基づいて受信データをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいて出力する第1の非同期転送回路と、
    前記第1のイネーブル信号の変化に応じて論理を反転した判定用パターンデータを生成するパターン生成回路と、
    前記第1のイネーブル信号と前記ストローブ信号に基づいて前記判定用パターンデータをラッチし、ラッチしたデータを前記第2のイネーブル信号と前記コアクロック信号に基づいて出力する第2の非同期転送回路と、
    前記第2の非同期転送回路の出力データに基づいて、前記ポインタ制御信号の生成タイミングを判定する判定回路と、
    前記判定回路の判定結果に基づいて前記転送設定値を算出する設定値算出回路と、
    を有する、
    ことを特徴とする半導体装置。
JP2015108644A 2015-05-28 2015-05-28 受信回路、受信回路のタイミング調整方法、半導体装置 Active JP6451505B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015108644A JP6451505B2 (ja) 2015-05-28 2015-05-28 受信回路、受信回路のタイミング調整方法、半導体装置
CN201610334653.2A CN106201909B (zh) 2015-05-28 2016-05-19 接收电路、调整接收电路中的定时的方法及半导体器件
US15/161,006 US9620196B2 (en) 2015-05-28 2016-05-20 Reception circuit, method for adjusting timing in reception circuit, and semiconductor device
DE102016208849.1A DE102016208849B4 (de) 2015-05-28 2016-05-23 Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung
KR1020160063535A KR101811133B1 (ko) 2015-05-28 2016-05-24 수신 회로, 수신 회로의 타이밍 조정 방법, 반도체 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015108644A JP6451505B2 (ja) 2015-05-28 2015-05-28 受信回路、受信回路のタイミング調整方法、半導体装置

Publications (2)

Publication Number Publication Date
JP2016224605A JP2016224605A (ja) 2016-12-28
JP6451505B2 true JP6451505B2 (ja) 2019-01-16

Family

ID=57282091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015108644A Active JP6451505B2 (ja) 2015-05-28 2015-05-28 受信回路、受信回路のタイミング調整方法、半導体装置

Country Status (5)

Country Link
US (1) US9620196B2 (ja)
JP (1) JP6451505B2 (ja)
KR (1) KR101811133B1 (ja)
CN (1) CN106201909B (ja)
DE (1) DE102016208849B4 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9892771B2 (en) * 2014-03-26 2018-02-13 Rambus Inc. Memory controller with dynamic core-transfer latency
US10103718B1 (en) * 2017-04-05 2018-10-16 Xilinx, Inc. Recalibration of source synchronous systems
CN111565644B (zh) * 2018-01-11 2023-08-29 株式会社索思未来 超声波诊断装置以及超声波诊断系统
US10403340B2 (en) 2018-02-07 2019-09-03 Micron Technology, Inc. Techniques for command synchronization in a memory device
KR20210076661A (ko) * 2019-12-16 2021-06-24 에스케이하이닉스 주식회사 데이터출력방법 및 이를 이용한 반도체장치
JP2022146543A (ja) * 2021-03-22 2022-10-05 キオクシア株式会社 半導体記憶装置、メモリシステム、および方法
TWI806516B (zh) * 2022-03-24 2023-06-21 瑞昱半導體股份有限公司 記憶體控制器與校準資料接收視窗的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6762974B1 (en) * 2003-03-18 2004-07-13 Micron Technology, Inc. Method and apparatus for establishing and maintaining desired read latency in high-speed DRAM
JP2005092923A (ja) * 2003-09-12 2005-04-07 Renesas Technology Corp 半導体記憶装置
JP2006101269A (ja) * 2004-09-30 2006-04-13 Sanyo Electric Co Ltd ラッチクロック生成回路及びシリアル−パラレル変換回路
JP4662536B2 (ja) 2004-12-28 2011-03-30 パナソニック株式会社 タイミング調整方法及び装置
JP2012027734A (ja) 2010-07-23 2012-02-09 Panasonic Corp メモリコントローラおよびメモリアクセスシステム
JP2012058997A (ja) 2010-09-08 2012-03-22 Toshiba Corp 半導体集積回路
JP2012247319A (ja) 2011-05-27 2012-12-13 Advantest Corp 試験装置および試験方法
CN102279824B (zh) * 2011-08-24 2013-10-09 中国北车股份有限公司大连电力牵引研发中心 输入接口扩展电路及控制装置
US8897084B2 (en) 2011-09-08 2014-11-25 Apple Inc. Dynamic data strobe detection
WO2013042233A1 (ja) * 2011-09-21 2013-03-28 富士通株式会社 半導体装置
JP6167855B2 (ja) * 2013-10-31 2017-07-26 富士通株式会社 信号制御回路、情報処理装置及び信号制御方法

Also Published As

Publication number Publication date
US20160351245A1 (en) 2016-12-01
CN106201909B (zh) 2019-07-09
DE102016208849B4 (de) 2022-09-08
US9620196B2 (en) 2017-04-11
CN106201909A (zh) 2016-12-07
JP2016224605A (ja) 2016-12-28
KR20160140433A (ko) 2016-12-07
DE102016208849A1 (de) 2016-12-01
KR101811133B1 (ko) 2017-12-20

Similar Documents

Publication Publication Date Title
JP6451505B2 (ja) 受信回路、受信回路のタイミング調整方法、半導体装置
JP4921888B2 (ja) インターフェース回路
JP5537568B2 (ja) 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法
US7027336B2 (en) Semiconductor memory device for controlling output timing of data depending on frequency variation
JP4868359B2 (ja) オンダイターミネーション制御装置
KR100403635B1 (ko) 동기식 반도체 메모리 장치의 데이터 입력 회로 및 데이터입력 방법
KR101013444B1 (ko) 듀티 사이클 보정 장치 및 이를 포함하는 반도체 집적 회로
CN111418016A (zh) 用于存储器装置中的命令路径的改进的计时电路
TW201007424A (en) Apparatus and method for multi-phase clock generation
US8934316B2 (en) Parallel-serial conversion circuit for adjusting an output timing of a serial data signal with respect to a reference clock signal, and an interface circuit, a control device including the same
US8503256B2 (en) Column command buffer and latency circuit including the same
EP1903446A1 (en) Apparatus and method for controlling a memory interface
WO2006017723A1 (en) Digital frequency locked delay line
US8982650B2 (en) Memory interface circuit and timing adjusting method
US9747972B2 (en) Memory controller, information processing device, and reference voltage adjustment method
TWI819106B (zh) 相位檢測電路及包括其的時脈產生電路和半導體裝置
JP4959264B2 (ja) メモリ制御装置
US10972248B2 (en) Method of calibrating clock phase and voltage offset, data recovery circuit performing the same and receiver including the same
JP2007134029A (ja) 半導体メモリのクロック回路
JP6273856B2 (ja) メモリコントローラ及び情報処理装置
JP5005928B2 (ja) インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
JP5673842B2 (ja) 半導体装置
JP2012037973A (ja) インターフェース回路及びインターフェース回路を備えるメモリコントローラ
US20190109587A1 (en) Pipelined latches to prevent metastability
KR20210141120A (ko) 위상조절동작을 수행하기 위한 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6451505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150