JP2012037973A - インターフェース回路及びインターフェース回路を備えるメモリコントローラ - Google Patents

インターフェース回路及びインターフェース回路を備えるメモリコントローラ Download PDF

Info

Publication number
JP2012037973A
JP2012037973A JP2010175567A JP2010175567A JP2012037973A JP 2012037973 A JP2012037973 A JP 2012037973A JP 2010175567 A JP2010175567 A JP 2010175567A JP 2010175567 A JP2010175567 A JP 2010175567A JP 2012037973 A JP2012037973 A JP 2012037973A
Authority
JP
Japan
Prior art keywords
data
clock
circuit
period
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.)
Withdrawn
Application number
JP2010175567A
Other languages
English (en)
Inventor
Takuma Tominaga
琢磨 富永
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.)
TDK Corp
Original Assignee
TDK 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 TDK Corp filed Critical TDK Corp
Priority to JP2010175567A priority Critical patent/JP2012037973A/ja
Publication of JP2012037973A publication Critical patent/JP2012037973A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

【課題】ロックアップ時間無しでDDRインターフェースを備えたメモリにアクセスすることのできるインターフェース回路及びインターフェース回路を備えるメモリコントローラを提供する
【解決手段】データストローブ信号(DQS)の周期が基本クロックの周期の4n倍(nは1以上の整数)になるようにする。このようにすることにより、データストローブ信号(DQS)がハイレベルの期間又はローレベルの期間は、基本クロックの2n周期分の期間と一致する。そして、データストローブ信号(DQS)の立ち上がりエッジ又は立ち下がりエッジから基本クロックのn周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチする。
【選択図】図3

Description

本発明は、DDR(Double Data Rate)インターフェースを備えたメモリにアクセスするためのインターフェース回路及びインターフェース回路を備えるメモリコントローラに関する。
近年、SDRAM(Synchronous Dynamic Random Access Memory)以外のメモリでも、DDRインターフェースを備えたものが製品化されている。DDRインターフェースを備えたメモリにアクセスするためのインターフェース回路では、データ読み出し時に、DLL(Delay Locked Loop)回路を使用して、メモリから出力されるデータストローブ信号の位相を90度ずらした内部基準信号を生成する。そして、この内部基準信号に基づいて、メモリから出力されるデータ信号をラッチする方法が広く知られている。
このDLL回路は、入力されたデータストローブ信号とデータストローブ信号に基づいて生成された内部基準信号との遅延量を調整する回路である。この遅延量を調整では、遅延量を変化させる毎に、位相比較が行われ、位相差が所定の値になったときに遅延量をロックする。このように遅延量がロックされた後にメモリからの読み出し操作が可能になる。この遅延量をロックするためにかかる処理時間であるロックアップ時間を短縮する技術が特許文献1に開示されている。この技術では、位相比較により検出された位相差が大きいときには、遅延量を大きく変化させて遅延量を調整することによりロックアップ時間を短縮している。
特開平10−285016号公報
SSD(Solid State Drive)等に用いられているNAND型フラッシュメモリにおいても、DDRインターフェースを備えたものが製品化されている。このNAND型フラッシュメモリへのアクセスを制御するメモリコントローラは、通常、PLL(Phase Locked Loop)回路を用いて内部クロックを生成し、この内部クロックに基づいて動作している。このようなメモリコントローラでは、省電力化のために、内部クロックを停止させることがある。この内部クロックを停止させた場合、PLL(Phase Locked Loop)回路により、内部クロックを再度生成した後に、DLL回路による遅延量の調整も再度行わなければならない。
特許文献1に開示されている技術を用いることにより、このロックアップ時間を短縮することはできるが、DLL回路を用いる限り、このロックアップ時間を無くすことはできない。
そこで、本発明は、DLL回路を用いないことにより、ロックアップ時間無しでDDRインターフェースを備えたメモリにアクセスすることのできるインターフェース回路及びインターフェース回路を備えるメモリコントローラを提供することを目的とする。
本発明の第1の側面に従うインターフェース回路は、
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号の立ち上がりエッジを起点として、周期がTのクロックのn+1番目の立ち上がりエッジを検出する第1の検出回路と、
前記データストローブ信号の立ち下がりエッジを起点として、前記クロックのn+1番目の立ち上がりエッジを検出する第2の検出回路と、
前記データストローブ信号の立ち上がりエッジから前記第1の検出回路により検出される立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記第2の検出回路により検出される立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備える。
本発明の第2の側面に従うインターフェース回路は、
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
周期がTのクロックの立ち上がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備える。
本発明の第3の側面に従うインターフェース回路は、
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号の立ち上がりエッジを起点として、周期がTのクロックのn+1番目の立ち下がりエッジを検出する第1の検出回路と、
前記データストローブ信号の立ち下がりエッジを起点として、前記クロックのn+1番目の立ち下がりエッジを検出する第2の検出回路と、
前記データストローブ信号の立ち上がりエッジから前記第1の検出回路により検出される立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記第2の検出回路により検出される立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備える。
本発明の第4の側面に従うインターフェース回路は、
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
周期がTのクロックの立ち下がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備える。
本発明の第5の側面に従うメモリコントローラは、
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するフラッシュメモリへのアクセスを制御するメモリコントローラであって、
請求項1乃至4のいずれか1項に記載のインターフェース回路を備え、
このインターフェース回路を介して、フラッシュメモリからデータを読み出す。
本発明によれば、DLL回路を用いずに、データストローブ信号のn倍の周波数のクロックに基づいて、DDRインターフェースを備えたメモリから出力されるデータをラッチするようにしたので、
ロックアップ時間を待つことなくDDRインターフェースを備えたメモリへのアクセスを開始することができる。
図1は、本実施の形態に係るメモリコントローラ10を概略的に示すブロック図である。 図2は、本実施の形態に係るフラッシュメモリインターフェースブロック5を概略的に示すブロック図である。 図3は、本実施の形態に係る読み出し制御回路12を示す回路図である。 図4は、読み出し制御回路12の動作を説明するためのタイミングチャート(理想動作時)である。 図5は、読み出し制御回路12の動作を説明するためのタイミングチャート(メタステーブル発生時)である。
DDR(Double
Data Rate)インターフェースを備えたフラッシュメモリを制御するメモリコントローラを例として、本発明に係るインターフェース回路を説明する。図1は、本発明に係るインターフェース回路が組み込まれたメモリコントローラ10を概略的に示している。図1には、インターフェース回路の動作を説明するために必要なメモリコントローラ10の構成だけが示されている。
ホストシステム1は、メモリコントローラ10を介してフラッシュメモリ6にアクセスする。例えば、ホストシステム1は、メモリコントローラ10に対して、データの書き込み及びデータの読み出しを要求する。データの書き込みを要求するときに、ホストシステム1は、ホストインターフェースブロック2に、データの書き込みを要求するコマンドと、書き込むデータに対応する論理アドレスを与える。その後、ホストシステム1が書き込むデータを出力し、そのデータがホストインターフェースブロック2に与えられる。データの読み出しを要求するときに、ホストシステム1は、ホストインターフェースブロック2に、データの読み出しを要求するコマンドと、読み出すデータに対応する論理アドレスを与える。その後、ホストインターフェースブロック2からその論理アドレスに対応するデータが出力され、ホストシステム1はそのデータを受け取る。
バッファメモリ制御回路3は、バッファメモリ4への入力及びバッファメモリ4からの出力を制御する回路である。つまり、バッファメモリ制御回路3は、ホストインターフェースブロック2を介してホストシステム1から与えられるデータ、又はフラッシュメモリインターフェースブロック5を介してフラッシュメモリ6から読み出されるデータをバッファメモリ4に格納する。また、バッファメモリ制御回路3は、バッファメモリ4に格納されている読み出しデータを、ホストインターフェースブロック2を介してホストシステム1に転送し、バッファメモリ4に格納されている書き込みデータを、フラッシュメモリインターフェースブロック5を介してフラッシュメモリ6に転送する。
フラッシュメモリインターフェースブロック5は、フラッシュメモリ6へのデータの書き込み及びフラッシュメモリ6からのデータの読み出しを制御する。データを書き込むときに、フラッシュメモリインターフェースブロック5は、フラッシュメモリ6に、データの書き込みを要求するコマンド及び書き込み先の物理アドレスを与える。データを読み出すときに、フラッシュメモリインターフェースブロック5は、フラッシュメモリ6に、データの読み出しを要求するコマンド及び読み出し元の物理アドレスを与える。
フラッシュメモリ6は、DDR(Double Data Rate)インターフェースを備えたフラッシュメモリである。
図2に示したように、フラッシュメモリインターフェースブロック5は、書き込み制御回路11と読み出し制御回路12を備えている。書き込み制御回路11は、フラッシュメモリ6へのデータ書き込みを制御する回路であり、コマンド、物理アドレス及び書き込みデータ等の信号を適切なタイミングでフラッシュメモリ6に入力する。読み出し制御回路12は、フラッシュメモリ6からのデータ読み出しを制御する回路であり、コマンド、物理アドレス等の信号を適切なタイミングでフラッシュメモリ6に入力し、フラッシュメモリ6から出力される読み出しデータの信号を適切なタイミングでラッチする。
読み出し制御回路12は、メモリコントローラ10内のPLL(Phase Locked Loop)回路により生成された基本クロックに基づいて動作している。この基本クロックを4分周したクロックが、メモリコントローラ10のシステムクロックになっている。読み出し制御回路12は、この基本クロックを8分周したクロックを制御クロックとして出力し、制御クロックはフラッシュメモリ6に入力される。そして、データの読み出しを要求するときに、読み出し制御回路12は、この制御クロックと同期させて、データの読み出しを要求するコマンド及び読み出し元の物理アドレスの信号をフラッシュメモリ6に入力する。これに応答して、フラッシュメモリ6は、読み出しデータの信号を出力する。この読み出しデータの信号は、フラッシュメモリ6から出力されるデータストローブ信号に同期して出力される。このデータストローブ信号の周期は、メモリコントローラ10からフラッシュメモリ6に入力される制御クロックと同じ周期になるが、両者には位相差がある。
図3は、読み出し制御回路12の読み出しデータの信号をラッチする部分(データラッチ部)の回路図を示している。このデータラッチ部は、フリップフロップ21−23、28−31及びORゲート24−27により構成されている。
フリップフロップ21−23のクロック入力端子には、クロックC(CLKC)が入力されている。クロックC(CLKC)は、ORゲート25、27の入力端子にも入力されている。フリップフロップ29、32の反転クロック入力端子には、クロックB(CLKB)が入力されている。フリップフロップ30、33の反転クロック入力端子には、クロックA(CLKA)が入力されている。ここで、PLL(Phase Locked Loop)回路により生成された基本クロックが、クロックC(CLKC)として使用されている。基本クロックを2分周したクロックが、クロックB(CLKB)として使用されている。基本クロックを4分周したクロック、つまり、システムクロックがクロックA(CLKA)として使用されている。
フラッシュメモリ6から出力されるデータストローブ信号(DQS)は、フリップフロップ21のデータ入力端子、ORゲート24の反転入力端子及びORゲート26の入力端子に入力されている。フラッシュメモリ6から出力される読み出しデータ(DQ)の信号は、フリップフロップ28、31のデータ入力端子に入力されている。
フリップフロップ21のデータ出力端子は、フリップフロップ22のデータ入力端子に接続されている。フリップフロップ22のデータ出力端子は、フリップフロップ23のデータ入力端子に接続されている。フリップフロップ23のデータ出力端子は、ORゲート24の入力端子及びORゲート26の反転入力端子に接続されている。ORゲート24の出力端子は、ORゲート25の入力端子に接続されている。ORゲート26の出力端子は、ORゲート27の入力端子に接続されている。ORゲート25の出力端子は、フリップフロップ28の反転クロック入力端子に接続されている。フリップフロップ28のデータ出力端子は、フリップフロップ29のデータ入力端子に接続されている。フリップフロップ29のデータ出力端子は、フリップフロップ30のデータ入力端子に接続されている。ORゲート27の出力端子は、フリップフロップ31の反転クロック入力端子に接続されている。フリップフロップ31のデータ出力端子は、フリップフロップ32のデータ入力端子に接続されている。フリップフロップ32のデータ出力端子は、フリップフロップ33のデータ入力端子に接続されている。
尚、読み出しデータ(DQ)の信号は、8ビットのバスを介して読み出し制御回路12に入力されるので、フリップフロップ28は、ビット毎の8個のフリップフロップで構成されている。同様に、フリップフロップ29−33も、それぞれが8個のフリップフロップで構成されている。
次に、図3に示されたデータラッチ部の動作を、図4のタイミングチャートを参照して説明する。
フリップフロップ21は、クロック入力端子に入力されているクロックC(CLKC)の立ち上がりエッジで、データ入力端子に入力されているデータストローブ信号(DQS)の信号レベル(ハイレベル又はローレベル)を保持し、保持した信号レベルをデータ出力端子から出力する。つまり、データストローブ信号(DQS)は、フリップフロップ21により、クロックC(CLKC)に同期した信号DQS_1dに波形整形される。この波形整形の際に、データストローブ信号(DQS)には、クロックC(CLKC)の1周期分より短い遅延が与えられる。
フリップフロップ21のデータ出力端子から出力される信号DQS_1dは、フリップフロップ22のデータ入力端子に入力される。フリップフロップ22は、クロック入力端子に入力されているクロックC(CLKC)の立ち上がりエッジで、データ入力端子に入力されている信号DQS_1dの信号レベル(ハイレベル又はローレベル)を保持し、保持した信号レベルをデータ出力端子から出力する。従って、フリップフロップ22は、信号DQS_1dにクロックC(CLKC)の1周期分に対応する遅延を与えた信号である信号DQS_2dをデータ出力端子から出力する。
フリップフロップ22のデータ出力端子から出力される信号DQS_2dは、フリップフロップ23のデータ入力端子に入力される。フリップフロップ23は、クロック入力端子に入力されているクロックC(CLKC)の立ち上がりエッジで、データ入力端子に入力されている信号DQS_2dの信号レベル(ハイレベル又はローレベル)を保持し、保持した信号レベルをデータ出力端子から出力する。従って、フリップフロップ23は、信号DQS_2dにクロックC(CLKC)の1周期分に対応する遅延を与えた信号である信号DQS_3dをデータ出力端子から出力する。
ORゲート24の反転入力端子にはデータストローブ信号(DQS)が入力され、ORゲート24の入力端子には信号DQS_3dが入力される。従って、ORゲート24の出力端子からは、データストローブ信号(DQS)の立ち上がりエッジに同期して立ち下がり、信号DQS_3dの立ち上がりエッジに同期して立ち上がる信号であるイネーブル信号en_rが出力される。
ORゲート26の入力端子にはデータストローブ信号(DQS)が入力され、ORゲート24の反転入力端子には信号DQS_3dが入力される。従って、ORゲート26の出力端子からは、データストローブ信号(DQS)の立ち下がりエッジに同期して立ち下がり、信号DQS_3dの立ち下がりエッジに同期して立ち上がる信号であるイネーブル信号en_fが出力される。
フリップフロップ21―23によって生成されて信号DQS_3dは、データストローブ信号(DQS)にクロックC(CLKC)の2周期分より大きく3周期分より小さい遅延を与えた信号になるので、イネーブル信号en_rがローレベルの期間は、クロックC(CLKC)の2周期分より長く3周期分より短くなる。同様に、イネーブル信号en_fがローレベルの期間も、クロックC(CLKC)の2周期分より長く3周期分より短くなる。
ORゲート25の一方の入力端子にはイネーブル信号en_rが入力され、ORゲート25の他方の入力端子にはクロックC(CLKC)が入力される。従って、ORゲート25の出力端子からは、イネーブル信号en_rがローレベルの期間だけ、クロックC(CLKC)の立ち上がりエッジに同期して立ち上がり、クロックC(CLKC)の立ち下がりエッジに同期して立ち下がる信号である信号clk_rが出力される。つまり、ORゲート25は、イネーブル信号en_rがローレベルの期間だけ、クロックC(CLKC)を通過させる。
ORゲート27の一方の入力端子にはイネーブル信号en_fが入力され、ORゲート27の他方の入力端子にはクロックC(CLKC)が入力される。従って、ORゲート27の出力端子からは、イネーブル信号en_fがローレベルの期間だけ、クロックC(CLKC)の立ち上がりエッジに同期して立ち上がり、クロックC(CLKC)の立ち下がりエッジに同期して立ち下がる信号である信号clk_fが出力される。つまり、ORゲート27は、イネーブル信号en_fがローレベルの期間だけ、クロックC(CLKC)を通過させる。
フリップフロップ28のデータ入力端子には読み出しデータ(DQ)の信号が入力され、フリップフロップ28の反転クロック入力端子には信号clk_rが入力される。フリップフロップ28は、信号clk_rの立ち下がりエッジで読み出しデータ(DQ)の信号レベル(ハイレベル又はローレベル)を保持し、保持した信号レベルをデータ出力端子から出力する。クロックC(CLKC)は、イネーブル信号en_rがローレベルの期間だけ、ORゲート25を通過してフリップフロップ28の反転クロック入力端子に与えられるので、イネーブル信号en_rがローレベルの期間におけるクロックC(CLKC)の最後の立ち下がりエッジで保持した信号レベル(ハイレベル又はローレベル)を、最終的な信号レベルとして保持される。そして、イネーブル信号en_rが次にローレベルになるまでの期間、フリップフロップ28は、この最終的な信号レベルを出力端子から出力する。つまり、イネーブル信号en_rがハイレベルの期間、フリップフロップ28のデータ出力端子から出力される信号fd_r_inの信号レベル(ハイレベル又はローレベル)は変化しない。この信号レベルは、直前のイネーブル信号en_rがローレベルの期間に最終的に保持された信号レベルに対応する。
フリップフロップ31のデータ入力端子には読み出しデータ(DQ)の信号が入力され、フリップフロップ31の反転クロック入力端子には信号clk_fが入力される。フリップフロップ31は、信号clk_fの立ち下がりエッジで読み出しデータ(DQ)の信号レベル(ハイレベル又はローレベル)を保持し、保持した信号レベルをデータ出力端子から出力する。クロックC(CLKC)は、イネーブル信号en_fがローレベルの期間だけ、ORゲート27を通過してフリップフロップ31の反転クロック入力端子に与えられるので、イネーブル信号en_fがローレベルの期間におけるクロックC(CLKC)の最後の立ち下がりエッジで保持した信号レベル(ハイレベル又はローレベル)が、最終的な信号レベルとして保持される。そして、イネーブル信号en_fが次にローレベルになるまでの期間、フリップフロップ31は、この最終的な信号レベルを出力端子から出力する。つまり、イネーブル信号en_fがハイレベルの期間、フリップフロップ31のデータ出力端子から出力される信号fd_f_inの信号レベル(ハイレベル又はローレベル)は変化しない。この信号レベルは、直前のイネーブル信号en_fがローレベルの期間に最終的に保持された信号レベルに対応する。
読み出しデータ(DQ)の信号をラッチするタイミングは、データストローブ信号(DQS)がハイレベルの期間の中間点とローレベルの期間の中間点であることが好ましい。従って、図3に示されたデータラッチ部は、イネーブル信号en_rがローレベルの期間におけるクロックC(CLKC)の最後の立ち下がりエッジが、データストローブ信号(DQS)がハイレベルの期間の中間点の近傍になるように設計されている。このように設計されているため、フリップフロップ28は、データストローブ信号(DQS)がハイレベルの期間の中間点の近傍で読み出しデータ(DQ)の信号レベル(ハイレベル又はローレベル)を保持する。同様に、イネーブル信号en_fがローレベルの期間におけるクロックC(CLKC)の最後の立ち下がりエッジは、データストローブ信号(DQS)がローレベルの期間の中間点の近傍になるように設計されている。このように設計されているため、フリップフロップ31は、データストローブ信号(DQS)がローレベルの期間の中間点の近傍で読み出しデータ(DQ)の信号レベル(ハイレベル又はローレベル)を保持する。例えば、読み出しデータDn、Dn+2は、フリップフロップ28に保持され、読み出しデータDn+1は、フリップフロップ31に保持されている。
バッファメモリ制御回路3は、システムクロック、つまり、クロックA(CLKA)で動作している。このバッファメモリ制御回路3に、フリップフロップ28に保持されたデータをシステムクロックと同期して転送するための回路として、フリップフロップ29及びフリップフロップ30は設けられている。フリップフロップ28のデータ出力端子から出力された読み出しデータ(fd_r_in)の信号レベル(ハイレベル又はローレベル)は、クロックB(CLKB)の立ち下りでフリップフロップ29に保持される。フリップフロップ29のデータ出力端子から出力された読み出しデータ(fd_r_in)の信号レベル(ハイレベル又はローレベル)は、クロックA(CLKA)の立ち下りでフリップフロップ30に保持される。フリップフロップ30のデータ出力端子から出力された読み出しデータ(fd_r_in)は、バッファメモリ制御回路に入力される。同様に、フリップフロップ31に保持されたデータを、システムクロックと同期してバッファメモリ制御回路に転送するための回路として、フリップフロップ32及びフリップフロップ33は設けられている。フリップフロップ31のデータ出力端子から出力された読み出しデータデータ(fd_r_in)の信号レベル(ハイレベル又はローレベル)は、クロックB(CLKB)の立ち下りでフリップフロップ32に保持される。フリップフロップ32のデータ出力端子から出力された読み出しデータ(fd_r_in)の信号レベル(ハイレベル又はローレベル)は、クロックA(CLKA)の立ち下りでフリップフロップ33に保持される。フリップフロップ33のデータ出力端子から出力された読み出しデータ(fd_r_in)の信号は、バッファメモリ制御回路に入力される。
上記の実施の形態で、データストローブ信号(DQS)の周期はクロックC(CLKC)の周期の8倍なので、データストローブ信号(DQS)がハイレベルの期間は、クロックC(CLKC)の4周期分の期間と一致している。従って、読み出しデータ(DQ)の信号をラッチするタイミングは、データストローブ信号(DQS)の立ち上がりからクロックC(CLKC)の2周期分に対応する時間が経過した時点であることが好ましい。ここで、データストローブ信号(DQS)とクロックC(CLKC)は同期していないため、データストローブ信号(DQS)の立ち上がりエッジとクロックC(CLKC)の立ち上がりエッジとの間に、クロックC(CLKC)の1周期分未満の時間差が生じることは避けられない。つまり、データストローブ信号(DQS)の立ち上がりエッジとクロックC(CLKC)の立ち上がりエッジとの間の時間差は、0に近い場合もあるが、クロックC(CLKC)の1周期分に近い場合もある。そして、この時間差は種々の条件により変動する。従って、データストローブ信号(DQS)の立ち上がりエッジから、この立ち上がりエッジを起点としたクロックC(CLKC)の3番目の立ち上がりエッジまでの時間は、クロックC(CLKC)の2周期分より長く3周期分より短くなる。このクロックC(CLKC)の2番目の立ち上がりエッジと3番目の立ち上がりエッジの間にある立ち下がりエッジで、読み出しデータ(DQ)の信号をラッチしている。従って、読み出しデータ(DQ)の信号をラッチするタイミングは、データストローブ信号(DQS)の立ち上がりエッジからクロックC(CLKC)の1.5周期分の時間が経過した時点と2.5周期分の時間が経過した時点の間に収まる。つまり、データストローブ信号(DQS)の立ち上がりエッジからクロックC(CLKC)の2周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチされる。従って、この半周期分の時間差がフラッシュメモリ6によって許容されるように、クロックC(CLKC)の周期(周波数)が決められる。
データストローブ信号(DQS)がローレベルの期間も、クロックC(CLKC)の4周期分の期間と一致している。従って、読み出しデータ(DQ)の信号をラッチするタイミングは、データストローブ信号(DQS)の立ち下がりエッジからクロックC(CLKC)の2周期分に対応する時間が経過した時点であることが好ましい。データストローブ信号(DQS)がハイレベルの期間の場合と同様に、データストローブ信号(DQS)の立ち下がりエッジから、この立ち下がりエッジを起点としたクロックC(CLKC)の3番目の立ち上がりエッジまでの時間は、クロックC(CLKC)の2周期分より長く3周期分より短くなる。このクロックC(CLKC)の2番目の立ち上がりエッジと3番目の立ち上がりエッジの間にある立ち下がりエッジで、読み出しデータ(DQ)の信号をラッチしている。従って、読み出しデータ(DQ)の信号をラッチするタイミングは、データストローブ信号(DQS)の立ち下がりエッジからクロックC(CLKC)の1.5周期分の時間が経過した時点と2.5周期分の時間が経過した時点の間に収まる。つまり、データストローブ信号(DQS)がローレベルの期間についても、データストローブ信号(DQS)の立ち下がりエッジからクロックC(CLKC)の2周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチされる。
データストローブ信号(DQS)の立ち上がりエッジとクロックC(CLKC)の立ち上がりエッジとの間の時間差が0に近い場合(時間差が非常に小さい場合)、データストローブ信号(DQS)の立ち上がりエッジの近傍でメタステーブルが発生してフリップフロップ21のデータ出力端子から出力される信号DQS_1dが不安定になる。図5を参照して、フリップフロップ21おいて、メタステーブルが発生した場合について説明する。
データストローブ信号(DQS)の立ち上がりエッジとクロックC(CLKC)の立ち上がりエッジとの間の時間差が0に近い場合、データストローブ信号(DQS)の立ち上がりエッジの近傍でフリップフロップ21のデータ出力端子から出力される信号DQS_1dが不安定になる。しかし、フリップフロップ22は、フリップフロップ21のデータ出力端子から出力される信号DQS_1dの信号レベルが安定した後に、信号DQS_1dの信号レベル(ハイレベル又はローレベル)を保持する。従って、フリップフロップ22のデータ出力端子から出力される信号DQS_2d及びフリップフロップ23のデータ出力端子から出力される信号DQS_3dの信号レベルは不安定にならない。従って、フリップフロップ28は、メタステーブルが発生しなかった場合と同様に、イネーブル信号en_rがローレベルの期間におけるクロックC(CLKC)の最後の立ち下がりエッジで読み出しデータ(DQ)の信号を保持する。
以上、本発明の実施の形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施の形態にのみ限定する趣旨ではない。本発明の要旨を逸脱しない範囲内において種々の変更を加え得ることは勿論である。
例えば、フリップフロップ21−23がクロック入力端子に入力されているクロックC(CLKC)の立ち下がりエッジで、データ入力端子に入力されている信号レベル(ハイレベル又はローレベル)を保持し、フリップフロップ28−33がクロック入力端子に入力されているクロック(clk_r/clk_f/CLKB/CLKA)の立ち上がりエッジで、データ入力端子に入力されている信号レベル(ハイレベル又はローレベル)を保持するようにしてもよい。イネーブル信号en_r又はイネーブル信号en_fがローレベルの期間におけるクロックC(CLKC)の最後の立ち上がりエッジで読み出しデータ(DQ)がラッチされる。
また、データストローブ信号(DQS)の周期とクロックC(CLKC)の周期との相対関係も適宜変更することができる。例えば、データストローブ信号(DQS)の周期がクロックC(CLKC)の周期の12倍になるようにしてもよい。つまり、データストローブ信号(DQS)がハイレベルの期間又はローレベルの期間を、クロックC(CLKC)の6周期分の期間と一致するようにしてもよい。この場合、データストローブ信号(DQS)に遅延時間を与えるフリップフロップが4段になる。そして、データストローブ信号(DQS)の立ち上がりエッジ又は立ち下がりエッジからクロックC(CLKC)の3周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチされる。データストローブ信号(DQS)の周期がクロックC(CLKC)の周期の16倍になるようにしてもよい。つまり、データストローブ信号(DQS)がハイレベルの期間又はローレベルの期間を、クロックC(CLKC)の8周期分の期間と一致するようにしてもよい。この場合、データストローブ信号(DQS)に遅延時間を与えるフリップフロップが5段になる。そして、データストローブ信号(DQS)の立ち上がりエッジ又は立ち下がりエッジからクロックC(CLKC)の4周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチされる。
言い換えれば、データストローブ信号(DQS)の周期をクロックC(CLKC)の周期の4n倍(nは1以上の整数)になるようにしてもよい。つまり、データストローブ信号(DQS)がハイレベルの期間又はローレベルの期間を、クロックC(CLKC)の2n周期分の期間と一致するようにしてもよい。この場合、データストローブ信号(DQS)に遅延時間を与えるフリップフロップが(n+1)段になる。そして、データストローブ信号(DQS)の立ち上がりエッジ又は立ち下がりエッジからクロックC(CLKC)のn周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチされる。
本発明は、DDR(Double Data Rate)インターフェースを備えたメモリにアクセスするためのインターフェース回路を備えるメモリコントローラ適用することができる。
5…フラッシュメモリインターフェースブロック、12…読み出し制御回路

Claims (5)

  1. データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
    メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号の立ち上がりエッジを起点として、周期がTのクロックのn+1番目の立ち上がりエッジを検出する第1の検出回路と、
    前記データストローブ信号の立ち下がりエッジを起点として、前記クロックのn+1番目の立ち上がりエッジを検出する第2の検出回路と、
    前記データストローブ信号の立ち上がりエッジから前記第1の検出回路により検出される立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
    前記データストローブ信号の立ち下がりエッジから前記第2の検出回路により検出される立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。
  2. データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
    周期がTのクロックの立ち上がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
    前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
    前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。
  3. データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
    メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号の立ち上がりエッジを起点として、周期がTのクロックのn+1番目の立ち下がりエッジを検出する第1の検出回路と、
    前記データストローブ信号の立ち下がりエッジを起点として、前記クロックのn+1番目の立ち下がりエッジを検出する第2の検出回路と、
    前記データストローブ信号の立ち上がりエッジから前記第1の検出回路により検出される立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
    前記データストローブ信号の立ち下がりエッジから前記第2の検出回路により検出される立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。
  4. データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
    周期がTのクロックの立ち下がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
    前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
    前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。
  5. データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するフラッシュメモリへのアクセスを制御するメモリコントローラであって、
    請求項1乃至4のいずれか1項に記載のインターフェース回路を備え、
    このインターフェース回路を介して、フラッシュメモリからデータを読み出すことを特徴とするメモリコントローラ。
JP2010175567A 2010-08-04 2010-08-04 インターフェース回路及びインターフェース回路を備えるメモリコントローラ Withdrawn JP2012037973A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010175567A JP2012037973A (ja) 2010-08-04 2010-08-04 インターフェース回路及びインターフェース回路を備えるメモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010175567A JP2012037973A (ja) 2010-08-04 2010-08-04 インターフェース回路及びインターフェース回路を備えるメモリコントローラ

Publications (1)

Publication Number Publication Date
JP2012037973A true JP2012037973A (ja) 2012-02-23

Family

ID=45849944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010175567A Withdrawn JP2012037973A (ja) 2010-08-04 2010-08-04 インターフェース回路及びインターフェース回路を備えるメモリコントローラ

Country Status (1)

Country Link
JP (1) JP2012037973A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443602B2 (en) 2013-08-23 2016-09-13 Kabushiki Kaisha Toshiba Storage device and data latch timing adjustment method
CN106294224A (zh) * 2015-05-13 2017-01-04 瑞昱半导体股份有限公司 存储器系统及其存储器实体接口电路
TWI566256B (zh) * 2015-05-06 2017-01-11 瑞昱半導體股份有限公司 記憶體系統及其記憶體實體介面電路
JP2017517820A (ja) * 2014-06-12 2017-06-29 クゥアルコム・インコーポレイテッドQualcomm Incorporated 分散クロック同期を介した出力データの独立した同期
JP2019079520A (ja) * 2017-10-19 2019-05-23 三星電子株式会社Samsung Electronics Co.,Ltd. ストレージ装置及びストレージ装置の作動方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443602B2 (en) 2013-08-23 2016-09-13 Kabushiki Kaisha Toshiba Storage device and data latch timing adjustment method
JP2017517820A (ja) * 2014-06-12 2017-06-29 クゥアルコム・インコーポレイテッドQualcomm Incorporated 分散クロック同期を介した出力データの独立した同期
TWI566256B (zh) * 2015-05-06 2017-01-11 瑞昱半導體股份有限公司 記憶體系統及其記憶體實體介面電路
CN106294224A (zh) * 2015-05-13 2017-01-04 瑞昱半导体股份有限公司 存储器系统及其存储器实体接口电路
JP2019079520A (ja) * 2017-10-19 2019-05-23 三星電子株式会社Samsung Electronics Co.,Ltd. ストレージ装置及びストレージ装置の作動方法
JP7173824B2 (ja) 2017-10-19 2022-11-16 三星電子株式会社 ストレージ装置
US11972836B2 (en) 2017-10-19 2024-04-30 Samsung Electronics Co., Ltd. Storage device and operating method of storage device

Similar Documents

Publication Publication Date Title
US7027336B2 (en) Semiconductor memory device for controlling output timing of data depending on frequency variation
US6819151B2 (en) Method and circuit for adjusting the timing of output data based on an operational mode of output drivers
US6812799B2 (en) Synchronous mirror delay (SMD) circuit and method including a ring oscillator for timing coarse and fine delay intervals
US7499370B2 (en) Synchronous semiconductor memory device
US7716443B2 (en) Apparatus and method for controlling memory interface
US20110298512A1 (en) Circuit, system and method for controlling read latency
JP3183321B2 (ja) 半導体記憶装置
US8503256B2 (en) Column command buffer and latency circuit including the same
US8031553B2 (en) Data strobe signal generating device and a semiconductor memory apparatus using the same
US8237486B2 (en) Clock control circuit and semiconductor memory apparatus using the same
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
JP4959264B2 (ja) メモリ制御装置
US8406080B2 (en) Data output control circuit of a double data rate (DDR) synchronous semiconductor memory device responsive to a delay locked loop (DLL) clock and method thereof
US7994833B2 (en) Delay locked loop for high speed semiconductor memory device
US20110128794A1 (en) Apparatus and method for controlling operation timing in semiconductor memory device
US7719904B2 (en) Data input circuit for a semiconductor memory capable of adapting to a phase skew between a data strobe signal and an external clock signal
JP2012037973A (ja) インターフェース回路及びインターフェース回路を備えるメモリコントローラ
US7181638B2 (en) Method and apparatus for skewing data with respect to command on a DDR interface
JP2012088852A (ja) 受信回路、システム装置及び半導体記憶装置
US20080239843A1 (en) Interface circuit, memory interface system, and data reception method
JP2005310345A (ja) Ddrsdramのデータ入力装置及び方法
US7773709B2 (en) Semiconductor memory device and method for operating the same
CN113223569B (zh) 抗亚稳锁存器
US7492661B2 (en) Command generating circuit and semiconductor memory device having the same
US20120269017A1 (en) Delay circuit and latency control circuit of memory, and signal delay method thereof

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131105