以下、本発明に係る半導体記憶装置の好適な実施の形態について、添付図面を用いて説明する。
図1は、本発明を適用したダブルデータレート・シンクロナスDRAMの第1の実施形態を示すブロック図である。
図1のDRAMは、複数のメモリセルがマトリックス状に配置された例えば4つのバンクからなり全体で256メガビットのような記憶容量を有するメモリセルアレイ123と、外部から入力されるアドレスデータ(以下、アドレスと略す)をマルチプレックス方式で内部に取り込むアドレスバッファ101と、前記アドレスバッファ101により取り込まれたアドレスをラッチするアドレスレジスタ103と、前記アドレスレジスタ103にラッチされたアドレスのうち行アドレスをラッチする行アドレスラッチ104と、フューズを用いて行アドレスの救済アドレスを記憶する行救済アドレス記憶回路106と、前記救済アドレスと行アドレスを比較する行アドレス比較回路105と、行アドレスをプリデコードする行アドレスプリデコーダ107と、行アドレスをデコードしてメモリアレイ123内の対応するワード線を選択する冗長行アドレスデコーダ108および行アドレスデコーダ109と、前記アドレスレジスタ103にラッチされたアドレスのうち列アドレスをラッチする列アドレスラッチ110と、ラッチされた列アドレスを内部で自動的に更新する列アドレスカウンタ111と、列アドレスの救済アドレスを記憶する列救済アドレス記憶回路113と、前記救済アドレスと列アドレスを比較する列アドレス比較回路112と、列アドレスをプリデコードする列アドレスプリデコーダ114と、列アドレスをデコードしてメモリアレイ123内の対応するカラム(ビット線)を選択する冗長列アドレスデコーダ115および列アドレスデコーダ116と、外部から入力されるチップセレクト信号/CSなどの制御信号を受けて内部の制御信号を生成するコマンドデコーダ102と、前記メモリセルアレイ123から読み出されたデータを外部に出力する出力バッファ120と、CASレイテンシの値に応じて前記出力バッファ120にデータを送るタイミングが制御される出力レジスタ118と、前記出力レジスタ118から出力されるデータのタイミングを制御する出力クロック生成回路119と、外部から入力されるデータを受ける入力バッファ121と、CASレイテンシの値に応じて前記入力バッファ121からのデータを前記メモリセルアレイ123に送るタイミングが制御される入力レジスタ122と、前記メモリセルアレイ123から読み出されたデータを前記出力レジスタ118に伝えるとともに前記入力レジスタ122からのデータを前記メモリセル123に書き込むための読出し/書込み回路117とを備えている。
前記コマンドデコーダ102に外部から入力される制御信号としては、チップを選択状態にする前記チップセレクト信号/CSの他、互いに逆相の一対のクロックCLK,/CLK、クロックが有効であることを示すクロックイネーブル信号CKE、行アドレスストローブ信号/RAS(以下、RAS信号と称する)、列アドレスストローブ信号/CAS(以下、CAS信号と称する)、データの書込み動作を指示するライトイネーブル信号/WE、データの入出力を指示するデータストローブ信号DQS、データの入出力を禁止するデータマスク信号DMなどがある。これらの信号のうち符号の前に"/"が付されているものは、ロウレベルが有効レベルであることを意味している。コマンドデコーダ102はこれらの制御信号のうちCKE,/CS,/RAS,/CAS,/WEとアドレス信号の一部をデコードして、入力コマンドを理解してCASレイテンシ等が設定されていることを示す信号CL,ALE、読出し/書込み回路117に対する読出しや書込みのタイミングを与える内部制御信号MAE,WBE、列アドレスラッチ回路110に対するラッチタイミングを与える制御信号WREなどを生成して出力するとともに、クロックCLK,/CLKに基づいて互いに位相や周期の異なる複数種類の内部クロックACLK,BCLK,QCLK,RCLK,DCLK,YCLK1〜4を生成して所望の内部回路に供給する。また、前記コマンドデコーダ102内には、入力コマンドのうちモードレジスタへの設定を指示するMRSコマンドに応じて設定されるCASレイテンシの値CLを保持するCL設定レジスタ131が設けられている。
また、この実施形態においては、前記コマンドデコーダ102内に、モードレジスタへの設定を指示するMRSコマンドによって設定されるカラムコマンドの前倒しレイテンシすなわちACTVコマンドに対する通常のカラムコマンドの投入サイクルを何サイクル前に持ってくるか示す値ALを保持するAL設定レジスタ132が設けられている。
さらに、コマンドデコーダ102から生成されるクロックQCLKに基づいて、出力レジスタ118のラッチタイミングを与える信号QCLK1を形成するため公知のDLL(Digital Locked Loop)回路等で構成された出力クロック生成回路119が設けられている。DLL回路は、信号の伝送遅延時間を変化可能な可変遅延回路と本来の読出し信号のパスと遅延時間が等しくなるように構成されたレプリカ回路と、前記可変遅延回路の入力信号の位相と可変遅延回路を通った信号をさらに前記レプリカ回路を通して遅延させた信号の位相とを比較して位相が一致するように前記可変遅延回路の遅延時間を調整できるように構成された回路である。
この実施形態においては、前記出力クロック生成回路119の後段に、出力クロック生成回路119で生成された信号と遅延制御回路126で遅延された信号ORE1を入力とする2入力ANDゲート133が設けられており、信号ORE1がイネーブル(ハイレベル)の場合は、出力クロック生成回路119の出力がQCLK1として出力され、ORE1がディセーブル(ローレベル)の場合は、QCLK1はローレベルに固定されるようになっている。
さらに、この実施形態においては、前記列プリデコーダ114の前段に、設定された前倒しレイテンシALに応じた遅延を与えるための第1のタイミング調整回路124が、また前記列アドレス比較回路112と前記列プリデコーダ114の間に同様の機能を有する第2のタイミング調整回路125が配置されている。また、前記コマンドデコーダ102より出力されるクロックYCLK4および制御信号ALEに基づいて同じく前記コマンドデコーダ102より出力されるタイミング制御信号MAE,ORE,WBEを適宜遅延した信号MAE1,ORE1,WBE1を形成するための遅延制御回路126が設けられている。
図2は前記遅延制御回路126の具体的な回路例を示す。
この遅延制御回路126は、コマンドデコーダ102から供給される信号MAE,ORE,WBEをそれぞれ入力とし内部クロックYCLK4と信号ALEを制御信号とする1ビットの遅延用レジスタ201、202、203によって構成されている。これらのレジスタ201〜203はそれぞれ入力信号MAE,ORE,WBEを信号ALEに応じて遅延させるためのものであり、このうちレジスタ201は、図3(A)の(b)に示すように、信号ALEがロウレベルすなわちALが"0"のときは信号スルー状態となって入力信号MAEを僅かに遅延させた信号MAE1として出力し、信号ALEがハイレベルすなわちALが"1"のときは入力信号MAEをクロックYCLK4でラッチしてクロック1周期分だけ遅延させた信号MAE1として出力させるように構成されている。
また、レジスタ202は、図3(B)の(b)に示すように、ALが"0"のときは信号スルー状態となって入力信号OREを僅かに遅延させた信号ORE1として出力し、ALが"1"のときは入力信号OREをクロックYCLK4でラッチしてクロック1周期分だけ遅延させた信号ORE1として出力させるように構成されている。なお、信号WBEはレジスタ203により信号MAEと同様に遅延されるので、図示を省略する。
さらに、前述の出力クロック生成回路119の後段に設けられた入力ANDゲート133には、前記レジスタ202で遅延された信号OBE1が入力されているため、ALが"0"のときは出力クロック生成回路119で生成された信号を僅かに遅延させた信号QCLK1として出力し、ALが"1"のときはクロック1周期分だけ遅延させた信号QCLK1として出力するように動作する。ここで、出力クロック生成回路119の入力信号QCLKはクロックであるので、出力信号QCLK1は、ALに応じて図3(A)に示す信号MAE1と同じような波形となる。
図4は前記列アドレスラッチ回路110の具体的な回路構成例を示す。なお、図4の列アドレスラッチ回路110はアドレス1ビットに対応する構成であり、かかる回路が列アドレスのビット数分だけ設けられる。
図4のアドレスラッチ回路110は、クロックドインバータ602〜604からなりクロックBCLKによって動作するマスタラッチLT1とクロックドインバータ605〜607からなりクロックBCLKによって動作するスレーブラッチLT2とからなるマスタスレーブ構成のフリップフロップFF1と、クロックドインバータ609〜611からなり前段フリップフロップFF1の出力を入力としクロックYCLK1によって動作するラッチLT3と、クロックドインバータ612〜615からなり前記フリップフロップFF1の入力と同一の信号を入力としクロックYCLK1によって動作するラッチLT4とから構成されている。そして、出力部には、コマンドデコーダ102からの制御信号WREに応じて前記ラッチLT3またはLT4の出力信号を選択して出力させるクロックドインバータ616および617が設けられている。
図4の回路には、入力信号INとして列アドレスの1ビットが供給され、フリップフロップFF1にラッチされる。しかして、出力は制御信号WREのレベルに応じて選択されるので、制御信号WREがハイレベルにされるデータ書込み時にはインバータ616が有効にされてフリップフロップFF1にラッチされたアドレスが出力され、制御信号WREがロウハイレベルにされるデータ読出し時にはインバータ617が有効にされてラッチLT4のみを経由したアドレスが出力される。これによって、列アドレスラッチ回路110は、データ書込み時には読出し時よりも1サイクルすなわちクロックBCLKの1周期分遅いタイミングで入力アドレスを出力端子OUTへ伝達させるように制御される。
なお、図4において、各ラッチLT1〜LT4を構成するインバータのうち、604,607,611,615は通常の2素子のCMOSインバータであり、それら以外および出力選択用インバータ616,617はクロックドインバータである。また、インバータ601,608,612はクロックドインバータを制御するためクロックBCLK,YCLK1の逆相のクロックを形成するためのもの、618は制御信号WREの逆相の信号を形成するためのもので、それぞれ通常のインバータで構成されている。図5に本実施形態で用いられるクロックドインバータの具体例を示す。
図5に示すように、クロックドインバータは電源電圧Vccと接地電位GNDとの間に直列形態に接続されたPチャネルMOSFET301,302とNチャネルMOSFET303,304とから構成され、MOSFET302と303のゲート端子に入力信号が印加され、MOSFET301と304のゲート端子には互いに逆相のクロックCK,/CKが印加されることにより、クロックCKがハイレベルの期間は電流が遮断されてインバータとして動作しないようにされる。ここで、CKは図4の回路ではクロックBCLK,YCLK1に相当する。
図6は図1におけるタイミング調整回路124,125の具体的な回路構成例を示す。なお、図6の回路はアドレス1ビットに対応する構成であり、タイミング調整回路124はかかる回路が列アドレスのビット数分だけ、またタイミング調整回路125はかかる回路が予備メモリ列の数分(32×4=128本)だけ設けられる。
図6のタイミング調整回路は、タイミング信号ALEによって入力信号INを相補的に伝達するクロックドインバータ702,703と、クロックドインバータ704およびインバータ705からなりコマンドデコーダ102からの制御信号ALEによって入力信号INをラッチするラッチLT11と、インバータ715,クロックドインバータ716からなりタイミング信号ALEによって入力信号INをLT11と相補的にラッチするラッチLT12と、クロックドインバータ703を通過した信号を遅延させる第1のタイミング調整用遅延回路717と、706〜711からなりクロックYCLK3またはYCLK4によって動作して前記タイミング調整用遅延回路717で遅延された信号をラッチするマスタスレーブ構成のフリップフロップからなるレジスタ719と、該レジスタ719でラッチされた信号を遅延させる第2のタイミング調整用遅延回路718とを備えている。そして、出力部には、前記制御信号ALEに応じて前記タイミング調整用遅延回路718またはクロックドインバータ702の出力信号を相補的に選択して出力させるクロックドインバータ712および713が設けられている。
前記タイミング調整用遅延回路717,718は、例えば複数のインバータを直列に接続して各ゲート遅延時間の和に相当する遅延時間を有する回路として構成される。この遅延用インバータ列には、タイミング調整回路の配置場所やタイミング調整回路に入力される信号種、それぞれの場合に応じて適当な段数が割り当てられる。なお、図2に示されている遅延用レジスタ201、202、203も図6と同様な回路で構成することができる。
図6のタイミング調整回路124,125は、AL=0の場合は、ALEがロー固定とされるため、制御信号ALEとそれをインバータ701より反転した信号ALEにより、クロックドインバータ703,712がディスエイブル、またクロックドインバータ702、713がイネーブルとなり、ラッチLT12によるノードN701のラッチ状態が解除され、インバータ702と713とを直結するスルーパスが選択され、入力信号INはほとんど遅延されることなく出力される。なお、このとき、クロックドインバータ704がイネーブルとなり、ノードN702がラッチLT11により固定状態にされる。
一方、AL=1の場合は、制御信号ALEはハイ固定とされるため、ALEとそれをインバータ701により反転した信号により、クロックドインバータ702、713がディスエーブルとなり、クロックドインバータ703,712がイネーブルとなり、ラッチLT11によるノードN702のラッチ状態が解除され、タイミング調整用遅延回路717を含む遅延側信号パスが選択される。このとき、クロックドインバータ716がイネーブルとなり、ノードN701がラッチLT12により固定状態にされる。また、AL=1の場合、コマンドデコーダ102からクロックYCLK3またはYCLK4が入力され、入力信号INはレジスタ719で一旦ラッチされることで、YCLK3またはYCLK4の1サイクル分遅延されて出力される。なお、タイミング調整用遅延回路717および718は、タイミング調整回路124または125の配置場所や入力される信号の種類等、それぞれの条件に応じて最適なタイミングの信号が得られるような遅延を与えるように構成される。
図7はタイミング調整回路124,125の具体的な回路の第2の実施例を示す。この実施例のタイミング調整回路124,125の構成は、図6のタイミング調整回路124,125の構成と比較的類似している。異なるのは、図6におけるタイミング調整用遅延回路717および718の代わりに遅延時間を調整可能なタイミング可変回路817,818を用いるとともに、タイミング可変回路817をクロックドインバータ703の後段ではなく前段に、またタイミング可変回路818をクロックドインバータ712の前段ではなく後段に、それぞれ設けている点のみである。
基本的な動作は図6の回路と同様であり、AL=0の場合は、インバータ702と713とを直結するスルーパスが選択され、入力信号INはほとんど遅延されることなく出力される。AL=1の場合、入力信号INはレジスタ719で一旦ラッチされることで、YCLK3またはYCLK4の1サイクル分遅延されて出力される。
前記タイミング可変回路817および818は、例えば図9に示すような構成とされる。同図より分かるように、タイミング可変回路817および818は、図6の遅延用タイミング調整回路124,125におけるレジスタ719とタイミング調整用遅延回路717または718のいずれか一方を省略したような構成を備えている。これにより、タイミング可変回路817および818は、制御信号ALEの状態すなわちALの値に応じて、入力信号のタイミングを調整して出力する作用をなす。
図8はタイミング調整回路124,125の具体的な回路の第3の実施例を示す。
この実施例のタイミング調整回路124(125)は、制御信号ALEに応じてクロックYCLK3(YCLK4)またはそれをインバータ901で反転した信号のいずれかを選択するNORゲート902,903と、入力信号INを遅延させる第1のタイミング可変回路910と、タイミング可変回路910の出力をラッチするマスタスレーブ構成のフリップフロップからなるレジスタ912と、レジスタ912の出力を遅延させる第2のタイミング可変回路911とから構成されている。前記タイミング可変回路910と911の構成は、図7の実施例で使用するとした図9に示されている回路と同一の構成を有する回路とすることができる。タイミング可変回路910,911は、ALの値に応じて、遅延時間が調整される。
この実施例のタイミング調整回路124(125)は、AL=0の場合は、ALEはロー固定のため、NOR902、NOR903の出力はハイ固定となり、クロックドインバータ905、クロックドインバータ907がディスエーブルとなり、クロックドインバータ904、クロックドインバータ909がイネーブルとなり、ノードN901、ノードN902のラッチが解除されてスルーパスが選択され、入力信号INはほとんど遅延されることなく出力される。一方、AL=1の場合は、ALEはハイ固定のため、NOR902、NOR903の出力はYCLK3およびインバータ901より生成されるALEの反転信号に応じて変化する。そして、コマンドデコーダ102よりクロックYCLK3(YCLK4)が入力されるため、レジスタ912で、入力信号INは1サイクル分遅延されて出力される。
次に、図1のDRAMの動作について説明する。図10〜図13には、ACTVコマンドが入力されてからカラムコマンドが入力されるまでの時間tRCDが2サイクル、CASレイテンシが2サイクルを前提として、図10にカラムコマンド前倒しレイテンシALが0すなわちカラムコマンドをACTVコマンド入力から2サイクル後に入力する時の読み出し動作におけるタイミングチャートを、図11にALが0の時の書込み動作におけるタイミングチャートを、図12にALが1すなわちカラムコマンドをACTVコマンド入力から1サイクル後に入力する時の読み出し動作におけるタイミングチャートを、図13にALが1の時の書込み動作におけるタイミングチャートを示す。
先ず、図10を参照しながら、ALが0の時の読み出し動作を説明する。ACTVコマンドが投入されると同時に行アドレスがアドレスバッファ101から内部に取り込まれ、ACTVコマンドを受けてコマンドデコーダ102から出力されたACLKでアドレスレジスタ103にラッチされる。さらに、ACTVコマンドを受けてコマンドデコーダ102から出力されるクロックRCLKによって行アドレスが行アドレスラッチ104にラッチされる。その後、行アドレス信号は行アドレス比較回路105に入力され、行救済アドレス記憶回路106に保存されている救済アドレスと比較され、一致または不一致が判断される。一致した場合は、行プリデコーダ107は非活性となり、冗長行デコーダ108により冗長ワード線が選択される。不一致の場合は、行プリデコーダ107が活性化され、行アドレスラッチ104の出力が行プリデコーダ107でプリデコードされ、その出力が行デコーダ109でデコードされてワード線が選択される。その後、選択されたワード線に接続されているメモリセルからビット線へとデータが出力され、ビット線の電位が十分に開いたところで、センスアンプが起動されたビット線の電位差が増幅される。
図10では、AL=0の場合であるので、ACTVコマンドが投入されてから2サイクル後にREADコマンドが投入される。それと同時に列アドレスがアドレスバッファ101から内部に取り込まれ、READコマンドを受けてコマンドデコーダ102から出力されたクロックACLKでアドレスレジスタ103にラッチされる。さらに、READコマンドを受けてコマンドデコーダ102から出力されたクロックYCLK1で列アドレスが列アドレスラッチ110にラッチされる。ここで、READコマンドを受けてコマンドデコーダ102より生成されるライトレジスタイネーブル信号WREはロー固定とされるので、列アドレスは1サイクル分遅延されることなく、列アドレスラッチ110から出力される。
その後、列アドレスは列アドレスカウンタ111を通り、列アドレス比較回路112に入力されて、列救済アドレス記憶回路113に保存されている救済アドレスと比較され、一致または不一致が判断される。比較回路112からの出力は、第2タイミング調整回路125に入力されるが、AL=0でALEがロー固定とされるため、前記第2タイミング調整回路125をスルーする。また、第1タイミング調整回路124においても、ALEがロー固定であるため、列アドレスカウンタ111からの出力はスルーされ、列プリデコーダ114に入力される。比較回路112での比較の結果、一致した場合は、第2タイミング調整回路125の出力により、列プリデコーダ114は非活性となり、冗長列デコーダ115により冗長ビット線が選択される。不一致の場合は、第2タイミング調整回路125の出力により、列プリデコーダ114が活性化され、第1タイミング調整回路124の出力が、列プリデコーダ114でプリデコードされ、その出力が列デコーダ116でデコードされてビット線が選択される。
このとき、ビット線が十分に増幅されていることがビット線選択の条件である。ビット線が選択されることにより、ビット線のデータが読み出し回路117に入力される。その後、読み出し回路117でリードデータはさらに増幅され、出力レジスタ118に送られる。出力レジスタ118では、コマンドデコーダ102からのCASレイテンシ情報信号CLと出力クロック生成回路119から出力されたクロックQCLK1に応じて、出力バッファ120にデータが送られ、外部に出力される。このとき、この実施形態のダブルデータレート・シンクロナスDRAMでは、出力バッファ120に2nビットのデータが送られ、クロックQCLK1の立上りエッジで半分のnビットのデータが、またQCLK1の立下りエッジで残りのnビットのデータが出力される。
なお、前記読出し動作において、読み出し回路イネーブル信号MAEおよび出力クロック生成回路イネーブル信号OREは、READコマンドを受けてコマンドデコーダ102から出力され、図2に示される遅延制御回路126内の遅延用レジスタ201および遅延用レジスタ202を通り、それぞれMAE1、ORE1として読み出し回路117および出力クロック生成回路119に供給される。ここでは、AL=0であるので、ALEはロー固定とされるため、MAE、OREは遅延用レジスタ201および遅延用レジスタ202をスルーして、遅延されることなく遅延制御回路126からMAE1、ORE1として出力される。
ALが0の時の書込み動作は、図11に示すように、ACTVコマンドが投入されるのと同時に行アドレスが内部に取り込まれ、読み出し時と同様に行アドレスがデコードされてワード線が選択され、メモリセルのデータがビット線に出力される。そして、ビット線の電位が十分に開いたところで、センスアンプが起動され、ビット線電位が増幅される。
ここでは、AL=0であるので、ACTVコマンドが投入されてから、2サイクル後にWRITEコマンドが投入され、このコマンド投入と同時に列アドレスが内部に取り込まれる。また、WRITEコマンドを受けてコマンドデコーダ102より生成されるライトイネーブル信号WREがイネーブル状態(ハイレベル)になるため、コマンドデコーダ102より生成されるクロックYCLK1により列アドレスラッチ110で列アドレスがWRITEコマンド投入より1サイクル分遅延されて出力される。その後、読み出し時と同様に列アドレスがデコードされてビット線が選択される。このとき、AL=0のため、第1タイミング調整回路124、第2タイミング調整回路125への入力信号はスルーされる。書込みデータは、WRITEコマンドが投入されてから1サイクル(=AL+CASレイテンシ−1)で外部より取り込まれる。
この実施形態のダブルデータレート・シンクロナスDRAMでは、ライトデータは、入力バッファ121により内部に取り込まれ、WRITEコマンドを受けてコマンドデコーダ102から出力されるクロックDCLKの立上りエッジで最初のnビットのデータが、またクロックDCLKの立下りエッジで次のnビットのデータが、それぞれ入力レジスタ122にラッチされて2nビットのデータとされる。そして、取り込まれたライトデータは、書込み回路117を通してメモリセルアレイ123へと送られ、さらに選択されたビット線を通して、メモリセルへと書き込まれる。
なお、前記書込み動作では、書込み回路イネーブル信号WBEは、WRITEコマンドを受けてコマンドデコーダ102から出力され、図2に示される遅延制御回路126内の遅延用レジスタ203を通り、WBE1として書込み回路117に入力される。このとき、AL=0でALEはロー固定とされるため、WBEは遅延用レジスタ203をスルーして、遅延制御回路126からWBE1として出力される。
次に、AL=1すなわちACTVコマンドが投入されてから、1サイクル後にREADコマンドが投入される時の読み出し動作を説明する。図12に示すように、ACTVコマンドが投入されるのと同時に行アドレスが内部に取り込まれ、AL=0時と同様に行アドレスがデコードされてワード線が選択され、メモリセルのデータがビット線に出力される。十分にビット線が開いたところで、センスアンプが起動され、ビット線の電位差が増幅される。
そして、ACTVコマンドが投入されてから1サイクル後にREADコマンドが投入されると、それと同時に列アドレスがアドレスバッファ101により内部に取り込まれ、READコマンドを受けてコマンドデコーダ102から出力されるクロックACLKによりアドレスレジスタ103にラッチされる。さらに、READコマンドを受けてコマンドデコーダ102から出力されるクロックYCLK1で列アドレスが列アドレスラッチ110にラッチされる。また、読出し時には、READコマンドを受けてコマンドデコーダ102より生成されるライトレジスタイネーブル信号WREはロー固定なので、列アドレスは1サイクル分遅延されることなく、列アドレスラッチ110から出力される。
その後、列アドレスは列アドレスカウンタ111を通り、列アドレス比較回路112に入力され、列救済アドレス記憶回路113に保存されている救済アドレスと比較され、一致または不一致が判断される。ここで、AL=1の場合、ALEはハイレベルに固定されるので、比較回路112からの出力は、第2タイミング調整回路125でラッチされ、列アドレスカウンタ111からの出力は第1タイミング調整回路124でラッチされる。
そして、READコマンドが投入されてから1サイクル後のクロックを受けて、コマンドデコーダ102よりクロックYCLK3、YCLK4が生成され、それぞれが第1タイミング調整回路124、第2タイミング調整回路125に入力されるため、前記YCLK3、YLCK4のそれぞれの立上りエッジを受けて、第1タイミング調整回路124にラッチされていた列アドレスカウンタ111の出力、および第2タイミング調整回路125にラッチされていた比較回路112の出力がそれぞれ出力される。これにより、前記列アドレスカウンタ111の出力、および比較回路112の出力は、1サイクル分遅延されたことになる。
その後、比較回路112での比較の結果、一致した場合は、第2タイミング調整回路125の出力により、列プリデコーダ114は非活性となり、冗長列デコーダ115により冗長ビット線が選択される。一方、不一致の場合は、タイミング調整回路125の出力により、列プリデコーダ114が活性化され、第1タイミング調整回路124の出力が、列プリデコーダ114でプリデコードされ、その出力が列デコーダ116でデコードされてビット線が選択される。このとき、列アドレスパスには既に1サイクル分の遅延が含まれているので、ビット線電位は十分に増幅されており、正しいデータを読み出せることになる。その後、ビット線が選択されることにより、ビット線のデータが読み出し回路117に入力され、前記読み出し回路117にてデータはさらに増幅され、出力レジスタ118に送られる。
出力レジスタ118では、コマンドデコーダ102からのCASレイテンシ情報信号CLと出力クロック生成回路119から生成されたクロックQCLK1に応じて、出力バッファ120にデータが送られ、外部に出力される。このとき、図11で説明したのと同様に、ダブルデータレート・シンクロナスDRAMではクロックの立上りエッジと立下りエッジの両方のタイミングでデータが出力される。
なお、読出し時には、読み出し回路イネーブル信号MAEおよび出力クロック生成回路イネーブル信号OREは、READコマンドを受けてコマンドデコーダ102から出力され、図2に示される遅延制御回路126内の遅延用レジスタ201および202を通り、それぞれMAE1、ORE1として読み出し回路117および出力クロック生成回路119に入力されるが、AL=1でALEはハイレベルに固定されるため、MAE、OREは遅延用レジスタ201および202内で1サイクル分遅延され、MAE1、ORE1として出力される。
ALが1の時の書込み動作は、図13に示されているように、先ずACTVコマンドが投入されて、それと同時に行アドレスが内部に取り込まれ、読み出し時と同様に行アドレスがデコードされてワード線が選択され、メモリセルのデータがビット線に出力される。ある程度ビット線の電位差が開いたところで、センスアンプが起動され、ビット線の電位差が増幅される。
そして、ACTVコマンドが投入されてから、1サイクル後にWRITEコマンドが投入されると、コマンド投入と同時に列アドレスが内部に取り込まれる。次に、WRITEコマンドを受けてコマンドデコーダ102より生成されるライトレジスタイネーブル信号WREがイネーブルになり、コマンドデコーダ102より生成されるクロックBCLKにより列アドレスラッチ110で列アドレスが1サイクル分遅延されて出力される。その後、読み出し時と同様に列アドレスがデコードされてビット線が選択される。このとき、AL=1によりALEはハイレベルに固定されるため、第1タイミング調整回路124と第2タイミング調整回路125に入力された信号は、それぞれ第1タイミング調整回路124、第2タイミング調整回路125にて1サイクル分遅延されてから出力される。
よって、AL=0の時に比べて、WRITEコマンドが投入されてからビット線が選択されるまでの遅延時間は1サイクル分遅延される。その結果、書込みデータは、WRITEコマンドが投入されてから2サイクル(=AL+CASレイテンシ−1)で外部より取り込むことができる。このとき、ダブルデータレート・シンクロナスDRAMではクロックの立上りエッジと立下りエッジの両方でデータが取り込まれる。この書込みデータは、入力バッファ121により内部に取り込まれ、WRITEコマンドが投入されてから1サイクル後のクロックを受けてコマンドデコーダ102から出力されるクロックDCLKにより入力レジスタ122にラッチされる。
しかして、前記のように、AL=1でWRITEコマンドがACTVコマンド投入の次のサイクルでWRITEコマンド投入されても、クロックDCLKが生成されるまでの遅延時間が、AL=0時に対して1サイクル分遅延されているので、問題無く前記書込みデータを取り込める。その後、前記書込みデータは、書込み回路117を通してメモリセルアレイ123へと送られ、さらに選択されたビット線に通して、メモリセルへと書き込まれる。また、書込み回路イネーブル信号WBEは、WRITEコマンドを受けてコマンドデコーダ102から出力され、図2に示される遅延制御回路126内の遅延用レジスタ203を通り、WBE1として書込み回路117に入力されるが、AL=1でALEはハイレベルに固定されるため、WBEは遅延用レジスタ203内で1サイクル分遅延され、WBE1として出力される。そのため、WRITEコマンド投入が1サイクル早くても問題無くメモリセルへのデータの書込みを行なえることとなる。
図14(A)に、カラムコマンド前倒しレイテンシALが0の時の読み出し動作におけるロー系およびカラム系の信号のタイミングを示す。図14において、ACTVコマンドが投入されてからビット線の電位が十分増幅されるまでの所要時間をt0、READコマンドが投入されてからYCLK1によりカラムアドレスが列アドレスラッチ110に取り込まれるまでの所要時間をt1、カラムアドレスがラッチされてから列プリデコーダ114に入力されるまでの所要時間をt2、カラムアドレスがラッチされてから比較回路112から比較結果が出力されるまでの所要時間をt2'、比較回路112の出力からデコーダ115,116でアドレスがデコードされてビット線が選択されるまでの所要時間をt3、ビット線の選択から読み出し回路117で増幅された信号が出力されるまでの所要時間をt4、読み出し回路117の出力から出力レジスタ118に入力されるまでの所要時間をt5、出力レジスタ118への入力から出力バッファ120によるデータ出力までの所要時間をt6とする。同図から分かるように、ACTVコマンドが投入されてからビット線の電位が十分増幅されるまで3サイクル要するとき、ACTVコマンドが投入されてから2サイクル後にREADコマンドが投入された場合、ビット線増幅完了時間(t0)とビット線選択時間(2tck+t1+t2'+t3)は同一である。
一方、図14(B)にALが1の時の読み出し動作におけるタイミングを示す。この場合、ACTVコマンドが投入されてから1サイクル後にREADコマンドが投入され、それから1サイクル後にYCLK3、YCLK4の生成が開始されt21時間後にYCLK3、YCLK4が出力され、時間t22後にタイミング調整回路124、125より列アドレスデータおよび比較回路112の出力がラッチされ、さらに時間t3後にビット線が選択される。このとき、YCLK3、YCLK4の生成およびタイミング調整回路124、125のラッチが終了するまでの所要時間(t21+t22)を、前記AL=0のときのREADコマンドが投入されてからカラムアドレスのラッチおよび比較回路112から比較結果が出力されるまでの所要時間(t1+t2')と同じ、つまり(t21+t22)=(t1+t2')とすることで、ACTVコマンドが投入されてから、ビット線が選択されるまでの所要時間は、AL=0のときもAL=1のときもほとんど同一とすることができるため、選択されたメモリセルのデータを正しく読み出せる。
図15(A)に、ビット線増幅完了までの時間が相対的に短い場合において、AL=0時の読み出し動作におけるロー系およびカラム系のタイミングを示す。図15(A)のタイミングでは、ACTVコマンドが投入されてからビット線が十分増幅されるまでの所要時間t0'は、ACTVコマンドが投入されてからビット線が選択されるまでの所要時間(2tck+t1+t2'+t3)よりも短い。このような場合、READコマンド投入後データが出力されるまでの所要時間(t1+t2+t3+t4+t5+t6)が2サイクル(2tck)以内に終了するようにサイクルタイムが決定される。つまり、サイクルタイム(tck)は、カラム系パスにより律速されることとなる。最適なタイミングは、ビット線増幅完了時点(t0'の後端)とカラムデコード終了時点(t3の後端)とが一致する場合であるが、図15(A)においては、ビット線増幅完了が先に終了するため破線t0で示す時間が無駄になることが分かる。なお、ビット線増幅完了までの時間が相対的に短くなる現象は、プロセスばらつきによって製品間で生じるものである。
前記のようにビット線増幅完了までの時間が相対的に短くなっている製品においては、前記実施形態のように列プリデコーダ114の前段に列アドレスを遅延可能なレジスタを挿入して、READコマンドを1サイクル前倒しで投入するAL=1を実現することで、図15(B)に示すように、カラムアドレスのラッチ(t1期間)および比較回路112の比較(t2')を第2サイクルにて行ない、YCLK3、4の生成からカラムアドレスのデコードまでを第3サイクルにて行なうことができるようになる。図15(B)において、t21'はクロックからYCLK3、4が生成されるまでの所要時間、t22'はタイミング調整回路124,125により遅延されたアドレスの出力が確定するまでの所要時間であり、(t21'+t22')は(t1+t2')よりも短いことが必要条件であるが、これは回路的に容易に実現できる。
この結果、AL=1の時はビット線が増幅される時間に合わせてビット線を選択できるため、ビット線増幅完了までの時間の差を全所要サイクルの「4」で割った(t0−t0')/4だけ、サイクル時間を短縮することができる。図14(B)のようなタイミング制御に従うと、YCLK3、4の生成からデータの出力までの所要時間(t21'+t22'+t3+t4+t5+t6)が2サイクルで終われば良いので、ビット線増幅完了までの所要時間がもっと短くなれば、原理的には、(t1+t2')または(t21'+t22'+t3+t4+t5+t6)/2のどちらか遅いほうの時間でサイクルタイムTckが決まり、AL=0の時に比べ、{(t1+t2'+t3+t4+t5+t6)/2−(t1+t2)}または{(t1+t2'+t3+t4+t5+t6)/2−(t21'+t22'+t3+t4+t5+t6)/2}だけサイクルタイムを短縮することができる。
次に、図1で構成されるダブルデータレート・シンクロナスDRAMにおける前記カラムコマンド前倒しレイテンシALの設定の仕方、およびALが設定されたときの動作について説明する。
図1の実施形態では、モードレジスタセット(MRS)コマンドにより、CASレイテンシCLがCL設定レジスタ131に設定され、エクステンディッドモードレジスタセット(EMRS)コマンドにより、カラムコマンド前倒しレイテンシALがコマンドデコーダ内のAL設定レジスタ132に設定される。
図16にMRSコマンドおよびEMRSコマンドの具体例を示す。この実施形態においては、CPUなどの外部装置から供給される制御信号CKEがハイレベル、/CS,/RAS,/CAS,/WEがロウレベル、バンクアドレスBA1,BA0(もしくはアドレスA14,A13)およびアドレスの所定ビットAP(例えばA10)がローレベルのとき、MRSコマンドが発行され、アドレスA8〜A0の値に応じて各種の値が設定される。また、CKE・BA0(A14)がハイレベル、/CS,/RAS,/WE,BA1(A13),AP(A10)がローレベルのとき、EMRSコマンドが発行され、アドレスの値に応じて各種の値が設定される。
また、CKE,/RAS,/WEがハイレベル、/CS,/CAS,AP(A10)がロウレベルのときは読出しを指令するREADコマンドが、CKE,/RASがハイレベル、/CS,/CAS,/WE,AP(A10)がロウレベルのときは書込みを指令するWRITEコマンドが、CKE,/CAS,/WEがハイレベル、/CS,/RASがロウレベルのときは動作開始すなわちローアドレスの取込みとバンク(メモリアレイ)の活性化を指令するACTVコマンドが、それぞれ発行される。
図17(A)にはMRSコマンドによるCASレイテンシの設定におけるアドレスと設定値との関係の一例が示されている。同図に示すように、この実施形態のDRAMにおいては、アドレスA0〜A2でバースト長(BL)が設定され、A3でバーストタイプ(インターリーブまたはシーケンシャル)が設定され、A4〜A6でCASレイテンシが設定され、A8で出力クロック生成回路119のリセットが設定される。CASレイテンシに関しては、例えば(A4、A5、A6)=(0、1、0)のときはレイテンシが「2」、(A4、A5、A6)=(1、1、0)のときはレイテンシが「3」に設定される。
図17(B)にはEMRSコマンドによるカラムコマンド前倒しレイテンシの設定におけるアドレスと設定値との関係の一例が示されている。同図に示すように、この実施形態のDRAMにおいては、A0で出力クロック生成回路119の活性/非活性が設定され、A1〜A3でカラムコマンド前倒しレイテンシALが設定される。カラムコマンド前倒しレイテンシALに関しては、例えば(A1、A2、A3)=(0、0、0)のときにレイテンシが「0」、(A1、A2、A3)=(1、0、0)のときにレイテンシが「1」、そして(A1、A2、A3)=(0、1、0)のときにレイテンシが「2」に設定される。
図18は、本発明を適用したダブルデータレート・シンクロナスDRAMの第2の実施形態を示す。この第2の実施形態は、第1の実施形態(図1)において列プリデコーダ114の前段に設けられているタイミング調整回路124,125を、列アドレスラッチ110と列アドレスカウンタ111との間に224として設けたものである。他の構成は第1の実施形態と同様であるので、同一の回路ブロックには同一の符号を付して重複した説明は省略する。
図19には、tRCDが2サイクル、CASレイテンシが2サイクルを前提として、ALレイテンシが1の時の読み出し動作におけるタイミングチャートを示す。図19は第1の実施形態におけるタイミングチャートを示す図12に対応する。
図12と比較すると明らかなように、この第2実施形態のDRAMでは、タイミング調整回路224が列アドレスカウンタ111の前段にあるため、列アドレスカウンタ111の出力は第1の実施形態の場合よりも遅いが、列デコーダ116または冗長列デコーダ115への入力タイミングは第1の実施形態とほぼ同じになる。その結果、第1の実施形態と同じような作用効果が得られる。
第2の実施形態のDRAMにおけるAL=0の時の読み出し動作および書込み動作については、第1の実施形態における読み出し動作(図10)および書込み動作(図11)より容易に推測できる。また、AL=1の時の書込み動作についても、前記読み出し動作(図19)および第1の実施形態における書込み動作(図13)より容易に推測できるため、ここでは説明を省略する。
この第2の実施形態は、第1の実施形態に比べてタイミング調整回路の総ビット数が半分以下で済むという利点がある。すなわち、この第2の実施形態におけるタイミング調整回路224のビット数は第1の実施形態における第1タイミング調整回路124と同じ例えば9×4=36ビットのようなビット数であり、予備メモリ列の本数(例えば32×4=128本)と同じビット数を有する第2タイミング調整回路125は不用である。ただし、タイミング調整回路224の位置が第1実施形態に比べて前段側にあるため、若干サイクルタイム短縮の効果が小さくなる。
すなわち、第1の実施形態のタイミングを示す図14(B)において、第2サイクルにあるREADコマンドが投入されてからYCLK1によりカラムアドレスが列アドレスラッチ110に取り込まれるまでの所要時間t1は、第2の実施形態においても第2サイクルで実行できるが、第1の実施形態においては第2サイクルにあるカラムアドレスが列プリデコーダ114に入力されるまでの所要時間t2は、この第2実施形態では、第3サイクルに入ることとなるため、第1実施形態に比べてサイクルタイム短縮の効果が小さくなる。
図20は、本発明を適用したダブルデータレート・シンクロナスDRAMの第3の実施形態を示す。この第3の実施形態は、第1の実施形態(図1)において列プリデコーダ114の前段に設けられているタイミング調整回路124,125を、列アドレスカウンタ111と列プリデコーダ114との間に324として設けたものである。他の構成は第1の実施形態と同様であるので、同一の回路ブロックには同一の符号を付して重複した説明は省略する。
図21には、tRCDが2サイクル、CASレイテンシが2サイクルを前提として、ALレイテンシが1の時の読み出し動作におけるタイミングチャートを示す。図21は第1の実施形態におけるタイミングチャートを示す図12に対応する。
図12と比較すると明らかなように、この第3実施形態のDRAMでは、タイミング調整回路324が列アドレス比較回路112の前段にあるため、列アドレス比較回路112の出力は第1の実施形態の場合よりも遅いが、列デコーダ116または冗長列デコーダ115への入力タイミングは第1の実施形態とほぼ同じになる。その結果、第1の実施形態と同じような作用効果が得られる。
第3の実施形態のDRAMにおけるAL=0の時の読み出し動作および書込み動作については、第1の実施形態における読み出し動作(図10)および書込み動作(図11)より容易に推測できる。また、AL=1の時の書込み動作についても、前記読み出し動作(図21)および第1の実施形態における書込み動作(図13)より容易に推測できるため、ここでは説明を省略する。
本実施形態では、図1に示された第1の実施形態に比べると、AL=1の時に効率的な時間配分はできない。さらに、ACTVコマンドからビット線が増幅されるまでの時間が短縮されて、AL=0時にカラム系パスが律速する場合でも、サイクルタイムの短縮の効果は小さい。但し、タイミング調整回路の数を比較回路出力の数の分だけ減らすことができ、チップサイズ低減に寄与できる。また、第2の実施形態に比べると、AL=1の時に効率的な時間配分ができ、ACTVコマンドからビット線が増幅されるまでの時間が短縮されて、AL=0時にカラム系パスが律速する場合にサイクルタイムを短縮できる。タイミング調整回路324のビット数については第2実施形態の場合と同じである。
図22は、本発明を適用したダブルデータレート・シンクロナスDRAMの第4の実施形態を示す。この第4の実施形態は、第1の実施形態(図1)において列プリデコーダ114の前段に設けられているタイミング調整回路124,125を、列プリデコーダ114の後段に424,425として設けたものである。他の構成は第1の実施形態と同様であるので、同一の回路ブロックには同一の符号を付して重複した説明は省略する。
図23には、tRCDが2サイクル、CASレイテンシが2サイクルを前提として、ALレイテンシが1の時の読み出し動作におけるタイミングチャートを示す。図23は第1の実施形態におけるタイミングチャートを示す図12に対応する。
図12と比較すると明らかなように、この第4実施形態のDRAMでは、タイミング調整回路424,425が列プリデコーダ114の後段にあるが、図23に示されている信号のタイミングに関しては第1の実施形態の図12のタイミングチャートと全く同じである。その結果、第1の実施形態と同じような作用効果が得られる。
第4の実施形態のDRAMにおけるAL=0の時の読み出し動作および書込み動作については、第1の実施形態における読み出し動作(図10)および書込み動作(図11)より容易に推測できる。また、AL=1の時の書込み動作についても、前記読み出し動作(図23)および第1の実施形態における書込み動作(図13)より容易に推測できるため、ここでは説明を省略する。
本実施形態では、図1に示された第1の実施形態と同様に、AL=1の時に効率的な時間配分ができる。さらに、ACTVコマンドからビット線が増幅されるまでの時間が短縮されて、AL=0の時にカラム系パスが律速する場合、AL=1以上ではパイプライン化の効果によりサイクルタイムを短縮できる。但し、プリデコードされた列アドレス分と比較回路出力数分のタイミング調整回路を持っているため、 タイミング調整回路424,425のビット数は第1の実施形態よりも多くなる。
図24は、本発明を適用したダブルデータレート・シンクロナスDRAMの第5の実施形態を示す。この第5の実施形態は、第1の実施形態(図1)において列プリデコーダ114の前段に設けられているタイミング調整回路124,125に加え、第3実施形態と同様に列アドレスカウンタ111と列アドレス比較回路112との間にもタイミング調整回路524を設けたものである。他の構成は第1の実施形態と同様であるので、同一の回路ブロックには同一の符号を付して重複した説明は省略する。
図25には、tRCDが3サイクル、CASレイテンシが2サイクルを前提として、ALレイテンシが2の時の読み出し動作におけるタイミングチャートを示す。
図25に示されているように、AL=2の時の読み出し動作では、ACTVコマンドが投入されるのと同時に行アドレスが内部に取り込まれ、行アドレスがデコードされてワード線が選択され、メモリセルのデータがビット線に出力される。十分にビット線が開いたところで、センスアンプが起動され、ビット線電位が増幅される。
tRCDが3サイクルでAL=2の場合、ACTVコマンドが投入されてから、1サイクル後にREADコマンドが投入される。それと同時に列アドレスがアドレスバッファ101から内部に取り込まれ、READコマンドを受けてコマンドデコーダ102から出力されたACLKでアドレスレジスタ103にラッチされる。さらに、READコマンドを受けてコマンドデコーダ102から出力されたYCLK1で列アドレスが列アドレスラッチ110にラッチされる。READコマンドを受けてコマンドデコーダ102より生成されるライトレジスタイネーブル信号WREはロー固定なので、列アドレスは1サイクル分遅延されることなく、列アドレスラッチ110から出力される。
その後、列アドレスは、列アドレスカウンタ111を通り、タイミング調整回路524に入力され、ラッチされる。READコマンドが投入されてから1サイクル後のクロックを受けて、コマンドデコーダ102よりYCLK5が生成され、タイミング調整回路524に入力される。前記YCLK5の立上りエッジを受けて、タイミング調整回路524にラッチされていた列アドレスが出力される。これにより、前記列アドレスは1サイクル分遅延されたことになる。その後、列アドレス比較回路112に入力され、列救済アドレス記憶回路113に保存されている救済アドレスと比較され、一致または不一致が判断される。AL=2の場合、ALE1はハイ固定なので、比較回路112からの出力は、タイミング調整回路125でラッチされ、タイミング調整回路524からの出力(前記列アドレスカウンタ111の出力)はタイミング調整回路124でラッチされる。
そして、READコマンドが投入されてから2サイクル後のクロックを受けて、コマンドデコーダ102よりYCLK3、YCLK4が生成され、それぞれがタイミング調整回路124、125に入力される。前記YCLK3、YLCK4のそれぞれの立上りエッジを受けて、タイミング調整回路124にラッチされていた列アドレスカウンタ111の出力、およびタイミング調整回路125にラッチされていた比較回路112の出力が出力される。これにより、前記列アドレスカウンタ111の出力、および比較回路112の出力は、1サイクル分遅延されたことになる。
その後、比較回路112での比較の結果、一致した場合は、タイミング調整回路125の出力により、列プリデコーダ114は非活性となり、冗長列デコーダ115により冗長ビット線が選択される。不一致の場合は、タイミング調整回路124の出力により、列プリデコーダ114が活性化され、タイミング調整回路124の出力が、列プリデコーダ114でプリデコードされ、その出力が列デコーダ116でデコードされてビット線が選択される。このとき、列アドレスパスには既に2サイクル分の遅延が含まれているので、ビット線は十分に増幅されており、正しいデータを読み出せることになる。その後、ビット線が選択されることにより、ビット線のデータが読み出し回路117に入力され、前記読み出し回路117にて再度データは増幅され、出力レジスタ118に送られる。
出力レジスタ118では、コマンドデコーダ102からのCASレイテンシ情報信号CLと出力クロック生成回路119から生成されたQCLK1に応じて、出力バッファ120にデータが送られ、外部に出力される。このとき、ダブルデータレート・シンクロナスDRAMではクロックの立上りエッジと立下りエッジの両エッジよりデータが出力される。読み出し回路イネーブル信号MAEおよび出力クロック生成回路イネーブル信号OREは、READコマンドを受けてコマンドデコーダ102から出力され、図26に示される遅延制御回路126内の第1遅延用レジスタ3201および第2遅延用レジスタ3202と、第3遅延用レジスタ3211および第4遅延用レジスタ3212とを通り、それぞれMAE1、ORE1として読み出し回路117および出力クロック生成回路119に入力される。AL=2の場合(ALE1、ALE2はハイ固定のため)、MAE、OREはそれぞれ第1遅延用レジスタ3201および第2遅延用レジスタ3202と、第3遅延用レジスタ3211および第4遅延用レジスタ3212内で2サイクル分遅延され、MAE1、ORE1として出力される。
本実施形態では、図1に示された第1の実施形態と同様に、AL=2の時に効率的な時間配分が実現できる。さらに、ACTVコマンドからビット線が増幅されるまでの時間が短縮されて、AL=0時にカラム系パスが律速する場合、AL=1以上ではパイプライン化の効果によりサイクルタイムを短縮できる。ただし、回路規模は第1実施形態に比べて若干大きくなる。
図27は、本発明を適用したダブルデータレート・シンクロナスDRAMの第6の実施形態を示す。この実施形態は、第5の実施形態(図24)において、列アドレスカウンタ111の直後に設けられているタイミング調整回路524を、列アドレスラッチ110と列アドレスカウンタ111との間に設けたものである。また、この第6の実施形態のダブルデータレート・シンクロナスDRAMでは、読み出し・書込みデータだけではなく、コマンド入力もダブルデータレートとしている。
図28には、tRCDが2サイクル、CASレイテンシが2サイクルを前提として、ALレイテンシが1.5の時の読み出し動作におけるタイミングチャートを示す。
図28に示されているように、AL=1.5の時の読み出し動作では、ACTVコマンドが投入されるのと同時に行アドレスが内部に取り込まれ、行アドレスがデコードされてワード線が選択され、メモリセルのデータがビット線に出力される。十分にビット線が開いたところで、センスアンプが起動され、ビット線電位が増幅される。
AL=1.5の場合、ACTVコマンドが投入されてから、0.5サイクル後にREADコマンドが投入される。それと同時に列アドレスがアドレスバッファ101から内部に取り込まれ、READコマンドを受けてコマンドデコーダ102から出力されたACLKでアドレスレジスタ103にラッチされる。さらに、READコマンドを受けてコマンドデコーダ102から出力されたYCLK1で列アドレスが列アドレスラッチ110にラッチされる。このとき、READコマンドを受けてコマンドデコーダ102より生成されるライトレジスタイネーブル信号WREはロー固定なので、列アドレスは1サイクル分遅延されることなく、列アドレスラッチ110から出力され、タイミング調整回路524にラッチされる。
そして、READコマンドが投入されてから1サイクル後のクロックを受けて、コマンドデコーダ102よりYCLK5が生成され、タイミング調整回路524に入力される。前記YCLK5の立上りエッジを受けて、タイミング調整回路524にラッチされていた列アドレスが出力される。これにより、前記列アドレスは0.5サイクル分遅延されたことになる。その後、列アドレスは、列アドレス比較回路112に入力され、列救済アドレス記憶回路113に保存されている救済アドレスと比較され、一致または不一致が判断される。AL=1.5より、ALE1はハイ固定なので、比較回路112からの出力は、タイミング調整回路125でラッチされ、また、列アドレスカウンタ111からの出力はタイミング調整回路124でラッチされる。
READコマンドが投入されてから2サイクル後のクロックを受けて、コマンドデコーダ102よりYCLK3、YCLK4が生成され、それぞれがタイミング調整回路124、125に入力される。前記YCLK3、YLCK4のそれぞれの立上りエッジを受けて、タイミング調整回路124にラッチされていた列アドレスカウンタ11の出力、およびタイミング調整回路125にラッチされていた比較回路112の出力が出力される。これにより、前記列アドレスカウンタ111の出力、および比較回路112の出力は、1サイクル分遅延されたことになる。
その後、比較回路112での比較の結果、一致した場合は、タイミング調整回路125の出力により、列プリデコーダ114は非活性となり、冗長列デコーダ115により冗長ビット線が選択される。不一致の場合は、タイミング調整回路124の出力により、列プリデコーダ114が活性化され、タイミング調整回路124の出力が、列プリデコーダ114でプリデコードされ、その出力が列デコーダ116でデコードされてビット線が選択される。このとき、列アドレス系の信号パスには既に1.5サイクル分の遅延が含まれているので、ビット線は十分に増幅されており、正しいデータを読み出せることになる。その後、ビット線が選択されることにより、ビット線のデータが読み出し回路117に入力され、前記読み出し回路117にてデータはさらに増幅され、出力レジスタ118に送られ、出力バッファ120によりチップ外部へ出力される。
本実施形態においては、第5の実施形態の効果に加えて読み出し・書込みデータだけではなく、コマンド入力もダブルデータレートになった場合にも対応できるという利点がある。
以上説明したように、前記実施形態のダブルデータレート・シンクロナスDRAMは、カラムコマンドの投入タイミングが前倒しされても、センスアンプで読み出しデータが増幅される前に、ビット線が選択されることはないため、正しいデータを読み出すことができる。さらに、書き込み回路に正しい書き込みデータが入力された後に、ビット線が選択されることになり、正しいデータを書き込むことができる。
また、カラムコマンド前倒しレイテンシが変更されても、センスアンプで読み出しデータが増幅される前に、ビット線が選択されることはないため、正しいデータを読み出すことができる。さらに、書き込み回路に正しい書き込みデータが入力される前に、ビット線が選択されることはないため、正しいデータを書き込むことができる。
さらに、アクティブコマンド投入からビット線が増幅されるまでの時間が短縮され、カラムコマンド前倒しレイテンシAL=0でカラム系パスがサイクルタイムを律速する場合に、AL=1ではパイプライン化の効果によりサイクルタイムを短縮してデータ転送速度を高速化できる。
以上本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、第1の実施形態(図1)、第2の実施形態(図18)、第4の実施形態(図22)、第5の実施形態(図24)および第6の実施形態(図27)においては、それぞれ列アドレスカウンタ111を省略するようにしても良い。また、上記実施形態においては、いずれもアクティブコマンドからカラムコマンドの投入までのサイクルtRCDが2サイクルでカラムコマンド前倒しレイテンシが「0」または「1」や「1.5」に設定される場合について説明したが、例えばtRCDが3サイクル以上の場合にはカラムコマンド前倒しレイテンシを「2」以上に設定することも可能である。このような場合としては、例えばアドレスを3回以上に分けて時分割でチップ内部に取り込むように構成されるメモリなどが考えられる。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるダブルデータレート・シンクロナスDRAMに適用下場合について説明したが、本発明はそれに限定されるものでなく、半導体メモリ特にクロック同期型半導体メモリ一般に利用することができる。