JP2012248088A - メモリアクセス回路及びメモリシステム - Google Patents

メモリアクセス回路及びメモリシステム Download PDF

Info

Publication number
JP2012248088A
JP2012248088A JP2011120668A JP2011120668A JP2012248088A JP 2012248088 A JP2012248088 A JP 2012248088A JP 2011120668 A JP2011120668 A JP 2011120668A JP 2011120668 A JP2011120668 A JP 2011120668A JP 2012248088 A JP2012248088 A JP 2012248088A
Authority
JP
Japan
Prior art keywords
signal
clock signal
delay
dll
phase
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.)
Granted
Application number
JP2011120668A
Other languages
English (en)
Other versions
JP5568057B2 (ja
Inventor
Hiroaki Iijima
島 浩 晃 飯
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011120668A priority Critical patent/JP5568057B2/ja
Priority to US13/425,338 priority patent/US8819475B2/en
Publication of JP2012248088A publication Critical patent/JP2012248088A/ja
Application granted granted Critical
Publication of JP5568057B2 publication Critical patent/JP5568057B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators

Abstract

【課題】メモリアクセス回路の回路規模及び消費電力の増加を抑え、且つ、タイミングマージンを減少させることなく、メモリアクセス回路のクロックスキューを補正する。
【解決手段】メモリアクセス回路14は、パラレルインタフェースを有するメモリと、メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路12と、に接続される。メモリアクセス回路14は、位相同期回路141と、第1ファイクロックツリー151と、第1及び第2遅延同期回路142及び143と、第1及び第2位相検出回路147a及び147bと、マスタ遅延同期回路155と、を備える。マスタ遅延同期回路155は、基準クロック信号をカウントして、遅延補正信号を生成する。第1及び第2遅延同期回路142及び143は、それぞれ、第1及び第2検出信号に基づいて補正方向を決定し、遅延補正信号に基づいて補正量を決定する。
【選択図】図2

Description

本発明の実施形態は、メモリアクセス回路及びメモリシステムに関する。
近年、DRAM(Dynamic Random Access Memory)等のパラレルインタフェースを有するメモリが、様々なシステムで用いられている。このようなシステムでは、CPU(Central Processing Unit)等のプロセッサからメモリに対するアクセスを制御するメモリアクセス回路が設けられている。
一般的なメモリアクセス回路には、クロックスキューを補正する位相調整素子が設けられている。位相調整素子は、位相同期回路(以下、「PLL(Phase Locked Loop)」という)又は遅延同期回路(以下、「DLL(Delay Locked Loop)」という)である。
しかしながら、PLLは、回路規模及び消費電力が大きい。従って、PLLを用いてクロックスキューを補正すると、メモリアクセス回路の回路規模及び消費電力が増加する。
また、DLLは、信号が遅延素子を伝搬するときにジッタを発生させる。このジッタは、位相調整量が360度に近くなるほど、大きくなる。従って、DLLを用いてクロックスキューを補正すると、タイミングマージンが減少する。
特開2010−503068号公報
本発明が解決しようとする課題は、メモリアクセス回路のクロックスキューを補正することである。
本実施形態のメモリアクセス回路は、パラレルインタフェースを有するメモリと、前記メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路と、に接続される。メモリアクセス回路は、位相同期回路と、第1ファイクロックツリーと、第1及び第2遅延同期回路と、第1及び第2位相検出回路と、マスタ遅延同期回路と、を備える。位相同期回路は、基準信号の基準周波数にロックされたPLL(Phase Locked Loop)出力を生成する。第1ファイクロックツリーは、PLL出力を遅延させて基準クロック信号を生成する。第1遅延同期回路は、基準クロック信号と、システム回路により生成されるシステムクロック信号との間のクロックスキューを補正して、システムクロック信号のソース信号を生成する。第2遅延同期回路は、基準クロック信号と、メモリアクセス回路内で使用されるファイクロック信号との間のクロックスキューを補正して、ファイクロック信号のソース信号を生成する。第1位相検出回路は、基準クロック信号とファイクロック信号との間の位相差を検出し、位相差に応じた第1検出信号を生成する。第2位相検出回路は、基準クロック信号とファイクロック信号との間の位相差を検出し、位相差に応じた第2検出信号を生成する。マスタ遅延同期回路は、基準クロック信号をカウントして、遅延補正信号を生成する。第1及び第2遅延同期回路は、それぞれ、第1及び第2検出信号に基づいて補正方向を決定し、遅延補正信号に基づいて補正量を決定する。
本実施形態のメモリシステム1のブロック図。 本実施形態のメモリアクセス装置10の構成図。 本実施形態のメモリアクセス装置10で取り扱われる信号波形図。 本実施形態のマスタDLL155の構成図。 第1実施形態の第1DLL142及び第2DLL143の構成図。 第1実施形態の第3DLL144〜第5DLL146の構成図。 第1実施形態の第1DLL142〜第5DLL146の動作説明図。 第2実施形態の第1DLL142〜第5DLL146の構成図。 第3実施形態の第1DLL142〜第5DLL146の動作説明図。 第3実施形態の第1DLL142〜第5DLL146の動作説明図。 第4実施形態のメモリアクセス装置10の構成図。 第4実施形態のメモリアクセス装置10で取り扱われる信号波形図。
図面を参照しながら本実施形態を説明する。
本実施形態のメモリシステムの構成を説明する。図1は、本実施形態のメモリシステム1のブロック図である。
メモリシステム1は、メモリアクセス装置10と、メモリ20と、CPU(Central Processing Unit)30と、バス40と、を備える。
CPU30は、所定のアプリケーションを起動して、メモリ20に格納されたデータに対してデータ処理を実行するモジュールである。CPU30は、メモリ20からデータを読み出し、アプリケーションの命令に基づいて読み出したデータに対して所定のデータ処理を実行し、データ処理の実行結果をメモリ20へ書き込む。また、CPU30は、メモリ20からデータを読み出すために、メモリアクセスを要求するリクエストを発行する。
メモリアクセス装置10は、メモリアクセスを制御する装置である。メモリアクセス装置10は、バス40を介してCPU30に接続され、バス40を介さずにメモリ20に接続される。また、メモリアクセス装置10は、CPU30により発行されたリクエストに基づいて、メモリアクセスを制御する。
メモリ20は、パラレルインタフェースを有し、様々なデータを記憶する記憶媒体(例えば、DRAM)である。
本実施形態のメモリアクセス装置の構成を説明する。図2は、本実施形態のメモリアクセス装置10の構成図である。
図2に示すように、メモリアクセス装置10は、システム回路12と、メモリアクセス回路14と、を備える。メモリアクセス回路14は、メモリ20と、システム回路12と、に接続される。
システム回路12は、メモリアクセスコマンド(MAC)を発行する回路である。システム回路12は、メモリアクセスコマンド発行部121と、システムクロックツリー122と、メモリデ−タ制御部124 と、を備える。
メモリアクセス回路14は、メモリアクセスを制御する回路である。メモリアクセス回路14は、PLL141と、第1DLL142〜第5DLL146と、第1位相検出回路(以下、「PD(Phase Detector)」という)147aと、第2PD147bと、第1論理回路148〜第3論理回路150と、第1ファイクロックツリー151〜第3ファイクロックツリー153と、設定角度算出部154と、マスタDLL155と、第1増幅回路156〜第4増幅回路159と、を備える。なお、DLLの数は、6つに限られるものではない。すなわち、メモリアクセス回路14は、6つ以上のDLLを備えても良い。また、メモリアクセスコマンド発行部121及び第1論理回路148〜第3論理回路150は、幾つでも良い。
メモリアクセスコマンド発行部121は、メモリ20へのアクセスを命令するメモリアクセスコマンド(MAC)を発行するモジュールである。メモリアクセスコマンド発行部121は、バス40を介して転送されるリクエスト(REQ)とシステムクロック信号(SYSTEM_CLK)とを入力し、入力したリクエスト(REQ)及びシステムクロック信号(SYSTEM_CLK)に基づいてメモリアクセスコマンド(MAC)を発行する。
メモリデ−タ制御部124 は、メモリアクセスコマンド発行部121が発行したメモリアクセスコマンド(MAC)に応じて、バス40から入力されるデータ(DATA)を第1論理回路148と、第2論理回路149と、へ出力する。
PLL141は、基準信号(REF)の周波数を逓倍した、任意の周波数(以下、「基準周波数」という)と出力信号(以下、「PLL出力」という)の位相差を検出し、検出した位相差に基づいて基準周波数にロックされたPLL出力を生成する回路である。PLL出力は、基準クロック信号(PHY_CLK_CK)のソース信号である。
第1ファイクロックツリー151は、所定の第1クロックツリー長TL1の分だけPLL出力を遅延させて基準クロック信号(PHY_CLK_CK)を生成するモジュールである。基準クロック信号(PHY_CLK_CK)は、基準周波数の逓倍の周波数を有する。基準クロック信号(PHY_CLK_CK)は、メモリ20の動作タイミングを制御するためのタイミング制御信号のソース信号(すなわち、メモリ20のソースクロック)であるので、メモリアクセス回路14で使用される信号の中で、クロックジッタを低減する優先度が最も高い信号であり、配線長が最も短い配線で伝送される。
マスタDLL155は、クロックスキューの補正や位相角度の設定に用いられる遅延補正信号(DLL_CNT)を生成する回路である。マスタDLL155は、基準クロック信号(PHY_CLK_CK)を入力し、入力した基準クロック信号(PHY_CLK_CK)のクロックをカウントして遅延補正信号(DLL_CNT)を生成する。遅延補正信号(DLL_CNT)は、補正量ΔCや位相角度の基準となる、基準クロック信号の1サイクル分の周期に相当する遅延素子数を示す信号である。
第1DLL142は、基準クロック信号(PHY_CLK_CK)とシステムクロック信号(SYSTEM_CLK)との間のクロックスキューを補正するクロックデスキュー回路である。システムクロック信号(SYSTEM_CLK)は、システムクロックツリー122により生成される信号である。第1DLL142は、基準クロック信号(PHY_CLK_CK)と、第1PD147aの出力である第1PD出力(PD_OUT1)と、遅延補正信号(DLL_CNT)と、を入力し、第1PD出力(PD_OUT1)に基づいて補正方向を決定し、遅延補正信号(DLL_CNT)に基づいて補正量ΔC2を決定し、決定した補正方向及び補正量ΔC2に基づいて基準クロック信号(PHY_CLK_CK)を遅延させて、第1DLL出力(DLL_OUT1)を生成する。第1DLL出力(DLL_OUT1)は、システムクロック信号(SYSTEM_CLK)のソース信号である。
システムクロックツリー122は、PLL出力に対して所定の第3クロックツリー長TL3の分だけ第1DLL出力(DLL_OUT1)を遅延させて、システムクロック信号(SYSTEM_CLK)を生成するモジュールである。すなわち、システムクロック信号(SYSTEM_CLK)は、クロックスキューが補正された第1DLL出力(DLL_OUT1)に基づいて生成される信号である。
第2ファイクロックツリー152は、基準クロック信号(PHY_CLK_CK)を入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ基準クロック信号(PHY_CLK_CK)を遅延させて、DLLクロック信号(DLL_CLK)を生成するモジュールである。DLLクロック信号(DLL_CLK)は、タイミング制御信号の一種であるストローブ信号(DQS)及びデータ信号(DQ)のソース信号である。
第2DLL143は、基準クロック信号(PHY_CLK_CK)とファイクロック信号(PHY_CLK)との間のクロックスキューを補正するクロックデスキュー回路である。ファイクロック信号(PHY_CLK)は、メモリアクセス回路14内で使用される信号である。第2DLL143は、基準クロック信号(PHY_CLK_CK)と、第2PD147bの出力である第2PD出力(PD_OUT2)と、遅延補正信号(DLL_CNT)と、を入力し、第2PD出力(PD_OUT2)に基づいて補正方向を決定し、遅延補正信号(DLL_CNT)に基づいて補正量ΔC1を決定し、決定した補正方向及び補正量ΔC1に基づいて基準クロック信号(PHY_CLK_CK)を遅延させて、第2DLL出力(DLL_OUT2)を生成する。第2DLL出力(DLL_OUT2)は、ファイクロック信号(PHY_CLK)のソース信号である。また、第2DLL143は、補正量ΔC1に対応する基準角度Aを生成する。
第3ファイクロックツリー153は、第2DLL出力(DLL_OUT2)を入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ第2DLL出力(DLL_OUT2)を遅延させて、ファイクロック信号(PHY_CLK)を生成するモジュールである。すなわち、ファイクロック信号(PHY_CLK)は、クロックスキューが補正された第2DLL出力(DLL_OUT2)に基づいて生成される信号である。ファイクロック信号(PHY_CLK)のクロックツリー長は、DLLクロック信号(DLL_CLK)のクロックツリー長と等しい。
設定角度算出部154は、第3DLL144〜第5DLL146へ供給すべき設定角度を算出するモジュールである。設定角度は、第1論理回路148の出力であるストローブ信号(DQS)と、第2論理回路149の出力であるデータ信号(DQ)及びデータマスク信号(DM)と、第3論理回路150の出力であるアドレス信号(ADDR)及びコマンド信号(CMD)との間に設定すべき位相差を示す情報である。設定角度算出部154は、第2DLL143により生成された基準角度Aと、メモリアクセス回路14に接続された所定の外部回路(例えば、システム回路12)により生成された所定の位相角度Bと、を加算し、基準角度A及び位相角度Bの和を設定角度として第3DLL144〜第5DLL146へ出力する。位相角度Bは、第3DLL144〜第5DLL146のそれぞれについて、システム回路12により個別に決められる任意の追加補正量を示す角度であって、ストローブ信号(DQS)と、データ信号(DQ)及びデータマスク信号(DM)、アドレス信号(ADDR)及びコマンド信号(CMD)との間に設定すべき位相差に対応する角度である。すなわち、システム回路12は、第3DLL144用の位相角度と、第4DLL145用の位相角度と、第5DLL146用の位相角度と、を個別に決める。なお、位相角度Bは、ストローブ信号(DQS)と、データ信号(DQ)及びデータマスク信号(DM)と、アドレス信号(ADDR)及びコマンド信号(CMD)との間に設定すべき位相差に加えて、ストローブ信号(DQS)とメモリ基準信号(CK)との間に設定すべき位相差を含んでも良い。
第3DLL144〜第5DLL146は、それぞれ、基準クロック信号(PHY_CLK_CK)とDLLクロック信号(DLL_CLK)との間のクロックスキューを補正するクロックデスキュー回路である。加えて、任意の位相角度を設定することができる回路である。第3DLL144〜第5DLL146は、それぞれ、設定角度と、DLLクロック信号(DLL_CLK)と、遅延補正信号(DLL_CNT)と、設定角度算出部154の出力信号と、を入力し、設定角度及び遅延補正信号(DLL_CNT)に基づいて補正量を決定し、決定した補正方向及び補正量に基づいてDLLクロック信号(DLL_CLK)を遅延させて第3DLL出力(DLL_OUT3)〜第5DLL出力(DLL_OUT5)を生成する。第3DLL出力(DLL_OUT3)は、ストローブ信号(DQS)のソース信号である。第4DLL出力(DLL_OUT4)は、データ信号(DQ)及びデータマスク信号(DM)のソース信号である。第5DLL出力(DLL_OUT5)は、アドレス信号(ADDR)及びコマンド信号(CMD)のソース信号である。
第2PD147bは、ファイクロック信号(PHY_CLK)のクロックエッジの位相と基準クロック信号(PHY_CLK_CK)のクロックエッジの位相との間のずれを検出する回路(例えばフリップフロップ)である。第2PD147bは、ファイクロック信号(PHY_CLK)と、基準クロック信号(PHY_CLK_CK)と、を入力し、ファイクロック信号(PHY_CLK)のクロックエッジと基準クロック信号(PHY_CLK_CK)のクロックエッジとのずれを検出し、ファイクロック信号(PHY_CLK)のシステムクロック信号(SYSTEM_CLK)に対する遅延方向(ファイクロック信号(PHY_CLK)がシステムクロック信号(SYSTEM_CLK)に対して遅れているか又は進んでいるか)を示す第2検出信号(PD_OUT2)を生成する。第2検出信号(PD_OUT2)は、ファイクロック信号(PHY_CLK)と基準クロック信号(PHY_CLK_CK)の位相差に応じた1ビットの信号であって、例えば、“0”はファイクロック信号(PHY_CLK)が基準クロック信号(PHY_CLK_CK)に対して遅れていることを示し、“1”はファイクロック信号(PHY_CLK)が基準クロック信号(PHY_CLK_CK)に対して進んでいることを示す。
第1PD147aは、ファイクロック信号(PHY_CLK)のクロックエッジの位相とシステムクロック信号(SYSTEM_CLK)のクロックエッジの位相との間のずれを検出する回路(例えばフリップフロップ)である。第1PD147aは、ファイクロック信号(PHY_CLK)と、システムクロック信号(SYSTEM_CLK)と、を入力し、ファイクロック信号(PHY_CLK)のクロックエッジとシステムクロック信号(SYSTEM_CLK)のクロックエッジとのずれを検出し、ファイクロック信号(PHY_CLK)のシステムクロック信号(SYSTEM_CLK)に対する遅延方向(ファイクロック信号(PHY_CLK)がシステムクロック信号(SYSTEM_CLK)に対して遅れているか又は進んでいるか)を示す第1検出信号(PD_OUT1)を生成する。第1検出信号(PD_OUT1)は、ファイクロック信号(PHY_CLK)とシステムクロック信号(SYSTEM_CLK)の位相差に応じた1ビットの信号であって、例えば、“0”はファイクロック信号(PHY_CLK)がシステムクロック信号(SYSTEM_CLK)に対して遅れていることを示し、“1”はファイクロック信号(PHY_CLK)がシステムクロック信号(SYSTEM_CLK)に対して進んでいることを示す。
第1論理回路148は、メモリ20のストローブ信号(DQS)を生成する回路である。第1論理回路148は、ファイクロック信号(PHY_CLK)と、データ(DATA)と、第3DLL出力(DLL_OUT3)と、を入力し、入力した信号からストローブ信号(DQS)を生成し、生成したストローブ信号(DQS)を、第1増幅回路156を介してメモリ20へ出力する。なお、第1論理回路148は、第3DLL144に組み込まれても良い。
第2論理回路149は、メモリ20のデータ信号(DQ)及びデータマスク信号(DM)を生成する回路である。第2論理回路149は、ファイクロック信号(PHY_CLK)と、データ(DATA)と、第4DLL出力(DLL_OUT4)と、を入力し、入力した信号からデータ信号(DQ)を生成し、生成したデータ信号(DQ)を、第2増幅回路157を介してメモリ20へ出力する。なお、第2論理回路149は、第4DLL145に組み込まれても良い。
第3論理回路150は、メモリ20のアドレス信号(ADDR)及びコマンド信号(CMD)を生成する回路である。第3論理回路150は、ファイクロック信号(PHY_CLK)と、メモリアクセスコマンド(MAC)と、第5DLL出力(DLL_OUT5)と、を入力し、入力した信号からアドレス信号(ADDR)及びコマンド信号(CMD)を生成し、生成したアドレス信号(ADDR)及びコマンド信号(CMD)を、第3増幅回路158を介してメモリ20へ出力する。なお、第3論理回路150は、第5DLL146に組み込まれても良い。
第1増幅回路156は、第1論理回路148から出力されたストローブ信号(DQS)を増幅し、増幅したストローブ信号(DQS)をメモリ20へ出力する回路である。第2増幅回路157は、第2論理回路149から出力されたデータ信号(DQ)及びデータマスク信号(DM)を増幅し、増幅したデータ信号(DQ)をメモリ20へ出力する回路である。第3増幅回路158は、第3論理回路150から出力されたアドレス信号(ADDR)及びコマンド信号(CMD)を増幅し、増幅したアドレス信号(ADDR)及びコマンド信号(CMD)をメモリ20へ出力する回路である。第4増幅回路159は、基準クロック信号(PHY_CLK_CK)を増幅してメモリ20のタイミング制御信号の一種であるメモリ基準信号(CK)を生成し、生成したメモリ基準信号(CK)をメモリ20へ出力する回路である。
本実施形態のメモリアクセス装置で取り扱われる信号を説明する。図3は、本実施形態のメモリアクセス装置10で取り扱われる信号波形図である。
図3に示すように、ある時点において、第2PD147bの入力である第2PD入力は、PLL出力に対して第2クロックツリー長TL2だけ遅延している。この第2PD入力は、第2DLL143がクロックスキューを補正していないときに第3ファイクロックツリー153から出力される信号である。第2クロックツリー長TL2は、第1クロックツリー長TL1より長く、且つ第3クロックツリー長TL3より短い。これは、第3ファイクロックツリー153が、PLL出力に対して第2クロックツリー長TL2の分だけ第2DLL出力(DLL_OUT2)を遅延させるためである。この場合に、第2PD147bは、基準クロック信号(PHY_CLK_CK)と第2PD入力との間に第2クロックツリー長TL2の分の位相差が存在することを示す第2検出信号(PD_OUT2)を生成する。次いで、第2DLL143は、第2検出信号(PD_OUT2)に基づいて基準クロック信号(PHY_CLK_CK)の補正量ΔC1を算出し、基準クロック信号(PHY_CLK_CK)を補正量ΔC1だけ補正して第2DLL出力(DLL_OUT2)を生成する。次いで、第3ファイクロックツリー153は、第2DLL出力(DLL_OUT2)を遅延させて、ファイクロック信号(PHY_CLK)を生成する。これにより、ファイクロック信号(PHY_CLK)の位相が基準クロック信号(PHY_CLK_CK)と等しくなる。
次に、ある時刻において、第1PD147aの入力である第1PD入力は、PLL出力に対して第3クロックツリー長TL3だけ遅延している。この第1PD入力は、第1DLL142がクロックスキューを補正していないときに第3ファイクロックツリー153から出力される信号である。第3クロックツリー長TL3は、第2クロックツリー長TL2より長い。これは、システムクロックツリー122が、第3ファイクロックツリー153より長いためである。この場合に、第1PD147aは、ファイクロック信号(PHY_CLK)と第1PD入力との間に第3クロックツリー長TL3の分の位相差が存在することを示す第1検出信号(PD_OUT1)を生成する。次いで、第1DLL142は、第1検出信号(PD_OUT1)に基づいて基準クロック信号(PHY_CLK_CK)の補正量ΔC2を算出し、基準クロック信号(PHY_CLK_CK)を補正量ΔC2だけ補正して第1DLL出力(DLL_OUT1)を生成する。次いで、システムクロックツリー122は、第1DLL出力(DLL_OUT1)を遅延させて、システムクロック信号(SYSTEM_CLK)を生成する。ファイクロック信号(PHY_CLK)の位相は、上記のとおり、基準クロック信号(PHY_CLK_CK)と等しいため、システムクロック信号(SYSTEM_CLK)の位相もファイクロック信号(PHY_CLK)と等しくなる。補正量ΔC2は、第3クロックツリー長TL3と第1クロックツリー長TL1との差である。
本実施形態のマスタDLLを説明する。図4は、本実施形態のマスタDLL155の構成図である。
図4は、4相クロックを使用するマスタDLL155を示している。マスタDLL155は、複数の遅延素子21a〜21dと、複数の位相比較回路22a〜22dと、遅延制御回路23と、を備える。
複数の遅延素子21a〜21dは、それぞれ、4相の基準クロック信号(0度の基準クロック信号(CLK_0)、90度の基準クロック信号(CLK_90)、180度の基準クロック信号(CLK_180)、及び270度の基準クロック信号(CLK_270))のうちの1相を入力し、入力した基準クロック信号を1相分遅延させて遅延基準クロック信号を生成する。例えば、遅延素子21aは、0度の基準クロック信号(CLK_0)を入力し、入力した0度の基準クロック信号(CLK_0)を90度遅延させて90度の遅延基準クロック信号(CLK_90’)を生成する。
複数の位相比較回路22a〜22dは、それぞれ、4相の基準クロック信号(0度の基準クロック信号(CLK_0)〜270度の基準クロック信号(CLK_270))のうちの1相と、各遅延素子21a〜21dの出力である4相の遅延基準クロック信号(CLK_0’〜 CLK_270’)と、を入力し、基準クロック信号(CLK_0〜 CLK_270)と遅延基準クロック信号(CLK_0’〜 CLK_270’)の位相を比較し、基準クロック信号(CLK_0〜 CLK_270)と遅延基準クロック信号(CLK_0’〜 CLK_270’)の位相差に応じたクロックスキュー信号CS1〜CS4を生成する。
遅延制御回路23は、クロックスキュー信号CS1〜CS4の何れかに基づいて、動作させる遅延素子21a〜21dの数を調整する回路である。遅延制御回路23は、クロックスキュー信号CS1〜CS4を入力し、入力したクロックスキュー信号CS1〜CS4の何れかに基づいて90度に相当する遅延値(すなわち、クロック周期の1/4に相当する時間)と等価の遅延素子(以下、「90度分の遅延素子」という)の数を算出し、算出90度分の遅延素子の数に応じた遅延補正信号(DLL_CNT)を生成し、生成した遅延補正信号(DLL_CNT)を第1DLL142〜第5DLL146へ出力する。
(第1実施形態)
第1実施形態を説明する。第1実施形態は、マスタDLLを使用する場合の第1DLL〜第5DLLの例である。
第1実施形態の第1DLL〜第5DLLの構成を説明する。図5は、第1実施形態の第1DLL142及び第2DLL143の構成図である。図6は、第1実施形態の第3DLL144〜第5DLL146の構成図である。
図5は、4相クロックを使用する第1DLL142及び第2DLL143を示している。第1DLL142及び第2DLL143は、それぞれ、複数の第1マルチプレクサ31a〜31cと、複数の遅延素子アレイ32a及び32bと、複数の第2マルチプレクサ33a及び33bと、位相比較回路34と、遅延制御回路35と、を備える。
第1マルチプレクサ31a〜31cは、それぞれ、4相の基準クロック信号(0度の基準クロック信号(CLK_0)、90度の基準クロック信号(CLK_90)、180度の基準クロック信号(CLK_180)、及び270度の基準クロック信号(CLK_270))のうちの1相を選択する。
第1マルチプレクサ31a及び31cは、それぞれ、位相制御又は遅延補正信号算出に使用される基準クロック信号の複数相のうち任意の基準相を選択する基準相マルチプレクサである。第1マルチプレクサ31a及び31cにより選択される2つの基準相は、互いに同一であっても良いし、異なっても良い。
第1マルチプレクサ31bは、基準クロック信号の複数相のうち、遅延制御回路35により算出される基準角度Aに対して任意の選択相(例えば、1相先の先行相)の基準クロック信号を選択する選択相マルチプレクサである。例えば、第1マルチプレクサ31bは、基準角度Aが120度の場合には180度のクロック信号を選択し、基準角度Aが225度の場合には270度のクロック信号を選択する。基準相及び選択相の組み合わせは4通りである。すなわち、基準相及び選択相の組み合わせは、基準クロック信号(CLK_0及びCLK_90)、(CLK_90及びCLK_180)、(CLK_180及びCLK_270)、並びに(CLK_270及びCLK_0)である。従って、算出される遅延補正信号(DLL_CNT)も4通りである。4相の基準クロック信号が入力されるときにスキュー差が発生するので、各遅延補正信号(DLL_CNT)の値がばらつく場合があるが、タイミングマージンが十分に確保されていれば、各遅延補正信号(DLL_CNT)の値のばらつきは無視することができる。
遅延素子アレイ32aは、第1マルチプレクサ31aにより選択された基準相の基準クロック信号を遅延させて、基準相の遅延基準クロック信号を生成する。遅延素子アレイ32aは、位相制御用の遅延素子アレイ又は遅延補正信号算出用の遅延素子アレイとして使用される。
遅延素子アレイ32bは、第1マルチプレクサ31cにより選択された選択相の基準クロック信号を遅延させて、選択相の遅延基準クロック信号を生成する。遅延素子アレイ32bは、遅延素子アレイ32aが位相制御用の遅延素子アレイとして使用される場合には、遅延補正信号算出用の遅延素子アレイとして使用され、遅延素子アレイ32aが遅延補正信号算出用の遅延素子アレイとして使用される場合には、位相制御用の遅延素子アレイとして使用される。すなわち、2つの遅延素子アレイ32a及び32bの機能は、互いに排他的である。
第2マルチプレクサ33a及び33bは、位相制御用の遅延素子アレイ(例えば、遅延素子アレイ32a)の機能と、遅延補正信号算出用の遅延素子アレイ(例えば、遅延素子アレイ32b)の機能と、を切り替えるモジュールである。
第2マルチプレクサ33aは、遅延素子アレイ32aから出力された基準クロック信号(例えば、位相制御用の基準クロック信号)及び遅延素子アレイ32bから出力された基準クロック信号(例えば、遅延補正信号算出用の基準クロック信号)の一方を選択し、選択した基準クロック信号を第1DLL出力(DLL_OUT1)又は第2DLL出力(DLL_OUT2)として、システムクロックツリー122又は第3ファイクロックツリー153へ出力するDLL出力マルチプレクサである。
第2マルチプレクサ33bは、遅延素子アレイ32aから出力された基準クロック信号(例えば、位相制御用の基準クロック信号)及び遅延素子アレイ32bから出力された基準クロック信号(例えば、遅延補正信号算出用の基準クロック信号)の一方を選択するDLL出力マルチプレクサである。
位相比較回路34は、選択相の基準クロック信号と、第2マルチプレクサ33bにより選択された基準クロック信号と、を入力し、2つの基準クロック信号の位相を比較し、2つの基準クロック信号の位相差に応じたクロックスキュー信号を生成する。
遅延制御回路35は、第1検出信号(PD_OUT1)又は第2検出信号(PD_OUT2)と、遅延補正信号(DLL_CNT)と、クロックスキュー信号とに基づいて、第1マルチプレクサ31a〜31c、第1遅延素子32a、第2遅延素子32b、並びに第2マルチプレクサ33a及び33bを制御する。具体的には、遅延制御回路35は、第1検出信号(PD_OUT1)又は第2検出信号(PD_OUT2)に基づいて補正方向を決定する。また、遅延制御回路35は、クロックスキュー信号に基づいて、遅延補正信号(DLL_CNT)を補正する。次いで、遅延制御回路35は、第1検出信号(PD_OUT1)又は第2検出信号(PD_OUT2)に応じた補正方向に基づいて、補正量ΔCを更新する。これにより、補正量ΔCが増加又は減少し、第1検出信号(PD_OUT1)又は第2検出信号(PD_OUT2)の補正方向が逆になる。次いで、遅延制御回路35は、更新された補正量ΔCと遅延補正信号(DLL_CNT)との値の比率を計算し、計算した比率に基づいてクロックスキューを調整するための基準角度Aを決定する。このとき、遅延制御回路35は、基準角度Aが0〜90度である場合には、0度の基準クロック信号(CLK_0)を選択するように第1マルチプレクサ31aを制御し、基準角度Aが90〜180度である場合には、90度の基準クロック信号(CLK_90)を選択するように第1マルチプレクサ31aを制御し、基準角度Aが180〜270度である場合には、180度の基準クロック信号(CLK_180)を選択するように第1マルチプレクサ31aを制御し、基準角度Aが270〜360度である場合には、270度の基準クロック信号(CLK_270)を選択するように第1マルチプレクサ31aを制御する。
図6は、4相クロックを使用する第3DLL144〜第5DLL146を示している。第3DLL144〜第5DLL146は、それぞれ、複数の第1マルチプレクサ41a〜41cと、複数の遅延素子アレイ42a及び42bと、複数の第2マルチプレクサ43a及び43bと、位相比較回路44と、遅延制御回路45と、を備える。なお、遅延素子アレイ42a及び42b、並びに位相比較回路44は、第1DLL142及び第2DLL143と同様である(図5を参照)。
第1マルチプレクサ41a〜41cは、それぞれ、4相の基準クロック信号(0度の基準クロック信号(CLK_0)、90度の基準クロック信号(CLK_90)、180度の基準クロック信号(CLK_180)、及び270度の基準クロック信号(CLK_270))のうちの1相を選択する。
第1マルチプレクサ41a及び41cは、それぞれ、位相制御又は遅延補正信号算出に使用される基準クロック信号の複数相のうち任意の基準相を選択する基準相マルチプレクサである。第1マルチプレクサ41a及び41cにより選択される2つの基準相は、互いに同一であっても良いし、異なっても良い。
第1マルチプレクサ41bは、基準クロック信号の複数相のうち、遅延制御回路45により算出される設定角度に対して選択相(例えば、1相先の先行相)の基準クロック信号を選択する選択相マルチプレクサである。例えば、第1マルチプレクサ41bは、設定角度が120度の場合には180度のクロック信号を選択し、設定角度が225度の場合には270度のクロック信号を選択する。基準相及び選択相の組み合わせは4通りである。すなわち、基準相及び選択相の組み合わせは、基準クロック信号(CLK_0及びCLK_90)、(CLK_90及びCLK_180)、(CLK_180及びCLK_270)、並びに(CLK_270及びCLK_0)である。従って、算出される遅延補正信号(DLL_CNT)も4通りである。4相の基準クロック信号が入力されるときにスキュー差が発生するので、各遅延補正信号(DLL_CNT)の値がばらつく場合があるが、タイミングマージンが十分に確保されていれば、各遅延補正信号(DLL_CNT)の値のばらつきは無視することができる。
第2マルチプレクサ43a及び43bは、位相制御用の遅延素子アレイ(例えば、遅延素子アレイ42a)の機能と、遅延補正信号算出用の遅延素子アレイ(例えば、遅延素子アレイ42b)の機能と、を切り替えるモジュールである。
第2マルチプレクサ43aは、遅延素子アレイ42aから出力された基準クロック信号(例えば、位相制御用の基準クロック信号)及び遅延素子アレイ42bから出力された基準クロック信号(例えば、遅延補正信号算出用の基準クロック信号)の一方を選択し、選択した基準クロック信号を第3DLL出力(DLL_OUT3)〜第5DLL出力(DLL_OUT5)として、第1論理回路148〜第3論理回路150へ出力する基準クロック選択部である。
第2マルチプレクサ43bは、遅延素子アレイ42aから出力された基準クロック信号(例えば、位相制御用の基準クロック信号)及び遅延素子アレイ42bから出力された基準クロック信号(例えば、遅延補正信号算出用の基準クロック信号)の一方を選択する基準クロック選択部である。
遅延制御回路45は、設定角度及びクロックスキュー信号に基づいて、第1マルチプレクサ41a〜41c、第1遅延素子42a、第2遅延素子42b、並びに第2マルチプレクサ43a及び43bを制御する。具体的には、遅延制御回路45は、設定角度が0〜90度である場合には、0度の基準クロック信号(CLK_0)を選択するように第1マルチプレクサ41aを制御し、設定角度が90〜180度である場合には、90度の基準クロック信号(CLK_90)を選択するように第1マルチプレクサ41aを制御し、設定角度が180〜270度である場合には、180度の基準クロック信号(CLK_180)を選択するように第1マルチプレクサ41aを制御し、設定角度が270〜360度である場合には、270度の基準クロック信号(CLK_270)を選択するように第1マルチプレクサ41aを制御する。
第1実施形態の第1DLL〜第5DLLの動作を説明する。図7は、第1実施形態の第1DLL142〜第5DLL146の動作説明図である。なお、図6の第3DLL144〜第5DLL146は、図5の第1DLL142及び第2DLL143と同様に動作するので、その説明を省略する。
例えば、図7に示すように、基準角度Aが45度である場合には、遅延制御回路35は、0度の基準クロック信号(CLK_0)を選択するように第1マルチプレクサ31a及び31cを制御し、90度の基準クロック信号(CLK_90)を選択するように第1マルチプレクサ31bを制御する。また、設定角度が45度である場合には、図6の遅延制御回路45は、図5の遅延制御回路35と同様に動作する。
また、図5の遅延制御回路35は、基準角度A及び遅延補正信号(DLL_CNT)に基づいて、遅延補正信号算出用の遅延素子アレイ(例えば、遅延素子アレイ32b)の90度分の遅延素子の数を調整する。例えば、遅延制御回路35は、式1を用いて遅延素子の数を算出する。式1において、Nは遅延素子の数であり、Cは遅延補正信号(DLL_CNT)の値であり、MOD(R/90)はRを90で除したときの余りであり、Rは基準角度Aである。遅延制御回路35は、第1DLL142〜第5DLL146に対して最適化された遅延調整量を示す遅延補正信号(DLL_CNT)として、式1の算出結果を保持する。また、図6の遅延制御回路45は、図5の遅延制御回路35と同様に動作する。
Figure 2012248088
遅延制御回路35の動作例を説明する。
はじめに、遅延制御回路35は、任意の相の基準クロック信号(例えば、0度の基準クロック信号(CLK_0))を選択するように、第1マルチプレクサ31cを制御する。次に、遅延制御回路35は、所定の象限(例えば、0度〜90度の象限)で遅延補正信号算出用の遅延素子アレイ(例えば、遅延素子アレイ32b)の遅延素子の数を調整する。次に、遅延制御回路35は、遅延素子の数を調整していない象限(以下、「未調整象限」という)の相の基準クロック信号を選択するように第1マルチプレクサ31cを制御する。次に、遅延制御回路35は、算出済みの遅延補正信号の値を起点として、未調整象限の遅延素子の数を調整する。これにより、第1DLL142〜第5DLL146の初期調整が終了する。初期調整では、未調整象限の遅延素子の数を調整するときに、算出済みの遅延補正信号(すなわち、遅延素子の数を調整した象限の算出結果)を使用するので、遅延補正信号の算出の所要時間を短縮することができる。
遅延制御回路35は、第1DLL142〜第5DLL146の初期調整を終了すると、第1DLL142〜第5DLL146が動作している間に、位相比較回路34を常に監視する。例えば、遅延素子アレイ32bが遅延補正信号算出用の遅延素子アレイとして使用される場合には、遅延制御回路35は、第2マルチプレクサ33bに遅延素子アレイ32bを選択させ、第1マルチプレクサ31bに使用中のクロック(例えば、120度)に対して1相先のクロック(例えば、180度)を選択させ、第1マルチプレクサ31cに使用中のクロックに対して1相前のクロック(例えば、90度)を選択させる。遅延素子アレイ32bは、遅延補正信号(DLL_CNT)を約90度遅延させる。このとき、遅延制御回路35は、クロックスキュー信号が遅延素子を通るパスの方が長いことを示す場合には、遅延補正信号の値を小さくし、クロックスキュー信号が遅延素子を通るパスの方が短いことを示す場合には、遅延補正信号の値を大きくする。例えば、電圧及び温度に応じて遅延素子の特性を補正する場合には、常に、遅延補正信号(DLL_CNT)の値を遅延補正信号算出用の遅延素子アレイを用いて、更新する必要がある。また、ディレイラインとして使用している象限以外の遅延補正信号(DLL_CNT)も、更新する必要がある。
この初期調整と並行して、第1DLL142及び第2DLL143は、それぞれ、初期調整後も第1検出信号(PD_OUT1)及び第2検出信号(PD_OUT2)を参照し続け、スキューの変化に応じて補正量ΔCを変化させる。
第1実施形態のメモリアクセス回路14は、上記のとおり、メモリアクセス回路14のタイミングマージンにあわせて最適に配線されたクロックツリーでクロック間のスキューを補正する第1DLL142〜第5DLL146を備えている。従って、メモリアクセス回路14の回路規模及び消費電力の増加を抑え、且つ、タイミングマージンを減少させることなく、メモリアクセス回路14のクロックスキューを補正することができる。
(第2実施形態)
第2実施形態を説明する。第2実施形態は、第1実施形態より回路面積及び消費電力が小さい第1DLL〜第5DLLの例である。なお、上述の実施形態と同様の説明は省略する。
第2実施形態の第1DLL〜第5DLLの構成を説明する。図8は、第2実施形態の第1DLL142〜第5DLL146の構成図である。
図8は、4相クロックを使用する各DLLを示している。第1DLL142〜第5DLL146は、それぞれ、第1マルチプレクサ31又は41と、遅延素子アレイ32又は42と、遅延制御回路35又は45と、を備える。
第1マルチプレクサ31及び41は、それぞれ、4相の基準クロック信号(0度の基準クロック信号(CLK_0)、90度の基準クロック信号(CLK_90)、180度の基準クロック信号(CLK_180)、及び270度の基準クロック信号(CLK_270))のうちの1相を選択する基準相マルチプレクサである。
遅延素子アレイ32及び42は、それぞれ、第1マルチプレクサ31及び41から出力された基準クロック信号を遅延させて、遅延基準クロック信号を生成し、生成した遅延基準クロック信号を第1DLL出力(DLL_OUT1)〜第5DLL出力(DLL_OUT5)として、システムクロックツリー122、第1論理回路148、又は第2論理回路149へ出力する。
遅延制御回路35及び45は、それぞれ、第1PD出力(PD_OUT1)、第2PD出力(PD_OUT2)、又は設定角度に基づいて、第1マルチプレクサ31及び41を制御する。具体的には、遅延制御回路35及び45は、それぞれ、基準角度A及び設定角度が0〜90度である場合には、0度の基準クロック信号(CLK_0)を選択するように第1マルチプレクサ31及び41を制御し、基準角度A及び設定角度が90〜180度である場合には、90度の基準クロック信号(CLK_90)を選択するように第1マルチプレクサ31及び41を制御し、基準角度A及び設定角度が180〜270度である場合には、180度の基準クロック信号(CLK_180)を選択するように第1マルチプレクサ31及び41を制御し、基準角度A及び設定角度が270〜360度である場合には、270度の基準クロック信号(CLK_270)を選択するように第1マルチプレクサ31及び41を制御する。
また、第3DLL144〜第5DLL146の遅延制御回路45は、設定角度及び遅延補正信号(DLL_CNT)に基づいて、遅延素子アレイ42の90度分の遅延素子の数を調整する。例えば、遅延制御回路45は、式1を用いて遅延素子の数を算出する。遅延制御回路45は、第3DLL144〜第5DLL146に対して最適化された遅延調整量に対応する遅延補正信号(DLL_CNT)として、式1の算出結果を保持する。
第2実施形態の第1DLL142及び第2DLL143は、第1実施形態の第2マルチプレクサ33a及び33b、並びに位相比較回路34を備えていない。また、第2実施形態の第3DLL144〜第5DLL146は、第1実施形態の第2マルチプレクサ43a及び43b、並びに位相比較回路44を備えていない。また、第2実施形態の第1マルチプレクサ31及び41、並びに遅延素子アレイ32及び42は、第1実施形態より少ない。従って、タイミングマージンに対する要求が比較的緩いパスのクロックスキューを補正する場合に、第1DLL142〜第5DLL146の回路面積及び消費電力を第1実施形態より低減することができる。
(第3実施形態)
第3実施形態を説明する。第3実施形態は、遅延制御回路がn相クロックの補正量を算出する例である。なお、上述の実施形態と同様の説明は省略する。
第3実施形態の第1DLL〜第5DLLの構成は、第1実施形態と同様である(図5及び図6)。
第3実施形態の第1DLL〜第5DLLの動作を説明する。図9及び図10は、第3実施形態の第1DLL142〜第5DLL146の動作説明図である。
遅延補正信号の合計(すなわち、360度)を遅延素子の数Nで除算すると、1相あたりの遅延補正信号(DLL_CNT)の理想値が得られる。例えば、m(mは自然数)相目の遅延補正信号(DLL_CNT)を補正量の算出式は、(m−1)相目までの遅延補正信号(DLL_CNT)の合計と(m−1)相目までの理想値の合計との大小関係と、m相目までの遅延補正信号(DLL_CNT)の合計とm相目までの理想値の合計との大小関係と、に応じて変わる。例えば、360×(m−1)/N度を設定するためには、m相目の0度補正値が必要となる。
図9は、4相クロックにおいて、実際の基準クロック信号(CLK_90、CLK_180、及びCLK_270)が、基準クロック信号(CLK_0)より短い場合の遅延補正信号(DLL_CNT)を示している。
1相目(0度以上)では、遅延補正信号(DLL_CNT)81が90度(理想値)より小さい。従って、遅延制御回路35及び45は、式2を用いて、基準クロック信号(CLK_90)と90度(理想値)との差D(1)を算出する。式2において、SUMは遅延補正信号(DLL_CNT)の合計であり、DLL_CNT(1)は1相目の遅延補正信号(DLL_CNT)81である。補正後の遅延補正信号(DLL_CNT)は、1相目(0度以上)の遅延補正信号(DLL_CNT)81及び差D(1)の和に相当する。
Figure 2012248088
2相目(90度以上)では、基準クロック信号(CLK_90)が90度(理想値)より小さい。従って、遅延制御回路35及び45は、それぞれ、基準クロック信号(CLK_90)の位相に差D(1)を加算した値(0度補正値)を算出する。
2相目(90度以上)では、遅延補正信号(DLL_CNT)83が180度(理想値)より小さい。従って、遅延制御回路35及び45は、それぞれ、式3を用いて、基準クロック信号(CLK_180)と180度(理想値)との差D(2)を算出する。式3において、SUMは遅延補正信号(DLL_CNT)の合計であり、SUM(2)は2相目までの遅延補正信号(DLL_CNT)の合計である。補正後の遅延補正信号(DLL_CNT)は、2相目(90度以上)の遅延補正信号(DLL_CNT)83及び差D(2)の和に相当する。
Figure 2012248088
図10は、4相クロックにおいて、実際の基準クロック信号(CLK_90、CLK_180、及びCLK_270)が、基準クロック信号(CLK_0)より長い場合の遅延補正信号(DLL_CNT)を示している。
1相目(0度以上)では、遅延補正信号(DLL_CNT)91が90度(理想値)より大きい。従って、遅延制御回路35及び45は、それぞれ、式4を用いて、基準クロック信号(CLK_90)と90度(理想値)との差D(3)を算出する。式4において、DLL_CNT(1)は1相目の遅延補正信号(DLL_CNT)91であり、SUMは遅延補正信号(DLL_CNT)の合計である。補正後の遅延補正信号(DLL_CNT)は、1相目(0度以上)の遅延補正信号(DLL_CNT)91及び差D(3)の和に相当する。
Figure 2012248088
区間92の角度を設定する場合には、基準クロック信号(CLK_0)を起点に、90度分の遅延である遅延補正信号(DLL_CNT)91を90度補正値として設定する。区間92は、基準クロック信号(CLK_90)の実際値と理想値との差分を表す。換言すると、区間92は、基準クロック信号(CLK_0)を起点にして設定角度を設定する場合の位相の範囲を表す。次に、遅延補正回路35及び45は、それぞれ、“(設定角度から90度を引いた値)+(90度補正値)”を遅延素子アレイ32a又は32b、及び42a又は42bに設定する。
区間93の角度を設定する場合には、遅延補正回路35及び45は、それぞれ、基準クロック信号(CLK_90)を起点に、設定角度(すなわち、遅延補正信号(DLL_CNT)91)から差D(3)を引いた値を遅延素子アレイ32a又は32b、及び42a又は42bに設定する。
第3実施形態では、遅延制御回路35及び45が、それぞれ、n相クロックの補正量を算出する。従って、n相クロックのスキュー差によるタイミングマージンの減少を問題とする場合に、補正の精度を改善することができる。
(第4実施形態)
第4実施形態を説明する。システムクロック信号(SYSTEM_CLK)がPLL141に供給される例である。なお、上述の実施形態と同様の説明は省略する。
第4実施形態のメモリアクセス装置の構成を説明する。図11は、第4実施形態のメモリアクセス装置10の構成図である。
図11に示すように、メモリアクセス装置10は、第1実施形態〜第3実施形態と同様に、システム回路12と、メモリアクセス回路14と、を備える。メモリアクセス回路14は、メモリ20と、システム回路12と、に接続される。
システム回路12は、メモリアクセスコマンド(MAC)を発行する回路である。システム回路12は、メモリアクセスコマンド発行部121と、システムクロックツリー122と、メモリデ−タ制御部124 と、を備える。
メモリアクセス回路14は、メモリアクセスを制御する回路である。メモリアクセス回路14は、PLL141と、第2DLL143〜第5DLL146と、第2PD147bと、第1論理回路148〜第3論理回路150と、第1ファイクロックツリー151〜第3ファイクロックツリー153と、設定角度算出部154と、マスタDLL155と、第1増幅回路156〜第4増幅回路159と、を備える。なお、DLLの数は、5つに限られるものではない。すなわち、メモリアクセス回路14は、5つ以上のDLLを備えても良い。また、メモリアクセスコマンド発行部121及び第1論理回路148〜第3論理回路150は、幾つでも良い。
メモリアクセスコマンド発行部121は、メモリ20へのアクセスを命令するメモリアクセスコマンド(MAC)を発行するモジュールである。メモリアクセスコマンド発行部121は、バス40を介して転送されるリクエスト(REQ)と、システムクロックツリー122により生成されるシステムクロック信号(SYSTEM_CLK)と、を入力し、入力したリクエスト(REQ)及びシステムクロック信号(SYSTEM_CLK)に基づいてメモリアクセスコマンド(MAC)を発行する。
システムクロックツリー調整部122は、基準信号(REF)を所定の第3クロックツリー長TL3の分だけ遅延させて、システムクロック信号(SYSTEM_CLK)を生成するモジュールである。
メモリデ−タ制御部124 は、メモリアクセスコマンド発行部121が発行したメモリアクセスコマンド(MAC)に応じて、バス40から入力されるデータ(DATA)を第1論理回路148と、第2論理回路149と、へ出力する。
PLL141は、基準周波数とPLL出力との位相差を検出し、検出した位相差に基づいて基準周波数にロックされたPLL出力を生成する回路である。PLL出力は、基準クロック信号(PHY_CLK_CK)のソース信号である。すなわち、システムクロック信号(SYSTEM_CLK)と基準クロック信号(PLL_CLK_CK)は、PLL141によりデスキューされている。
第1ファイクロックツリー151は、所定の第1クロックツリー長TLαの分だけPLL出力を遅延させて基準クロック信号(PHY_CLK_CK)を生成するモジュールである。基準クロック信号(PHY_CLK_CK)は、基準周波数の逓倍の周波数を有する。基準クロック信号(PHY_CLK_CK)は、メモリ20の動作タイミングを制御するためのタイミング制御信号のソース信号(すなわち、メモリ20のソースクロック)であるので、メモリアクセス回路14で使用される信号の中で、クロックジッタを低減する優先度が最も高い信号であり、配線長が最も短い配線で伝送される。
マスタDLL155は、クロックスキューの補正量ΔCの決定に用いられる遅延補正信号(DLL_CNT)を生成する回路である。マスタDLL155は、基準クロック信号(PHY_CLK_CK)を入力し、入力した基準クロック信号(PHY_CLK_CK)のクロックをカウントして遅延補正信号(DLL_CNT)を生成する。遅延補正信号(DLL_CNT)は、補正量ΔCの基準となる、基準クロック信号の1サイクル分の周期に相当する遅延素子数を示す信号である。
第2ファイクロックツリー152は、基準クロック信号(PHY_CLK_CK)を入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ基準クロック信号(PHY_CLK_CK)を遅延させて、DLLクロック信号(DLL_CLK)を生成するモジュールである。DLLクロック信号(DLL_CLK)は、タイミング制御信号の一種であるストローブ信号(DQS)及びデータ信号(DQ)のソース信号である。
第2DLL143は、基準クロック信号(PHY_CLK_CK)とファイクロック信号(PHY_CLK)との間のクロックスキューを補正するクロックデスキュー回路である。ファイクロック信号(PHY_CLK)は、メモリアクセス回路14内で使用される信号である。第2DLL143は、基準クロック信号(PHY_CLK_CK)と、第2PD147bの出力である第2PD出力(PD_OUT2)と、遅延補正信号(DLL_CNT)と、を入力し、第2PD出力(PD_OUT2)に基づいて補正方向を決定し、遅延補正信号(DLL_CNT)に基づいて補正量ΔC1を決定し、決定した補正方向及び補正量ΔC1に基づいて基準クロック信号(PHY_CLK_CK)を遅延させて、第2DLL出力(DLL_OUT2)を生成する。第2DLL出力(DLL_OUT2)は、ファイクロック信号(PHY_CLK)のソース信号である。また、第2DLL143は、補正量ΔC1に対応する基準角度Aを生成する。
第3ファイクロックツリー153は、第2DLL出力(DLL_OUT2)を入力し、PLL出力に対して所定の第2クロックツリー長TL2の分だけ第2DLL出力(DLL_OUT2)を遅延させて、ファイクロック信号(PHY_CLK)を生成するモジュールである。すなわち、ファイクロック信号(PHY_CLK)は、クロックスキューが補正された第2DLL出力(DLL_OUT2)に基づいて生成される信号である。ファイクロック信号(PHY_CLK)のクロックツリー長は、DLLクロック信号(DLL_CLK)のクロックツリー長と等しい。
設定角度算出部154は、第3DLL144〜第5DLL146へ供給すべき設定角度を算出するモジュールである。設定角度は、第1論理回路148の出力であるストローブ信号(DQS)と、第2論理回路149の出力であるデータ信号(DQ)及びデータマスク信号(DM)と、第3論理回路150の出力であるアドレス信号(ADDR)及びコマンド信号(CMD)との間に設定すべき位相差を示す情報である。設定角度算出部154は、第2DLL143により生成された基準角度Aと、メモリアクセス回路14に接続された所定の外部回路(例えば、システム回路12)により生成された所定の位相角度Bと、を加算し、基準角度A及び位相角度Bの和を設定角度として第3DLL144〜第5DLL146へ出力する。位相角度Bは、第3DLL144〜第5DLL146のそれぞれについて、システム回路12により個別に決められる任意の追加補正量を示す角度であって、ストローブ信号(DQS)と、データ信号(DQ)及びデータマスク信号(DM)と、第3論理回路150の出力であるアドレス信号(ADDR)及びコマンド信号(CMD)との間に設定すべき位相差に対応する角度である。すなわち、システム回路12は、第3DLL144用の位相角度と、第4DLL145用の位相角度と、第5DLL146用の位相角度と、を個別に決める。なお、位相角度Bは、ストローブ信号(DQS)と、データ信号(DQ)と、アドレス信号(ADDR)及びコマンド信号(CMD)との間に設定すべき位相差に加えて、ストローブ信号(DQS)とメモリ基準信号(CK)との間に設定すべき位相差を含んでも良い。
第3DLL144〜第5DLL146は、それぞれ、基準クロック信号(PHY_CLK_CK)とDLLクロック信号(DLL_CLK)との間のクロックスキューを補正するクロックデスキュー回路である。第3DLL144〜第5DLL146は、それぞれ、設定角度と、DLLクロック信号(DLL_CLK)と、遅延補正信号(DLL_CNT)と、を入力し、設定角度及び遅延補正信号(DLL_CNT)に基づいて補正方向及び補正量を決定し、決定した補正方向及び補正量に基づいて基準クロック信号(PHY_CLK_CK)を遅延させて第3DLL出力(DLL_OUT3)〜第5DLL出力(DLL_OUT5)を生成する。第3DLL出力(DLL_OUT3)は、ストローブ信号(DQS)のソース信号である。第4DLL出力(DLL_OUT4)は、データ信号(DQ)及びデータマスク信号(DM)のソース信号である。第5DLL出力(DLL_OUT5)は、アドレス信号(ADDR)及びコマンド信号(CMD)のソース信号である。
第2PD147bは、ファイクロック信号(PHY_CLK)のクロックエッジの位相と基準クロック信号(PHY_CLK_CK)のクロックエッジの位相との間のずれを検出する回路(例えばフリップフロップ)である。第2PD147bは、ファイクロック信号(PHY_CLK)と、基準クロック信号(PHY_CLK_CK)と、を入力し、ファイクロック信号(PHY_CLK)のクロックエッジと基準クロック信号(PHY_CLK_CK)のクロックエッジとのずれを検出し、ファイクロック信号(PHY_CLK)のシステムクロック信号(SYSTEM_CLK)に対する遅延方向(ファイクロック信号(PHY_CLK)がシステムクロック信号(SYSTEM_CLK)に対して遅れているか又は進んでいるか)を示す第2検出信号(PD_OUT2)を生成する。第2検出信号(PD_OUT2)は、ファイクロック信号(PHY_CLK)と基準クロック信号(PHY_CLK_CK)の位相差に応じた1ビットの信号であって、例えば、“0”はファイクロック信号(PHY_CLK)が基準クロック信号(PHY_CLK_CK)に対して遅れていることを示し、“1”はファイクロック信号(PHY_CLK)が基準クロック信号(PHY_CLK_CK)に対して進んでいることを示す。
第1論理回路148は、メモリ20のストローブ信号(DQS)を生成する回路である。第1論理回路148は、ファイクロック信号(PHY_CLK)と、データ(DATA)と、第3DLL出力(DLL_OUT3)と、を入力し、入力した信号からストローブ信号(DQS)を生成し、生成したストローブ信号(DQS)をメモリ20へ出力する。なお、第1論理回路148は、第3DLL144に組み込まれても良い。
第2論理回路149は、メモリ20のデータ信号(DQ)及びデータマスク信号(DM)を生成する回路である。第2論理回路149は、ファイクロック信号(PHY_CLK)と、データ(DATA)と、第4DLL出力(DLL_OUT4)と、を入力し、入力した信号からデータ信号(DQ)を生成し、生成したデータ信号(DQ)をメモリ20へ出力する。なお、第2論理回路149は、第4DLL145に組み込まれても良い。
第3論理回路150は、メモリ20のアドレス信号(ADDR)及びコマンド信号(CMD)を生成する回路である。第3論理回路150は、ファイクロック信号(PHY_CLK)と、メモリアクセスコマンド(MAC)と、第5DLL出力(DLL_OUT5)と、を入力し、入力した信号からアドレス信号(ADDR)及びコマンド信号(CMD)を生成し、生成したアドレス信号(ADDR)及びコマンド信号(CMD)を、第3増幅回路158を介してメモリ20へ出力する。なお、第3論理回路150は、第5DLL146に組み込まれても良い。
第1増幅回路156は、第1論理回路148から出力されたストローブ信号(DQS)を増幅し、増幅したストローブ信号(DQS)をメモリ20へ出力する回路である。第2増幅回路157は、第2論理回路149から出力されたデータ信号(DQ)及びデータマスク信号(DM)を増幅し、増幅したデータ信号(DQ)及びデータマスク信号(DM)をメモリ20へ出力する回路である。第3増幅回路158は、第3論理回路150から出力されたアドレス信号(ADDR)及びコマンド信号(CMD)を増幅し、増幅したアドレス信号(ADDR)及びコマンド信号(CMD)をメモリ20へ出力する回路である。第4増幅回路159は、基準クロック信号(PHY_CLK_CK)を増幅してメモリ20のタイミング制御信号の一種であるメモリ基準信号(CK)を生成し、生成したメモリ基準信号(CK)をメモリ20へ出力する回路である。
第4実施形態のメモリアクセス装置で取り扱われる信号を説明する。図12は、第4実施形態のメモリアクセス装置10で取り扱われる信号波形図である。
図12に示すように、PLL141の位相調整機能により、システムクロック信号(SYSTEM_CLK)と基準クロック信号(PHY_CLK_CK)の遅延量の差分TLαは、補正量ΔCαで補正される。このとき、PLL141から見た基準クロックはシステムクロック信号(SYSTEM_CLK)となる。
ある時点において、第2PD入力は、PLL出力に対して第2クロックツリー長TL2だけ遅延している。この第2PD入力は、第2DLL143がクロックスキューを補正していないときに第3ファイクロックツリー153から出力される信号である。第2クロックツリー長TL2は、第1クロックツリー長TL1より長く、且つ、第3クロックツリー長TL3より短い。これは、第3ファイクロックツリー153が、PLL出力に対して第2クロックツリー長TL2の分だけ第2DLL出力(DLL_OUT2)を遅延させるためである。この場合に、第2PD147bは、基準クロック信号(PHY_CLK_CK)と第2PD入力との間に第2クロックツリー長TL2の分の位相差が存在することを示す第2検出信号(PD_OUT2)を生成する。次いで、第2DLL143は、第2検出信号(PD_OUT2)に基づいて基準クロック信号(PHY_CLK_CK)の補正量ΔC1を算出し、基準クロック信号(PHY_CLK_CK)を補正量ΔC1だけ補正して第2DLL出力(DLL_OUT2)を生成する。次いで、第3ファイクロックツリー153は、第2DLL出力(DLL_OUT2)を遅延させて、ファイクロック信号(PHY_CLK)を生成する。これにより、ファイクロック信号(PHY_CLK)の位相が基準クロック信号(PHY_CLK_CK)と等しくなる。
第4実施形態によれば、第1実施形態〜第3実施形態の第1DLL142及び第1PD147aを省略したメモリアクセス装置10により、第1実施形態〜第3実施形態と同様の効果が得られる。これにより、第1実施形態〜第3実施形態と比べて、メモリアクセス装置10の回路規模を縮小することができる。
なお、本実施形態では、データ信号(DQ)及びストローブ信号(DQS)を生成する場合に、バイトごとに複数のDLLを組み合わせても良い。このとき、組み合わせられるDLLの構成は、同一であっても良いし、互いに異なっていても良い。例えば、第1DLL142及び第2DLL143は、図5の構成を備え、第3DLL144〜第5DLL146は、図8の構成を備えていても良い。この場合には、図8の構成を備える第3DLL144〜第5DLL146は、図5の構成を備える第1DLL142又は第2DLL143から遅延補正信号(DLL_CNT)を取得することにより、回路面積を抑え、且つ、精度を保ったまま、複数の位相を調整することができる。
また、本実施形態では、第2論理回路149がデータ信号(DQ)及びデータマスク信号(DM)を出力する例について説明したが、第2論理回路149は、データ信号(DQ)のみを出力しても良い。
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1 メモリシステム
10 メモリアクセス装置
12 システム回路
121 メモリアクセスコマンド発行部
122 システムクロックツリー
124 メモリデータ制御部
14 メモリアクセス回路
141 PLL
142 第1DLL
143 第2DLL
144 第3DLL
145 第4DLL
146 第5DLL
147a 第1PD
147b 第2PD
148 第1論理回路
149 第2論理回路
150 第3論理回路
151 第1ファイクロックツリー
152 第2ファイクロックツリー
153 第3ファイクロックツリー
154 設定角度算出部
155 マスタDLL
156 第1増幅回路
157 第2増幅回路
158 第3増幅回路
159 第4増幅回路
20 メモリ
30 CPU
40 バス

Claims (5)

  1. パラレルインタフェースを有するメモリと、前記メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路と、に接続されるメモリアクセス回路において、
    基準信号の基準周波数にロックされたPLL(Phase Locked Loop)出力を生成する位相同期回路と、
    前記PLL出力を遅延させて基準クロック信号を生成する第1ファイクロックツリーと、
    前記基準クロック信号と、前記システム回路により生成されるシステムクロック信号との間のクロックスキューを補正して、前記システムクロック信号のソース信号を生成する第1遅延同期回路と、
    前記基準クロック信号と、前記メモリアクセス回路内で使用されるファイクロック信号との間のクロックスキューを補正して、前記ファイクロック信号のソース信号を生成する第2遅延同期回路と、
    前記システムクロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第1検出信号を生成する第1位相検出回路と、
    前記基準クロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第2検出信号を生成する第2位相検出回路と、
    前記基準クロック信号をカウントして、遅延補正信号を生成するマスタ遅延同期回路と、を備え、
    前記第1遅延同期回路は、前記第1検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定し、
    前記第2遅延同期回路は、前記第2検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定することを特徴とするメモリアクセス回路。
  2. 前記第1遅延同期回路及び前記第2遅延同期回路の少なくとも1つは、
    前記基準クロック信号の複数相のうち、複数の基準相の前記基準クロック信号を選択する複数の基準相マルチプレクサと、
    任意の選択相の前記基準クロック信号を選択する選択相マルチプレクサと、
    前記複数の基準相マルチプレクサにより選択された前記複数の基準相の前記基準クロック信号を遅延させて、前記複数の基準相の遅延基準クロック信号を生成する複数の遅延素子アレイと、
    前記複数の遅延素子アレイから出力された複数の基準相の遅延基準クロック信号の1つを選択するDLL(Delay Locked Loop)出力マルチプレクサと、
    前記選択相と前記基準相とを比較し、前記選択相及び前記基準相の位相差に応じたクロックスキュー信号を生成する位相比較回路と、
    前記クロックスキュー信号に基づいて、選択すべき相を切り替えるように前記基準相マルチプレクサと、前記選択相マルチプレクサと、前記DLL出力マルチプレクサと、を制御するとともに、前記遅延素子アレイに対して、前記遅延補正信号に基づいて動作させる遅延素子の数を調整する遅延制御回路と、を備える請求項1のメモリアクセス回路。
  3. 前記基準クロック信号を遅延させて、DLLクロック信号を生成する第2ファイクロックツリーと、
    前記第2遅延同期回路の出力を遅延させて、前記ファイクロック信号を生成する第3ファイクロックツリーと、
    前記基準クロック信号と前記DLLクロック信号との間のクロックスキューを補正して、前記メモリへ供給すべきストローブ信号のソース信号を生成する第3遅延同期回路と、
    前記基準クロック信号と前記DLLクロック信号との間のクロックスキューを補正して、前記メモリへ供給すべきデータクロックのソース信号を生成する第4遅延同期回路と、
    前記第2遅延同期回路の補正量に基づいて、前記第3遅延同期回路及び前記第4遅延同期回路へ供給すべき設定角度を算出する設定角度算出部と、をさらに備え、
    前記第3遅延同期回路及び前記第4遅延同期回路は、前記設定角度に基づいて、前記クロックスキューを補正する請求項1又は2のメモリアクセス回路。
  4. 前記第1遅延同期回路及び前記第2遅延同期回路の少なくとも1つは、
    前記基準クロック信号の複数相のうち、1つの基準相を選択する基準相マルチプレクサと、
    前記基準相マルチプレクサにより選択された前記基準相の前記基準クロック信号を遅延させて、遅延基準クロック信号を生成する遅延素子アレイと、
    前記遅延補正信号に基づいて、選択すべき相を切り替えるように前記基準相マルチプレクサを制御するとともに、前記遅延素子アレイに対して、動作させる遅延素子の数を調整する遅延制御回路と、を備える請求項1のメモリアクセス回路。
  5. パラレルインタフェースを有するメモリと、
    前記メモリへのアクセスを命令するメモリアクセスコマンドを発行するシステム回路と、
    基準信号の基準周波数にロックされたPLL(Phase Locked Loop)出力を生成する位相同期回路と、
    前記PLL出力を遅延させて基準クロック信号を生成する第1ファイクロックツリーと、
    前記基準クロック信号と、前記システム回路により生成されるシステムクロック信号との間のクロックスキューを補正して、前記システムクロック信号のソース信号を生成する第1遅延同期回路と、
    前記基準クロック信号と、前記メモリアクセス回路内で使用されるファイクロック信号との間のクロックスキューを補正して、前記ファイクロック信号のソース信号を生成する第2遅延同期回路と、
    前記システムクロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第1検出信号を生成する第1位相検出回路と、
    前記基準クロック信号と前記ファイクロック信号との間の位相差を検出し、前記位相差に応じた第2検出信号を生成する第2位相検出回路と、
    前記基準クロック信号をカウントして、遅延補正信号を生成するマスタ遅延同期回路と、を備え、
    前記第1遅延同期回路は、前記第1検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定し、
    前記第2遅延同期回路は、前記第2検出信号に基づいて補正方向を決定し、前記遅延補正信号に基づいて補正量を決定することを特徴とするメモリアクセスシステム。
JP2011120668A 2011-05-30 2011-05-30 メモリアクセス回路及びメモリシステム Expired - Fee Related JP5568057B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011120668A JP5568057B2 (ja) 2011-05-30 2011-05-30 メモリアクセス回路及びメモリシステム
US13/425,338 US8819475B2 (en) 2011-05-30 2012-03-20 Memory access circuit and memory access system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011120668A JP5568057B2 (ja) 2011-05-30 2011-05-30 メモリアクセス回路及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2012248088A true JP2012248088A (ja) 2012-12-13
JP5568057B2 JP5568057B2 (ja) 2014-08-06

Family

ID=47262638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011120668A Expired - Fee Related JP5568057B2 (ja) 2011-05-30 2011-05-30 メモリアクセス回路及びメモリシステム

Country Status (2)

Country Link
US (1) US8819475B2 (ja)
JP (1) JP5568057B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11605407B2 (en) 2021-03-22 2023-03-14 Kioxia Corporation Memory system and delay control method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2546991A1 (en) * 2011-07-15 2013-01-16 Thomson Licensing Clock generation circuit
US20140312928A1 (en) * 2013-04-19 2014-10-23 Kool Chip, Inc. High-Speed Current Steering Logic Output Buffer
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
US9825755B2 (en) * 2013-08-30 2017-11-21 Qualcomm Incorporated Configurable clock tree
US10447466B2 (en) * 2018-01-18 2019-10-15 Mediatek Inc. Transceiver and clock generation module
US11380395B2 (en) * 2020-09-04 2022-07-05 Micron Technology, Inc. Access command delay using delay locked loop (DLL) circuitry

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050738A (ja) * 2001-08-03 2003-02-21 Elpida Memory Inc キャリブレーション方法及びメモリシステム
JP2005142859A (ja) * 2003-11-06 2005-06-02 Nec Micro Systems Ltd Master/Slave方式ディジタルDLLおよびその制御方法
JP2010503068A (ja) * 2006-08-30 2010-01-28 ラピッド・ブリッジ・エルエルシー ダブル・データ・レート・システム
JP2010206747A (ja) * 2009-03-06 2010-09-16 Toshiba Corp 半導体装置
JP2010224717A (ja) * 2009-03-23 2010-10-07 Nec Corp クロック分配装置及びクロック分配方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003686B2 (en) * 2002-05-20 2006-02-21 Hitachi Ltd. Interface circuit
US7664978B2 (en) * 2006-04-07 2010-02-16 Altera Corporation Memory interface circuitry with phase detection
JP5160856B2 (ja) * 2007-10-24 2013-03-13 ルネサスエレクトロニクス株式会社 Ddrメモリコントローラ及び半導体装置
TWI425364B (zh) * 2010-06-22 2014-02-01 Mstar Semiconductor Inc 記憶體共享系統及方法
JP5433593B2 (ja) 2011-01-21 2014-03-05 株式会社東芝 メモリインターフェイスのタイミング調整回路および方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050738A (ja) * 2001-08-03 2003-02-21 Elpida Memory Inc キャリブレーション方法及びメモリシステム
JP2005142859A (ja) * 2003-11-06 2005-06-02 Nec Micro Systems Ltd Master/Slave方式ディジタルDLLおよびその制御方法
JP2010503068A (ja) * 2006-08-30 2010-01-28 ラピッド・ブリッジ・エルエルシー ダブル・データ・レート・システム
JP2010206747A (ja) * 2009-03-06 2010-09-16 Toshiba Corp 半導体装置
JP2010224717A (ja) * 2009-03-23 2010-10-07 Nec Corp クロック分配装置及びクロック分配方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11605407B2 (en) 2021-03-22 2023-03-14 Kioxia Corporation Memory system and delay control method

Also Published As

Publication number Publication date
JP5568057B2 (ja) 2014-08-06
US8819475B2 (en) 2014-08-26
US20120311372A1 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
JP5568057B2 (ja) メモリアクセス回路及びメモリシステム
US9508417B2 (en) Methods and apparatuses for controlling timing paths and latency based on a loop delay
US9000817B2 (en) Apparatuses and methods for altering a forward path delay of a signal path
US8324946B2 (en) Clock generator and methods using closed loop duty cycle correction
JP5653177B2 (ja) メモリインターフェース回路及び半導体装置
JP4249769B2 (ja) Dll回路及びこれを備える半導体装置
JP2010182149A (ja) メモリ制御装置、及びメモリ制御方法
TWI703575B (zh) 記憶體訊號相位差校正電路與方法
JP4959264B2 (ja) メモリ制御装置
JP5600049B2 (ja) 半導体装置
KR20110050821A (ko) 지터를 감소시킬 수 있는 dll회로 및 이를 포함하는 반도체 장치
US20140229668A1 (en) Memory controller and memory control method
US9396789B2 (en) Memory control device and a delay controller
JP5005928B2 (ja) インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
JP5375330B2 (ja) タイミング調整回路、タイミング調整方法及び補正値算出方法
JP2012203515A (ja) 半導体装置
US7755401B2 (en) Semiconductor device including DLL circuit, and data processing system
US20100156489A1 (en) Dll circuit, semiconductor device including the same, and data processing system
JP2009117020A (ja) 半導体メモリ装置
JP2015162052A (ja) デューティ補正装置ならびにデューティ補正方法
KR101027760B1 (ko) 지연 동기 루프의 클럭 발생부 및 그것의 클럭 신호 생성 방법
JP2021047562A (ja) 半導体集積回路、送信装置、およびメモリシステム
JP2015035229A (ja) 半導体装置
WO2014115657A1 (ja) 出力信号生成装置、半導体装置および出力信号生成方法
JP2016076284A (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140324

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: 20140523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140620

LAPS Cancellation because of no payment of annual fees