説明

メモリインターフェイス制御回路及び半導体集積回路

【課題】回路規模を増大させず、ノイズ等の影響により不正規な波形となったデータストローブ信号DQSを排除し、正常なデータアクセスを可能とするメモリインターフェイス制御回路の提供が望まれる。
【解決手段】メモリインターフェイス制御回路は、DDR SDRAMがデータを転送するタイミングを通知するデータストローブ信号を受け付け、データストローブ信号に異常波形が検出された場合にはデータ初期化信号を出力するデータストローブ信号検証回路と、データストローブ信号が活性化した際に、DDR SDRAMから出力されるデータ信号を保持し、データ初期化信号を受け付けた場合には保持したデータの初期化を行なう保持回路と、保持回路が出力するデータを一時的に取り込み、取り込んだデータを外部に出力するFIFO回路と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリインターフェイス制御回路及び半導体集積回路に関する。特に、DDR SDRAM(Double Data Rate Synchronous DRAM)に対するアクセス制御を行なうメモリインターフェイス制御回路に関する。
【背景技術】
【0002】
近年、ダブルデータレートモードという高速なデータ転送機能を持ったDDR SDRAMが普及している。ダブルデータレートモードにおいては、クロックの立ち上りと立ち下りでデータの読み出し及び書き込みが可能なため高速にデータの入出力が行なえる。DDR SDRAMのデータ読み出し及び書き込みに関する規格は非特許文献1において定められている。
【0003】
ここで、非特許文献1において定められているDDR SDRAMとシステムLSI間のデータアクセスについて説明する。図2は、DDR SDRAMから出力されたデータをシステムLSIで読み出す際の動作を示すタイミングチャートの一例である。図2の時刻T2において、システムLSIからリードコマンドをDDR SDRAMに対して発行する。リードコマンドを受け付けたDDR SDRAMは、時刻T7においてデータストローブ信号DQSをLレベルに設定する。なお、データストローブ信号DQSはDDR SDRAMから出力される信号であり、データを転送するタイミングをシステムLSIに知らせるために出力される信号である。
【0004】
DDR SDRAMがリードコマンドを受け取ってからデータストローブ信号DQSをLレベルに設定するまでの期間はリードレーテンシーと呼ばれる。このリードレーテンシーはDDR SDRAMの設定により変更可能である。時刻T7で、Lレベルに設定されたデータストローブ信号DQSは、時刻T9に至るまでLレベルが維持される。このLレベルを継続する期間は、プリアンブル期間と呼ばれる。プリアンブル期間前のデータストローブ端子(データストローブ信号DQSの入出力端子)についての規定は存在せず、任意の状態に設定することが可能である。従って、ハイインピーダンス状態とすることも可能である。時刻T9までデータストローブ信号DQSをLレベルに維持した後、データストローブ信号DQSの論理レベルは交互に変化する。この論理レベルの変更回数は、一回のリードコマンドによってDDR SDRAMから読み出すデータ長に一致する。即ち、バースト転送におけるバーストレングスとデータストローブ信号DQSのトグル回数が一致する。バーストレングスに関しても、DDR SDRAMの設定により変更可能である。データストローブ信号DQSは、バーストレングスに相当する回数分トグルした後、Lレベルとなる(時刻T12)。その後、データストローブ信号DQSは、時刻T13までLレベルが維持される。このデータストローブ信号DQSをLレベルに維持する期間はポストアンブル期間と呼ばれる。ポストアンブル期間以降についてもデータストローブ端子は任意の状態に設定することができる。当然、ハイインピーダンス状態とすることも可能である。上述のDDR SDRAMとシステムLSI間のアクセス手順は、JEDEC半導体技術協会により標準規格として定められたものである。そのため、汎用品のDDR SDRAMはこの規格に準拠して設計・生産される。
【0005】
次に、DDR SDRAMを制御するシステムLSIのリード動作について説明する。システムLSIは、データストローブ信号DQSの立ち上がりエッジ及び立ち下りエッジでデータ信号DQを取り込むように設計される。しかし、上述のように、データストローブ信号DQSは、プリアンブル期間の前、又は、ポストアンブル期間の後は任意の状態に設定することが可能である。そのため、ハイインピーダンス状態においてはノイズの影響により、データストローブ信号DQSにシステムLSIが認識できるレベルのパルス波形(グリッジノイズ)が生じる場合がある。その結果、システムLSIにおいて取り込みをすべきデータではない不必要なデータをシステムLSIが取り込むことになり、システムLSIの誤動作の原因になりかねない。この問題点を解消するため、マスク信号MASKをシステムLSI内部で生成し、データストローブ信号DQSを必要としない期間(DDR SDRAMにアクセスしない期間)はマスク信号MASKによりデータストローブ信号DQSをマスクし、グリッジノイズの影響を回避する。図2においては、プリアンブル期間(時刻T7〜T9)及びポストプリアンブル期間(時刻T12〜T13)にマスク信号MASKのレベルを変化させ、データストローブ信号DQSをシステムLSI内部において有効にしている。図2のリード期間に限り、データストローブ信号DQSのマスクを解除している。
【0006】
しかし、DDR SDRAMの高速化に伴い、マスク信号MASKの設計が困難になってきている。DDR SDRAMが高速化すると、マスク信号MASKの変化が許容できる期間(プリアンブル期間及びポストプリアンブル期間)が短くなるためである。特に、マスク信号MASKの解除はプリアンブル期間中に確定する必要があるが、この期間のマスク信号MASKのマスク解除のタイミングをリードレーテンシーやプリアンブル期間などの既知の時間(アクセスタイミング)のみに基づいて定めることはできない。量産されたDDR SDRAMの個体差やDDR SDRAMとシステムLSI間における配線(伝送路)の抵抗値などのばらつきを考慮してマスク信号MASKの解除タイミングを設計する必要があるためである。
【0007】
ここで、特許文献1において、DDR SDRAMから出力されるデータストローブ信号DQS及びデータ信号DQの遅延時間を個別に測定し、その測定結果に基づいてデータストローブ信号DQSの変化タイミングを最適に調整するメモリインターフェイス制御回路が開示されている。データストローブ信号DQSの変化タイミングを調整することで、データストローブ信号DQSに対して正確にマスクを行なうことが可能となり、データストローブ信号DQSのグリッジノイズ耐性を向上させている。また、グリッジノイズ耐性を向上させることでDDR SDRAMのレイアウトに関する制限を緩和している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特許第4284527号公報
【非特許文献】
【0009】
【非特許文献1】JEDEC STANDARD DDR2 SDRAM Specification、JESD79−2F、2009年11月、JEDEC半導体技術協会(JEDEC SOLID STATE TECHNOLOGY ASSOCIATION)
【発明の概要】
【発明が解決しようとする課題】
【0010】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【0011】
特許文献1において開示されたメモリインターフェイス制御回路は、マスク信号の解除を適切なタイミングで行なうことを可能とするが、回路規模が増大してしまうという問題がある。マスク信号の解除を適切なタイミングで行なうためには、システムLSIがリードコマンドを発行してからデータストローブ信号DQSとデータ信号DQの応答が返るまでの遅延値と同等の遅延を生成する回路(可変遅延回路)をメモリインターフェイス制御回路の内部に設けておくことが必要となるからである。
【0012】
図3に、非特許文献1の図53を示す。図3(非特許文献1の図53)は、DDR SDRAMからデータを読み出す際のタイミングチャートである。上述のように、DDR SDRAMは非特許文献1に記載された規格に基づいて設計されなければならない。そこで、本規格に準拠して設計されたDDR SDRAMに対して特許文献1で開示された技術の適用を検証する。
【0013】
図3には、リードレーテンシーが4クロックである場合のアクセスタイミングが示されている。そこで、リードレーテンシーが4クロックであると定め、特許文献1で開示されたメモリインターフェイス回路が必要とする遅延量を計算する。この場合、基本クロックが200MHzであるとすれば、1クロックの周期は5.0nsとなるため、20ns(5.0ns×4)の遅延量が必要となる。従って、信号を20ns遅延させる素子を、特許文献1で開示されたメモリインターフェイス回路は備える必要がある。さらに、上記の遅延量(遅延時間)はメモリインターフェイス制御回路を含むシステムLSIの周辺温度や電源電圧の変化に影響されないように設計する必要があるため、上述の可変遅延回路は、数K〜数10K程度のゲート規模が必要であり、可変遅延回路の規模が増大するという問題が発生する。そのため、回路規模を増大させることなく、ノイズ等の影響により不正規な波形となったデータストローブ信号DQSを排除し、正常なデータアクセスを可能とするメモリインターフェイス制御回路及び半導体集積回路が、望まれる。
【課題を解決するための手段】
【0014】
本発明の第1の視点によれば、メモリがデータを転送するタイミングを通知するデータストローブ信号を受け付け、前記データストローブ信号に異常波形が検出された場合にはデータ初期化信号を出力し、前記データストローブ信号に異常波形が検出されない場合にはデータ取り込み許可信号を出力するデータストローブ信号検証回路と、前記データストローブ信号が活性化した際に、前記メモリから出力されるデータ信号を保持しつつ出力し、前記データ初期化信号を受け付けた場合には保持したデータの初期化を行なう保持回路と、前記保持回路が出力するデータを一時的に取り込み、前記データ初期化信号を受け付けた場合には取り込んだデータの初期化を行ない、前記データ取り込み許可信号を受け付けた場合には取り込んだデータを外部に出力するFIFO回路と、を備えるメモリインターフェイス制御回路が提供される。
【0015】
本発明の第2の視点によれば、上述のメモリインターフェイス制御回路を含む半導体集積回路が提供される。
【発明の効果】
【0016】
本発明の各視点によれば、回路規模を増大させることなく、ノイズ等の影響により不正規な波形となったデータストローブ信号DQSを排除し、正常なデータアクセスを可能とするメモリインターフェイス制御回路及び半導体集積回路が、提供される。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態の概要を説明するための図である。
【図2】DDR SDRAMから出力されたデータをシステムLSIで読み出す際の動作を示すタイミングチャートの一例である。
【図3】非特許文献1で開示されたデータ読み出し時のタイミングチャートである。
【図4】本発明の第1の実施形態に係るメモリインターフェイス制御回路を含んだシステムLSIとDDR SDRAMの接続の一例を示す図である。
【図5】本発明の第1の実施形態に係るメモリインターフェイス制御回路の内部構成の一例を示す図である。
【図6】図5に示すデータストローブ信号検証回路の内部構成の一例を示す図である。
【図7】図6に示す波形欠落検出回路の内部構成の一例を示す図である。
【図8】図6に示す冗長波形検出回路の内部構成の一例を示す図である。
【図9】図6に示すHパルス検出回路の内部構成の一例を示す図である。
【図10】図6に示すLパルス検出回路の内部構成の一例を示す図である。
【図11】図6に示すDQSカウンタ回路の内部構成の一例を示す図である
【図12】第1の実施形態に係るメモリインターフェイス制御回路の動作を示すタイミングチャートの一例である。
【図13】第1の実施形態に係るメモリインターフェイス制御回路の別の動作を示すタイミングチャートの一例である。
【発明を実施するための形態】
【0018】
初めに、図1を用いて実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0019】
上述のように、特許文献1に開示されたメモリインターフェイス制御回路は、正確なデータストローブ信号DQSを得るために大規模な制御回路を必要とする。そのため、回路規模を増大させず、ノイズ等の影響により不正規な波形となったデータストローブ信号DQSを排除し、正常なデータアクセスを可能とするメモリインターフェイス制御回路の提供が望まれる。
【0020】
そこで、一例として図1に示すメモリインターフェイス制御回路を提供する。図1に示すメモリインターフェイス制御回路は、DDR SDRAMがデータを転送するタイミングを通知するデータストローブ信号DQSを受け付け、データストローブ信号DQSに異常波形が検出された場合にはデータ初期化信号を出力し、データストローブ信号DQSに異常波形が検出されない場合にはデータ取り込み許可信号を出力するデータストローブ信号検証回路と、データストローブ信号DQSが活性化(プリアンブル期間経過後の立ち上がりエッジの入力)した際に、DDR SDRAMから出力されるデータ信号を保持し、データ初期化信号を受け付けた場合には保持したデータの初期化を行なう保持回路と、保持回路が出力するデータを一時的に取り込み、データ初期化信号を受け付けた場合には取り込んだデータの初期化を行ない、データ取り込み許可信号を受け付けた場合には取り込んだデータを外部に出力するFIFO回路と、を備える。
【0021】
データストローブ信号検証回路では、入力されたデータストローブ信号DQSの波形を様々な角度から検証し、データストローブ信号DQSが規格外の波形であった場合にはデータ初期化信号を出力する。また、保持回路では、データストローブ信号検証回路がデータストローブ信号DQSの正当性を検証している間データ信号DQを保持し、次段のFIFO回路にデータの出力を行なう。データストローブ信号検証回路では、入力されたデータストローブ信号DQSの正当性が確認できるとデータ取り込み許可信号を出力する。FIFO回路では、データ取り込み許可信号を受け付けると、保持回路から取り込んだデータを外部に出力する。
【0022】
このようなメモリインターフェイス制御回路を用いることによって、データストローブ信号DQSをマスクすることなく、入力されたデータストローブ信号DQSであって正当性の確認できた(異常ではない)データストローブ信号DQSに基づいてデータの読み出しを行なうことができる。
【0023】
[第1の実施形態]
次に、本発明の第1の実施形態について、図面を用いてより詳細に説明する。図4は、本実施形態に係るメモリインターフェイス制御回路10を含んだシステムLSI1とDDR SDRAM2の接続の一例を示す図である。図4に示すデータ転送システムにおいては、DDR SDRAM2から、データ信号DQと、データ信号DQを転送するタイミングを示すデータストローブ信号DQSと、反転データストローブ信号DQSBを出力する。一方、システムLSI1からはDDR SDRAM2の基本クロックであるメモリクロックCKと、DDR SDRAM2に対するコマンド信号CMDを出力する。コマンド信号CMDによって、DDR SDRAM2の動作モード(読み出しモードや書き込みモード等)を決定する。
【0024】
システムLSI1は、メモリインターフェイス制御回路10を内蔵する半導体集積回路である。メモリインターフェイス制御回路10が、DDR SDRAM2と上述の各信号(DQ、DQS、DQSB、CK、CMD)に関する制御を行なう。また、メモリインターフェイス制御回路10は、システムLSI1の内部で生成される反転スタンバイ信号STBYBと、リードコマンド信号READと、システムLSI1の基本クロックであるシステムクロックCLKと、システムクロックCLKの2倍の周波数を持つ2逓倍システムクロックX2CLKと、システムクロックCLKの4倍の周波数を持つ4逓倍システムクロックX4CLKを受け付ける。なお、反転スタンバイ信号STBYBについては後述する。
【0025】
さらに、メモリインターフェイス制御回路10から、システムLSI1の内部回路に対して、DDR SDRAM2から読み出したデータであって、バースト転送における偶数回目の読み込みデータである偶数回データ出力信号OUT_DATA_Eと、DDR SDRAM2から読み出したデータであって、奇数回目の読み込みデータである奇数回データ出力信号OUT_DATA_Oを出力する。
【0026】
次に、メモリインターフェイス制御回路10について説明する。図5は、メモリインターフェイス制御回路10の内部構成の一例を示す図である。図5に示すメモリインターフェイス制御回路10は、IOバッファ11及び12と、論理積回路AND01と、可変遅延回路13と、フリップフロップFF01乃至FF03と、FIFO回路14と、データストローブ信号検証回路15から構成されている。
【0027】
IOバッファ11は、DDR SDRAM2から読み出されたデータ信号DQを受け付ける入力バッファである。IOバッファ12は、DDR SDRAM2から出力されたデータストローブ信号(DQS、DQSB)を受け付ける入力バッファである。なお、IOバッファ11及び12には、出力動作を備えるものを採用することも可能である。
【0028】
論理積回路AND01は、IOバッファ12の出力信号と、データストローブ信号検証回路15の出力するデータストローブ検出信号DQS_OKの論理を反転した信号を入力とする。データストローブ検出信号DQS_OKとは、データストローブ信号検証回路15が正常なデータストローブ信号DQSを検出したことを表す信号である。論理積回路AND01での演算結果は、可変遅延回路13及びデータストローブ信号検証回路15に出力される。
【0029】
可変遅延回路13はIOバッファ12の出力を、論理積回路AND01を介して受け付け、データストローブ信号DQSに対して90度の位相差をもつデータストローブ信号DQS90と、データストローブ信号DQSに対して270度の位相差をもつデータストローブ信号DQS270を出力する。
【0030】
フリップフロップFF01乃至F03は、リセット端子付きフリップフロップである。フリップフロップFF01のデータ入力には、IOバッファ11を介してデータ信号DQを入力する。フリップフロップFF01のクロックにはデータストローブ信号DQS90を入力し、リセット端子RBにはデータストローブ信号検証回路15が出力するリードデータリセット信号DRSTを入力する。リードデータリセット信号DRSTは、DDR SDRAM2から読み出したデータを初期化するための信号である。フリップフロップFF01のデータ出力は、フリップフロップFF03のデータ入力となる。
【0031】
フリップフロップFF03のクロックにはデータストローブ信号DQS270を入力し、リセット端子RBにはリードデータリセット信号DRSTを入力する。フリップフロップFF03のデータ出力はFIFO回路14に対するDATA_O信号となる。
【0032】
フリップフロップFF02のデータ入力には、IOバッファ11を介してデータ信号DQを入力する。フリップフロップFF02のクロックにはデータストローブ信号DQS270を入力し、リセット端子RBにはリードデータリセット信号DRSTを入力する。フリップフロップFF02のデータ出力はFIFO回路14に対するDATA_E信号となる。
【0033】
FIFO回路14は、フリップフロップFF02のデータ出力(DATA_E)と、フリップフロップFF03のデータ出力(DATA_O)と、データストローブ信号DQS270と、リードデータリセット信号DRSTと、データストローブ検出信号DQS_OKと、システムクロックCLKを入力信号として受け付ける。さらに、FIFO回路14は、偶数回データ出力信号OUT_DATA_E及び奇数回データ出力信号OUT_DATA_Oを出力する。
【0034】
データストローブ信号検証回路15は、受け付けたデータストローブ信号DQSが正常な信号であるか否かを検出する回路である。具体的には、データストローブ信号検証回路15に入力されたデータストローブ信号DQSが、上述の非特許文献1で定められた規格に反するものであれば採用しない。例えば、データストローブ信号検証回路15に入力したデータストローブ信号DQSのLレベル又はHレベルとして維持すべき期間が、規格に反するものであれば、そのようなデータストローブ信号DQSは正常な信号とは扱わない。そのような異常なデータストローブ信号DQSとして判定されたデータストローブ信号に従って取り込んだ読み出しデータは破棄する。そのための信号がリードデータリセット信号DRSTである。
【0035】
データストローブ信号検証回路15において異常が検出されなかったデータストローブ信号DQSに従って取り込んだ読み出しデータは正常なデータとしてシステムLSI1の内部に出力される。そのための信号がデータストローブ検出信号DQS_OKである。なお、データストローブ信号検証回路15の活性化及び非活性化は、システムLSI1の内部で生成される信号である反転スタンバイ信号STBYBにより決定される。
【0036】
図6は、データストローブ信号検証回路15の内部構成の一例を示す図である。データストローブ信号検証回路15は、インバータINV01及びINV02と、論理積回路AND02乃至AND04と、波形欠落検出回路100と、冗長波形検出回路200と、Hパルス検出回路300と、Lパルス検出回路400と、DQSカウンタ500から構成されている。
【0037】
インバータINV01は、DQSカウンタ500が出力するデータストローブ検出信号DQS_OKを受け付け、論理積回路AND02に反転信号を出力する。
【0038】
論理積回路AND02は、データストローブ検出信号DQS_OKと反転スタンバイ信号STBYBを入力信号として受け付ける。また、論理積回路AND02の出力信号はDSETB信号として、波形欠落検出回路100、冗長波形検出回路200、Hパルス検出回路300、Lパルス検出回路400、論理積回路AND03の各回路に出力される。
【0039】
論理積回路AND03には、DSETB信号とデータストローブ信号DQS90を入力する。論理積回路AND03の出力信号は、DQS90C信号としてDQSカウンタ500に出力される。
【0040】
波形欠落検出回路100には、データストローブ信号DQSと、4逓倍システムクロックX4CLKと、DSETB信号が入力される。波形欠落検出回路100からはHFLG信号が出力される。このHFLG信号は、入力されたデータストローブ信号DQSの波形が欠落していることを示すフラグ信号である。
【0041】
冗長波形検出回路200には、データストローブ信号DQSと、4逓倍システムクロックX4CLKと、DSETB信号が入力される。冗長波形検出回路200からはLFLG信号が出力される。このLFLG信号は、入力されたデータストローブ信号DQSの波形が冗長であることを示すフラグ信号である。
【0042】
Hパルス検出回路300には、データストローブ信号DQSと、2逓倍システムクロックX2CLKと、DSETB信号と、データストローブ信号DQS90が入力される。Hパルス検出回路300からはHPFLG信号が出力される。このHPFLG信号は、入力されたデータストローブ信号DQSのHレベルの期間が規格値よりも短いことを示すフラグ信号である。
【0043】
Lパルス検出回路400には、データストローブ信号DQSと、2逓倍システムクロックX2CLKと、DSETB信号と、データストローブ信号DQS90が入力される。Lパルス検出回路400からはLPFLG信号が出力される。このLPFLG信号は、入力されたデータストローブ信号DQSのLレベルの期間が規格値よりも短いことを示すフラグ信号である。
【0044】
なお、上述の各フラグ信号(HFLG信号、LFLG信号、HPFLG信号、LPFLG信号)がHレベルの際には各検出回路では異常な波形を検出しておらず、各検出回路がLレベルのフラグ信号を出力した場合にデータストローブ信号DQSの異常波形を検出したことを意味する。
【0045】
論理積回路AND04は、上述の各フラグ信号(HFLG信号、LFLG信号、HPFLG信号、LPFLG信号)を入力信号として受け付ける。論理積回路AND04は、RSTB信号としてDQSカウンタ500及びインバータINV02に演算結果を出力する。
【0046】
インバータINV02の出力信号がリードデータリセット信号DRSTとして、データストローブ信号検証回路15から出力される。
【0047】
DQSカウンタ回路500には、論理積回路AND04の出力するRSTB信号と、論理積回路AND03の出力するDQS90C信号と、リードコマンド信号READが入力される。DQSカウンタ回路500はデータストローブ検出信号DQS_OKを出力する。
【0048】
以上のように、データストローブ信号検証回路15は4個の検出回路を含み、各検出回路において入力されたデータストローブ信号DQSの正当性を検証する。いずれかの検出回路において異常が検出された場合には、それぞれフラグ信号を出力し、論理積回路AND04においてリードデータリセット要求(RSTB信号及びDRST信号)に纏められる。
【0049】
一方、各検出回路が異常を検出しなければ、DQSカウンタ500においてバーストレングスに応じた回数分、データストローブ信号DQS90がトグルしたか否かを確認する。確認の結果、必要な回数分、データストローブ信号DQS90がトグルしている場合にはデータストローブ検出信号DQS_OKを出力する。
【0050】
データストローブ信号検証回路15が出力するリードデータリセット信号DRST及びデータストローブ検出信号DQS_OKに従って、図2のフリップフロップFF01乃至FF03及びFIFO回路14はデータの初期化、又は、DDR SDRAM2から読み出したデータをシステムLSI1の内部に送信する。
【0051】
次に、各検出回路及びDQSカウンタ500について説明する。図7は、波形欠落検出回路100の内部構成の一例を示す図である。波形欠落検出回路100は、インバータINV03と、論理積回路AND05と、論理和回路OR01と、フリップフロップFF04乃至FF07から構成されている。フリップフロップFF04はリセット端子付きフリップフロップであり、フリップフロップFF05乃至FF07はセット端子付きフリップフロップである。
【0052】
インバータINV03には、データストローブ信号DQSを入力し、反転した信号を論理積回路AND05に出力する。
【0053】
論理積回路AND05は、インバータINV03の出力信号と、DSETB信号を入力信号として受け付ける。論理積回路AND05の出力信号は、フリップフロップFF05乃至FF07の各セット端子SBに入力される。
【0054】
フリップフロップFF04のデータ入力にはデータストローブ信号DQSが入力され、データ出力はフリップフロップFF05のデータ入力となる。また、フリップフロップFF04のリセット端子RBにはDSETB信号が入力される。
【0055】
フリップフロップFF05は、フリップフロップFF04のデータ出力をデータ入力とする。フリップフロップFF05のデータ出力をフリップフロップFF06のデータ入力及び論理和回路OR01に対する出力とする。フリップフロップFF06は、フリップフロップFF05のデータ出力をデータ入力とする。フリップフロップFF06のデータ出力をフリップフロップFF07のデータ入力及び論理和回路OR01に対する出力とする。フリップフロップFF07は、フリップフロップFF06のデータ出力をデータ入力とする。フリップフロップFF07のデータ出力を論理和回路OR01に対する出力とする。なお、フリップフロップFF04乃至FF07のクロックには4逓倍システムクロックX4CLKが入力される。
【0056】
論理和回路OR01には、フリップフロップFF05乃至FF07のデータ出力が入力され、演算結果をHFLG信号として出力する。
【0057】
次に、冗長波形検出回路200について説明する。図8は、冗長波形検出回路200の内部構成の一例を示す図である。冗長波形検出回路200は、論理積回路AND06と、否定論理積回路NAND01と、フリップフロップFF08乃至FF11から構成されている。フリップフロップFF08乃至FF11はリセット端子付きフリップフロップである。
【0058】
論理積回路AND06には、データストローブ信号DQSとDSETB信号を入力する。論理積回路AND06の出力信号は、フリップフロップFF09乃至FF11の各リセット端子RBに入力する。
【0059】
フリップフロップFF08のデータ入力にはデータストローブ信号DQSが入力され、データ出力はフリップフロップFF09のデータ入力に出力される。また、フリップフロップFF08のリセット端子RBにはDSETB信号が入力される。
【0060】
フリップフロップFF09は、フリップフロップFF08のデータ出力をデータ入力とする。フリップフロップFF09のデータ出力をフリップフロップFF10のデータ入力及び否定論理積回路NAND01に対する出力とする。フリップフロップFF10は、フリップフロップFF09のデータ出力をデータ入力とする。フリップフロップFF10のデータ出力をフリップフロップFF11のデータ入力及び否定論理積回路NAND01に対する出力とする。フリップフロップFF11は、フリップフロップFF10のデータ出力をデータ入力とする。フリップフロップFF11のデータ出力を否定論理積回路NAND01に対する出力とする。なお、フリップフロップFF08乃至FF11のクロックには4逓倍システムクロックX4CLKが入力される。
【0061】
否定論理積回路NAND01には、フリップフロップFF09乃至FF11のデータ出力が入力され、演算結果をLFLG信号として出力する。
【0062】
次に、Hパルス検出回路300について説明する。図9は、Hパルス検出回路300の内部構成の一例を示す図である。Hパルス検出回路300は、インバータINV04と、論理積回路AND07と、フリップフロップFF12から構成されている。フリップフロップFF12はセット端子付きフリップフロップである。
【0063】
インバータINV04はデータストローブ信号DQSを受け付け、反転信号を論理積回路AND07に出力する。
【0064】
論理積回路AND07は、インバータINV04の出力と、DSETB信号を入力信号として受け付ける。論理積回路AND07の出力はフリップフロップFF12のセット端子SBに入力される。
【0065】
フリップフロップFF12のデータ入力には、データストローブ信号DQSが入力され、クロックにデータストローブ信号DQS90が入力される。フリップフロップFF12のデータ出力をHPFLG信号として出力する。
【0066】
次に、Lパルス検出回路400について説明する。図10は、Lパルス検出回路400の内部構成の一例を示す図である。Lパルス検出回路400は、インバータINV05及びINV06と、論理積回路AND08と、フリップフロップFF13から構成されている。フリップフロップFF13はセット端子付きフリップフロップである。
【0067】
インバータINV05には、データストローブ信号DQSが入力され、反転信号をフリップフロップFF13のデータ入力に出力する。
【0068】
インバータINV06には、データストローブ信号DQS90が入力され、反転信号をフリップフロップFF13のクロックに出力する。
【0069】
論理積回路AND08は、データストローブ信号DQSと、DSETB信号を入力信号として受け付ける。論理積回路AND08の出力は、フリップフロップFF13のセット端子SBに入力される。
【0070】
フリップフロップFF13のデータ入力には、データストローブ信号DQSの反転信号が入力され、クロックにデータストローブ信号DQS90の反転信号が入力される。フリップフロップFF13のデータ出力をLPFLG信号として出力する。
【0071】
続いて、DQSカウンタ回路500について説明する。図11は、DQSカウンタ回路500の内部構成の一例を示す図である。DQSカウンタ回路500は、インバータINV07及びINV08と、論理積回路AND09と、排他的論理和回路XOR01と、フリップフロップFF14及びFF15から構成されている。なお、フリップフロップFF14及びFF15はリセット端子付きフリップフロップである。
【0072】
インバータINV07には、リードコマンド信号READが入力され、反転信号が論理積回路AND09に入力される。論理積回路AND09には、インバータINV07の出力信号と、RSTB信号が入力される。
【0073】
論理積回路AND09の出力は、フリップフロップFF14及びFF15のリセット端子RBに入力される。フリップフロップFF14のデータ入力には、インバータINV08の出力信号が入力される。
【0074】
フリップフロップFF14のデータ出力は、インバータINV08及び排他的論理和回路XOR01に入力される。
【0075】
排他的論理和回路XOR01には、フリップフロップFF14及びFF15のデータ出力が入力され、演算結果をフリップフロップFF15のデータ入力に出力する。
【0076】
フリップフロップFF15のデータ入力には、排他的論理和回路XOR01の出力が入力され、データ出力をデータストローブ検出信号DQS_OKとして出力する。フリップフロップFF14及びF15のクロックには、データストローブ信号DQS90Cを反転して入力する。
【0077】
次に、メモリインターフェイス制御回路10の動作について説明する。図12は、本実施形態に係るメモリインターフェイス制御回路10の動作を示すタイミングチャートの一例である。図12では、波形欠落検出回路100が入力されたデータストローブ信号DQSの異常を検出したことで取り込んだデータを初期化し、その後、予め定めたバースト長のデータを取り込む際の動作を示している。なお、図12はバースト長を4とした場合のタイミングチャートである。
【0078】
図12の時刻T2において、データストローブ信号検証回路15はリードコマンド信号READを受け取った直後にデータストローブ検出信号DQS_OKをLレベルに設定する。また、リードコマンド信号READがアクティブになった後、時刻T5でHレベルの反転スタンバイ信号STBYBがデータストローブ信号検証回路15に入力されることにより、データストローブ信号検証回路15は活性化する。その後、時刻T5とT6の期間内にデータストローブ信号DQSが入力されると、インターフェイス制御回路10のフリップフロップFF01がデータストローブ信号DQS90の立ち上がりエッジでデータ信号DQの状態DXを取り込む。さらに、時刻T7において、フリップフロップFF02及びFF03が、それぞれデータストローブ信号DQS270の立ち上がりエッジでデータ信号DQを取り込む。
【0079】
しかし、DDR SDRAMの規格によるならば、時刻T7とT8の期間内において、データストローブ信号DQSが立ち上がる必要があるが、依然としてLレベルのままである。そのため、波形欠落検出回路100では入力されたデータストローブ信号DQSに異常が存在するとしてHFLG信号をLレベルに設定する。その結果、データストローブ信号検証回路15からHレベルのリードデータリセット信号DRSTが出力される(時刻T8)。このリードデータリセット信号DRSTにより、フリップフロップFF01乃至FF03は保持しているデータを初期化する。
【0080】
次に、時刻T9において、再びデータストローブ信号DQSの立ち上がりエッジがデータストローブ信号検証回路15に入力され、データストローブ信号検証回路15はリードデータリセット信号DRSTをLレベルに設定する。リセットが解除されたフリップフロップFF01は、データストローブ信号DQS90の立ち上がりエッジで、データ信号DQの状態D1を取り込む。さらに、フリップフロップFF02はデータストローブ信号DQS270の立ち上がりエッジで、データ信号DQの状態D2を取り込む。また、フリップフロップFF03はデータストローブ信号DQS270の立ち上がりエッジでフリップフロップFF01が取り込んだデータの入力を受け付ける。以上の動作により、フリップフロップFF02から出力するDATA_E信号と、フリップフロップFF03から出力するDATA_O信号が同時に出力される。
【0081】
FIFO回路14では、これらのDATA_O信号とDATA_E信号をデータの順序を維持したまま取り込む。
【0082】
次に、時刻T11で2回目のデータストローブ信号DQSの立ち上がりエッジがデータストローブ信号検証回路15に入力され、時刻T9の際の動作と同様に、データ信号DQの状態D3及びD4がFIFO回路14に取り込まれる。時刻T11で2回目のデータストローブ信号DQSが入力されたことにより、波形欠落検出回路100では異常を検出することはない。同時に、他の検出回路(冗長波形検出回路200、Hパルス検出回路300、Lパルス検出回路400)でもデータストローブ信号DQSの異常は検出されない。入力されたデータストローブ信号DQSが規格どおりの波形だからである。
【0083】
そして、DQSカウンタ回路500においてデータストローブ信号DQS90Cの立ち下りエッジを2度カウントすると、データストローブ信号検証回路15から時刻T12直後の4逓倍システムクロックX4CLKの立ち上がりエッジでデータストローブ検出信号DQS_OKが出力される。このデータストローブ検出信号DQS_OKが出力されると、FIFO回路14は内部に取り込んだデータ信号DQの状態(D1〜D4)をシステムクロックCLKに同期させ、偶数回データ出力信号OUT_DATA_Eと奇数回データ出力信号OUT_DATA_OとしてシステムLSI1に出力する。なお、データストローブ信号検証回路15は、反転スタンバイ信号STBYBを受け付けて非活性状態に遷移する(時刻T20)。
【0084】
続いて、冗長波形検出回路200、Hパルス検出回路300、Lパルス検出回路400の動作について説明する。図13は、冗長波形検出回路200、Hパルス検出回路300、Lパルス検出回路400の各検出回路がデータストローブ信号DQSの異常を検出した場合のタイミングチャートの一例である。
【0085】
図13の時刻T1からT6までの期間では、データストローブ信号DQSの入力を検出したが、その後データストローブ信号DQSが入力されずリードデータリセット信号DRSTにより、フリップフロップFF01乃至FF03は保持しているデータを破棄している。即ち、波形欠落検出回路100がデータストローブ信号DQSの異常を検出した際の動作である。本動作は、図12を用いて既に説明した動作であるため説明を省略する。なお、時刻T1からT6の期間において、冗長波形検出回路200、Hパルス検出回路300、Lパルス検出回路400の各検出回路は異常な波形を検出していない。
【0086】
図13の時刻T6からT9までの期間は、冗長波形検出回路200が入力されたデータストローブ信号DQSの異常を検出した場合のタイミングチャートである。時刻T6でデータストローブ信号DQSがHレベルに遷移したが、時刻T7になってもLレベルに遷移していない。データストローブ信号DQSのHレベルが継続する期間が規格値を越えたため、冗長波形検出回路200では異常を検出する。その結果、冗長波形検出回路200からはLFLG信号としてLレベルが出力され、その直後にデータストローブ信号検証回路15からリードデータリセット信号DRSTが出力される。なお、リードデータリセット信号DRSTはデータストローブ信号DQSが入力されるまでHレベルを継続する。
【0087】
次に、Hパルス検出回路300が入力されたデータストローブ信号DQSの異常を検出した場合の動作について説明する。図13の時刻T9からT12は、Hパルス検出回路300が異常を検出した場合のタイミングチャートである。時刻T9で入力されたデータストローブ信号DQSのHレベルの期間は規格どおりの長さであるためデータストローブ信号検証回路15が異常を検出することはない。しかし、時刻T11で入力されたデータストローブ信号DQSのHレベルの期間は規格値の半分であるため、Hパルス検出回路300は異常を検出する。その結果、Hパルス検出回路300はHPFLG信号をLレベルに設定し、出力する。その後、データストローブ信号検証回路15はリードデータリセット信号DRSTを出力する。データストローブ信号検証回路15は、時刻T14でデータストローブ信号DQSが入力されるまで、リードデータリセット信号DRSTのHレベルを継続する。
【0088】
次に、Lパルス検出回路400が入力されたデータストローブ信号DQSの異常を検出した場合の動作について説明する。図13の時刻T14からT18は、Lパルス検出回路400が異常を検出した場合のタイミングチャートである。時刻T14で入力されたデータストローブ信号DQSは正常であるため、データストローブ信号検証回路15が異常を検出することはない。しかし、時刻T15からT16の間に存在するデータストローブ信号DQSのLレベルの期間は規格値の半分であるため、Lパルス検出回路400は異常を検出する。その結果、Lパルス検出回路400はLPFLG信号にLレベルに設定し、出力する。その後、データストローブ信号検証回路15はリードデータリセット信号DRSTを出力する。なお、データストローブ信号DQSが入力されるまでリードデータリセット信号DRSTのHレベルを継続する。
【0089】
以上のように、データストローブ信号検証回路15では、各検出回路(波形欠落検出回路100、冗長波形検出回路200、Hパルス検出回路300、Lパルス検出回路400)によってデータストローブ信号DQSの異常を検出する。異常が検出された場合には、その時点までに取り込んだリードデータを初期化する。なお、上記の4つのデータストローブ信号DQSの異常波形以外にも想定される異常波形が存在する場合には、データストローブ信号検証回路15に異常検出回路を追加することによって、異なる異常波形に対応することが可能になる。
【0090】
本実施形態に係るメモリインターフェイス制御回路10は、データストローブ信号検証回路15が異常なデータストローブ信号DQSを検出すると、それ以前に取り込んだデータを初期化する機能を備える。従って、データストローブ信号DQSに対してマスクを実施する必要もなく、さらに、特許文献1で開示されたメモリインターフェイス制御回路のようにマスク解除のタイミングを詳細に調整する必要がない。そのため、特許文献1で開示されたメモリインターフェイス制御回路では数K〜数10K程度のゲート規模が必要であったのに対し、本実施形態に係るメモリインターフェイス制御回路10では僅か数十ゲートという回路規模で正常なデータストローブ信号DQSを取り込むことが可能である。
【0091】
なお、上記の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0092】
1 システムLSI
2 DDR SDRAM
10 メモリインターフェイス制御回路
11、12 IOバッファ
13 可変遅延回路
14 FIFO回路
15 データストローブ信号検証回路
100 波形欠落検出回路
200 冗長波形検出回路
300 Hパルス検出回路
400 Lパルス検出回路
500 DQSカウンタ
AND01〜AND09 論理積回路
FF01〜FF15 フリップフロップ
INV01〜INV08 インバータ
NAND01 否定論理積回路
OR01 論理和回路
XOR01 排他的論理和回路

【特許請求の範囲】
【請求項1】
メモリがデータを転送するタイミングを通知するデータストローブ信号を受け付け、前記データストローブ信号に異常波形が検出された場合にはデータ初期化信号を出力し、前記データストローブ信号に異常波形が検出されない場合にはデータ取り込み許可信号を出力するデータストローブ信号検証回路と、
前記データストローブ信号が活性化した際に、前記メモリから出力されるデータ信号を保持しつつ出力し、前記データ初期化信号を受け付けた場合には保持したデータの初期化を行なう保持回路と、
前記保持回路が出力するデータを一時的に取り込み、前記データ初期化信号を受け付けた場合には取り込んだデータの初期化を行ない、前記データ取り込み許可信号を受け付けた場合には取り込んだデータを外部に出力するFIFO回路と、
を備えることを特徴とするメモリインターフェイス制御回路。
【請求項2】
前記保持回路は、前記メモリが転送するデータを保持する第1の保持回路と、前記メモリが転送するデータのうち前記第1の保持回路とは異なるデータを保持する第2の保持回路とを含み、
前記FIFO回路は、前記第1の保持回路の出力するデータを取り込んだ後に前記第2の保持回路の出力するデータを取り込む請求項1のメモリインターフェイス制御回路。
【請求項3】
前記データストローブ信号検証回路は、前記データストローブ信号の波形の検証を行なう異常波形検出回路と、
前記データストローブ信号の論理レベルの変化の回数を計数し、前記データストローブ信号が、予め定めた読み出しデータ長に相当する回数変化し、かつ、前記異常波形検出回路において前記データストローブ信号の異常波形が検出されない場合に、前記データ取り込み許可信号を出力するDQSカウンタ回路と、
を備える請求項1又は2のメモリインターフェイス制御回路。
【請求項4】
前記異常波形検出回路は、前記データストローブ信号が規定回数連続して入力されていないことを検出する波形欠落検出回路を含む請求項3のメモリインターフェイス制御回路。
【請求項5】
前記異常波形検出回路は、前記データストローブ信号のプリアンブル期間の論理レベルとは異なる第1の論理レベルが、規格値より長く期間継続したことを検出する冗長波形検出回路を含む請求項3又は4のメモリインターフェイス制御回路。
【請求項6】
前記異常波形検出回路は、前記データストローブ信号の前記第1の論理レベルの期間が規格値より短いことを検出する第1のパルス検出回路を含む請求項3乃至5いずれか一に記載のメモリインターフェイス制御回路。
【請求項7】
前記異常波形検出回路は、前記データストローブ信号のプリアンブル期間の論理レベルと同じ第2の論理レベルの期間が、規格値より短いことを検出する第2のパルス検出回路を含む請求項3乃至6いずれか一に記載のメモリインターフェイス制御回路。
【請求項8】
前記メモリは、DDR SDRAMである請求項1乃至7いずれか一に記載のメモリインターフェイス制御回路。
【請求項9】
前記DQSカウンタ回路は、前記データストローブ信号の論理レベルの変化をDDR SDRAMのバーストレングスに相当する回数計数した場合に、前記データ取り込み許可信号を出力する請求項8のメモリインターフェイス制御回路。
【請求項10】
請求項1乃至9いずれか一に記載のメモリインターフェイス制御回路を含むことを特徴とする半導体集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−212385(P2012−212385A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−78476(P2011−78476)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】