以下、この発明の実施の形態を説明する。この説明において、全図に渡り、同一の部分については、同一の参照符号を付し、重複する説明は避けることにする。
図1は、この発明の一実施の形態に係るSDRAMの概略図である。
図1に示すように、この発明の一実施の形態に係るSDRAMは、メモリセルアレイとセンスアンプ(カラムゲートを含む)101、外部から供給される制御クロックCLKの立ち上がりエッジで、外部からのアドレスAiを取り込み、アドレスAiをラッチ、そして出力するラッチ型ゲート(カラムアドレスバッファ)103、ラッチ型ゲート103から出力されたアドレスAiをデコードし、メモリセルアレイのカラムを選択する信号を出力するアドレスデコーダ(カラムデコーダ)105、アドレスデコーダ105の出力端に接続され、制御信号P2に応答して、アドレスデコーダ105の出力をラッチ、そして出力するラッチ型ゲート107、メモリセルアレイのビット線に接続されているローカルデータバス(DQ線)LDB、ローカルデータバスLDBに設けられた導通型ゲート111、ローカルデータバスLDBとグローバルデータバス(RWD線)GDBとの間に設けられ、ローカルデータバスLDBに読み出されたデータをセンス増幅してグローバルデータバスGDBに伝えるデータバスセンス回路(DQバッファ)113、グローバルデータバスGDBに接続され、グローバルデータバスGDBに現れたデータを格納し、そして出力する出力レジスタ109をそれぞれ、基本的なブロックとして含んでいる。
図1に示すSDRAMは、図32および図33に示されたSDRAMとほぼ同様のブロックを有し、SDRAM全体のシステムとしては、レジスタ方式に準じているが、データ転送ステージ(パイプラインステージ)を動かすタイミングが、従来のSDRAMと異なっている。
特に、図1に示すSDRAMは、第1パイプラインステージS1と第2パイプラインステージS2とが特別な場合にのみ区切られる。特別な場合以外には、第1パイプラインステージS1と第2パイプラインステージS2とが、互いにスルーされ、1つのパイプラインステージとされる。ラッチ型ゲート107は、特別な場合にのみ、第1パイプラインステージS1と第2パイプラインステージS2とを区切るように動作し、特別な場合以外には、第1パイプラインステージS1と第2パイプラインステージS2とをスルーするように動作する。ラッチ型ゲート107は、制御信号P2によって制御される。
次に、図1に示すSDRAMの動作を説明する。
図2(a)は、図1に示すSDRAMの動作を示す図で、特にパイプラインステージ内の、データの転送状態を示す。
図2(a)に示すように、矢印15により指示されるクロックのアップエッジを始点とするサイクルから、バーストアクセスが始まるとし、矢印17により指示されるクロックのアップエッジを始点とするサイクルから、新たなアドレスが設定される、とする。なお、矢印17を始点とするサイクルは、図34に示したレジスタ方式では、新たなアドレスの設定が禁止されていたサイクルである。
図1に示すSDRAMは、従来、新たなアドレスの設定が禁止されていたサイクル(以下、禁止サイクルという)に、新たなアドレスの設定があると、制御信号P2が出力され、ラッチ型ゲート107が活性化し、第1パイプラインステージS1と第2パイプラインステージS2とを区切る。これにより、装置の中のパイプラインステージは、ステージS1、S2、S3の3つになる。これら3つのステージS1、S2、S3は、互いに独立して動作する。3つのステージS1、S2、S3を、互いに独立して動作させることで、新たなアドレスが設定される以前のデータは、新たなアドレスによるデータによって、破壊されることがない。しかも、新たなアドレスが設定される以前のデータを引き続き、装置の中を転送させていくことができる。そして、新たなアドレスによるデータは、新たなアドレスの設定以前のデータを出力した後、出力レジスタ109から、絶えまなく出力される。
このようなデータ出力のスピードは、パイプライン方式のSDRAMと同じである。図2(a)中の実線によって区切られている2サイクルは、図1に示すSDRAMの当初の動作タイミングを示しており、新たなアドレスの設定がなされた後の動作タイミングは、当初の動作タイミングから1サイクルずれて、点線によって区切られている2サイクルの動作となる。
図3は、図1に示すSDRAMの回路図である。
図3に示すように、ラッチ型ゲート103は、制御信号P1に応答して、アドレスAiを取り込み、ラッチする。取り込まれたアドレスは、アドレスデコーダ105によってデコードされ、隣り合う二つのカラム選択線CSLが選択される。アドレスデコーダ105から出力されるカラム選択信号は、アドレスを取り込んだサイクルの、次のサイクルで、ラッチ型ゲート107から出力できるようになっている。ただし、ラッチ型ゲート107が活性化するのは、上述の通り、特定のサイクル、即ち、禁止サイクルで、新たなアドレスの設定があったときのみである。禁止サイクル以外のサイクルでは、カラム選択信号は、ラッチ型ゲート107をスルーする。隣接した二つのカラム選択線CSLの電位が立ち上がると、既にメモリセルから読み出され、センスアンプに保持されていたデータが、4対のローカルデータバスLDBに出てくる。図3に示すSDRAMでは、データをローカルデータバスLDBに出すまでに、アドレスが設定されたサイクルから数えて、2つのサイクルが利用される。
データがローカルデータバスLDBに出された後、4対のローカルデータバスLDBの中から2対を選択する。さらに選択された2対のローカルデータバスLDBのデータをそれぞれ増幅し、2対のグローバルデータバスGDBへと転送する。この動作には、選択機能付きのデータバスセンス回路113が使用される。グローバルデータバスGDBに転送されたデータは、さらに出力レジスタ109に転送される。このとき、データは、シリアルアクセスのアドレッシングに合うように設定されるスクランブラ115を経て出力レジスタ109へ転送され、出力レジスタ109が含む2つのレジスタR1、R2(もしくはレジスタR3、R4)に、2ビットずつ格納される。レジスタR1、R2(もしくはレジスタR3、R4)に格納されたデータは、1ビットずつ出力されていく。このようにデータがローカルデータバスLDBに出されてから出力レジスタ109から出力されるまでには、アドレスが設定されたサイクルから数えて、3つめと4つめの2つのサイクルが利用される。
図3に示すSDRAMでは、このような動作を、図2(a)に示したように、2サイクルごとに、周期的に繰り返す。この2サイクルごとの周期から外れるサイクル(つまり、禁止サイクル)に、新たなアドレスの設定があった場合には、制御信号P2により、ラッチ型ゲート107を活性化し、ローカルデータバスLDBに、新たなアドレスが設定される以前のデータを出しつつ、新たに設定されたアドレスのデコードを行なう。
このようにSDRAMを動作させることで、上述した通り、新たなアドレスが設定される以前のデータが、新たなアドレスによるデータによって破壊されなくなる。つまり、従来、新しいアドレスの設定が禁止されていたサイクルでも、新たなアドレスを設定できるようになる。このため、アドレスを入力するタイミングに、制限が少なくなる。
図2(b)は、一実施の形態に係るSDRAMのデータの流れ、パイプライン方式SDRAMのデータの流れ、およびレジスタ方式SDRAMのデータの流れをそれぞれ比較して示した図である。
図2(b)に示すように、一実施の形態に係るSDRAMでは、従来のパイプライン方式SDRAMおよび従来のレジスタ方式SDRAMで、新しいアドレスの設定が禁止されていたサイクルでも、新しいアドレスの設定が可能である。
なお、図2(b)では、バースト長を4とした例が示されている。
また、一実施の形態に係るSDRAMは、アドレスの設定からデータの出力までの動作が、従来のレジスタ方式SDRAMに準じており、従来のパイプライン方式SDRAMよりも、消費電力は少なくなる。
また、一実施の形態に係るSDRAMでは、グローバルデータバスGDBに現れるデータは、サイクルごとに変わる。そして、出力レジスタ109からはデータが一定の順番で、出力レジスタ109に含まれているレジスタR1〜R4から1つずつ出力されていく。これによって高速なシリアルアクセスを実現できる。
しかし、レジスタR1〜R4から1つずつ、データを一定の順番で出力する方式では、上記2サイクルごとの周期から外れるサイクルに、新たなアドレスの設定があったとき、データを、出力レジスタ109に格納していく周期が、上記2サイクルごとの周期からずれることがある。この様子を、図2(b)に示す。データを格納する周期がずれることに対処する方法については、後述することにする。
次に、隣接した2つのカラム選択線CSLの電位を立ち上げる方法について説明する。
図4は、アドレスデコーダ105と、その近傍の回路とを示した回路図である。
図4に示すように、アドレスバスAB1、AB2があり、これらのアドレスバスAB1、AB2はそれぞれ、アドレスの最下位ビットA0が“0”と“1”とに対応している。他のアドレスバスに送られるアドレスビットは、これより上位のビットである。アドレス発生回路117は、ラッチ型ゲート103でラッチされたアドレスに、プラス“1”したアドレスを作る。アドレス発生回路117は、このプラス“1”されたアドレスと、ラッチ型ゲート103にラッチされていたアドレスとを、アドレスバスAB1とアドレスバスAB2とに送り出す。このようにして、隣接した2つのカラム選択線CSLの電位を立ち上げることができる。
アドレスデコーダ105は、図中同じ番号が付されているものは、同一のデコードを行い、アドレスが大きくなるように順に並べられている。アドレスデコーダ105の出力に接続されたカラム選択線CSLには、上述の制御信号P2が入力されるラッチ型ゲート107が接続されており、必要に応じてラッチ動作を行なう。
なお、図3および図4では、隣り合うCSLが選択されるとしたが、これらは、物理的に隣り合っている必要は無く、アドレッシングの空間で隣り合っていれば良い。
さて、上記2サイクルごとの周期からずれたサイクルで、新たなアドレスの設定が行われたときには、ラッチ型ゲート107が活性化され、毎サイクルごとのパイプライン動作が一時的に行われる。このときに、出力レジスタ109へのデータの格納周期が、今までの2サイクルの周期からずれ、乱れてしまう。このようなデータの格納周期の乱れに対処する策が必要である。
図5は、出力レジスタ109へのデータの格納周期の乱れに対処できるようにした出力レジスタの概略図で、(a)図は一状態を示す図、(b)図は他の状態を示す図である。
図5に示すように、出力データとして出力される信号は、出力レジスタR1〜R4をそれぞれ一定の順番で走査することによって得られる。走査の順番は、新しいアドレスの設定があっても、崩されたり、あるいは飛ばされたりしない。このように走査の順番を崩したり、あるいは飛ばしたりしないことによって、データ出力サイクル間に、アドレッシング変更時間など、余分な時間を取る必要がなくなり、常に高速なサイクルでデータを出力することが可能となる。
まず、図5(a)に示すように、出力レジスタR1と出力レジスタR2(図中のREGA1)、並びにレジスタR3とレジスタR4(図中のREGB3)にそれぞれ2ビットずつのデータが格納されていたとする。
最初の2サイクルで、REGAゲート側に2ビットのデータが格納され、その次の2サイクルでREGBゲート側に、次の2ビットが格納される。この2サイクルごとの格納周期の途中で、この格納周期から外れて、新たなアドレスの設定があったとする。このときには、格納周期から外れたサイクルに、新たに設定されたアドレスに対応するデータが、グローバルデータバスGDBに現れることになり、例えば出力レジスタR1からデータが出力された後、出力レジスタR2から出力されるデータは、新たに設定されたアドレスに対応するデータとなる。すると、図5(b)に示すように、データの格納の区切りが替わる。
新たに設定されたアドレスに対応するデータがグローバルデータバスGDBに現れてから、最初の2サイクルは、出力レジスタR2と出力レジスタR3(図中のREGA2)へデータが格納され、次の2サイクルでは、出力レジスタR4と出力レジスタR1(図中のREGB4)にデータが格納される。
また、2サイクルごとの格納周期に整合して、新たに設定されたアドレスに対応するデータがグローバルデータバスGDBに現れたときには、REGA側ゲートおよびREGB側ゲートの区切りは、変更されない。2サイクルごとの格納周期から外れて、新たに設定されたアドレスに対応するデータがグローバルデータバスGDBに現れたときのみ、図5(a)から図5(b)へ、あるいは図5(b)から図5(a)へと、REGA側ゲートおよびREGB側ゲートの区切りが変更される。
このように、2サイクルごとの格納周期から外れて、新たに設定されたアドレスに対応するデータがグローバルデータバスGDBに現れたとき、レジスタR1〜R4の走査の順番を崩したり、あるいは飛ばしたりせず、レジスタR1〜R4の区切り方を変更することで、常にデータをレジスタR1〜R4から順番に出力すれば、新たなアドレスの設定とは無関係に、シリアルアクセスを行なうことができ、常に高速なサイクルでデータを出力できる。
図6は、図5に示す出力レジスタ109の回路図である。
図6に示すように、データは端子Qから出力される。信号HiZが立つと、出力トランジスタ119がオフするため、端子Qは、ハイインピーダンスになる。出力レジスタR1〜R4の内部に格納されているデータは、ゲート信号GR1〜GR4が順番に、かつ巡回的に立ち上がってクロックトインバータを導通させることによって、端子Qに出力される。
図6中、図5に示したゲートREGAおよびREGBを構成するのは、転送ゲートREG11〜REG42である。転送ゲートREG11〜REG42の一つの例は、図6に示すように、クロックトインバータである。グローバルデータバスGDB1およびGDB2にはそれぞれ、4対のローカルデータバスLDBに現れたデータのうち、選ばれたデータが転送されてくる。
次に、この発明に係るSDRAMの、全体的なデータ転送制御について説明する。
図7は、この発明の実施形態に係るSDRAMが有するデータ転送制御系回路の、ブロック図である。
図7に示すように、データ転送制御系回路は、外部クロックに基いて作られた内部クロック(以下、バーストクロックという)BCKに同期して動作し、データ転送がバーストクロックBCKに同期して行われるように、データの転送を制御する。バーストクロックBCKは、バーストが始まると発生する。また、データ転送制御系回路には、新たなバーストが開始されたことを知らせる信号NBSRT(以下、新バースト開始信号という)が入力され、データ転送制御系回路は、主にバーストクロックBCKと新バースト開始信号NBSRTとの2種類の信号に基いて、データ転送を制御するための信号群を発生させていく。
データ転送制御系回路は、基本的なブロックとして、バーストクロックBCKに同期して、主に最初のバースト開始からのサイクルの数に対応した基本制御信号群 /SF(先頭の /は反転信号、あるいは負論理の信号を示す“−(バー)”である。図中には符号の上部に“−(バー)”を付している)を発生させる、基本制御信号発生回路201と、バーストクロックBCKに同期し、かつ新バースト開始信号NBSRT、基本制御信号群 /SF群に応答して、パイプラインステージを分割させる分割指示信号P2ON、最初のバースト開始のサイクルより数えて、偶数のサイクルか奇数のサイクルかを知らせる信号φ2N、および新たなバーストが奇数のサイクルで始まったか、あるいは偶数のサイクルで始まったかを知らせる制御信号群S、ST2、SW、CCなどを発生させる、データ転送制御回路301と、バーストクロックBCKに同期し、かつ新バースト開始信号NBSRT、信号ST2、SW、CC、基本制御信号群 /SF、およびアドレスの最下位ビットA0それぞれに基いて、出力レジスタ109を選択して制御する選択制御信号群REGを発生させる、出力レジスタ制御回路401と、バーストクロックBCKに同期し、かつ新バースト開始信号NBSRT、信号ST2、φ2N、およびアドレスのビットA1の初期値A1intそれぞれに基いて、LDBのプリチャージを制御するLDBプリチャージ制御信号群LDBPRCHを発生させるプリチャージ制御信号発生回路501と、を含む。
図8は、図7に示すブロック図の、さらに詳細なブロック図である。
図8に示すように、データ転送制御回路301は、反転バーストクロック /BCKに同期して、基本制御信号群 /SF1〜 /SF4に応答し、最初のバースト開始のサイクルより数えて、偶数のサイクルを知らせる信号φ2Nと、奇数のサイクルを知らせる信号φ2N+1とを出力する、偶数・奇数判定回路311と、反転バーストクロック /BCKに同期して、基本制御信号 /SF2、基本制御信号 /SF4および新バースト開始信号NBSRTに応答し、奇数サイクルでアドレスの再設定があったことを知らせる信号S2および信号S4を出力する、奇数サイクルアドレス再設定検知回路321と、バーストクロックBCKに同期して、信号φ2N+1と新バースト開始信号NBSRTに応答し、分割指示信号P2ONと、制御信号ST2とを出力する、パイプライン制御信号発生回路331と、信号S2および信号S4に応答し、制御信号SW、CC、 /CCを出力する転送信号発生回路341とを含む。
また、出力レジスタ401は、バーストクロックBCKに同期して、制御信号ST2および制御信号SWに応答し、出力レジスタの組分けの変更を指示する区分変更信号SR13およびSR24を出力する、区分変更信号切替回路411と、区分変更信号SR13、SR24、基本制御信号群 /SF1〜 /SF4、および制御信号CC、 /CCに応答して、区分信号群REGA1〜REGB4を出力する区分変更信号発生回路421と、区分信号群REGA1〜REGB4、新バースト開始信号NBSRTおよびアドレスの最下位ビットA0に応答して、選択制御信号群REG11〜REG42を出力する出力レジスタ選択信号発生回路431と、を含む。
次に、各回路について詳細に説明する。
図9は、基本制御信号発生回路201の一つの回路例に係る回路図である。
図9に示すように、基本制御信号発生回路201の一つの回路例は、バーストクロックBCKに同期したラッチ回路203が4段、リング状に接続された、循環的なシフトレジスタである。
図10は、図9に示すラッチ回路203の回路図である。
図10に示すラッチ回路203の基本動作は、次の通りである。まず、バーストクロックBCKが立ち上がると、ラッチ回路203は、入力INに入力されたデータをラッチし、出力OUTから出力する。バーストクロックBCKが立ち下がると、ラッチ回路203は、ラッチされたデータを出力OUTから出力し続けるが、初段のラッチ回路203-1は、入力INに、新たなデータの入力を受け付ける。
図9に示すシフトレジスタは、データ転送が行われるサイクルでのみ発生されるバーストクロックBCKによって駆動される。リセット状態では、第1出力信号 /SF1が“L”レベルで、第2出力信号 /SF2〜第4出力信号 /SF4が“H”レベルである。バーストクロックBCKのサイクルのたびに、“L”レベルの出力状態が、第1出力信号 /SF1から第4出力信号 /SF4へとシフトされていく。データのバースト転送動作が始まって、偶数サイクルでは、第2出力信号 /SF2、または第4出力信号 /SF4が“L”レベルである。奇数サイクルで新たなバーストの先頭アドレスが再設定されると、第2出力信号 /SF2および第4出力信号 /SF4それぞれに接続されたトランジスタ205-2、205-4のゲートに入力される信号S2、または信号S4が立ち上がり、第2出力信号 /SF2、または第4出力信号 /SF4を“L”レベルとする。そこから、新たなバーストのシフトサイクルが始まる。
なお、この明細書では、バーストの最初のサイクルを、0番サイクルとして、以下1、2のように数え、“0”、“2”、“4”、…を偶数のサイクル、“1”、“3”、…を奇数のサイクルと定義する。
図11は、奇数サイクルアドレス再設定検出回路321の回路図、図12は、転送信号発生回路341の回路図である。
図11に示す検出回路321は、奇数番めに設定された新たなバーストのサイクルが、図9に示すシフトレジスタの、どのサイクルかを調べる。出力信号 /SF2が“L”レベルであるサイクルの、次のサイクルから、新たなバーストが開始されるとすると、信号NBSRTが、そのサイクルの始めに立つので、信号S2がそのサイクルの始めに立つ。出力信号 /SF4が“L”レベルであるサイクルの、次のサイクルから新たなバーストが開始されるとすると、信号NBSRTがそのサイクルの始めに立つので、信号S4がそのサイクルの始めに立つ。信号S2、S4は、図9に示すシフトレジスタを、その信号が立ったサイクルで、その信号に併せて設定し、出力信号 /SF2、または出力信号 /SF4を“L”レベルとして、新たなシフトレジスタのサイクルを始める。
図12に示す回路では、信号S2、または信号S4が最初に立つと、ノードSWを“H”レベルに立ち上げる。ノードSWの初期状態は、“L”レベルである。2回目に信号S2、または信号S4が立ちあがると、ノードSWは“L”レベルに立ち下がる。以後、ノードSWは、信号S2、または信号S4が立ち上がるごとに、“H”、“L”、“H”、…と変化する。
また、図12に示す回路のノードCCの初期状態は、“H”レベルである。ノードCCは、ノードSWが“H”レベルから、“L”レベルに変化するたびに、“L”、“H”、…と変化する。ノード /CCは、ノードCCの相補ノードであり、ノード /CCからは、ノードCCのレベルを反転した信号が取り出される。これらノードCC、ノード /CCから取り出される信号は、図5に示した、出力レジスタのデータ格納区分の変更を制御するために、使われる。その詳細は後述する。
図13は、偶数サイクル・奇数サイクル判定回路311の、一つの回路例に係る回路図である。
図13に示す一つの回路例311´は、図7および図8に示したブロックのように基本制御信号群 /SFではなく、バーストアクセスがシリアルであるため、アドレスの最下位ビットA0と、内部カウンタからの出力A0intとを比較することで、偶数サイクル・奇数サイクルを判定する。
図13に示すように、一つの回路例311´では、新たなバーストアクセスの始まりで、そのアドレスの最下位ビットであるA0がラッチされ、新たなバーストの始まりを指示する信号NBSRTの立ち下がりで、ノードN1にラッチされて、内部カウンタからの出力A0intと比較される。ノードN1の初期値と内部カウンタ出力A0intの初期値とは、互いに不一致となるように設定されており、以後、動作開始後は、信号 /NBSRTと内部カウンタ出力A0intとによって変化する。したがって、例えば信号φ2N+1は、最初のサイクルのバーストクロック信号BCKの立ち上がりでは“L”レベルとなり、次の立ち上がりでは、ノードN1と内部カウンタ出力A0intの値が一致するので“H”レベルなどと変化し、バーストクロック信号BCKの立ち上がりでは、常にそのサイクルのバースト始めのサイクルからの偶数か奇数かを表す信号が、“H”レベルになっている。
図14は、偶数サイクル・奇数サイクル判定回路311の、他の回路例に係る回路図である。
図14に示す他の回路例311では、図7および図8に示したブロックのように基本制御信号群 /SFを使って、偶数サイクル・奇数サイクルを判定する。
他の回路例311の利点は、図13に示した回路例311´に比べて、バーストアクセスのアドレッシングの最下位ビットの状態を利用しなくて良いことである。信号 /SF1〜信号 /SF4はそれぞれ、バーストクロックBCKのサイクルの数のみによって、順番に“L”レベルとなる。したがって、偶数番サイクルでは、信号 /SF2および信号 /SF4が、一方、奇数番サイクルでは、信号 /SF1および信号 /SF3が立ち下がる。図14に示す回路例311では、これらの信号をサイクルの後半に、バーストクロックBCKが立ち下がるときにラッチすることで、バーストクロック信号BCKが立ち上がるとき、そのサイクルの偶数番か、奇数番かを表す信号を作ることができる。
図15は、パイプライン制御信号発生回路331の回路図である。
図15に示す回路331が出力する信号P2ONは、奇数サイクルで信号NBSRTが立ったことを示す信号である。信号P2ONは、図1および図3に示したラッチ型ゲート107を動かすための制御を開始する合図である。ラッチ型ゲート107を動かすことで、パイプラインの第2パイプラインステージS2が出現し、2ステージのパイプライン動作から3ステージのパイプライン動作へと、一時的に移行する。また、信号P2ONは、そのサイクルの先頭でラッチされ、そのサイクルのバーストクロックBCKが立ち下がると、信号ST2として出力される。信号ST2は、LDBのプリチャージ制御に使われる。
図16は、LDBのプリチャージ制御信号発生回路501の回路図である。
LDBのプリチャージ動作は、パイプライン方式では毎サイクル行われるが、2ビットプリフェッチ方式では、2サイクルごとで良く、パワーの削減と動作マージンの拡大をもたらす。しかし、この発明に係るSDRAMでは、奇数番サイクルで、新しいバーストを始めるために、信号NBSRTが入ると、一時的にパイプライン方式となり、プリチャージの制御の切替を行なう必要がある。
まず、LDBとアドレスビットの対応を付けて説明を分かり易くする。
図4に示したアドレスバスAB1、AB2と、図3にLDB1、2、3、4(図中では丸数字で示されている)と示されたLDB対およびシリアルアクセスの下位ビットA0、A1との関係を、図17に示す。
今、連続した2ビット分のデータを転送する場合、4ビットのデータを同時に転送して、その中から2ビット分のデータを、選択機能を持つ選択ゲート113(図1、図3参照)で選ぶが、その転送される4ビットと2ビットとの関係は、次の通りである。
4ビットは、バーストアクセスでの連続するデータを構成するが、そこから選択される2ビットは、アクセス順で1および2ビットめを構成するか、2および3ビットめを構成するようになっている。これは、図4に関する説明でも触れたように、CSLを選択するアドレスは、常にプラス1したものと、ペアで使われることに対応する。このようにすれば、2サイクルごとに4ビットのデータをLDBに出すことによって、任意のアドレスから切れめなく、バーストアクセスを行なうことができるわけであるが、LDBのプリチャージは、2サイクルごとに全ての4ペアに行なう必要はない。選択機能を持つゲート113により、既に選ばれてしまったデータの転送の終了した2ペアずつプリチャージすれば良い。このときのペアは、LDB1とLDB2、またはLDB3とLDB4である。これらがペアでカラム選択信号CSLによって同時に選択されるからである。
さて、このLDBのプリチャージであるが、図16に示すように、途中でバーストアクセスの先頭番地が再設定されることがなければ、偶数番サイクルごとにアクセスの内部アドレスA1intにしたがって、新たなデータが転送されるLDB1とLDB2、またはLDB3とLDB4がプリチャージ信号を受ける。バーストアクセスの先頭番地の再設定が、偶数番サイクルに行われると、ちょうどプリチャージサイクルに当たっているため、LDB1、LDB2、LDB3、LDB4の4ペアの全てで、プリチャージが行われる。これは、全く新たに4ビットがLDBに転送されてくるからである。また、奇数番サイクルに行われると、パイプラインのステージを一時的に増やす。このため、奇数番サイクルで強制的にプリチャージを行ってしまうと、選択されているデータが破壊されてしまう。このため、再設定が行われた、次のサイクルで、LDB1、LDB2、LDB3、LDB4の4ペアの全てでプリチャージを行なうようにする。これを制御しているのが、図15に示した回路で作られた信号ST2であり、この信号ST2が“H”レベルであるとき、バーストクロックBCKが立ち上がるサイクルでプリチャージが行われる。
図19および図20はそれぞれ、SDRAMの動作波形図である。
図19および図20のいずれの図においても、バーストデータアクセスのデータ長は、“8”としている。また、外部クロックCLKのうち、番号が付されている部分が、バーストクロックBCKに対応している。信号 /CEは、バーストアクセスの新たな始まりのサイクルを指示するコマンド信号であり、このコマンド信号が入ったサイクルの、バーストクロックBCKの立ち上がりで、バーストアクセスの先頭アドレスが取り込まれる。コマンドで設定されるアドレスの、データが出るべきLDBの番号は、信号 /CEの欄に合わせて示されている。カラム選択線CSLとLDBとの選択関係は、図18に示す通りである。図18から、選択関係の一つを取り出して説明すると、カラム選択線CSL0が選択されたときに、LDB1とLDB2とが選択され、選択されたLDB1とLDB2とにデータが転送される。
図19に示す動作波形図は、あるバーストの偶数サイクルで、新たなバーストが開始されたときの動作波形を示しており、具体的には8番のサイクルで、LDB4に出たデータが先頭になるような番地設定がなされたものである。
図19に示すように、コマンドでのアドレス設定がなされると( /CEの波形を参照)、内部のアドレスビットA1intは、“1”が“0”に変化する。
最初のバーストでは、LDB2のデータが先頭になるので、まず、プリチャージ状態にあったLDB1、LDB2、LDB3、LDB4のプリチャージをやめて、CSL0とCSL1とが立ち上がり、データを出し、選択ゲート113がスルーの“T”となると、LDB2とLDB3とがGDBに接続されてデータが転送される。転送されたデータは、“T”状態の出力レジスタR1と出力レジスタR2とに格納される。
2番のサイクルからは、CSL2が立ち上がり、LDB1およびLDB2にのみ新たなデータが転送されるので、サイクルの頭でプリチャージが行われる。このとき、選択ゲート113は、ホールドの“H”になり、プリチャージされるLDB2は、GDBから切り離されるようになる。この間に、出力レジスタR1とR2とが“H”状態となり、出力レジスタR3とR4とが“T”状態となる。選択ゲート113が、次に“T”状態となると、LDB4とLDB1とが、GDBに接続され、このデータがGDBに出て出力レジスタに格納される。
4番のサイクルからは、CSL3が立ち上がり、LDB3とLDB4にのみ新たなデータが転送されて同様な動作が続いていく。
さて、8番のサイクルで新たなバーストの設定がなされると、LDB1〜LDB4の4ペアの全てに、新しいデータが出てくることになるので、LDBは全て、8番のサイクルの頭でプリチャージが行われる。CSLm+0とCSLm+1とが立ち上がって、データがLDBに出て、選択ゲート113でLDB4とLDB1とがGDBに接続されてデータが転送され、上記説明のようにデータの転送が続く。
2番めのバーストでは、選択ゲート113の選択と、出力レジスタへの格納状態とが、最初のバーストと異なるのみで、他は最初のバーストとほぼ同様である。2番めのバーストの途中では、新たなバーストの設定はないので8サイクルまわると、バーストクロック信号BCKは止まり、データのアクセスは15番のサイクルでストップする。
図20に示す動作波形図は、あるバーストの奇数サイクルで、新たなバーストが開始されたときの動作波形を示しており、具体的には7番のサイクルで、新たなバーストの設定がなされている。
この場合、7番のサイクルで新たなバーストの開始の設定がなされるまでは、図19に示す動作と同じである。7番のサイクルでの新たな設定は、奇数サイクルでの設定であるので、図16を参照して説明した通り、次の8番のサイクルで、LDB1〜LDB4の全てがプリチャージされる。また、7番のサイクルでラッチされたアドレスは、第2ステージS2のパイプライン動作が一時的に行われるので、次の8番のサイクルでCSLm+0とCSLm+1とを立てることになる。7番のサイクルでは、前のバーストのLDB4とLDB1とのデータがそれぞれ、出力レジスタR3と出力レジスタR4とに格納されるが、出力レジスタR3のLDB4のデータのみが出力されて、出力レジスタR4のLDB1のデータは新たなバーストの先頭アドレスのLDB3のデータに、8番のサイクルでの選択ゲート113の選択切替と、LDBへの新たなデータの転送によって入れ替わる。8番のサイクルからは、図5を参照して説明した通り、レジスタへのデータ格納の区切りが変更される。9番のサイクル以降は、7番のサイクルを先頭とするバーストアクセスの本来の動作となり、8サイクルのバーストが終わる14番のサイクルで、バーストクロック信号BCKは止まり、データのアクセスは14番のサイクルでストップする。
次に、8番サイクルでの図5に関連した出力レジスタの区切りを変更するための、出力レジスタ制御回路401について説明する。
図21は、区分変更信号切替回路411の回路図である。
図21に示す回路411の初期状態では、信号SR13が“H”レベルとなっている。信号SWは、図12に示す回路から341から出力されるもので、最初の奇数番のサイクルめの設定で、“L”レベルから“H”レベルになり、以後、“L”レベルと“H”レベルとを交互に繰り返す。信号SR13と、信号SR24とは、信号SWが“L”レベル、“H”レベル、“L”レベルと変化すると、信号SR13は、“H”レベル、“L”レベル、“H”レベル、信号SR24は、“L”レベル、“H”レベル、“L”レベルと変化する。ただし、状態変化するタイミングは、信号SWのレベルが変化した次のサイクルからある程度のディレイが経ったときである。信号ST2とバーストクロックBCKの論理積(AND)でラッチされた信号が、遅延回路Dを経て信号SR13、信号SR24として、出力されるためである。このようなタイミングは、データの転送と、出力レジスタの切替の整合をとるために、設定されている。
図22は区分信号発生回路421の回路図である。
図22に示すように、信号 /SF1および信号 /SF3は、図9に示すシフトレジスタ201の出力であり、信号CCおよび信号 /CCは、図12に示す回路341から出力される信号である。信号CCが、そのレベルを変化させることによって、信号 /SF1の役割と信号 /SF3の役割とが、互いに入れ替わる。これは、後に説明するように、出力レジスタの区切りの変更とともに、この区切りごとへのデータの格納の順番もシフトしていく必要があることによる。信号SR13と信号SR24は、出力レジスタの区切り方に対応する信号である。これらの信号SR13と信号SR24をそれぞれ、図5に示す出力レジスタの区切り方に対応させると、信号SR13は、出力レジスタR1および出力レジスタR2の組と、出力レジスタR3および出力レジスタR4の組に対応し、信号SR24は、出力レジスタR2および出力レジスタR3の組と、出力レジスタR4および出力レジスタR1の組に対応する。NOR回路を使って構成されているフリップフロップに、図22に示す回路の出力信号REGB4、REGA2、REGA1、REGB3が入力されているのは、出力レジスタの区切りが切り替わるときに、データを格納すべき、区切りのゲートを開くための初期設定のためである。図中、D,dとあるのは、適当な遅延を作るディレイ回路である。
図23はレジスタ選択信号発生回路431の回路図である。
図3のGDB1、GDB2は、一方がアドレスの最下位ビットA0の“0”、他方が最下位ビットA0の“1”に対応する。これが、図6に示すGDB1、GDB2に対応している。バーストの先頭を指定するサイクルでは、そのアドレスの最下位ビットA0が、そのとき動作状態にない出力レジスタに関する区分を制御する信号を出力する4つのラッチ部433-1、433-2、433-3、433-4のいずれかに保持される。即ち、図5のREGA1部が格納対象であると、信号 /REGA1は、“L”レベルであるので、最下位ビットA0は、信号 /REGA1によって開閉される、図23のラッチ部433-1には転送されず、その他のラッチ部433-2、433-3、433-4に転送される。最下位ビットA0の値によって、新たなバーストの始めに、データ格納されるレジスタ区分にしたがって、信号 /RE10から信号 /RE41のいずれか一つが“L”レベルとなる。さらにこれによって対応する転送ゲート信号の二つが立ち上がる。例えば /RE30が“L”となれば、信号REG31と、REG42とがそれぞれ“H”となり、出力レジスタR3に、GDB1、R4にGDB2のデータが格納される。
図24は、奇数番サイクルで、新たなバーストの設定がなされた場合の出力レジスタ区分の変更の様子と、図12に示す回路341が出力する信号SW、信号CCの変化の関係を示す。紙面一番上がもともとのレジスタの区分であり、このバーストアクセスに対して、奇数番めの最初の設定がなされるとする。最初の設定がされるまでは、各信号は初期状態のままで、信号SWは“L”レベル、信号CCは“H”である。
出力レジスタの区分の仕方は、図24に示すように二通りあるわけだが、この区分されたブロックをA1、B3、A2、B4として図24に示す。区分は、毎回A1、B3区分とA2、B4区分とに交互に変わっていくが、データの格納の順番は、図24に示すように、斜線のハッチングが施された区分ブロックは、その間で、斜線のないブロックはその間で格納の順番が移動していく。即ち、A1が格納動作中に新たな設定があれば、次はA2が格納を受け、A2が格納動作中に設定があると、次は、B3が格納動作を行なうなどである。信号SWは、奇数サイクルでの設定があるたびに状態を変化させる。転送順序を、図のように進ませるには、この変化の2サイクルごとに変化する信号が必要で、これが信号CCである。このような信号による制御がないと、紙面一番上の区分と、その次の区分とでのみ交互に行き来するだけで、上記のように先に進ませる制御ができない。即ち、図22に示す回路において、信号CCが変化すると、信号 /SF1と、信号 /SF3との役割が入れ替わることによって、転送ゲートを制御する信号を、図7に示すシフトレジスタに対して位相的に進ませることができる。
図25および図26それぞれ、出力レジスタ周りの制御の様子をまとめた動作波形図である。これらの動作波形は、データの転送状態を表した図20に対応するものである。
図25に示すように、0番サイクルからバーストが始まると、信号 /SF1が“L”レベルに初期設定された図7に示すシフトレジスタが動き出す。図13または図14に示した回路によって作られた信号φ2N+1も、図25に示すように変化することによって、奇数番サイクルが指示される。信号 /SF1が立ち上がることによって、信号REGA1が“H”レベルに、信号REGB3が“L”レベルに確定し、信号 /SF3が立ち上がることによって、信号REGA1が“L”レベルに、信号REGB3が“H”レベルに変化する。このように、出力レジスタの区分ブロックごとにデータ格納が行われていき、奇数番サイクル7で、新たなバーストが設定されると、図15に示す回路からの信号P2ONおよび信号ST2、および図12に示す回路からの信号SWが変化し、8番サイクルで、図21の回路からの信号SR13が“L”レベルへと変化して、信号SR24が“H”レベルになることによって、図22に示す回路のB3A1区分の制御の信号からB4A2区分の制御の信号系へと切り替わる。このとき、NOR回路への信号REGB3の帰還により、信号REGB4がすぐに立ち上がることになる。次に /SF1が立ち上がることにより、信号REGB4が“L”レベルへ、信号REGA2が“H”へと替わり、以下、信号 /SF3による変化を行なう。これは図22に示す設定回数1のところの状態変化と、B4とA2でのデータ格納動作に相当する。14番サイクルでバーストが終わると、各信号は最終状態を維持して、次のバーストに備える。この後に、さらにまたバーストの設定がなされた場合の動作波形図が、図26である。
図26では、前のバーストが終了して暫くしてから、新たなバーストが0番サイクルから始まるとした。信号 /SF3が“H”レベルになることからバーストが始まるが、これによって信号REGA2は“L”レベルへ、信号REGB4は“H”へと変化する。図25とは違って、A2B4の区分ブロックがデータ格納の動作を行なう。7番サイクルで新たなバーストが設定されると、今度は、信号SWは、“L”レベルに変化し、信号CCも“L”レベルへと変化する。8番サイクルで図21に示す回路からの信号SR13が“H”レベルへと変化し、信号SR24が“L”レベルとなることによって、図22に示す回路のB4A2区分の制御の信号から、B3A1区分の制御の信号系へと切り替わる。このとき、NOR回路へのREGA2の帰還により、信号REGB3がすぐに立ち上がることになる。次に、信号 /SF3が立ち上がることにより、信号CCが“L”レベルへと変化しているので、図22に示す回路での信号 /SF1と、信号 /SF3との役割が入れ替わっているために、信号REGB3が“L”レベルへ、信号REGA1が“H”レベルへと変わり、以下、信号 /SF1による変化を行なう。これは図24の設定回数2のところの状態変化と、信号B3と信号A1でのデータ格納動作に、相当する。
以上説明したように、上記一実施の形態に係るSDRAMによれば、シリアルデータ出力を行なうための出力レジスタを持ちながらも、制限サイクル以外のサイクルからでもアドレスをデータ転送経路に導くことができ、かつ消費電力を少なくすることができる。
また、制限サイクル以外のサイクルに、アドレスがデータ転送経路に導かれても、出力レジスタから、データを間断なくシリアル出力できる。
また、アクセスアドレスの変更に自由度がありながらも、データ転送の効率を高めることが可能で、かつ消費電力も少なくなる。
また、制限サイクル以外のサイクルからでも、アドレスをデータ転送経路に導くことが可能である。
また、この発明の一実施の形態に係るSDRAMに含まれているデータ転送システムは、コンピュータ内部におけるデータ転送、あるいはネットワーク・コンピュータにおけるデータ転送にも応用できる。この場合には、アドレスデコーダ、メモリセルアレイおよびセンスアンプなど、データの処理を行なう部分を、コンピュータ、あるいはネットワーク・コンピュータにおけるデータの処理部と置き換えれば良い。
図27は、図1に示したSDRAMの、より具体的なブロック図である。
図28は、データ処理システムのブロック図である。
図29は、ネットワークコンピュータシステムのブロック図である。
図30は、図27に示すSDRAMのデータ転送の一の状態を示す図である。 図31は、図27に示すSDRAMのデータ転送の他の状態を示す図である。 図30には、2個のデータが、制限サイクル(サイクル2、サイクル4、…)に転送される状態が示されている。
図30に示すように、まず、サイクル“0”で、2個のデータ1、データ2が、ステージ1に転送される。データ1、データ2はそれぞれカラムアドレス信号で、バーストアクセスの先頭アドレスに対応している。次いで、サイクル“2”で、新しい2個のデータ3、データ4がステージ1に転送される。データ3、データ4はそれぞれカラムアドレス信号で、先頭アドレスの次に入力されるアドレス(更新アドレス)に対応する。
このように、新しい2個のデータが、制限サイクル(サイクル2、サイクル4、…)に転送されるとき、つまり、新しいa個のデータが、“a、または2a”に対応する制限サイクルに転送されるとき、ステージ1はステージ2と接続される。
また、図31には、2個のデータが、制限サイクル以外のサイクル(サイクル1、サイクル3、…)に転送される状態が示されている。
図31に示すように、まず、サイクル“0”で、2個のデータ1、データ2が、ステージ1に転送される。データ1、データ2はそれぞれカラムアドレス信号で、バーストアクセスの先頭アドレスに対応している。次いで、サイクル“1”で、新しい2個のデータ3、データ4がステージ1に転送される。データ3、データ4はそれぞれカラムアドレス信号で、先頭アドレスの次に入力されるアドレス(更新アドレス)に対応する。
このように、新しい2個のデータが、制限サイクル以外のサイクル(サイクル1、サイクル3、…)に転送されるとき、つまり、新しいa個のデータが、“mod2a(modはmoduloを示す)”に対応するサイクルに転送されるとき、ステージ1とステージ2とは互いに分離される。
このようなデータ転送システムは、図28に示すデータ処理システムにおけるデータ転送や、図29に示すネットワークコンピュータシステムにおけるデータ転送に応用することができる。
また、この発明の一実施の形態に係るSDRAMは、パイプラインステージの数が、アドレス変更など、動作サイクルの変更が要求されるタイミングに応じて、変更される。しかしながら、パイプラインステージの数を、変更しないような使い方もできる。
例えばシステムクロックの周波数が低いときには、バーストデータアクセスの途中に、新たなバーストデータアクセスのための先頭アドレスを入力するタイミングを制限せず、いつでも先頭アドレスを入力できるようにする。つまり、ステージS1、S2、S3を、常に分離した状態で使う。
これに対し、システムクロックの周波数が高いときには、バーストデータアクセスの途中に、新たなバーストデータアクセスのための先頭アドレスを入力するタイミングを制限し、この制限したタイミングにのみ、先頭アドレスを入力する。つまり、ステージS1、S2、S3のうち、ステージS1、S2を、常にスルーした状態で使う。
また、パイプラインステージの数が変更されるか否かは、この発明のSDRAMが組み込まれるシステムの仕様によっても決定することができる。
例えばアドレスの変更を、常にaサイクルに対応したサイクルから要求するシステムでは、ステージS1、S2は、常にスルーされ、SDRAMの内部のパイプラインステージの数は変更されない。
これに対し、アドレスの変更を、aサイクルに対応したサイクル以外からでも要求するシステムでは、アドレスの変更が、aサイクルに対応したサイクル以外に要求されたとき、ステージS1、S2、S3を分離し、アドレスの変更が、aサイクルに対応したサイクルに要求されたとき、ステージS1、S2を、スルーする。
以上、この発明の一実施の形態に係るSDRAMは、様々なシステムに、適切に対応できる。
また、この発明の一実施の形態に係るSDRAMが行なう、データ転送は、コンピュータ内部におけるデータ転送、あるいはネットワーク・コンピュータにおけるデータ転送に応用されることで、コンピュータ、あるいはネットワーク・コンピュータの分野において、より大量なデータを、より高速に転送するデータ転送システムを構築する。
101…メモリセルアレイとセンスアンプ、103…カラムアドレスバッファ、105…アドレスデコーダ、107…ラッチ型ゲート、109…出力レジスタ、111…導通型ゲート、113…選択ゲートおよびデータバスセンス回路、115…スクランブラ、201…基本制御信号発生回路、301…データ転送制御回路、311…偶数サイクル・奇数サイクル判定回路、321…アドレス再設定検知回路、331…パイプライン制御信号発生回路、341…転送信号発生回路、401…出力レジスタ制御回路、411…区分変更信号切替回路、421…区分信号発生回路、431…レジスタ選択信号発生回路、501…プリチャージ制御信号発生回路