(58)【調査した分野】(Int.Cl.,DB名)
前記FIFO回路は、前記カウンタ回路の前記カウント値に基づいて、前記第1及び第2のワイヤードオア回路をそれぞれリセットする第1及び第2のリセット回路をさらに含む、請求項1の半導体装置。
前記第1のリセット回路は、前記カウンタ回路の前記カウント値が前記第1のグループに属する前記複数のラッチ回路とは異なる所定のラッチ回路を示していることに応答して、前記第1のワイヤードオア回路をリセットし、
前記第2のリセット回路は、前記カウンタ回路の前記カウント値が前記第2のグループに属する前記複数のラッチ回路とは異なる所定のラッチ回路を示していることに応答して、前記第2のワイヤードオア回路をリセットする、請求項2の半導体装置。
前記FIFO回路は、前記カウンタ回路の前記カウント値に基づいて複数の信号パスのいずれかに前記コマンドを供給する入力選択回路と、前記複数の信号パスと前記複数のラッチ回路との関係に基づいて前記コマンドを所定のラッチ回路に供給するシフト回路と、前記カウンタ回路の前記カウント値に基づいて前記複数のラッチ回路のいずれかに取り込まれた前記コマンドを出力する出力選択回路とをさらに含む、請求項1の半導体装置。
前記複数のラッチ回路のそれぞれは、前記コマンドの入力に応答してセットされ、前記コマンドの出力に応答してリセットされるSR型(セット/リセット型)ラッチ回路を含む、請求項4の半導体装置。
第1の動作モードにおいては前記コマンドを前記FIFO回路に相対的に高速に供給し、第2の動作モードにおいては前記コマンドを前記FIFO回路に相対的に低速に供給するよう構成されたモード切替回路をさらに備える、請求項1の半導体装置。
【発明を実施するための形態】
【0021】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【0022】
図1は、本発明の好ましい実施形態による半導体記憶装置10の全体構成を示すブロック図である。
【0023】
本実施形態による半導体記憶装置10はシンクロナスDRAMであり、外部端子として、クロック端子11a,11b、コマンド端子12a〜12e、アドレス端子13、データ入出力端子14、データストローブ端子15a,15b及び電源端子16a,16bを備えている。
【0024】
クロック端子11a,11bは、それぞれクロック信号CK,/CKが供給される端子であり、供給されたクロック信号CK,/CKは、クロック入力回路21に供給される。本明細書において信号名の先頭に「/」が付されている信号は、対応する信号の反転信号であることを意味する。したがって、クロック信号CK,/CKは互いに相補の信号である。クロック入力回路21の出力は、タイミング発生回路22及びDLL回路23に供給される。タイミング発生回路22は内部クロックICLKを生成し、これをデータ出力系の回路を除く各種内部回路に供給する役割を果たす。また、DLL回路23は出力用クロックLCLKを生成し、これをデータ出力系の回路に供給する役割を果たす。
【0025】
DLL回路23が生成する出力用クロックLCLKは、クロック信号CK,/CKに対して位相制御された信号であり、リードデータDQ(及びデータストローブ信号DQS,/QDS)の位相がクロック信号CK,/CKの位相と一致するよう、クロック信号CK,/CKに対してやや位相が進められる。
【0026】
DLL回路23は、モードレジスタ56へのセット内容に応じて、使用の可否が選択される。つまり、モードレジスタ56に「DLLオンモード」がセットされている場合には、DLL回路23は使用状態とされ、出力用クロックLCLKはクロック信号CK,/CKに対して位相制御される。一方、モードレジスタ56に「DLLオフモード」がセットされている場合には、DLL回路23は不使用状態とされ、出力用クロックLCLKはクロック信号CK,/CKに対して位相制御されなくなる。したがって、DLLオフモードである場合には、出力用クロックLCLKはクロック信号CKよりも位相の遅れた信号となる。モードレジスタ56によるDLL回路23の制御は、モード信号Mによって行われる。
【0027】
コマンド端子12a〜12eは、それぞれロウアドレスストローブ信号/RAS、カラムアドレスストローブ信号/CAS、ライトイネーブル信号/WE、チップセレクト信号/CS、及びオンダイターミネーション信号ODTが供給される端子である。これらのコマンド信号は、コマンド入力回路31に供給される。コマンド入力回路31に供給されたこれらコマンド信号は、コマンドデコーダ32に供給される。コマンドデコーダ32は、内部クロックICLKに同期して、コマンド信号の保持、デコード及びカウントなどを行うことによって、各種内部コマンドICMDを生成する回路である。生成された内部コマンドは、ロウ系制御回路51、カラム系制御回路52、リード制御回路53、ライト制御回路54、レイテンシカウンタ55及びモードレジスタ56に供給される。各種内部コマンドICMDのうち、リードコマンドMDRDTは少なくともレイテンシカウンタ55に供給される。
【0028】
レイテンシカウンタ55は、リードコマンドMDRDTが発行されてから、あらかじめ設定されたCASレイテンシが経過した後にリードデータが出力されるよう、リードコマンドMDRDTを遅延させる回路である。ここで、リードコマンドMDRDTは内部クロックICLKに同期した信号である一方、レイテンシカウンタ55の出力である出力制御信号DRCは、出力用クロックLCLKに同期している必要がある。したがって、レイテンシカウンタ55は、同期対象となるクロックを内部クロックICLKから出力用クロックLCLKに乗せ替える役割も果たす。レイテンシカウンタ55の詳細については後述する。
【0029】
アドレス端子13は、アドレス信号ADDが供給される端子であり、供給されたアドレス信号ADDは、アドレス入力回路41に供給される。アドレス入力回路41の出力は、アドレスラッチ回路42に供給される。アドレスラッチ回路42は、内部クロックICLKに同期してアドレス信号ADDをラッチする回路である。アドレスラッチ回路42にラッチされたアドレス信号ADDのうち、ロウアドレスについてはロウ系救済回路61に供給され、カラムアドレスについてはカラム系救済回路62に供給される。また、ロウ系救済回路61には、リフレッシュカウンタ63によって生成されるロウアドレスも供給される。さらに、モードレジスタセットにエントリーしている場合には、アドレス信号ADDはモードレジスタ56に供給される。
【0030】
ロウ系救済回路61は、欠陥のあるワード線を示すロウアドレスが供給された場合、本来のワード線ではなく冗長ワード線に対して代替アクセスを行うことによって、当該ロウアドレスを救済する回路である。ロウ系救済回路61の動作は、ロウ系制御回路51によって制御され、その出力はロウデコーダ71に供給される。ロウデコーダ71は、メモリセルアレイ70に含まれるいずれかのワード線WLを選択する回路である。
図1に示すように、メモリセルアレイ70においては、複数のワード線WLと複数のビット線BLが交差しており、その交点にはメモリセルMCが配置されている。ビット線BLは、それぞれ対応するセンスアンプ73に接続されている。
【0031】
カラム系救済回路62は、欠陥のあるビット線を示すカラムアドレスが供給された場合、本来のビット線ではなく冗長ビット線に対して代替アクセスを行うことによって、当該カラムアドレスを救済する回路である。カラム系救済回路62の動作は、カラム系制御回路52によって制御され、その出力はカラムデコーダ72に供給される。カラムデコーダ72は、メモリセルアレイ70に含まれるいずれかのセンスアンプ73を選択する回路である。
【0032】
カラムデコーダ72によって選択されたセンスアンプ73は、リード動作時にはリードアンプ74に接続され、ライト動作時にはライトアンプ75に接続される。リードアンプ74の動作はリード制御回路53によって制御され、ライトアンプ75の動作はライト制御回路54によって制御される。
【0033】
データ入出力端子14は、リードデータDQの出力及びライトデータDQの入力を行うための端子であり、データ出力回路81及びデータ入力回路82に接続されている。データ出力回路81は、FIFO回路83を介してリードアンプ74に接続されており、これにより、プリフェッチされた複数のリードデータDQがデータ入出力端子14からバースト出力される。また、データ入力回路82は、FIFO回路84を介してライトアンプ75に接続されており、これにより、データ入出力端子14からバースト入力された複数のライトデータDQがメモリセルアレイ70に同時に書き込まれる。
【0034】
データストローブ端子15a,15bは、それぞれデータストローブ信号DQS,/QDSの入出力を行うための端子であり、データストローブ信号出力回路85及びデータストローブ信号入力回路86に接続されている。
【0035】
図1に示すように、データ出力回路81及びデータストローブ信号出力回路85には、DLL回路23によって生成される出力用クロックLCLKと、レイテンシカウンタ55によって生成される出力制御信号DRCが供給される。また、出力制御信号DRCは、FIFO回路83にも供給される。
【0036】
電源端子16a,16bは、それぞれ電源電位VDD,VSSが供給される端子であり、内部電圧発生回路90に接続されている。内部電圧発生回路90は、各種内部電圧を生成する回路である。
【0037】
以上が本実施形態による半導体記憶装置10の全体構成である。次に、半導体記憶装置10に含まれるレイテンシカウンタ55について説明する。
【0038】
図2は、本発明の好ましい実施形態によるレイテンシカウンタ55の回路図である。
【0039】
図2に示すように、本実施形態によるレイテンシカウンタ55は、出力用クロックLCLKに基づいて分周クロックLCLKE,LCLKOを生成する分周回路100と、分周クロックLCLKE,LCLKOに基づいてカウント動作を行うカウンタ回路200と、カウンタ回路200のカウント値を用いて、リードコマンドMDRDTのレイテンシをカウントするポイントシフト型FIFO回路300とを備えている。但し、本明細書において単に「カウンタ回路」と呼ぶときは、分周回路100とカウンタ回路200の両方を含むことがある。
【0040】
出力用クロックLCLKは、
図1に示したDLL回路23によって生成されるクロックである。セルフリフレッシュ時やパワーダウン時においては、消費電力を低減するため、DLL回路23の動作は停止する。したがって、セルフリフレッシュモードやパワーダウンモードから復帰する場合、DLL回路23の動作が再開し、この際、一時的に出力用クロックLCLKが不安定な状態となり、ハザードが出力されることがある。
【0041】
このようなハザードは、一般的にレイテンシカウンタを誤動作させる原因となる。しかしながら、本実施形態によるレイテンシカウンタ55は、出力用クロックLCLKにハザードが生じてもカウント値がジャンプするのみであり、カウント値が不定となったり、カウント動作が停止したりすることがない。
【0042】
以下、レイテンシカウンタ55を構成する各回路ブロックの構成及び動作について説明する。
【0043】
まず、分周回路100について説明する。
【0044】
図2に示すように、分周回路100は、出力用クロックLCLKの立ち下がりエッジに同期してラッチ動作を行うラッチ回路101と、ラッチ回路101の出力端Qより出力される分周信号LQを反転させて入力端Dに供給するインバータ102と、出力用クロックLCLKと分周信号LQの論理積をとるAND回路103と、出力用クロックLCLKと分周信号LQの反転信号の論理積をとるAND回路104とを備えている。
【0045】
このような回路構成により、
図3に示すように、AND回路103の出力である分周クロックLCLKEは、偶数番目の内部クロックLCLKに連動した波形となり、AND回路104の出力である分周クロックLCLKOは、奇数番目の内部クロックLCLKに連動した波形となる。このため、分周クロックLCLKE,LCLKOは、アクティブな期間(ハイレベルである期間)が0.5tCKとなり、非アクティブな期間(ローレベルである期間)が1.5tCKとなる。
【0046】
このように、本実施形態による分周回路は、出力用クロックLCLKを2分周することによって、互いに位相の異なる2つの分周クロックLCLKE,LCLKOを生成している。生成された分周クロックLCLKE,LCLKOは、
図2に示すようにカウンタ回路200に供給される。このため、カウンタ回路200は、出力用クロックLCLKの半分の周波数で動作を行うことになる。
【0047】
次に、カウンタ回路200について説明する。
【0048】
図2に示すように、カウンタ回路200は、分周クロックLCLKEをカウントする第1のカウンタ210と、分周クロックLCLKOに同期して第1のカウンタ210のカウント値を取り込む第2のカウンタ220と、第1及び第2のカウンタ210,220のカウント値を排他的に選択する選択回路230とを備えている。
【0049】
図2に示すように、第1のカウンタ210は、リップル型のフリップフロップ211,212が従属接続された2ビットのリップルカウンタと、リップルカウンタの出力をデコードするデコーダ213とを含んでいる。フリップフロップ211のクロック端には分周クロックLCLKEが供給されており、したがって、フリップフロップ211の出力ビットB1はバイナリ信号の最下位ビットを示す。フリップフロップ212の出力ビットB2はバイナリ信号の最上位ビットである。
【0050】
これらフリップフロップ211,212の出力ビットB1,B2は、デコーダ213に供給される。しかしながら、出力ビットB1,B2の変化タイミングは同時ではなく、下位ビットから変化する。つまり、上位ビットの変化が遅れる。本実施形態では、このような変化タイミングの差を無くすために、遅延回路214を用いている。遅延回路214は、フリップフロップ1段分に相当する遅延量を有している。
図2に示すように、遅延回路214は、フリップフロップ211とデコーダ213との間に接続されている。このため、フリップフロップ211の出力ビットB1は、フリップフロップ1段分の遅延が与えられた後、デコーダ213に入力される。
【0051】
これにより、デコーダ213に入力されるビットB1,B2の変化タイミングは実質的に一致することになる。デコーダ213は、バイナリ形式であるビットB1,B2に基づいて、4本(=2
2)の出力のいずれか一つをハイレベルに活性化させる。
【0052】
デコーダ213の出力は、フリップフロップ211,212や遅延回路214の存在により分周クロックLCLKEよりも遅れて変化するが、本実施形態では、第1のカウンタ210が僅か2ビットのリップルカウンタであり、遅延量が非常に小さいことから、デコーダ213の出力と分周クロックLCLKEとのスキューはほとんど問題とならない。
【0053】
一方、第2のカウンタ220は、データラッチ型のフリップフロップ221,222と、フリップフロップ221,222の出力をデコードするデコーダ223とを含んでいる。フリップフロップ221,222のクロック端には、遅延回路224にて遅延された分周クロックLCLKOが供給されている。また、フリップフロップ221のデータ入力端Dにはフリップフロップ211の出力ビットB1が供給され、フリップフロップ222のデータ入力端Dにはフリップフロップ212の出力ビットB2が供給される。かかる構成により、第2のカウンタ220は、分周クロックLCLKOに同期して第1のカウンタ210のカウント値を取り込むことができる。つまり、分周クロックLCLKOが活性化すると、第2のカウンタ220のカウント値は第1のカウンタ210のカウント値と一致することになる。
【0054】
これらフリップフロップ221,222の出力ビットB3,B4は、デコーダ223に供給される。これら出力ビットB3,B4の変化タイミングは同時であることから、出力ビットB3,B4の信号経路に遅延回路などは挿入されていない。しかしながら、上述の通り第1のカウンタ210はリップル型のカウンタであることから、生成される出力ビットB1,B2が変化する際、合計でフリップフロップ2段分の遅延が生じる。このような遅延を持った出力ビットB1,B2を正しくラッチすべく、第2のカウンタ220には、遅延回路224が設けられている。遅延回路224は、フリップフロップ2段分に相当する遅延量を有している。
図2に示すように、遅延回路224は、分周クロックLCLKOの信号経路に挿入されている。
【0055】
これにより、デコーダ223に入力される出力ビットB3,B4の変化タイミングは、出力ビットB1,B2の変化タイミングと実質的に一致することになる。デコーダ223は、バイナリ形式であるビットB3,B4に基づいて、4本(=2
2)の出力のいずれか一つをハイレベルに活性化させる。
【0056】
選択回路230は、第1のカウンタ210の出力に対応する4つのAND回路230−0,2,4,6と、第2のカウンタ220の出力に対応する4つのAND回路230−1,3,5,7によって構成されている。AND回路230−0,2,4,6の一方の入力端には、第1のカウンタ210の対応する出力ビットがそれぞれ供給され、他方の入力端には分周クロックLCLKEが共通に供給される。また、AND回路230−1,3,5,7の一方の入力端には、第2のカウンタ220の対応する出力ビットがそれぞれ供給され、他方の入力端には分周クロックLCLKOが共通に供給される。
【0057】
かかる構成により、第1のカウンタ210の出力と第2のカウンタ220の出力が交互に選択され、選択されたカウント値がポイントシフト型FIFO回路300に供給される。カウンタ回路200のカウント値は、出力ゲート制御信号COT0〜COT7として用いられる。
【0058】
図4は、カウンタ回路200の動作を説明するためのタイミング図である。
【0059】
図4に示すように、第1のカウンタ210のカウント値である出力ビットB1,B2は、分周クロックLCLKEに同期してインクリメントし、第2のカウンタ220のカウント値である出力ビットB3,B4は、分周クロックLCLKOに同期してインクリメントする。但し、これらのインクリメント動作は相互に無関係に行われるのではなく、第1のカウンタ210のカウント値が第2のカウンタ220のカウント値として取り込まれるため、第2のカウンタ220のカウント値は第1のカウンタ210のカウント値に追従する。したがって、ハザードなどによって第1のカウンタ210のカウント値がジャンプした場合には、第2のカウンタ220のカウント値も同じ値にジャンプする。このように、第1のカウンタ210のカウント値と第2のカウンタ220のカウント値は、常に相関した状態でインクリメントされる。
【0060】
このようにして生成されるカウント値は、選択回路230によって選択される。つまり、分周クロックLCLKEがハイレベルである期間においては第1のカウンタ210のカウント値が選択され、分周クロックLCLKOがハイレベルである期間においては第2のカウンタ220のカウント値が選択される。その結果、カウンタ回路200のカウント値は、出力用クロックLCLKに同期してインクリメントされることになる。つまり、出力ゲート制御信号COT0〜COT7がこの順に活性化されることになる。
【0061】
また、ハザードなどによって第1のカウンタ210のカウント値がジャンプした場合、活性化される出力ゲート制御信号COT0〜COT7が不測に変化する。しかしながら、第1及び第2のカウンタ210,220はバイナリ形式でカウント値を出力することから、複数の出力ゲート制御信号COT0〜COT7が同時に活性化したり、いずれの出力ゲート制御信号COT0〜COT7も活性化しないというような不定状態とはならならず、あくまでカウント値がジャンプするのみである。しかも、ハザードが生じるのは、パワーダウンモードからの復帰時などであることから、後述するポイントシフト型FIFO回路300には、リードコマンドMDRDTが蓄積されていない状態である。
【0062】
したがって、ハザードなどによってカウント値がジャンプした場合であっても、カウンタ回路200は自動復旧し、そのまま正常な動作を行うことが可能となる。これは、ポイントシフト型FIFO回路300が動作を開始する場合、カウンタ回路200のカウント値自体に意味はなく、カウント値が順次変化すれば正しい動作を行うことができるからである。
【0063】
次に、ポイントシフト型FIFO回路300について説明する。
【0064】
図2に示すように、ポイントシフト型FIFO回路300は、入力選択回路310と、シフト回路320と、ラッチ回路330−0〜330−7と、出力選択回路340と、合成回路350とを備えている。
【0065】
入力選択回路310は、8つのAND回路310−0〜310−7によって構成されている。AND回路310−0〜310−7は、一方の入力端にリードコマンドMDRDTが共通に入力され、他方の入力端に遅延回路390によって遅延された出力ゲート制御信号COT0〜COT7がそれぞれ入力されている。
【0066】
これにより、リードコマンドMDRDTが活性化すると、カウンタ回路200のカウント値に基づいて、信号経路311−0〜311−7のいずれか一つにリードコマンドMDRDTが供給されることになる。例えば、出力ゲート制御信号COT0が活性化しているタイミングでリードコマンドMDRDTが供給された場合には、信号経路311−0にのみリードコマンドMDRDTが供給され、他の信号経路311−1〜〜311−7にはリードコマンドMDRDTは供給されない。ここで、信号経路311−0〜311−7とは、それぞれAND回路310−0〜310−7の出力信号が供給される信号経路である。
【0067】
これら信号経路311−0〜311−7は、シフト回路320の入力端に接続されている。シフト回路320は、あらかじめ定められた信号経路311−0〜311−7とラッチ回路330−0〜330−7との対応関係に基づいて、リードコマンドMDRDTを所定のラッチ回路に供給する回路である。
【0068】
図5は、シフト回路320の回路図である。
【0069】
図5に示すように、シフト回路320は、8つのマルチプレクサ320−0〜320−7によって構成されている。マルチプレクサ320−0〜320−7はいずれも信号経路311−0〜311−7に接続されており、あらかじめ定められた信号経路311−0〜311−7上にリードコマンドMDRDTが供給された場合に、出力である入力ゲート制御信号CIT0〜CIT7をハイレベルに活性化させる。
【0070】
どの信号経路311−0〜311−7上にリードコマンドMDRDTが供給された場合に入力ゲート制御信号CIT0〜CIT7をハイレベルとするかは、マルチプレクサ320−0〜320−7によって全て異なっている。その指定は、レイテンシ設定信号CLによって行われる。
【0071】
図6は、シフト回路320の機能を説明するための模式図である。
【0072】
図6に示す外側のリング311は信号経路311−0〜311−7を示し、内側のリングCITは入力ゲート制御信号CIT0〜CIT7を示している。外側のリング311は、出力ゲート制御信号COT0〜COT7とリードコマンドMDRDTの論理積とみなすことができる。そして、これらリング311,CITに付された目盛りが一致する信号及び信号経路が対応する信号及び信号経路であることを意味する。
【0073】
より具体的に説明すると、
図6(a)は、信号経路311−0〜311−7と入力ゲート制御信号CIT0〜CIT7との差分を「0」に設定した例を示している。この場合、信号経路311−0にリードコマンドMDRDTが供給されると、これに対応する入力ゲート制御信号CIT0がハイレベルとなり、信号経路311−2にリードコマンドMDRDTが供給されると、これに対応する入力ゲート制御信号CIT2がハイレベルとなる。つまり、信号経路311−k(k=0〜7)と入力ゲート制御信号CITj(j=0〜7)が対応しているとすると、j=kの状態である。
【0074】
一方、
図6(b)は、信号経路311−0〜311−7と入力ゲート制御信号CIT0〜CIT7との差分を「7」に設定した例を示している。これは、内側のリングCITを左回りに7目盛り分回転させたイメージである。この場合、信号経路311−0にリードコマンドMDRDTが供給されると、これに対応する入力ゲート制御信号CIT7がハイレベルとなり、信号経路311−3にリードコマンドMDRDTが供給されると、これに対応する入力ゲート制御信号CIT2がハイレベルとなる。つまり、j−k=7又は−1の状態である。
【0075】
差分は0〜7のいずれかに設定可能であり、設定された状態においては、信号経路と入力ゲート制御信号との対応関係は固定される。このように、シフト回路320は、信号経路311−0〜311−7上のリードコマンドMDRDTをシフトさせて、入力ゲート制御信号CIT0〜CIT7を生成する。このような差分は、必要とされるCASレイテンシに基づいて定められる。
【0076】
このように、本実施形態では、シフト回路320の前段に入力選択回路310が配置されていることから、リードコマンドMDRDTが活性化した場合、マルチプレクサ320−0〜320−7のいずれか一つだけが動作する。このため、リードコマンドMDRDTの活性化の有無にかかわらず全てのマルチプレクサを動作させる場合に比べて、消費電力を低減することが可能となる。
【0077】
シフト回路320によって生成される入力ゲート制御信号CIT0〜CIT7は、ラッチ回路330−0〜330−7にそれぞれ供給される。ラッチ回路330−0〜330−7の後段には、出力選択回路340を構成する出力ゲート340−0〜340−7がそれぞれ接続されている。
【0078】
図7は、ラッチ回路330−0及び出力ゲート340−0の回路図である。他のラッチ回路330−1〜330−7及び出力ゲート340−1〜340−7についても、
図7に示す回路構成と同じ回路構成を有している。
【0079】
図7に示すように、ラッチ回路330−0は、入力ゲート制御信号CIT0がローレベルからハイレベルに変化するとセットされ、出力ゲート制御信号COT0がハイレベルからローレベルに変化するとリセットされるSR型(セット/リセット型)ラッチ回路331を含んでいる。SR型ラッチ回路331のセット状態においては、論理レベル「1」がラッチされ、これによりリードコマンドMDRDTが保持された状態となる。SR型ラッチ回路331のリセットは、リセット回路332によって行われる。リセット回路332に対してはリセット信号RSTの入力が可能であり、リセット信号RSTが活性化すると、ラッチ回路330−0〜330−7は強制的に全てリセットされる。
【0080】
また、出力ゲート340−0は、出力ゲート制御信号COT0がハイレベルである期間において、SR型ラッチ回路331にラッチされた論理レベルを出力する。出力ゲート制御信号COT0がローレベルである期間においては、その出力はハイインピーダンス状態となる。出力ゲート340−0〜340−7の出力は、合成回路350に供給される。
【0081】
図2に示すように、合成回路350は、出力ゲート340−0〜340−3からの出力を合成するワイヤードオア回路351と、出力ゲート340−4〜340−7からの出力を合成するワイヤードオア回路352と、ワイヤードオア回路351,352の出力を合成するORゲート回路353とを含んでいる。ORゲート回路353の出力は、出力制御信号DRCとして用いられる。
【0082】
このように、本実施形態では、8つのラッチ回路330−0〜330−7からの出力が2つにグループ分けされ、それぞれワイヤードオア接続されるとともに、得られたワイヤードオア出力が論理ゲート回路によってさらに合成される。かかる構成により、全てのラッチ回路330−0〜330−7からの出力を纏めてワイヤードオア接続する場合と比べて、出力ゲート340−0〜340−7の出力負荷が低減する。このため、出力制御信号DRCの信号品質を高めることが可能となる。
【0083】
また、合成回路350は、ワイヤードオア回路351,352をそれぞれリセットするリセット回路354,355を備えている。リセット回路354は、出力ゲート制御信号COT4に応答してワイヤードオア回路351をリセットし、リセット回路355は、出力ゲート制御信号COT0に応答してワイヤードオア回路352をリセットする。リセット回路354,355はいずれもNチャンネル型のMOSトランジスタによって構成されており、そのゲートにはそれぞれ出力ゲート制御信号COT4,0が供給される。ソースは、いずれも接地電位(VSS)に接続されている。したがって、出力ゲート制御信号COT4が活性化するとリセット回路354がオンし、ワイヤードオア回路351がローレベルにリセットされる。同様に、出力ゲート制御信号COT0が活性化するとリセット回路355がオンし、ワイヤードオア回路352がローレベルにリセットされる。
【0084】
上述の通り、出力ゲート制御信号COT0〜COT7は、カウンタ回路200によってこの順に順次活性化する。このため、出力ゲート制御信号COT4が活性化するのは、出力ゲート制御信号COT0〜COT3の活性化が終了した直後であり、しばらくはワイヤードオア回路351から出力制御信号DRCが出力されることはない。このようなタイミングでリセット回路354をオンさせれば、次に出力ゲート制御信号COT0〜COT3が活性化するまでの十分な期間が確保されることから、ワイヤードオア回路351を確実にリセットすることが可能となる。リセット回路355についても同様である。また、ワイヤードオア回路351,352には、それぞれラッチ回路351a,352aが接続されている。これにより、対応する全ての出力ゲート(340−0〜340−3又は340−4〜340−7)がハイインピーダンス状態となる期間の論理レベルが保持される。
【0085】
図2に示すように、本実施形態によるレイテンシカウンタ55は、モード切替回路400をさらに備えている。
【0086】
モード切替回路400は、リードコマンドMDRDTを遅延させる遅延回路401と、モード信号に基づいて、遅延されていないリードコマンドMDRDT及び遅延されたリードコマンドMDRDTのいずれか一方を選択するマルチプレクサ402とを含んでいる。
【0087】
マルチプレクサ402は、DLL回路23を使用する動作モード(DLLオンモード)である場合には、遅延されていないリードコマンドMDRDTを選択する。これにより、ポイントシフト型FIFO回路300には、リードコマンドMDRDTが高速に供給される。これに対し、DLL回路23を使用しない動作モード(DLLオフモード)である場合には、マルチプレクサ402は遅延回路401によって遅延されたリードコマンドMDRDTを選択する。これにより、リードコマンドMDRDTは、DLLオンモード時よりも遅れてポイントシフト型FIFO回路300に供給されることになる。
【0088】
遅延回路401の遅延量としては、DLL回路23が動作していない場合において、外部のクロック信号CKに対して生じる出力用クロックLCLKの遅れに相当する遅延量に設定することが好ましい。これによれば、DLLオフモードにより、クロック信号CKに対して出力用クロックLCLKが遅れている場合であっても、DLLオンモード時と同様の動作マージンを確保することが可能となる。
【0089】
以上が本実施形態によるレイテンシカウンタ55の構成である。次に、本実施形態によるレイテンシカウンタ55の動作について説明する。
【0090】
図8は、本実施形態によるレイテンシカウンタ55の動作を説明するためのタイミング図であり、DLLオンモード時における動作(レイテンシ=7)を示している。上述の通り、DLLオンモードにおいては、リードコマンドMDRDTがポイントシフト型FIFO回路300に高速に供給される。
【0091】
図8では、外部のクロック信号CKのエッジ0に同期してリードコマンドRDが発行された例を示している。
図8に示すように、リードコマンドRDが発行されてから、内部のリードコマンドMDRDTが生成されるまでには所定の時間がかかる。リードコマンドMDRDTは、カウンタ回路200の出力に基づいて、ポイントシフト型FIFO回路300に含まれる8つのラッチ回路330−0〜330−7のいずれかに保持される。本例では、リードコマンドMDRDTが生成されたタイミングにおいて遅延回路390の出力によってANDゲート310−7が選択された状態を示している。したがって、入力ゲート制御信号CIT0〜7のうち、入力ゲート制御信号CIT7のみが活性化し、リードコマンドMDRDTはラッチ回路330−7に格納されることになる。
【0092】
ラッチ回路330−7に格納されたリードコマンドMDRDTは、カウンタ回路200のインクリメントによって出力ゲート制御信号COT7が選択されるまで、ラッチ回路330−7に保持される。そして、出力ゲート制御信号COT7が選択されると、出力ゲート340−7が開き、出力制御信号DRCが活性化する。出力制御信号DRCは出力用クロックLCLKに同期しており、これを用いて実際にリードデータDQが出力される。
【0093】
その後、セルフリフレッシュモードやパワーダウンモードにエントリーすると、
図1に示したDLL回路23が停止する。そして、通常動作に復帰する際、出力用クロックLCLKにハザードが生じることがあり、これによってカウンタ回路200のカウント値がジャンプすることがある。
【0094】
しかしながら、本実施形態によるレイテンシカウンタ55では、カウント値自体に意味はなく、通常動作時において正しくインクリメント(又はデクリメント)されれば問題は全く生じない。つまり、カウント値がエラーとなること自体が無く、ハザードによってカウント値が変化しても、そのまま次の動作を実行することができる。このように、本実施形態によるレイテンシカウンタ55によれば、出力用クロックLCLKのハザードに起因するエラーを防止することが可能となる。
【0095】
図9は、本実施形態によるレイテンシカウンタ55の動作を説明するためのタイミング図であり、DLLオフモード時における動作(レイテンシ=6)を示している。上述の通り、DLLオフモードにおいては、リードコマンドMDRDTが遅延されてポイントシフト型FIFO回路300に供給される。
【0096】
図9に示すように、DLLオフモードにおいては、出力用クロックLCLKが外部のクロック信号CKに対して位相制御されていないことから、クロック信号CKに対して所定の遅れが生じる。このような遅れは、遅延回路401によってリードコマンドMDRDTの供給を遅らせることによって相殺される。これにより、DLLオンモード時と同じ動作マージンを確保することが可能となる。
【0097】
以上説明したように、本実施形態によるレイテンシカウンタ55によれば、出力用クロックLCLKを2分周した分周クロックLCLKE,LCLKOに同期してカウント動作を行っていることから、出力用クロックLCLKの周波数が高い場合であってもカウンタ回路200の動作マージンを十分に確保することが可能となる。
【0098】
また、カウンタ回路200を第1のカウンタ210と第2のカウンタ220に分けていることから、第1のカウンタ210に含まれるリップルカウンタのビット数が少なくなる。これにより、リップルカウンタにて生じる遅延が小さくなり、その結果、選択回路230に分周クロックLCLKE,LCLKOを直接供給することが可能となる。つまり、リップルカウンタの遅延が大きい場合、正しく同期を取るためには、分周クロックLCLKE,LCLKOをある程度遅延させてから選択回路230に入力する必要がある。この場合、遅延を回復させるための再同期回路を設けることによって、リードコマンドMDRDTを出力用クロックLCLKに再同期させる必要が生じる。このような再同期回路は、クロックの周波数が高い場合、コマンドの転送マージンを低下させる原因となりうる。しかしながら、本実施形態では、このような再同期回路は不要であり、その結果、クロックの周波数が高い場合であっても十分な転送マージンを確保することが可能となる。
【0099】
しかも、第1のカウンタ210については分周クロックLCLKEをバイナリ形式でカウントする一方、第2のカウンタ220については分周クロックLCLKOに同期して第1のカウンタ210のカウント値を取り込んでいることから、第1のカウンタ210のカウント値と第2のカウンタ220のカウント値がずれることがない。このため、第1のカウンタ210のカウント値に基づいてラッチしたリードコマンドMDRDTを、第2のカウンタ220のカウント値に基づいて出力することが可能となる。もちろんその逆も可能である。このことは、分周クロックLCLKE,LCLKOに同期してカウント動作を行っているにもかかわらず、ポイントシフト型FIFO回路300が分周による影響を受けないことを意味する。
【0100】
つまり、もし第1のカウンタ210のカウント値と第2のカウンタ220のカウント値が無関係であれば、第1のカウンタ210のカウント値に基づいてラッチしたリードコマンドMDRDTについては、第1のカウンタ210のカウント値に基づいて出力することが必須となる。同様に、第2のカウンタ220のカウント値に基づいてラッチしたリードコマンドMDRDTについては、第2のカウンタ220のカウント値に基づいて出力することが必須となる。この場合、ポイントシフト型FIFO回路300に設定可能なレイテンシ数は偶数のみとなり、レイテンシを奇数に設定するためには、レイテンシ追加回路などを付加する必要が生じる。しかしながら、本実施形態では、第1のカウンタ210のカウント値と第2のカウンタ220のカウント値が連動していることから、このような制約を受けることが無くなり、レイテンシ追加回路などを付加することなく、レイテンシを任意の値に設定することが可能となる。
【0101】
しかも、本実施形態では、第1のカウンタ210がリップルカウンタであることから、上述の通り、出力用クロックLCLKのハザードに起因するエラーを防止することが可能となる。
【0102】
また、本実施形態においては、シフト回路320の前段に入力選択回路310を設けることによって、リードコマンドMDRDTが供給された場合にだけシフト回路320を動作させていることから、リードコマンドMDRDTの有無にかかわらずシフト回路を常時動作させる場合に比べて、消費電力を低減することが可能となる。
【0103】
さらに、本実施形態においては、出力ゲート340−0〜340−7の出力が2つにグループ分けされ、それぞれワイヤードオア接続されるとともに、得られたワイヤードオア出力が論理ゲート回路によってさらに合成されることから、全て出力を纏めてワイヤードオア接続する場合と比べて出力負荷が低減する。これにより、出力制御信号DRCの信号品質を高めることが可能となる。
【0104】
さらに、本実施形態においては、モード切替回路400を用いることにより、DLLオフモードである場合にリードコマンドMDRDTの供給をDLLオンモード時よりも遅らせていることから、出力用クロックLCLKが外部のクロック信号CKに対して遅れている場合であっても、DLLオンモード時と同様にリードコマンドMDRDTの取り込みマージンを十分に確保することが可能となる。
【0105】
図10は、本発明の好ましい実施形態による半導体記憶装置10を用いたデータ処理システム500の構成を示すブロック図である。
【0106】
図10に示すデータ処理システム500は、データプロセッサ520と、本実施形態による半導体記憶装置(DRAM)10が、システムバス510を介して相互に接続された構成を有している。データプロセッサ520としては、例えば、マイクロプロセッサ(MPU)、ディジタルシグナルプロセッサ(DSP)などを含まれるが、これらに限定されない。
図10においては簡単のため、システムバス510を介してデータプロセッサ520とDRAM530とが接続されているが、システムバス510を介さずにローカルなバスによってこれらが接続されていても構わない。
【0107】
また、
図10には、簡単のためシステムバス510が1組しか描かれていないが、必要に応じ、コネクタなどを介しシリアルないしパラレルに設けられていても構わない。また、
図10に示すメモリシステムデータ処理システムでは、ストレージデバイス540、I/Oデバイス550、ROM560がシステムバス510に接続されているが、これらは必ずしも必須の構成要素ではない。
【0108】
ストレージデバイス540としては、ハードディスクドライブ、光学ディスクドライブ、フラッシュメモリなどが挙げられる。また、I/Oデバイス550としては、液晶ディスプレイなどのディスプレイデバイスや、キーボード、マウスなどの入力デバイスなどが挙げられる。また、I/Oデバイス550は、入力デバイス及び出力デバイスのいずれか一方のみであっても構わない。さらに、
図10に示す各構成要素は、簡単のため1つずつ描かれているが、これに限定されるものではなく、1又は2以上の構成要素が複数個設けられていても構わない。
【0109】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【0110】
例えば、上記実施形態では、分周回路100を用いて出力用クロックLCLKを2分周しているが、本発明において分周数がこれに限定されるものではない。したがって、出力用クロックLCLKがより高速である場合には、出力用クロックLCLKを4分周するとともに、第2のカウンタ220と同様、第1のカウンタ210と連動する第3及び第4のカウンタを用いればよい。また、本発明において分周回路100を用いることは必須でなく、出力用クロックLCLKを直接カウントしても構わない。
【0111】
また、本発明においてカウンタ回路の構成は任意であり、上記実施形態で示した構成に限定されるものではない。したがって、例えば上記実施形態では、第1のカウンタ210がリップルカウンタを含んでいるが、本発明がこれに限定されるものではない。
【0112】
また、本発明においてモード切替回路400を備えることは必須でない。
【0113】
さらに、上記実施形態では、出力ゲート340−0〜340−7の出力を2つに分割されたワイヤードオア回路351,352によって受けているが、ワイヤードオア回路の分割数についてはこれに限定されず、3以上に分割しても構わない。具体的には、一つのワイヤードオア回路の入力数A(上記実施形態ではA=4)と、ワイヤードオア回路の数B(上記実施形態ではB=2)との比A/Bが、0.5〜4の範囲であることが好ましく、1〜2の範囲であることがより好ましい。A/Bの値をこの範囲に設定すれば、ワイヤードオア回路の負荷と論理ゲート回路による遅延のバランスが良好となり、高い信号品質を得ることが可能となる。
【0114】
また、上記実施形態では、出力ゲート制御信号COT4に応答してワイヤードオア回路351をリセットし、出力ゲート制御信号COT0に応答してワイヤードオア回路352をリセットしているが、ワイヤードオア回路351,352をリセットするタイミングがこれに限定されるものではない。したがって、ワイヤードオア回路351については、カウンタ回路200のカウント値がワイヤードオア回路352に対応するラッチ回路を示していることに応答してリセットすれば足り、同様に、ワイヤードオア回路352については、カウンタ回路200のカウント値がワイヤードオア回路351に対応するラッチ回路を示していることに応答してリセットすれば足りる。