JP2022146532A - メモリシステム及び遅延制御方法 - Google Patents

メモリシステム及び遅延制御方法 Download PDF

Info

Publication number
JP2022146532A
JP2022146532A JP2021047534A JP2021047534A JP2022146532A JP 2022146532 A JP2022146532 A JP 2022146532A JP 2021047534 A JP2021047534 A JP 2021047534A JP 2021047534 A JP2021047534 A JP 2021047534A JP 2022146532 A JP2022146532 A JP 2022146532A
Authority
JP
Japan
Prior art keywords
delay amount
delay
strobe signal
delayed
circuit
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.)
Pending
Application number
JP2021047534A
Other languages
English (en)
Inventor
秀一 高田
Shuichi Takada
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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2021047534A priority Critical patent/JP2022146532A/ja
Priority to TW110120393A priority patent/TWI784556B/zh
Priority to CN202110947827.3A priority patent/CN115114194B/zh
Priority to US17/459,536 priority patent/US11605407B2/en
Publication of JP2022146532A publication Critical patent/JP2022146532A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Memory System (AREA)

Abstract

【課題】一つの実施形態は、データ信号及びストローブ信号の遅延量を適切化することを目的とする。【解決手段】一つの実施形態によれば、メモリシステムのメモリインタフェースにおいて、第2の遅延回路は、第1の遅延ストローブ信号と第2の遅延ストローブ信号と第3の遅延ストローブ信号とを生成する。第1の遅延ストローブ信号は、ストローブ信号を第1の遅延量で遅延させたストローブ信号である。第2の遅延ストローブ信号は、ストローブ信号を第1の遅延量より少ない第2の遅延量で遅延させたストローブ信号である。第3の遅延ストローブ信号は、ストローブ信号を第1の遅延量より多い第3の遅延量で遅延させたストローブ信号である。検知回路は、遅延データ信号、第1の遅延ストローブ信号、第2の遅延ストローブ信号、第3の遅延ストローブ信号を用いて、遅延データ信号に対する第1の遅延ストローブ信号のタイミングのドリフトを検知する。制御回路は、ドリフトに応じた方向に第1の遅延量、第2の遅延量、及び第3の遅延量を調整する。【選択図】図1

Description

本実施形態は、メモリシステム及び遅延制御方法に関する。
メモリデバイスが有線通信路を介してメモリインタフェース回路に接続されたメモリシステムがある。このメモリシステムでは、メモリインタフェース回路でデータ信号及びストローブ信号を遅延させることがある。このとき、データ信号及びストローブ信号の遅延量が適切であることが望まれる。
特開2014-216921号公報 特開2018-526912号公報 特開2014-248088号公報 特開2019-160238号公報
一つの実施形態は、データ信号及びストローブ信号の遅延量を適切化できるメモリシステム及び遅延制御方法を提供することを目的とする。
一つの実施形態によれば、メモリデバイスとインタフェース回路とを有するメモリシステムが提供される。インタフェース回路は、有線通信路を介してメモリデバイスに接続される。インタフェース回路は、第1の遅延回路と第2の遅延回路と検知回路と制御回路とを有する。第1の遅延回路は、データ信号に遅延量を付与して遅延データ信号を生成する。第2の遅延回路は、第1の遅延ストローブ信号と第2の遅延ストローブ信号と第3の遅延ストローブ信号とを生成する。ストローブ信号は、データ信号に同期する。第1の遅延ストローブ信号は、ストローブ信号を第1の遅延量で遅延させたストローブ信号である。第2の遅延ストローブ信号は、ストローブ信号を第2の遅延量で遅延させたストローブ信号である。第2の遅延量は、第1の遅延量より少ない遅延量である。第3の遅延ストローブ信号は、ストローブ信号を第3の遅延量で遅延させたストローブ信号である。第3の遅延量は、第1の遅延量より多い遅延量である。検知回路は、遅延データ信号、第1の遅延ストローブ信号、第2の遅延ストローブ信号、第3の遅延ストローブ信号を用いて、遅延データ信号に対する第1の遅延ストローブ信号のタイミングのドリフトを検知する。制御回路は、ドリフトに応じた方向に第1の遅延量、第2の遅延量、及び第3の遅延量を調整する。
実施形態にかかるメモリシステムの構成を示す図。 実施形態におけるメモリインタフェースの構成を示す図。 実施形態におけるデータ信号用の遅延回路の構成を示す図。 実施形態におけるストローブ信号用の遅延回路の構成を示す図。 実施形態におけるトレーニング回路の構成を示す図。 実施形態における判定回路の動作を示す図。 実施形態における判定回路の内部構成を示す図。 実施形態におけるトレーニングを示す波形図。 実施形態におけるトレーニングの流れを示すフローチャート。 実施形態における遅延制御動作を示す波形図。 実施形態における遅延制御動作を示す波形図。 実施形態における遅延制御動作の流れを示すフローチャート。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
実施形態にかかるメモリシステムは、メモリデバイス及びメモリインタフェース回路を有する。メモリインタフェース回路はパラレル方式でメモリデバイスにアクセスする回路であり、メモリシステムは、例えば図1に示すように構成され得る。図1は、実施形態にかかるメモリシステム300の構成を示す図である。
メモリシステム300は、ホスト200に接続可能であり、ホスト200の外部記憶媒体として機能し得る。ホスト200は、例えば、パーソナルコンピュータであり、メモリシステム300は、例えば、SSDである。メモリシステム300は、コントローラ110及びメモリデバイス120を有する。コントローラ110は、有線通信路130を介してメモリデバイス120に接続される。コントローラ110は、ホストインタフェース回路111、信号処理回路112、及びメモリインタフェース回路100を有する。
有線通信路130は、バス配線131を含む。メモリインタフェース回路100は、バス配線131を介してメモリデバイス120に接続される。バス配線131は、複数ビット幅を有する。これに応じて、メモリインタフェース回路100は、パラレル方式でメモリデバイスにアクセスする回路として構成される。これ以降、メモリインタフェース回路100を、メモリインタフェース100と表記する。ホストインタフェース111は、シリアル方式でホスト200にアクセスする。
メモリデバイス120は、揮発性の半導体メモリ(例えば、DRAM)でもよいし、不揮発性の半導体メモリ(例えば、NAND型フラッシュメモリ)でもよい。
メモリインタフェース100は、コントローラ110の内部回路(例えば、信号処理回路112)とメモリデバイス120との間に配され、内部回路とメモリデバイス120との間におけるインタフェース動作を行う。メモリインタフェース100は、内部回路から供給されたデータをメモリデバイス120へ送信したり、メモリデバイス120から受信されたデータを内部回路へ転送したりする。
例えば、メモリインタフェース100は、ストローブ信号のエッジタイミングがデータ信号のレベルが安定している期間(データ有効ウィンドウ)の中央付近になるように、データ信号及び/又はストローブ信号に対して付与する遅延量を調整するトレーニングを行う。トレーニングにより、データ信号のセットアップ・ホールドのタイミングマージンを確保でき、その後の通信において、転送先の内部回路においてデータがストローブ信号に同期して適切に取り込まれるようにすることができる。
すなわち、メモリインタフェース100内におけるストローブ信号のスキューを適切に管理できれば、タイミング設計に応じてメモリインタフェース100を適切に動作させることができる。これにより、正確なストローブ信号の品質を確保でき、余計なタイミングマージンの確保を減らす事が出来るので、回路規模を削減でき、それに伴うパワーの増加を抑制できる。
しかし、トレーニング後に温度変動及び/又は電源電圧変動が発生すると、トレーニング実行時からデータ信号及び/又はストローブ信号のタイミングがドリフトして、タイミングマージンが減少することがある。
それに対しては、メモリデバイスとの通信信号処理を中断させて再トレーニングを行うことが考えられる。これにより、タイミングマージンを確保できるが、通信信号処理の中断により通信の有効帯域が減少する可能性がある。
そこで、本実施形態では、メモリインタフェース100において、データ信号に対するストローブ信号のタイミングのドリフトを検知してドリフトに応じた方向にストローブ信号の遅延量を調整することで、メモリデバイスとの通信信号処理を継続しながらのタイミングマージンの確保を図る。
具体的には、メモリインタフェースは、メモリデバイスから受けるデータ信号に遅延量を付与して遅延データ信号を生成する。メモリインタフェースは、データ信号に同期するストローブ信号に対して、第1の遅延量で遅延させた第1の遅延ストローブ信号と、第1の遅延量より少ない第2の遅延量で遅延させた第2の遅延ストローブ信号と、第1の遅延量より多い第3の遅延量で遅延させた第3の遅延ストローブ信号とを生成する。メモリインタフェースは、遅延データ信号、第1の遅延ストローブ信号、第2の遅延ストローブ信号、第3の遅延ストローブ信号を用いて、遅延データ信号に対する第1の遅延ストローブ信号のタイミングのドリフトを検知する。ドリフトを検知すると、メモリインタフェースは、そのドリフトに応じた方向(例えば、ドリフトの影響が緩和される方向)に第1の遅延量、第2の遅延量、及び第3の遅延量を調整する。すなわち、ドリフトによって第1の遅延ストローブ信号のタイミングマージンが減少してきたことを検出し、完全破綻する前に第1の遅延ストローブ信号の位相を微小時間でシフトさせる。これにより、メモリデバイスとの通信を継続しながら、データ信号のセットアップ・ホールドのタイミングマージンを確保できる。
より具体的には、メモリインタフェース100は、図2に示すように構成され得る。図2は、メモリインタフェース100の構成を示す図である。
メモリインタフェース100は、IO回路10、送信回路20及び受信回路30を有する。
IO回路10は、フリップフロップ11、出力バッファ12~14及び入力バッファ15,16を有する。フリップフロップ11、出力バッファ12及び入力バッファ15は、複数ビットのデータ信号DQ[0:7]に対応する。出力バッファ13及び入力バッファ16は、ストローブ信号DQSに対応する。出力バッファ14は、リードイネーブル信号REに対応する。フリップフロップ11、出力バッファ12~14及び入力バッファ15,16は、複数ビット幅のバス配線131を介してメモリデバイス120に接続され、パラレルインタフェースを構成する。
フリップフロップ11は、送信回路20の出力ノード20aに接続されたデータ入力ノードと、送信回路20の出力ノード20bに接続されたクロックノードと、出力バッファ12に接続された出力ノードとを有する。出力バッファ12は、フリップフロップ11に接続された入力ノードと、バス配線131に接続された出力ノードとを有する。出力バッファ13は、送信回路20の出力ノード20bに接続された入力ノードと、バス配線131に接続された出力ノードとを有する。出力バッファ14は、送信回路20の出力ノード20c,20dに接続された入力ノードと、バス配線131に接続された出力ノードとを有する。
送信回路20は、PLL(Phased Locked Loop)回路21、DCC(Duty Correction Circuit)22、DCC23、スイッチ24、ライン25を有する。PLL回路21は、DCC22及びDCC23に接続された出力ノードを有する。DCC22は、PLL回路21に接続された入力ノードと、出力ノード20bに接続された出力ノードとを有する。DCC23は、PLL回路21に接続された入力ノードと、出力ノード20cに接続された出力ノードとを有する。スイッチ24は、入力ノード20fに接続された第1端と、出力ノード20dに接続された第2端とを有する。ライン25は、入力ノード20eに接続された第1端と、出力ノード20aに接続された第2端とを有する。
送信回路20は、信号処理回路112から受けるデータ信号DQ[0:7]をフリップフロップ11へ転送する。送信回路20により送信されるデータ信号DQ[0:7]は、リードコマンド又はライトコマンドなどのコマンドであってもよいし、ライトデータなどのデータであってもよい。送信回路20は、PLL回路21で発振信号を生成しDCC22でそのデューティ比を調整してストローブ信号DQSを生成してフリップフロップ11へ転送する。フリップフロップ11は、データ信号DQ[0:7]をストローブ信号DQSに同期して保持する。出力バッファ12は、フリップフロップ11から出力されるデータ信号DQ[0:7]をバス配線131経由でメモリデバイス120へ伝送する。出力バッファ13は、送信回路20から受けるストローブ信号DQSをバス配線131経由でメモリデバイス120へ伝送する。
送信回路20は、PLL回路21で発振信号を生成しDCC23でそのデューティ比を調整してリードイネーブル信号REを生成して出力バッファ14へ転送する。あるいは、リードイネーブル信号REを信号処理回路112から受けると、送信回路20は、スイッチ24をオンして、そのリードイネーブル信号REを出力バッファ14へ転送する。このとき、送信回路20は、DCC23を停止させてもよい。出力バッファ14は、リードイネーブル信号REをバス配線131経由でメモリデバイス120へ伝送する。
入力バッファ15は、入力ノードがバス配線131に接続され、出力ノードが受信回路30の入力ノード30aに接続される。入力バッファ16は、入力ノードがバス配線131に接続され、出力ノードが受信回路30の入力ノード30bに接続される。
入力バッファ15は、メモリデバイス120からバス配線131経由で受ける複数ビットのデータ信号DQ[0:7]を受信回路30へ伝送する。入力バッファ16は、メモリデバイス120からバス配線131経由で受けるストローブ信号DQSを受信回路30へ伝送する。
受信回路30は、複数の遅延回路DL1[0:7]、遅延回路DL2、サンプラ31、検知回路32、制御回路33、トレーニング回路34を有する。
複数の遅延回路DL1[0:7]は、入力ノード30a及びサンプラ31の間に接続される。複数の遅延回路DL1[0:7]は、複数(この例では8)ビットのデータ信号DQ[0:7]に対応する。受信回路30で受信されるデータ信号DQ[0:7]は、リードデータなどのデータであってもよいし、ライト完了通知などのコマンドレスポンスであってもよい。IO回路10から複数ビットのデータ信号DQ[0:7]を受けると、各遅延回路DL1は、対応するデータ信号DQに遅延量を付与して遅延データ信号DQ’を生成する。
例えば、各遅延回路DL1(DL1[0]~DL1[7]のそれぞれ)は、図3に示すように構成され得る。図3は、データ信号DQ用の遅延回路DL1の構成を示す図である。遅延回路DL1は、入力ノードと出力ノードとの間に複数の単位遅延素子1-1~1-N(Nは、3以上の整数)及びマルチプレクサ2を有する。複数段の単位遅延素子1-1~1-Nは、入力ノードとマルチプレクサ2との間に直列に接続されている。マルチプレクサ2は、複数段の単位遅延素子1-1~1-Nにおける互いに異なる段の単位遅延素子1から出力されたデータを選択して出力する。マルチプレクサ2は、複数の入力ノード2a-3~2a-N及び出力ノード2bを有する。複数の入力ノード2a-3~2a-Nは、それぞれ、単位遅延素子1-3~1-Nの出力ノードに接続される。
単位遅延素子1の遅延量をtdとし、マルチプレクサ2による遅延量が単位遅延素子1の遅延量に比べて十分に小さく無視可能であるとする。複数の入力ノード2a-3~2a-Nは、それぞれ、3×td~N×tdの遅延量が付与された遅延データ信号を受ける。マルチプレクサ2は、トレーニング回路34又は制御回路33から受ける段数調整信号に応じて、複数の入力ノード2a-3~2a-Nのいずれかを選択し出力ノード2bに接続する。マルチプレクサ2は、受けた段数調整信号に応じて、データ信号DQに対するP×tdの遅延量(Pは、3以上N以下の整数)が付与された遅延データ信号を選択して、遅延データ信号DQ’として出力する。
なお、図3では、遅延回路DL1で付与され得る最小の遅延量が3×tdである場合が例示されているが、最小の遅延量は2×td以下でもよいし、4×td以上でもよい。
これにより、各遅延回路DL1で付与される遅延量は、トレーニング回路34又は制御回路33から受ける段数調整信号に応じて調整され得る。各遅延回路DL1は、互いに異なる遅延量に調整されていてもよい。図2に示すように、複数の遅延回路DL1[0:7]は、複数ビットの遅延データ信号DQ’[0:7]をサンプラ31及び検知回路32へ供給する。
遅延回路DL2は、入力ノード30bと、サンプラ31及び検知回路32との間に接続される。遅延回路DL2は、ストローブ信号DQSに対応する。遅延回路DL2は、IO回路10からストローブ信号DQSを受けると、ストローブ信号DQSを遅延量Δt0で遅延させて遅延ストローブ信号CK0を生成する。遅延量Δt0は、基準の遅延量であり、正の遅延量である。遅延回路DL2は、遅延ストローブ信号CK0をサンプラ31へ供給する。
また、遅延回路DL2は、ストローブ信号DQSを遅延量Δt0-Δt1で遅延させて遅延ストローブ信号CK1を生成する。遅延量Δt1は、差分の遅延量であり、正の遅延量である。遅延量Δt0-Δt1は、遅延量Δt0より少ない遅延量である。すなわち、遅延ストローブ信号CK1は、遅延ストローブ信号CK0より遅延量が少なく、より位相が進んだ信号である。遅延回路DL2は、遅延ストローブ信号CK1を検知回路32へ供給する。
遅延回路DL2は、ストローブ信号DQSを遅延量Δt0+Δt2で遅延させて遅延ストローブ信号CK2を生成する。遅延量Δt2は、差分の遅延量であり、正の遅延量である。遅延量Δt0+Δt2は、遅延量Δt0より多い遅延量である。すなわち、遅延ストローブ信号CK2は、遅延ストローブ信号CK0より遅延量が多く、より位相が遅れた信号である。遅延回路DL2は、遅延ストローブ信号CK2を検知回路32へ供給する。
ここで、遅延ストローブ信号CK1の遅延量と遅延ストローブ信号CK0の遅延量との差分Δt1は、固定量であってもよい。遅延ストローブ信号CK0の遅延量と遅延ストローブ信号CK2の遅延量との差分Δt2は、固定量であってもよい。
また、セットアップのタイミングマージンが、ホールドのタイミングマージンに比べて厳しい傾向にある場合、差分の遅延量Δt1,Δt2は、次の数式1の関係を満たしてもよい。
Δt1>Δt2・・・数式1
例えば、遅延回路DL2は、図4に示すように構成され得る。図4は、ストローブ信号DQS用の遅延回路DL2の構成を示す図である。遅延回路DL2は、入力ノードと出力ノードとの間に複数の単位遅延素子3-1~3-(K+3)(Kは、3以上の整数)及びマルチプレクサ4を有する。複数段の単位遅延素子3-1~3-Kは、入力ノードとマルチプレクサ4との間に直列に接続されている。複数段の単位遅延素子3-(K+1)~3-(K+3)は、マルチプレクサ4と出力ノードとの間に直列に接続されている。マルチプレクサ4は、複数段の単位遅延素子3-1~3-Kにおける互いに異なる段の単位遅延素子3から出力されたストローブ信号を選択して出力する。マルチプレクサ4は、複数の入力ノード4a-3~4a-K及び出力ノード4bを有する。複数の入力ノード4a-3~4a-Kは、それぞれ、単位遅延素子3-3~3-Kの出力ノードに接続される。
単位遅延素子3の遅延量は、単位遅延素子1の遅延量(図3参照)と同じでもよい。単位遅延素子3の遅延量をtdとし、マルチプレクサ4による遅延量が単位遅延素子3の遅延量に比べて十分に小さく無視可能であるとする。複数の入力ノード4a-3~4a-Kは、それぞれ、3×td~K×tdの遅延量が付与された遅延データ信号を受ける。マルチプレクサ4は、トレーニング回路34又は制御回路33から受ける段数調整信号に応じて、複数の入力ノード4a-3~4a-Kのいずれかを選択し出力ノード4bに接続する。マルチプレクサ4は、受けた段数調整信号に応じて、ストローブ信号DQSに対するQ×tdの遅延量(Qは、3以上K以下の整数)が付与された遅延ストローブ信号を選択して、遅延ストローブ信号CK1として遅延回路DL2から出力するとともに単位遅延素子3-(K+1)へ供給する。2段の単位遅延素子3-(K+1),3-(K+2)は、遅延ストローブ信号CK1に対して2×tdの遅延量を追加する。マルチプレクサ4及び複数段の単位遅延素子3-(K+1),3-(K+2)は、トレーニング回路34又は制御回路33から受ける段数調整信号に応じて、ストローブ信号DQSに対する(Q+2)×tdの遅延量が付与された遅延ストローブ信号を、遅延ストローブ信号CK0として遅延回路DL2から出力するとともに単位遅延素子3-(K+3)へ供給する。単位遅延素子3-(K+3)は、遅延ストローブ信号CK1に対して2×tdの遅延量を追加する。マルチプレクサ4及び複数段の単位遅延素子3-(K+1)~3-(K+3)は、受けた段数調整信号に応じて、ストローブ信号DQSに対する(Q+3)×tdの遅延量が付与された遅延ストローブ信号を、遅延ストローブ信号CK2として遅延回路DL2から出力する。
図4の場合、遅延ストローブ信号CK1の遅延量は、次の数式2で表される。
Δt0-Δt1=Q×td・・・数式2
遅延ストローブ信号CK0の遅延量は、次の数式3で表される。
Δt0=(Q+2)×td・・・数式3
遅延ストローブ信号CK2の遅延量は、次の数式4で表される。
Δt0+Δt2=(Q+3)×td・・・数式4
数式2~4に示されるように、遅延ストローブ信号CK1の遅延量と遅延ストローブ信号CK0の遅延量との差分Δt1は、経由する単位遅延素子の段数の差であり、図4の場合、2段の単位遅延素子の合計遅延量に相当する。遅延ストローブ信号CK0の遅延量と遅延ストローブ信号CK2の遅延量との差分Δt2は、経由する単位遅延素子の段数の差であり、図4の場合、1段の単位遅延素子の合計遅延量に相当する。このため、差分Δt1及び差分Δt2は、それぞれ、次の数式5に示されるような固定量である。
Δt1=2×td,Δt2=td・・・数式5
数式5に示されるように、遅延ストローブ信号CK1の遅延量と遅延ストローブ信号CK0の遅延量との差分Δt1と遅延ストローブ信号CK0の遅延量と遅延ストローブ信号CK2の遅延量との差分Δt2とは、数式1を満たす。
なお、図4では、遅延回路DL2で付与され得る最小の遅延量が3×tdである場合が例示されているが、最小の遅延量は2×td以下でもよいし、4×td以上でもよい。また、Δt1が2×td、Δt2がtdの場合が例示されているが、数式1を満たせば、Δt1が3×td以上であってもよく、Δt2が2×td以上であってもよい。
図2に示すように、サンプラ31は、複数の遅延回路DL1[0:7]及び遅延回路DL2と、トレーニング回路34と出力ノード30cと検知回路32との間に接続される。サンプラ31は、複数のフリップフロップFF0[0:7]を有する。複数のフリップフロップFF0[0:7]は、複数の遅延回路DL1[0:7]に対応し、複数(この例では8)ビットの遅延データ信号DQ’[0:7]に対応する。各フリップフロップFF0は、対応する遅延データ信号DQ’を対応する遅延回路DL1[0:7]から受け、遅延ストローブ信号CK0を遅延回路DL2から受ける。各フリップフロップFF0は、遅延データ信号DQ’を遅延ストローブ信号CK0に同期してサンプリングする。複数のフリップフロップFF0[0:7]は、複数(この例では8)ビットのデータ信号P0[0:7]を、サンプリング結果として、トレーニング回路34と出力ノード30cと検知回路32とのそれぞれへ出力する。
トレーニング回路34は、メモリシステム300の起動時等に、遅延ストローブ信号CK0のエッジタイミングが遅延データ信号DQ’[0:7]のデータ有効ウィンドウの中央付近になるように、複数の遅延回路DL1[0:7]及び遅延回路DL2の遅延量を調整するトレーニングを行う。
トレーニング回路34は、図5に示すようなレプリカ発振回路8及び周波数計測回路7を有する。図5は、トレーニング回路34の構成を示す図である。レプリカ発振回路8は、複数段の単位遅延素子5-1~5-M(Mは2以上の整数)及びインバータ6を有する。複数段の単位遅延素子5-1~5-M及びインバータ6は、リング状に接続され、リングオシレータとして機能する。複数段の単位遅延素子5-1~5-Mは、直列に接続される。インバータ6は、入力ノードが最終段の単位遅延素子5-Mの出力ノードに接続され、出力ノードが初段の単位遅延素子5-1と周波数計測回路7に接続されている。
単位遅延素子5の遅延量は、単位遅延素子1,3の遅延量(図3、図4参照)と同じでもよい。単位遅延素子5の遅延量をtdとし、インバータ6による遅延量が単位遅延素子5の遅延量に比べて十分に小さく無視可能であるとする。このとき、レプリカ発振回路8の発振周波数Fは、次の数式6で表される。
F=1/(td×M×2)・・・数式6
数式6に示されるように、トレーニング回路34は、レプリカ発振回路8の発振周波数Fを周波数計測回路7で周波数を計測することで、単位遅延素子5の遅延量tdを求めることができ、所望の遅延量をえるために調整すべき単位遅延素子1,3の段数を計算できる。トレーニング回路34は、トレーニング実行時に、この計算結果に応じて段数調整信号を生成し、各遅延回路DL1[0:7],DL2へ供給する。
また、数式6に示されるように、レプリカ発振回路8の発振周波数Fを周波数計測回路7で計測することでドリフトによる単位遅延素子5の遅延量tdの変動を検出することが出来る。仮に計測した周波数の変動量が許容範囲を越えた時はトレーニング実行時から遅延ストローブ信号CK0のエッジタイミングが遅延データ信号DQ’[0:7]のデータ有効ウィンドウの中央からずれてしまい正常にサンプリング出来ていないことになる。
ここで、仮にドリフトが発生したことに応じてトレーニング回路34で再トレーニングを行うとする。ドリフトにより変動したレプリカ発振回路8の発振周波数F’は、次の数式7で表される。これにより、トレーニング回路34は、単位遅延素子の遅延量の変化量kを知る事が出来る。数式7では、発振周波数F’が数式6の発振周波数Fの1/kに変化して計測されることが示されている。数式7では、数式6におけるtdがk×tdに置き換わっている。トレーニング回路34は、発振周波数が1/k倍に変化したことに応じて、遅延量がk倍に変化したことを把握できる。
F’=1/(k×td×M×2)・・・数式7
レプリカ発振回路8の発振周波数の変化量から遅延量を補正するために、トレーニング回路34は、各遅延回路DL1[0:7],DL2毎の段数を1/kにして、変更すべき段数を計算することが考えられる。
しかし、各遅延回路DL1[0:7],DL2の現在の段数を1/kにした場合に、トータルの段数を整数で実現出来るとは限らない。そこで、現在の段数を1/kにした場合にトータルの段数が整数に近くなるように、各遅延回路DL1[0:7],DL2について、単位遅延素子の遅延量td,tdのサイズを小さくして、段数を多くすることも考えられる。単位遅延素子のサイズを小さくすると、製造ばらつきの影響などにより遅延量td,tdがばらつき、遅延回路DL1[0:7],DL2が要求される精度を満たすことが困難になる。段数を多くすると、回路面積が増大し遅延回路DL1[0:7],DL2のコストが増大し得る。また、段数を多くすると、遅延回路DL1[0:7],DL2の消費電力が増加し、メモリインタフェース100の消費電力が増大し得る。
再トレーニングを行う期間において、信号処理回路112は、メモリデバイス120との通信用の信号処理を中断することが考えられる。この場合、信号処理回路112は、送信用の信号処理を停止し、送信用の信号をメモリインタフェース100へ供給しない。あるいは、信号処理回路112は、受信用の信号処理を停止し、受信用の信号(すなわち、複数ビットのデータ信号P0[0:7])をメモリインタフェース100から受けても破棄する。これにより、コントローラ110は、メモリデバイス120との通信信号処理を中断させるので、通信の有効帯域が減少する可能性がある。
それに対して、図2に示すメモリインタフェース100は、トレーニング回路34での再トレーニングを行わない。検知回路32がデータ信号に対するストローブ信号のタイミングのドリフトを検知し、検知結果に基づいて、制御回路33が遅延回路DL2を制御して、ドリフトに応じた方向にストローブ信号の遅延量を調整する。
検知回路32は、複数ビットの遅延データ信号DQ’[0:7]、遅延ストローブ信号CK1、遅延ストローブ信号CK2を用いて、各遅延データ信号DQ’に対する遅延ストローブ信号CK0のタイミングのドリフトを検知する。検知回路32は、検知結果を制御回路33へ出力する。
検知回路32は、複数の遅延回路DL1[0:7]及び遅延回路DL2と制御回路33との間に接続される。検知回路32は、複数のフリップフロップFF1[0:7]、複数のフリップフロップFF2[0:7]、判定回路321、及び判定回路322を有する。
複数のフリップフロップFF1[0:7]は、複数の遅延回路DL1[0:7]に対応し、複数ビットの遅延データ信号DQ’[0:7]に対応する。複数ビットの遅延データ信号DQ’[0:7]及び遅延ストローブ信号CK1を受けると、各フリップフロップFF1は、対応する遅延データ信号DQ’を遅延ストローブ信号CK1に同期してサンプリングする。複数のフリップフロップFF1[0:7]は、複数ビットのデータ信号P1[0:7]を、サンプリング結果として、複数の判定回路321[0:7]へ出力する。
複数のフリップフロップFF2[0:7]は、複数の遅延回路DL1[0:7]に対応し、複数ビットの遅延データ信号DQ’[0:7]に対応する。複数ビットの遅延データ信号DQ’[0:7]及び遅延ストローブ信号CK2を受けると、各フリップフロップFF2は、対応する遅延データ信号DQ’を遅延ストローブ信号CK2に同期してサンプリングする。複数のフリップフロップFF2[0:7]は、複数ビットのデータ信号P2[0:7]を、サンプリング結果として、複数の判定回路322[0:7]へ出力する。
複数の判定回路321[0:7]は、複数のフリップフロップFF0[0:7]に対応し、複数のフリップフロップFF1[0:7]に対応する。各判定回路321は、対応するフリップフロップFF0から受けるデータ信号P0の論理レベルと対応するフリップフロップFF1から受けるデータ信号P1の論理レベルとの不一致を判定する。各判定回路321は、データ信号P0の論理レベルとデータ信号P1の論理レベルとが不一致であれば、不一致の発生を示す論理レベル(例えば、「1」)を判定結果として制御回路33へ出力する。各判定回路321は、データ信号P0の論理レベルとデータ信号P1の論理レベルとが一致していれば、不一致がないことを示す論理レベル(例えば、「0」)を判定結果として制御回路33へ出力する。
複数の判定回路322[0:7]は、複数のフリップフロップFF0[0:7]に対応し、複数のフリップフロップFF2[0:7]に対応する。各判定回路322は、対応するフリップフロップFF0から受けるデータ信号P0の論理レベルと対応するフリップフロップFF2から受けるデータ信号P2の論理レベルとの不一致を判定する。各判定回路321は、データ信号P0の論理レベルとデータ信号P2の論理レベルとが不一致であれば、不一致の発生を示す論理レベル(例えば、「1」)を判定結果として制御回路33へ出力する。各判定回路322は、データ信号P0の論理レベルとデータ信号P2の論理レベルとが一致していれば、不一致がないことを示す論理レベル(例えば、「0」)を判定結果として制御回路33へ出力する。
例えば、各判定回路321(判定回路321[0]~321[7]のそれぞれ)は、図6に示すように動作する。図6は、判定回路321の動作を示す図である。図6(a)は、判定回路321に対する入出力の信号の定義を示す図である。図6(b)は、判定回路321の動作を示す真理値表である。なお、図6では、各判定回路321の動作を例示しているが、各判定回路322(判定回路322[0]~322[7]のそれぞれ)の動作も図6に示す動作と同様である。
図6(a)に示すように、判定回路321は、2つの入力信号A,Bを受けて、1つの出力信号Zを生成する。図6(b)に示すように、判定回路321は、2つの入力信号A,Bの論理レベルが不一致であれば、不一致の発生を示す論理レベル(例えば、「1」)を有する出力信号Zを出力する。判定回路321は、2つの入力信号A,Bの論理レベルが一致していれば、一致の発生を示す論理レベル(例えば、「0」)を有する出力信号Zを出力する。
各判定回路321は、その内部構成として、図6(a)に示す信号に対して図6(b)に示す動作を行う任意の回路が適用可能であり、例えば、図7(a)~図7(d)に示す構成をとり得る。なお、図7では、各判定回路321の内部構成を例示しているが、各判定回路322(判定回路322[0]~322[7]のそれぞれ)の内部構成も図7に示す内部構成と同様である。
図7(a)では、判定回路321は、EXORゲートG1を有する。EXORゲートG1は、第1の入力ノードで信号Aを受け、第2の入力ノードで信号Bを受け、出力ノードから信号Zを出力する。EXORゲートG1は、信号A及び信号Bの排他的論理和を演算し、演算結果として信号Zを出力する。
図7(b)では、判定回路321は、複数のNANDゲートG11~G14を有する。NANDゲートG11は、第1の入力ノードで信号Aを受け、第2の入力ノードで信号Bを受け、出力ノードがNANDゲートG12,G13に接続されている。NANDゲートG12は、第1の入力ノードで信号Aを受け、第2の入力ノードがNANDゲートG11に接続され、出力ノードがNANDゲートG14に接続されている。NANDゲートG13は、第1の入力ノードがNANDゲートG11に接続され、第2の入力ノードで信号Bを受け、出力ノードがNANDゲートG14に接続されている。NANDゲートG12は、第1の入力ノードがNANDゲートG12に接続され、第2の入力ノードがNANDゲートG13に接続され、出力ノードから信号Zを出力する。NANDゲートG11は、信号A及び信号Bの否定論理積を演算し、演算結果をNANDゲートG12,G13へそれぞれ出力する。NANDゲートG12は、信号A及びNANDゲートG11の演算結果の否定論理積を演算し、演算結果をNANDゲートG14へ出力する。NANDゲートG13は、NANDゲートG11の演算結果及び信号Bの否定論理積を演算し、演算結果をNANDゲートG14へ出力する。NANDゲートG14は、NANDゲートG12の演算結果及びNANDゲートG13の演算結果の否定論理積を演算し、演算結果を信号Zとして出力する。
図7(c)では、判定回路321は、複数のトランジスタPM1~PM4,NM1~NM4を有する。電源電位及びグランド電位の間にトランジスタPM1,PM2,NM1,NM2が直列に接続されている。電源電位及びグランド電位の間にトランジスタPM3,PM4,NM3,NM4が直列に接続されている。トランジスタPM1,PM2,NM1,NM2の直列接続とトランジスタPM3,PM4,NM3,NM4の直列接続とは、中間のノードN1,N2が共通接続される。
トランジスタPM1は、例えばPMOSトランジスタであり、ソースが電源電位に接続され、ドレインがトランジスタPM2に接続され、ゲートで信号BNを受ける。信号BNは、信号Bが論理反転された信号である。トランジスタPM2は、例えばPMOSトランジスタであり、ソースがトランジスタPM1に接続され、ドレインがノードN1に接続され、ゲートで信号Aを受ける。トランジスタNM1は、例えばNMOSトランジスタであり、ソースがトランジスタNM2に接続され、ドレインがノードN1に接続され、ゲートで信号Aを受ける。トランジスタNM2は、例えばNMOSトランジスタであり、ソースがグランド電位に接続され、ドレインがトランジスタNM1に接続され、ゲートで信号Bを受ける。信号Zは、ノードN1から出力される。
トランジスタPM3は、例えばPMOSトランジスタであり、ソースが電源電位に接続され、ドレインがトランジスタPM4に接続され、ゲートで信号Bを受ける。トランジスタPM4は、例えばPMOSトランジスタであり、ソースがトランジスタPM3に接続され、ドレインがノードN2に接続され、ゲートで信号ANを受ける。信号ANは、信号Aが論理反転された信号である。トランジスタNM3は、例えばNMOSトランジスタであり、ソースがトランジスタNM4に接続され、ドレインがノードN2に接続され、ゲートで信号ANを受ける。トランジスタNM4は、例えばNMOSトランジスタであり、ソースがグランド電位に接続され、ドレインがトランジスタNM3に接続され、ゲートで信号BNを受ける。信号Zは、ノードN2から出力される。
図7(d)では、判定回路321は、複数のトランジスタPM11,PM12,NM11,NM12を有する。トランジスタPM11及びトランジスタNM11は、ソース・ドレインがそれぞれ共通接続され、トランスファーゲートTG1を構成する。トランスファーゲートTG1は、入力ノードで信号Bを受け、反転ゲートで信号Aを受け、非反転ゲートで信号ANを受け、出力ノードから信号Zを出力する。トランジスタPM12及びトランジスタNM12は、ソース・ドレインがそれぞれ共通接続され、トランスファーゲートTG2を構成する。トランスファーゲートTG2は、入力ノードで信号BNを受け、反転ゲートで信号ANを受け、非反転ゲートで信号Aを受け、出力ノードから信号Zを出力する。
トランジスタPM11は、例えばPMOSトランジスタであり、ソースが入力ノードNin1及びトランジスタNM11のドレインに接続され、ドレインが出力ノードNoutに接続され、ゲートで信号Aを受ける。トランジスタNM11は、例えばNMOSトランジスタであり、ドレインが入力ノードNin1及びトランジスタPM11のソースに接続され、ソースが出力ノードNoutに接続され、ゲートで信号ANを受ける。トランジスタPM12は、例えばPMOSトランジスタであり、ソースが入力ノードNin2及びトランジスタNM12のドレインに接続され、ドレインが出力ノードNoutに接続され、ゲートで信号ANを受ける。トランジスタNM12は、例えばNMOSトランジスタであり、ドレインが入力ノードNin2及びトランジスタPM12のソースに接続され、ソースが出力ノードNoutに接続され、ゲートで信号Aを受ける。信号Zは、出力ノードNoutから出力される。
図2に示すように、制御回路33は、検知回路32と遅延回路DL2との間に接続される。検知回路32でドリフトが検知されると、制御回路33は、遅延回路DL2を制御して、そのドリフトに応じた方向に、各遅延ストローブ信号CK0,CK1,CK2の遅延量Δt0,Δt0-Δt1,Δt0+Δt2を調整する。すなわち、制御回路33は、ドリフトに応じた方向に各遅延ストローブ信号CK0,CK1,CK2の遅延量Δt0,Δt0-Δt1,Δt0+Δt2を調整する段数調整信号を生成して遅延回路DL2へ供給する。
このとき、差分の遅延量Δt1,Δt2が固定量である場合、制御回路33は、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2を、互いに同じ変更量で変更させてもよい。
また、セットアップのタイミングマージンがホールドのタイミングマージンに比べて厳しい傾向にある場合、差分の遅延量Δt1,Δt2は、数式1の関係を満たしてもよい。この場合、検知回路32でドリフトが検知されると、制御回路33は、数式1の関係を満たしながら、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれ調整する。
例えば、制御回路33は、複数の判定回路321[0:7]から判定結果を受け、複数の判定回路322[0:7]から判定結果を受ける。制御回路33は、複数の判定回路321[0:7]の判定結果と複数の判定回路322[0:7]の判定結果に基づいて、遅延回路DL2を制御して、不一致が解消される方向に、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれ調整する。
制御回路33は、複数の判定回路321[0:7]のうち少なくとも1つの判定回路321(321[0]~321[7]のいずれか)から不一致の発生を示す判定結果を受けた場合、遅延回路DL2を制御して、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれ増加させる。このとき、制御回路33は、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれΔt1で増加させてもよい。これにより、ドリフトによって遅延データ信号DQ’のセットアップのタイミングマージンが減少してきた場合に、遅延ストローブ信号CK0のエッジタイミングをデータ有効ウィンドウの中央付近に近付ける方向に微小時間(例えば、Δt1)でシフトさせることができる。
制御回路33は、複数の判定回路322[0:7]のうち少なくとも1つの判定回路322(322[0]~322[7]のいずれか)から不一致の発生を示す判定結果を受けた場合、遅延回路DL2を制御して、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれ減少させる。このとき、制御回路33は、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれΔt2で減少させてもよい。これにより、ドリフトによって遅延データ信号DQ’のホールドのタイミングマージンが減少してきた場合に、遅延ストローブ信号CK0のエッジタイミングをデータ有効ウィンドウの中央付近に近付ける方向に微小時間(例えば、Δt2)でシフトさせることができる。
次に、メモリインタフェース100におけるトレーニングについて図8を用いて説明する。図8(a)~図8(d)は、それぞれ、トレーニングを示す波形図である。図8(a)~図8(d)では、それぞれ、複数の遅延データ信号DQ’[0]~DQ’[7]の波形が重ねられた波形が遅延データ信号DQ’[0:7]の波形として示されている。図8(a)~図8(d)では、便宜的に、遅延データ信号DQ’[0:7]の波形における左側のエッジを左エッジと呼び、遅延データ信号DQ’[0:7]の波形における右側のエッジを右エッジと呼ぶことにする。
図8(a)に示すように、複数の遅延データ信号DQ’[0]~DQ’[7]は、左エッジのタイミングが概ね近いタイミングとなっているが多少ばらついており、右エッジのタイミングが概ね近いタイミングとなっているが多少ばらついている。これは、入力バッファ15とメモリデバイス120との間の信号線の長さやメモリデバイス120の特性が複数ビットのデータ信号DQ[0:7]の間でばらついていることに起因する。このため、遅延データ信号DQ’[0:7]のデータ有効ウィンドウTPwは、複数の遅延データ信号DQ’[0]~DQ’[7]のうち最も遅い左エッジのタイミングから、複数の遅延データ信号DQ’[0]~DQ’[7]のうち最も早い右エッジのタイミングまでの期間となる。遅延ストローブ信号CK0の半周期に対応する波形処理の単位期間を1UI(Unit Interval)とすると、遅延データ信号DQ’[0:7]のデータ有効ウィンドウTPwは、1UIより時間的に若干短い期間となる。
トレーニングの初期状態において、遅延ストローブ信号CK0の立ち上がりエッジタイミングを基準のタイミングt0とする。基準のタイミングt0は、遅延データ信号DQ’[0:7]のデータ有効ウィンドウTPwの中央からずれていることが多い。トレーニング回路34は、遅延回路DL2の段数調整信号で調整する段数を固定しながら、複数の遅延回路DL1[0:7]の段数調整信号で調整する段数を徐々に(例えば、1段ずつ)増やしていく。
これにより、トレーニング回路34は、図8(b)に示すように、データ有効ウィンドウTPwの開始タイミングを基準のタイミングt0に一致させる。トレーニング回路34は、複数ビットのデータ信号P0[0:7]のうち少なくとも1つのデータ信号P0の論理レベルが反転すれば、データ有効ウィンドウTPwの開始タイミングが基準のタイミングt0にほぼ一致したと判断できる。
その後、トレーニング回路34は、複数の遅延回路DL1[0:7]の段数調整信号で調整する段数を固定しながら、遅延回路DL2の段数調整信号で調整する段数を徐々に(例えば、1段ずつ)増やしていく。これにより、トレーニング回路34は、図8(c)に示すように、遅延ストローブ信号CK0の立ち上がりエッジタイミングをデータ有効ウィンドウTPwの終了タイミングt1に一致させる。トレーニング回路34は、複数ビットのデータ信号P0[0:7]のうち少なくとも1つのデータ信号P0の論理レベルが反転すれば、遅延ストローブ信号CK0の立ち上がりエッジタイミングがデータ有効ウィンドウTPwの終了タイミングt1にほぼ一致したと判断できる。
トレーニング回路34は、図8(b)で調整した段数と図8(c)で調整した段数との差分を略1/2倍し、図8(b)で調整した段数に略1/2倍された差分の段数を加算し、遅延回路DL2で調整すべき段数を求める。トレーニング回路34は、複数の遅延回路DL1[0:7]の段数調整信号で調整する段数を固定しながら、遅延回路DL2の段数調整信号で調整する段数を、求めた段数に設定する。
これにより、トレーニング回路34は、図8(d)に示すように、遅延ストローブ信号CK0の立ち上がりエッジタイミングをデータ有効ウィンドウTPwの中央部分のタイミングt01に一致させる。それとともに、トレーニング回路34は、遅延ストローブ信号CK1の立ち上がりエッジタイミングをデータ有効ウィンドウTPwの中央部分のタイミングt01からΔt1前のタイミングt11に一致させる。トレーニング回路34は、遅延ストローブ信号CK2の立ち上がりエッジタイミングをデータ有効ウィンドウTPwの中央部分のタイミングt01からΔt2後のタイミングt21に一致させる。
このとき、遅延回路DL2による遅延ストローブ信号CK0の遅延量Δt0は、ストローブ信号DQSの立ち上がりエッジタイミングに対するタイミングt01の遅延量に相当する。同様に、遅延回路DL2による遅延ストローブ信号CK1の遅延量Δt0-Δt1は、ストローブ信号DQSの立ち上がりエッジタイミングに対するタイミングt01の遅延量から差分Δt1を減算した遅延量に相当し、ストローブ信号DQSの立ち上がりエッジタイミングに対するタイミングt11の遅延量に相当する。遅延回路DL2による遅延ストローブ信号CK2の遅延量Δt0+Δt1は、ストローブ信号DQSの立ち上がりエッジタイミングに対するタイミングt01の遅延量に差分Δt2を加算した遅延量に相当し、ストローブ信号DQSの立ち上がりエッジタイミングに対するタイミングt21の遅延量に相当する。
図8(d)の状態で、トレーニング回路34は、トレーニングを完了する。このとき、遅延ストローブ信号CK0の立ち上がりエッジタイミングがデータ有効ウィンドウTPwの中央部分にあるため、遅延ストローブ信号CK0に対する遅延データ信号DQ’[0:7]のセットアップ・ホールドのタイミングマージンを容易に確保できる。
次に、トレーニングの流れについて図9を用いて説明する。図9は、トレーニングの流れを示すフローチャートである。
メモリインタフェース100は、メモリシステム300の起動時等のトレーニングを実行すべきタイミングになるまで(S1でNo)トレーニングの実行を待機する。
メモリインタフェース100は、トレーニングを実行すべきタイミングになると(S1でYes)、遅延データ信号DQ’[0:7]のデータ有効ウィンドウTPwの左エッジを探索する(S2)。例えば、メモリインタフェース100は、遅延ストローブ信号CK0の遅延量を固定した状態で遅延データ信号DQ’[0:7]の遅延量を変化させていき、遅延ストローブ信号CK0の立ち上がりエッジをデータ有効ウィンドウTPwの開始タイミングに略一致させる。
次に、メモリインタフェース100は、遅延データ信号DQ’[0:7]のデータ有効ウィンドウTPwの右エッジを探索する(S3)。例えば、メモリインタフェース100は、遅延データ信号DQ’[0:7]の遅延量を固定した状態で遅延ストローブ信号CK0の遅延量を変化させていき、遅延ストローブ信号CK0の立ち上がりエッジをデータ有効ウィンドウTPwの終了タイミングに略一致させる。
次に、メモリインタフェース100は、遅延ストローブ信号CK0の立ち上がりエッジをデータ有効ウィンドウTPwの中央に合わせる(S4)。例えば、メモリインタフェース100は、遅延ストローブ信号CK0のS2での遅延量とS3での遅延量との中間の遅延量となるように制御することで、遅延ストローブ信号CK0の立ち上がりエッジをデータ有効ウィンドウTPwの中央に合わせることができる。なお、このとき、メモリインタフェース100は、ストローブ信号DQSに対する遅延ストローブ信号CK0の遅延量をΔt0とする。これにより、メモリインタフェース100は、ドリフト検出用の遅延ストローブ信号CK1,CK2もデータ有効ウィンドウTPwの中央付近に合わせることができる。すなわち、メモリインタフェース100は、ストローブ信号DQSを遅延量Δt0で遅延させて遅延ストローブ信号CK0を生成する。メモリインタフェース100は、ストローブ信号DQSを遅延量Δt0-Δt1で遅延させて遅延ストローブ信号CK1を生成する。メモリインタフェース100は、ストローブ信号DQSを遅延量Δt0+Δt2で遅延させて遅延ストローブ信号CK2を生成する。
次に、図10を用いて、セットアップのタイミングマージンが減少する方向にドリフトが発生した場合の遅延制御動作について説明する。図10は、遅延制御動作を示す波形図である。
トレーニング後に温度変動及び/又は電源電圧変動が発生すると、トレーニング実行時からデータ信号及び/又はストローブ信号のタイミングがドリフトして、図10(a)に示す状態になることがある。この場合、セットアップのタイミングマージンが減少する。
図10(a)に示す状態では、遅延ストローブ信号CK1の立ち上がりエッジタイミングt11が、データ有効ウィンドウTPwを外れ、データ有効ウィンドウTPwの開始タイミングt0より若干前のタイミングになっている。このとき、遅延ストローブ信号CK0は、データ有効ウィンドウTPwの中央から遅延データ信号DQ’[0:7]の左エッジ側に近づき、遅延データ信号DQ’[0:7]のセットアップのタイミングマージンが減少している。
これに応じて、複数の判定回路321[0:7]のうち少なくとも1つの判定回路321は、不一致の発生を示す論理レベル(例えば、「1」)を判定結果として制御回路33へ出力する。このとき、複数の判定回路322[0:7]は、いずれも、一致を示す論理レベル(例えば、「0」)を判定結果として制御回路33へ出力する。制御回路33は、少なくとも1つの判定回路321から不一致の発生を示す判定結果を受けたことに応じて、遅延回路DL2を制御して、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれ増加させる。このとき、制御回路33は、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれΔt1で増加させてもよい。
これにより、図10(b)に示すように、遅延ストローブ信号CK0、遅延ストローブ信号CK1、遅延ストローブ信号CK2の各立ち上がりエッジタイミングt01,t11,t21がある量(例えば、Δt1)でシフトして、t02,t12,t22になる。すなわち、遅延ストローブ信号CK0の立ち上がりエッジタイミングをデータ有効ウィンドウTPwの中央付近に近付ける方向に微小時間(例えば、Δt1)でシフトさせることができる。この結果、メモリデバイス120との通信信号処理を継続しながら、セットアップのタイミングマージンを確保できる。
次に、図11を用いて、ホールドのタイミングマージンが減少する方向にドリフトが発生した場合の遅延制御動作について説明する。図11は、遅延制御動作を示す波形図である。
トレーニング後に温度変動及び/又は電源電圧変動が発生すると、トレーニング実行時からデータ信号及び/又はストローブ信号のタイミングがドリフトして、図11(a)に示す状態になることがある。この場合、ホールドのタイミングマージンが減少する。
図11(a)に示す状態では、遅延ストローブ信号CK2の立ち上がりエッジタイミングt21が、データ有効ウィンドウTPwを外れ、データ有効ウィンドウTPwの終了タイミングt1より若干後のタイミングになっている。このとき、遅延ストローブ信号CK0は、データ有効ウィンドウTPwの中央から遅延データ信号DQ’[0:7]の右エッジ側に近づき、遅延データ信号DQ’[0:7]のホールドのタイミングマージンが減少している。
これに応じて、複数の判定回路322[0:7]のうち少なくとも1つの判定回路322は、不一致の発生を示す論理レベル(例えば、「1」)を判定結果として制御回路33へ出力する。このとき、複数の判定回路321[0:7]は、いずれも、一致を示す論理レベル(例えば、「0」)を判定結果として制御回路33へ出力する。制御回路33は、少なくとも1つの判定回路322から不一致の発生を示す判定結果を受けたことに応じて、遅延回路DL2を制御して、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれ減少させる。このとき、制御回路33は、遅延量Δt0、遅延量Δt0-Δt1、遅延量Δt0+Δt2をそれぞれΔt2で減少させてもよい。
これにより、図11(b)に示すように、遅延ストローブ信号CK0、遅延ストローブ信号CK1、遅延ストローブ信号CK2の各立ち上がりエッジタイミングt01,t11,t21がある量(例えば、Δt2)でシフトして、t03,t13,t23になる。すなわち、遅延ストローブ信号CK0の立ち上がりエッジタイミングをデータ有効ウィンドウTPwの中央付近に近付ける方向に微小時間(例えば、Δt2)でシフトさせることができる。この結果、メモリデバイス120との通信信号処理を継続しながら、ホールドのタイミングマージンを確保できる。
次に、遅延制御動作の流れについて図12を用いて説明する。図12は、遅延制御動作の流れを示すフローチャートである。
メモリインタフェース100は、遅延ストローブ信号CK0,CK1,CK2を生成する(S11)。メモリインタフェース100は、ストローブ信号DQSを遅延量Δt0で遅延させて遅延ストローブ信号CK0を生成する。メモリインタフェース100は、ストローブ信号DQSを遅延量Δt0-Δt1で遅延させて遅延ストローブ信号CK1を生成する。メモリインタフェース100は、ストローブ信号DQSを遅延量Δt0+Δt2で遅延させて遅延ストローブ信号CK2を生成する。
メモリインタフェース100は、遅延データ信号DQ’[0:7]、遅延ストローブ信号CK0、遅延ストローブ信号CK1、遅延ストローブ信号CK2を用いて、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングのドリフトを検知する。具体的には、メモリインタフェース100は、以下のS12,S14の処理を行う。
メモリインタフェース100は、遅延データ信号DQ’[0:7]、遅延ストローブ信号CK0、遅延ストローブ信号CK1、遅延ストローブ信号CK2を用いて、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが左エッジ側にドリフトしているか否かを判定する(S12)。メモリインタフェース100は、複数の判定回路321[0:7]のうち少なくとも1つの判定回路321で不一致の発生が判定された場合に、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが左エッジ側にドリフトしていると判定できる。メモリインタフェース100は、複数の判定回路321[0:7]のいずれの判定回路321でも不一致の発生が判定されなかった場合に、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが左エッジ側にドリフトしていないと判定できる。
遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが左エッジ側にドリフトしている場合(S12でYes)、メモリインタフェース100は、遅延ストローブ信号CK0,CK1,CK2の遅延量をそれぞれ増加させる(S13)。例えば、メモリインタフェース100は、遅延ストローブ信号CK0,CK1,CK2の遅延量をそれぞれΔt1で増加させてもよい。
遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが左エッジ側にドリフトしていない場合(S12でNo)、メモリインタフェース100は、遅延データ信号DQ’[0:7]、遅延ストローブ信号CK0、遅延ストローブ信号CK1、遅延ストローブ信号CK2を用いて、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが右エッジ側にドリフトしているか否かを判定する(S14)。メモリインタフェース100は、複数の判定回路322[0:7]のうち少なくとも1つの判定回路322で不一致の発生が判定された場合に、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが右エッジ側にドリフトしていると判定できる。メモリインタフェース100は、複数の判定回路322[0:7]のいずれの判定回路322でも不一致の発生が判定されなかった場合に、遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが右エッジ側にドリフトしていないと判定できる。
遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが右エッジ側にドリフトしている場合(S14でYes)、メモリインタフェース100は、遅延ストローブ信号CK0,CK1,CK2の遅延量をそれぞれ減少させる(S15)。例えば、メモリインタフェース100は、遅延ストローブ信号CK0,CK1,CK2の遅延量をそれぞれΔt2で減少させてもよい。
遅延データ信号DQ’[0:7]に対する遅延ストローブ信号CK0のタイミングが右エッジ側にドリフトしていない場合(S14でNo)、ドリフトが検知されていないとして、メモリインタフェース100は、処理をS11へ戻す。
以上のように、本実施形態では、メモリインタフェース100において、データ信号に対するストローブ信号のタイミングのドリフトを検知してドリフトに応じた方向にストローブ信号の遅延量を調整する。これにより、データ信号及びストローブ信号の遅延量を適切化でき、メモリデバイス120との通信信号処理を継続しながら、データ信号のセットアップ・ホールドのタイミングマージンを確保できる。
なお、セットアップのタイミングマージンとホールドのタイミングマージンとの違いが無視できる場合、差分の遅延量Δt1,Δt2は、均等であってもよい。すなわち、遅延ストローブ信号CK1の遅延量と遅延ストローブ信号CK0の遅延量との差分Δt1と、遅延ストローブ信号CK0の遅延量と遅延ストローブ信号CK2の遅延量との差分Δt2とは、均等であってもよい。また、この場合、図10(a)の場合に各遅延ストローブ信号CK0,CK1,CK2のエッジタイミングのシフトさせる量と図11(a)の場合に各遅延ストローブ信号CK0,CK1,CK2のエッジタイミングのシフトさせる量とは、絶対値が均等であってもよい。
あるいは、実施形態では、温度変動及び/又は電源電圧変動によるデータ信号及び/又はストローブ信号のタイミングのドリフトがトレーニング後に生じる場合が例示されているが、ドリフトは、トレーニング期間中に生じる可能性もある。このため、メモリインタフェース100は、トレーニング期間において、トレーニング回路34によるトレーニングで遅延ストローブ信号CK0,CK1,CK2の遅延量を設定し、その後、検知回路32及び制御回路33により遅延ストローブ信号CK0,CK1,CK2の遅延量を微調整してもよい。例えば、メモリインタフェース100は、トレーニング期間において、トレーニング回路34により図9のS1~S4の処理を行い、その後、検知回路32及び制御回路33により図12のS11~S15の処理を行ってもよい。これにより、トレーニングの精度を向上できる。また、例えば、メモリインタフェース100は、トレーニング期間において、トレーニング回路34に変えて、検知回路32及び制御回路33により図9のS1~S4の処理を行ってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
31 サンプラ、32 検知回路、33 制御回路、100 メモリインタフェース、120 メモリデバイス、130 有線通信路、300 メモリシステム。

Claims (8)

  1. メモリデバイスと、
    有線通信路を介して前記メモリデバイスに接続されたインタフェース回路と、
    を備え、
    前記インタフェース回路は、
    データ信号に遅延量を付与して遅延データ信号を生成する第1の遅延回路と、
    前記データ信号に同期するストローブ信号を第1の遅延量で遅延させた第1の遅延ストローブ信号と前記ストローブ信号を前記第1の遅延量より少ない第2の遅延量で遅延させた第2の遅延ストローブ信号と前記ストローブ信号を前記第1の遅延量より多い第3の遅延量で遅延させた第3の遅延ストローブ信号とを生成する第2の遅延回路と、
    前記遅延データ信号、前記第1の遅延ストローブ信号、前記第2の遅延ストローブ信号、前記第3の遅延ストローブ信号を用いて、前記遅延データ信号に対する前記第1の遅延ストローブ信号のタイミングのドリフトを検知する検知回路と、
    前記ドリフトに応じた方向に前記第1の遅延量、前記第2の遅延量、及び前記第3の遅延量を調整する制御回路と、
    を有する
    メモリシステム。
  2. 前記第1の遅延量と前記第2の遅延量との差分と、前記第1の遅延量と前記第3の遅延量との差分とは、それぞれ、固定量であり、
    前記制御回路は、前記第1の遅延量、前記第2の遅延量、前記第3の遅延量を、互いに同じ変更量で変更させる
    請求項1に記載のメモリシステム。
  3. 前記第1の遅延量と前記第2の遅延量との第1差分は、前記第1の遅延量と前記第3の遅延量との第2差分より大きく、
    前記制御回路は、前記第1差分が前記第2差分より大きい関係を維持しながら、前記第1の遅延量、前記第2の遅延量、前記第3の遅延量をそれぞれ変更させる
    請求項1に記載のメモリシステム。
  4. 前記遅延データ信号を受ける第1ノードと前記第1の遅延ストローブ信号を受ける第2ノードとを有する第1のフリップフロップを有するサンプラをさらに備え、
    前記検知回路は、
    前記遅延データ信号を受ける第3ノードと前記第2の遅延ストローブ信号を受ける第4ノードとを有する第2のフリップフロップと、
    前記遅延データ信号を受ける第5ノードと前記第3の遅延ストローブ信号を受ける第6ノードとを有する第3のフリップフロップと、
    前記第1のフリップフロップから出力される第1のレベルと前記第2のフリップフロップから出力される第2のレベルとの一致又は不一致を判定する第1の判定回路と、
    前記第1のレベルと前記第3のフリップフロップから出力される第3のレベルとの一致又は不一致を判定する第2の判定回路と、
    を有し、
    前記制御回路は、前記第1の判定回路の判定結果と前記第2の判定回路の判定結果とに基づいて、前記第1の判定回路又は前記第2の判定回路で判定される不一致が解消される方向に前記第1の遅延量、前記第2の遅延量、前記第3の遅延量を調整する
    請求項1に記載のメモリシステム。
  5. 前記制御回路は、前記第1の判定回路で不一致が判定された場合、前記第1の遅延量、前記第2の遅延量、前記第3の遅延量をそれぞれ減少させ、前記第2の判定回路で不一致が判定された場合、前記第1の遅延量、前記第2の遅延量、前記第3の遅延量をそれぞれ増加させる
    請求項4に記載のメモリシステム。
  6. 前記有線通信路は、複数ビット幅のバス配線を含み、
    前記メモリシステムは、複数の前記第1の遅延回路、複数の前記第1のフリップフロップ、複数の前記第2のフリップフロップ、複数の前記第3のフリップフロップ、複数の前記第1の判定回路、複数の前記第2の判定回路を備え、
    前記複数の第1の遅延回路は、前記メモリデバイスから前記バス配線を介して複数ビットのデータをパラレルに受け、
    前記複数の第1のフリップフロップは、前記複数の第1の遅延回路に対応し、それぞれの前記第1ノードが対応する第1の遅延回路に接続され、
    前記複数の第2のフリップフロップは、前記複数の第1の遅延回路に対応し、それぞれの前記第3ノードが対応する第1の遅延回路に接続され、
    前記複数の第3のフリップフロップは、前記複数の第1の遅延回路に対応し、それぞれの前記第5ノードが対応する第1の遅延回路に接続され、
    前記複数の第1の判定回路は、前記複数の第1のフリップフロップに対応し、前記複数の第2のフリップフロップに対応し、それぞれが対応する第1のフリップフロップから出力される第1のレベルと対応する第2のフリップフロップから出力される第2のレベルとの不一致を判定し、
    前記複数の第2の判定回路は、前記複数の第1のフリップフロップに対応し、前記複数の第3のフリップフロップに対応し、それぞれが対応する第1のフリップフロップから出力される第1のレベルと対応する第3のフリップフロップから出力される第3のレベルとの不一致を判定し、
    前記制御回路は、前記複数の第1の判定回路の判定結果と前記複数の第2の判定回路の判定結果とに基づいて、前記複数の第1の判定回路又は前記複数の第2の判定回路で判定される不一致が解消される方向に前記第1の遅延量、前記第2の遅延量、前記第3の遅延量を調整する
    請求項4に記載のメモリシステム。
  7. メモリデバイスから有線通信路を介して受けるデータ信号に遅延量を付与して遅延データ信号を生成するとともに、前記データ信号に同期するストローブ信号を第1の遅延量で遅延させた第1の遅延ストローブ信号と前記ストローブ信号を前記第1の遅延量より少ない第2の遅延量で遅延させた第2の遅延ストローブ信号と前記ストローブ信号を前記第1の遅延量より多い第3の遅延量で遅延させた第3の遅延ストローブ信号とを生成することと、
    前記遅延データ信号、前記第1の遅延ストローブ信号、前記第2の遅延ストローブ信号、前記第3の遅延ストローブ信号を用いて、前記遅延データ信号に対する前記第1の遅延ストローブ信号のタイミングのドリフトを検知することと、
    前記ドリフトに応じた方向に前記第1の遅延量、前記第2の遅延量、前記第3の遅延量を調整することと、
    を含む遅延制御方法。
  8. 前記検知することは、
    前記遅延データ信号が前記第1の遅延ストローブ信号に同期して第1のフリップフロップで保持されて出力される第1のレベルと前記遅延データ信号が前記第2の遅延ストローブ信号に同期して第2のフリップフロップで保持されて出力される第2のレベルとの不一致を判定することと、
    前記第1のレベルと前記遅延データ信号が前記第3の遅延ストローブ信号に同期して第3のフリップフロップで保持されて出力される第3のレベルとの不一致を判定することと、
    を含み、
    前記調整することは、
    前記第1のレベル及び前記第2のレベルの不一致の判定結果と前記第1のレベル及び前記第3のレベルの不一致の判定結果に基づいて、前記第1のレベル及び前記第2のレベルの不一致又は前記第1のレベル及び前記第3のレベルの不一致が解消される方向に前記第1の遅延量、前記第2の遅延量、前記第3の遅延量を調整することを含む
    請求項7に記載の遅延制御方法。
JP2021047534A 2021-03-22 2021-03-22 メモリシステム及び遅延制御方法 Pending JP2022146532A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021047534A JP2022146532A (ja) 2021-03-22 2021-03-22 メモリシステム及び遅延制御方法
TW110120393A TWI784556B (zh) 2021-03-22 2021-06-04 記憶體系統及延遲控制方法
CN202110947827.3A CN115114194B (zh) 2021-03-22 2021-08-18 存储系统以及延迟控制方法
US17/459,536 US11605407B2 (en) 2021-03-22 2021-08-27 Memory system and delay control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021047534A JP2022146532A (ja) 2021-03-22 2021-03-22 メモリシステム及び遅延制御方法

Publications (1)

Publication Number Publication Date
JP2022146532A true JP2022146532A (ja) 2022-10-05

Family

ID=83283990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021047534A Pending JP2022146532A (ja) 2021-03-22 2021-03-22 メモリシステム及び遅延制御方法

Country Status (4)

Country Link
US (1) US11605407B2 (ja)
JP (1) JP2022146532A (ja)
CN (1) CN115114194B (ja)
TW (1) TWI784556B (ja)

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918048B2 (en) * 2001-06-28 2005-07-12 Intel Corporation System and method for delaying a strobe signal based on a slave delay base and a master delay adjustment
JP4786262B2 (ja) * 2005-09-06 2011-10-05 ルネサスエレクトロニクス株式会社 インターフェイス回路
US7698589B2 (en) * 2006-03-21 2010-04-13 Mediatek Inc. Memory controller and device with data strobe calibration
US7661010B2 (en) * 2006-05-31 2010-02-09 Mosaid Technologies Incorporated Apparatus and method for interfacing to a memory
CN101536310B (zh) * 2006-12-05 2012-04-25 富士通半导体股份有限公司 数字dll电路
US7952945B2 (en) * 2009-03-30 2011-05-31 Cadence Design Systems, Inc. Method and apparatus for determining write leveling delay for memory interfaces
JP2011003088A (ja) * 2009-06-19 2011-01-06 Panasonic Corp データラッチ調整装置およびそれを用いたメモリアクセスシステム
JP5568057B2 (ja) 2011-05-30 2014-08-06 株式会社東芝 メモリアクセス回路及びメモリシステム
WO2013099035A1 (ja) * 2011-12-29 2013-07-04 ルネサスエレクトロニクス株式会社 半導体装置
JP6201401B2 (ja) 2013-04-26 2017-09-27 富士通株式会社 タイミング制御回路
TWI489482B (zh) * 2014-04-25 2015-06-21 群聯電子股份有限公司 取樣電路模組、記憶體控制電路單元及資料取樣方法
US9443572B2 (en) 2014-06-06 2016-09-13 Qualcomm Incorporated Programmable power for a memory interface
US9520864B2 (en) * 2014-06-06 2016-12-13 Qualcomm Incorporated Delay structure for a memory interface
JP6480226B2 (ja) * 2015-03-25 2019-03-06 ラピスセミコンダクタ株式会社 スキュー調整装置
US9496879B1 (en) 2015-09-01 2016-11-15 Qualcomm Incorporated Multiphase clock data recovery for a 3-phase interface
KR20170096798A (ko) * 2016-02-17 2017-08-25 에스케이하이닉스 주식회사 클럭 생성 회로, 이를 이용하는 인터페이스 회로 및 반도체 시스템
US10158352B2 (en) 2017-01-11 2018-12-18 Mediatek Inc. Delay signal generating apparatus using glitch free digitally controlled delay line and associated delay signal generating method
US10332574B2 (en) * 2017-03-24 2019-06-25 Mediatek Inc. Embedded memory with setup-hold time controlled internally or externally and associated integrated circuit
JP2019160238A (ja) 2018-03-16 2019-09-19 東芝メモリ株式会社 メモリインタフェース及びメモリシステム
CN108899057B (zh) * 2018-06-12 2020-09-18 豪威科技(上海)有限公司 读dqs信号门选通训练方法、装置以及数据传输系统

Also Published As

Publication number Publication date
US11605407B2 (en) 2023-03-14
US20220301607A1 (en) 2022-09-22
CN115114194A (zh) 2022-09-27
TW202238398A (zh) 2022-10-01
CN115114194B (zh) 2024-03-29
TWI784556B (zh) 2022-11-21

Similar Documents

Publication Publication Date Title
JP4065234B2 (ja) 同期式チップーチップシステムのデータリカバリ装置
US8984320B2 (en) Command paths, apparatuses and methods for providing a command to a data block
EP2153525B1 (en) Adjusting clock error across a circuit interface
US9000817B2 (en) Apparatuses and methods for altering a forward path delay of a signal path
US7477083B2 (en) DLL circuit feeding back ZQ calibration result, and semiconductor device incorporating the same
KR101837239B1 (ko) 반도체 장치
JP4416580B2 (ja) 遅延制御装置
JP6209978B2 (ja) メモリコントローラ,情報処理装置及び基準電圧調整方法
US20080054964A1 (en) Semiconductor memory device
US11462252B2 (en) Controller and semiconductor system including a controller
US11082034B1 (en) Cycle accurate skew adjust
US11043946B1 (en) Continuous skew adjust
US8624643B2 (en) Semiconductor memory apparatus
JP6273856B2 (ja) メモリコントローラ及び情報処理装置
US11275113B2 (en) Measuring a control system response time
JP2022146532A (ja) メモリシステム及び遅延制御方法
US10951198B1 (en) Semiconductor integrated circuit, transmission device, and memory device
JP5303830B2 (ja) ピリオドジッタキャンセル回路、静的位相差キャンセル回路、ピリオドジッタ測定回路、静的位相差測定回路及び位相差調整回路
KR100945793B1 (ko) Dll 회로 및 이를 포함하는 반도체 집적 회로