JP2012037973A - インターフェース回路及びインターフェース回路を備えるメモリコントローラ - Google Patents
インターフェース回路及びインターフェース回路を備えるメモリコントローラ Download PDFInfo
- 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
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
【課題】ロックアップ時間無しでDDRインターフェースを備えたメモリにアクセスすることのできるインターフェース回路及びインターフェース回路を備えるメモリコントローラを提供する
【解決手段】データストローブ信号(DQS)の周期が基本クロックの周期の4n倍(nは1以上の整数)になるようにする。このようにすることにより、データストローブ信号(DQS)がハイレベルの期間又はローレベルの期間は、基本クロックの2n周期分の期間と一致する。そして、データストローブ信号(DQS)の立ち上がりエッジ又は立ち下がりエッジから基本クロックのn周期分に対応する時間が経過した時点を中心として、半周期分未満の時間差で読み出しデータ(DQ)の信号がラッチする。
【選択図】図3
【解決手段】データストローブ信号(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に開示されている。この技術では、位相比較により検出された位相差が大きいときには、遅延量を大きく変化させて遅延量を調整することによりロックアップ時間を短縮している。
このDLL回路は、入力されたデータストローブ信号とデータストローブ信号に基づいて生成された内部基準信号との遅延量を調整する回路である。この遅延量を調整では、遅延量を変化させる毎に、位相比較が行われ、位相差が所定の値になったときに遅延量をロックする。このように遅延量がロックされた後にメモリからの読み出し操作が可能になる。この遅延量をロックするためにかかる処理時間であるロックアップ時間を短縮する技術が特許文献1に開示されている。この技術では、位相比較により検出された位相差が大きいときには、遅延量を大きく変化させて遅延量を調整することによりロックアップ時間を短縮している。
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のデータ取り込み回路とを備える。
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
メモリから出力される周期が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のデータ取り込み回路とを備える。
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
周期が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のデータ取り込み回路とを備える。
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
メモリから出力される周期が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のデータ取り込み回路とを備える。
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
周期がTのクロックの立ち下がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備える。
本発明の第5の側面に従うメモリコントローラは、
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するフラッシュメモリへのアクセスを制御するメモリコントローラであって、
請求項1乃至4のいずれか1項に記載のインターフェース回路を備え、
このインターフェース回路を介して、フラッシュメモリからデータを読み出す。
データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するフラッシュメモリへのアクセスを制御するメモリコントローラであって、
請求項1乃至4のいずれか1項に記載のインターフェース回路を備え、
このインターフェース回路を介して、フラッシュメモリからデータを読み出す。
本発明によれば、DLL回路を用いずに、データストローブ信号のn倍の周波数のクロックに基づいて、DDRインターフェースを備えたメモリから出力されるデータをラッチするようにしたので、
ロックアップ時間を待つことなくDDRインターフェースを備えたメモリへのアクセスを開始することができる。
DDR(Double
Data Rate)インターフェースを備えたフラッシュメモリを制御するメモリコントローラを例として、本発明に係るインターフェース回路を説明する。図1は、本発明に係るインターフェース回路が組み込まれたメモリコントローラ10を概略的に示している。図1には、インターフェース回路の動作を説明するために必要なメモリコントローラ10の構成だけが示されている。
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)
- データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号の立ち上がりエッジを起点として、周期がTのクロックのn+1番目の立ち上がりエッジを検出する第1の検出回路と、
前記データストローブ信号の立ち下がりエッジを起点として、前記クロックのn+1番目の立ち上がりエッジを検出する第2の検出回路と、
前記データストローブ信号の立ち上がりエッジから前記第1の検出回路により検出される立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記第2の検出回路により検出される立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。 - データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
周期がTのクロックの立ち上がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち下がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。 - データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号の立ち上がりエッジを起点として、周期がTのクロックのn+1番目の立ち下がりエッジを検出する第1の検出回路と、
前記データストローブ信号の立ち下がりエッジを起点として、前記クロックのn+1番目の立ち下がりエッジを検出する第2の検出回路と、
前記データストローブ信号の立ち上がりエッジから前記第1の検出回路により検出される立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記第2の検出回路により検出される立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。 - データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するメモリ用のインターフェース回路であって、
周期がTのクロックの立ち下がりエッジに同期した信号を出力する回路であって、メモリから出力される周期が4nT(nは1以上の整数)のデータストローブ信号に、nTに対応する時間より長く(n+1)Tに対応する時間より短い遅延時間を与えた遅延信号を出力する遅延回路と、
前記データストローブ信号の立ち上がりエッジから前記遅延信号の立ち上がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第1のデータ取り込み回路と、
前記データストローブ信号の立ち下がりエッジから前記遅延信号の立ち下がりエッジまでの期間内において保持したデータを出力する回路であって、当該期間内における前記クロックの最後の立ち上がりエッジに同期して保持したデータを有効なデータとして出力する第2のデータ取り込み回路とを備えるインターフェース回路。 - データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期して読み出しデータを出力するインターフェースを有するフラッシュメモリへのアクセスを制御するメモリコントローラであって、
請求項1乃至4のいずれか1項に記載のインターフェース回路を備え、
このインターフェース回路を介して、フラッシュメモリからデータを読み出すことを特徴とするメモリコントローラ。
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)
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. | ストレージ装置及びストレージ装置の作動方法 |
-
2010
- 2010-08-04 JP JP2010175567A patent/JP2012037973A/ja not_active Withdrawn
Cited By (7)
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 | |
US8503256B2 (en) | Column command buffer and latency circuit including the same | |
US7716443B2 (en) | Apparatus and method for controlling memory interface | |
US20110298512A1 (en) | Circuit, system and method for controlling read latency | |
US8237486B2 (en) | Clock control circuit and semiconductor memory apparatus using the same | |
US8031553B2 (en) | Data strobe signal generating device and a semiconductor memory apparatus using the same | |
US20140133252A1 (en) | Parallel-serial conversion circuit, interface circuit, and control device | |
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) | インターフェース回路及びインターフェース回路を備えるメモリコントローラ | |
JP5633297B2 (ja) | 受信回路、システム装置及び半導体記憶装置 | |
US7181638B2 (en) | Method and apparatus for skewing data with respect to command on a DDR interface | |
US6567339B2 (en) | Semiconductor integrated circuit | |
US7864626B2 (en) | Interface circuit, memory interface system, and data reception method | |
JP2005310345A (ja) | Ddrsdramのデータ入力装置及び方法 | |
US7773709B2 (en) | Semiconductor memory device and method for operating the same | |
US8947956B2 (en) | Delay circuit and latency control circuit of memory, and signal delay method thereof | |
US7492661B2 (en) | Command generating circuit and semiconductor memory device having the same | |
CN110349610B (zh) | 动态随机存取存储器中控制延迟锁相环的控制电路与方法 |
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 |