説明

メモリ制御回路

【課題】 できるだけ既存の回路を利用しつつ、データストローブ信号の不定な状態が内部回路へ伝播されることを防止する「メモリ制御回路」を提供する。
【解決手段】 メモリ制御回路は、入力されたデータストローブ信号を第1の遅延量だけ遅延する第1の遅延回路220と、入力されたデータストローブ信号を第1の遅延量よりも大きい第2の遅延量だけ遅延する第2の遅延回路230と、第1の遅延回路220によって遅延された第1の遅延信号と第2の遅延回路230によって遅延された第2の遅延信号を入力しデータストローブ信号の立ち下りエッジに同期した立ち上がりエッジを含む第3の遅延信号DQS3を生成するアンド回路240と、第1の遅延信号に応答して入力された第1のデータD1を取り込むフリップフロップ260と、第3の遅延信号DQS3に応答して第2のデータD2を取り込むフリップフロップ280とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ制御回路に関し、特に、データストローブ信号を用いてメモリへのデータの読み書きを制御するメモリ制御回路に関する。
【背景技術】
【0002】
パーソナルコンピュータ、ナビゲーション装置等の電子デバイスにおいて、高速にデータの読み書きを行い、かつ大量のデータを保持するメモリとしてSDRAM(Synchronous Dynamic Random Access Memory)が用いられている。SDRAMは、クロック信号に同期してデータの読み出しまたは読み書きが可能であり、クロック周波数を大きくすることで高速動作が可能となる。また、SDRAMは、連続的にデータの読み出しまたは書き込みが可能なバーストモードを備えている。
【0003】
SDRAMをさらに高速化させたものにDDR(Double Data Rate)SDRAMがある。DDRSDRAMは、クロック信号の立ち上がりエッジと立下りエッジの双方に応答してデータの読み書きを行うため、その動作はSDRAMの2倍となる。
【0004】
図4は、DDRSDAM10とメモリ制御回路20の接続例を示す図である。DDRSDRAM10とメモリ制御回路20は、データ(DQ)の送受を行うデータバス30、データストローブ信号DQS(以下、DQS信号という)の送受を行うDQS信号線32、クロック信号を送信するクロック信号線34、アドレス信号を送信するアドレス信号バス36等によって接続される。さらに、メモリ制御回路20は、読み出し(リード)または書込み(ライト)を指示するコマンド信号をDDRSDRAM10へ供給する。
【0005】
図5(a)は、メモリからデータを読み出すとき(リード)のタイミングチャート、図5(b)はメモリにデータを書き込むとき(ライト)のタイミングチャートである。データを読み出すとき、メモリ制御回路20は、リードコマンドおよびアドレス信号を出力し、これに応答して、DDRSDRAM10は、DQS信号およびアドレス指定されたデータをメモリ制御回路10へ出力する。このとき、DQS信号とデータは同相で出力されるため、メモリ制御回路20は、DQS信号を遅延させ、DQS信号の立ち上がりエッジおよび立ち下りエッジに同期してデータをフリップフロップまたはラッチに取り込む。
【0006】
また、データを書き込むとき、メモリ制御回路20はライトコマンド、アドレス信号、DQS信号およびデータDQをDDRSDRAM10へ出力する。このとき、DQS信号は、データより遅延されて出力される。DDRSDRAM10は、DQS信号の立ち上がりエッジおよび立ち下りエッジに同期してデータをメモリ素子に書き込む。
【0007】
DQS信号は、データの読み書きに応じて双方向通信されるものであり、またメモリへのアクセスがないときには、ハイインピーダンス状態におかれている。DQS信号によるデータの読み書き動作を保証するため、DQS信号には、メモリへのアクセス開始時にプリアンブルと呼ばれるローレベルの期間P1と、終了時にポストアンブルと呼ばれるローレベルの期間P2が含まれる。特許文献1は、このようなDDRSDRAMへのデータの読み書きを制御するメモリ制御回路を開示している。
【0008】
【特許文献1】特開2006−40318号
【発明の開示】
【発明が解決しようとする課題】
【0009】
メモリ制御回路のデータを取り込む回路は、図6(a)に示すように、データを入力する入力バッファ40と、入力バッファ42から入力されたDQS信号を遅延する遅延回路44と、遅延されたDQS信号を反転するインバータ46と、遅延回路44によって遅延されたDQS信号の立ち上がりエッジに応答してデータを取り込むフリップフロップ48と、反転されたDQS信号の立ち上がりエッジに応答してデータを取り込むフリップフロップ50、52とを含んでいる。
【0010】
図6(b)に各部のタイミングチャートを示す。メモリ制御回路からのリードコマンドに応答して、DDRSDRAM10は、DQS信号をプリアンブルP1の期間だけローレベルにした後、DQS信号とデータ(DQ)を同相で出力する。メモリ制御回路は、入力バッファ40、42においてデータおよびDQS信号を入力する。入力バッファ42は、DQS信号を所定のしきい値でハイレベルとローレベルを検出し、波形成形したDQS信号を出力する。遅延回路44は、入力バッファ42からのDQS信号を1/4位相だけ遅延させ、これにより、DQS信号の立ち上がりおよび立下りエッジがデータ期間の中央に一致される。フリップフロップ48は、遅延されたDQS信号の立ち上がりエッジに応答してデータD1を取り込み、フリップフロップ50は、反転されたDQS信号の立ち上がりエッジ(遅延されたDQS信号の立ち下がりエッジのタイミングに等しい)に応答してデータD2を取り込む。
【0011】
ところで、DQS信号は、メモリへのアクセスが行われないとき、ハイインピーダンス状態にあり、メモリへのアクセス開始時に、ハイインピーダンスからローレベルに遷移し、アクセス終了時に、ローレベルからハイインピーダンス状態に遷移する。DQS信号は、ハイインピーダンス状態にあるとき、電源電圧Vddに近い値にプルアップされるが、この状態は不定であり、特にポストアンブル後の遷移時にDQS信号がオーバーシュートやノイズにより変動され易い。例えば、ポストアンブルP2後に、不所望なオーバーシュートSが発生すると、遅延されたDQS信号に不所望な波形S1が生成され、それがフリップフロップ48、50、52に入力され、誤ったデータの取り込みが行われ、それが内部回路へ伝播されてしまうという課題がある。
【0012】
特許文献1は、この課題を解決するために、DQS信号を遅延する2種類の遅延回路を設け、一方の遅延回路から出力されるDQS信号の立ち上がりエッジに応答してフリップフロップにでデータを取り込み、他方の遅延回路から出力されるDQS信号(イネーブル信号)を、DQS信号の立ち下がりエッジに応答してデータを取り込むフリップフロップのイネーブル端子に接続している。しかしながら、特許文献1による解決方法は、イネーブル端子によって動作を制御されるフリップフロップを必要としなければならず、既存のフリップフロップやラッチを利用することができない。
【0013】
また、DDRSDRAMは、シングルエンドのDQS信号のみならず差動DQS信号を出力するものもあり、メモリ制御回路は、このような差動DQS信号に対処することが要求されている。
【0014】
本発明は、このような従来の課題を解決し、できるだけ既存の回路を利用しつつ、データストローブ信号の不定な状態が内部回路へ伝播されることを防止するメモリ制御回路を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明に係るメモリ制御回路は、メモリへのデータの書込みまたはメモリからのデータの読出しをデータストローブ信号を用いて制御するものであって、入力されたデータストローブ信号を第1の遅延量だけ遅延する第1の遅延回路と、入力されたデータストローブ信号を第1の遅延量よりも大きい第2の遅延量だけ遅延する第2の遅延回路と、第1の遅延回路によって遅延された第1の遅延信号と第2の遅延回路によって遅延された第2の遅延信号に基づき前記入力されたデータストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期した立下りエッジまたは立ち上がりエッジを有する第3の遅延信号を生成する生成回路と、前記第1の遅延信号に応答して入力された第1のデータを取り込む第1の回路と、前記第3の遅延信号に応答して入力された第2のデータを取り込む第2の回路とを有する。
【0016】
好ましくは生成回路は、前記第1の遅延信号と前記第2の遅延信号を入力するアンド回路を含む。好ましくは、第1の遅延量は、前記入力されたデータストローブ信号に対して位相差が1/4であり、第2の遅延量は、前記入力されたデータストローブ信号に対して位相差が1/4より大きく1/2以下である。好ましくは、第1の回路は、第1の遅延信号の立ち上がりエッジまたは立ち下りにエッジ応答して第1のデータを取り込み、前記第2の回路は、前記第3の遅延信号の立ち上がりまたは立ち下りエッジに応答して第2のデータを取り込む。好ましくは、メモリ制御回路はさらに、差動データストローブ信号を入力し、前記入力されたデータストローブ信号を出力する差動回路を含む。第1および第2の回路は、例えばフリップフロップまたはラッチである。
【発明の効果】
【0017】
本発明によれば、データストローブ信号を異なる遅延量で遅延し、両者から入力されたデータストローブ信号の立ち上がりエッジまたは立ち下りエッジに同期した立ち上がりエッジまたは立ち下がりエッジを有する第3の遅延信号を生成してデータの取り込みを行うことで、データストローブ信号がハイインピーダンス状態の不定になったとしても、それに伴う誤動作を防止することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明を実施するための最良の形態を図面を参照して詳細に説明する。ここでは、DDRSDRAMを例に用い、これをメモリと称する。
【実施例】
【0019】
図1は、本発明の実施例に係るメモリ制御回路のデータ取り込み部の回路構成を示す図である。メモリ制御回路100は、DQS信号のクロックによって動作されるDQS回路領域110と、内部クロックHCLKによって動作される内部回路領域120とを含む。
【0020】
DQS回路領域110は、メモリからのデータの読出し時にメモリからデータを受け取る入力バッファ200、DQS信号を受け取る入力バッファ210、入力バッファ210によって受け取られたDQS信号を第1の遅延量で遅延し第1の遅延信号DQS1を出力する第1の遅延回路220と、入力バッファ210によって受け取られたDQS信号を第1の遅延量よりも大きい第2の遅延量で遅延し第2の遅延信号DQS2を出力する第2の遅延回路230と、第1および第2の遅延信号を入力するアンド回路240と、アンド回路240の出力を反転した第3の遅延信号DQS3を出力するインバータ250と、入力バッファ200によって受け取られたデータを第1の遅延信号DQS1の立ち上がりエッジに応答して取り込むフリップフロップ260と、フリップフロップ260の出力を第3の遅延信号DQS3の立ち上がりエッジに応答して取り込むフリップフロップ270と、入力バッファ200によって受け取られたデータを第3の遅延信号DQS3の立ち上がりエッジに応答して取り込むフリップフロップ280とを含んでいる。
【0021】
内部回路領域120は、フリップフロップ270からの出力を内部クロックHCLKの立ち上がりエッジで取り込むフリップフロップ300と、フリップフロップ280の出力を内部クロックHCLKの立ち下がりエッジで取り込むフリップフロップ310とを含んでいる。
【0022】
次に、図2に示すタイミングチャートを参照して各部の動作を説明する。メモリからデータを読み出すときすなわちリード時、メモリ制御回路は、メモリにリードコマンドを送信する。これに応答して、メモリは、時刻t1でハイインピーダンス状態にあるDQS信号をローレベルのプリアンブルP1に遷移させ、時刻t2からDQS信号とデータの出力を開始する。このとき、DQS信号とデータは同相である。
【0023】
メモリ制御回路100は、図2(a)および(b)に示すように、データおよびDQS信号を入力バッファ200、210に入力される。DQS信号は、入力バッファ210にてしきい値電圧と比較され、図2(c)に示すようにハイレベル(VIH)またはローレベル(VIL)のパルス波形となる。
【0024】
次に、DQS信号は、第1の遅延回路220に入力され、図2(d)に示すように時刻t2、すなわちDQS信号の立ち上がりエッジから第1の遅延量td1だけ遅延される。好ましくは、第1の遅延量td1は、DQS信号の1/4位相である。第1の遅延回路220は、第1の遅延量だけ遅延された第1の遅延信号DSQ1をアンド回路240およびフリップフロップ260へ出力する。
【0025】
さらにDQS信号は、図2(e)に示すように時刻t2から第2の遅延量td2だけ遅延される。好ましくは、第2の遅延量td2は、DQS信号の1/4位相より大きく1/2位相以下である。第2の遅延回路230は、第2の遅延量だけ遅延された第2の遅延信号DQS2をアンド回路240のもう一方の入力に出力する。
【0026】
アンド回路240は、第1および第2の遅延信号DQS1、DQS2を入力し、その論理関をインバータ250に出力する。インバータ250は、これを反転出力し、図2(f)に示すような第3の遅延信号DQS3を出力する。第3の遅延信号DQS3の立ち下がりエッジは、第2の遅延信号DQS2の立ち上がりエッジに等しく、第3の遅延信号DQS3の立ち上がりエッジは、第1の遅延信号DQSの立ち下りエッジに等しい。また、第3の遅延信号DQS3の立ち下がりエッジから立ち上がりエッジまでのローレベルの期間td3は、td3=td2−td1となる。
【0027】
時刻t3のとき、第1の遅延回路により遅延された第1の遅延信号DQS1の立ち上がりエッジに応答してフリップフロップ260は、入力バッファ200に保持されたデータD1を取り込む。
【0028】
時刻t4のとき、第3の遅延信号DQS3の立ち上がりエッジに応答してフリップフロップ280は、入力バッファ200に保持されたデータD2を取り込む。またこれと同じタイミングで、フリップフロップ270は、フリップフロップ260から出力されたデータを取り込む。
【0029】
時刻t5のとき、第1の遅延信号DQS1の立ち上がりエッジに応答してフリップフロップ260は次に転送されたデータD3を取り込む。
【0030】
時刻t6のとき、メモリは、リード動作を終了するためDQS信号をローレベルのポストアンブルP2遷移させ、時刻t7のとき、DQS信号をローレベルからハイインピーダンス状態に遷移させる。このとき、DQS信号にノイズやオーバーシュートSが生じると、入力バッファ210において、不所望なパルス波形S1が形成される(図2(c)を参照)。これにより、第1および第2の遅延回路220、230によって遅延された第1および第2の遅延信号DQS1、DQS2にも不所望なパルス波形S1が伝播される(図2(d)および(e)を参照)。しかし、第1および第2の遅延信号DQS1、DQS2は、アンド回路240によってゲートされ、不所望なパルス波形S1が取り除かれる。従って、第3の遅延信号DQS3には、不所望なパルス波形S1が伝播されず、フリップフロップ270、280がポストアンブル後の不定な状態において誤ってデータを取り込むことが防止される。この結果、メモリ制御回路100は、メモリからデータを正確に読み出すことができる。
【0031】
なお上記例は、アンド回路の出力をインバータ250により反転して第3の遅延信号DQS3を生成するようにしたが、アンド回路240の出力を第3の遅延信号DQS3としてもよい。この場合、フリップフロップ270、280は、第3の遅延信号DQSの立ち下りエッジに応答してデータを取り込めばよい。さらに、フリップフロップ260、270、280は、立ち上がりエッジまたは立ち下がりエッジのいずれに応答してデータの取り込みを行うようにしてもよく、また、フリップフロップの代わりにラッチを用いても良い。遅延回路220、230は、DLL等を用いて構成することができる。
【0032】
次に、本発明の第2の実施例について説明する。図3は、本発明の第2の実施例に係るメモリ制御回路のDQS回路領域の構成を示す図であり、図1と同一のものには同一番号を付しその説明を省略する。第2の実施例では、DDRSDRAMとメモリ制御回路との間で双方向通信されるDQS信号に差動信号を用いる。DQS差動信号は、より高速でのデータ転送を可能にするものであり、DQS信号とこれを反転した/DQS信号とを含む。
【0033】
図3に示すようにDQS回路領域110は、DQS信号を入力するバッファ210と、DQS信号を反転した/DQS信号を入力する入力バッファ212と、入力バッファ210、212によって受け取られたDQS差動信号からDQS信号を生成する差動回路290を含んでいる。なお、入力バッファ210、212が差動回路290を包含してもよい。差動回路290は、DQS信号を第1の遅延回路220および第2の遅延回路230へ出力し、以後の動作は、第1の実施例のときと同様に、遅延されたDQS信号の立ち上がりエッジと立下りエッジに同期してデータの取り込みが行われる。第2の実施例のメモリ制御回路によれば、DQS差動信号を出力するメモリに対応することができる。
【0034】
以上、本発明の好ましい実施の形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。上記実施例では、
メモリにDDRSDRAMを用いたが、これ以外にも同期型のSRAM、フラッシュメモリを用いるようにしてもよい。
【図面の簡単な説明】
【0035】
【図1】本発明の実施例に係るメモリ制御回路のデータ取り込み部の内部回路を示す図である。
【図2】図1に示すメモリ制御回路の各部のタイミングチャートを示す図である。
【図3】本発明の第2の実施例に係るメモリ制御回路のデータの取り込み部の内部回路を示す図である。
【図4】DDRSDRAMとメモリ制御回路との接続例を示す図である。
【図5】DDRSDRAMのデータの読み書き動作を説明するためのタイミングチャートであり、図5(a)はリード時、図5(b)はライト時である。
【図6】図6(a)は従来のメモリ制御回路の構成を示し、図6(b)はそのタイミングチャートである。
【符号の説明】
【0036】
100:メモリ制御回路 110:DQS回路領域
120:内部クロック領域 200、210:入力バッファ
220:第1の遅延回路 230:第2の遅延回路
240:アンド回路 250:インバータ
260、270、280、300、310:フリップフロップ
290:差動回路

【特許請求の範囲】
【請求項1】
メモリへのデータの書込みまたはメモリからのデータの読出しをデータストローブ信号を用いて制御するメモリ制御回路であって、
入力されたデータストローブ信号を第1の遅延量だけ遅延する第1の遅延回路と、
入力されたデータストローブ信号を第1の遅延量よりも大きい第2の遅延量だけ遅延する第2の遅延回路と、
第1の遅延回路によって遅延された第1の遅延信号と第2の遅延回路によって遅延された第2の遅延信号に基づき前記入力されたデータストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期した立下りエッジまたは立ち上がりエッジを有する第3の遅延信号を生成する生成回路と、
前記第1の遅延信号に応答して入力された第1のデータを取り込む第1の回路と、
前記第3の遅延信号に応答して入力された第2のデータを取り込む第2の回路と
を含む、メモリ制御回路。
【請求項2】
前記生成回路は、前記第1の遅延信号と前記第2の遅延信号を入力するアンド回路を含む、請求項1に記載のメモリ制御回路。
【請求項3】
前記第1の遅延量は、前記入力されたデータストローブ信号に対して位相差が1/4であり、前記第2の遅延量は、前記入力されたデータストローブ信号に対して位相差が1/4より大きく1/2以下である、請求項1または2に記載のメモリ制御回路。
【請求項4】
前記第1の回路は、第1の遅延信号の立ち上がりエッジまたは立ち下がりエッジに応答して第1のデータを取り込み、前記第2の回路は、第3の遅延信号の立ち上がりエッジまたは立ち下りエッジに応答して第2のデータを取り込む、請求項1ないし3いずれか1つに記載のメモリ制御回路。
【請求項5】
メモリ制御回路はさらに、差動データストローブ信号を入力し、前記入力されたデータストローブ信号を出力する差動回路を含む、請求項1ないし4いずれか1つに記載のメモリ制御回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−129522(P2009−129522A)
【公開日】平成21年6月11日(2009.6.11)
【国際特許分類】
【出願番号】特願2007−305520(P2007−305520)
【出願日】平成19年11月27日(2007.11.27)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】